]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
[grub2.git] / ChangeLog
CommitLineData
ad9a2f44
VS
12011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
4 argument (access out of bounds).
5
6b68db81
VS
62011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
9 >= 6 drives.
10
28840fda
VS
112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
12
13 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14 Fix declaration.
15
8a5a3a5b
VS
162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Fix several memory leaks.
19
20 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
21 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
22 (grub_cpio_dir): Likewise.
23 * grub-core/fs/fat.c (grub_fat_label): Likewise.
24 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
25 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
26 (grub_romfs_label): Likewise.
27 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
28 (squash_unmount): New function.
29 (grub_squash_dir): Fix memory leak.
30 (grub_squash_open): Likewise.
31 (grub_squash_read): Likewise.
32 (grub_squash_mtime): Likewise.
33 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
34 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
35 * util/grub-fstest.c (fstest): Likewise.
36
57b01250
VS
372011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
40 avoid accessing beyond the array.
41
19e81ba7
VS
422011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
45
52b656c0
VS
462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Several AFFS fixes.
49
50 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
51 (GRUB_AFFS_FLAG_FFS): Removed.
52 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
53 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
54 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
55 (grub_fshelp_node): Make block 32-bit.
56 Add block_cache and last_block_cache.
57 (grub_affs_read_block): Fill and use block cache.
58 (grub_affs_read_file): Removed.
59 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
60 boot block.
61 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
62 safety.
63 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
64 space.
65 (grub_affs_close): Free block cache.
66 (grub_affs_read): Use grub_fshelp_read_file directly.
67
438a746a
VS
682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
71 with no error set.
72
49a45021
VS
732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
74
75 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
76 used variable.
77 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
78 Likewise.
79
3ae17eb8
VS
802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
81
82 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
83
84 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
85 byteswap when needed.
86
27610c38
VS
872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
88
89 Fix FreeBSD compilation.
90
91 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
92 to avoid circular dependency.
93 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
94 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
95 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
96
4a19b601
VS
972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
98
99 Fix ZFS crypto error types.
100
101 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
102 (grub_gcm_decrypt): Likewise.
103 (grub_zfs_load_key_real): Fix error code type. Handle possible error
104 from PBKDF2.
105
958ee221
VS
1062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
107
108 Illumos support.
109
110 * Makefile.util.def (10_illumos): New script.
111 * configure.ac: Set COND_HOST_ILLUMOS.
112 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
113 Support Illumos calls.
114 (find_partition_start) [__sun__]: Likewise.
115 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
116 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
117 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
118 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
119 device.
120 * util/grub-probe.c (probe) [__sun__]: Do character check.
121 * util/grub.d/10_illumos.in: New file.
122
cac14fb6
VS
1232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Support escaped commas in hostdisk.
126
127 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
128 (find_grub_drive): Use unescape_cmp.
129 (make_device_name): Escape commas.
130
78e08dc3
VS
1312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
134
9f421dd1
VS
1352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
138 variable.
139
ed64e9e2
VS
1402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Support trampoline jumps on powerpc.
143
144 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
145 __ia64__ path.
146 (grub_dl_load_segments): Set mod->sz.
147 (grub_dl_flush_cache): Flush whole space occupied by module, not just
148 segments.
149 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
150 (jump): Likewise.
151 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
152 function.
153 (trampoline): New struct.
154 (trampoline_template): New const.
155 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
156 * include/grub/dl.h (grub_dl): Add sz element.
157 [__powerpc__]: Follow __ia64__.
158 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
159 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
160 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
161 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
162
3084ede4
VS
1632011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
164
165 ZFS crypto support.
166
167 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
168 * grub-core/Makefile.core.def (zfscrypt): New module.
169 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
170 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
171 it. All users updated.
172 (grub_zfs_decrypt): New var.
173 (grub_zfs_load_key): Likewise.
174 (zio_checksum_functions): Add SHA256+MAC.
175 (zio_checksum_verify): Handle incomplete comparison due to MAC.
176 (zio_read): Handle encrypted blocks.
177 (zap_verify): Remove incorrect check.
178 (fzap_iterate): Handle non-standard fzap.
179 (zap_iterate): Likewise.
180 (zap_iterate_u64): New function.
181 (dnode_get_fullpath): Load keys.
182 * grub-core/fs/zfs/zfscrypt.c: New file.
183 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
184 (grub_crypto_ecb_encrypt): Make input const.
185 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
186 (grub_crypto_ecb_encrypt): Make input const.
187 (GRUB_CIPHER_AES): New macro.
188 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
189 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
190 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
191 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
192 prefix. All users updated.
193 (grub_zfs_add_key): New proto.
194 (grub_zfs_decrypt): Likewise.
195 (grub_zfs_load_key): Likewise.
196 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
197 * util/grub-fstest.c (options): Add -K option.
198 (argp_parser): Likewise.
199
b632b404
VS
2002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
201
202 Support zle compression on ZFS.
203
204 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
205 (decomp_table): Add zle.
206 * include/grub/zfs/zio.h (zio_compress): Add zle.
207
c7ba4f69
VS
2082011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
209
210 Support BtrFS embedding.
211
212 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
213 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
214 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
215 * util/grub-setup.c (setup): Use fs embedding if available.
216 Add additional sanity check.
217
455377d9
VS
2182011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
219
220 * util/grub-install.in: Fix condition for config_opt.
221
c2fd16ca
VS
2222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
223
224 Support third redundancy strip on raidz3.
225
226 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
227 Return error on singularity. All users updated.
228 (read_device): Don't stop on 3rd failure on raidz3.
229
8622923b
VS
2302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
231
232 Support case-insensitive ZFS subvolumes.
233
234 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
235 All users updated.
236 (zap_hash): Likewise.
237 (name_cmp): New function.
238 (zap_leaf_array_equal): New parameter case_insensitive.
239 All users updated.
240 (zap_leaf_lookup): Likewise.
241 (fzap_lookup): Likewise.
242 (zap_lookup): Likewise.
243 (dnode_get_path): New parameter case_insensitive. Retrieve case
244 sensitiviness of a volume. All users updated.
245 (dnode_get_fullpath): New parameter case_insensitive.
246 All users updated.
247 (grub_zfs_dir): Set info.case_insensitiveness.
248
95f2e860
VS
2492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Support second redundancy strip on raidz(2,3).
252
253 * grub-core/fs/zfs/zfs.c (powx): New array.
254 (powx_inv): Likewise.
255 (poly): New const.
256 (xor_out): New function.
257 (gf_mul): Likewise.
258 (recovery): Likewise.
259 (read_device): Use second redundancy strip.
260
11ee4389
VS
2612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
262
263 Use a power of generator representation of GF(256) multiplication group
264 to save space time and complexity.
265
266 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
267 (raid6_table2): Likewise.
268 (powx): New array.
269 (powx_inv): Likewise.
270 (poly): New const.
271 (grub_raid_block_mul): Replace with ...
272 (grub_raid_block_mulx): ...this.
273 (grub_raid6_init_table): Rewritten.
274 (grub_raid6_recover): Use power of generator representation.
275
09e2763f
VS
2762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
279 for the right device.
280
8bec9a28
VS
2812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
282
283 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
284 expected by grub-mkimage and it's more clear since there is no implicit
285 padding.
286
dbd3a32e
VS
2872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
290 disk.
291 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
292
182c872a
PMH
2932011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
294
295 * util/grub-mkrescue.in: Fix handling xorriso option.
296
1e51cabd
VS
2972011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
300 NULL.
301
9cc3581d 3022011-11-03 crocket <crockabiscuit@gmail.com>
303
304 * util/grub.d/10_linux.in: Add Slackware initrd naming.
305
158dc1ea
VS
3062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
307
308 XZ CRC64 and SHA256 support.
309
310 * Makefile.util.def (libgrubmods): Add crc64.c.
311 * grub-core/Makefile.core.def (crc64): New module.
312 * grub-core/lib/crc64.c: New file.
313 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
314 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
315 Fix the type.
316 (MAX_HASH_SIZE): New define.
317 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
318 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
319 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
320 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
321 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
322 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
323 Handle non-crc32 hashes.
324 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
325 (dec_stream_header): Handle non-crc32 hashes.
326 (dec_stream_footer): Likewise.
327 (dec_block_header): Likewise.
328 (dec_main): Likewise.
329 (xz_dec_init): Likewise.
330 (xz_dec_reset): Likewise.
331 (xz_dec_end): Likewise.
332 * util/import_gcry.py: Add CRC64 line.
333
9d9b3d2f
VS
3342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
337 as well.
338
7d0ac931
VS
3392011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
340
341 Make reiserfs label retrieval similar to other *_label functions.
342
343 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
344 (REISERFS_MAX_LABEL_LENGTH): Removed.
345 (REISERFS_LABEL_OFFSET): Likewise.
346 (grub_reiserfs_label): Rewritten.
347
3482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
351 field.
352
cf5ba824
VS
3532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
356
17744004
VS
3572011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
360 drive failure on both raidz and raidz2.
361
aca5aefc
VS
3622011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
363
364 Fix RAIDZ(2) for >= 5 devices.
365
366 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
367 asize argument. All users updated.
368
ce8ca56e
VS
3692011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Fix RAIDZ(2).
372
373 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
374 (fill_vdev_info_real): Set ashift.
375 (read_device): Rewrite RAIDZ part based on reverse engineering.
376
7c01e783
VS
3772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
378
379 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
380 don't report potentially unavialiable fields in debug output.
381 (find_path): Fix double-free and memory leak.
382
ce109e84
VS
3832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
384
385 Read label on UFS1.
386
387 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
388 (grub_ufs_fs): Always set .label.
389
87661123
VS
3902011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Use shifts in UFS.
393
394 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
395 (grub_ufs_data): New field log2_blksz.
396 (grub_ufs_read_file): Use shifts.
397 (grub_ufs_mount): Check block size and logarithm it.
398
46bc1dc2
VS
3992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
402 long symlinks.
403
19ee2987
VS
4042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Handle symlinks and long names on tar and cpio.
407
408 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
409 (ATTR_FILE): Likewise.
410 (ATTR_DIR): Likewise.
411 (ATTR_LNK): Likewise.
412 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
413 (grub_cpio_find_file): Fill mode, handle linkname field as well as
414 L and K entries.
415 (grub_cpio_mount): Zero-fill data.
416 (handle_symlink): New function.
46bc1dc2
VS
417 (grub_cpio_dir): Handle symlinks.
418 (grub_cpio_open): Likewise.
419 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 420
c83a08d8
VS
4212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Fix iso9660 filename limitations and fix memory leaks.
424
425 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
426 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
427
45cdd3ea
VS
4282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
429
430 Fix JFS file name length limitations.
431
432 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
433 (grub_jfs_diropen): Fix maximum filename length.
434 (grub_jfs_getent): Fix filename length.
435 (grub_jfs_lookup_symlink): Fix size checks.
436
94ef05c2
VS
4372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
440 string.
441
785ab8c7
VS
4422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
443
eb0b6b45
VS
444 Leverage BFS implementation to read AFS.
445
446 * Makefile.util.def (libgrubmods): Add afs.c.
447 * grub-core/Makefile.core.def (afs): New module
448 * grub-core/fs/afs.c: New file.
449 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
450
4512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 454
c4a1628f
VS
4552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/fs/bfs.c: Run indent.
458
5825b379
VS
4592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
460
461 BFS implementation based on the specification.
462
463 * grub-core/fs/bfs.c: New file.
464 * Makefile.util.def (libgrubmods): Add bfs.c.
465 * grub-core/Makefile.core.def (bfs): New module.
466
42b2a706
VS
4672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * util/grub-fstest.c (cmd_cp): Clarify error message.
470 (cmd_cmp): Likewise.
471
61b99bfc
YB
4722011-10-30 Yves Blusseau <blusseau@zetam.org>
473
474 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
475 and befs_be.
476
faba3d16
VS
4772011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Remove afs and befs because of copyright problem.
480
481 * grub-core/fs/afs.c: Removed.
482 * grub-core/fs/afs_be.c: Removed.
483 * grub-core/fs/befs.c: Removed.
484 * grub-core/fs/befs_be.c: Removed.
485 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
486 * grub-core/Makefile.core.def (afs): Removed.
487 (afs_be): Likewise.
488 (befs): Likewise.
489 (befs_be): Likewise.
490
c39224b0
VS
4912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
492
493 Prefer rockridge over Joliet.
494
495 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
496 to ...
497 (set_rockridge): ... here.
498 (grub_iso9660_mount): Check rockridge on the primary label when
499 discovering. Ignore Joliet if Rockridge is present.
500
e551115a
VS
5012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
502
503 Use shifts in nilfs2.
504
505 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
506 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
507 (grub_nilfs2_palloc_entries_per_group): Replace with ...
508 (grub_nilfs2_log_palloc_entries_per_group): ... this.
509 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
510 (grub_nilfs2_entries_per_block): Replaced with ...
511 (grub_nilfs2_log_entries_per_block_log): ... this.
512 (grub_nilfs2_blocks_per_group): Replaced with ...
513 (grub_nilfs2_blocks_per_group_log): ... this.
514 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
515 (grub_nilfs2_blocks_per_desc_block_log): ... this.
516 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
517 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
518 (grub_nilfs2_palloc_entry_offset): Replaced ...
519 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
520 (grub_nilfs2_dat_translate): Use shifts.
521 (grub_nilfs2_read_inode): Likewise.
522 (GRUB_MOD_INIT): Ensure that logs are correct.
523
564dd58c
VS
5242011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
525
526 Use shifts in minix filesystem.
527
528 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
529 (GRUB_MINIX_ZONE2SECT): Likewise.
530 (grub_minix_data): Replace block_size with log_block_size.
531 (grub_minix_read_file): Use shifts.
532 (grub_minix_mount): Check block size and take a logarithm.
533
ed9ba06d
VS
5342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
535
536 Use shifts in squash4.
537
538 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
539 (squash_mount): Check block size and take logarithm.
540 (direct_read): Use shifts.
541
ad03fe76
VS
5422011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
543
544 Correct befs block counting logic.
545
546 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
547 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
548 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
549 (grub_afs_read_inode): Use block_shift.
550 (RANGE_SHIFT): New definition.
551 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
552 unexpected conditions, use shifts and appropriate types.
553 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
554
6563f63d
VS
5552011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/disk/raid.c (scan_devices): Check partition.
558 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
559
5b1ae25f
VS
5602011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Support BFS (befs) UUID.
563
564 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
565 (grub_afs_small_data_element_header): New struct.
566 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
567 (grub_afs_read_attribute) [MODE_BFS]: New function.
568 (grub_afs_iterate_dir): Allocate for complete inode.
569 (grub_afs_mount): Likewise.
570 (grub_afs_uuid) [MODE_BFS]: New function.
571 (grub_afs_fs) [MODE_BFS]: Add .uuid.
572
f8d82408
VS
5732011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
576 (zfs_unmount): Fix memory leak.
577
5773fb64
VS
5782011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
579
580 Support NTFS reparse points.
581
582 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
583 (symlink_descriptor): New struct.
584 (grub_ntfs_read_symlink): New function.
585 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
586 (grub_ntfs_open): Likewise.
587
91c3fdde
VS
5882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
591
3be82e10
VS
5922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
593
594 fstest xnu_uuid subcommand.
595
596 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
597 grub-core/commands/xnu_uuid.c.
598 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
599 (fstest): Handle xnu_uuid.
600 (options): Document xnu_uuid.
601 (argp_parser): Parse xnu_uuid.
602
8e32442e
VS
6032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
606 -l argument. Add newline at the end if printing.
607 (GRUB_MOD_INIT): Document -l.
608
52a05075
VS
6092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
612
1869edb5
VS
6132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
614
615 ZFS multi-device and version 33 support.
616
617 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
618 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
619 (grub_zfs_data): Add multidev-ice-related fields.
620 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
621 (dva_get_offset): Make dva const.
622 (zfs_fetch_nvlist): New function.
623 (fill_vdev_info_real): Likewise.
624 (fill_vdev_info): Likewise.
625 (check_pool_label): Likewise.
626 (scan_disk): Likewise.
627 (scan_devices): Likewise.
628 (read_device): Likewise.
629 (read_dva): Likewise.
630 (zio_read_gang): Use read_dva.
631 (zio_read_data): Likewise.
632 (zap_leaf_lookup): Add missing endian conversion.
633 (zap_verify): Add missing endian conversion. All users updated.
634 (fzap_lookup): Likewise.
635 (fzap_iterate): Likewise.
636 (dnode_get_path): Handle SA bonus.
637 (nvlist_find_value): Make input const. All users updated.
638 (unmount_device): New function.
639 (zfs_unmount): Use unmount_device.
640 (zfs_mount): Use scan_disk.
641 (zfs_mtime): New function.
642 (grub_zfs_open): Handle system attributes.
643 (fill_fs_info): Likewise.
644 (grub_zfs_dir): Likewise.
645 (grub_zfs_fs): Add mtime.
646 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
647 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
648 (SA_MTIME_OFFSET): Likewise.
649 (SA_SYMLINK_OFFSET): Likewise.
650 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
651 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
652 (fstest): Support zfsinfo.
653 (argp_parser): Likewise.
654
186b4028
VS
6552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
658 error.
659
6602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
661
662 ZFS fixes.
663
664 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
665 sharing the same block. Iterate over correct number of indices.
666 (dnode_get_path): Handle symlinks correctly.
667
c0584900
VS
6682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
671
67e2bd71
VS
6722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
673
674 Read label on HFS+.
675
676 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
677 (grub_hfsplus_btree_search): Fix types.
678 (grub_hfsplus_label): Implement.
679
e9cc6b7b
VS
6802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
681
682 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
683
19832ddb
VS
6842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
685
686 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
687
66b40850
VS
6882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
689
690 Fix symlink handling on iso9660.
691
692 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
693 All users updated.
694 (grub_iso9660_susp_iterate): Accept zero-size iterate.
695 (grub_iso9660_read_symlink): Moved most of code ...
696 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
697
db821363
VS
6982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
701 Use union to avoid breaking strict-aliasing rules.
702
e1211949
VS
7032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Support multi-extent iso files.
706
707 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
708 Add node.
709 (grub_fshelp_node): Revamp. All users updated.
710 (FLAG_*): New enum.
711 (read_node): New function.
712 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
713 All users updated.
714 (grub_iso9660_mount): Don't attempt to read sua when there is none.
715 (get_node_size): New function.
716 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
717 entries.
718 Fix memory leak on . and ..
719 (grub_iso9660_read): Use read_node.
720 (grub_iso9660_close): Free node.
721
d4888031
VS
7222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
723
724 Fix tar 4G limit and handle paths containing dot.
725
726 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
727 (canonicalize): New function.
728 (grub_cpio_find_file): Use canonicalize. Store offs in
729 grub_disk_addr_t.
730 (grub_cpio_dir): Use grub_disk_addr_t.
731 (grub_cpio_open): Likewise.
732
9f12e664
VS
7332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
734
735 Fix handling of uncompressed blocks on squashfs and break 4G limit.
736
737 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
738 unused flags.
739 (grub_squash_inode): Add long_file and block_size.
740 (grub_squash_cache_inode): New struct.
741 (grub_squash_dirent): Make types into enum.
742 (SQUASH_TYPE_LONG_REGULAR): New type.
743 (grub_squash_frag_desc): Add field size.
744 (SQUASH_BLOCK_FLAGS): New enum.
745 (grub_squash_data): Use grub_squash_cache_inode.
746 (grub_fshelp_node): Make ino_chunk 64-bit.
747 (read_chunk): Minor argument change. All users updated.
748 (squash_mount): Use correct le_to_cpu.
749 (grub_squash_open): Handle LONG_REGULAR.
750 (direct_read): New function.
751 (grub_squash_read_data): Handle blocks correctly.
752
9f326fba
VS
7532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
756
f4d9b64b
VS
7572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
760
5bbd28b8
VS
7612011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
762
763 Fix 2G limit on ZFS.
764
765 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
766 types.
767 (uberblock_verify): Likewise.
768 (dmu_read): Likewise.
769 (grub_zfs_read): Likewise. Remove invalid cast.
770
68c72069
VS
7712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
774 (grub_jfs_blkno): Fix incorrect shift.
775 (grub_jfs_read_file): Use more appropriate types.
776
6e536dc8
VS
7772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
778
779 Support triple indirect on minix2 and minix3.
780
781 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
782 Declare triple_indir_zone.
783 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
784 indirect.
785
e0864e7a
VS
7862011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
787
788 Minix FS fixes.
789
790 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
791 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
792 Rename ctime to mtime. All users updated.
793 (grub_minix_get_file_block): Fix types and double indirect computations.
794
89481cab
VS
7952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
798 if no label is found.
799 (grub_fat_iterate_dir): Fix file size type.
800 (grub_fat_iterate_dir): Likewise.
801
f646e143
VS
8022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
805 save some space.
806 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
807 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
808
534d769e
VS
8092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
812
e084ba18
VS
8132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
814
815 * util/import_gcry.py: Accept space between # and include.
816
3471ecdf
VS
8172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
820
124df5f6
VS
8212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Fine grainely disable warnings on lexer. Remove Wno-error on it.
824
825 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
826 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
827 yylex_strncpy.
828 * grub-core/script/yylex.l: Add fine-grained #pragma.
829
4defb8d5
VS
8302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
833 New inline function.
834 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
835 Likewise.
836 (memset) [GRUB_UTIL]: Likewise.
837 (memcmp) [GRUB_UTIL]: Likewise.
838
4e94ae65
VS
8392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
842 inline function rather than a define.
843
18c575e5
VS
8442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * util/grub-setup.c: Add missing include.
847
f8bc22a8
VS
8482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
849
850 * util/ieee1275/grub-ofpathname.c: Add missing include.
851
3ce69fc9
VS
8522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
855 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
856 Likewise.
857
d1e293bb
VS
8582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
861 grub_memcmp usage.
862
7a5c54a4
VS
8632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * util/grub-install.in: Add datarootdir as per automake manual
866 suggestion.
867 * util/grub-mknetdir.in: Likewise.
868
8692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
870
871 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
872 suggestion.
873 * util/grub.d/10_kfreebsd.in: Likewise.
874 * util/grub.d/10_linux.in: Likewise.
875 * util/grub.d/10_netbsd.in: Likewise.
876 * util/grub.d/10_windows.in: Likewise.
877 * util/grub.d/20_linux_xen.in: Likewise.
878
766f7d08
VS
8792011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
880
881 Remove redundant grub_kernel_image_size.
882
883 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
884 _edata and _start.
885 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
886 the small code. It moves it only by few bytes but simplifies the code.
887 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
888 _start.
889 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
890 (grub_kernel_image_size): Removed.
891 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
892 (grub_kernel_image_size): Removed.
893 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
894 compiled with Apple toolchain.
895 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
896 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
897 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
898 (grub_total_module_size): Likewise.
899 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
900 Removed.
901 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
902 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
903 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
904 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
905 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
906 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
907 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
908 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
909 Removed.
910 (grub_total_module_size): Removed.
911 * util/grub-mkimage.c (image_target_desc): Remove image_size.
912 (image_targets): Likewise.
913 Set .compressed_size to no field on sparc.
914 (generate_image): Remove kernel_image_size handling.
915
fcf1d672
SJ
9162011-10-19 Szymon Janc <szymon@janc.net.pl>
917
918 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
919 NULL pointer dereference.
920
de9c615e
VS
9212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
922
923 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
924 done with a dedicated section.
925
926 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
927 Ensure the correct position of boot_path.
928 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
929 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
930 other fields.
931 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
932 * include/grub/boot.h: Removed. All references removed.
933 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
934 Removed.
935 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
936
e55599dc
VS
9372011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
940 name.
941
36dd20ad
VS
9422011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
945
f8f72eb8
VS
9462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
949 Don't add the bogus brackets.
950
a374751b
VS
9512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
952
953 ExFAT support.
954
955 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
956 * grub-core/Makefile.core.def (exfat): New module.
957 * grub-core/fs/exfat.c: New file.
958 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
959 (GRUB_FAT_ATTR_*): Make into an enum.
960 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
961 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
962 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
963 (GRUB_FAT_MAXFILE): Removed.
964 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
965 (grub_current_fat_bpb_t): New type.
966 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
967 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
968 (grub_fat_dir_node_t): New type.
969 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
970 (fat_log2) [MODE_EXFAT]: Removed.
971 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
972 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
973 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
974 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
975 (grub_fat_label) [MODE_EXFAT]: New function.
976 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
977 reserved_first_sector to 0.
978
544c2487
VS
9792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
980
981 Move grub_reboot out of the kernel.
982
983 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
984 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
985 * grub-core/lib/efi/reboot.c: ... here.
986 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
987 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
988 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
989 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
990 * grub-core/lib/i386/reboot_trampoline.S: ... here.
991 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
992 * grub-core/lib/ieee1275/reboot.c: ... here.
993 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
994 * grub-core/lib/mips/arc/reboot.c: ... here.
995 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
996 * grub-core/lib/mips/loongson/reboot.c: ...here.
997 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
998 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
999 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1000 * include/grub/i386/reboot.h: New file.
1001 * include/grub/mips/loongson/ec.h: Fix includes.
1002 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1003 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1004 * grub-core/lib/i386/reboot.c: New file.
1005
a97501d2
VS
10062011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 Make grub_prefix into module to fix the arbitrary limit and save
1009 some space.
1010
1011 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1012 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1013 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1014 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1015 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1016 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1017 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1018 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1019 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1020 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1021 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1022 * include/grub/ia64/efi/kernel.h: Removed.
1023 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1024 (grub_prefix): Removed.
1025 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1026 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1027 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1028 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1029 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1030 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1031 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1032 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1033 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1034 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1035 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1036 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1037 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1038 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1039 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1040 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1041 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1042 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1043 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1044 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1045 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1046 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1047 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1048 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1049 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1050 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1051 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1052 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1053 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1054 from module.
1055 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1056 prefix_end.
1057 (image_targets): Likewise.
1058 (generate_image): Put prefix as a module.
1059
39705fad
VS
10602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 Replace grub_module_iterate with FOR_MODULES.
1063
1064 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1065 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1066 (grub_efi_modules_addr): ...this.
1067 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1068 (grub_efi_init): Set grub_modbase.
1069 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1070 (grub_modbase): New variable.
1071 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1072 (grub_modbase): New variable.
1073 (grub_machine_init): Set grub_modbase.
1074 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1075 (grub_modbase): New variable.
1076 (grub_machine_init): Set grub_modbase.
1077 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1078 (grub_modbase): New variable.
1079 (grub_machine_init): Set grub_modbase.
1080 * grub-core/kern/main.c (grub_module_iterate): Remove.
1081 (grub_modules_get_end): Use grub_modbase.
1082 (grub_load_modules): Use FOR_MODULES.
1083 (grub_load_config): Likewise.
1084 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1085 (grub_modbase): New variable.
1086 (grub_machine_init): Set grub_modbase.
1087 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1088 (grub_modbase): New variable.
1089 (grub_machine_init): Set grub_modbase.
1090 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1091 Removed.
1092 (grub_modbase): New variable.
1093 (grub_machine_init): Set grub_modbase.
1094 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1095 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1096 (grub_module_iterate): Likewise.
1097 (grub_modbase): New variable declaration.
1098 (FOR_MODULES): New macro.
1099
2afb7f6c
VS
11002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1103 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1104
366e34fa
VS
11052011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 Fix few obvious type discrepancies.
1108
1109 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1110 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1111 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1112 variable.
1113 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1114 and connected types.
1115 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1116 offset.
1117 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1118 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1119 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1120 and connected types.
1121
177b960e
VS
11222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Fix python 3.x incompatibilities.
1125
1126 * gentpl.py: Put brackets around print strings.
1127 * util/import_gcry.py: Open explicitly as utf-8.
1128 Use in instead of has_key.
1129
3b619ae1
VS
11302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1133 (GRUB_XFS_INO_AGBITS): Make into inline function.
1134 (GRUB_XFS_INO_INOINAG): Likewise.
1135 (GRUB_XFS_INO_AG): Likewise.
1136 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1137 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1138 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1139 (GRUB_XFS_EXTENT_SIZE): Likewise.
1140 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1141 (GRUB_XFS_NEXT_DIRENT): Likewise.
1142 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1143 (grub_xfs_read_file): Fix offset type.
1144
8bcebcb8
RM
11452011-10-15 Robert Millan <rmh@gnu.org>
1146
1147 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1148
0017e5ef
RM
11492011-10-15 Robert Millan <rmh@gnu.org>
1150
1151 Fix build problem on FreeBSD and GNU/kFreeBSD.
1152
1153 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1154
d8919552
VS
11552011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1158
1159 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1160 types.
1161 (grub_hfsplus_btree_recoffset): Likewise.
1162 (grub_hfsplus_btree_recptr): Likewise.
1163 (grub_hfsplus_find_block): Likewise.
1164 (grub_hfsplus_btree_search): Likewise.
1165 (grub_hfsplus_read_block): Likewise.
1166 (grub_hfsplus_read_file): Likewise.
1167 (grub_hfsplus_mount): Likewise.
1168 (grub_hfsplus_btree_iterate_node): Likewise.
1169 (grub_hfsplus_btree_search): Likewise.
1170 (grub_hfsplus_iterate_dir): Likewise.
1171 (grub_hfsplus_read): A small code simplification.
1172
c81296b6
VS
11732011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/kern/emu/hostdisk.c
1176 (convert_system_partition_to_system_disk): Don't assume that children
1177 of mapper nodes are mapper nodes.
1178
0eb8ffb1
VS
11792011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1182 * include/grub/misc.h (grub_isxdigit): New function.
1183 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1184 switched to grub_isxdigit.
1185 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1186 number starting with a letter.
1187
a98f4a08
RM
11882011-10-09 Robert Millan <rmh@gnu.org>
1189
1190 LVM support for FreeBSD and GNU/kFreeBSD.
1191
1192 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1193 GNU/kFreeBSD.
1194 (LVM_DEV_MAPPER_STRING): Move from here ...
1195 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1196 * util/getroot.c: Include `<grub/util/lvm.h>'.
1197 (grub_util_get_dev_abstraction): Enable
1198 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1199 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1200 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1201 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1202 support it.
1203 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1204 GNU/kFreeBSD.
1205 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1206 when LVM abstraction is required for ${GRUB_DEVICE}.
1207
050e8e90
SJ
12082011-10-06 Szymon Janc <szymon@janc.net.pl>
1209
1210 Add support for LZO compression in GRUB:
1211 - import of minilzo library,
1212 - LZO decompression for btrfs,
1213 - lzop files decompression.
1214
1215 * grub-core/io/lzopio.c: New file.
1216 * grub-core/lib/adler32.c: Likewise.
1217 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1218 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1219 * grub-core/lib/minilzo/minilzo.c: Likewise.
1220 * grub-core/lib/minilzo/minilzo.h: Likewise.
1221 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1222 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1223 grub-core/lib/minilzo/minilzo.c to common.
1224 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1225 cflags in cppflags.
1226 * grub-core/Makefile.core.def (btrfs): Likewise.
1227 * grub-core/Makefile.core.def (lzopio): New module.
1228 (adler32): Likewise.
1229 * grub-core/fs/btrfs.c: Include minilzo.h.
1230 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1231 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1232 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1233 (grub_btrfs_lzo_decompress): New function.
1234 (grub_btrfs_extent_read): Add support for LZO compression type.
1235 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1236 (GRUB_USHRT_MAX): Likewise.
1237 (GRUB_UINT_MAX): Likewise.
1238 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1239 (UINT_MAX): Likewise.
1240 (CHAR_BIT): Likewise.
1241 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1242 grub-core/lib/posix_wrap/limits.h
1243 (UCHAR_MAX): Likewise.
1244 * include/grub/file.h (grub_file_filter_id): New compression filter
1245 GRUB_FILE_FILTER_LZOPIO.
1246 * include/grub/file.h (grub_file_filter_id): Set
1247 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1248 * include/grub/types.h (grub_get_unaligned16): New function.
1249 (grub_get_unaligned32): Likewise.
1250 (grub_get_unaligned64): Likewise.
1251 * util/import_gcry.py (cryptolist): Add adler32.
1252
0eb8ffb1
VS
12532011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1256 in perspective decreases the complexity of build system and fixes
1257 compilation right now.
1258
ce79cc99 12592011-10-01 Ales Nesrsta <starous@volny.cz>
1260
1261 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1262 (fixed problem related to using UHCI with coreboot).
1263
8667a314
BC
12642011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1265
1266 * gentpl.py: Use Autogen macros so that the output template file
1267 (Makefile.tpl) size is reduced.
1268
fc5efcc0
MK
12692011-09-29 Mads Kiilerich <mads@kiilerich.com>
1270
1271 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1272 extra_dist.
1273
d1ab689d
ML
12742011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1275
1276 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1277 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1278
c05de032
ML
12792011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1280
1281 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1282 _fullpath.
1283
cca7ccd8
ML
12842011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1285
1286 Remove extra declaration of sleep for mingw32.
1287
1288 * util/misc.c (sleep) [__MINGW32__]: Removed.
1289 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1290
e0b0dc83
GS
12912011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1292
1293 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1294 type and packname.
1295 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1296 Resurrected.
1297 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1298 (grub_netbsd_btinfo_bootwedge): New struct.
1299 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1300 New function.
1301 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1302
91a1a164
TH
13032011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1304
1305 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1306 loader.
1307
2ded951e
AB
13082011-09-28 Andreas Born <futur.andy@googlemail.com>
1309
1310 Fix incorrect identifiers in bash-completion.
1311
1312 * util/bash-completion.d/grub-completion.bash.in
1313 (_grub_mkpasswd-pbkdf2): Rename to ...
1314 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1315 (_grub_script-check): Rename to ...
1316 (_grub_script_check): ... this. All users updated.
1317
69915030
VS
13182011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1321 Return 0 if disk isn't biosdisk.
1322
20fd15f9
GS
13232011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1324
1325 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1326 on NetBSD.
1327 * Makefile.util.def (grub-fstest): Likewise.
1328
1a7d7db9
GS
13292011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1330
1331 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1332 Get sector size from disk label.
1333
2221ab6c
CW
13342011-09-05 Colin Watson <cjwatson@ubuntu.com>
1335
1336 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1337 */README* as well as README*.
1338 Reported by: Axel Beckert.
1339
ca51c4a0
VS
13402011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1343 case of less than 256 MiB of RAM.
1344
ab80f326
VS
13452011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/commands/wildcard.c (make_regex): Handle @.
1348
4155e697
VS
13492011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1352
ab178c08
SJ
13532011-08-21 Szymon Janc <szymon@janc.net.pl>
1354
1355 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1356 AC_LANG_CONFTEST macros.
1357
7dc3c686
SJ
13582011-08-20 Szymon Janc <szymon@janc.net.pl>
1359
1360 Add grub-fstest option to uncompress data for commands.
1361
1362 * util/grub-fstest.c (uncompress): New var.
1363 (options): New option -u.
1364
fe8d4a7b
SJ
13652011-08-20 Szymon Janc <szymon@janc.net.pl>
1366
1367 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1368 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1369
a5219af1
SJ
13702011-08-20 Szymon Janc <szymon@janc.net.pl>
1371
1372 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1373 file type was not recognized correctly (not gzip or corrupted).
1374
f87abff5
VS
13752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1378 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1379
d94497ea
VS
13802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1383 loongson.
1384 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1385 video_radeon_fuloong2e.
1386 * grub-core/video/radeon_fuloong2e.c: New file.
1387 * include/grub/video.h (grub_video_id_t): Add new ID
1388 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1389
0d1fd011
VS
13902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1393 define.
1394 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1395 that PRID matches the detected subplatform and reset the subplatform
1396 if it doesn't.
1397
84beb0ee
VS
13982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1401
1227c133
VS
14022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1403
1404 Fix PCI iterating on functions >= 4.
1405
1406 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1407 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1408 Removed.
1409 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1410 (grub_pci_read): Fix bitmask.
1411 (grub_pci_read_word): Likewise.
1412 (grub_pci_read_byte): Likewise.
1413 (grub_pci_write): Likewise.
1414 (grub_pci_write_word): Likewise.
1415 (grub_pci_write_byte): Likewise.
1416
9594c689
VS
14172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1420 can still be specified in TARGET_CFLAGS)
1421
14a2562c
VS
14222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1425
1426 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1427 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1428 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1429 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1430 (FULOONG): Rename to ...
1431 (FULOONG2F): ... this. All users updated.
1432 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1433 (machtype_fuloong2f_str): ... this.
1434 (machtype_fuloong2e_str): New string.
1435 Check for machtype_fuloong2e_str.
1436 * grub-core/loader/mips/linux.c (loongson_machtypes)
1437 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1438 * grub-core/term/serial.c (loongson_defserial)
1439 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1440 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1441 loongson_defserial.
1442 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1443 Rename to ...
1444 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1445 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1446 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1447 to IMAGE_FULOONG2F_FLASH. All users updated.
1448 (image_targets): Rename images.
1449 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1450
b526cbb6
SJ
14512011-08-19 Szymon Janc <szymon@janc.net.pl>
1452
1453 Make enable of disk cache statistics code configurable.
1454
1455 * configure.ac: --enable-cache-stats added.
1456 * config.h.in (DISK_CACHE_STATS): New define.
1457 * grub-core/Makefile.core.def (cacheinfo): New command.
1458 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1459 * grub-core/commands/cacheinfo.c: New file.
1460 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1461 moved to cacheinfo.c.
1462 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1463 debug code.
1464 * include/grub/disk.h: Likewise.
1465
fb739ccd
SJ
14662011-08-19 Szymon Janc <szymon@janc.net.pl>
1467
1468 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1469 * grub-core/Makefile.am: Likewise.
1470
2bba8cfd
VS
14712011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1474 non-zero pull.
1475
43526629
VS
14762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1479 All users updated.
1480 (grub_jfs_lookup_symlink): Use correct starting inode.
1481
5c144cc8
VS
14822011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * util/grub-setup.c (main): Add missing gcry initialisation.
1485
b1257f65
VS
14862011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Don't accept text modes on EFI when booting Linux.
1489
1490 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1491 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1492
828bc390
ML
14932011-08-15 Mario Limonciello <mario_limonciello@dell.com>
14942011-08-15 Colin Watson <cjwatson@ubuntu.com>
1495
1496 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1497 use of "/path/.." as in grub-install for EFI as well as handling
1498 symlinks correctly.
1499 Fixes Debian bug #637768.
1500
5f60ccac
CW
15012011-08-15 Colin Watson <cjwatson@ubuntu.com>
1502
1503 * util/grub-probe.c: Remove duplicate #include.
1504
6dc212f9
RM
15052011-08-10 Robert Millan <rmh@gnu.org>
1506
1507 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1508
1509 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1510 function.
1511 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1512 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1513
66816d85
RM
15142011-08-03 Robert Millan <rmh@gnu.org>
1515
1516 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1517 la_array as packed.
1518 Reported by: Zachary Bedell
1519
20168fca
CW
15202011-07-26 Colin Watson <cjwatson@ubuntu.com>
1521
1522 * configure.ac: The Loongson port requires grub-mkfont due to its
1523 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1524 be built.
1525
303b6246
CW
15262011-07-26 Colin Watson <cjwatson@ubuntu.com>
1527
1528 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1529 processing arguments (otherwise help2man fails when GRUB has not yet
1530 been installed).
1531
6795300e
VS
15322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1533
41aa28ea
VS
1534 New script grub-mkstandalone.
1535
1536 * Makefile.util.def (grub-mkstandalone): New script.
1537 * docs/man/grub-mkstandalone.h2m: New file.
1538 * util/grub-mkstandalone.in: Likewise.
1539
15402011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 Support ATA disks with 4K sectors.
6795300e
VS
1543
1544 * include/grub/ata.h (grub_ata): New member log_sector_size.
1545 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1546 (grub_ata_identify): Read sector size.
1547 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1548
92227597
VS
15492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * util/grub-install.in: Don't use uhci outside of x86.
1552
c77069f5
VS
15532011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * util/grub-mkrescue.in: Add missing quotes.
1556
15572011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1558
1559 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1560 dereference.
1561
583168a2
VS
15622011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1565
6be1c01f
VS
15662011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * include/grub/video.h: add missing EXPORT_FUND on
1569 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1570
a1167439
VS
15712011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * include/grub/mips/kernel.h: Fix define conflict.
1574
bf66054f
VS
15752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1578 all four ways.
1579
8fc4fa45
CW
15802011-07-21 Colin Watson <cjwatson@ubuntu.com>
1581
1582 Preferred resolution detection for VBE.
1583
1584 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1585 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1586 the Flat Panel extension, in line with the X.org VESA driver.
1587 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1588 New function.
1589 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1590 (grub_vbe_bios_read_edid): Likewise.
1591 (grub_vbe_get_preferred_mode): Likewise.
1592 (grub_video_vbe_setup): When the mode is "auto", try to get the
1593 preferred mode from VBE, and use the largest mode that is no larger
1594 than the preferred mode (some BIOSes expose a preferred mode that is
1595 not in their mode list!). If this fails, fall back to 640x480 as a
1596 safe conservative choice.
1597 (grub_video_vbe_get_edid): New function.
1598 (grub_video_vbe_adapter): Add get_edid.
1599 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1600 (struct grub_video_adapter): Add get_edid.
1601 (grub_video_edid_checksum): Add prototype.
1602 (grub_video_edid_preferred_mode): Likewise.
1603 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1604 structure.
1605
1606 * grub-core/commands/videoinfo.c (print_edid): New function.
1607 (grub_cmd_videoinfo): Print EDID if available.
1608
1609 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1610 is more appropriate on a wider range of platforms than 640x480.
1611 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1612 documentation.
1613
ca5572a9
VS
16142011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1617
e4bcf625
VS
16182011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1619
1620 * po/POTFILES.in: Regenerate.
1621
c4edd548
VS
16222011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1625 incorrect memory usage.
1626
16a2bab0
VS
16272011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * util/grub-install.in: Source grub-mkconfig_lib.
1630
2e418de6
VS
16312011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 Remove getroot.c from core on emu platform.
1634
1635 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1636 kern/emu/raid.c.
1637 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1638 useless.
1639 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1640 * util/getroot.c (get_win32_path): ... here.
1641 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1642 * util/getroot.c (fini_libzfs): ... here.
1643 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1644 * util/getroot.c (grub_get_libzfs_handle): ... here.
1645 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1646 Moved from here...
1647 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1648 * grub-core/kern/emu/misc.c
1649 (grub_make_system_path_relative_to_its_root): Moved from here...
1650 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1651 * grub-core/kern/emu/getroot.c: Moved from here ...
1652 * util/getroot.c: ... here. All users updated.
1653 * grub-core/kern/emu/raid.c: Moved from here ...
1654 * util/raid.c: ... here. All users updated.
1655
def9832a
VS
16562011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * po/POTFILES.in: Regenerate.
1659
cd8fe79a
VS
16602011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Fix compilation on GNU/Linux.
1663
1664 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1665 Disable geli.
1666 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1667 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1668 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1669
a251b719
VS
16702011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16712011-07-07 Michael Gorven <michael@gorven.za.net>
16722011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1673
1674 LUKS and GELI support.
1675
1676 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1677 grub-core/disk/luks.c, grub-core/disk/geli.c,
1678 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1679 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1680 grub-core/lib/arg.c.
1681 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1682 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1683 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1684 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1685 (grub-bin2h): Add libgcry.a.
1686 (grub-mkimage): Likewise.
1687 (grub-mkrelpath): Likewise.
1688 (grub-script-check): Likewise.
1689 (grub-editenv): Likewise.
1690 (grub-mkpasswd-pbkdf2): Likewise.
1691 (grub-pe2elf): Likewise.
1692 (grub-fstest): Likewise.
1693 (grub-mkfont): Likewise.
1694 (grub-mkdevicemap): Likewise.
1695 (grub-probe): Likewise.
1696 (grub-ofpath): Likewise.
1697 (grub-mklayout): Likewise.
1698 (example_unit_test): Likewise.
1699 (grub-menulst2cfg): Likewise.
1700 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1701 * grub-core/Makefile.core.def (cryptodisk): New module.
1702 (luks): Likewise.
1703 (geli): Likewise.
1704 * grub-core/disk/AFSplitter.c: New file.
1705 * grub-core/disk/cryptodisk.c: Likewise.
1706 * grub-core/disk/geli.c: Likewise.
1707 * grub-core/disk/luks.c: Likewise.
1708 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
1709 grub_util_is_lvm.
1710 (grub_util_get_dm_abstraction): New function.
1711 (grub_util_follow_gpart_up): Likewise.
1712 (grub_util_get_geom_abstraction): Likewise.
1713 (grub_util_get_dev_abstraction): Use new functions.
1714 (grub_util_pull_device): Pull GELI and LUKS.
1715 (grub_util_get_grub_dev): Handle LUKS and GELI.
1716 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
1717 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
1718 (follow_geom_up): Removed.
1719 (grub_util_fd_seek): New function.
1720 (open_device): Use grub_util_fd_seek.
1721 (nread): Rename to ..
1722 (grub_util_fd_read): ... this. All users updated.
1723 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
1724 (grub_crypto_cbc_decrypt): Likewise.
1725 (grub_crypto_hmac_write): Likewise.
1726 (grub_crypto_hmac_buffer): Likewise.
1727 (grub_password_get): Extend to util.
1728 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
1729 New member modname.
1730 (gcry_md_spec) [GRUB_UTIL]: Likewise.
1731 * include/grub/cryptodisk.h: New file.
1732 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
1733 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
1734 LUKS and GELI.
1735 (grub_util_follow_gpart_up): New proto.
1736 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
1737 (grub_util_fd_read): Likewise.
1738 (grub_cryptodisk_cheat_mount): Likewise.
1739 (grub_util_cryptodisk_print_uuid): Likewise.
1740 (grub_util_get_fd_sectors): Likewise.
1741 * util/grub-fstest.c (mount_crypt): New var.
1742 (fstest): Mount crypto if requested.
1743 (options): New option -C.
1744 (argp_parser): Parse -C.
1745 (main): Init and fini gcry.
1746 * util/grub-install.in: Support cryptodisk install.
1747 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
1748 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
1749 cryptodisk.
1750 (prepare_grub_to_access_device): Likewise.
1751 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
1752 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
1753 (probe_cryptodisk_uuid): New function.
1754 (probe_abstraction): Likewise.
1755 (probe): Use new functions.
1756 * util/import_gcry.py: Create Makefile.utilgcry.def.
1757 Add modname member.
1758
9bfdcbbc
VS
17592011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 Lazy device scanning.
1762
1763 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
1764 (grub-setup): Remove util/raid.c.
1765 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
1766 * grub-core/disk/lvm.c (scan_depth): New variable.
1767 (grub_lvm_iterate): Rescan if necessary.
1768 (find_lv): New function based on grub_lvm_open.
1769 (grub_lvm_open): Use find_lv. Rescan on error.
1770 (is_node_readable): New function.
1771 (is_lv_readable): Likewise.
1772 (grub_lvm_scan_device): Skip already found disks.
1773 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
1774 Stop if searched device is found and readable.
1775 * grub-core/disk/raid.c (inscnt): New variable.
1776 (scan_depth): Likewise.
1777 (scan_devices): New function based on grub_raid_register. Abort if
1778 looked for device is found.
1779 (grub_raid_iterate): Rescan if needed.
1780 (find_array): NEw function based on -grub_raid_open.
1781 (grub_raid_open): Use find_array and rescan.
1782 (insert_array): Set became_readable_at.
1783 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
1784 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
1785 New function.
1786 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
1787 (grub_util_pull_device): New function.
1788 (grub_util_get_grub_dev): Call grub_util_pull_device.
1789 * util/raid.c: Moved to ..
1790 * grub-core/kern/emu/raid.c: ... here.
1791 (grub_util_raid_getmembers): New parameter "bootable".
1792 All users updated. Support 1.x.
1793 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
1794 All users updated.
1795 * include/grub/disk.h (grub_disk_pull_t): New enum.
1796 (grub_disk_dev): Change iterate prototype.
1797 All users updated.
1798 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
1799 New proto.
1800 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
1801 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
1802 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
1803 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
1804 All users updated.
1805 * include/grub/util/raid.h: Removed.
1806
1c358e59
VS
18072011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * po/POTFILES.in: Regenerate.
1810
abee94ed
VS
18112011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 Unify sparc init with other ieee1275.
1814
1815 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
1816 instead of kern/sparc64/ieee1275/init.c.
1817 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
1818 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
1819 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
1820 grub/machine/kernel.h.
1821 (grub_ieee1275_original_stack) [__sparc__]: New variable.
1822 (grub_claim_heap) [__sparc__]: Use sparc version.
1823 (grub_machine_init): Moved args parsing to
1824 (grub_parse_cmdline): ...this.
1825 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
1826 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
1827 New definition.
1828 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
1829
1830 Move BOOTP to separate file.
1831
1832 * grub-core/Makefile.core.def (net): Add net/bootp.c.
1833 * grub-core/net/net.c: Move all BOOTP functions to
1834 * grub-core/net/bootp.c: ... here.
1835
1836 Use frame interface on PXE.
1837
1838 * grub-core/Makefile.core.def (pxecmd): Removed.
1839 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
1840 * grub-core/commands/i386/pc/pxecmd.c: Removed.
1841 * grub-core/i386/pc/pxe.c: Moved from here ...
1842 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
1843 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
1844 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
1845
1846 EFI network support.
1847
1848 * grub-core/Makefile.core.def (efinet): New module.
1849 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
1850 here...
1851 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
1852 All users updated.
1853 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
1854 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
1855 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
1856 * grub-core/net/drivers/efi/efinet.c: New file.
1857 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
1858 (grub_efi_net_config): New extern var.
1859
1860 Various cleanups and bugfixes.
1861
1862 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
1863 error.
1864 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
1865 disk declared as partition.
1866 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
1867 leak on failure.
1868 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
1869 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
1870 (grub_debug_zalloc): Likewise.
1871 (grub_debug_realloc): Likewise.
1872 (grub_debug_memalign): Likewise.
1873 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
1874 Check that target is IPv4.
1875 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
1876 local-mac-address as fallback.
1877 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
1878 memory leak.
1879 * grub-core/net/ip.c (ipchksum): Rename to ...
1880 (grub_net_ip_chksum): ... this. All users updated.
1881 (grub_net_recv_ip_packets): Special handling for DHCP.
1882 * util/grub-mkimage.c (generate_image): Zero-out aout header.
1883
1884 Unify prefix handling
1885
1886 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
1887 (grub_machine_get_bootlocation): ... this.
1888 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
1889 (grub_machine_get_bootlocation): ... this.
1890 (grub_prefix): New variable.
1891 (prefix): Removed.
1892 (root_dev): New variable.
1893 (dir): Likewise.
1894 (main): Use new variables.
1895 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
1896 Revamped into ...
1897 (grub_machine_get_bootlocation): ... this.
1898 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
1899 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
1900 (grub_machine_get_bootlocation): ... this.
1901 (grub_machine_set_prefix): Removed.
1902 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
1903 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
1904 Revamped into ...
1905 (grub_machine_get_bootlocation): ... this.
1906 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
1907 (grub_set_prefix_and_root): ... this. All users updated.
1908 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
1909 Revamped into ...
1910 (grub_machine_get_bootlocation): ... this.
1911 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
1912 (grub_machine_get_bootlocation): New proto.
1913 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
1914
1915 Less intrusive and more reliable seek on network implementation.
1916
1917 * grub-core/kern/file.c (grub_file_net_seek): Removed.
1918 (grub_file_seek): Don't call grub_file_net_seek.
1919 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
1920 (grub_net_fs_read_real): .. this.
1921 (grub_net_seek_real): Use net->offset.
1922 (grub_net_fs_read): Seek if necessary.
1923
1924 Unify IEEE1275 netwotk config with the other platforms.
1925
1926 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
1927 New variable.
1928 (grub_machine_get_bootlocation): Support network.
1929 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1930 Support type and device parsing.
1931 (grub_ieee1275_get_device_type): New function.
1932 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
1933 into ...
1934 (grub_ieee1275_net_config_real): ... this.
1935 (grub_ofnet_probecards): Removed.
1936 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
1937 * include/grub/ieee1275/ofnet.h: Removed.
1938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
1939 extern var.
1940 (grub_ieee1275_get_device_type): New function.
1941
1942 Unify network device closing across platforms and make more robust.
1943
1944 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
1945 grub_grubnet_fini.
1946 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
1947 already.
1948 * grub-core/net/net.c (grub_net_network_level_interface_register):
1949 Update num_ifaces.
1950 (grub_net_card_unregister): Close all interfaces.
1951 (receive_packets): Don't poll if no iterfaces are registered.
1952 Open if necessary.
1953 (grub_net_fini_hw): New function.
1954 (grub_net_restore_hw): Likewise.
1955 (fini_hnd): New variable.
1956 (GRUB_MOD_INIT): Register preboot hook.
1957 (GRUB_MOD_FINI): Run and unregister preboot hook.
1958
1959 Poll network cards when idle.
1960
1961 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1962 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1963 * grub-core/net/net.c (receive_packets): Save last poll time.
1964 (grub_net_poll_cards_idle_real): New function.
1965 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1966 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1967 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1968
1969 Rename ofnet interfaces.
1970
1971 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1972 (grub_ofnet_findcards): Use ofnet_%s names.
1973
1974 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1975
1976 Cleanup socket opening.
1977
1978 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1979 (grub_net_fs_close): Likewise.
1980 (grub_net_fs_read_real): Use eof member.
1981 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1982 (+grub_net_udp_close): New inline function.
1983
1984 * include/grub/net/tftp.h: Moved to the top of ...
1985 * grub-core/net/tftp.c: ... here.
1986 * include/grub/net/ip.h: Moved mostly to the top of ...
1987 * grub-core/net/ip.c: ... here.
1988 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1989 * grub-core/net/ethernet.c: ... here.
1990
1991 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1992
1993 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1994 FS name.
1995
1996 * include/grub/net/ip.h (ipv4_ini): Removed.
1997 (ipv4_fini): Likewise.
1998
1999 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2000 (grub_net_send_ip_packets): Likewise.
2001
cf1337aa
VS
20022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2005 grub_read_cmos prototype.
2006
93c06ff9
VS
20072011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 VGA text support in qemu-mips
2010
2011 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2012 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2013 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2014 text.
2015 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2016 * grub-core/kern/vga_init.c: ... this.
2017 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2018 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2019 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2020 Adjust.
2021 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2022 GRUB_MACHINE_PCI_IO_BASE.
2023
748ccabe
VS
20242011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 MIPS qemu flash support.
2027
2028 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2029 magic.
2030 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2031 (grub_machine_init): Probe memory if its size isn't known.
2032 * util/grub-mkimage.c (image_targets): Add flash targets.
2033 (generate_image): Handle flash targets.
2034
d7345994
VS
20352011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 MIPS qemu at_keyboard support.
2038
2039 * gentpl.py (videoinkernel): Add qemu-mips.
2040 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2041 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2042 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2043 modules.
2044 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2045 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2046 * grub-core/term/serial.c (grub_serial_register)
2047 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2048
a07a81b3
VS
20492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 CMOS support on sparc.
2052
2053 * gentpl.py (cmos): Add powerpc and sparc.
2054 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2055 powerpc and sparc.
2056 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2057 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2058 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2059 grub_set_datetime_cmos.
2060 * grub-core/lib/ieee1275/cmos.c: New file.
2061 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2062 (find_rtc): Set no_ieee1275_rtc on error.
2063 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2064 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2065 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2066 fail. Move value to argument. All users updated
2067 (grub_cmos_write): Likewise.
2068 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2069 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2070 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2071 grub_get_datetime_cmos and grub_set_datetime_cmos.
2072
77546584
GS
20732011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2074
2075 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2076 sourcing grub-mkconfig_lib.
2077 * util/update-grub_lib.in: Likewise.
2078 * util/grub.d/00_header.in: Likewise.
2079 * util/grub.d/10_hurd.in: Likewise.
2080 * util/grub.d/10_kfreebsd.in: Likewise.
2081 * util/grub.d/10_linux.in: Likewise.
2082 * util/grub.d/10_netbsd.in: Likewise.
2083 * util/grub.d/10_windows.in: Likewise.
2084 * util/grub.d/20_linux_xen.in: Likewise.
2085 * util/grub.d/30_os-prober.in: Likewise.
2086
54894791
CW
20872011-06-28 Colin Watson <cjwatson@ubuntu.com>
2088
2089 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2090 default_bg_color rather than black.
2091 (grub_gfxterm_fullscreen): Likewise.
2092 (grub_gfxterm_background_color_cmd): Save new background color in
2093 default_bg_color.
2094
8d5d8444
VS
20952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2098
5afeb5bd
VS
20992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2102 mismerge.
2103
ba7df45e
VS
21042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Chainloading on coreboot support.
2107
2108 * grub-core/Makefile.core.def (chain): Add coreboot.
2109 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2110
d0b526b2
VS
21112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2114 if it happens.
2115
5ff1d945
VS
21162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 Implement time command.
2119
2120 * grub-core/Makefile.core.def (time): New module.
2121 * grub-core/commands/time.c: New file.
2122 * grub-core/script/parser.y: Remove "time" keyword.
2123 * grub-core/script/yylex.l: Likewise.
2124
5ebaad7e
VS
21252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2128
bdea3798
VS
21292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2132 when handling leftovers.
2133
b28c5655
VS
21342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2137 so that help2man doesn't fail.
2138
b6f945dc
VS
21392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2142 type in pointers on sparc64.
2143 (get_card_packet): Likewise.
2144
f9b75e8a
CW
21452011-06-27 Colin Watson <cjwatson@ubuntu.com>
2146
2147 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2148 with `*'.
2149 (grub_cmd_videoinfo): Fetch current video mode.
2150
1e3d9b86
VS
21512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2154 because of underlying system restrictions.
2155
efff4b1c
VS
21562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2159 necessary.
2160
9fc9ce37
VS
21612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Coreboot video support.
2164
2165 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2166 (vbe): Likewise.
2167 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2168 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2169 here ...
2170 * grub-core/kern/i386/int.S: ... here.
2171 * grub-core/video/i386/pc/vbe.c: Updated includes.
2172 * grub-core/video/i386/pc/vga.c: Likewise.
2173 * include/grub/i386/coreboot/memory.h
2174 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2175 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2176 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2177 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2178 Disable interrupts.
2179 * include/grub/i386/pc/vga.h: Removed. All users updated.
2180
41bec7fe
VS
21812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2184 definitions for dprintf.
2185 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2186
ca80309d
VS
21872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2190 prototype.
2191 (get_card_packet): Likewise.
2192
9e322ce8
YB
21932011-06-26 Yves Blusseau <blusseau@zetam.org>
2194
2195 Display the path of the file when file is not found
2196
2197 * grub-core/fs/fat.c: Display the filename when file is not found.
2198 * grub-core/fs/fshelp.c: Likewise.
2199 * grub-core/fs/hfs.c: Likewise.
2200 * grub-core/fs/jfs.c: Likewise.
2201 * grub-core/fs/minix.c: Likewise.
2202 * grub-core/fs/ufs.c: Likewise.
2203 * grub-core/fs/btrfs.c: Likewise.
2204 * grub-core/commands/i386/pc/play.c: Likewise.
2205
cbf597af
SJ
22062011-06-26 Szymon Janc <szymon@janc.net.pl>
2207
2208 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2209 pointer checks before calling grub_free().
2210 * grub-core/commands/wildcard.c (match_devices): Likewise.
2211 * grub-core/commands/wildcard.c (match_files): Likewise.
2212 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2213 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2214 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2215 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2216 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2217 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2218 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2219 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2220 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2221
6295b32f
P
22222011-06-25 Patrick <p55@mailinator.com>
2223
2224 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2225
77c0840b
VS
22262011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2229 (grub_pxe_send): Likewise.
2230 (GRUB_MOD_INIT): Fix types.
2231
40ea05de
SJ
22322011-06-24 Szymon Janc <szymon@janc.net.pl>
2233
2234 * grub-core/io/xzio.c: Fix code style issues
2235
90162423
MRA
22362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
22372011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2238
2239 Network infrastructure.
2240 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2241
2242 * include/grub/net/arp.h: New file.
90162423
MRA
2243 * include/grub/net/device.h: Likewise.
2244 * include/grub/net/ethernet.h: Likewise.
2245 * include/grub/net/ip.h: Likewise.
2246 * include/grub/net/netbuff.h: Likewise.
2247 * include/grub/net/tftp.h: Likewise.
2248 * include/grub/net/udp.h: Likewise.
2249 * include/grub/ieee1275/ofnet.h: Likewise.
2250 * include/grub/emu/export.h: Likewise.
2251 * include/grub/net.h: Likewise.
2252 * grub-core/net/arp.c: Likewise.
2253 * grub-core/net/ethernet.c: Likewise.
2254 * grub-core/net/ip.c: Likewise.
2255 * grub-core/net/udp.c: Likewise.
2256 * grub-core/net/tftp.c: Likewise.
2257 * grub-core/net/netbuff.c: Likewise.
2258 * grub-core/net/net.c: Likewise.
2259 * grub-core/net/drivers/emu/emunet.c: Likewise.
2260 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2261 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2262 export.h.
2263 * grub-core/Makefile.core.def (net): New module.
2264 (tftp): Likewise.
2265 (ofnet): Likewise.
2266 (emunet): Likewise.
2267 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2268 network protocols.
2269 * grub-core/kern/device.c (grub_net_open) : New variable.
2270 (grub_device_open): Handle network device.
2271 (grub_device_close): Likewise.
2272 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2273 (grub_grubnet_fini): Likewise.
2274 (grub_file_seek): Seek in network device.
2275 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2276 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2277 network root.
2278 (grub_machine_fini): Call grub_grubnet_fini.
2279 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2280 network.
2281 (grub_ieee1275_get_aliasdevname): New function.
2282 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2283 Add unofficial Solaris network info.
2284 (grub_multiboot_make_mbi): Likewise.
2285 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2286 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2287 * include/grub/device.h (grub_fs): Removed.
2288 * include/grub/err.h (grub_err_t): Add network-related values.
2289 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2290 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2291 (grub_ieee1275_get_aliasdevname): New proto.
2292 * include/grub/net.h: Rewritten.
423a1849 2293
031f22a0
VS
22942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2297 names.
2298
4388ca72
VS
22992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2300
2301 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2302 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2303 it truncates the output.
2304 Reported by: Ximin Luo.
2305
98e2f506
VS
23062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2309
2a5e94d8
VS
23102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2313 partmap before abstraction.
2314
535c1910
AK
23152011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2316
2317 * util/grub-mkconfig_lib.in: Add missing quotes.
2318
bc09e1a2
VS
23192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2322 old method if mountinfo would return /dev/root and /dev/root doesn't
2323 exist.
2324
290766fb
VS
23252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 ZFS zlib support
2328
2329 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2330 (decomp_table): Add zlib entries.
2331 (zio_read): USe 8 bits for compression function rather than 3.
2332 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2333
23342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/disk/ahci.c: Add missing license statements.
2337 * grub-core/fs/romfs.c: Likewise.
2338 * grub-core/lib/ia64/setjmp.S: Likewise.
2339 * grub-core/loader/i386/pc/freedos.c: Likewise.
2340 * grub-core/loader/ia64/efi/linux.c: Likewise.
2341 * grub-core/video/colors.c: Likewise.
2342 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2343
5ab3f48a
VS
23442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 AHCI support.
2347
2348 * grub-core/Makefile.core.def (ata_pthru): Removed.
2349 (ahci): New module.
2350 (pata): Likewise.
2351 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2352 on unload.
2353 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2354 readwrite.
2355 (grub_hdparm_do_check_powermode_cmd): Likewise.
2356 (grub_hdparm_do_smart_cmd): Likewise.
2357 (grub_hdparm_set_val_cmd): Likewise.
2358 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2359 * grub-core/disk/ahci.c: New file.
2360 * grub-core/disk/ata.c: Factor out the low-level part into ...
2361 * grub-core/disk/pata.c: ... here.
2362 * grub-core/disk/ata_pthru.c: Contents moved to ...
2363 * grub-core/disk/pata.c: ... here.
2364 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2365 (grub_scsi_iterate): Use grub_scsi_names.
2366 (grub_scsi_open): Likewise.
2367 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2368 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2369 (grub_ata_regs_t): New struct.
2370 (grub_disk_ata_pass_through_parms): Likewise.
2371 (grub_ata_device): Renamed to ...
2372 (grub_ata): ... this.
2373 (grub_ata_dev): New struct.
2374 Removed all low-level inline functions.
2375 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2376 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2377 iterate hooks and open. All users updated.
2378 * util/grub-install.in: Handle AHCI disk module.
2379
c31dc5f5
SJ
23802011-06-23 Szymon Janc <szymon@janc.net.pl>
2381
2382 Add support for DRI and RSTn markers in JPEG files.
2383
2384 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2385 (JPEG_MARKER_RST0): Likewise.
2386 (JPEG_MARKER_RST1): Likewise.
2387 (JPEG_MARKER_RST2): Likewise.
2388 (JPEG_MARKER_RST3): Likewise.
2389 (JPEG_MARKER_RST4): Likewise.
2390 (JPEG_MARKER_RST5): Likewise.
2391 (JPEG_MARKER_RST6): Likewise.
2392 (JPEG_MARKER_RST7): Likewise.
2393 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2394 (grub_jpeg_decode_dri): New function.
2395 (grub_jpeg_decode_sos): Move image data related part into
2396 grub_jpeg_decode_data function.
2397 (grub_jpeg_decode_data): New function.
2398 (grub_jpeg_reset): New function.
2399 (grub_jpeg_decode_jpeg): Handle new markers.
2400
fe12fd5b
VS
24012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * util/ieee1275/ofpath.c (check_sas): Close fd.
2404 (main): Free of_path.
2405 Reported by: David Volgyes <dvolgyes>.
2406
03147f46
VS
24072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2410 Reported by: David Volgyes <dvolgyes>.
2411
cad3237f
VS
24122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2413
2414 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2415 file after stat.
2416 Reported by: David Volgyes <dvolgyes>.
2417
13548d26
VS
24182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2421
2422 Reported by: David Volgyes <dvolgyes>.
2423
e061a1b5
VS
24242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2427 Prevent memory leak.
2428
1abe47dc
VS
24292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2432 (main): Close file.
e061a1b5 2433 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2434
fbc62666
VS
24352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2438 to continue if allocation is failed.
2439
2440 Reported by: David Volgyes <dvolgyes>.
2441
e98c83e9
DV
24422011-06-23 David Volgyes <dvolgyes>
2443
2444 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2445 dereference.
2446
a199a8cd
VS
24472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Fix spurious warning.
2450
2451 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2452 (acorn_partition_map_find): Use .bin member.
2453
e2d1dba0
VS
24542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2455
2456 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2457 /dev/root as a valid device.
2458
8a5d6919
JM
24592011-06-23 Jim Meyering <meyering@redhat.com>
2460
e2d1dba0
VS
2461 Avoid NULL deref in grub_device_open.
2462
8a5d6919
JM
2463 * grub-core/kern/device.c (grub_device_open): Don't dereference
2464 a NULL pointer upon failed grub_env_get.
2465
f7db6f4a
VS
24662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 Support non-512B sectors and agglomerate reads.
2469
2470 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2471 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2472 (disk_io_guid): Removed.
2473 (make_devices): Locate solely by BlockIO.
2474 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2475 (grub_efidisk_read): Use read_blocks.
2476 (grub_efidisk_write): Use write_blocks.
2477 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2478 log_sector_size.
2479 (get_safe_sectors): Handle non-512B sectors.
2480 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2481 sectors.
2482 (grub_biosdisk_write): Handle non-512B sectors.
2483 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2484 (grub_scsi_read): Remove special non-512B block handling (now handled
2485 one level up).
2486 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2487 and do sanity checks.
2488 (grub_disk_adjust_range): Handle non-512B sectors.
2489 (transform_sector): New function.
2490 (grub_disk_read_small): Likewise.
2491 (grub_disk_read): Rewritten.
2492 (grub_disk_write): Handle non-512B sectors.
2493 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2494 log_sector_size.
2495 (open_device): Use log_sector_size.
2496 (grub_util_biosdisk_read): Likewise.
2497 (grub_util_biosdisk_write): Likewise.
2498 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2499 non-512B sectors.
2500 (pc_partition_map_embed): Likewise.
2501 * include/grub/disk.h (grub_disk): New field log_sector_size.
2502 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2503 (GRUB_DISK_CACHE_BITS): Increased to 6.
2504 * util/grub-fstest.c (fstest): New command testload.
2505 (argp_parser): Likewise.
2506
881ac815
RM
25072011-06-16 Robert Millan <rmh@gnu.org>
2508
2509 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2510 `ata' driver on kernel of FreeBSD 9.
2511
2512 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2513 (get_ataraid_disk_name): New functions.
2514 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2515 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2516 get_ataraid_disk_name() and get_ada_disk_name().
2517
1e9aef7d
CW
25182011-06-13 Colin Watson <cjwatson@ubuntu.com>
2519
2520 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2521 input format.
2522
351c7c8a
CW
25232011-05-29 Colin Watson <cjwatson@ubuntu.com>
2524
2525 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2526 `ftp.gnu.org' for `alpha.gnu.org'.
2527
6b4e6430
CW
25282011-05-27 Colin Watson <cjwatson@ubuntu.com>
2529
2530 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2531 partitions under /dev/disk/by-id/.
2532
c64db050
CW
25332011-05-27 Colin Watson <cjwatson@ubuntu.com>
2534
2535 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2536 after ten consecutive open failures. Scanning all the way up to
2537 10000 is excessive and can cause serious performance problems in
2538 some configurations.
2539 Fixes Ubuntu bug #787461.
2540
245f4aba
VS
25412011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2544 opening new one.
2545
f767c929
VS
25462011-05-21 Colin Watson <cjwatson@ubuntu.com>
25472011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2548
2549 Don't stat devices unless we have to.
2550
2551 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2552 dir == /dev/mapper.
2553 (grub_guess_root_device): Use already known os_dev if possible.
2554 * grub-core/kern/emu/hostdisk.c
2555 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2556 if device is known to be a dm one.
2557
f35fa3a6
CW
25582011-05-20 Colin Watson <cjwatson@ubuntu.com>
2559
2560 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2561 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2562 Reported by: Pawel Tecza.
2563
9a79fcf2
VS
25642011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2567 (lsefisystab): Likewise.
2568 (lssal): Likewise.
2569 (lsefimmap): Likewise.
2570 (hdparm): Enable on qemu-mips.
2571 (setjmp): Add ia64 nodist.
2572 (serial): Simplify tags.
2573
63e3eea9
CW
25742011-05-18 Colin Watson <cjwatson@ubuntu.com>
2575
2576 * Makefile.util.def (grub-ofpathname): Install manual page.
2577
09728256
CW
25782011-05-18 Colin Watson <cjwatson@ubuntu.com>
2579
2580 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2581
8b63a142
CW
25822011-05-18 Colin Watson <cjwatson@ubuntu.com>
2583
2584 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2585
e775d8ed
VS
25862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2589 into dprintf.
2590
bf947d36
VS
25912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Use full 64-bit division.
2594
2595 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2596 (grub_divmod64): ... this.
2597 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2598 version.
2599
b84f26c5
CW
26002011-05-18 Colin Watson <cjwatson@ubuntu.com>
2601
2602 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2603 `source'.
2604
5626056f
CW
26052011-05-18 Colin Watson <cjwatson@ubuntu.com>
2606
2607 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2608 to avoid accidents when debugging with 'sh -x'.
2609 * grub-core/gensyminfo.sh.in: Likewise.
2610 * tests/example_scripted_test.in: Likewise.
2611 * tests/grub_cmd_regexp.in: Likewise.
2612 * tests/grub_script_blanklines.in: Likewise.
2613 * tests/grub_script_dollar.in: Likewise.
2614 * tests/grub_script_expansion.in: Likewise.
2615 * tests/grub_script_final_semicolon.in: Likewise.
2616 * tests/partmap_test.in: Likewise.
2617 * tests/util/grub-shell-tester.in: Likewise.
2618 * tests/util/grub-shell.in: Likewise.
2619
e2965f4a
CW
26202011-05-18 Colin Watson <cjwatson@ubuntu.com>
2621
2622 Move gfxmenu color handling to video, so that gfxterm can use it
2623 too.
2624
2625 * grub-core/gfxmenu/named_colors.c: Move to ...
2626 * grub-core/video/colors.c: ... here. Rename
2627 grub_gui_get_named_color to grub_video_get_named_color.
2628 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2629 * grub-core/video/colors.c (my_isxdigit): ... here.
2630 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2631 Move to ...
2632 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2633 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2634 to ...
2635 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2636
2637 * include/grub/gui.h (grub_gui_color_t): Move to ...
2638 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2639 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2640 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2641 * include/grub/gui.h (grub_gui_map_color): Move to ...
2642 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2643 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2644 to ...
2645 * include/grub/video.h (grub_video_get_named_color): ... here.
2646 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2647 * include/grub/video.h (grub_video_parse_color): ... here.
2648
2649 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2650 video/colors.c.
2651 (gfxmenu): Remove gfxmenu/named_colors.c.
2652 (video) [videomodules]: Add video/colors.c.
2653
2654 Add a background_color command.
2655
2656 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2657 function.
2658 (GRUB_MOD_INIT): Register background_color command.
2659 (GRUB_MOD_FINI): Unregister background_color command.
2660 (redraw_screen_rect): Allow blend/replace of text layer to be
2661 controlled independently from whether there is a background bitmap.
2662 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2663 changing bitmap.
2664
1e4b4390
VS
26652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2666
26618ff0
VS
2667 Patch BPB in ntldr and chainloader --bpb.
2668
1e4b4390
VS
2669 * grub-core/fs/fat.c: Include grub/fat.h.
2670 (grub_fat_bpb): Moved to ...
2671 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2672 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2673 grub/ntfs.h.
2674 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2675 Moved from here...
2676 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2677 here.
2678 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2679 New function.
2680 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2681 (GRUB_MOD_INIT): Show --bpb.
2682 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2683 * grub-core/normal/main.c (features): New variable.
2684 (GRUB_MOD_INIT): Set feature_* variables.
2685 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2686 proto.
2687 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2688
cf02731e
VS
26892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2692 for cleanness.
2693
e3a1073f
VS
26942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 FreeDOS direct loading support.
2697
2698 * docs/grub.texi (Supported OS): Add FreeDOS.
2699 * grub-core/Makefile.core.def (freedos): New module.
2700 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2701 variable.
2702 (grub_relocator16_boot): Handle %ebx.
2703 * grub-core/lib/i386/relocator16.S: Likewise.
2704 * grub-core/loader/i386/pc/freedos.c: New file.
2705
05caa461
VS
27062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 Long Linux command line support.
2709
2710 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2711 (maximal_cmdline_size): New variable.
2712 (allocate_pages): Use maximal_cmdline_size.
2713 (grub_cmd_linux): Set and use maximal_cmdline_size.
2714 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2715 (allocate_pages): Use maximal_cmdline_size.
2716 (grub_cmd_linux): Set and use maximal_cmdline_size.
2717 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
2718 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
2719 and cmdline_size.
2720
a2491e23
VS
27212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27222011-05-18 Colin Watson <cjwatson@ubuntu.com>
2723
2724 Improve devmapper support
2725
2726 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
2727 (grub_util_is_lvm): New function.
2728 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
2729 than lvm if not dmraid.
2730 Handle mapped md nodes.
2731 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
2732 (grub_util_device_is_mapped): ... this. Make always available. All users
2733 updated.
2734 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
2735 (convert_system_partition_to_system_disk): Handle lvm, mpath and
2736 dmraid nodes.
2737 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
2738
6ad6223e
VS
27392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
2742
2743 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
2744 * grub-core/modinfo.sh.in: New file.
2745 * grub-core/Makefile.core.def (modinfo.sh): New script.
2746 * util/grub-mknetdir.in: Use modinfo.sh.
2747 * util/grub-mkrescue.in: Likewise.
2748
543a8f6e
VS
27492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2752 Fix potential usage of Elf32 instead of Elf64 when compiling on
2753 32-bit architecture. Add endianness macros while on it.
2754
4959e111
VS
27552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 Use mipsel- rather than mips- in directories involving mipsel ports to
2758 allow both endiannesses coexist.
2759
2760 * configure.ac: proparate target_cpu=mipsel rather than resetting to
2761 mips. All conditions adjusted.
2762 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
2763 variable.
2764 * util/grub-install.in: Adjust conditions to take renaming into account.
2765 * util/grub-mkimage.c (image_targets): Likewise. New target
2766 mips-qemu_mips-elf for bigendian mips.
2767
35341bbc
VS
27682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 Avoid unnecessary copying on MIPS.
2771
2772 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
2773 early if src == dest.
2774 * util/grub-mkimage.c (generate_image): Arange for src == dest if
2775 compression is none.
2776
b772baed
VS
27772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Reduce memory footprint on SGI by putting modules before the kernel
2780 as opposed to after.
2781
2782 * grub-core/Makefile.core.def (kernel): Increase linking address.
2783 (none_decompress): Likewise.
2784 (xz_decompress): Likewise.
2785 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
2786 address.
2787 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
2788 layout change.
2789 (grub_arch_modules_addr): New function.
2790 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
2791 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
2792 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
2793 here.
2794 * grub-core/kern/mips/startup.S (total_size): Rename to ...
2795 (grub_total_modules_size): ... this. Make global.
2796 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
2797 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
2798 New definition.
2799 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
2800 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
2801 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
2802 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
2803 * util/grub-mkimage.c (image_target_desc): New flag
2804 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
2805 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
2806 (generate_image): Handle images with modules before kernel.
2807
566a1917
VS
28082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Prevent potential loss of memory map by overwrite on qemu-mips.
2811
2812 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2813 Save ram size in $s4.
2814 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
2815 All users changed to grub_arch_memsize.
2816 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
2817 Loongson.
2818 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
2819 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
2820 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
2821 external variable.
2822
5d420cd9
CW
28232011-05-17 Colin Watson <cjwatson@ubuntu.com>
2824
2825 * .bzrignore: Remove grub-dumpbios.
2826
d064b830
CW
28272011-05-17 Colin Watson <cjwatson@ubuntu.com>
2828
2829 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
2830 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
2831 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
2832 existing options which append).
2833 * docs/grub.texi (Simple configuration): Document new options.
2834 Reported by: Ian Jackson. Fixes Debian bug #617538.
2835
3ca2b466
CW
28362011-05-17 Colin Watson <cjwatson@ubuntu.com>
2837
2838 * util/grub-fstest.c (cmd_cat): New function.
2839 (fstest): Handle CMD_CAT.
2840 (options): Add cat.
2841 (argp_parser): Handle cat.
2842
24c9143a
CW
28432011-05-17 Colin Watson <cjwatson@ubuntu.com>
2844
2845 * Makefile.util.def (grub-bin2h): Don't install.
2846 * docs/man/grub-bin2h.h2m: Remove.
2847
90f7ac19
VS
28482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
2851 place.
2852
8d4a5178
VS
28532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 Reenable qemu-mips port.
2856
2857 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
2858 Fix small arc bug while on it.
2859 * gentpl.py: Handle qemu_mips.
2860 * grub-core/Makefile.am: Likewise.
2861 * grub-core/Makefile.core.def: Likewise.
2862 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
2863 inappropriate includes.
2864 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
2865 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
2866 * grub-core/kern/main.c (grub_modules_get_end)
2867 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
2868 * grub-core/kern/mips/qemu-mips: Moved to ..
2869 * grub-core/kern/mips/qemu_mips: ... this.
2870 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
2871 (grub_machine_init): Call terminfo_init and serial_init.
2872 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
2873 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2874 New variable.
2875 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
2876 parameter passing.
2877 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
2878 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
2879 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2880 * include/grub/mips/qemu_mips/cmos.h: New file.
2881 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
2882 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
2883 Removed.
2884 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
2885 Use correct mips-style address.
2886 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
2887 (GRUB_TICKS_PER_SECOND): Removed.
2888 (grub_get_rtc): Likewise.
2889 (grub_cpu_idle): Likewise.
2890 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
2891 New definition.
2892 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
2893 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
2894 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
2895 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
2896 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2897 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2898 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
2899 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
2900
400b9371
VS
29012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 SGI ARCS port.
2904
2905 * Makefile.util.def (libgrubmods.a): Add dvh.c.
2906 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
2907 platforms.
2908 * configure.ac: New target mips-arc.
2909 * gentpl.py: Likewise.
2910 * grub-core/Makefile.am: Likewise.
2911 * grub-core/Makefile.core.def: Likewise.
2912 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
2913 (none_decompress): Likewise.
2914 (lsdev): New module.
2915 (datetime): Use lib/arc/datetime.c on ARC.
2916 (part_dvh): New module.
2917 * grub-core/commands/arc/lsdev.c: New file.
2918 * grub-core/disk/arc/arcdisk.c: Likewise.
2919 * grub-core/kern/mips/arc/init.c: Likewise.
2920 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
2921 aligned addresses.
2922 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
2923 support.
2924 (grub_arch_dl_relocate_symbols): Likewise.
2925 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
2926 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
2927 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
2928 platforms.
2929 * grub-core/lib/arc/datetime.c: New file.
2930 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
2931 pci.h on non-loongson.
2932 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
2933 (grub_linux_boot): Set unused registers to 0.
2934 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
2935 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
2936 * grub-core/mmap/mips/uppermem.c: ...here.
2937 * grub-core/partmap/dvh.c: New file.
2938 * grub-core/term/arc/console.c: Likewise.
2939 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
2940 (grub_terminfo_set_current): Add terminal "arc".
2941 (grub_terminfo_readkey): Support ARC sequences.
2942 * include/grub/arc/arc.h: New file.
2943 * include/grub/arc/console.h: Likewise.
2944 * include/grub/disk.h (grub_disk_dev_id): Add
2945 GRUB_DISK_DEVICE_ARCDISK_ID.
2946 * include/grub/mips/arc/kernel.h: New file.
2947 * include/grub/mips/arc/memory.h: Likewise.
2948 * include/grub/mips/arc/time.h: Likewise.
2949 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2950 * include/grub/mips/kernel.h (grub_halt): ... here.
2951 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2952 here...
2953 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2954 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2955 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2956 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2957 proto.
2958 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2959 from here ...
2960 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2961 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2962 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2963 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2964 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2965 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2966 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2967 (grub_phys_addr_t): Moved from here ...
2968 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2969 (grub_vtop): Moved from here ...
2970 * include/grub/mips/memory.h (grub_vtop): ... here.
2971 (grub_map_memory): Moved from here ...
2972 * include/grub/mips/memory.h (grub_map_memory): ... here.
2973 (grub_unmap_memory): Moved from here ...
2974 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2975 (grub_machine_mmap_iterate): Moved from here ...
2976 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2977 (grub_mmap_get_lower): Moved from here ...
2978 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2979 (grub_mmap_get_upper): Moved from here ...
2980 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2981 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2982 here ...
2983 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2984 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2985 here ...
2986 * include/grub/mips/time.h (grub_get_rtc): ... here.
2987 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2988 here ...
2989 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2990 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2991 here ...
2992 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2993 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2994 definition.
2995 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2996 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2997 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2998 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2999 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3000 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3001 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3002 (GRUB_MACHINE_LINK_ADDR): Likewise.
3003 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3004 to 6.
3005 * util/grub-install.in: Run dvhtool on ARC.
3006 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3007 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3008
c8ecc840
VS
30092011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3012 blocks.
3013
153a4b55
VS
30142011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3017 after enabling port.
3018
ff44d107
VS
30192011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 Skip incorrect USB devices.
3022
3023 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3024 configcnt == 0.
3025 * include/grub/usb.h (grub_usb_err_t): New enum value
3026 GRUB_USB_ERR_BADDEVICE.
3027
638dbe4f
VS
30282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 Fuloong video init support.
3031
3032 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3033 well.
3034 (grub_vga_read_arx): New function.
3035 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3036 definition.
3037 (framebuffer): New members io, mmioptr and mmiobase.
3038 (read_sis_cmd): New function.
3039 (write_sis_cmd): Likewise.
3040 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3041 rather than 640x400.
3042 * grub-core/video/sis315_init.c: New file.
3043
c3fc520c
VS
30442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3047 non-loongson.
3048 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3049 to grub_dl_register_symbol.
3050
67b1e5c9
VS
30512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Fix compilation errors.
3054
3055 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3056 potentially unused.
3057 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3058 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3059 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3060 to loongson machines.
3061
b756f75f
VS
30622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 Several FS mtime support.
3065
3066 * grub-core/fs/affs.c (grub_affs_time): New struct.
3067 (grub_affs_file): New field mtime.
3068 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3069 type. Removed 'size'. New field 'di'. All users updated.
3070 (grub_affs_mount): Simplify checsum checking.
3071 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3072 (grub_affs_dir): Handle mtime.
3073 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3074 (grub_cpio_dir): Likewise.
3075 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3076 (grub_hfs_filerec): New field mtime.
3077 (grub_hfs_dir): Handle mtime.
3078 (grub_hfs_mtime): New function.
3079 (grub_hfs_fs): Register grub_hfs_mtime.
3080 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3081 (grub_iso9660_dir): New field mtime.
3082 (grub_fshelp_node): New field dirent.
3083 (iso9660_to_unixtime): New function.
3084 (iso9660_to_unixtime2): Likewise.
3085 (grub_iso9660_read_symlink): Use node->dirent.
3086 (grub_iso9660_iterate_dir): Likewise.
3087 (grub_iso9660_dir): Set mtime.
3088 (grub_iso9660_mtime): New function.
3089 (grub_iso9660_fs): Register grub_iso9660_mtime.
3090 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3091 (grub_jfs_inode): New fields atime, ctime and mtime.
3092 (grub_jfs_dir): Set mtime.
3093 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3094 * grub-core/fs/ntfs.c (list_file): Set mtime.
3095 (grub_ntfs_dir): Likewise.
3096 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3097 (grub_reiserfs_iterate_dir): Set mtime.
3098 (grub_reiserfs_dir): Likewise.
3099 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3100 (grub_fshelp_node): Likewise.
3101 (grub_sfs_iterate_dir): Set mtime.
3102 (grub_sfs_dir): Likewise.
3103 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3104 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3105 (grub_xfs_inode): New fields atime, mtime, ctime.
3106 (grub_xfs_dir): Set mtime.
3107 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3108 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3109 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3110
3111 Support UDF symlinks.
3112
3113 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3114 (grub_ufs_read_symlink): New function. All users updated.
3115
3116 Check amiga partmap checksum.
3117
3118 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3119 (grub_amiga_partition): Likewise.
3120 (amiga_partition_map_checksum): New function.
3121 (amiga_partition_map_iterate): Check checksum.
3122
5470225d
VS
31232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 ROMFS support.
3126
3127 * Makefile.util.def (libgrubmods.a): Add romfs.
3128 * grub-core/Makefile.core.def (romfs): New module.
3129 * grub-core/fs/romfs.c: New file.
3130
d4680a35
VS
31312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 Squashfs v4 support.
3134
3135 * Makefile.util.def (libgrubmods.a): Add squash4.
3136 * grub-core/Makefile.core.def (squash4): New module.
3137 * grub-core/fs/squash4.c: New file.
3138 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3139 disk_input_start, disk_input.
3140 (get_byte): Handle disk_input.
3141 (grub_zlib_disk_read): New function.
3142 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3143
bcb18e74
FZ
31442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
31452011-05-15 Feiran Zheng <famcool@gmail.com>
3146
3147 * Makefile.util.def (libgrubmods.a): Add minix3.
3148 * grub-core/Makefile.core.def (minix3): New module.
3149 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3150 (GRUB_MINIX_BSIZE): Removed.
3151 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3152 (grub_minix_ino_t): New type.
3153 (grub_minix_le_to_cpu_ino): New macro.
3154 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3155 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3156 (grub_minix_data): New field block_size.
3157 (grub_minix_read_file): Handle 64-bit correctly.
3158 * grub-core/fs/minix3.c: New file.
3159
32297d5f
TG
31602011-05-15 Tristan Gingold <gingold@free.fr>
31612011-05-15 Robert Millan <rmh.grub@aybabtu.com>
31622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 IA64 support.
3165
3166 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3167 * configure.ac: Add ia64-efi target.
3168 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3169 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3170 * gentpl.py: Add ia64_efi platform.
3171 Rename x86_efi to efi and Add ia64-efi. All users updated.
3172 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3173 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3174 Remove kern/generic/rtc_get_time_ms.c on EFI.
3175 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3176 kern/ia64/dl_helper.c on ia64-efi.
3177 Add kern/emu/cache.c on emu.
3178 (linux): Use on loader/ia64/efi/linux.c on ia64.
3179 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3180 whether symbol is a function.
3181 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3182 (grub_symbol): New field 'isfunc'.
3183 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3184 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3185 (grub_dl_load_segments): Place all sections into the same region.
3186 [__ia64__]: Create trampolines and got.
3187 [GRUB_MACHINE_EMU]: Call mprotect.
3188 (grub_dl_resolve_symbols): Resolve symbol type as well.
3189 [__ia64__]: Create function descriptors.
3190 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3191 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3192 (grub_get_rtc): New function.
3193 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3194 * grub-core/kern/emu/cache.S: Renamed to ...
3195 * grub-core/kern/emu/cache_s.S: ... this.
3196 [__ia64__]: Add a nop.
3197 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3198 [__ia64__]: New function.
3199 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3200 * grub-core/kern/ia64/dl.c: New file.
3201 * grub-core/kern/ia64/dl_helper.c: Likewise.
3202 * grub-core/kern/ia64/efi/init.c: New file.
3203 * grub-core/kern/ia64/efi/startup.S: Likewise.
3204 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3205 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3206 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3207 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3208 * grub-core/loader/ia64/efi/linux.c: New file.
3209 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3210 (GRUB_MOD_DEP): Likewise.
3211 (grub_dl) [__ia64__]: New fields got and tramp.
3212 (grub_dl): New field 'base'.
3213 (grub_dl_register_symbol): New argument isfunc. All users updated.
3214 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3215 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3216 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3217 (grub_ia64_dl_get_tramp_got_size): New proto.
3218 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3219 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3220 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3221 * include/grub/efi/api.h: Skip call wrappers on ia64.
3222 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3223 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3224 * include/grub/elf.h (ELF_ST_INFO): New definition.
3225 * include/grub/ia64/efi/kernel.h: New file.
3226 * include/grub/ia64/efi/memory.h: Likewise.
3227 * include/grub/ia64/efi/time.h: Likewise.
3228 * include/grub/ia64/kernel.h: Likewise.
3229 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3230 * include/grub/ia64/time.h: New file.
3231 * include/grub/ia64/types.h: Likewise.
3232 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3233 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3234 New protos.
3235 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3236 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3237 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3238 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3239 All users updated.
3240 (EFI64_HEADER_SIZE): New definition. All users updated.
3241 (image_targets): Add ia64-efi.
3242 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3243 jumpers_addr. All users updated.
3244 Create function descriptors.
3245 (count_funcs): New function.
3246 (unaligned_uint32): New struct.
3247 (MASK20): New definition.
3248 (MASK19): Likewise.
3249 (MASKF21): Likewise.
3250 (add_value_to_slot_20b): New function.
3251 (add_value_to_slot_21_real): Likewise.
3252 (add_value_to_slot_21): Likewise.
3253 (ia64_kernel_trampoline): New struct.
3254 (nopm): New variable.
3255 (jump): Likewise.
3256 (make_trampoline): New function.
3257 (relocate_addresses): Handle ia64.
3258 (make_reloc_section): Likewise.
3259 (load_image): Likewise.
3260
983b414d
VS
32612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3264 warning. Move variables before code while on it.
3265
5d063cdc
VS
32662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Fuloong support.
3269
3270 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3271 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3272 * grub-core/boot/mips/loongson/fuloong.S: New file.
3273 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3274 Explicitly init CS5536.
3275 [FULOONG]: Don't use serial until CS5536 is available.
3276 Set GPIO based on dumps.
3277 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3278 [FULOONG]: Handle GPIO and memory controller differences.
3279 Parse machine type in $a2.
3280 * grub-core/boot/mips/startup_raw.S: Determine and save the
3281 architecture.
3282 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3283 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3284 init on architecture type.
3285 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3286 SIS315E. Don't init at_keyboard on fuloong.
3287 (grub_halt): Support Fuloong.
3288 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3289 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3290 (loongson_machtypes): New array.
3291 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3292 type.
3293 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3294 config. All users updated. Handle CS5536 serial.
3295 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3296 default port on machine type. Register serial as inactive.
3297 * grub-core/video/sis315pro.c: New file.
3298 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3299 definition.
3300 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3301 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3302 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3303 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3304 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3305 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3306 to ...
3307 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3308 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3309 definition.
3310 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3311 (grub_arch_machine): New extern var.
3312 * include/grub/mips/loongson/serial.h
3313 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3314 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3315 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3316 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3317 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3318 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3319 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3320 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3321 * include/grub/term.h (grub_term_register_input_inactive): New inline
3322 function.
3323 (grub_term_register_output_inactive): Likewise.
3324 * include/grub/video.h (grub_video_driver_id): New value
3325 GRUB_VIDEO_DRIVER_SIS315PRO.
3326 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3327 New field "names". All users updated.
3328 New field value IMAGE_FULOONG_FLASH.
3329 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3330
6ada82d1
JU
33312011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3332
3333 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3334 and add some clarification.
3335
90c571a4
VS
33362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3339 platforms if kernel is compressed.
3340
de04eecf
VS
33412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3344 unused modules since currently referrence counter isn't reliable and
3345 there isn't much memory to recover there anyway.
3346
57688121
VS
33472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3350 rather than resetting it to allow modules to reference themselves
3351 in init.
3352
3d2c7e35
VS
33532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3356 counter on dependencies since grub_dl_unref already handles this.
3357
b25db218
VS
33582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3361 on error if not already done.
3362
25a45338
VS
33632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 Fix few potential memory misusage.
3366
3367 * grub-core/font/font.c (load_font_index): Don't free char_index to
3368 avoid double free.
b25db218
VS
3369 (grub_font_load): Zero-fill font at alloc for safety.
3370 Close file on error.
3371 (free_font): Free bmp_idx.
25a45338 3372
0cac83df
VS
33732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3374
3375 * docs/grub.texi (Installation): Fix several outdated claims.
3376
2217a143
VS
33772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 Handle module_license on windows.
3380
3381 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3382 sections shifted.
3383 (insert_string): Make argument const char * instead of char *.
3384 (write_section_data): Handle long section names.
3385 Handle module_license.
3386
d4de6b01
VS
33872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3388
3389 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3390 handle class-free menuentries.
3391 (grub_normal_add_menu_entry): Add a check to be sure.
3392
4c2a3b43
VS
33932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3396 PgUp and PgDown.
3397
85c6210f
VS
33982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * configure.ac: Bump version to 1.99.
3401
36084912
VS
34022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 Give ATA device a bit more time on first try in order to allow disks
3405 to spin up.
3406
3407 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3408 if dev->present is 1. Reset dev->present on failure.
3409 (grub_ata_device_initialize): Set dev->present to 1.
3410 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3411 (grub_ata_device): New member 'present'.
3412
bda0e219
VS
34132011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * util/grub-mkimage.c (generate_image): Update hash.
3416
19e1c41b
VS
34172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 Flush caches on DMA memory.
3420
3421 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3422 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3423 (grub_dma_free): Likewise.
3424 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3425
91bbcc0c
VS
34262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3429 to avoid asm treating ld and sd as macros.
3430
60ddfad3
VS
34312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3434 decompressor.
3435
a298aa04
VS
34362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3439 grub_decompress_core since later would fail if grub_decompress_core
3440 is too far.
3441
9b44feca
VS
34422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3445 R_MIPS_JALR since it's used by newer compiler.
3446
56dbe7b4
VS
34472011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3450
52856af2
VS
34512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3454 file_path to 0 for surety.
3455 (grub_chainloader_boot): Set exit_data to NULL.
3456 Unset the loader once done.
3457 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3458
9c9bfc6d
VS
34592011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3462 unknown key into a dprintf.
3463
dd94a3df
VS
34642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3467 on first non-existant partition.
3468
fa68d99c
VS
34692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3472 openning fails.
3473 Reported by: Mark Korenberg.
3474
157effb7
VS
34752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3478 overflow.
3479
ea75312f
VS
34802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3483 before closing to ensure that it will be readable by grub-setup.
3484
072b5d31
VS
34852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3486
3487 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3488 (devpath_1): Use MAKE_PIWG_PATH.
3489 (devpath_2): Likewise.
3490 (devpath_3): Likewise.
3491 (devpath_4): Likewise.
3492 (devpath_5): Likewise.
3493 (devpath_6): Likewise.
3494
3495 The appleldr.mod was checked that to be binary identical to previous
3496 version.
3497
7fae0051
Z
34982011-05-05 Zach <mikezackles>
3499
3500 Support 2010 Macbooks.
3501
3502 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3503 (devs): Add devpath_6.
3504
7c515bee
VS
35052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3508 /dev/random. /dev/urandom is good enough for our purposes (salting).
3509
ed660bd8
VS
35102011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3513
ee5614b7
VS
35142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3517 hexadecimal.
3518
664889a6
VS
35192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3522 and not 0 on failure.
3523
bd405bbc
CW
35242011-05-03 Colin Watson <cjwatson@ubuntu.com>
3525
3526 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3527 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3528 disk; otherwise grub_fs_probe will not fall back to the next
3529 filesystem.
3530 (grub_pxefs_open): Likewise, for consistency.
3531 Reported and tested by: Ezekiel Grave.
3532
4ebff753
CW
35332011-05-03 Colin Watson <cjwatson@ubuntu.com>
3534
3535 * tests/partmap_test.in: Don't hardcode path to parted.
3536 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3537
8f942553
CW
35382011-05-01 Colin Watson <cjwatson@ubuntu.com>
3539
3540 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3541 of `ls' to find out which devices are available.
3542
3c62402d
VS
35432011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3546 than source address for efi mmap buffer.
3547
723f63f2
VS
35482011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3551 wrong action on non-detecting the magic.
3552
68797f92
VS
35532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3556 already supplied by another part of the module (fixes compilation on
3557 FreeBSD).
3558
6be8715d
VS
35592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3560
3561 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3562 match the one used by mdadm.
3563
e91dba5b
CW
35642011-04-21 Colin Watson <cjwatson@ubuntu.com>
3565
3566 * po/README: Add instructions for creating po/LINGUAS.
3567
c85140b3
CW
35682011-04-21 Colin Watson <cjwatson@ubuntu.com>
3569
3570 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3571 #551428.
3572
3573 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3574 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3575 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3576 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3577 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3578 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3579 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3580 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3581 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3582 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3583 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3584 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3585 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3586 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3587 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3588 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3589 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3590 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3591 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3592 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3593 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3594 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3595
92051871
CW
35962011-04-21 Colin Watson <cjwatson@ubuntu.com>
3597
3598 * grub-core/kern/emu/getroot.c
3599 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3600 test that was incorrectly reintroduced in r3214.
3601 Reported by: Ian Dall. Fixes Savannah bug #33133.
3602
b13f79a4
CW
36032011-04-21 Colin Watson <cjwatson@ubuntu.com>
3604
3605 Fix stack pointer handling in 16-bit relocator.
3606
3607 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3608 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3609 Fixes Ubuntu bug #683904.
3610
9b710a88
VS
36112011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3612
3613 * configure.ac: Bump version to 1.99~rc2.
3614
d97e7b59
VS
36152011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3618 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3619 * grub-core/lib/x86_64/setjmp.S: Likewise.
3620 * grub-core/lib/mips/setjmp.S: Likewise.
3621 * grub-core/lib/powerpc/setjmp.S: Likewise.
3622 * grub-core/lib/sparc64/setjmp.S: Likewise.
3623
0624551c
VS
36242011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3627 * grub-core/lib/efi/datetime.c: Likewise.
3628
e8f28d4c
VS
36292011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3632 New function.
3633 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3634 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3635 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3636
bba79a15
VS
36372011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3640 bitmap.
3641 (grub_gfxterm_term_init): Likewise.
3642
abc474ef
VS
36432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 Take into account the decorations the computing menu entry width.
3646
3647 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3648 (grub_gfxmenu_create_box): Register get_border_width.
3649 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3650 if available.
3651 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3652 get_border_width.
3653
e74b3947
EP
36542011-04-18 Endres Puschner <code@e7p.de>
3655
3656 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3657 Don't skip first class.
3658
34faa595
VS
36592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3662 chunks.
3663 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3664
93a777e3
VS
36652011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 Complete 64-bit division support.
3668
3669 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3670 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3671 * include/grub/misc.h (grub_divmod64): Rename to ...
3672 (grub_divmod64_full): ... this.
3673 (grub_divmod64): New inline function.
3674
a5102d94
VS
36752011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3678
f3fb7b36
VS
36792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3682 performing the necessary test.
3683
9ac718b0
VS
36842011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3687 (kfreebsd.elf): Likewise.
3688 (pc-chainloader.elf): Likewise.
3689 (ntldr.elf): Likewise.
3690
50d2cc5a
VS
36912011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 Identify RAID by its UUID rather than (guessed) name.
3694
3695 * grub-core/disk/raid.c (ascii2hex): New function.
3696 (grub_raid_open): Accept mduuid/%s specification.
3697 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3698 (get_mdadm_uuid): ... this.
3699 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3700
e03f7bea
VS
37012011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3704 to negative size.
3705
e74c3112
CW
37062011-04-13 Colin Watson <cjwatson@ubuntu.com>
3707
3708 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
3709 btrfs subvolume.
3710 * util/grub.d/20_linux_xen.in: Likewise.
3711
78fa584f
CW
37122011-04-13 Colin Watson <cjwatson@ubuntu.com>
3713
3714 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
3715 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
3716
3717 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3718 Build a list of relevant visible mounts using the mnt_id and
3719 parent_mnt_id fields, and then scan that list at the end.
3720
9d5f8162
CW
37212011-04-12 Colin Watson <cjwatson@ubuntu.com>
3722
3723 * docs/grub.texi (normal): New section.
3724 (normal_exit): New section.
3725 (Embedded configuration): Add reference to normal.
3726 (GRUB only offers a rescue shell): Likewise.
3727 * docs/grub-dev.texi (Error Handling): Fix typo.
3728
09a9d66f
CW
37292011-04-12 Colin Watson <cjwatson@ubuntu.com>
3730
3731 * NEWS: Drop obsolete entry about probe-only btrfs support.
3732
0c676933
CW
37332011-04-12 Colin Watson <cjwatson@ubuntu.com>
3734
3735 * util/import_gcry.py: Fix typo.
3736
ec9f5e0d
VS
37372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * NEWS: Add btrfs support.
3740
fe6b2cba
VS
37412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
37422011-04-11 Colin Watson <cjwatson@ubuntu.com>
3743
3744 BtrFS support. Written by me (Vladimir) with important bugfixes and
3745 even more important testing by Colin.
3746
3747 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
3748 * grub-core/Makefile.core.def (btrfs): Add crc.c.
3749 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
3750 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
3751 mem_input_off and mem_input. All users updated to accept in-RAM input.
3752 (gzio_seek): New function.
3753 (test_zlib_header): Likewise.
3754 (grub_gzio_read): Likewise.
3755 (grub_zlib_decompress): Likewise.
3756 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
3757 Accept partial and non-virtual mounts.
3758 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
3759 avoid receiving /dev/dm-X as device.
3760 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
3761 Handle bind and partial mounts.
3762 * grub-core/lib/crc.c: New file.
3763 * include/grub/deflate.h: Likewise.
3764 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
3765 proto.
3766 * include/grub/lib/crc.h: New file.
3767
e745cf0c
VS
37682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Implement automatic module license checking according to new GNU
3771 guidelines.
3772
3773 * grub-core/kern/dl.c (grub_dl_check_license): New function.
3774 (grub_dl_load_core): Use grub_dl_check_license.
3775 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
3776 (GRUB_MOD_LICENSE): Likewise.
3777 (GRUB_MOD_DUAL_LICENSE): Likewise.
3778 All modules updated.
3779
2a9bc016
CW
37802011-04-11 Colin Watson <cjwatson@ubuntu.com>
3781
3782 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
3783 reserved_first_sector to 1. btrfs reserves plenty of space for boot
3784 loaders.
3785 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
3786
8a3bc88e
VS
37872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
3790
af869a4a
VS
37912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * util/grub-fstest.c (read_file): Report GRUB error if file opening
3794 failed.
3795
9ee8d94f
VS
37962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/kern/file.c (grub_file_open): Don't take into account the
3799 parenthesis in the middle of the filename.
3800
b01abe3e
VS
38012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3802
3803 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
3804 rather than trying to put initrd way too high.
3805 Reported by: Ryan Lortie <desrt@desrt.ca>
3806
335bda1e
VS
38072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
3810 improperly removed string.
3811
5ca1a64d
VS
38122011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
3815 is_disk.
3816 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
3817 (open_device) Likewise.
3818 (grub_util_biosdisk_close): Likewise.
d8ce9995 3819 Reported by: Mark Korenberg.
5ca1a64d 3820
cbac5b1e
AK
38212011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
3822
3823 * util/grub-mkconfig_lib.in: Add missing quotes.
3824
088cdb65
CW
38252011-04-10 Colin Watson <cjwatson@ubuntu.com>
3826
3827 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
3828 is NULL.
3829
8b8a81fa
VS
38302011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 Dynamically count the number of lines for the lower banner.
3833
3834 * grub-core/normal/menu_entry.c (per_term_screen): New member
3835 num_entries.
3836 (print_down): Use num_entries.
3837 (update_screen): Likewise.
3838 (grub_menu_entry_run): Set num_entries.
3839 * grub-core/normal/menu_text.c (menu_viewer_data): New member
3840 num_entries.
3841 (grub_print_message_indented): Move real part to ...
3842 (grub_print_message_indented_real): ... here. Additional argument
3843 dry_run.
3844 (draw_border): Additional argument num_entries.
3845 (print_message): Additional argument dry_run.
3846 (print_entries): Receive menu viewer data.
3847 (grub_menu_init_page): New argment num_entries.
3848 (menu_text_set_chosen_entry): Use num_entries.
3849 (grub_menu_try_text): Likewise.
3850 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
3851 All users updated.
3852 (grub_ucs4_count_lines): New function.
3853 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
3854 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
3855 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
3856 (grub_term_border_height): Likewise.
3857 (grub_term_num_entries): Likewise.
3858
277f955b
VS
38592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
3862 Remove now unused string.
3863
536ce85a
CW
38642011-04-09 Colin Watson <cjwatson@ubuntu.com>
3865
3866 * docs/grub-dev.texi (Finding your way around): Update for 1.99
3867 build system.
3868 (Getting started): GRUB is developed in Bazaar now, not Subversion.
3869
3870 (Comment): Fix typo.
3871 (Getting started): General copy-editing.
3872 (Typical Development Experience): Likewise.
3873 (Error Handling): Likewise.
3874 (Video API): Likewise.
3875
2cf09e32
CW
38762011-04-09 Colin Watson <cjwatson@ubuntu.com>
3877
3878 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
3879 throughout.
3880
1ec652f4
VS
38812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3882
3883 * util/grub-mkimage.c (main): Handle special naming of yeeloong
3884 directory.
3885
2c583728
CW
38862011-04-08 Colin Watson <cjwatson@ubuntu.com>
3887
3888 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
3889 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
3890 "development".
3891
d7a565e9
VS
38922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
3895 grub_strcpy since the lines aren't necessarily 0-terminated.
3896
7c2e4909
VS
38972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
3900 root on legacy.
3901
34c09785
VS
39022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/commands/probe.c (options): Argument to set isn't optional.
3905 (GRUB_MOD_INIT): DEVICE isn't optional.
3906
6a6f8058
VS
39072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
3910 word on new line if it's too long anyway. Fixes a hang.
3911
2e335e90
VS
39122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
3915 const.
3916 * util/grub-setup.c (main): Reuse md device name if available.
3917 * util/raid.c (grub_util_raid_getmembers): Receive device name and
3918 not GRUB name as argument.
3919 Based on patch by: Florian Wagner <fwagner>.
3920
10a7a867
VS
39212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3924 Place mbi on low memory for better compatibility.
3925
7a3d6cd9
VS
39262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
3929
18dd6b47
VS
39302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
39312011-04-08 Colin Watson <cjwatson@ubuntu.com>
3932
3933 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 3934 * conf/Makefile.common: Likewise.
18dd6b47 3935
3c0e3f14
VS
39362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3937
f7148863
VS
3938 * grub-core/normal/menu.c: Add missing include.
3939
39402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 3943
6d1fa41f
MZ
39442011-04-08 Martin Zuther <mzuther@mzuther.de>
3945
3946 * util/grub-mkconfig.in: Ignore emacsen backup.
3947
478182a8
VS
39482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3951 on open.
3952 (grub_util_biosdisk_close): Likewise.
3953
72a89a54
VS
39542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3957 const attribute and use grub_isdigit.
3958
b5ebecfa
A
39592011-04-06 Andrey <dev_null@ukr.net>
3960
3961 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3962 gcc warning.
3963
7755f66e
VS
39642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3967 useful grub_dprintf's.
3968
461121ff
VS
39692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3972
2a961775
VS
39732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3976
adf594cc
VS
39772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 Output errors if theme loading failed.
3980
3981 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3982 grub_gfxterm_fullscreen on error paths to ...
3983 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3984 theme loading error.
3985
665900a3
VS
39862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3989 space for older compilers.
3990 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3991
a562b479
VS
39922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3995 and report them as not RAID members since they are useless for GRUB.
3996 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3997
850e9373
VS
39982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Increase LVM implementation robustness in order not to crash on
4001 configurations like pvmove. Previously code assumed that in some places
4002 only lvs or only pvs are used whereas it seems that they are used
4003 interchangeably.
4004
4005 * grub-core/disk/lvm.c (read_node): New function.
4006 (read_lv): Use read_node.
4007 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4008 Match volumes only at the end when all lvs are found. Take both
4009 pvs (first) and lvs (second) into account.
4010 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4011 mirror_* into node_*. All users updated.
4012 (grub_lvm_stripe): Merge this ...
4013 (grub_lvm_mirror): ... and this ...
4014 (grub_lvm_node): ... into this. All users updated.
4015
6f332153
VS
40162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4019 of function to allow further scanning for LVMs.
4020
829ea451
VS
40212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4024 on failed seek as it breaks open fd reusage.
4025
09ceb9a5
VS
40262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * util/grub-install.in: Add a recommendation to use --recheck before
4029 reporting bugs.
4030
67e11623
VS
40312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4034 are obtained.
4035
caee5efd
VS
40362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 GRUB developper manual based on existing Internals section and
4039 contributions by the various authors with active copyright assignment.
4040
4041 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4042 * docs/font_char_metrics.png: New file.
4043 * docs/font_char_metrics.txt: Likewise.
4044 * docs/grub-dev.texi: Likewise.
4045 * docs/grub.texi (Internals): Move from here ...
4046 * docs/grub-dev.texi: ... here.
4047
2cccc747
CW
40482011-04-01 Colin Watson <cjwatson@ubuntu.com>
4049
4050 Store the loopback device as data on loopback grub_disk structures,
4051 rather than the file it points to. This fixes use of freed memory
4052 if an existing loopback device is replaced.
4053
4054 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4055 disk->data, not dev->file.
4056 (grub_loopback_read): Adjust file assignment to match.
4057 Fixes Ubuntu bug #742967.
4058
186ae367
CW
40592011-04-01 Colin Watson <cjwatson@ubuntu.com>
4060
4061 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4062 when replacing an existing device.
4063
cfed2ad0
VS
40642011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4067 memory corruptions.
4068
4069 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4070 unsigned.
4071 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4072 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4073 (grub_jfs_read_inode): Likewise.
4074 (grub_jfs_opendir): Likewise. Remove now useless casts.
4075 (grub_jfs_getent): Likewise.
4076 Make ino a grub_uint32_t rather than int.
4077 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4078 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4079 division and module with bit operations.
4080 (grub_jfs_find_file): Make ino a grub_uint32_t.
4081 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4082
05d2ed32
CW
40832011-04-01 Colin Watson <cjwatson@ubuntu.com>
4084
4085 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4086 warning. (This was in fact always initialised before use, but GCC
4087 wasn't smart enough to prove that.)
4088 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4089
91dc6073
VS
40902011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4093 stack alignment.
4094 (efi_wrap_1): Likewise.
4095 (efi_wrap_2): Likewise.
4096 (efi_wrap_3): Likewise.
4097 (efi_wrap_4): Likewise.
4098 (efi_wrap_5): Likewise.
4099 (efi_wrap_6): Likewise.
4100 (efi_wrap_10): Likewise.
4101 Based on information by: Red Hat/Peter Jones.
4102
a8afc1d1
CW
41032011-03-31 Colin Watson <cjwatson@ubuntu.com>
4104
4105 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4106 set-but-not-used variable.
4107
a826cc7d
CW
41082011-03-31 Colin Watson <cjwatson@ubuntu.com>
4109
4110 * docs/grub.texi (Simple configuration): Be more explicit about
4111 GRUB_DEFAULT, and add an example.
4112 Reported by: Leslie Rhorer.
4113
875b67ba
CW
41142011-03-30 Colin Watson <cjwatson@ubuntu.com>
4115
4116 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4117 shell".
4118
fd7cd914
AS
41192011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4120
4121 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4122 * util/grub.d/20_linux_xen.in: Likewise.
4123
090b1b6a
VS
41242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4125
4126 * util/grub.d/10_linux.in: Try alternative config filenames where
4127 we parse config file.
4128 * util/grub.d/20_linux_xen.in: Likewise.
4129
baad885c
AS
41302011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4131
4132 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4133 * util/grub.d/20_linux_xen.in: Likewise.
4134
241e41f5
VS
41352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4136
4137 * grub-core/disk/raid.c (insert_array): Add few potentially
4138 useful grub_util_info.
4139 (grub_raid_register): Likewise.
4140
56445fb2
VS
41412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4144 Preserve partition number in mdadm code path.
4145
c871b1c6
VS
41462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4149 few potentially useful grub_util_info.
4150
5e631b4f
CW
41512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4154
2d5d0333
CW
41552011-03-30 Colin Watson <cjwatson@ubuntu.com>
4156
4157 * docs/grub.texi (default): Use @example rather than nested
4158 itemized lists to avoid breaking gendocs.
4159
3d7ed04e
CW
41602011-03-30 Colin Watson <cjwatson@ubuntu.com>
4161
4162 * docs/grub.texi (Future): Update.
4163
abf04200 41642011-03-30 Colin Watson <cjwatson@ubuntu.com>
4165
4166 * docs/grub.texi (Environment): New chapter.
4167 (Changes from GRUB Legacy): Link to "Environment block" section for
4168 details of limitations.
4169 (Simple configuration): Likewise. Link to documentation of gfxmode
4170 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4171 respectively.
4172 (Shell-like scripting): Note that normal variables are stored in the
4173 environment.
4174 (gettext): Link to documentation of lang and locale_dir.
4175 (list_env): New section.
4176 (load_env): New section.
4177 (save_env): New section.
4178
4179 (Reporting bugs): Fix typo.
4180
e1ad0edd
VS
41812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4184 the example.
4185
5d803174
VS
41862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/term/at_keyboard.c (set_scancodes)
4189 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4190
2a2da1d0
CW
41912011-03-30 Colin Watson <cjwatson@ubuntu.com>
4192
4193 * docs/grub.texi (Menu-specific commands): Remove some semantics
4194 that were true in GRUB Legacy but not in GRUB 2.
4195 (submenu): New section.
4196 (false): New section.
4197 (read): New section.
4198 (true): New section.
4199
a7527639
CW
42002011-03-30 Colin Watson <cjwatson@ubuntu.com>
4201
4202 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4203
42042011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4205
4206 * docs/grub.texi (Simple configuration): Explain some of the
4207 current limitations of grub-mkconfig.
8a748df2 4208 Reported by: Leslie Rhorer.
e30af029 4209
fc858482
VS
42102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 Old macs search for boot.efi rather than for bootia32.efi.
4213
4214 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4215 * util/grub-mkrescue.in: Likewise.
4216 Suggested by: Peter Jones.
4217
e1eb511d
VS
42182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4221
70e75364
VS
42222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4225 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4226 (grub_lvm_mirror): New struct.
4227 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4228 (grub_lvm_iterate): Iterate only visible volumes.
4229 (grub_lvm_read): Factor out to ..
4230 (read_lv): ... this. Support mirrors.
4231 (grub_lvm_read): New wrapper function.
4232 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4233 stripped or mirrored.
4234
fc18f6a3
VS
42352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4238
5c650f4c
CW
42392011-03-29 Colin Watson <cjwatson@ubuntu.com>
4240
4241 * docs/grub.texi (loopback): New section.
4242
61d7156b
CW
42432011-03-29 Colin Watson <cjwatson@ubuntu.com>
4244
4245 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4246 removed -p option.
4247
994b8264
CW
42482011-03-29 Colin Watson <cjwatson@ubuntu.com>
4249
4250 * docs/grub.texi (BIOS installation): New section, partly based on
4251 previous text in other sections.
4252 (Installing GRUB using grub-install): Replace BIOS discussion with a
4253 cross-reference.
4254 (Images): Likewise.
4255
9e4d19e0
VS
42562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4259 [HAVE_DIOCGDINFO]: Add safety checks.
4260
a307c0b2
VS
42612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4262
4263 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4264 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4265
b4db4f39
CW
42662011-03-29 Colin Watson <cjwatson@ubuntu.com>
4267
4268 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4269 real_sb->size is zero (e.g. RAID-0), get the disk size from
4270 real_sb->data_size instead.
4271 Fixes Ubuntu bug #743136.
4272
35e5f84c
VS
42732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4276 printf clauses for printing size and start.
4277
d2e29d81
VS
42782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4281 Reported and tested by: Timothy Nikkel.
4282
ed5587af
VS
42832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4284
4285 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4286 (dirty_region_add_real): ... this.
4287 (dirty_region_add): Don't discard margin refresh when performing
4288 scheduled repaint.
4289
a1dc717c
VS
42902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4291
4292 * grub-core/lib/relocator.c (allocate_regstart)
4293 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4294 terminals are capabple of malloc-free operation.
4295 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4296 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4297
9f3677d3
VS
42982011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4299
4300 * util/grub-setup.c: Copy the partition table zone if floppy support
4301 is disabled, even if no partition table is found.
4302
4303 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4304 during POST if an invalid partition table is contained in the PBR
4305 of the active partition when GRUB is installed to a partition.
4306
24148725
CW
43072011-03-28 Colin Watson <cjwatson@debian.org>
4308
4309 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4310 comment.
4311
f329eda7
CW
43122011-03-28 Colin Watson <cjwatson@debian.org>
4313
4314 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4315 to be specific about what kind of RAID device we're scanning for.
4316
c482ad98
SG
43172011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4318
4319 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4320 return freed string.
4321
5ee04984
VS
43222011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4325
f4727da9
VS
43262011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 Use libgeom on FreeBSD to detect partitions.
4329
4330 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4331 (grub-mkrelpath): Likewise.
4332 (grub-script-check): Likewise.
4333 (grub-editenv): Likewise.
4334 (grub-mkpasswd-pbkdf2): Likewise.
4335 (grub-fstest): Likewise.
4336 (grub-mkfont): Likewise.
4337 (grub-mkdevicemap): Likewise.
4338 (grub-probe): Likewise.
4339 (grub-setup): Likewise.
4340 (grub-ofpathname): Likewise.
4341 (grub-mklayout): Likewise.
4342 (example_unit_test): Likewise.
4343 (grub-menulst2cfg): Likewise.
4344 * grub-core/Makefile.core.def (grub-emu): Likewise.
4345 (grub-emu-lite): Likewise.
4346 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4347 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4348 define HAVE_DIOCGDINFO.
4349 (follow_geom_up) [FreeBSD]: New function.
4350 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4351 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4352 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4353 unconditionally of HAVE_DIOCGDINFO.
4354
82fe6c75
VS
43552011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 Fix FreeBSD compilation problem.
4358
4359 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4360 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4361
4c6c9431
CW
43622011-03-24 Colin Watson <cjwatson@ubuntu.com>
4363
4364 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4365 Switch back to page zero before loading a kernel, since some kernel
4366 drivers expect that.
4367 Thanks to: Felix Kuehling.
4368
c7064d94
VS
43692011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4372 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4373 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4374
3f71cded
VS
43752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4378 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4379
ef6de21a
VS
43802011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4383 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4384 malloc is disabled.
4385
8bc66a2c
VS
43862011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4389 for modules headers when counting the needed allocation size.
4390
5657722c
VS
43912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4394 if no ASCII character is found to prevent crash.
4395
41a85f55
AK
43962011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4397
4398 * grub-core/video/bitmap.c (match_extension): Ignore case.
4399
59e1e5f1
VS
44002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4401
4402 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4403
bd4d051a
VS
44042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * grub-core/script/parser.y: Declare "time" as valid argument.
4407
bae7fcc1
PJ
44082011-03-23 Peter Jones <pjones@redhat.com>
4409
4410 Fix incorrect assert failure reporting.
4411
4412 * grub-core/tests/example_functional_test.c (example_test): Add
4413 a failure comment.
4414 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4415 (failure_start): ...this. Check that malloc succeeded.
4416 Don't call xvasprintf. Return failure struct.
4417 (failure_append_vtext): New function.
4418 (failure_append_text): Likewise.
4419 (add_failure): Likewise.
4420 (grub_test_assert_helper): Likewise.
4421 * include/grub/test.h (grub_test_assert_helper): New declaration.
4422 (grub_test_assert): Macro rewritten.
4423
537dc9be
VS
44242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4427
fa3e01bf
VS
44282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4431
b1d28404
VS
44322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4435 into GRUB-style one.
4436
2e3e2e09
VS
44372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4440 error and not grub_errno.
4441 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4442
ed57e557
VS
44432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4446 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4447
d1611f01
VS
44482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * grub-core/efiemu/i386/pc/cfgtables.c
4451 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4452 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4453 (grub_xnu_unlock): Likewise.
4454 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4455
7d4e39d6
VS
44562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4459 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4460 * grub-core/commands/hashsum.c (aliases): Likewise.
4461 * grub-core/commands/setpci.c (pci_registers): Likewise.
4462 * grub-core/disk/usbms.c (attach_hook): Likewise.
4463 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4464 (zio_checksum_table): Likewise.
4465 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4466 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4467 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4468 * grub-core/lib/relocator.c (leftovers): Likewise.
4469 (extra_blocks): Likewise.
4470 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4471 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4472 (modules_last): Likewise.
4473 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4474 (devices): Likewise.
4475 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4476 (modules_last): Likewise.
4477 * grub-core/normal/auth.c (users): Likewise.
4478 * grub-core/normal/context.c (initial_menu): Likewise.
4479 (current_menu): Likewise.
4480 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4481 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4482 (grub_serial_terminfo_input_template): Likewise.
4483 (grub_serial_terminfo_output_template): Likewise.
4484 (grub_serial_terminfo_input): Likewise.
4485 (grub_serial_terminfo_output): Likewise.
4486 (registered): Likewise.
4487 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4488
40fc4659
VS
44892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4490
4491 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4492 grub_video_mode_type_t.
4493 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4494 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4495 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4496
2da48d28
VS
44972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 * util/grub-install.in: Correct the x86-64 name as x86_64.
4500
9b43bf39
CW
45012011-03-11 Colin Watson <cjwatson@ubuntu.com>
4502
4503 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4504 initial chunk read from the kernel always includes GRUB's multiboot
4505 header, which is now outside the first sector.
4506
be1a7ce0
CW
45072011-03-09 Colin Watson <cjwatson@ubuntu.com>
4508
4509 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4510 cached mmap_size, so that this works correctly when called multiple
4511 times.
4512 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4513
83a3c48d
CW
45142011-03-09 Colin Watson <cjwatson@ubuntu.com>
4515
4516 * docs/grub.texi (Simple configuration): Tidy up formatting.
4517
57d75699
SJ
45182011-03-07 Szymon Janc <szymon@janc.net.pl>
4519
4520 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4521 Set-but-not-used variable removed.
4522
028501a0
VS
45232011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 Workaround yet another IEEE1275 bug.
4526
4527 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4528 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4529 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4530 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4531 is set.
4532 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4533 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4534
d998657d
VS
45352011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4538 error.
4539
fee7cdd4
CW
45402011-02-11 Colin Watson <cjwatson@ubuntu.com>
4541
4542 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4543 empty, since in that case we can only generate either nothing or a
4544 syntactically invalid configuration file.
4545 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4546
97286eb5
CW
45472011-02-09 Colin Watson <cjwatson@ubuntu.com>
4548
4549 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4550 (Making a GRUB bootable CD-ROM): Likewise.
4551 (Invoking grub-mkrescue): New section.
4552 Reported by: Yann Dirson. Fixes Debian bug #612585.
4553
22b28eb3
CW
45542011-02-09 Colin Watson <cjwatson@ubuntu.com>
4555
4556 * util/grub-install.in: Remove unnecessary brackets from tr
4557 arguments.
4558 * util/grub.d/10_hurd.in: Likewise.
4559 * util/grub.d/10_kfreebsd.in: Likewise.
4560 * util/grub.d/10_linux.in: Likewise.
4561 * util/grub.d/20_linux_xen.in: Likewise.
4562 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4563
7e735e43
CW
45642011-02-08 Colin Watson <cjwatson@ubuntu.com>
4565
4566 * include/grub/file.h (not_easly_seekable): Rename to ...
4567 (not_easily_seekable): ... this. Update all users.
4568
800f1881
CW
45692011-01-28 Colin Watson <cjwatson@ubuntu.com>
4570
4571 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4572 grub-mkrescue.
4573
3281d3d6
VS
45742011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * util/grub-mkimage.c (generate_image): Refuse to create the images
4577 bigger than the actual flash (512K) in Loongson machines. 512K is also
4578 the biggest chip supported by them.
4579
3533413c
VS
45802011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4583
73ae4f4f
VS
45842011-01-22 Anthony DeRobertis <anthony@derobert.net>
4585
4586 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4587 super_offset field.
4588
37f4f608
VS
45892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * util/grub-install.in: Ignore install device on platforms
4592 where it doesn't make sense. Always use UUIDs except on pc, efi and
4593 sparc64.
4594 Reported by: Daniel Kahn Gillmor.
4595
03a4ccb5
VS
45962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4599
ffc8f4d8
VS
46002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4603 (iterate_real): Don't rely on partition being non-NULL.
4604
80f23be7
VS
46052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4606
4607 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4608 supported platforms. Put a compile time assert for this rather than
4609 generate a warning with 32-bit shift.
4610
5d4f4dd5
VS
46112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4614 logical expression more readable.
4615
e489601a
VS
46162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4619 even if some elements have a name.
4620 Reported by: Alexander GQ Gerasiov.
4621
96e0a6ea
CW
46222011-01-22 Colin Watson <cjwatson@ubuntu.com>
4623
4624 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4625 path unreadable if `grub-probe -t abstraction' fails, for example if
4626 memberlist fails on an LVM volume group.
4627 Reported by: Darius Jahandarie.
4628
81431e2b
CW
46292011-01-22 Colin Watson <cjwatson@ubuntu.com>
4630
4631 * docs/grub.texi (Simple configuration): Document
4632 GRUB_PRELOAD_MODULES.
4633
5e79d66a
CW
46342011-01-17 Colin Watson <cjwatson@ubuntu.com>
4635
4636 * .bzrignore: Remove nonexistent grub-pbkdf2.
4637
646ada34
VS
46382011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * configure.ac: Bump version to 1.99~rc1.
4641
04360337
VS
46422011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4645 for safety.
4646
46c9db88
VS
46472011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4650 module.
4651
46522011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
4653
4654 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4655
4fbf1852
VS
46562011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4659 diskdevid.
4660
f1632d4d
VS
46612011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 Fix compilation on cygwin.
4664
4665 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4666 -R .drectve on cygwin.
4667 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4668 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4669 (COND_CYGWIN): New condition.
4670 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4671 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4672 not @TARGET_OBJ2ELF@.
4673 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4674 type to determine whether aux is to be used.
4675
0b5e127b
VS
46762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4679 realpath'ed device string.
4680 Handle floppy (somewhat).
4681 Issue error in unknown case rather than garbage.
4682 Reported by: Axel Beckert.
4683
173b71e9
VS
46842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 * util/grub.d/00_header.in (load_video): Handle the case when no video
4687 drivers available.
4688 Thanks to: Axel Beckert.
4689
f8f479db
VS
46902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4693 variable. Fixes problem on big endian platforms.
4694
8fc0a245
VS
46952011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4698 It doesn't work well there.
4699
b8494fbe
VS
47002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4701
4702 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4703 warning.
4704 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
4705 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
4706 counter.
4707
b44a558c
VS
47082011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 Use alias->path rather than buggy "canon".
4711
4712 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
4713 (ofdisk_hash_add): New argument curcan. All users updated.
4714
51fa856c
CW
47152011-01-11 Colin Watson <cjwatson@ubuntu.com>
4716
4717 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
4718
9da068a5
VS
47192011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
4722 loadmask before doing any calculations. Use correct type for offset.
4723 (grub_linux_load64): Likewise.
4724
86205c94
CW
47252011-01-11 Colin Watson <cjwatson@ubuntu.com>
4726
4727 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
4728 with NULL.
4729 (console_grub_equivalences_unshift): Likewise.
4730 Reported by: Daniel Dehennin.
4731
4531a206
VS
47322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
4735 (set_env_limn_ro): Likewise.
4736 (GRUB_MOD_INIT): Likewise.
4737 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
4738 ARRAY_SIZE while on it.
4739 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
4740 * grub-core/normal/context.c (grub_env_export): Move from here ...
4741 * grub-core/kern/env.c (grub_env_export): ... here.
4742 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
4743 prefix.
4744 * grub-core/kern/main.c (grub_main): Export root and prefix.
4745 * include/grub/env.h (grub_env_export): Export.
4746 Reported by: Seth Goldberg.
4747
45146057
VS
47482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4751 Take into account space used by ELF sections and multiboot palette.
4752 Reported by: Grégoire Sutre.
4753
f093110b
VS
47542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * BUGS: New file.
4757
3395fe52
VS
47582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4759
4760 Pass more appropriate video id to Linux.
4761
4762 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
4763 grub_video_get_driver_id and variable gfxpayloadforcelfb to
4764 fill have_vga.
4765 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
4766 shift params->lfb_size.
4767 * include/grub/i386/linux.h: Make an enume out of have_vga values.
4768
c2fa6cbb
VS
47692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * util/grub-menulst2cfg.c: Add missing include of misc.h.
4772
b3ff6ff0
VS
47732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4774
4775 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
4776 separator and pass bootpath/devid even if only one of them is available.
4777 Reported by: Seth Goldberg.
4778
ae67942e
VS
47792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
4782 implementations bug on them.
4783
4784 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
4785 memory.
4786 (filter_memory_map): Likewise.
4787
d570097a
VS
47882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
4791 Reported by: nebuchadnezzar.
4792
a508e776
VS
47932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
4796 Reported by: nebuchadnezzar.
4797
dcb883b1
VS
47982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 Submenu default support.
4801
4802 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
4803 auto_boot. All users updated.
4804 Declared static.
4805 Handle chosen and default with submenus.
4806 (grub_menu_execute_with_fallback): Declared static.
4807 Don't notify failure if autobooted. Upper level does it.
4808 (menuentry_eq): New function.
4809 (get_entry_number): Use menuentry_eq.
4810 (show_menu): New parameter "autobooted". All users updated.
4811 (grub_show_menu): Likewise.
4812 * include/grub/normal.h (grub_show_menu): Likewise.
4813 * include/grub/menu.h (grub_menu_execute_entry): Removed.
4814 (grub_menu_execute_with_fallback): Likewise.
4815
6fef99b4
VS
48162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4817
4818 * util/grub-mklayout.c (usage): Update help text.
4819
47a77af5
VS
48202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
4823
ce6bb3ee
VS
48242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * util/grub-menulst2cfg.c (main): Trim the line.
4827
db87be2a
VS
48282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4829
4830 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
4831 (grub_machine_init): Don't check amount of low memory as reportedly
4832 INT 12h can be broken and if low memory is too low we wouldn't have
4833 gotten into grub_machine_init anyway.
4834
c49849cc
VS
48352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
4838 (grub_machine_mmap_iterate): Take low memory into account
4839
b1969b30
VS
48402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4843 badfs.
4844 Reported by: TiCPU.
4845
cf0eaf13
VS
48462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
4849 members errors.
4850
1f060f39
GS
48512011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4852
4853 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
4854 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
4855
a21e5672
GS
48562011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4857
4858 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
4859 openbsd and netbsd types being in part_bsd module.
4860
c88172fa
VS
48612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
4864 (_FILE_OFFSET_BITS): Likewise.
4865 Reported by: Seth Goldberg.
4866
53798c4b
GS
48672011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4868
4869 * configure.ac: Check for libdevmapper header.
4870
e7121b69
VS
48712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
4874 avoid aliasing.
4875 (fzap_lookup): Likewise.
4876 (dnode_get): Likewise.
4877 (make_mdn): Likewise.
4878 (zfs_mount): Likewise.
4879 (fzap_iterate): Use temporary pointer to avoid aliasing.
4880 (grub_zfs_read): Likewise.
4881 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
4882 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
4883 pointers to avoid aliasing.
4884 (grub_cmd_xnu_kernel64): Likewise.
4885 (grub_xnu_load_driver): Likewise.
4886
fc836af9
VS
48872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
4890 aliasing warning.
4891 (grub_cmd_terminal_output): Likewise.
4892 Reported and tested by: Grégoire Sutre.
4893
f9f37648
VS
48942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
4897 warning.
4898 Reported and tested by: Grégoire Sutre.
4899
ec1dfd63
VS
49002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * configure.ac: Do CPU substitution even if it's specified explicitly.
4903 Reported and tested by: Alain Greppin.
4904
9462775a
VS
49052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
4908 Reported and tested by: Alain Greppin.
4909
0fd48e35
VS
49102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 Satisfy some bison versions need for inttypes.h.
4913
4914 * grub-core/lib/posix_wrap/inttypes.h: New file.
4915 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
4916 (int16_t): Likewise.
4917 (int32_t): Likewise.
4918 (int64_t): Likewise.
4919 Reported and tested by: Alain Greppin.
4920
43f1bc83
VS
49212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
4924 Silence spurious warning.
4925 Reported and tested by: Alain Greppin.
4926
64d1f041
SJ
49272011-01-07 Szymon Janc <szymon@janc.net.pl>
4928
4929 * docs/grub.texi (Support automatic decompression): Update with xz
4930 decompression support.
4931
25953e10
SJ
49322011-01-07 Szymon Janc <szymon@janc.net.pl>
4933
4934 Improve loaders' kernel command line handling.
4935
4936 * grub-core/lib/cmdline.c: New file.
4937 * include/grub/lib/cmdline.h: Likewise.
4938 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
4939 grub_create_loader_cmdline to create kernel command line.
4940 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4941 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
4942 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
4943 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
4944 (linux): Add lib/cmdline.c on common.
4945
e72d259f
VS
49462011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
4949 inopos might be unaligned.
4950
c0cf26da
VS
49512011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4954 endian transformations.
4955 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4956 Based on report by: Doug Nazar.
4957
0ca09e6c
DN
49582011-01-07 Doug Nazar <nazard.michi@gmail.com>
4959
4960 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4961 array->members[i].start_sector.
4962 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4963
014b6806
VS
49642011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4965
4966 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4967 Reported and tested by: Grégoire Sutre.
4968
415502c2
CW
49692011-01-06 Colin Watson <cjwatson@ubuntu.com>
4970
4971 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4972 avoid causing test failures by clearing the screen.
4973
71b6a2b7
CW
49742011-01-06 Colin Watson <cjwatson@ubuntu.com>
4975
4976 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4977 Fix prefix check to handle the case where dir ends with a slash
4978 (most significantly, "/" itself).
4979 Reported by: Michael Vogt.
4980
b3f8d28a
VS
49812011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Run terminfo_cls on initing terminfo output to clear the screen and
4984 move the cursor to (0,0).
4985
4986 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4987 Call grub_terminfo_output_init.
4988 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4989 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4990 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4991
4c3e4f37
VS
49922011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4995 only when needed.
4996
488f71f1
VS
49972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5000 CTRL.
5001
18a38098
VS
50022011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 The E820 type 5 is BADRAM, not EXEC_CODE.
5005
5006 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5007 (GRUB_E820_BADRAM): New define.
5008 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5009 into reserved. Propagate BADRAM.
5010 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5011 (GRUB_E820_BADRAM): New define.
5012
9eae2084
VS
50132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5014
5015 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5016 Ignore the memory post-4G.
5017 (grub_relocator_firmware_alloc_region): Additional debug statement.
5018
ebc71d28
VS
50192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5022 names.
5023 Reported by: David Pravec.
5024
446fa400
VS
50252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5028 BIOSes.
5029
a0159f37
VS
50302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5033 Prevent overflow.
5034 (grub_reed_solomon_recover): Likewise.
5035
e5146ca1
VS
50362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5039
50402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5041
5042 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5043 variable.
5044
5b1bdf12
CW
50452011-01-04 Colin Watson <cjwatson@ubuntu.com>
5046
5047 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5048 descriptions of extract_legacy_entries_source and
5049 extract_legacy_entries_configfile.
5050 Reported by: Seung Soo, Ha.
5051
99d925aa
CW
50522011-01-03 Colin Watson <cjwatson@ubuntu.com>
5053
5054 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5055 on devices that do not implement function 0.
5056
4af0504b
DV
50572011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5058
5059 * grub-core/fs/hfsplus.c: Make parent unsigned.
5060 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5061 overflows.
5062 (grub_hfsplus_cmp_extkey): Likewise
5063
469ee10a
VS
50642011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * util/grub-install.in: Correctly use bootloader_id and not
5067 GRUB_DISTRIBUTOR on efibootmgr line.
5068
323a8e9c
VS
50692011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5072
1b394975
IC
50732010-12-31 Ian Campbell <ijc@hellion.org.uk>
5074
5075 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5076 Xen and reorder menu item wording to make it clearer that this entry
5077 will launch Xen. Print separate messages when loading Xen and
5078 Linux.
5079
275bff5f
VS
50802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5083 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5084 loop in case of incorrect amiga partmap.
5085
307806cb
VS
50862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5089 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5090 Reported by:EHeM.
5091
b12b923e
VS
50922010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5095 spurious warning.
5096 Reported by: crocket
5097
14b48a19
VS
50982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5099
5100 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5101 Preload EFIemu.
5102 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5103
693db2df
VS
51042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5107 is loaded
5108 (grub_cmd_xnu_kextdir): Likewise.
5109 (grub_cmd_xnu_splash): Likewise.
5110
c7638645
VS
51112010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 Avoid using Reed-Solomon with 0 redundancy.
5114
5115 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5116 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5117 or 0 redundancy.
5118 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5119 (grub_reed_solomon_recover): Likewise.
5120
25dd4780
VS
51212010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 Don't use disk subsystem in freebsd_boot.
5124
5125 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5126 (freebsd_biosdev): Likewise.
5127 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5128 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5129
0b2db943
VS
51302010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 Handling of files of unknown size is currently limited. They can't be
5133 used e.g. for initrd or modules. Moreover gzip handling of not
5134 easily seekable files is buggy. Disable unknown file size for now. May
5135 be inefficient but works.
5136
5137 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5138 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5139
5c408d0f
MP
51402010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5141
5142 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5143 floppy probe.
5144
190a011a
JD
51452010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5146
5147 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5148
022d01b8
SL
51492010-12-25 Shea Levy <shlevy>
5150
5151 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5152
c4855fdc
VS
51532010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5156 Windows Server 2008.
5157 Reported by: Devin Giddings.
5158
0354b867
VS
51592010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5160
5161 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5162 writing an error message because of async power management.
5163 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5164 (grub_reboot): Likewise.
5165
ab66c69f
JU
51662010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5167
5168 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5169 keep unit tests from failing when they shouldn't.
5170
1426ef35
CW
51712010-12-21 Colin Watson <cjwatson@ubuntu.com>
5172
5173 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5174 previous patch increased the size of the RS code by 20 bytes (at
5175 least with gcc-4.4), so increase this by 20 bytes to match.
5176 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5177
20641b6b
CW
51782010-12-21 Colin Watson <cjwatson@ubuntu.com>
5179
5180 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5181 scratch area. Make sure to initialise chosen in standalone mode as
5182 well as non-standalone.
5183 Reported by: Robert Hooker and Andy Whitcroft.
5184 Tested by: Andy Whitcroft.
5185
d060ad60
CW
51862010-12-21 Colin Watson <cjwatson@ubuntu.com>
5187
5188 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5189 constructing a new unescaped string and passing it to grub_xputs in
5190 one go, rather than passing characters to grub_printf one at a time.
5191
b889cfad
CW
51922010-12-21 Colin Watson <cjwatson@ubuntu.com>
5193
5194 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5195 initialising utf16.
5196
4e01b6c8
CW
51972010-12-21 Colin Watson <cjwatson@ubuntu.com>
5198
5199 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5200 comment. Add an extra layer of quotation, requiring the output of
5201 this function to be used in a printf format string.
5202 (gettext_printf): New function.
5203 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5204 Extract translatable strings from here-documents and use a temporary
5205 variable instead, so that xgettext can find them.
5206 * util/grub.d/10_kfreebsd.in: Likewise.
5207 * util/grub.d/10_linux.in: Likewise.
5208 * util/grub.d/20_linux_xen.in: Likewise.
5209
5210 * po/grub.d.sed: New file.
5211 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5212 arguments. Set c-format flags on all strings extracted from
5213 util/grub.d/ (xgettext refuses to include these itself for strings
5214 it extracted from a shell file, but these really are c-format).
5215
5318fe98
VS
52162010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5219 Avoid next pointing to nowhere.
5220
6c85b743
VS
52212010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5224 rather than assuming than rootblock is exactly in the middle.
5225 (grub_affs_label): Likewise.
5226
a2a08a35
VS
52272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5230 reserved_first_sector to 0.
5231 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5232 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5233 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5234
7059d1ec
VS
52352010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 Fix handling of UTF-16 UDF labels.
5238
5239 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5240 (read_string): .. here.
5241 (grub_udf_label): Use read_string.
5242
30aff4cb
BC
52432010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5244
5245 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5246 editor under argument scope.
5247 Reported by: Jordan Uggla
5248
5cf86f4b
VS
52492010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5252
32570200
CW
52532010-12-18 Colin Watson <cjwatson@ubuntu.com>
5254
5255 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5256 line, and other keys scroll an entire page (previous handling was
5257 for \r and \n to scroll a page and other keys to scroll two lines).
5258
e1dffcf2
VS
52592010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5262 Set ptrdest to correct get_physical_target_address rather than
5263 incorrect get_virtual_current_address.
5264
b04298cf 52652010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5266
5267 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5268 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5269
5367ecd3
CW
52702010-12-10 Colin Watson <cjwatson@ubuntu.com>
5271
5272 * .bzrignore: Ignore grub-core/rs_decoder.S.
5273
1fb430f8
CW
52742010-12-10 Colin Watson <cjwatson@ubuntu.com>
5275
5276 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5277 .mo/.mo.gz opening sequence to ...
5278 (grub_mofile_open_lang): ... here.
5279 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5280 * util/grub.d/00_header.in (grub_lang): Include country part of
5281 locale.
5282 Reported by: Mario Limonciello.
5283
a94a6671
RM
52842010-12-09 Robert Millan <rmh@gnu.org>
5285
5286 * NEWS: Document addition of ZFS support.
5287
24b7938b
CW
52882010-12-04 Colin Watson <cjwatson@ubuntu.com>
5289
5290 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5291 rather than `/ 2', as the latter requires -Wa,--divide which would
5292 require bumping our minimum binutils version.
5293
bddc3ef6
BC
52942010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5295
5296 * util/grub-script-check.c (main): Print script line number on
5297 error.
5298
bf78d5b2
RM
52992010-12-01 Robert Millan <rmh@gnu.org>
5300
5301 * grub-core/fs/zfs/zfs.c: New file.
5302 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5303 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5304 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5305 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5306
5307 * include/grub/zfs/dmu.h: Likewise.
5308 * include/grub/zfs/dmu_objset.h: Likewise.
5309 * include/grub/zfs/dnode.h: Likewise.
5310 * include/grub/zfs/dsl_dataset.h: Likewise.
5311 * include/grub/zfs/dsl_dir.h: Likewise.
5312 * include/grub/zfs/sa_impl.h: Likewise.
5313 * include/grub/zfs/spa.h: Likewise.
5314 * include/grub/zfs/uberblock_impl.h: Likewise.
5315 * include/grub/zfs/vdev_impl.h: Likewise.
5316 * include/grub/zfs/zap_impl.h: Likewise.
5317 * include/grub/zfs/zap_leaf.h: Likewise.
5318 * include/grub/zfs/zfs.h: Likewise.
5319 * include/grub/zfs/zfs_acl.h: Likewise.
5320 * include/grub/zfs/zfs_znode.h: Likewise.
5321 * include/grub/zfs/zil.h: Likewise.
5322 * include/grub/zfs/zio.h: Likewise.
5323 * include/grub/zfs/zio_checksum.h: Likewise.
5324
5325 * Makefile.util.def: Build ZFS into libgrubmods.
5326 * grub-core/Makefile.core.def: Build zfs.mod.
5327
3f0f3831
SJ
53282010-11-30 Szymon Janc <szymon@janc.net.pl>
5329
5330 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5331 variable.
5332 * grub-core/commands/wildcard.c (match_files): Likewise.
5333
3a4253b2
RM
53342010-11-30 Robert Millan <rmh@gnu.org>
5335
5336 * grub-core/loader/i386/bsd.c
5337 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5338 whether kernel is loaded using grub_loader_is_loaded(), rather
5339 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5340 certain error conditions.
5341
8c317b27
RM
53422010-11-30 Robert Millan <rmh@gnu.org>
5343
c5c9cd3e
RM
5344 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5345 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5346
49d3ab46
VS
53472010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Avoid using tricks for initialising endian variables.
5350
5351 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5352 Make const.
5353 (GRUB_MOD_INIT): Don't byte-swap.
5354 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5355 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5356 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5357 (grub_swap_bytes32_compile_time): Likewise.
5358 (grub_cpu_to_le32_compile_time): Likewise.
5359 (grub_cpu_to_le16_compile_time): Likewise.
5360
f420a804
VS
53612010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * util/grub-setup.c (setup): Stop recommending --force. People who
5364 understand the dangers of blocklists are able to find this option
5365 anyway and the ones who don't shouldn't use it anyway.
5366
4e7db17b
RM
53672010-11-26 Robert Millan <rmh@gnu.org>
5368
5369 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5370 Update all users.
5371
9be57a0d
CW
53722010-11-26 Colin Watson <cjwatson@ubuntu.com>
5373
5374 Fix LVM-on-RAID probing.
5375
5376 * util/grub-probe.c (probe): Remember which disk was detected as
5377 RAID (perhaps an LVM physical volume). Use that disk's raidname
5378 rather than that of the top-level disk.
5379
2c7859b3 53802010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5381
d7647bb6
BC
5382 Fix cmdline argument quotes for setparams command of menuentry
5383 definitions.
7e623b0d
BC
5384
5385 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5386 quotes for arguments.
f866fe80 5387 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5388 grub_strchrsub function instead.
f866fe80 5389
7955bea0 5390 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5391
74f72a64
CW
53922010-11-24 Colin Watson <cjwatson@ubuntu.com>
5393
5394 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5395 effort by skipping "." and ".." entries up-front.
5396 Suggested by: Michael Lazarev.
5397
5a407278
CW
53982010-11-24 Colin Watson <cjwatson@ubuntu.com>
5399
5400 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5401 ldflags to ldadd, to fix link line ordering.
5402 (none_decompress): Likewise.
5403
3030d8ec
CW
54042010-11-24 Colin Watson <cjwatson@ubuntu.com>
5405
5406 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5407 platforms.
5408 (grub-emu-lite): Remove kern/emu/cache.S.
5409
b7fbac12
CW
54102010-11-23 Colin Watson <cjwatson@ubuntu.com>
5411
5412 * util/deviceiter.c (compare_devices): If the by-id link for a
5413 device couldn't be resolved, fall back to sorting by the by-id link
5414 rather than segfaulting.
5415 Reported and tested by: Daniel Mierswa.
5416
5225f328
CW
54172010-11-23 Colin Watson <cjwatson@ubuntu.com>
5418
5419 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5420 ldflags, to fix link line ordering.
5421
038b3ce8
CW
54222010-11-23 Colin Watson <cjwatson@ubuntu.com>
5423
5424 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5425 linkers are picky about this.
5426
bf16e98e
CW
54272010-11-23 Colin Watson <cjwatson@ubuntu.com>
5428
5429 * grub-core/Makefile.am (command.lst): Adjust sed expression
5430 ordering so that extended and priority commands aren't treated as
5431 ordinary commands.
5432
7242bab6
CW
54332010-11-23 Colin Watson <cjwatson@ubuntu.com>
5434
5435 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5436 Remove byte-swapping function calls, which are not valid in
5437 structure initialisers.
5438 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5439 non-const.
5440 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5441 grub_gpt_partition_type_bios_boot.
5442
14e8b279
CW
54432010-11-22 Colin Watson <cjwatson@ubuntu.com>
5444
5445 Fix test program build on GNU/kFreeBSD.
5446
5447 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5448 $(LIBNVPAIR)' library dependencies.
5449
e6f63338 54502010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5451
5452 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5453
cf8ffc38
CW
54542010-11-22 Colin Watson <cjwatson@ubuntu.com>
5455
5456 * util/grub-install.in: Remove excessive quoting that broke
5457 installations to RAID devices.
5458
7f8b0fd7
VS
54592010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5462 bootloader version instead of 0.
5463
dfd240b1
VS
54642010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5467 warning.
5468
7b61e609
VS
54692010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5472 retrieve the metadat sector if size isn't known.
5473 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5474
9dfe92d0
RM
54752010-11-18 Robert Millan <rmh@gnu.org>
5476
5477 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5478 with grub_memcmp().
5479
41cc919e
VS
54802010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5483 arrow.
5484 Reported by: Jordan Uggla.
5485
1afcc914
VS
54862010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5487
5488 Make better UTF compliant.
5489
5490 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5491 sequences as incorrect.
5492 (grub_is_valid_utf8): Likewise.
5493 (grub_utf8_to_ucs4): Likewise.
5494 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5495 (grub_ucs4_to_utf8_alloc): Likewise.
5496 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5497
f1808884
VS
54982010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 Make legacy_source behave like source.
5501
5502 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5503 grub_show_menu.
5504 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5505
24ec575b
CW
55062010-11-16 Colin Watson <cjwatson@debian.org>
5507
5508 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5509 (-Wunused implies -Wunused-parameter, but not vice versa).
5510
72b7c7aa
CW
55112010-11-16 Colin Watson <cjwatson@ubuntu.com>
5512
5513 * configure.ac: Make error messages less confusing by testing for
5514 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5515 accepted, but produces a diagnostic if something else is wrong).
5516
e98937aa
VS
55172010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5520 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5521 (now unused).
5522 (grub_keyboard_controller_init)
5523 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5524 read the initial state since controller isn't inited yet.
5525
f6bbabc3
VS
55262010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5529 allocate_regbeg may need to create new chunk header.
5530
22e7dbb2
VS
55312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 Fix quoting in legacy parser.
5534
5535 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5536 single quotes.
5537 (grub_legacy_parse): Likewise.
5538 Reported by: Jordan Uggla.
5539 Tested by: Jordan Uggla.
5540
03f80960
VS
55412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 Don't add -lgcc on i386 and x86_64.
5544
5545 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5546 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5547 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5548
779dc15b
VS
55492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * configure.ac: Add -Wno-trampolines when supported.
5552
d20a3b37
MV
55532010-11-14 Modestas Vainius <modax@debian.org>
5554
5555 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5556 fakeraid.
5557
e5360933
GC
55582010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5559
5560 Add generic logical block size support for UDF.
5561
5562 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5563 (GRUB_UDF_BLKSZ): Removed.
5564 (struct grub_udf_data): New field "lbshift" to hold the logical block
5565 size of the file system in log2 format. All users updated.
5566 (sblocklist): Change type to unsigned.
5567 (grub_udf_mount): Change type of "sblklist" to unsigned.
5568 Move AVDP search before VRS recognition, because the latter requires
5569 knowledge of the logical block size, which is detected during the
5570 former.
5571 Detect and validate logical block size during AVDP search, adding
5572 support for block sizes 512, 1024 and 4096.
5573 Make VRS recognition independent of block size.
5574
cb0229c5
GC
55752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5576
5577 Properly handle deleted files on UDF.
5578
5579 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5580 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5581 set.
5582
406858a8
GC
55832010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5584
5585 Support reading files larger than 2 GiB.
5586
5587 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5588 "offset" to grub_off_t.
5589 (grub_udf_read_file): Likewise for parameter "pos".
5590
130da6a7
VS
55912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5594 unavailable.
5595 (Simple configuration): Refer to Changes from GRUB Legacy about
5596 save_env availability.
5597
65e93f6b
VS
55982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * util/grub-install.in: Ignore empty partition table detection
5601 instead of trying to include part_ module.
5602
1fd08bf1
VS
56032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5606 LVM on RAID support.
5607
de1a024f
VS
56082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Properly define WORDS_BIGENDIAN in wrapped environments.
5611
5612 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5613 definition.
5614 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5615
5616 Reported by: Manoel Rebelo Abranches.
5617 Tested by: Manoel Rebelo Abranches.
5618
bc5dd0b9
VS
56192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * util/grub-mkconfig.in: Fix quoting.
5622
58c184be
VS
56232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 Support big ext2 files.
5626
5627 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5628 (grub_ext2_read_block): Support triple indirect blocks.
5629 (grub_ext2_read_file): Use 64-bit types and read size_high.
5630 (grub_ext2_open): Read size_high.
5631 Reported by: Ximin Luo.
5632 Tested by: Manoel Rebelo Abranches.
5633
5f0c02b3
VS
56342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * util/grub-install.in: Handle filenames containing spaces.
5637 Reported by: Jordan Uggla.
5638 Tested by: Jordan Uggla.
5639
4417aae6
VS
56402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * util/grub-mkconfig.in (grub_script_check): New variable.
5643 Use grub_script_check instead of grub-script-check.
5644 Reported by: Barry Jackson.
5645
7625a68e
VS
56462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * docs/grub.texi (menu): Correct the order.
5649 Reported by: D. Hugh Redelmeier.
5650
10001ac5
VS
56512010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5654 jump.
5655
9c4cf53b
MRA
56562010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5657
10001ac5
VS
5658 * include/grub/elfload.h (grub_elf32_size): New parameter.
5659 All users updated.
9c4cf53b
MRA
5660 Return maximum segments alignment.
5661 (grub_elf64_size): Likewise.
5662 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5663 Return maximum segments alignment.
5664 (grub_elf64_size): Likewise.
5665 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
5666 (grub_linux_claimmap_iterate): New function. Uses the
5667 "available" property in the "memory" node for memory allocation
5668 for kernel in the PowerPC loader.
9c4cf53b
MRA
5669 (grub_linux_load32): Correctly find linux entry point offset.
5670 (grub_linux_load64): Likewise.
5671
d2bf06bf
RM
56722010-11-07 Robert Millan <rmh@gnu.org>
5673
5674 On mips-yeeloong, build with -march=loongson2f when this flag is
5675 available (GCC >= 4.4).
5676 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5677 `-march=mips3'.
5678 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5679 or otherwise add -march=mips3.
5680
898c99a2
BC
56812010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5682
87220a68
BC
5683 Suppress shell expansion on echo '*' and echo "*" like cases.
5684 Reported by: Jordan Uggla.
898c99a2
BC
5685
5686 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5687 string arguments before shell expansion.
5688 * tests/grub_cmd_echo.in: New testcases.
5689
4f9b406a
RM
56902010-11-07 Robert Millan <rmh@gnu.org>
5691
5692 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5693 transition.
5694
80c6d25e
VS
56952010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * grub-core/kern/emu/hostdisk.c
5698 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5699
4a1a0153
VS
57002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5703 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5704 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
5705
34706ddc
VS
57062010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
5709
6972dea9
VS
57102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * util/grub-install.in: Replace useless recomendation to pass
5713 --modules with a recomendation to report a bug.
5714
9c693bd6
VS
57152010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 Properly register serial terminfo.
5718 Reported by: Jordan Uggla
5719
5720 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
5721 const.
5722 (grub_serial_terminfo_output_template): Likewise.
5723 (grub_cmd_serial): Register "serial" with terminfo.
5724 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
5725 grub_serial_terminfo_output.
5726
6c9e4c0c
RM
57272010-11-05 Robert Millan <rmh@gnu.org>
5728
5729 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
5730 needed).
5731
b9b3839f
RM
57322010-11-05 Robert Millan <rmh@gnu.org>
5733
5734 On Yeeloong, pass machine type information to Linux.
5735
5736 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
5737 (LOONGSON_MACHTYPE): New macro, set to
5738 "machtype=lemote-yeeloong-2f-8.9inches".
5739 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
5740 additional argument to Linux.
5741
1a3aaff4
RM
57422010-11-04 Robert Millan <rmh@gnu.org>
5743
5744 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
5745 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
5746 (its SATA disks are detected as slaveless IDE master drives on
5747 kFreeBSD).
5748 Reported by Carsten Aulbert.
5749
a75f4f62
CW
57502010-11-02 Colin Watson <cjwatson@ubuntu.com>
5751
5752 * util/bin2h.c (main): Fix spelling error in generated output.
5753
33b4b0c6
GS
57542010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
5755
5756 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
5757
2b36fbf4
VS
57582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
5761 vga= option is supplied.
5762
74aaf558
VS
57632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
5766 * util/grub.d/10_kfreebsd.in: Likewise.
5767 * util/grub.d/10_linux.in: Likewise.
5768 * util/grub.d/20_linux_xen.in: Likewise.
5769
6428dec3
VS
57702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
5773 argument as an argument to no-argument option.
5774
f8729d98
VS
57752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * util/grub.d/10_linux.in: Add missing load_video with explicit
5778 GRUB_GFXPAYLOAD_LINUX.
5779
89d68fa6
VS
57802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
5783
3a1197cd
VS
57842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
5787 elements with invlid index.
5788 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5789 * grub-core/disk/raid.c (insert_array): Automatically reallocate
5790 members.
5791 * include/grub/raid.h (grub_raid_member): New struct.
5792 (grub_raid_array): Transform devices and start_sector into usage of
5793 grub_raid_member. All users updated
5794 (allocated_devs): New member.
5795
71574288
VS
57962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
5799 is modified
5800
8d40ec65
BC
58012010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
5802
5803 NetBSD build fix for getline function conflict from gnulib.
5804
5805 * Makefile.util.def (libgrubkern.a): New library for grub kernel
5806 components that depend on gnulib headers.
5807 (libgrubmods.a): Renamed from earlier libgrub.a.
5808 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
5809
95b9257e
VS
58102010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
5813 install rather than creating a broken install.
5814
26c53dc6
VS
58152010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * util/grub-setup.c (argp): Remove misleading example of installing to
5818 a partition.
5819
4171b3c5
VS
58202010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5821
5822 * util/grub-setup.c (setup): Clarify the error message.
5823
18568d18
VS
58242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
5827
4f6a2e21
VS
58282010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/kern/emu/misc.c
5831 (grub_make_system_path_relative_to_its_root)
5832 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
5833
58342010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
5835
5836 * grub-core/kern/emu/misc.c
5837 (grub_make_system_path_relative_to_its_root): Revert r2882.
5838
e138c458
VS
58392010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
5842 useless field head. All users updated.
5843 (free_subchunk): Correct handling of IN_REGION subchunk.
5844
0cbcdf0e
CW
58452010-10-22 Colin Watson <cjwatson@ubuntu.com>
5846
5847 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
5848 (Supported kernels): Likewise.
5849
b65ea155
GS
58502010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5851
5852 Make mktemp invocations portable.
5853
5854 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
5855 exit if mktemp fails.
5856 * tests/grub_script_blockarg.in: Likewise.
5857 * tests/partmap_test.in: Likewise.
5858 * tests/util/grub-shell-tester.in: Likewise.
5859 * tests/util/grub-shell.in: Likewise.
5860 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5861 * Makefile.am: Likewise, and chain shell commands with `&&'
5862 instead of ';'.
5863 * util/grub-mkrescue.in: Use the same explicit template as above, and
5864 exit if mktemp fails.
5865
05f43cdd
BC
58662010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
5867
5868 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
5869 Linux kernel, reported by Dennis Schridde.
5870
800e6a9b
SJ
58712010-10-17 Szymon Janc <szymon@janc.net.pl>
5872
5873 * grub-core/normal/auth.c (grub_auth_check_authentication):
5874 Set-but-not-used variable removed.
5875
d82df574
VS
58762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * docs/grub.texi (GNU/Linux): Document APM unavailability with
5879 32-bit linux protocol.
5880
7bced458
VS
58812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
5884 cursor shape for sanity.
5885
5b027690
VS
58862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * docs/grub.texi (Installation): Document buggy BIOS install.
5889
ba5f65cf
VS
58902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * docs/grub.texi (Installation): Indent.
5893
fdf2ec9c
VS
58942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * util/grub-setup.c (setup): New parameter allow_floppy.
5897 (arguments): New member allow_floppy.
5898 (argp_parser): Handle --allow-floppy.
5899 (main): Pass allow_floppy.
5900 * util/grub-install.in: New option --allow-floppy passed though to
5901 grub-setup.
5902
861dfd4c
VS
59032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * util/grub-install.in: Handle partitionless disks.
5906
f77a8c24
VS
59072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * util/grub-setup.c (setup): Don't clean blocklists before readability
5910 verfification.
5911
27d9ee32
VS
59122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * docs/grub.texi (Installation): Document embedding zone. Remove
5915 obsolete grub-install example.
5916
6bdda8f8
SJ
59172010-10-16 Szymon Janc <szymon@janc.net.pl>
5918
5919 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5920 Set-but-not-used variable ifdef'ed.
5921 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
5922 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
5923 variable removed.
5924 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
5925 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
5926 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5927 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
5928 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
5929 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5930 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
5931 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
5932 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5933 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
5934 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
5935 Likewise.
5936
e19b016b
VS
59372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
5940 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
5941 enum value.
5942
6c8d3002
VS
59432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
5946 synonym to _S5_. Needed for some DSDTs.
5947
c32b51c9
VS
59482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Userspace ACPI parser debugging.
5951
5952 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5953 headers and add relevant defines. Don't include standard headers.
5954 (main) [GRUB_DSDT_TEST]: New function.
5955 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5956 Don't declare functions.
5957
fbfbeb39
VS
59582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 Remove dead grub_efi_mm_fini.
5961
5962 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5963 (ALLOCATED_PAGES_SIZE): Likewise.
5964 (MAX_ALLOCATED_PAGES): Likewise.
5965 (allocated_pages): Likewise.
5966 (grub_efi_allocate_pages): Don't record allocated pages.
5967 (grub_efi_free_pages): Likewise.
5968 (grub_efi_mm_init): Likewise.
5969 (grub_efi_mm_fini): Removed.
5970
65f7ed7c
VS
59712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5974 (grub_efi_mm_init): Take into account the memory map size increase.
5975
24977b44
VS
59762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5979 (serial_hw_put): Wait based on real time rather than port reads. Don't
5980 roken ports.
5981 * include/grub/serial.h (grub_serial_port): New field broken.
5982
1eb01cd2
RM
59832010-10-16 Robert Millan <rmh@gnu.org>
5984
5985 * grub-core/kern/emu/misc.c
5986 (grub_make_system_path_relative_to_its_root): Fix premature return
5987 when processing non-root ZFS filesystems.
5f8b440b 5988 Reported by Sergio Talens-Oliag.
1eb01cd2 5989
2d5fed60
RM
59902010-10-15 Robert Millan <rmh@gnu.org>
5991
5992 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5993 guarantee compressed ones are processed first.
5994
d0f4c1ea
VS
59952010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5998 grub_efiemu_autocore.
5999
d87c681f
VS
60002010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6003 rather than 0x1b.
6004 (grub_console_getkey): Use correct jae opcode rather than ja.
6005
219b3564
RM
60062010-10-12 Robert Millan <rmh@gnu.org>
6007
6008 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6009 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6010 variable. All references updated.
6011
6012 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6013
20c6bb7e
VS
60142010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 Correctly distinguish mdraid flavours.
6017
6018 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6019 (insert_array): New argument raid.
6020 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6021 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6022 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6023
74baff84
VS
60242010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6027 handling of special keys.
6028
3ef068df 60292010-10-02 Aleš Nesrsta <starous@volny.cz>
6030
c7980ad9
VS
6031 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6032 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6033
a9455194 60342010-10-02 Aleš Nesrsta <starous@volny.cz>
6035
c7980ad9
VS
6036 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6037 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6038 users updated.
a9455194 6039 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6040 Use right endpoint when querying descriptor.
a9455194 6041
441cfe65
VS
60422010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Clear out 0x80 color bit on EFI.
6045 Tested by: decoder
6046 Reported by: decoder and meta tech.
6047
6048 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6049 (grub_console_setcolorstate): Clear out 0x80 bit.
6050 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6051 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6052 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6053
bf26bcc4
VS
60542010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6057 Set to "auto".
6058
6e3c515d
VS
60592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6062 mo_file after freeing.
6063
e6d983ba
VS
60642010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6067
74ccb5b5
VS
60682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6071 flags.
6072
17821956
VS
60732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6076 usage.
6077
ee74fa48
VS
60782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6081
6082 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6083 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6084 and terminfo.h when needed.
6085 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6086 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6087 (terminfo): Enable only on terminfokernel.
6088 (extcmd): Likewise.
6089 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6090 * include/grub/lib/arg.h: Likewise.
6091 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6092 incorrect usage of ->.
6093
aa438e68
VS
60942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6097 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6098
57994012
VS
60992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Fix coreboot compilation.
6102
6103 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6104 Take VBE info into account even if only text is supported.
6105 (fill_vbe_info): Take into account the case when only VGA text
6106 is supported.
6107 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6108 on coreboot, multiboot and qemu.
6109
2a406611
VS
61102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6113 debug messages.
6114 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6115
d33613fc
VS
61162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6119 parameters.
6120
44a1b432
VS
61212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6124 if they were BSD-style.
6125
edde54e6
VS
61262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 * grub-core/boot/i386/pc/lnxboot.S: Replace
6129 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6130 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6131
b65830fa
VS
61322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 Write embedding zone using Reed-Solomon.
6135
6136 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6137 * grub-core/Makefile.am (rs_decoder.S): New target.
6138 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6139 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6140 (multiboot): Move to RS part.
6141 (post_reed_solomon): New label.
6142 (grub_boot_drive): Move to non-RS part since it's modified in memory
6143 on boot.
6144 Include rs_decoder.S.
6145 * grub-core/lib/reed_solomon.c: New file.
6146 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6147 New definition.
6148 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6149 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6150 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6151 * include/grub/partition.h (grub_partition_map): Change prototype of
6152 embed to allow returning additional sectors.
6153 * include/grub/reed_solomon.h: New file.
6154 * util/grub-setup.c (setup): Handle Reed-Solomon.
6155
0b4b227f
CW
61562010-09-28 Colin Watson <cjwatson@ubuntu.com>
6157
6158 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6159 i386 and x86-64 definedness tests.
6160
f772623b
YB
61612010-09-27 Yves Blusseau <blusseau@zetam.org>
6162
6163 Fix generation of kernel_syms.lst
6164
6165 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6166 ASM_PREFIX
6167
8e57a6ca
RM
61682010-09-26 Robert Millan <rmh@gnu.org>
6169
6170 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6171
6172 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6173 the pool is an array of devices, iterate through it and return the
6174 first device that passes a stat() test (instead of blindly returning
6175 the first one).
6176
f9130836
RM
61772010-09-26 Robert Millan <rmh@gnu.org>
6178
6179 Build fixes for GNU/kFreeBSD.
6180
6181 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6182 to programs that require ZFS conversion.
6183 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6184 kernels that don't have FLOPPY_MAJOR.
6185
96510faf
BC
61862010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6187
6188 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6189
449333eb
BC
61902010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6191
6192 Fix grub-emu build.
6193
6194 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6195 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6196 mdraid09 and mdraid1x.
6197
e1fd1939
CW
61982010-09-24 Colin Watson <cjwatson@ubuntu.com>
6199
6200 Re-enable grub-extras.
6201
6202 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6203 avoid confusing Automake. Run autogen only twice, once for the top
6204 level and once for grub-core. Add Makefile.util.def and
6205 Makefile.core.def from extra modules to the appropriate autogen
6206 invocations. If Makefile.common exists in an extra module, include
6207 it in both Makefile.util.am and grub-core/Makefile.core.am;
6208 similarly, include any Makefile.util.common file in Makefile.util.am
6209 and any Makefile.core.common file in grub-core/Makefile.core.am.
6210 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6211 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6212 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6213 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6214
6215 * gentpl.py (gvar_add): Turn GVARS into a set.
6216 (global_variable_initializers): Sort global variables on output.
6217 (vars_init): New function.
6218 (first_time): Likewise.
6219 (library): Ensure that non-global variable initialisations are
6220 emitted before the first time we emit code for a library block.
6221 Append to variables rather than setting them. Only emit
6222 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6223 each conditional path.
6224 (program): installdir() emits an Autogen macro, so must be passed to
6225 var_add rather than gvar_add.
6226 (data): Likewise.
6227 (script): Likewise.
6228 (rules): New function, centralising handling for different target
6229 types. Set up Guile association lists for first_time and vars_init,
6230 and send most output to a diversion so that variable initialisations
6231 can be emitted first.
6232 (module_rules): Use new rules function.
6233 (kernel_rules): Likewise.
6234 (image_rules): Likewise.
6235 (library_rules): Likewise.
6236 (program_rules): Likewise.
6237 (script_rules): Likewise.
6238 (data_rules): Likewise.
6239
6240 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6241
6242 * .bzrignore: Add contrib and grub-core/contrib. Remove
6243 grub-core/Makefile.gcry.am.
6244
1d12cf29
YB
62452010-09-24 Yves Blusseau <blusseau@zetam.org>
6246
6247 * grub-core/lib/LzFind.c: Add missing include.
6248 * grub-core/lib/LzmaEnc.c: Likewise.
6249 * grub-core/script/lexer.c: Likewise.
6250 * grub-core/script/yylex.l: Likewise.
6251 * util/grub-macho2img.c: Likewise.
6252 * util/grub-menulst2cfg.c: Likewise.
6253 * util/grub-mklayout.c: Likewise.
6254 * util/grub-mkpasswd-pbkdf2.c
6255 * util/grub-mkrelpath.c: Likewise.
6256 * util/resolve.c: Likewise.
6257
dd363028
BC
62582010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6259
6260 * Makefile.util.def (example_unit_test): Add
6261 grub-core/gnulib/libgnu.a.
6262
f5a109e2
GS
62632010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6264
6265 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6266
6d0fa83c
VS
62672010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Support xz compression on yeeloong.
6270
6271 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6272 * configure.ac: Check for LZMA.
6273 * grub-core/Makefile.core.def (xz_decompress): New target.
6274 (none_decompress): Likewise.
6275 * grub-core/boot/decompressor/minilib.c: New file.
6276 * grub-core/boot/decompressor/none.c: Likewise.
6277 * grub-core/boot/decompressor/xz.c: Likewise.
6278 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6279 * grub-core/kern/mips/cache_flush.S: Likewise.
6280 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6281 * grub-core/kern/mips/startup.S: Move first stage to ...
6282 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6283 nomacro.
6284 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6285 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6286 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6287 Allocate statically.
6288 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6289 Allocate statically or use scratch. Don't check CRC32.
6290 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6291 Allocate statically. Don't check CRC32.
6292 * include/grub/decompressor.h: New file.
6293 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6294 Removed.
6295 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6296 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6297 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6298 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6299 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6300 * util/grub-mkimage.c (grub_compression_t): New type.
6301 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6302 (image_target_desc): New field default_compression.
6303 (image_targets): Adjust yeeloong targets.
6304 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6305 (compress_kernel): New parameter comp.
6306 (generate_image): Likewise. Handle new compression case.
6307 (options): New option --compression
6308 (help): Likewise.
6309 (main): Handle new option.
6310
1b655af6
GS
63112010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6312
6313 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6314
8f03f0b5
CW
63152010-09-22 Colin Watson <cjwatson@ubuntu.com>
6316
6317 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6318 typo in __i386__ conditional.
6319
7835dfd3
VS
63202010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6323 include.
6324
e255597e
VS
63252010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6326
6d0fa83c 6327 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6328
6329 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6330 new tags as supported.
6331 (acpiv2_size): New function.
6332 (grub_multiboot_get_mbi_size): Take new tags into account.
6333 (grub_multiboot_make_mbi): Add new tags.
6334 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6335
6cc14051 63362010-09-21 Aleš Nesrsta <starous@volny.cz>
6337
6338 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6339 Added missing configuration of USB device.
6340
df7769d8
CW
63412010-09-21 Colin Watson <cjwatson@ubuntu.com>
6342
6343 * grub-core/normal/menu_entry.c (run): Make sure we always return
6344 a value.
6345
b031012d
CW
63462010-09-21 Colin Watson <cjwatson@ubuntu.com>
6347
6348 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6349 NumberOfPages is UINT64 according to the UEFI specification, not
6350 UINTN. Fix printf format.
6351
174de8f3
CW
63522010-09-21 Colin Watson <cjwatson@ubuntu.com>
6353
6354 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6355 `err' to grub_usb_err_t.
6356 Reported and tested by: KESHAV P.R.
6357
d7dbe923
CW
63582010-09-21 Colin Watson <cjwatson@ubuntu.com>
6359
6360 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6361 tpart non-const, so that we can assign to it. (Since this is a
6362 typedef, the constness refers to the pointer rather than what it
6363 points to.)
6364
8d5e2af3
CW
63652010-09-21 Colin Watson <cjwatson@ubuntu.com>
6366
6367 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6368 $(top_srcdir)/grub-core/gnulib as well as
6369 $(top_builddir)/grub-core/gnulib.
6370 Reported by: KESHAV P.R.
6371
5c527783
CW
63722010-09-21 Colin Watson <cjwatson@ubuntu.com>
6373
6374 * util/grub-install.in: Fix the bootloader ID option to be
6375 consistently --bootloader-id, not --bootloader_id.
6376 Reported by: KESHAV P.R.
6377
d309a16e
CW
63782010-09-21 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6381 check hash checksum." consistently translatable.
6382
b830cd16
YB
63832010-09-21 Yves Blusseau <blusseau@zetam.org>
6384
6385 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6386 $(top_builddir).
6387
c4fe27a8
CW
63882010-09-21 Colin Watson <cjwatson@ubuntu.com>
6389
6390 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6391 (GRUB_MOD_INIT): Register sha1sum command.
6392 (GRUB_MOD_FINI): Unregister sha1sum command.
6393
a4c1d277
YB
63942010-09-21 Yves Blusseau <blusseau@zetam.org>
6395
6396 Keep boot and grub directory names in sync with utils scripts
6397
6398 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6399 * config.h.in: Add previous macros.
6400 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6401 * util/grub-install.in: Use $bootdir and $grubdir variables.
6402
4eff79d2
CW
64032010-09-21 Colin Watson <cjwatson@ubuntu.com>
6404
6405 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6406 convert partition names to disk names if the new `convert' parameter
6407 is set.
6408 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6409 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6410 disk in its own right. This can happen with Xen disk images.
6411
934d7e44
YB
64122010-09-21 Yves Blusseau <blusseau@zetam.org>
6413
6414 * util/grub-editenv.c: Update strings to avoid warnings when generating
6415 grub.pot file.
6416 * util/grub-setup.c: Likewise.
934d7e44 6417
df3367cc
VS
64182010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 * configure.ac: Change version to 1.99~beta0.
6421
77a94e98
VS
64222010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6425 Add BADRAM.
6426 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6427 Likewise.
6428 * include/multiboot.h: Resynced with specification.
6429 * include/multiboot2.h: Likewise.
6430
269004c1
CW
64312010-09-21 Colin Watson <cjwatson@ubuntu.com>
6432
6433 Fix po directory handling.
6434
6435 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6436 * grub-core/gnulib/Makefile.am: Import gettext module.
6437 * m4/gnulib-cache.m4: Likewise.
6438 * m4/gnulib-comp.m4: Likewise.
6439 * m4/gettext.m4: New file, from gnulib.
6440 * m4/glibc2.m4: Likewise.
6441 * m4/iconv.m4: Likewise.
6442 * m4/intdiv0.m4: Likewise.
6443 * m4/intl.m4: Likewise.
6444 * m4/intldir.m4: Likewise.
6445 * m4/intlmacosx.m4: Likewise.
6446 * m4/intmax.m4: Likewise.
6447 * m4/inttypes-pri.m4: Likewise.
6448 * m4/lcmessage.m4: Likewise.
6449 * m4/lib-ld.m4: Likewise.
6450 * m4/lib-link.m4: Likewise.
6451 * m4/lib-prefix.m4: Likewise.
6452 * m4/lock.m4: Likewise.
6453 * m4/nls.m4: Likewise.
6454 * m4/po.m4: Likewise.
6455 * m4/printf-posix.m4: Likewise.
6456 * m4/progtest.m4: Likewise.
6457 * m4/threadlib.m4: Likewise.
6458 * m4/uintmax_t.m4: Likewise.
6459 * m4/visibility.m4: Likewise.
6460 * po/Makefile.am: Remove.
6461 * po/Makefile.in.in: New file, from gettext.
6462 ($(DOMAIN).pot-update): Support POTFILES-shell.
6463 * po/Makevars: New file.
6464 * po/POTFILES-shell: Rename to ...
6465 * po/POTFILES-shell.in: ... this. Update.
6466 * po/POTFILES: Rename to ...
6467 * po/POTFILES.in: ... this. Update.
6468 * po/Rules-quot: New file, from gettext.
6469 * po/boldquot.sed: Likewise.
6470 * po/en@boldquot.header: Likewise.
6471 * po/en@quot.header: Likewise.
6472 * po/insert-header.sin: Likewise.
6473 * po/quot.sed: Likewise.
6474 * po/remove-potcdate.sin: Likewise.
6475
3e0fa5d0
VS
64762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6479
ade9bd66
VS
64802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * util/grub.d/20_linux_xen.in: Use submenus.
6483
fc55cc4c
VS
64842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 Support submenus.
6487
6488 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6489 parameter submenu. All users updated.
6490 * grub-core/normal/main.c (free_menu): Rename to ...
6491 (grub_normal_free_menu): ... this. Made global.
6492 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6493 if requested.
6494 * grub-core/normal/menu_entry.c (screen): New field submenu.
6495 (make_screen): Set submenu.
6496 (run): Open new context if requested.
6497 * include/grub/menu.h (grub_menu_entry): New field submenu.
6498 * include/grub/normal.h (grub_normal_free_menu): New proto.
6499
600cedf7
VS
65002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Menu entries extractor.
6503
6504 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6505 variants.
6506 (GRUB_MOD_INIT): Register new variants.
6507 (GRUB_MOD_FINI): Unregister new variants.
6508 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6509 into grub_cmd_legacy_source.
6510 (grub_cmd_legacy_source): Implement extractor variants.
6511 (GRUB_MOD_INIT): Register new variants.
6512 (GRUB_MOD_FINI): Unregister new variants.
6513 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6514 as an extractor.
6515 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6516 search as an extractor.
6517 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6518 test as an extractor.
6519 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6520 as an extractor.
6521 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6522 (grub_env_new_context): New function.
6523 (grub_env_context_open): Likewise.
6524 (grub_env_extractor_open): Likewise.
6525 (grub_env_extractor_close): Likewise.
6526 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6527 grub_extractor_level.
6528 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6529 * include/grub/env.h (grub_env_extractor_open): New proto.
6530 (grub_env_extractor_close): Likewise.
6531 * include/grub/normal.h (grub_extractor_level): New external variable.
6532
7bda3a87
VS
65332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Make cutmem accept a region specification.
6536 Suggested by: Samuel Thibault
6537
6538 * grub-core/mmap/mmap.c (parsemem): New function.
6539 (grub_cmd_cutmem): Handle new arguments.
6540
2ea57f88
VS
65412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 New command cutmem.
6544
6545 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6546 (GRUB_MOD_INIT): Register new command.
6547 (GRUB_MOD_FINI): Unregister new command.
6548
74342e31
VS
65492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Support some annoying BSD and Minix subpartitions.
6552
6553 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6554 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6555 Properly handle concatenation.
6556 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6557 * grub-core/normal/completion.c (iterate_partition): Likewise.
6558 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6559 contain partition. All users updated.
6560 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6561 struct.
6562 (grub_openbsdlabel_partition_map): Likewise.
6563 (bsdlabel_partition_map_iterate): Rename to ..
6564 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6565 (bsdlabel_partition_map_iterate): New function.
6566 (netopenbsdlabel_partition_map_iterate): Likewise.
6567 (netbsdlabel_partition_map_iterate): Likewise.
6568 (openbsdlabel_partition_map_iterate): Likewise.
6569 (GRUB_MOD_INIT): Register new partmaps.
6570 (GRUB_MOD_FINI): Unregister new partmaps.
6571 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6572 (grub_partition_msdos_iterate): ... this. All users updated.
6573 Don't support embedding other than in a minix partition.
6574 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6575 proto.
6576 * include/grub/partition.h (grub_partition): New field msdostype.
6577 * util/grub-install.in: Handle openbsd and netbsd types being in
6578 part_bsd module.
6579
1e8d555b
VS
65802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6583
6584 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6585 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6586 (mdraid09): ... this.
6587 (mdraid1x): New module.
6588 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6589 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6590
899d8af4
VS
65912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6594 vsprintf.
6595
40901acd
CW
65962010-09-20 Colin Watson <cjwatson@ubuntu.com>
6597
6598 * grub-core/commands/efi/lsefimmap.c: Correct header.
6599 * NEWS: Update.
6600
dfe3b247
CW
66012010-09-20 Colin Watson <cjwatson@ubuntu.com>
6602
6603 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6604 as printf format strings; the translations might contain '%' which
6605 could cause a crash.
6606 (main): Likewise.
6607 * util/grub-fstest.c (argp_parser): Likewise.
6608 * util/grub-setup.c (argp_parser): Likewise.
6609 (main): Likewise.
6610
3286a4b4
VS
66112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 Use argp in grub-fstest.
6614
6615 * util/grub-fstest.c: Don't include getopt.h.
6616 Include argp.h.
6617 (root): New variable.
6618 (args_count): Likewise.
6619 (nparm): Likewise.
6620 (num_disks): Likewise.
6621 (images): Likewise.
6622 (cmd): Likewise.
6623 (debug_str): Likewise.
6624 (args): Likewise.
6625 (options): Transformed to argp.
6626 (usage): Removed.
6627 (main): Split argument parsing into ...
6628 (argp_parser): ... this. Changed to argp format.
6629 (argp): New variable.
6630 (main): Use argp_parse.
6631
3dccbe4b
TG
66322010-09-20 Tristan Gingold <gingold@free.fr>
66332010-09-20 Robert Millan <rmh.grub@aybabtu.com>
66342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/commands/efi/lsefimmap.c: New file.
6637 * grub-core/Makefile.core.def (lsefimmap): New module.
6638 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6639
38c259a7
VS
66402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6641
6642 Pause the execution (10s max) if any errors are displayed so the user
6643 has a chance to see them.
6644
6645 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6646 (grub_print_error): Increment grub_err_printed_errors.
6647 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6648 execution if any errors were displayed.
6649 (show_menu): Remove old code for pause.
6650 * grub-core/normal/menu_entry.c (run): Likewise.
6651 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6652 users updated.
6653 (grub_normal_get_char_counter): Likewise.
6654 * include/grub/err.h (grub_err_printed_errors): New external variable.
6655 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6656
f218b09c
VS
66572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 Support multiboot VBE info.
6660
6661 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6662 Take VBE info into account.
6663 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6664 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6665 Call fill_vbe_info when appropriate.
6666 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6667 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6668 as supported.
6669 (grub_multiboot_get_mbi_size): Take new tags into account.
6670 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6671 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6672 Call fill_vbe_tag when appropriate.
6673 (grub_multiboot_make_mbi): Properly align tags.
6674 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6675 function.
6676 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6677 proto.
6678 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6679
a9cc5438
VS
66802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 Suport manual terminal geometry specification.
6683
6684 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6685 Save state in grub_ofconsole_terminfo_output.
6686 (grub_ofconsole_term): Use grub_terminfo_getwh.
6687 (grub_ofconsole_getwh): Removed.
6688 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6689 (grub_serial_term): Use grub_terminfo_getwh.
6690 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6691 (options): New struct.
6692 (OPTION_*): New enum.
6693 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6694 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6695 width and height.
6696 (grub_terminfo_getwh): New proto.
6697 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6698
1a8fed20
VS
66992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 Handle legacy "terminal" command.
6702
6703 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6704 and FLAG_TERMINAL.
6705 (legacy_commands): Add terminal and title.
6706 (grub_legacy_parse): Handle terminal. Simplify title handling.
6707
41e9c57d
VS
67082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
6711 parameters overflow.
6712
61c874c5
CW
67132010-09-20 Colin Watson <cjwatson@ubuntu.com>
6714
6715 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
6716 widthspec.h.
6717
6718 * docs/grub.texi (Shell-like scripting): Document `!'.
6719 (Network): Simplify using new i386-pc-pxe format. Mention
6720 grub-mknetdir.
6721
6722 * NEWS: Update.
6723
943682b4
CW
67242010-09-20 Colin Watson <cjwatson@ubuntu.com>
6725
6726 * Makefile.am (SUBDIRS): Restore "."; it's important to force
6727 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
6728 when needed.
6729
6d3d698d
CW
67302010-09-20 Colin Watson <cjwatson@ubuntu.com>
6731
6732 * grub-core/commands/efi/lsefisystab.c: Correct header.
6733 * grub-core/commands/efi/lssal.c: Likewise.
6734 * grub-core/commands/testload.c: Likewise.
6735
c982589f
CW
67362010-09-20 Colin Watson <cjwatson@ubuntu.com>
6737
6738 * util/grub-mkrescue.in: Add explicit root argument to --set to
6739 prevent the UUID being interpreted as an argument to --set (matches
6740 previous change to prepare_grub_to_access_device).
6741
a63c31b6
CW
67422010-09-20 Colin Watson <cjwatson@ubuntu.com>
6743
6744 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
6745 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
6746 the verbosity of later #ifs.
6747 (find_partition_start): Define this function on FreeBSD too.
6748 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
6749 function.
6750 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
6751 on FreeBSD.
6752
6439b8ee
YB
67532010-09-20 Yves Blusseau <blusseau@zetam.org>
6754
6755 * util/grub-editenv.c: Use argp instead of getopt.
6756
c5930ec8
YB
67572010-09-20 Yves Blusseau <blusseau@zetam.org>
6758
6759 * util/grub-setup.c: Use argp instead of getopt.
6760
15c69261
YB
67612010-09-20 Yves Blusseau <blusseau@zetam.org>
6762
6763 Use gnulib-tool to create gnulib source files.
6764
6765 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
6766 grub-core/gnulib directories
6767 * .bzignore: Add **/.deps and autogenerated gnulib files
6768 * configure.ac: Assign auxiliary directory to build-aux, add invocation
6769 of gnulib macros, add grub-core/gnulib/Makefile
6770 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
6771 include m4 directory to aclocal.
6772 * Makefile.util.def: Remove direct compilation of gnulib source files
6773 and use the new grub-core/gnulib/libgnu.a.
6774 * build-aux/config.rpath: move config.rpath from top directory to
6775 build-aux
6776 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
6777 in gnulib headers
6778 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
6779 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
6780 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
6781 header.
6782 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
6783 string.
6784
e511c9f5
YB
67852010-09-20 Yves Blusseau <blusseau@zetam.org>
6786
6787 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
6788 grub-core/genmod.sh and grub-core/gensyminfo.sh
6789
c2dede05
BC
67902010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
6791
6792 Add a test for echo command options.
6793
6794 * tests/grub_cmd_echo.in: New test.
6795 * Makefile.util.def: Rules for new test.
6796
c55f5018
SJ
67972010-09-20 Szymon Janc <szymon@janc.net.pl>
6798
6799 Remove crc.mod and move crc command to hashsum.mod.
6800 Remove lib/crc.c - users updated to use gcrypt implementation.
6801
6802 * grub-core/commands/crc.c: Removed.
6803 * grub-core/Makefile.core.def (crc): Module removed.
6804 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
6805 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
6806 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
6807 * grub-core/lib/crc.c: Removed.
6808 * include/grub/lib/crc.h: Removed.
6809 * Makefile.util.def (crc): Remove lib/crc.c
6810 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
6811 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
6812 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
6813 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
6814 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
6815 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
6816
e0337366
VS
68172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
6820
742f9232
VS
68212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Split config.h for util and core.
6824
6825 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
6826 (ADDR32): Likewise.
6827 (DATA32): Likewise.
6828 (BSS_START_SYMBOL): Likewise.
6829 (END_SYMBOL): Likewise.
6830 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
6831 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
6832 * config.h.in: New file.
6833 * configure.ac: Use config-util.h as config define file.
6834 Rename MACHINE into GRUB_MACHINE. All users updated.
6835 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
6836 updated.
6837 (NESTED_FUNC_ATTR): Likewise.
6838 Substitue new variables.
6839 (COND_HAVE_ASM_USCORE): New conditional.
6840 * grub-core/Makefile.am (ASM_PREFIX): New variable.
6841 (kernel_syms.lst): Use ASM_PREFIX.
6842 * grub-core/kern/emu/console.c: Include config-util.h.
6843 * grub-core/kern/emu/misc.c: Likewise.
6844 * grub-core/kern/emu/mm.c: Likewise.
6845 * include/grub/emu/misc.h: Likewise.
6846 * include/grub/libgcc.h: Likewise.
6847
39feb0e8
VS
68482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
6851 constants usage.
6852 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
6853 Fix GRUB_TERM_KEY_* constants usage.
6854 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
6855
9af6dac3
VS
68562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
6859 print pointer.
6860 * grub-core/bus/usb/uhci.c: Remove empty define.
6861 (grub_uhci_check_transfer): Add missing cast.
6862 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
6863 print pointer.
6864 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
6865 PRIuGRUB_SIZE.
6866 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
6867
d6d94820
VS
68682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * grub-core/Makefile.core.def (legacycfg): Add
6871 lib/i386/pc/vesa_modes_table.c on emu.
6872
3572f2b6
BC
68732010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6874
6875 Reduce number of temporary files generated by build system.
6876
6877 * grub-core/gencmdlist.sh: Removed.
6878 * grub-core/genfslist.sh: Removed.
6879 * grub-core/genhandlerlist.sh: Removed.
6880 * grub-core/genmodsrc.sh: Removed.
6881 * grub-core/genpartmaplist.sh: Removed.
6882 * grub-core/genparttoollist.sh: Removed.
6883 * grub-core/gentermiinallist.sh: Removed.
6884 * grub-core/genvideolist.sh: Removed.
6885
6886 * grub-core/genmod.sh.in: New file.
6887 * grub-core/gensyminfo.sh.in: New file.
6888
6889 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
6890 * conf/Makefile.extra-dist: Update with new files.
6891 * gentpl.py: Remove rules related to unnecessary temporary files.
6892 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
6893 and und-* files.
6894 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
6895 genmod.sh scripts.
6896 * grub-core/bus/usb/uhci.c: Remove empty #define.
6897 * grub-core/genmoddep.awk: Updated with new syminfo format.
6898 * util/bash-completion.d/Makefile.am: Add config.log to
6899 CLEANFILES.
6900
c836b030
YB
69012010-09-19 Yves Blusseau <blusseau@zetam.org>
6902
6903 * Makefile.util.def: Add forgotten $(LIBINTL) library.
6904
2f4e8053
BC
69052010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6906
6907 * util/grub-mkconfig.in: Check the config script for syntax errors
6908 before saving.
6909
75831c34
CW
69102010-09-19 Colin Watson <cjwatson@ubuntu.com>
69112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6912
6913 * Makefile.util.def (grub-install): Use util/grub-install.in on all
6914 platforms.
6915 * util/grub-install.in: Add EFI and IEEE1275 support.
6916 * util/i386/efi/grub-install.in: Removed.
6917 * util/ieee1275/grub-install.in: Likewise.
6918
eaf41b25
VS
69192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
6922 (grub_cmd_cmosclean): Likewise.
6923 (GRUB_MOD_INIT): Register command cmosclean.
6924 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
6925 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
6926
1a9130dd
CPE
69272010-09-18 Carles Pina i Estany <carles@pina.cat>
69282010-09-18 Aleš Nesrsta <starous@volny.cz>
69292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 Add keyboard layouts support.
6932
6933 * Makefile.util.def (grub-mklayout): New file.
6934 (grub-kbdcomp): New script.
6935 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
6936 Add keyboard_layouts.h.
6937 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
6938 commands/boot.c on yeeloong.
6939 (keylayouts): New module.
6940 * grub-core/bus/usb/ohci.c
6941 * grub-core/bus/usb/uhci.c
6942 * grub-core/bus/usb/usbhub.c (rescan): New variable.
6943 (grub_usb_add_hub): Poll interrupt pipe for device handling.
6944 (attach_root_port): Likewise.
6945 (poll_nonroot_hub): Likewise.
6946 (grub_usb_poll_devices): Likewise.
6947 (detach_device): Close transfer.
6948 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
6949 function.
6950 (grub_usb_bulk_setup_readwrite): Likewise.
6951 (grub_usb_bulk_finish_readwrite): Likewise.
6952 * grub-core/commands/keylayouts.c: New file.
6953 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6954 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6955 aliases.
6956 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6957 support scancode 2.
6958 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6959 * include/grub/keyboard_layouts.h: New file.
6960 * util/grub-mklayout.c: New file.
6961 * util/grub-kbdcomp.in: Likewise.
6962
a1d84a5e
VS
69632010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 Unify memory types.
6966
6967 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6968 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6969 types.
6970 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6971 (grub_upper_mem): Likewise.
6972 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6973 * include/grub/memory.h (grub_memory_type_t): New enum.
6974 All users updated.
6975
9696382e
VS
69762010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/Makefile.core.def (lsapm): New module.
6979 * grub-core/commands/i386/pc/lsapm.c: New file.
6980 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6981 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6982 Likewise.
6983 * include/grub/i386/pc/apm.h: New file.
6984 * include/multiboot.h (multiboot_apm_info): New struct.
6985
69862010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 GRUB-legacy configuration file support.
6989
6990 * Makefile.util.def (grub-menulst2cfg): New util.
6991 * docs/man/grub-menulst2cfg.h2m: New file.
6992 * grub-core/Makefile.core.def (legacycfg): New module.
6993 * grub-core/commands/legacycfg.c: New file.
6994 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6995 (grub_normal_add_menu_entry): ... this.
6996 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6997 (grub_normal_set_password): ...this.
6998 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6999 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7000 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7001 * grub-core/lib/legacy_parse.c: New file.
7002 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7003 * include/grub/i386/pc/vesa_modes_table.h: New file.
7004 * include/grub/legacy_parse.h: Likewise.
7005 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7006 * util/grub-menulst2cfg.c: New file.
7007
bf8d1338
CW
70082010-09-17 Colin Watson <cjwatson@ubuntu.com>
7009
7010 * grub-core/kern/emu/hostdisk.c
7011 (convert_system_partition_to_system_disk): Initialise node.
7012
9c0bad2e
CW
70132010-09-17 Colin Watson <cjwatson@ubuntu.com>
7014
7015 * grub-core/kern/emu/hostdisk.c
7016 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7017 leak.
7018 Reported and based on patch by: Modestas Vainius.
7019
a939d135
CW
70202010-09-17 Colin Watson <cjwatson@ubuntu.com>
7021
7022 Fix DM-RAID probing with recent versions of device-mapper udev
7023 rules.
7024
7025 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7026 canonicalise device paths under /dev/mapper/.
7027 (convert_system_partition_to_system_disk): Compare the
7028 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7029 path, since device nodes under /dev/mapper/ are often symlinks.
7030
0f7ee3c9
YB
70312010-09-17 Yves Blusseau <blusseau@zetam.org>
7032
7033 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7034
10854d0d
YB
70352010-09-16 Yves Blusseau <blusseau@zetam.org>
7036
7037 * configure.ac: Avoid some annoying error messages if freetype-config
7038 program is not found.
7039
108538d8
CW
70402010-09-16 Colin Watson <cjwatson@ubuntu.com>
7041
7042 Support RAID on virtio devices, and others.
7043
7044 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7045 Rename to ...
7046 [__MINGW32__] (grub_find_device): ... this.
7047 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7048 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7049 reasonable default if dir is NULL.
7050 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7051 ...
7052 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7053 (grub_guess_root_device): Update callers.
7054 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7055
7056 * util/raid.c (grub_util_getdiskname): Remove.
7057 (grub_util_raid_getmembers): Use grub_find_device rather than
7058 grub_util_getdiskname.
7059
e5bfc130
CW
70602010-09-16 Colin Watson <cjwatson@ubuntu.com>
7061
7062 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7063 needing to be compiled with serial support.
7064 (ls): Indicate that multiple files are accepted.
7065 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7066 indicate that multiple files are accepted.
7067
be458ae2
CW
70682010-09-16 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7071 libgrub_a_init.c, and util/bash-completion.d/grub.
7072
cb731b5e
VS
70732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * util/grub-setup.c (setup): Fix incorrect container semantics.
7076
35139e8a
VS
70772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7080 misusage.
7081 Reported by: J. Nick Terry
7082
e50fca4a
VS
70832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 Move embedding routines to partmap sources files.
7086
7087 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7088 [GRUB_UTIL]: New variable.
7089 (gpt_partition_map_iterate): Set part.parent.
7090 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7091 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7092 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7093 New function.
7094 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7095 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7096 (grub_partition_map) [GRUB_UTIL]: New field embed.
7097 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7098 (setup): Use ->embed.
7099
f00478b7
VS
71002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7103 function.
7104 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7105 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7106
2b94e3ff
YB
71072010-09-15 Yves Blusseau <blusseau@zetam.org>
7108
7109 Add function to get completions from usage.
7110
7111 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7112 completions from usage. Use LC_ALL=C to get options properly.
7113
2e04a006
VS
71142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7115
7116 * grub-core/gnulib/basename-lgpl.c: Imported.
7117 * grub-core/gnulib/basename.c: Likewise.
7118 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7119 * grub-core/gnulib/dirname.c: Likewise.
7120 * grub-core/gnulib/dirname.h: Likewise.
7121 * grub-core/gnulib/stripslash.c: Likewise.
7122
5dcdf93a
VS
71232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/gnulib/error.c: Resynced.
7126 * grub-core/gnulib/getopt.c: Likewise.
7127 * grub-core/gnulib/getopt_int.h: Likewise.
7128 * grub-core/gnulib/regex.h: Likewise.
7129 * grub-core/gnulib/regex_internal.c: Likewise.
7130 * grub-core/gnulib/regex_internal.h: Likewise.
7131
014f47b7
SJ
71322010-09-15 Szymon Janc <szymon@janc.net.pl>
7133
7134 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7135 CRC calculations and validity checks.
7136 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7137 calculations.
7138
dd521a4a
SJ
71392010-09-15 Szymon Janc <szymon@janc.net.pl>
7140
7141 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7142
79c4eeb9
VS
71432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 Fix incorrect echo options handling.
7146 Reported by: Yves Blusseau.
7147
7148 * include/grub/command.h (grub_command_flags_t): New flags
7149 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7150 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7151 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7152
ed80f7d5
VS
71532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7156 users updated.
7157 (GRUB_COMMAND_FLAG_MENU): Likewise.
7158 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7159 (GRUB_COMMAND_FLAG_TITLE): Removed.
7160 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7161 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7162 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7163 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7164 (grub_command_flags_t): New enum. All users updated.
7165
5fe7620a
SG
71662010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7167
7168 Fix solaris compilation.
7169
7170 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7171 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7172 (grub-emu-list): Likewise.
7173
545b752f
VS
71742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 Remove deprecated root command.
7177
7178 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7179 updated.
7180
6c1a338c
VS
71812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * util/i386/pc/grub-setup.c: Merge this ...
7184 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7185 * util/grub-setup.c: ... into this.
7186 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7187 New struct.
7188
71892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7192 possible.
7193
d2ea4551
VS
71942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7197 allocate p.
7198
3c3b5040
VS
71992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7202 explicit root argument to set to prevent UUID to be interpreted as
7203 argument to set.
7204
b71c3fae
VS
72052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7208
275433e6
VS
72092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 Don't export grub_gate_a20.
7212
7213 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7214 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7215 to ...
7216 (grub_gate_a20): ... this. All users updated.
7217 * include/grub/i386/pc/init.h: Removed. All users updated.
7218
a5dbb1f1
VS
72192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 Create euro.pf2 which supports most European languages.
7222
7223 * Makefile.am (grubdata_DATA): Add euro.pf2.
7224 (euro.pf2): New target.
7225 (CLEANFILES): Add euro.pf2.
7226
62a747cb
VS
72272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 * configure.ac: Disable emu-usb by default to prevent inadvertent
7230 device takeover.
7231
608e43b1
VS
72322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7233
7234 Disable usbserial on grub-emu since our libusb code isn't good enough
7235 yet.
7236
7237 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7238 (usbserial_pl2303): Likewise.
7239 (usbserial_ftdi): Likewise.
7240
94564f81
VS
72412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * include/grub/disk.h (grub_disk): Remove has_partitions.
7244 All users updated.
7245 * disk/loopback.c (grub_loopback): Remove has_partitions.
7246 All users updated.
7247 (options): Remove partitions. All users updated.
7248 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7249 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7250 actual partition table is found.
7251
3352800b
VS
72522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7253
7254 Remove readability checks (too many false negatives).
7255
7256 * util/grub-install.in: Remove readability checks.
7257 * util/grub-mkconfig.in: Likewise.
7258 * util/grub.d/10_hurd.in: Likewise.
7259 * util/grub.d/10_kfreebsd.in: Likewise.
7260 * util/grub.d/10_linux.in: Likewise.
7261 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7262 way.
7263
2419f17a
VS
72642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Enable acpi shutdown on all ACPI platforms.
7267
7268 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7269 on coreboo, multiboot and EFI.
7270 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7271 (grub_acpi_halt): Likewise.
7272 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7273 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7274 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7275 * grub-core/lib/i386/halt.c (grub_halt)
7276 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7277
0575c7c3
VS
72782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7281 context.
7282
54ac3cd1
VS
72832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7286 * grub-core/video/efi_uga.c: Likewise.
7287
b2a30ac5
VS
72882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7289
7290 Filter devaliases and never open same device twice.
7291
7292 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7293 (last_ihandle): Likewise.
7294 (ofdisk_hash_ent): New member shortest.
7295 (ofdisk_hash_add): Add canonical path too.
7296 (scan): New function.
7297 (grub_ofdisk_iterate): Iterate over hashed entries.
7298 (compute_dev_path): Don't add :0.
7299 (grub_ofdisk_open): Don't really open the disk.
7300 (grub_ofdisk_close): Avoid closing unrelated disk.
7301 (grub_ofdisk_read): Implement reopen logic.
7302 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7303 New function.
7304 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7305 New proto.
7306
fb53b340
VS
73072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7308
7309 Fix sparc64.
7310
7311 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7312 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7313 right address. Add sparc64_ieee1275_ldflags.
7314 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7315 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7316 to grub_host_to_target_addr
7317 (load_image): Likewise.
7318
f452b040
VS
73192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 * grub-core/normal/completion.c (complete_file): Handle device
7322 containing slash.
7323 Fix based on patch by Doug Nazar.
7324
9b5b2541
VS
73252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7326
7327 grub-mknetdir script.
7328
7329 * Makefile.util.def (grub-mknetdir): New module.
7330 * tests/util/grub-shell.in: Support boot=net
7331 * util/grub-mknetdir.in: New file.
7332
9d2be652
VS
73332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 videoinfo on non-vbe.
7336
7337 * grub-core/Makefile.core.def (vbeinfo): Removed.
7338 (vbetest): Removed.
7339 (videoinfo): New module.
7340 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7341 * grub-core/commands/i386/pc/vbetest.c: Removed.
7342 * grub-core/commands/videoinfo.c: New file.
7343 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7344 specification.
7345 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7346 as vbetest.
7347 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7348 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7349 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7350 mode_number. New parameter mode. All users updated.
7351 (grub_video_gop_iterate): New function.
7352 (grub_video_efi_gop): New member iterate.
7353 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7354 (grub_vbe_set_video_mode): Remove setting useless fields.
7355 (vbe2videoinfo): New function.
7356 (grub_video_vbe_iterate): Likewise.
7357 (grub_video_vbe_setup): Use vbe2videoinfo.
7358 (grub_video_vbe_print_adapter_specific_info): New function.
7359 (grub_video_vbe_adapter): New fields iterate and
7360 print_adapter_specific_info.
7361 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7362 All users updated.
7363 (grub_video_mode_info): New field mode_number.
7364 (grub_video_adapter): New fields iterate and
7365 print_adapter_specific_info.
7366
179503f5
TG
73672010-09-13 Tristan Gingold <gingold@free.fr>
73682010-09-13 Robert Millan <rmh.grub@aybabtu.com>
73692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/commands/efi/lsefisystab.c: New file.
7372 * grub-core/commands/efi/lssal.c: Likewise.
7373 * grub-core/Makefile.core.def (lsacpi): New module.
7374 (lsefisystab): Likewise.
7375 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7376 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7377 (grub_efi_sal_system_table): New struct.
7378 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7379 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7380 (grub_efi_sal_system_table_platform_features): Likewise.
7381 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7382 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7383 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7384 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7385
cf9827de
VS
73862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7387
7388 Support explicit user claim that a device is BIOS-visible.
7389
7390 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7391 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7392 * grub-core/kern/emu/hostdisk.c
7393 (convert_system_partition_to_system_disk): Support mdX.
7394 (find_system_device): New parameter add. All users updated.
7395 (grub_util_biosdisk_is_present): New function.
7396 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7397 proto.
7398
53f0eb1f
VS
73992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 Search hints support.
7402
7403 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7404 All users updated.
7405
b23ffd70
YB
74062010-09-13 Yves Blusseau <blusseau@zetam.org>
7407
7408 Bash completion script for util commands
7409
7410 * Makefile.am: Add util/bash-completion.d directory
7411 * configure.ac: Likewise.
7412 * util/bash-completion.d/Makefile.am: New file.
7413 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7414
d547dc28
VS
74152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7416
7417 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7418 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7419 Reported by: Yves Blusseau.
7420
2fc8ccb9
VS
74212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7424 partition size and offset.
7425
d8a84076
VS
74262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7429
84fb3b3d
VS
74302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7433
768ec2e2
VS
74342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7437 (grub_xvasprintf): Likewise.
7438
4870900f
VS
74392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7442
faca6bec
VS
74432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7446 args ending with NULL.
7447
74482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7449
7450 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7451 pointer.
7452
3c70f225
SJ
74532010-09-11 Szymon Janc <szymon@janc.net.pl>
7454
7455 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7456
4df7996d
VS
74572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Shutdown using ACPI.
7460
7461 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7462 * grub-core/commands/acpihalt.c: New file.
7463 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7464 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7465 (grub_acpi_halt): New proto.
7466 (GRUB_ACPI_SLP_EN): New const.
7467 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7468 (GRUB_ACPI_OPCODE_*): New enum.
7469 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7470
126b4c32
TG
74712010-09-11 Tristan Gingold <gingold@free.fr>
74722010-09-11 Robert Millan <rmh.grub@aybabtu.com>
74732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7474
7475 * commands/lsacpi.c: New file.
7476 * grub-core/Makefile.core.def (lsacpi): New module.
7477 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7478 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7479 (grub_acpi_madt_entry_header): New struct.
7480 (grub_acpi_madt): Likewise.
7481 (grub_acpi_madt_entry_interrupt_override): Likewise.
7482 (grub_acpi_madt_entry_sapic): Likewise.
7483 (grub_acpi_madt_entry_lsapic): Likewise.
7484 (grub_acpi_madt_entry_platform_int_source): Likewise.
7485 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7486 (PRIuGRUB_UINT32_T): Likewise.
7487 (PRIxGRUB_UINT64_T): Likewise.
7488
1aa4fe88
VS
74892010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 Implement loading palette on ieee1275_fb.
7492
7493 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7494 (have_setcolors): Likewise.
7495 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7496 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7497 (grub_video_ieee1275_set_palette): Implement.
7498
25761e13
VS
74992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
75002010-09-11 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * util/grub-install.in (grub_partition): New variable.
7503 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7504 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7505 Fixes a bug reported by Yves Blusseau.
7506
050abaea
VS
75072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 Fix emu on mipsel.
7510
7511 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7512 =grub_cpu_flush_cache on all mips and not only yeeloong.
7513 * configure.ac (COND_mips): New conditional.
7514 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7515 platforms.
7516 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7517 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7518 [GRUB_LINKER_HAVE_INIT]: New function.
7519 (grub_emu_post_init): Likewise.
7520 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7521 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7522 * include/grub/cache.h (_mips): Include mips/cache.h.
7523 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7524 LVM and RAID prototypes.
7525 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7526 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7527 function.
7528
5ed7d816
CW
75292010-09-10 Colin Watson <cjwatson@ubuntu.com>
7530
7531 * util/grub-install.in: Don't try to verify core.img until after
7532 running grub-mkimage to create it.
7533
90367e04
RM
75342010-09-10 Robert Millan <rmh@gnu.org>
7535
7536 * util/grub.d/10_hurd.in: Add misc readability checks.
7537 * util/grub.d/10_kfreebsd.in: Likewise.
7538 * util/grub.d/10_linux.in: Likewise.
7539
c452fa66
CW
75402010-09-10 Colin Watson <cjwatson@ubuntu.com>
7541
7542 * util/grub-install.in: ${imgext} won't be defined here until the
7543 install branch is merged. For the meantime, only verify core.img on
7544 i386-pc and sparc64-ieee1275 platforms.
7545
c38fe9f4
RM
75462010-09-10 Robert Millan <rmh@gnu.org>
7547
7548 Solaris support in grub_find_zpool_from_dir(). Thanks
7549 Seth Goldberg for referring to getextmntent() facility.
7550
7551 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7552 `sys/mkdev.h'.
7553 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7554 `<sys/mnttab.h>'.
7555 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7556 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7557 method for finding zpool name.
7558
905f7773
CW
75592010-09-10 Colin Watson <cjwatson@ubuntu.com>
7560
7561 grub-fstest needs the host and hostfs modules while other utilities
7562 actively require those modules to be absent, so grub-fstest needs
7563 its own initialisation and finalisation code.
7564
7565 * Makefile.am (grub_fstest.pp): New target.
7566 (grub_fstest_init.lst): Likewise.
7567 (grub_fstest_init.c): Likewise.
7568 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7569
fb90b546
RM
75702010-09-10 Robert Millan <rmh@gnu.org>
7571
7572 * configure.ac: Check for `struct statfs.f_fstypename' and
7573 `struct statfs.f_mntfromname'.
7574
7575 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7576 kFreeBSD-specific code.
7577
66d4bea5
RM
75782010-09-10 Robert Millan <rmh@gnu.org>
7579
7580 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7581 on ZFS. Now non-main filesystems are supported as / too.
7582
b6a690ee
CW
75832010-09-09 Colin Watson <cjwatson@ubuntu.com>
7584
7585 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7586 and grub-core/disk/host.c to ...
7587 (grub-fstest): ... here. Having the host disk implementation
7588 present confuses grub-probe and other utility programs.
7589
7590 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7591 when writing to a file, not when writing to stdout.
7592
8901b00c 75932010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7594
7595 * tests/partmap_test.in: New test for partitions.
7596 * Makefile.util.def: Rules for new test.
7597
7bf45fdd
RM
75982010-09-09 Robert Millan <rmh@gnu.org>
7599
7600 * util/grub-probe.c (probe): Fix a pair of unhandled error
7601 conditions.
7602
4dfbc574
RM
76032010-09-09 Robert Millan <rmh@gnu.org>
7604
7605 Basic Btrfs support (detection and UUID).
7606
7607 * grub-core/fs/btrfs.c: New file.
7608 * Makefile.util.def (library): Register btrfs.c.
7609 * grub-core/Makefile.core.def: Likewise.
7610
6b8e78ae
RM
76112010-09-08 Robert Millan <rmh@gnu.org>
7612
7613 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7614 with (optional) parameters to specify device and relative path.
7615 * util/grub-install.in: Use is_path_readable_by_grub() to
7616 verify readability of a few critical files.
7617 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7618 verify readability of grub.cfg.new.
7619
27f21a8b
VS
76202010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 Split minix.mod into minix.mod and minix2.mod.
7623
7624 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7625 * grub-core/Makefile.core.def (minix2): New module.
7626 * grub-core/fs/minix.c: Use definitions instead of runtime version
7627 checking.
7628 * grub-core/fs/minix2.c: New file.
7629
c0e53ea5
YB
76302010-09-08 Yves Blusseau <blusseau@zetam.org>
7631
7632 Add new --boot-directory option to replace --root-directory
7633
7634 * util/grub-install.in: Add new --boot-directory option
7635 * util/grub-reboot.in: Likewise.
7636 * util/grub-set-default.in: Likewise.
7637
b9fe6ea2
YB
76382010-09-08 Yves Blusseau <blusseau@zetam.org>
7639
7640 * util/grub-mkconfig.in: Use new variable.
7641
d87aedff
YB
76422010-09-08 Yves Blusseau <blusseau@zetam.org>
7643
7644 * configure.ac: Define some useful variables.
7645
e55e8495
VS
76462010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7649 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7650 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7651 Use terminfo and don't use cursor-on/cursor-off unless it's known
7652 to work.
7653 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7654 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7655
6fa6d675
CW
76562010-09-08 Colin Watson <cjwatson@ubuntu.com>
7657
7658 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7659 starts with "(,", fill the drive containing the loaded image in
7660 between those two characters, but expect that a full partition
7661 specification including partition map names will follow.
7662
92f2aef0
RM
76632010-09-08 Robert Millan <rmh@gnu.org>
7664
7665 * configure.ac: Remove `--enable-grub-fstest' option.
7666 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7667
7668 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7669 `grub-fstest' instead of `grub-probe' for readability verification.
7670 * util/grub-probe.c (probe): Remove readability verification kludge.
7671
99fd620d
RM
76722010-09-08 Robert Millan <rmh@gnu.org>
7673
7674 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7675 initializing `GRUB_FS'.
7676
058e30ac 76772010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7678
7679 Not command (!) support to GRUB script.
7680
7681 * tests/grub_script_not.in: New test.
7682 * Makefile.util.def: Rules for new test.
7683
7684 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7685 ! command as a special case.
7686 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7687
b61d05ed 76882010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7689
058e30ac 7690 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7691 grub_free.
b61d05ed 7692
4d69c786 76932010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7694
7695 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7696
aa3119c4 76972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7698
7699 * docs/grub.texi (Shell-like scripting): Documentation for break,
7700 continue, shift and return commands.
7701
db0f7e3d
VS
77022010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7703
7704 Rename CD-ROM to cd on BIOS.
7705
7706 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
7707 "cd".
7708 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
7709
88b87c93
VS
77102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
7713 * util/grub-probe.c (main): Likewise.
7714 * util/i386/pc/grub-setup.c (main): Likewise.
7715 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7716 Reported and debugged by: alexxy
7717
294f324d
VS
77182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7719
7720 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
7721 diagnostic info.
7722
d7ee3441
JS
77232010-09-05 Jo Shields <directhex@apebox.org>
7724
7725 * util/grub.d/30_os-prober.in: Add missing classes.
7726
d7e06c1f
VS
77272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * docs/grub.texi (Theme file format): Document new position format.
7730
fc157e53
VS
77312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7732
7733 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
7734 a table. Use @code instead of @verbatim.
7735
506e9a1c
CB
77362010-09-05 Colin D Bennett <colin@gibibit.com>
7737
7738 Gfxmenu documentation.
7739
7740 * docs/grub.texi (Theme file format): New chapter.
7741
f0aff67c
SJ
77422010-09-05 Szymon Janc <szymon@janc.net.pl>
7743
7744 * grub-core/Makefile.core.def (xzio): New module.
7745 * grub-core/io/xzio.c: New file.
7746 * grub-core/lib/xzembed/xz.h: New file (from xembed).
7747 * grub-core/lib/xzembed/xz_config.h: Likewise.
7748 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
7749 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
7750 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
7751 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
7752 * grub-core/lib/xzembed/xz_private.h: Likewise.
7753 * grub-core/lib/xzembed/xz_stream.h: Likewise.
7754 * include/grub/file.h (grub_file_filter_id): New compression filter
7755 GRUB_FILE_FILTER_XZIO.
7756
82a85062
VS
77572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
7760 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
7761 size.
7762
3579415d
VS
77632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
7766 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
7767
5124ae6d
VS
77682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 Uncompressed checksum support.
7771
7772 * grub-core/commands/hashsum.c (options): Add option --uncompress.
7773 (check_list): New parameter uncompress.
7774 (grub_cmd_hashsum): Handle --uncompress.
7775
9aadb3d1
VS
77762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 Reintroduce testload.
7779
7780 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
7781 from here ...
7782 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
7783 (GRUB_MOD_INIT): New function.
7784 (GRUB_MOD_FINI): Likewise.
7785 * grub-core/Makefile.core.def (testload): New module.
7786
a17792c3
SJ
77872010-09-05 Szymon Janc <szymon@janc.net.pl>
7788
7789 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
7790 (uint8_t): New type.
7791 (uint16_t): Likewise.
7792 (uint32_t): Likewise.
7793 (uint64_t): Likewise.
7794
b81e40a3
SJ
77952010-09-05 Szymon Janc <szymon@janc.net.pl>
7796
7797 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
7798
fc2ef117
VS
77992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
7802 Made static.
7803 (grub_gzfile_open): Removed. All users updated.
7804 (GRUB_MOD_INIT): New function.
7805 (GRUB_MOD_FINI): Likewise.
7806 * grub-core/kern/file.c (grub_file_filters_all): New variable.
7807 (grub_file_filters_enabled): Likewise.
7808 (grub_file_open): Handle filters.
7809 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
7810 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
7811 * include/grub/file.h (grub_file_filter_id_t): New type.
7812 (grub_file_filter_t): Likewise.
7813 (grub_file_filters_all): New extern variable.
7814 (grub_file_filters_enabled): Likewise.
7815 (grub_file_filter_register): New inline function.
7816 (grub_file_filter_unregister): Likewise.
7817 (grub_file_filter_disable): Likewise.
7818 (grub_file_filter_disable_compression): Likewise.
7819 * include/grub/gzio.h: Removed.
7820
35ee15e0
BC
78212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7822
7823 Filename expansion support for wildcards in GRUB script.
7824
7825 * tests/grub_script_expansion.in: New test.
7826 * Makefile.util.def: Rule for new test.
7827
7828 * grub-core/commands/wildcard.c: New file, implements filename
7829 expansion support for GRUB script.
7830 * grub-core/Makefile.core.def: Rule update for regexp.mod.
7831 * grub-core/script/argv.c: Cosmetic changes.
7832 * grub-core/script/execute.c (grub_script_arglist_to_argv):
7833 Refactored to perform wildcard expansion on arguments.
7834 * include/grub/script_sh.h (grub_script_wildcard_translator): New
7835 struct.
7836
7837 * tests/util/grub-shell.in: Fix quoting for read input.
7838
5f0c4aca
BC
78392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7840
7841 Support for updating environment variables with matched substrings
7842 of regexp.
7843
7844 * tests/grub_cmd_regexp.in: New test.
7845 * Makefile.util.def: Rule for new test.
7846
7847 * grub-core/commands/regexp.c: New option -s to update environment
7848 variables with regexp matches.
7849
3759a35f
SJ
78502010-09-04 Szymon Janc <szymon@janc.net.pl>
7851
7852 * include/grub/file.h (grub_file): New member not_easly_seekable.
7853 (grub_file_seekable): New inline function.
7854 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
7855 easily seekable.
7856 (grub_gzio_open): Set not_easly_seekable.
7857 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
7858 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
7859
ed8c6dec
BC
78602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7861
7862 Support for options to appear multiple times on cmdline.
7863
7864 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
7865 * grub-core/commands/extcmd.c: Support for repeatable option.
7866 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
7867 repeatable option support.
7868
7869 Refactor menuentry into a regular command.
7870
7871 * grub-core/commands/menuentry.c: New file, menuentry command
7872 implementation.
7873 * grub-core/Makefile.core.def: Rule update for normal.mod.
7874 * grub-core/normal/main.c: Moved menuentry creation to
7875 grub-core/commands/menuentry.c.
7876 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
7877 (grub_menu_execute_entry_real): Removed.
7878 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
7879 function.
7880 (grub_script_execute_menuentry): Removed.
7881 * grub-core/script/parser.y (menuentry): Removed.
7882 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
7883 * grub-core/script/yylex.l (menuentry): Removed.
7884 * include/grub/menu.h (grub_menu_init): New prototype.
7885 (grub_menu_fini): New prototype.
7886 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
7887 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
7888 (grub_script_execute_sourcecode): New prototype.
7889
dacd0cf0
BC
78902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7891
7892 "return" command for GRUB script functions.
7893
7894 * tests/grub_script_return.in: New test.
7895 * Makefile.util.def: Rules for new test.
7896
7897 * grub-core/script/execute.c (grub_script_return): New function.
7898 * grub-core/script/main.c: Register/unregister return commaond.
7899 * include/grub/script_sh.h (grub_script_return): New prototype.
7900
52e72f9d
BC
79012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7902
7903 "setparams" command to update positional parameters.
7904
7905 * tests/grub_script_setparams.in: New test.
7906 * Makefile.util.def: Rules for new test.
7907
7908 * grub-core/script/argv.c (grub_script_argv_make): New function.
7909 * grub-core/script/execute.c (replace_scope): New function.
7910 (grub_script_setparams): New function.
7911 * grub-core/script/lexer.c: Remove unused variables.
7912 * grub-core/script/main.c: Register/unregister setparams command.
7913 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
7914 (grub_script_setparams): New prototype.
7915
25b60c91
BC
79162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7917
7918 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
7919 grub_free order.
7920
37e7bf68
BC
79212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7922
7923 Support for passing block of commands as an argument to extcmds.
7924
7925 * Makefile.util.def: Rules for new test.
7926 * tests/grub_script_blockarg.in: New test.
7927 * grub-core/tests/test_blockarg.c: New file, block argument
7928 command used in the test.
7929
7930 * include/grub/extcmd.h (grub_extcmd_context): New struct.
7931 (grub_register_extcmd_prio): New function prototype.
7932 (grub_extcmd_dispatcher): New function prototype.
7933 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
7934 type.
7935 * include/grub/script_sh.h (struct grub_script): New members
7936 `children', `next_siblings' and `refcnt' for block arguments and
7937 reference counting.
7938 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
7939 (grub_script_arg): New member `script' for block argument.
7940 (grub_script_argv): New member `script' for block argument.
7941 (grub_parser_param): New member `scripts' for block argument.
7942 (grub_script_mem_free): New extern function prototype.
7943 (grub_script_ref): New function prototype.
7944 (grub_script_unref): New function prototype.
7945
7946 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
7947 extcmd form to support block arguments.
7948 * grub-core/script/argv.c: Block arguments support.
7949 * grub-core/script/execute.c: Likewise.
7950 * grub-core/script/lexer.c: Likewise.
7951 * grub-core/script/main.c: Likewise.
7952 * grub-core/script/script.c: Likewise.
7953 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7954 non-terminals.
7955
7956 * grub-core/commands/acpi.c: Update extcmd implementations with
7957 grub_extcmd_context_t.
7958 * grub-core/commands/cat.c: Likewise.
7959 * grub-core/commands/echo.c: Likewise.
7960 * grub-core/commands/extcmd.c: Likewise.
7961 * grub-core/commands/hashsum.c: Likewise.
7962 * grub-core/commands/hdparm.c: Likewise.
7963 * grub-core/commands/help.c: Likewise.
7964 * grub-core/commands/hexdump.c: Likewise.
7965 * grub-core/commands/i386/cpuid.c: Likewise.
7966 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7967 * grub-core/commands/i386/pc/halt.c: Likewise.
7968 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7969 * grub-core/commands/iorw.c: Likewise.
7970 * grub-core/commands/keystatus.c: Likewise.
7971 * grub-core/commands/loadenv.c: Likewise.
7972 * grub-core/commands/ls.c: Likewise.
7973 * grub-core/commands/lspci.c: Likewise.
7974 * grub-core/commands/memrw.c: Likewise.
7975 * grub-core/commands/probe.c: Likewise.
7976 * grub-core/commands/search_wrap.c: Likewise.
7977 * grub-core/commands/setpci.c: Likewise.
7978 * grub-core/commands/sleep.c: Likewise.
7979 * grub-core/disk/loopback.c: Likewise.
7980 * grub-core/hello/hello.c: Likewise.
7981 * grub-core/loader/i386/bsd.c: Likewise.
7982 * grub-core/loader/xnu.c: Likewise.
7983 * grub-core/term/gfxterm.c: Likewise.
7984 * grub-core/term/serial.c: Likewise.
7985 * grub-core/tests/lib/functional_test.c: Likewise.
7986
888d1500
BC
79872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7988
7989 Multi-line quoted strings support.
7990
7991 * grub-core/script/lexer.c (append_newline): Removed.
7992 (grub_script_lexer_yywrap): Refactored.
7993 (grub_script_lexer_init): Refactored.
7994 * grub-core/script/yylex.l (yywrap): New function.
7995 (grub_lexer_resplit): New function.
7996 (grub_lexer_unput): New function.
7997 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7998 and resplit.
7999 * tests/grub_script_echo1.in: Added few more testcases.
8000
dda060dd
VS
80012010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 * grub-core/kern/misc.c: Don't add abort alias in utils.
8004 Reported by: echoline.
8005
6556eba9
BC
80062010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8007
8008 Add missing files into "make dist" tarball for other platforms.
8009
8010 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8011 * conf/Makefile.common (dist_noinst_DATA): New variable.
8012 * conf/Makefile.extra-dist: Added missing make dist files.
8013 * grub-core/Makefile.core.def: Likewise.
8014
c8e7bf5f
VS
80152010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 Compress grub_prefix.
8018
8019 * grub-core/boot/i386/pc/lnxboot.S: Use
8020 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8021 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8022 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8023 GRUB_MACHINE_PREFIX_END. All users updated.
8024 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8025 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8026 + 0x40.
8027 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8028 * util/grub-mkimage.c (image_target_desc): Change data_end to
8029 prefix_end. All users updated.
8030
a7c00cdb
VS
80312010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8034 value.
8035 (grub_openbsd_boot): Likewise.
8036 (grub_netbsd_boot): Likewise.
8037 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8038 (grub_xnu_boot): Likewise.
8039
9f915872
VS
80402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * configure.ac: Clean LIBS variable after tests.
8043
efa1bee7
CW
80442010-09-02 Colin Watson <cjwatson@ubuntu.com>
8045
8046 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8047
61d720e5
VS
80482010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8051 echo if libdevmapper will be used.
8052
ef8e0ec8
IT
80532010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8054
8055 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8056 constant for the same file.
8057
03e261d8
VS
80582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8061
c2a4eba6
CW
80622010-09-02 Colin Watson <cjwatson@ubuntu.com>
8063
8064 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8065 grub-core/*.pp.
8066
9056cbf3
CW
80672010-09-02 Colin Watson <cjwatson@ubuntu.com>
8068
8069 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8070 required by the boot protocol.
8071
8072 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8073 ebp and edi members.
8074 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8075 state.ebp and state.edi.
8076 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8077 %ebp and %edi according to grub_relocator32_ebp and
8078 grub_relocator32_edi respectively.
8079 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8080 and state.edi.
8081
529cc99a
VS
80822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Add i386-pc-pxe image target.
8085
8086 * util/grub-mkimage.c (image_target_desc): New enum value
8087 IMAGE_I386_PC_PXE.
8088 (image_targets): New target i386-pc-pxe.
8089 (generate_image): Handle i386-pc-pxe image.
8090
9a093920
VS
80912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8092
8093 Fix grub_pxe_scan.
8094
8095 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8096 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8097 All users updated.
8098 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8099 (grub_pxe_pxenv): Correct type.
8100
f9cefc4e
CW
81012010-09-01 Colin Watson <cjwatson@ubuntu.com>
8102
8103 * NEWS: Document most of the important changes since 1.98.
8104
4066f57f
CW
81052010-09-01 Colin Watson <cjwatson@ubuntu.com>
8106
8107 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8108 generated manual page) a little.
8109
da2891f9
CW
81102010-09-01 Colin Watson <cjwatson@ubuntu.com>
8111
8112 * docs/grub.texi: Add myself as an author.
8113
ad717fae
VS
81142010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * Makefile.util.def (libgrub.a): Add missing sunpc.
8117 Reported by: Seth Goldberg.
8118
eefe8abd
VS
81192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 Interrupt wrapping and code simplifications.
8122
9494ef9a
VS
8123 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8124 x86_noieee1275 which are functionaly equivalent in this case.
8125 (grub-install): Make source on each platform explicit. Enable on
8126 all noemu.
8127 * gentpl.py (x86_efi_pc): Removed group.
8128 (x86_noefi): Likewise.
8129 (i386_noefi): Likewise.
8130 (x86_noieee1275): Likewise.
8131 (i386_noieee1275): Likewise.
8132 (i386_noefi_noieee1275): Likewise.
8133 (i386_pc_qemu_coreboot): Likewise.
8134 (i386_coreboot_multiboot): Likewise.
8135 (i386_pc_coreboot_multiboot_qemu): Likewise.
8136 (x86_noefi_mips): Likewise.
8137 (noieee1275): Likewise.
8138 (ieee1275_mips): Likewise.
8139 (noemu_noieee1275): Likewise.
8140 (cmos): New group.
8141 (usb): Likewise.
8142 (videoinkernel): Likewise.
8143 (videomodules): Likewise.
eefe8abd 8144 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8145 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8146 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8147 include/grub/loader.h, include/grub/msdos_partition.h,
8148 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8149 include/grub/machine/console.h, include/grub/machine/vga.h,
8150 include/grub/machine/vbe.h, include/grub/machine/init.h,
8151 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8152 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8153 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8154 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8155 * grub-core/Makefile.core.def (kernel): Explicit the source for
8156 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8157 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8158 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8159 Use videoinkernel tag.
8160 (usb): Enable on all usb.
8161 (usbserial_common): Likewise.
8162 (usbserial_pl2303): Likewise.
8163 (usbserial_ftdi): Likewise.
8164 (uhci): Enable on all x86.
8165 (ohci): Enable on all pci.
8166 (cmostest): Enable on all CMOS.
8167 (acpi): Include commands/acpi.c on all platforms.
8168 (halt): Add relevant lib/*/halt.c.
8169 (hdparm): Enable on all pci.
8170 (lspci): Likewise.
8171 (usbtest): Enable on all usb.
8172 (ata): Enable on all pci.
8173 (ata_pthru): Likewise.
8174 (usbms): Enable on all usb.
8175 (usb_keyboard): Likewise.
8176 (font): Use tag videomodules.
8177 (bufio): Likewise.
8178 (datetime): Use tag cmos. Enable on all noemu.
8179 (mmap): Use tags common and x86.
8180 (gfxterm): Use tag videomodules.
8181 (bitmap): Likewise.
8182 (bitmap_scale): Likewise.
8183 (video_fb): Likewise.
8184 (video): Likewise.
8185 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8186 adjust padding accordingly. All users updated.
8187 (grub_ohci_transaction): Fix bad format specification.
8188 (GRUB_MOD_INIT): Add asserts for struct size.
8189 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8190 (grub_alloc_td): Likewise.
8191 (grub_free_queue): Likewise.
8192 (grub_uhci_transfer): Likewise.
8193 (grub_uhci_transaction): Fix bad format specification.
8194 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8195 (grub_usb_bulk_readwrite): Likewise.
8196 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8197 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8198 Made static.
8199 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8200 Made static.
8201 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8202 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8203 Transformed into C.
8204 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8205 Moved from here ...
8206 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8207 ... here. Transformed into C. Made static.
8208 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8209 Moved from here ...
8210 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8211 ... here. Transformed into C. Made static.
8212 * grub-core/kern/i386/pc/startup.S
8213 (grub_biosdisk_check_int13_extensions): Moved from here ...
8214 * grub-core/disk/i386/pc/biosdisk.c
8215 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8216 Made static.
8217 * grub-core/kern/i386/pc/startup.S
8218 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8219 * grub-core/disk/i386/pc/biosdisk.c
8220 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8221 Transformed into C. Made static.
8222 * grub-core/kern/i386/pc/startup.S
8223 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8224 * grub-core/disk/i386/pc/biosdisk.c
8225 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8226 Transformed into C. Made static.
8227 * grub-core/kern/i386/pc/startup.S
8228 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8229 * grub-core/disk/i386/pc/biosdisk.c
8230 (grub_biosdisk_get_diskinfo_standard): ... here.
8231 Transformed into C. Made static.
8232 * grub-core/kern/i386/pc/startup.S
8233 (grub_biosdisk_get_num_floppies): Moved from here ...
8234 * grub-core/disk/i386/pc/biosdisk.c
8235 (grub_biosdisk_get_num_floppies): ... here.
8236 Transformed into C. Made static.
8237 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8238 New function.
8239 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8240 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8241 Transformed into C. Made static.
8242 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8243 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8244 Transformed into C. Made static.
8245 * grub-core/kern/i386/ieee1275/init.c: Removed.
8246 * grub-core/kern/i386/misc.S: Likewise.
8247 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8248 Splitted from here ...
8249 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8250 Transformed into C. Made static. All users updated.
8251 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8252 Transformed into C. Made static. All users updated.
8253 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8254 Moved from here...
8255 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8256 Transformed into C. Made static. All users updated.
8257 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8258 Moved from here...
8259 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8260 Transformed into C. Made static. All users updated.
8261 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8262 Removed (replaced by C version).
8263 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8264 Moved from here...
8265 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8266 Transformed into C. Made static.
8267 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8268 Moved from here...
8269 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8270 ... here. Transformed into C.
8271 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8272 Moved from here...
8273 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8274 ... here. Transformed into C.
8275 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8276 Moved from here...
8277 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8278 ... here. Transformed into C. Made static.
8279 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8280 Moved from here...
8281 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8282 ... here. Transformed into C.
21ed554b
VS
8283 * grub-core/kern/i386/pc/startup.S
8284 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8285 * grub-core/video/i386/pc/vbe.c
8286 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8287 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8288 Moved from here...
8289 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8290 ... here. Transformed into C.
8291 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8292 Moved from here...
8293 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8294 ... here. Transformed into C.
8295 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8296 Moved from here...
8297 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8298 ... here. Transformed into C.
8299 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8300 Moved from here...
8301 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8302 ... here. Transformed into C.
8303 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8304 Moved from here...
8305 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8306 ... here. Transformed into C. Made static.
8307 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8308 Moved from here...
8309 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8310 ... here. Transformed into C. Made static.
8311 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8312 Moved from here...
8313 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8314 ... here. Transformed into C. Made static.
8315 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8316 pxe_rm_entry as third argument.
8317 (grub_bios_interrupt): New function.
8318 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8319 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8320 of calling grub_stop.
8321 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8322 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8323 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8324 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8325 * grub-core/lib/i386/halt.c: Moved from here ...
8326 * grub-core/lib/i386/halt.c: ... here.
8327 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8328 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8329 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8330 grub_stop_floppy.
8331 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8332 * include/grub/i386/coreboot/init.h: Removed.
8333 * include/grub/i386/multiboot/init.h: Likewise.
8334 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8335 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8336 * include/grub/i386/pc/int.h: New file.
8337 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8338 (grub_pxe_scan): Removed.
8339 (grub_pxe_call): Update prototype.
8340 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8341 prototypes.
8342 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8343 * include/grub/i386/qemu/init.h: Removed.
8344 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8345 noreturn.
8346 (grub_halt): Likewise.
8347 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8348 (grub_reboot): Likewise.
8349 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8350 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8351 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8352
215dd471
RM
83532010-08-30 Robert Millan <rmh@gnu.org>
8354
8355 * NEWS: Document addition of ZFS support in `grub-install' and
8356 `grub-mkconfig'.
8357
ebd65b82
BC
83582010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8359
8360 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8361 dprintf output.
8362
11721d19
VS
83632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 Remove leftover embedding of font objects.
8366
8367 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8368 * util/grub-install.in (font): Removed.
8369 * util/grub-mkimage.c (generate_image): Remove font support. All users
8370 updated.
8371
37837d4e
VS
83722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 Remove leftover embedding of font objects.
8375
8376 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8377 * util/grub-install.in (font): Removed.
8378 * util/grub-mkimage.c (generate_image): Remove font support. All users
8379 updated.
8380
b4c1aae0
VS
83812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8384 Reported by: Ian Turner
b4c1aae0 8385
8920a08d
VS
83862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8389 timeout to avoid indefinite boot stalling.
8390
f21db033
VS
83912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8394 (grub_env_write_color_highlight): Likewise.
8395
9a9de209
VS
83962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/normal/term.c (print_more): Return to normal and not
8399 to standard state after printing "---MORE---".
8400
3dca01d7
VS
84012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8404 Mask out the bit 0x80 since it has other meaning that specifiing color.
8405
0b986c40
VS
84062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 New relocator. Allows for more kernel support and more straightforward
8409 loader writing.
8410
8411 * Makefile.am (BOOTTARGET): New variable.
8412 (QEMU32): Likewise.
8413 (linux.init.x86_64): New target.
8414 (linux.init.i386): Likewise.
8415 (multiboot.elf): Likewise.
8416 (kfreebsd.elf): Likewise.
8417 (kfreebsd.aout): Likewise.
8418 (pc-chainloader.elf): Likewise.
8419 (pc-chainloader.bin): Likewise.
8420 (ntldr.elf): Likewise.
8421 (ntldr.bin): Likewise.
8422 (multiboot2.elf): Likewise.
8423 (kfreebsd.init.x86_64): Likewise.
8424 (kfreebsd.init.i386): Likewise.
8425 (knetbsd.init.i386): Likewise.
8426 (kopenbsd.init.i386): Likewise.
8427 (knetbsd.init.x86_64): Likewise.
8428 (kopenbsd.init.x86_64): Likewise.
8429 (linux-initramfs.i386): Likewise.
8430 (linux-initramfs.x86_64): Likewise.
8431 (kfreebsd-mfsroot.i386.img): Likewise.
8432 (knetbsd.image.i386): Likewise.
8433 (kopenbsd.image.i386): Likewise.
8434 (kopenbsd.image.x86_64): Likewise.
8435 (knetbsd.miniroot-image.i386.img): Likewise.
8436 (kfreebsd-mfsroot.x86_64.img): Likewise.
8437 (knetbsd.image.x86_64): Likewise.
8438 (knetbsd.miniroot-image.x86_64.img): Likewise.
8439 (kfreebsd-mfsroot.i386.gz): Likewise.
8440 (bootcheck-kfreebsd-i386): Likewise.
8441 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8442 (bootcheck-kfreebsd-x86_64): Likewise.
8443 (knetbsd.miniroot-image.i386.gz): Likewise.
8444 (bootcheck-knetbsd-i386): Likewise.
8445 (bootcheck-kopenbsd-i386): Likewise.
8446 (bootcheck-kopenbsd-x86_64): Likewise.
8447 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8448 (bootcheck-knetbsd-x86_64): Likewise.
8449 (bootcheck-linux-i386): Likewise.
8450 (bootcheck-linux-x86_64): Likewise.
8451 (bootcheck-linux16-i386): Likewise.
8452 (bootcheck-linux16-x86_64): Likewise.
8453 (bootcheck-multiboot): Likewise.
8454 (bootcheck-multiboot2): Likewise.
8455 (bootcheck-kfreebsd-aout): Likewise.
8456 (bootcheck-pc-chainloader): Likewise.
8457 (bootcheck-ntldr): Likewise.
8458 (CLEANFILES): Add new targets.
8459 (BOOTCHECKS): New variable.
8460 (.PHONY): Add bootchecks.
8461 (SUCCESSFUL_BOOT_STRING): New variable.
8462 (BOOTCHECK_TIMEOUT): Likewise.
8463 (bootcheck): New target
8464 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8465 * configure.ac: Correct efiemu excuse.
8466 * docs/grub.texi (Supported kernels): New chapter.
8467 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8468 include/grub/mm_private.h. Simplify inclusion of
8469 include/grub/boot.h, include/grub/loader.h
8470 and include/grub/msdos_partition.h
8471 (KERNEL_HEADER_FILES) [i386_coreboot]:
8472 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8473 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8474 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8475 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8476 include/grub/machine/loader.h.
8477 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8478 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8479 extra_dist.
8480 (pci.mod): Enable on i386-multiboot.
8481 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8482 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8483 i386-qemu.
8484 (relocator.mod): Rewritten.
8485 (aout.mod): Enable on all x86.
8486 (bsd.mod): Likewise.
8487 (ntldr.mod): New module.
8488 (linux.mod): Use loader/i386/linux.c on all x86.
8489 (xnu.mod): Enable on all x86.
8490 (vga_text.mod): disable on EFI and QEMU.
8491 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8492 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8493 * grub-core/efiemu/loadcore.c: Likewise.
8494 * grub-core/efiemu/main.c: Likewise.
8495 (grub_efiemu_exit_boot_services): Removed.
8496 (grub_efiemu_finish_boot_services): Likewise.
8497 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8498 function.
8499 * grub-core/efiemu/i386/nocfgtables.c: New file.
8500 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8501 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8502 (grub_efi_finish_boot_services): Moved from here ...
8503 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8504 Fille finish memory map and related data.
8505 (finish_mmap_buf): New variable.
8506 (grub_efi_uintn_t finish_mmap_size): Likewise.
8507 (grub_efi_uintn_t finish_key): Likewise.
8508 (grub_efi_uintn_t finish_desc_size): Likewise.
8509 (grub_efi_uint32_t finish_desc_version): Likewise.
8510 (grub_efi_is_finished): Likewise.
8511 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8512 finished.
8513 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8514 (grub_elf64_phdr_iterate): Likewise.
8515 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8516 (grub_os_area_size): Likewise.
8517 (grub_machine_init): Don't reserve os area.
8518 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8519 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8520 * grub-core/kern/i386/loader.S: Removed.
8521 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8522 (grub_os_area_size): Likewise.
8523 (grub_machine_init): Don't reserve os area.
8524 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8525 Don't call grub_dl_unload_all.
8526 Don't include loader.S.
8527 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8528 Declare the memory after _end as available.
8529 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8530 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8531 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8532 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8533 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8534 * include/grub/mm_private.h (grub_mm_header): ... here.
8535 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8536 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8537 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8538 (grub_mm_region): ..here. Removed addr. Added pre_size.
8539 All users updated.
8540 * grub-core/kern/mm.c (base): Renamed to ...
8541 (grub_mm_base): ... this. Made global.
8542 (grub_real_malloc): Alloc from end of region.
8543 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8544 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8545 * grub-core/kern/powerpc/cache_flush.S: ... here.
8546 * grub-core/lib/efi/relocator.c: New file.
8547 * grub-core/lib/i386/relocator.c: Rewritten.
8548 * grub-core/lib/i386/relocator16.S: New file.
8549 * grub-core/lib/i386/relocator32.S: Likewise.
8550 * grub-core/lib/i386/relocator64.S: Likewise.
8551 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8552 * grub-core/lib/i386/relocator_common.S: New file.
8553 * grub-core/lib/ieee1275/relocator.c: Likewise.
8554 * grub-core/lib/mips/relocator.c: Rewritten.
8555 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8556 stylistic adjustments.
8557 * grub-core/lib/powerpc/relocator.c: New file.
8558 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8559 * grub-core/lib/relocator.c: Rewritten.
8560 * grub-core/lib/x86_64/relocator_asm.S: New file.
8561 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8562 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8563 (bsd_tag): New struct.
8564 (tags): New variable.
8565 (tags_last): Likewise.
8566 (netbsd_module): New struct.
8567 (netbsd_mods): New variable.
8568 (netbsd_mods_last): Likewise.
8569 (openbsd_opts): New parameter "serial".
8570 (OPENBSD_SERIAL_ARG): New definition.
8571 (netbsd_opts): New parameter "serial".
8572 (NETBSD_SERIAL_ARG): New definition.
8573 (grub_freebsd_add_meta): Reorganised into ...
8574 (grub_bsd_add_meta): ...this. All users updated.
8575 (grub_freebsd_add_mmap): Reorganised into ...
8576 (generate_e820_mmap): ...this...
8577 (grub_bsd_add_mmap): ...and this. All users updated.
8578 (grub_freebsd_list_modules): Use tags.
8579 (grub_netbsd_add_meta_module): New function.
8580 (grub_netbsd_list_modules): Likewise.
8581 (grub_freebsd_boot): Use relocator and finish EFI.
8582 (grub_openbsd_boot): Likewise.
8583 (grub_netbsd_setup_video): New function.
8584 (grub_netbsd_add_modules): Likewise.
8585 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8586 and finish EFI.
8587 (grub_bsd_unload): Unload tags.
8588 (grub_bsd_load_aout): Use relocator.
8589 (grub_bsd_elf32_size_hook): New function.
8590 (grub_bsd_elf32_hook): Use relocator.
8591 (grub_bsd_elf64_size_hook): New function.
8592 (grub_bsd_elf64_hook): Use relocator.
8593 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8594 (grub_bsd_load): Zero-out openbsd_ramdisk.
8595 (grub_bsd_load): Use relocator.
8596 (grub_cmd_openbsd): Support serial.
8597 (grub_cmd_netbsd): Support modules.
8598 (grub_cmd_freebsd_module): Use relocator.
8599 (grub_netbsd_module_load): New function.
8600 (grub_cmd_netbsd_module): Likewise.
8601 (grub_cmd_openbsd_ramdisk): Likewise.
8602 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8603 kopenbsd_ramdisk.
8604 (GRUB_MOD_FINI): Unregister new commands.
8605 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8606 (grub_freebsd_load_elfmodule_obj): Use relocator.
8607 (grub_freebsd_load_elfmodule): Likewise.
8608 (grub_freebsd_load_elf_meta): Likewise.
8609 (grub_netbsd_load_elf_meta): New function.
8610 (grub_openbsd_find_ramdisk): Likewise.
8611 * grub-core/loader/i386/bsd_helper.S: Removed.
8612 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8613 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8614 * grub-core/loader/i386/efi/linux.c: Likewise.
8615 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8616 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8617 (DEFAULT_VIDEO_MODE): Likewise.
8618 (real_mode_target): New variable.
8619 (prot_mode_target): Likewise.
8620 (initrd_mem_target): Likewise.
8621 (relocator): Likewise.
8622 (efi_mmap_buf): Likewise.
8623 (efi_mmap_size): Likewise.
8624 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8625 (free_pages): Use relocator.
8626 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8627 (grub_linux_setup_video): Return error.
8628 (grub_linux_trampoline_start): Removed.
8629 (grub_linux_trampoline_end): Likewise.
8630 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8631 andd video parameters depending on firmware.
8632 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8633 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8634 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8635 (grub_cmd_initrd): Use relocator.
8636 * grub-core/loader/i386/linux_trampoline.S: Removed.
8637 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8638 (elf_sec_entsize): Likewise.
8639 (elf_sec_shstrndx): Likewise.
8640 (elf_sections): Likewise.
8641 (grub_multiboot_load): Use relocator.
8642 (grub_multiboot_get_mbi_size): Account for sections.
8643 (grub_multiboot_make_mbi): Use relocator and support sections.
8644 (grub_multiboot_add_elfsyms): New function.
8645 (grub_multiboot_free_mbi): Free sections.
8646 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8647 (grub_linux_real_target): Likewise.
8648 (grub_linux_real_chunk): Likewise.
8649 (grub_linux16_prot_size): Likewise.
8650 (grub_linux16_boot): Use relocator.
8651 (grub_linux_unload): Unload relocator.
8652 (grub_cmd_linux): Use relocator.
8653 (grub_cmd_initrd): Likewise.
8654 * grub-core/loader/i386/pc/ntldr.c: New file.
8655 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8656 Don't try to guess CPU frequency.
8657 (grub_xnu_set_video): Stretch bitmap.
8658 (grub_xnu_boot): Use relocator.
8659 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8660 (grub_linux_unload): Free relocator.
8661 (grub_linux_load32): Use relocator.
8662 (grub_linux_load64): Likewise.
8663 (grub_cmd_initrd): Likewise.
8664 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8665 (grub_multiboot_unload): Unload relocator.
8666 (grub_cmd_multiboot): Use relocator.
8667 (grub_cmd_module): Likewise.
8668 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8669 Use relocator and support sections.
8670 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8671 (elf_sec_entsize): Likewise.
8672 (elf_sec_shstrndx): Likewise.
8673 (elf_sections): Likewise.
8674 (grub_multiboot_load): Use relocator.
8675 (grub_multiboot_get_mbi_size): Account for sections.
8676 (grub_multiboot_make_mbi): Use relocator and support sections.
8677 (grub_multiboot_add_elfsyms): New function.
8678 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8679 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8680 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8681 Prototype changed. All users updated.
8682 (grub_xnu_align_heap): Simplified.
8683 (grub_xnu_writetree_toheap): Likewise.
8684 (grub_xnu_unload): Unload relocator.
8685 (grub_cmd_xnu_kernel): Use relocator.
8686 (grub_cmd_xnu_kernel64): Likewise.
8687 (grub_xnu_register_memory): Simplified.
8688 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
8689 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8690 EFI is finished.
8691 (grub_console_checkkey): Likewise.
8692 (grub_console_getkey): Likewise.
8693 (grub_console_getwh): Likewise.
8694 (grub_console_getxy): Likewise.
8695 (grub_console_gotoxy): Likewise.
8696 (grub_console_cls): Likewise.
8697 (grub_console_setcolorstate): Likewise.
8698 (grub_console_setcursor): Likewise.
8699 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8700 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8701 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8702 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8703 * grub-core/tests/boot/kernel-8086.S: Likewise.
8704 * grub-core/tests/boot/kernel-i386.S: Likewise.
8705 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
8706 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
8707 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
8708 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
8709 * grub-core/tests/boot/knetbsd.cfg: Likewise.
8710 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
8711 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
8712 * grub-core/tests/boot/linux.cfg: Likewise.
8713 * grub-core/tests/boot/linux.init-i386.S: Likewise.
8714 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
8715 * grub-core/tests/boot/linux16.cfg: Likewise.
8716 * grub-core/tests/boot/multiboot.cfg: Likewise.
8717 * grub-core/tests/boot/multiboot2.cfg: Likewise.
8718 * grub-core/tests/boot/ntldr.cfg: Likewise.
8719 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
8720 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
8721 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
8722 New definition.
8723 * include/grub/dl.h (grub_dl_unload_all): Removed.
8724 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
8725 (grub_efi_finish_boot_services): Change prototype.
8726 (grub_efi_is_finished): New variable.
8727 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
8728 Changed prototype.
8729 (grub_efiemu_finish_boot_services): Removed.
8730 (grub_machine_efiemu_init_tables): New prototype.
8731 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
8732 (grub_elf64_phdr_iterate): Likewise.
8733 * include/grub/i386/bsd.h: Include relocator.h.
8734 (freebsd_tag_header): New struct.
8735 (grub_openbsd_bios_mmap): Removed.
8736 (grub_unix_real_boot): Removed.
8737 (grub_freebsd_load_elfmodule32): Changed prototype.
8738 (grub_freebsd_load_elfmodule_obj64): Likewise.
8739 (grub_freebsd_load_elf_meta32): Likewise.
8740 (grub_freebsd_load_elf_meta64): Likewise.
8741 (grub_freebsd_add_meta): Removed.
8742 (grub_netbsd_load_elf_meta32): New prototype.
8743 (grub_netbsd_load_elf_meta64): Likewise.
8744 (grub_bsd_add_meta): Likewise.
8745 (grub_openbsd_ramdisk_descriptor): New struct.
8746 (grub_openbsd_find_ramdisk32): New prototype.
8747 (grub_openbsd_find_ramdisk64): Likewise.
8748 * include/grub/i386/coreboot/loader.h: Removed.
8749 * include/grub/i386/efi/loader.h: Likewise.
8750 * include/grub/i386/ieee1275/loader.h: Likewise.
8751 * include/grub/i386/linux.h (linux_kernel_header): Change void *
8752 to grub_uint32_t.
8753 * include/grub/i386/loader.h: Removed.
8754 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
8755 value.
8756 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
8757 (grub_phys_addr_t): New type.
8758 (grub_vtop): New inline function.
8759 (grub_map_memory): Likewise.
8760 (grub_unmap_memory): Likewise.
8761 * include/grub/i386/multiboot/loader.h: Removed.
8762 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
8763 (NETBSD_BTINFO_CONSOLE): New definition.
8764 (NETBSD_BTINFO_SYMTAB): Likewise.
8765 (NETBSD_BTINFO_MODULES): Likewise.
8766 (NETBSD_BTINFO_FRAMEBUF): Likewise.
8767 (grub_netbsd_bootinfo): New struct.
8768 (grub_netbsd_btinfo_common): Use explicit bitsize.
8769 (grub_netbsd_btinfo_mmap_entry): Removed.
8770 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
8771 (grub_netbsd_btinfo_bootdisk): New struct.
8772 (grub_netbsd_btinfo_symtab): Likewise.
8773 (grub_netbsd_btinfo_serial): Likewise.
8774 (grub_netbsd_btinfo_modules): Likewise.
8775 (grub_netbsd_btinfo_framebuf): Likewise.
8776 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
8777 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
8778 Likewise.
8779 (grub_openbsd_bootargs): Use explicit bitsize.
8780 (grub_openbsd_bootarg_console): New struct.
8781 (GRUB_OPENBSD_COM_MAJOR): New definition.
8782 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
8783 * include/grub/i386/pc/efiemu.h: Removed.
8784 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
8785 * include/grub/i386/qemu/loader.h: Removed.
8786 * include/grub/i386/relocator.h: Rewritten.
8787 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
8788 * include/grub/mips/memory.h: New file.
8789 * include/grub/mips/multiboot.h: Rewritten.
8790 * include/grub/mips/relocator.h: Rewritten.
8791 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
8792 (grub_vtop): New function.
8793 (grub_map_memory): Likewise.
8794 (grub_unmap_memory): Likewise.
8795 * include/grub/misc.h (ALIGN_DOWN): New definition.
8796 * include/grub/mm.h (grub_mm_check_real): New proto.
8797 (GRUB_MM_CHECK): New definition.
8798 * include/grub/mm_private.h: New file.
8799 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
8800 (grub_multiboot_get_mbi_size): Removed.
8801 (grub_multiboot_make_mbi): Change prottype.
8802 (grub_multiboot_set_accepts_video): New proto.
8803 (grub_multiboot_add_elfsyms): Likewise.
8804 (grub_multiboot_payload_eip): New variable.
8805 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
8806 New prototype.
8807 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
8808 New definition.
8809 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
8810 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
8811 * include/grub/powerpc/ieee1275/loader.h: Removed.
8812 * include/grub/powerpc/memory.h: New file.
8813 * include/grub/powerpc/relocator.h: Likewise.
8814 * include/grub/relocator.h: Likewise.
8815 * include/grub/relocator_private.h: Likewise.
8816 * include/grub/sparc64/ieee1275/loader.h: Removed.
8817 * include/grub/x86_64/memory.h: New file.
8818 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
8819 (grub_xnu_heap_malloc): Likewise.
8820 (grub_xnu_heap_real_start): Removed.
8821 (grub_xnu_heap_start): Likewise.
8822 (grub_xnu_relocator): New variable.
8823 (grub_xnu_heap_target_start): Likewise.
8824 * tests/util/grub-shell.in: Support non-pc.
8825 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 8826
5303b85d
VS
88272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
8830 on malloc error.
8831 (grub_bidi_logical_to_visual): Check that malloc succeded.
8832 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
8833 puts.
8834 (grub_xputs_normal): Likewise.
8835
d768d159
VS
88362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
8839 extra_dist.
8840
88412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/efiemu/runtime/efiemu.sh: Removed.
8844
5bf84df4
VS
88452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8846
8847 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
8848
3626810e
VS
88492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
8852 dprintf.
8853
a7363f53
BC
88542010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
8855
8856 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
8857
902f75f6
VS
88582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 * grub-core/normal/term.c (print_more): Fix a memory leak.
8861 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
8862 (grub_xputs_normal): Likewise.
8863
3c707967
VS
88642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
8867 the begining of the string
8868
2053cc07
VS
88692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/script/script.c (grub_script_parse): Free parsed on
8872 failure.
8873
46422ebf
VS
88742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
8877 on failure.
8878
9e0fa3f6
VS
88792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
8882 return.
8883
3393cf16
VS
88842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
8887 (scroll_up): Fix a memory leak.
8888
b17540cb
VS
88892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
8892 errors.
8893
67140446
VS
88942010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
8895
8896 Handle USB pendrives exposed as floppies.
8897
8898 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
8899 floppy.
8900 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8901 Check for partitions on all devices.
8902
e35e46fc
VS
89032010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8904
8905 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
8906 (readkey): Likewise.
8907
d24c6190
BC
89082010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8909
8910 Multiple variable names support to "export" command.
8911
8912 * normal/context.c (grub_cmd_export): "export" command supports
8913 multiple variable names.
8914
04ddcc6a
ST
89152010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
8916
8917 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
8918 --target=drive output to Mach device name.
8919
0c8b61d8
BC
89202010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8921
8922 New Automake based build system for GRUB.
8923
8924 * ABOUT-NLS: New file.
8925 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
8926 in Makefile.util.def file.
8927 * Makefile.util.def: New file. Autogen build definitions file for
8928 GRUB host utils.
8929 * conf/Makefile.common: New file. Common variables for GRUB host
8930 utils and target modules.
8931 * conf/Makefile.extra-dist: New file. Extra files for make dist.
8932 * docs/Makefile.am: New file. Automake file for docs.
8933 * gentpl.py: New file. Python script to generate Autogen
8934 template.
8935 * grub-core/Makefile.am: New file. GRUB target modules' rules
8936 that doesn't fit in Makefile.core.def file.
8937 * grub-core/Makefile.core.def: New file. Autogen build
8938 definitions file for GRUB target modules.
8939 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
8940 specific setjmp.S file.
8941 * po/Makefile.am: New file.
8942
8943 * .bzrignore: New ignores.
8944 * INSTALL: New requirements, without Ruby.
8945 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
8946 * autogen.sh: Updated to invoke autogen as necessary.
8947 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
8948 and defines for Automake conditionals.
8949 * geninit.sh: Refactoring.
8950
8951 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8952 necessary.
8953 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8954 New prototype.
8955
8956 * include/grub/test.h: Fix functional test modules' naming.
8957 * grub-core/tests/example_functional_test.c: Fix test module name.
8958
8959 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8960 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8961 * util/grub-editenv.c: Likewise.
8962 * util/grub-fstest.c: Likewise.
8963 * util/grub-mkdevicemap.c: Likewise.
8964 * util/grub-mkfont.c: Likewise.
8965 * util/grub-mkimage.c: Likewise.
8966 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8967 * util/grub-probe.c: Likewise.
8968 * util/grub-script-check.c: Likewise.
8969 * util/i386/pc/grub-setup.c: Likewise.
8970 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8971
8972 * tests/util/grub-shell.in: Fix override directory path.
8973 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8974 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8975
8976 * util/lvm.c: Update #includes.
8977 * util/raid.c: Likewise.
8978 * util/resolve.c: Likewise.
8979 * grub-core/bus/emu/pci.c: Likewise.
8980 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8981 * grub-core/lib/posix_wrap/string.h: Likewise.
8982 * grub-core/kern/emu/main.c: Likewise.
8983
8984 * grub-core/gensymlist.sh: New file. Script for generating kernel
8985 symbols file.
8986 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8987
8988 * grub-core/gentrigtables.c: Fix unused variable warnings.
8989
8990 * Makefile.in: Removed.
8991 * conf/any-emu.rmk: Removed.
8992 * conf/common.rmk: Removed.
8993 * conf/i386-coreboot.rmk: Removed.
8994 * conf/i386-efi.rmk: Removed.
8995 * conf/i386-ieee1275.rmk: Removed.
8996 * conf/i386-multiboot.rmk: Removed.
8997 * conf/i386-pc.rmk: Removed.
8998 * conf/i386-qemu.rmk: Removed.
8999 * conf/i386.rmk: Removed.
9000 * conf/mips-yeeloong.rmk: Removed.
9001 * conf/mips.rmk: Removed.
9002 * conf/powerpc-ieee1275.rmk: Removed.
9003 * conf/sparc64-ieee1275.rmk: Removed.
9004 * conf/tests.rmk: Removed.
9005 * conf/x86-efi.rmk: Removed.
9006 * conf/x86_64-efi.rmk: Removed.
9007 * gendistlist.sh: Removed.
9008 * geninitheader.sh: Removed.
9009 * genkernsyms.sh.in: Removed.
9010 * genmk.rb: Removed.
9011 * gensymlist.sh.in: Removed.
9012 * mkinstalldirs: Removed.
9013 * boot: Moved ...
9014 * grub-core/boot: ... to here.
9015 * bus: Moved ...
9016 * grub-core/bus: ... to here.
9017 * commands: Moved ...
9018 * grub-core/commands: ... to here.
9019 * disk: Moved ...
9020 * grub-core/disk: ... to here.
9021 * efiemu: Moved ...
9022 * grub-core/efiemu: ... to here.
9023 * font: Moved ...
9024 * grub-core/font: ... to here.
9025 * fs: Moved ...
9026 * grub-core/fs: ... to here.
9027 * gencmdlist.sh: Moved ...
9028 * grub-core/gencmdlist.sh: ... to here.
9029 * genemuinit.sh: Moved ...
9030 * grub-core/genemuinit.sh: ... to here.
9031 * genemuinitheader.sh: Moved ...
9032 * grub-core/genemuinitheader.sh: ... to here.
9033 * genfslist.sh: Moved ...
9034 * grub-core/genfslist.sh: ... to here.
9035 * genhandlerlist.sh: Moved ...
9036 * grub-core/genhandlerlist.sh: ... to here.
9037 * genmoddep.awk: Moved ...
9038 * grub-core/genmoddep.awk: ... to here.
9039 * genmodsrc.sh: Moved ...
9040 * grub-core/genmodsrc.sh: ... to here.
9041 * genpartmaplist.sh: Moved ...
9042 * grub-core/genpartmaplist.sh: ... to here.
9043 * genparttoollist.sh: Moved ...
9044 * grub-core/genparttoollist.sh: ... to here.
9045 * genterminallist.sh: Moved ...
9046 * grub-core/genterminallist.sh: ... to here.
9047 * gentrigtables.c: Moved ...
9048 * grub-core/gentrigtables.c: ... to here.
9049 * genvideolist.sh: Moved ...
9050 * grub-core/genvideolist.sh: ... to here.
9051 * gettext: Moved ...
9052 * grub-core/gettext: ... to here.
9053 * gfxmenu: Moved ...
9054 * grub-core/gfxmenu: ... to here.
9055 * gnulib: Moved ...
9056 * grub-core/gnulib: ... to here.
9057 * hello: Moved ...
9058 * grub-core/hello: ... to here.
9059 * hook: Moved ...
9060 * grub-core/hook: ... to here.
9061 * io: Moved ...
9062 * grub-core/io: ... to here.
9063 * kern: Moved ...
9064 * grub-core/kern: ... to here.
9065 * lib: Moved ...
9066 * grub-core/lib: ... to here.
9067 * loader: Moved ...
9068 * grub-core/loader: ... to here.
9069 * mmap: Moved ...
9070 * grub-core/mmap: ... to here.
9071 * normal: Moved ...
9072 * grub-core/normal: ... to here.
9073 * partmap: Moved ...
9074 * grub-core/partmap: ... to here.
9075 * parttool: Moved ...
9076 * grub-core/parttool: ... to here.
9077 * script: Moved ...
9078 * grub-core/script: ... to here.
9079 * term: Moved ...
9080 * grub-core/term: ... to here
9081 * tests/example_functional_test.c: Moved ...
9082 * grub-core/tests/example_functional_test.c: ... to here.
9083 * tests/lib/functional_test.c: Moved ...
9084 * grub-core/tests/lib/functional_test.c: ... to here.
9085 * tests/lib/test.c: Moved ...
9086 * grub-core/tests/lib/test.c: ... to here.
9087 * video: Moved ...
9088 * grub-core/video: ... to here.
9089
645586e6
BC
90902010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9091
9092 Replace --enable-grub-emu-modules with grub-emu-lite.
9093
9094 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9095 cache.S.
9096
9097 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9098 * kern/emu/full.c: New file. For grub-emu specific initialization.
9099 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9100 * kern/emu/main.c: Call initialization function grub_emu_init.
9101
9102 * Makefile.in: Include grub-emu-lite in install.
9103 * commands/parttool.c: Use grub_no_autoload to differentiate
9104 between grub-emu and grub-emu-lite.
9105 * include/grub/misc.h: New variable grub_no_autoload.
9106
9107 * conf/any-emu.rmk: New rules for grub-emu-lite.
9108 * configure.ac: Remove --enable-grub-emu-modules.
9109 * genmk.rb: Cleanup unnecessary rules.
9110 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9111
9112 * normal/main.c: Don't load list files on grub-emu-lite.
9113 * util/misc.c (grub_arch_sync_caches): Removed.
9114
f86a4030
CW
91152010-08-23 Colin Watson <cjwatson@ubuntu.com>
9116
9117 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9118 grub-mkimage rather than grub-mkelfimage.
9119 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9120
06776944
VS
91212010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9124 a key after CapsLock or NumLock. It's just a qemu bug.
9125
df262419
VS
91262010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9129 needed by libusb wrapper.
9130
b40ea81b
ST
91312010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9132
9133 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9134
dee50575
VS
91352010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9138 --nounzip is passed.
9139
fb1d7b79
VS
91402010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 USB hotunplugging and USB serial support.
9143
9144 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9145 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9146 (grub_uhci_transfer): Respect timeout and set *actual.
9147 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9148 non-standard length.
9149 (grub_usb_device_attach): Autoload modules.
9150 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9151 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9152 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9153 users updated.
9154 (grub_usb_add_hub): Fill nports and children.
9155 (attach_root_port): Receive hub instead of controller.
9156 All users updated. Fill hub->devices.
9157 (grub_usb_root_hub): Allocate hub->devices.
9158 (detach_device): New function.
9159 (poll_nonroot_hub): Fill children and detach devices.
9160 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9161 actual arguments. All users updated.
9162 (grub_usb_bulk_read_extended): New function.
9163 * bus/usb/serial/common.c: New file.
9164 * bus/usb/serial/ftdi.c: Likewise.
9165 * bus/usb/serial/pl2303.c: Likewise.
9166 * commands/terminal.c (handle_command): Support wildcard.
9167 * commands/usbtest.c: Output "Unknown" instead of empty string.
9168 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9169 (usbserial_common_mod_SOURCES): New variable.
9170 (usbserial_common_mod_CFLAGS): Likewise.
9171 (usbserial_common_mod_LDFLAGS): Likewise.
9172 (pkglib_MODULES): Add usbserial_pl2303.mod.
9173 (usbserial_pl2303_mod_SOURCES): New variable.
9174 (usbserial_pl2303_mod_CFLAGS): Likewise.
9175 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9176 (pkglib_MODULES): Add usbserial_ftdi.mod.
9177 (usbserial_ftdi_mod_SOURCES): New variable.
9178 (usbserial_ftdi_mod_CFLAGS): Likewise.
9179 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9180 (pkglib_MODULES): Add serial.mod.
9181 (serial_mod_SOURCES): New variable.
9182 (serial_mod_CFLAGS): Likewise.
9183 (serial_mod_LDFLAGS): Likewise.
9184 * conf/i386-pc.rmk: Likewise.
9185 * conf/mips-yeeloong.rmk: Likewise.
9186 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9187 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9188 * disk/usbms.c (first_available_slot): New variable.
9189 (grub_usbms_attach): Don't reuse free slots due to potential cache
9190 problems.
9191 * include/grub/serial.h: Moved to ..
9192 * include/grub/ns8250.h: ...this.
9193 * include/grub/serial.h: New file.
9194 * include/grub/term.h (grub_term_poll_usb): New variable.
9195 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9196 readkey. All users updated.
9197 (grub_terminfo_output_state): Pass term to put.
9198 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9199 (grub_usb_controller_dev): Add timeout and actual arguments to
9200 transfer. All users updated.
9201 (grub_usb_interface): New field detach_data.
9202 (grub_usb_device): New fields children and nports.
9203 (grub_usb_ep_type_t): New type.
9204 (grub_usb_get_ep_type): New function.
9205 (grub_usb_bulk_read_extended): Likewise.
9206 * include/grub/usbdesc.h (grub_usb_desc): New type.
9207 * include/grub/usbserial.h: New file.
9208 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9209 * kern/term.c (grub_term_poll_usb): New variable.
9210 (grub_getkey): Call grub_term_poll_usb if set.
9211 (grub_checkkey): Likewise.
9212 (grub_getkeystatus): Likewise.
9213 * term/serial.c: Moved controller-specific parts to ...
9214 * term/ns8250.c: ... here.
9215 * term/serial.c: Mostly rewritten.
9216 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9217 according to spec.
9218
21a313de
RM
92192010-08-20 Robert Millan <rmh@gnu.org>
9220
9221 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9222 a separate module and maybe other interesting combinations.
9223
9224 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9225 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9226 (kfreebsd_entry): Add generic filesystem module load routine.
9227 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9228
63c734a6
CW
92292010-08-20 Colin Watson <cjwatson@ubuntu.com>
9230
9231 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9232 "numcenter" (I misunderstood the purpose of this entry).
9233 * docs/grub.texi (sendkey): Likewise.
9234
c4d16542
CW
92352010-08-20 Colin Watson <cjwatson@ubuntu.com>
9236
9237 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9238 status flag options; simply omitting the option is equivalent and
9239 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9240 (keysym_table): Rename "num5numlock" to "numlock".
9241 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9242 can uniformly say that only the last of multiple `sendkey'
9243 invocations has any effect.
9244 * docs/grub.texi (sendkey): New section.
9245
93541d66
CW
92462010-08-19 Colin Watson <cjwatson@ubuntu.com>
9247
9248 * commands/i386/pc/sendkey.c (options): Fix three typos.
9249
b4ece5e1
VS
92502010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 Implement sendkey support.
9253
9254 * commands/i386/pc/sendkey.c: New file.
9255 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9256 (sendkey_mod_SOURCES): New variable.
9257 (sendkey_mod_CFLAGS): Likewise.
9258 (sendkey_mod_LDFLAGS): Likewise.
9259
51f1f5af
CW
92602010-08-18 Colin Watson <cjwatson@ubuntu.com>
9261
9262 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9263 fix warnings from Autoconf.
9264
9da94e05
CW
92652010-08-18 Colin Watson <cjwatson@ubuntu.com>
9266
9267 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9268 to avoid false positives with some assemblers that output things
9269 like "someprefix_func" as part of their output.
9270
729a0f2e
RM
92712010-08-15 Robert Millan <rmh@gnu.org>
9272
9273 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9274 errors.
9275 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9276 grub_get_libzfs_handle() errors.
9277
f3710e08
RM
92782010-08-14 Robert Millan <rmh@gnu.org>
9279
9280 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9281 filesystem is not ZFS.
9282
7a3c13de
BC
92832010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9284
9285 Fix for misspelled color names defaulting to black/black (bug
9286 reported by Doug Nazar)
9287
9288 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9289 status to prototype.
9290 * normal/color.c (grub_parse_color_name_pair): Return failure
9291 status.
9292 (grub_env_write_color_normal): Ignore bad color names.
9293 (grub_env_write_color_highlight): Likewise.
9294 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9295
ab8ba50d
BC
92962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9297
9298 "shift" command support to GRUB script.
9299
9300 * include/grub/script_sh.h (grub_script_shift): New prototype.
9301 * script/execute.c (grub_script_shift): New function.
9302 * script/main.c (grub_script_init): Register shift command.
9303 (grub_script_fini): Unregister shift command.
9304 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9305
9306 * tests/grub_script_shift.in: New testcase.
9307 * conf/tests.rmk: Rules for new testcase.
9308
4d61999e
BC
93092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9310
9311 "continue" command support to GRUB script.
9312
9313 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9314 (grub_script_break): Continue support.
9315 * script/main.c (grub_script_init): Register continue command.
9316 (grub_script_fini): Unregister continue command.
9317
9318 * tests/grub_script_continue.in: New testcase.
9319 * conf/tests.rmk: Rules for new testcase.
9320
4df51e00
BC
93212010-08-12 BVK Chaitanya <bvk@dbook>
9322
9323 "break" command support to GRUB script.
9324
9325 * conf/common.rmk: Rule updates to grub-script-check.
9326 * include/grub/misc.h (grub_min): New function.
9327 * include/grub/script_sh.h (grub_script_init): New prototype.
9328 (grub_script_fini): New prototype.
9329 (grub_script_break): New prototype.
9330 * script/main.c (grub_script_init): New function.
9331 (grub_script_fini): New function.
9332 * script/execute.c (grub_script_break): New function.
9333 * normal/main.c: Calls to grub_script_{init,fini}.
9334 * util/grub-script-check.c (grub_script_break): New function.
9335
9336 * tests/grub_script_break.in: New testcase.
9337 * conf/tests.rmk: Rules for new test case.
9338
f12c8420
BC
93392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9340
9341 Function parameters support to GRUB script.
9342
9343 * script/yylex.l (VARIABLE): Regular expression update.
9344 * script/function.c (grub_script_function_call): Moved ...
9345 * script/execute.c (grub_script_function_call): ... to here.
9346 (grub_script_execute_arglist_to_argv): Removed.
9347 (grub_script_arglist_to_argv): New function.
9348 * script/argv.c: New file.
9349 (grub_script_argv_free): New function.
9350 (grub_script_argv_next): Likewise.
9351 (grub_script_argv_append): Likewise.
9352 (grub_script_argv_split_append): Likewise.
9353 * include/grub/script_sh.h (grub_script_argv): New struct.
9354 (grub_script_argv_free): New function.
9355 (grub_script_argv_next): Likewise.
9356 (grub_script_argv_append): Likewise.
9357 (grub_script_argv_split_append): Likewise.
9358
9359 * conf/common.rmk (normal.mod): New source script/argv.c.
9360
9361 * tests/grub_script_echo1.in: More tests.
9362 * tests/grub_script_vars1.in: Likewise.
9363 * tests/grub_script_functions.in: New test case.
9364 * conf/tests.rmk: Rules for new testcase.
9365
8022b748
BC
93662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9367
9368 Remove grub_script_cmdblock struct.
9369
9370 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9371 * script/parser.y: Likewise.
9372 * script/execute.c: Rename cmdblock suffix to cmdlist.
9373 * script/script.c: Likewise.
9374 * util/grub-script-check.c: Likewise.
9375
79a6ba61
YB
93762010-08-11 Yves Blusseau <blusseau@zetam.org>
9377
9378 * .bzrignore: add grub-macho2img
9379
d04b9414
VS
93802010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9383
f947ab49
VS
93842010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 Remove the dump of sm712 initialisation sequence.
9387
9388 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9389 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9390 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9391 (GRUB_VGA_CR_*): Added many registers.
9392 (GRUB_VGA_SR_*): Likewise.
9393 (GRUB_VGA_GR_*): Likewise.
9394 (grub_vga_write_arx): New function.
9395 (grub_video_hw_config): New struct.
9396 (grub_vga_set_geometry): New function.
9397 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9398 GRUB_PCI_CLASS_SUBCLASS_VGA.
9399 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9400 * video/sm712.c (grub_sm712_write_reg): New function
9401 (grub_sm712_read_reg): Likewise.
9402 (grub_sm712_sr_write): Likewise.
9403 (grub_sm712_gr_write): Likewise.
9404 (grub_sm712_cr_write): Likewise.
9405 (grub_sm712_write_arx): Likewise.
9406 (grub_sm712_cr_shadow_write): Likewise.
9407 (grub_sm712_write_dda_lookup): Likewise.
9408 (grub_video_sm712_setup): Initialise the video rather then
9409 blindly replay the dump.
9410 (main) [TEST]: Add a routine to be able to compile as standalone for
9411 tests.
9412 * video/sm712_init.c (sm712_init): Removed.
9413 (sm712_sr_seq1): New array.
9414 (sm712_sr_seq2): Likewise.
9415
f0206638
VS
94162010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * include/grub/vga.h: Add missing grub/pci.h include.
9419
2764da3b
YB
94202010-08-10 Yves Blusseau <blusseau@zetam.org>
9421
9422 * util/grub-macho2img.c (main): fix typo
9423
cf0c775e
VS
94242010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9425
9426 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9427 (grub_vga_gr_read): Likewise.
9428 (grub_vga_cr_write): Likewise.
9429 (grub_vga_cr_read): Likewise.
9430 (grub_vga_sr_write): Likewise.
9431 (grub_vga_sr_read): Likewise.
9432 (grub_vga_palette_read): Likewise.
9433 (grub_vga_palette_write): Likewise.
9434 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9435 (grub_sm712_sr_read): New function.
9436 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9437 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9438
07f360e9
RM
94392010-08-09 Robert Millan <rmh@gnu.org>
9440
9441 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9442 out unused variables on non-ZFS build.
9443
346c2072
RM
94442010-08-08 Robert Millan <rmh@gnu.org>
9445
9446 Fix path generation for sub-filesystems in ZFS.
9447
9448 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9449 missing slash.
9450
71175420
RM
94512010-08-08 Robert Millan <rmh@gnu.org>
9452
9453 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9454
0d8286f3
RM
94552010-08-08 Robert Millan <rmh@gnu.org>
9456
9457 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9458 exist, issue a proper error message (rely on `ls' for translated
9459 strings).
9460
55dd2924
RM
94612010-08-08 Robert Millan <rmh@gnu.org>
9462
9463 Fix grub-probe invocation.
9464
9465 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9466
d3dd9e80
RM
94672010-08-04 Robert Millan <rmh@gnu.org>
9468
9469 * configure.ac: Remove checks for getfsstat() and getmntany().
9470 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9471 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9472 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9473 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9474 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9475 function.
9476 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9477 via find_mount_point_from_dir() and getfsstat() / getmntany().
9478
0de22aa9
RM
94792010-08-04 Robert Millan <rmh@gnu.org>
9480
9481 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9482 (grub_find_zpool_from_mount_point): Merge into ...
9483 (grub_find_zpool_from_dir): ... this.
9484 * kern/emu/misc.c: Likewise.
9485
9486 * kern/emu/misc.c
9487 (grub_make_system_path_relative_to_its_root): Replace
9488 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9489 with grub_find_zpool_from_dir().
9490 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9491
62858144
RM
94922010-08-04 Robert Millan <rmh@gnu.org>
9493
9494 Support OpenSolaris in ZFS device resolution.
9495
9496 * configure.ac: Check for getmntany().
9497 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9498 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9499 support.
9500
9dd6fd50
RM
95012010-08-03 Robert Millan <rmh@gnu.org>
9502
9503 Fix grub-emu build.
9504
9505 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9506 * include/grub/emu/misc.h: ... here.
9507
9508 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9509 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9510
9511 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9512 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9513 (grub_get_libzfs_handle): Move to ...
9514 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9515 (grub_get_libzfs_handle): ... here.
9516
c9f7ff97
BC
95172010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9518
9519 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9520 as command name case.
9521
a870a783
CW
95222010-08-02 Colin Watson <cjwatson@ubuntu.com>
9523
9524 * disk/raid.c (insert_array): Select unique numbers for named arrays
9525 as well, for use as keys in the disk cache.
9526
c7db243b
RM
95272010-08-01 Robert Millan <rmh@gnu.org>
9528
9529 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9530 kFreeBSD device name, except on ZFS where the filesystem label is
9531 used.
9532 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9533 `/boot/zfs/zpool.cache'.
9534 Set mountfrom kernel variable using ${kfreebsd_device}.
9535
f7abdefb
RM
95362010-08-01 Robert Millan <rmh@gnu.org>
9537
9538 Make it even harder to use uninitialized `libzfs_handle' (and
9539 make the interface a bit simpler).
9540
9541 * include/grub/util/misc.h (grub_util_init_libzfs)
9542 (libzfs_handle): Remove.
9543 (grub_get_libzfs_handle): New prototype.
9544
9545 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9546 attribute.
9547 (grub_util_init_libzfs): Remove.
9548 (grub_get_libzfs_handle): New function.
9549
9550 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9551 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9552 accessing `libzfs_handle' directly.
9553
c882acc0
RM
95542010-08-01 Robert Millan <rmh@gnu.org>
9555
9556 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9557 (grub_find_zpool_from_mount_point): New function prototypes.
9558
9559 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9560 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9561
9562 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9563 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9564 `static' attribute.
9565
9566 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9567 finding zpool from mount point into ...
9568 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9569
9570 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9571 requested path is part of a ZFS pool, use
9572 grub_find_zpool_from_mount_point() to detect its filesystem name,
9573 and generate a path with `/fsname@path' syntax.
9574
8bfe31d8
CW
95752010-08-01 Colin Watson <cjwatson@ubuntu.com>
9576
9577 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9578 (void) rather than () so that this is a proper prototype.
9579
553df63d
VS
95802010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9583
8687cf07
VS
95842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9587 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9588
ea9be8ea
CW
95892010-08-01 Colin Watson <cjwatson@ubuntu.com>
9590
9591 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9592
6eea041a
CW
95932010-08-01 Colin Watson <cjwatson@ubuntu.com>
9594
9595 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9596
2cfb45df
CW
95972010-08-01 Colin Watson <cjwatson@ubuntu.com>
9598
9599 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9600 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9601 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9602 disable gfxpayload.
9603 (Shell-like scripting): Add real content.
9604 (Serial terminal): Suggest `terminal_input serial; terminal_output
9605 serial' rather than putting the two commands on separate lines,
9606 since console input will be inoperative after the first command.
9607 (menuentry): Document --class, --users, and --hotkey options.
9608 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9609 Vladimir Serbinenko).
9610
7decd202
VS
96112010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
96122010-08-01 Colin Watson <cjwatson@ubuntu.com>
9613
9614 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9615
c882acc0
RM
96162010-08-01 Robert Millan <rmh@gnu.org>
9617
9618 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9619 (grub_find_zpool_from_mount_point): New function prototypes.
9620
9621 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9622 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9623
9624 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9625 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9626 `static' attribute.
9627
9628 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9629 finding zpool from mount point into ...
9630 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9631
9632 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9633 requested path is part of a ZFS pool, use
9634 grub_find_zpool_from_mount_point() to detect its filesystem name,
9635 and generate a path with `/fsname@path' syntax.
9636
deb0caa3
RM
96372010-08-01 Robert Millan <rmh@gnu.org>
9638
9639 Prevent accidental use of uninitialized libzfs_handle.
9640
9641 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9642 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9643 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9644
ce04ef47
CW
96452010-08-01 Colin Watson <cjwatson@ubuntu.com>
9646
9647 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9648 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9649
ebf53056
RM
96502010-08-01 Robert Millan <rmh@gnu.org>
9651
9652 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 9653
3710bb6b
RM
96542010-07-31 Robert Millan <rmh@gnu.org>
9655
9656 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9657
8072efeb
RM
96582010-07-31 Robert Millan <rmh@gnu.org>
9659
9660 * kern/emu/misc.c: Add missing license header.
9661
3169f4c7
RM
96622010-07-31 Robert Millan <rmh@gnu.org>
9663
9664 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9665
9666 * include/grub/util/libnvpair.h: Include `<config.h>'.
9667 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9668 declaring libnvpair prototypes ourselves.
9669 * include/grub/util/libzfs.h: Include `<config.h>'.
9670 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9671 declaring libzfs prototypes ourselves.
9672
9673 (libzfs_handle): Moved to ...
9674 * include/grub/util/misc.h (libzfs_handle): ... here.
9675 Include `<grub/util/libzfs.h>'.
9676
c9a00aee
RM
96772010-07-30 Robert Millan <rmh@gnu.org>
9678
9679 * include/grub/emu/misc.h: Add missing license header.
9680
a184f9c8
RM
96812010-07-30 Robert Millan <rmh@gnu.org>
9682
9683 Enable `grub-probe -t device' resolution on ZFS.
9684
9685 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9686 * include/grub/util/libnvpair.h: New file.
9687 * include/grub/util/libzfs.h: New file.
9688
9689 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9690 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9691 `<grub/util/libnvpair.h>'.
9692 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9693
9694 (find_mount_point_from_dir): New static function.
9695 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9696 function.
9697 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9698 find_root_device_from_libzfs() before ressorting to find_root_device().
9699
9700 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9701 prototype.
9702 * util/misc.c: Include `<grub/util/libzfs.h>'.
9703 (grub_util_init_libzfs): New function.
9704 [HAVE_LIBZFS] (libzfs_handle): New global variable.
9705 [HAVE_LIBZFS] (fini_libzfs): New static function.
9706 (grub_util_init_libzfs): New function.
9707 * util/grub-probe.c (main): Call grub_util_init_libzfs().
9708
f7790cdd
RM
97092010-07-30 Robert Millan <rmh@gnu.org>
9710
9711 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
9712 (xmalloc, xrealloc, xstrdup, xasprintf): Add
9713 `warn_unused_result' attribute.
9714 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
9715 (grub_xasprintf, grub_xvasprintf): Likewise.
9716 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9717
0806b63c
RM
97182010-07-29 Robert Millan <rmh@gnu.org>
9719
9720 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
9721 (probe): Handle `PRINT_FS_LABEL'.
9722 (main): Handle `-t fs_label'.
9723
9f841f5c
RM
97242010-07-29 Robert Millan <rmh@gnu.org>
9725
9726 * configure.ac: Remove grub-mkisofs checks.
9727
46371121
VS
97282010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * util/ieee1275/grub-install.in: Don't use empty grub_device.
9731 Reported by: Lennart Sorensen.
9732
97332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
9736 prior to terminal_input/terminal_output separation. It's been over 1.5
9737 years and those versions weren't widely deployed.
9738
a9600892
CW
97392010-07-22 Colin Watson <cjwatson@ubuntu.com>
9740
9741 * disk/raid.c (insert_array): Don't count named arrays when looking
9742 for unused array numbers.
697e053c 9743 Reported and tested by: Michael Guntsche.
a9600892 9744
c03507df
CW
97452010-07-20 Colin Watson <cjwatson@ubuntu.com>
9746
9747 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
9748 implementation of this so that grub-emu links again, with a note
9749 that this should support hotplugging in the future.
9750
b26f1c11
CW
97512010-07-20 Colin Watson <cjwatson@ubuntu.com>
9752
9753 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9754
efc9d7f1
CW
97552010-07-20 Colin Watson <cjwatson@ubuntu.com>
9756
9757 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
9758 handle on failure.
9759 (grub_loopback_close): Remove empty function.
9760 (grub_loopback_dev): Remove close method.
9761
dd8ff5c9
CW
97622010-07-20 Colin Watson <cjwatson@ubuntu.com>
9763
9764 Disable EFI cursor when the EFI console becomes inactive.
9765
9766 * term/efi/console.c (grub_efi_console_init): New function.
9767 (grub_efi_console_fini): New function.
9768 (grub_console_term_output): Register init and fini methods.
9769
5e3bec67
VS
97702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * tests/util/grub-shell-tester.in: Remove bashism and declare as
9773 sh script.
9774
afaec079
VS
97752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * disk/loopback.c (grub_loopback): Replace filename with file.
9778 (delete_loopback): Handle new semantics.
9779 (grub_cmd_loopback): Likewise.
9780 (grub_loopback_iterate): Likewise.
9781 (grub_loopback_close): Likewise.
9782
a6a11f3c
VS
97832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9784
9785 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
9786 with -p "".
9787 Reported by: Tito Keitel.
9788
64a638b0
VS
97892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9790
9791 * docs/grub.texi (Naming convention): Document new naming convention.
9792
ab8ba957
VS
97932010-07-20 Vadim Solomin <vadic052@gmail.com>
97942010-07-20 Colin Watson <cjwatson@ubuntu.com>
9795
9796 Generate device.map in something closer to the old ordering.
9797
9798 * util/deviceiter.c (struct device): New declaration.
9799 (compare_file_names): Rename to ...
9800 (compare_devices): ... this. Sort by kernel name in preference to
9801 the stable by-id name, but keep the latter as a fallback comparison.
9802 Update header comment.
9803 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
9804 of `struct device' rather than of plain file names.
9805
a29d6a4b
TF
98062010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
9807
9808 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
9809 on i386.
9810
39d824e8
VS
98112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9812
9813 * commands/acpi.c (setup_common_tables): Use sizeof instead of
9814 hardcoding size.
9815 (setv1table): Likewise.
9816
f058276b
FZ
98172010-07-20 Colin Watson <cjwatson@ubuntu.com>
9818
9819 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
9820 removing the homehost if present.
9821 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
9822 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
9823 removing the homehost if present.
9824 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
9825 if possible.
9826 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
9827
9828 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
9829 parameter. Set its pointer target to 0.
9830 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
9831 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
9832 `data_offset' value from the superblock for 1.x metadata.
9833 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
9834 data on the device.
9835 (insert_array): Record the start sector of data on the device.
9836 (grub_raid_register): Pass start_sector parameters to
9837 grub_raid_list->detect and insert_array.
9838 * include/grub/raid.h (struct grub_raid_array): Add start_sector
9839 member.
9840 (struct grub_raid): Add start_sector parameter to `detect'.
9841
9842 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
9843 __attribute__ ((packed)), leaving a comment.
9844 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
9845 (grub_mdraid_detect_09): ... here and ...
9846 (grub_mdraid_detect_1x): ... here.
9847
98482010-07-20 Peter Henn <peter.henn@web.de>
9849
9850 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
9851 chunk size and disk size, which are already given as sector counts
9852 as distinct from the 0.90 units. Fetch the correct device number
9853 from the role table instead of using the table index.
9854
98552010-07-20 Felix Zielcke <fzielcke@z-51.de>
9856
9857 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
9858 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
9859 (WriteMostly1): New macro.
9860 Set array->name to NULL for metadata format 0.90. Add support for
9861 metadata 1.x. Fix some comments.
9862 * disk/raid.c (): Add support for name based RAID arrays. Fix a
9863 few comments.
9864 * util/getroot.c (grub_util_get_grub_dev): Add support for
9865 /dev/md/name style devices.
9866
4b761da9
CW
98672010-07-20 Colin Watson <cjwatson@ubuntu.com>
9868
9869 * .bzrignore: Ignore 20_linux_xen.
9870
5771289a
CW
98712010-07-17 Colin Watson <cjwatson@ubuntu.com>
9872
9873 * util/import_unicode.py: Remove unnecessary imports.
9874
5dab68df
AN
98752010-07-17 Aleš Nesrsta <starous@volny.cz>
9876
9877 Hotplugging and USB hub support.
9878
9879 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
9880 (grub_ohci): Likewise.
9881 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
9882 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
9883 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
9884 (GRUB_OHCI_CTRL_EDS): Likewise.
9885 (GRUB_OHCI_BULK_EDS): Likewise.
9886 (GRUB_OHCI_TDS): Likewise.
9887 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
9888 (grub_ohci_ed_phys2virt): New function.
9889 (grub_ohci_virt_to_phys): Likewise.
9890 (grub_ohci_td_phys2virt): Likewise.
9891 (grub_ohci_td_virt2phys): Likewise.
9892 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
9893 attachment.
9894 (grub_ohci_find_ed): New function.
9895 (grub_ohci_alloc_td): Likewise.
9896 (grub_ohci_free_td): Likewise.
9897 (grub_ohci_free_tds): Likewise.
9898 (grub_ohci_transfer): Use previously allocated memory.
9899 (grub_ohci_portstatus): Reset status changed bit.
9900 (grub_ohci_detect_dev): Supply status changed.
9901 (grub_ohci_fini_hw): Free memory.
9902 (grub_ohci_restore_hw): Reallocate memory.
9903 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
9904 Reset status change.
9905 (grub_uhci_detect_dev): Supply status_change.
9906 * bus/usb/usb.c (attach_hooks): New var.
9907 (grub_usb_device_attach): New function.
9908 (grub_usb_register_attach_hook_class): Likewise.
9909 (grub_usb_unregister_attach_hook_class): Likewise.
9910 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
9911 (grub_usb_add_hub): Reset connection changed bit.
9912 (attach_root_port): New function.
9913 (grub_usb_root_hub): Likewise.
9914 (poll_nonroot_hub): Likewise.
9915 (grub_usb_poll_devices): Likewise.
9916 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
9917 * disk/usbms.c (grub_usbms_open): Use device hooks.
9918 (grub_usbms_iterate) :Poll devices.
9919 (grub_usbms_finddevs): Split into ...
9920 (grub_usbms_attach): ... this ...
9921 (grub_usbms_attach): ... and this.
9922 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
9923 in detect_dev.
9924 (grub_usb_interface): New fields attached and detach_hook.
9925 (grub_usb_attach_hook_class): New type.
9926 (grub_usb_attach_desc): New struct.
9927 (grub_usb_register_attach_hook_class): New function.
9928 (grub_usb_unregister_attach_hook_class): Likewise.
9929 (grub_usb_poll_devices): Likewise.
9930 (grub_usb_device_attach): Likewise.
9931 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
9932 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
9933
3222efaf
VS
99342010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
9937 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
9938 delta determination style. Works with most NetBSD partitions too.
9939
139b714a
VS
99402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
9943 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
9944
986aad56
VS
99452010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9946
9947 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
9948
99be513c
AB
99492010-07-14 Anton Blanchard <anton@samba.org>
9950
9951 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9952 ET_DYN files.
9953
18075f62
GS
99542010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9955
9956 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9957
8d9a5b15
GS
99582010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9959
9960 * kern/partition.c (grub_partition_check_containment): New function to
9961 check that a partition is physically contained in a parent. Since
9962 offsets are relative (and non-negative), this reduces to checking that
9963 the partition ends before its parent.
9964 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9965 (grub_partition_iterate): Likewise.
9966 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9967 comments.
9968 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9969 partitions that start before their parent, and add debug printfs.
9970
19563c25
CW
99712010-07-13 Colin Watson <cjwatson@ubuntu.com>
9972
9973 * Makefile.in (.SUFFIX): Spell correctly, as ...
9974 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9975 bare module name without `.mod', e.g. `test') tried to invoke a
9976 Modula-2 compiler.
9977
1a1f1e67
CW
99782010-07-13 Colin Watson <cjwatson@ubuntu.com>
9979
9980 * README: Point to the Info manual.
9981
811b0dca
JS
99822010-07-13 Jiro SEKIBA <jir@unicus.jp>
9983
9984 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9985 2nd superblock position from partition size.
9986
e4f4eafc
CW
99872010-07-10 Colin Watson <cjwatson@ubuntu.com>
9988
9989 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9990 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9991 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9992 outputs.
9993
4274c30f
VS
99942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 Restructure SCSI .id handling.
9997 Reported and tested by: Aleš Nesrsta.
9998
9999 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10000 (grub_atapi_dev): Changed .name to "ata". New field .id.
10001 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10002 (grub_usbms_dev): New field .id.
10003 * disk/scsi.c (grub_scsi_iterate): Generate name.
10004 (grub_scsi_open): Parse name.
10005 * include/grub/scsi.h (grub_make_scsi_id): New function.
10006 (grub_scsi_dev): Change iterate and open to number instead of naming
10007 busses. All users updated.
10008 (grub_scsi): Remove name. Add .bus.
10009
5bc24388
VS
100102010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * commands/help.c (grub_cmd_help): Fix a typo.
10013
249975ba
VS
100142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10017 Reported and tested by: Colin Watson.
10018
3eaac1a1
VS
100192010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10022 in this context.
10023
becce1b1
VS
100242010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10025
10026 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10027
f7bf0918
CW
100282010-07-07 Colin Watson <cjwatson@ubuntu.com>
10029
10030 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10031 indentation.
10032
0b0f9620
CW
100332010-07-06 Colin Watson <cjwatson@ubuntu.com>
10034
10035 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10036 and disk/raid6_recover.c.
10037 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10038 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10039
1e545469
CW
100402010-07-06 Colin Watson <cjwatson@ubuntu.com>
10041
10042 * term/gfxterm.c (repaint_schedulded): Rename to ...
10043 (repaint_scheduled): ... this. Update all callers.
10044 (repaint_was_schedulded): Rename to ...
10045 (repaint_was_scheduled): ... this. Update all callers.
10046
5357687a
CW
100472010-07-06 Colin Watson <cjwatson@ubuntu.com>
10048
10049 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10050 which we expect to be handled by upper layers.
10051
29d7e783
BC
100522010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10053
10054 * bus/usb/usbhub.c: #include time.h header.
10055
37582066
CW
100562010-07-06 Colin Watson <cjwatson@ubuntu.com>
10057
10058 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10059 entry_name also for entries without stat blocks (e.g. ".."); fixes
10060 corruption of the first entry in a directory.
10061
c8c06953
CW
100622010-07-06 Colin Watson <cjwatson@ubuntu.com>
10063
10064 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10065 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10066 doesn't work otherwise.
10067
e75056f1
CW
100682010-07-05 Colin Watson <cjwatson@ubuntu.com>
10069
10070 * docs/grub.texi (Features): Update list of supported file systems.
10071 (GNU/Linux): Update for GRUB 2.
10072 (Serial terminal): Remove mention of --disable-serial, which was a
10073 GRUB Legacy configure option. Update instructions to use
10074 `terminal_input' and `terminal_output' rather than `terminal'.
10075 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10076 configuration' and `Installing GRUB using grub-install'.
10077 (Menu entry editor): Update for GRUB 2.
10078 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10079 Document new -a, -u, and -v options.
10080 (initrd): New section.
10081 (initrd16): New section.
10082 (linux): New section.
10083 (linux16): New section.
10084 (search): The `var' argument to `--set' is optional.
10085 (GRUB only offers a rescue shell): Go into a little more detail on
10086 drive ordering.
10087
5cf69151
CW
100882010-07-05 Colin Watson <cjwatson@ubuntu.com>
10089
10090 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10091
e3f90044
CW
100922010-07-05 Colin Watson <cjwatson@ubuntu.com>
10093
10094 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10095 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10096
38d8f4f3
CW
100972010-07-05 Colin Watson <cjwatson@ubuntu.com>
10098
10099 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10100 install_prefix, in line with install_dos_part and install_bsd_part.
10101 Add new prefix variable, which is copied to install_prefix after
10102 comparing core.img in memory with the one read from disk in the
10103 no-embedding case, and use that rather than overwriting
10104 install_prefix immediately when installing to a partition.
10105 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10106 Bicakci.
10107
57ebd41e
GS
101082010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10109
10110 * configure.ac: Avoid == in test command, it's not portable.
10111 * util/grub.d/30_os-prober.in: Likewise.
10112
cb7f64b2
CW
101132010-07-04 Colin Watson <cjwatson@ubuntu.com>
10114
10115 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10116
6b654bb0
GS
101172010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10118
10119 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10120 multiple (top-level) partmaps.
10121
72a2026d
VS
101222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10125 Reported by: Tino Keitel.
72a2026d 10126
df3eb88f
VS
101272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10128
10129 Bidi and diacritics support.
10130
10131 * Makefile.in (widthspec.bin): New target.
10132 (widthspec.h): Likewise.
10133 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10134 * autogen.sh: Generate unidata.c.
10135 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10136 * commands/ls.c (grub_ls_list_devices): Likewise.
10137 (grub_ls_list_files): Likewise.
10138 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10139 (grub_mini_cmd_lsmod): Likewise.
10140 * commands/read.c: Likewise.
10141 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10142 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10143 * lib/arg.c (grub_arg_show_help): Likewise.
10144 * lib/crypto.c (grub_password_get): Likewise.
10145 * normal/auth.c (grub_username_get): Likewise.
10146 * normal/misc.c (grub_normal_print_device_info): Likewise.
10147 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10148 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10149 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10150 (normal/charset.c_DEPENDENCIES): New variable.
10151 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10152 (pkglib_MODULES): Remove charset.mod.
10153 (charset_mod_SOURCES): Removed.
10154 (charset_mod_CFLAGS): Likewise.
10155 (charset_mod_LDFLAGS): Likewise.
10156 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10157 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10158 and term/tparm.c.
10159 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10160 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10161 (kernel_img_HEADERS): Add terminfo.h.
10162 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10163 Fill ->font. Reverse ascii bitmaps.
10164 (grub_font_get_xheight): New function.
10165 * font/font.c (grub_font_get_string_width): Moved from here ...
10166 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10167 * font/font.c (grub_font_draw_string): Moved from here ...
10168 * gfxmenu/font.c (grub_font_draw_string): ... here.
10169 * font/font.c (grub_font_dup_glyph): New function.
10170 (grub_font_blit_glyph): Likewise.
10171 (grub_font_blit_glyph_mirror): Likewise.
10172 (blit_comb): Likewise.
10173 (grub_font_construct_dry_run): Likewise.
10174 (grub_font_get_constructed_device_width): Likewise.
10175 (grub_font_construct_glyph): Likewise.
10176 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10177 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10178 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10179 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10180 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10181 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10182 (grub_font_get_xheight): New proto.
10183 (grub_font_get_constructed_device_width): Likewise.
10184 (grub_font_construct_glyph): Likewise.
10185 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10186 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10187 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10188 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10189 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10190 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10191 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10192 (grub_console_getcharwidth): Likewise.
10193 * include/grub/misc.h (grub_xputs): New proto.
10194 (grub_puts): Inlined.
10195 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10196 (grub_normal_get_line_counter): Removed.
10197 (grub_install_newline_hook): Likewise.
10198 (grub_normal_get_char_counter): New proto.
10199 (grub_normal_reset_more): Likewise.
10200 (grub_xputs_normal): Likewise.
10201 * include/grub/powerpc/ieee1275/console.h: Removed.
10202 * include/grub/sparc64/ieee1275/console.h: Likewise.
10203 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10204 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10205 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10206 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10207 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10208 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10209 (grub_term_input): Pass reference to self. All users updated.
10210 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10211 Pass reference to self. New fields normal_color, highlight_color and
10212 data. All users updated.
10213 (grub_putchar): Removed.
10214 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10215 (grub_unicode_estimate_width): New function.
10216 (grub_term_getcharwidth): Add defaults.
10217 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10218 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10219 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10220 (grub_cls): Remove EXPORT_FUNC.
10221 (grub_setcolorstate): Inline.
10222 (grub_newline_hook): Removed.
10223 * include/grub/terminfo.h: Rewritten. All users updated.
10224 * include/grub/unicode.h: New file.
10225 * include/grub/video.h (grub_video_signed_rect): New type.
10226 * kern/emu/console.c (grub_console_highlight_color): Removed.
10227 (grub_console_normal_color): Likewise.
10228 (grub_console_standard_color): Made static.
10229 (grub_ncurses_putchar): Remove mapping.
10230 (grub_ncurses_getcharwidth): Removed.
10231 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10232 (grub_ncurses_setcolor): Removed.
10233 (grub_ncurses_getcolor): Likewise.
10234 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10235 (grub_console_putchar): ... this.
10236 (grub_console_putchar): Handle argument difference.
10237 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10238 console_init_early and console_init_lately.
10239 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10240 * kern/misc.c (grub_puts): Removed.
10241 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10242 (grub_vsnprintf_real): Remove str = NULL support.
10243 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10244 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10245 * kern/term.c (grub_putcode): Renamed to ...
10246 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10247 (grub_putchar): Removed.
10248 (grub_xputs_dumb): New function.
10249 (grub_xputs): New variable.
10250 * lib/charset.c: Move from here ...
10251 * normal/charset.c: ... to here.
10252 (grub_ucs4_to_utf8): New function.
10253 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10254 (join_types): New variable.
10255 (unpack_join): New function.
10256 (bidi_types): New variable.
10257 (unpack_bidi): New function.
10258 (get_bidi_type): Likewise.
10259 (get_join_type): Likewise.
10260 (is_mirrored): Likewise.
10261 (grub_unicode_get_comb_type): Likewise.
10262 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10263 (is_type_after): Likewise.
10264 (grub_unicode_aglomerate_comb): Likewise.
10265 (bidi_line_wrap): Likewise.
10266 (grub_bidi_line_logical_to_visual): Likewise.
10267 (grub_bidi_logical_to_visual): Likewise.
10268 (grub_unicode_mirror_code): Likewise.
10269 (grub_unicode_shape_code): Likewise.
10270 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10271 Don't use grub_putchar.
10272 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10273 (grub_normal_reader_init): Likewise.
10274 (grub_xputs_saved): New variable.
10275 (GRUB_MOD_INIT): Set grub_xputs.
10276 (GRUB_MOD_FINI): Restore grub_xputs.
10277 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10278 (menu_init): Avoid printing gfxmenu error.
10279 (show_menu): Use grub_normal_get_char_counter.
10280 * normal/menu_entry.c (update_screen): Fix out-of-array.
10281 (complete): Avoid NULL dereferencing.
10282 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10283 * normal/menu_text.c (print_spaces): Removed.
10284 (grub_print_ucs4): Likewise.
10285 (grub_print_message_indented): Use grub_print_ucs4.
10286 (print_message): Use grub_putcode.
10287 (print_entry): Hanlde diacritics.
10288 * normal/term.c (term_state): New type.
10289 (grub_more_lines): Removed.
10290 (term_states): New variable.
10291 (grub_normal_line_counter): Renamed to ..
10292 (grub_normal_char_counter): ...this. All users updated.
10293 (grub_normal_get_line_counter): Renamed to ...
10294 (grub_normal_get_char_counter): ... this.
10295 (grub_normal_reset_more): New function.
10296 (process_newline): Removed.
10297 (print_more): New function.
10298 (grub_install_newline_hook): Removed.
10299 (map_code): New function.
10300 (grub_puts_terminal): Use grub_print_ucs4.
10301 (putglyph): New function.
10302 (putcode_real): Likewise.
10303 (grub_putcode): Use putcode_real.
10304 (get_maxwidth): New function.
10305 (get_startwidth): Likewise.
10306 (print_ucs4_terminal): Likewise.
10307 (find_term_state): Likewise.
10308 (put_glyphs_terminal): Likewise.
10309 (print_backlog): Likewise.
10310 (print_ucs4_real): Likewise.
10311 (grub_print_ucs4): Likewise.
10312 (grub_xputs_normal): Likewise.
10313 * term/efi/console.c (grub_console_putchar): Output diacritics.
10314 (grub_console_getcharwidth): Removed.
10315 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10316 * term/gfxterm.c (clear_char): Free chars.
10317 (scroll_up): Avoid leaking memory.
10318 (grub_gfxterm_putchar): Support diacritics.
10319 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10320 * term/i386/pc/console.c (grub_console_term_output): Declare as
10321 GRUB_TERM_CODE_TYPE_VGA.
10322 * term/i386/pc/vga.c (grub_vga_term): Declare as
10323 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10324 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10325 GRUB_TERM_CODE_TYPE_VGA.
10326 * term/i386/vga_common.c (map_char): Removed.
10327 (grub_console_putchar): Likewise.
10328 (grub_console_getcharwidth): Likewise.
10329 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10330 (colors): Reordered to match terminfo.
10331 (grub_ofconsole_normal_color): Removed.
10332 (grub_ofconsole_writeesc): Likewise.
10333 (grub_ofconsole_highlight_color): Likewise.
10334 (grub_ofconsole_getcharwidth): Likewise.
10335 (grub_ofconsole_setcolorstate): Likewise.
10336 (grub_ofconsole_setcolor): Likewise.
10337 (grub_ofconsole_getcolor): Likewise.
10338 (grub_ofconsole_readkey): Renamed to ...
10339 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10340 key.
10341 (grub_ofconsole_checkkey): Removed.
10342 (grub_ofconsole_getkey): Likewise.
10343 (grub_ofconsole_getxy): Likewise.
10344 (grub_ofconsole_gotoxy): Likewise.
10345 (grub_ofconsole_cls): Likewise.
10346 (grub_ofconsole_refresh): Likewise.
10347 (grub_ofconsole_terminfo_input): New struct.
10348 (grub_ofconsole_terminfo_output): Likewise.
10349 (grub_ofconsole_term_input): Use terminfo.
10350 (grub_ofconsole_term_output): Likewise.
10351 (grub_console_init): Split into ...
10352 (grub_console_init_early): ...this and ...
10353 (grub_console_init_lately): ...this. Use terminfo.
10354 (grub_ofconsole_putchar): Renamed to ...
10355 (put): ... this. Remove mapping.
10356 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10357 * term/serial.c: Simplify using terminfo.
10358 (xpos): Removed.
10359 (ypos): Likewise.
10360 (keep_track): Likewise.
10361 (registered): Likewise.
10362 (input_buf): Likewise.
10363 (npending): Likewise.
10364 (serial_translate_key_sequence): Likewise.
10365 (fill_input_buf): Likewise.
10366 (grub_serial_checkkey): Likewise.
10367 (grub_serial_getkey): Likewise.
10368 (grub_serial_getxy): Likewise.
10369 (grub_serial_gotoxy): Likewise.
10370 (grub_serial_putchar): Likewise.
10371 (grub_serial_cls): Likewise.
10372 (grub_serial_setcolorstate): Likewise.
10373 (grub_serial_setcursor): Likewise.
10374 (serial_hw_init): Use serial_hw_fetch.
10375 (grub_serial_terminfo_input): New variable.
10376 (grub_serial_terminfo_output): Likewise.
10377 (grub_serial_term_input): Use terminfo.
10378 (grub_serial_term_output): Likewise.
10379 * term/terminfo.c (putstr): Use put.
10380 (grub_terminfo_all_free): New function
10381 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10382 (grub_terminfo_output_register): New function.
10383 (grub_terminfo_output_unregister): Likewise.
10384 (grub_terminfo_getxy): Likewise.
10385 (grub_terminfo_readkey): Likewise.
10386 (grub_terminfo_checkkey): Likewise.
10387 (grub_terminfo_getkey): Likewise.
10388 (grub_terminfo_input_init): Likewise.
10389 (print_terminfo): Likewise.
10390 (grub_cmd_terminfo): Handle encoding.
10391 (grub_terminfo_gotoxy): Track position.
10392 (grub_terminfo_cls): Likewise.
10393 (grub_terminfo_putchar): Likewise.
10394 (grub_terminfo_setcolorstate): Handle colors
10395 (grub_terminfo_cursor_on): This ...
10396 (grub_terminfo_cursor_off): ... and this merged into ...
10397 (grub_terminfo_setcursor): ... this.
10398 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10399 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10400 * unicode/BidiMirroring.txt: Likewise.
10401 * unicode/UnicodeData.txt: Likewise.
10402 * unicode/COPYING: Likewise.
10403 * util/grub-editenv.c (grub_putchar): Removed.
10404 (grub_xputs_real): New function.
10405 (grub_xputs): New variable.
10406 * util/grub-fstest.c (grub_putchar): Removed.
10407 (grub_xputs_real): New function.
10408 (grub_xputs): New variable.
10409 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10410 (grub_xputs_real): New function.
10411 (grub_xputs): New variable.
10412 * util/grub-probe.c (grub_putchar): Removed.
10413 (grub_xputs_real): New function.
10414 (grub_xputs): New variable.
10415 * util/grub-script-check.c (grub_putchar): Removed.
10416 (grub_xputs_real): New function.
10417 (grub_xputs): New variable.
10418 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10419 (grub_xputs_real): New function.
10420 (grub_xputs): New variable.
10421 * util/import_unicode.py: New file.
10422 * util/grub-mkfont.c (ft_errmsgs): New array.
10423 (grub_glyph_info): Make bitmap a pointer.
10424 (file_formats): New type WIDTH_SPEC.
10425 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10426 (options): Add width-spec.
10427 (help): Likewise.
10428 (add_char): Renamed to ...
10429 (add_glyph): ... this.
10430 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10431 (glyph_replace): New type.
10432 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10433 (add_char): New function.
10434 (add_subst): Likewise.
10435 (process_cursive): Likewise.
10436 (add_font): Handle GSUB.
10437 (write_font_width_spec): New function.
10438 (main): Sort glyphs.
10439 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10440 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10441 * kern/term.c (grub_cls): Moved from here...
10442 * normal/term.c (grub_cls): ... here.
10443
50f0bcda
CW
104442010-07-02 Colin Watson <cjwatson@ubuntu.com>
10445
10446 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10447 suitable for using within the format argument of printf when
10448 converting grub_size_t.
10449 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10450 "x" to convert grub_size_t arguments.
10451
40372103
VS
104522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10455 too long captions.
10456 (list_get_minimal_size): Take selection box into account.
10457
942a10c7
VS
104582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10461 NULL font.
10462
2bdb2892
CW
104632010-07-02 Colin Watson <cjwatson@ubuntu.com>
10464
10465 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10466 devices when iterating over /dev/disk/by-id; they will be handled
10467 later if appropriate, which they aren't always (e.g. LVM).
10468
e03ed6c1
CW
104692010-07-02 Colin Watson <cjwatson@ubuntu.com>
10470
10471 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10472 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10473 fails.
10474 (grub_halt): Likewise.
10475 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10476 reset-all fails.
10477 (grub_halt): Don't return, even if all of shut-down, power-off, and
10478 poweroff fail.
10479
47695765
CW
104802010-07-02 Colin Watson <cjwatson@ubuntu.com>
10481
10482 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10483 arguments, not three.
10484
507736c8
CW
104852010-07-02 Colin Watson <cjwatson@ubuntu.com>
10486
10487 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10488 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10489 LVM-on-RAID is handled correctly.
10490
e3c8cd37
CW
104912010-07-02 Colin Watson <cjwatson@ubuntu.com>
10492
10493 * docs/grub.texi (Changes from GRUB Legacy): New section.
10494 (Future): Fix typo.
10495
8d4a2fec
CW
104962010-07-02 Colin Watson <cjwatson@ubuntu.com>
10497
10498 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10499 grub.d/README accidentally ends up executable for one reason or
10500 another. Ignore it.
10501
1c4827be
VS
105022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10505 (gpt_partition_map_iterate): Support non-512B sectors.
10506
d9a0c941
VS
105072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10510 Tested by: Seth Goldberg.
10511
48f27e87
VS
105122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10513
10514 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10515 Properly align mbi.
10516 Reported by: Seth Goldberg.
10517
b0c4f956
VS
105182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 * util/grub-mkrescue.in: Avoid module duplication.
10521
105a2e8c
SF
105222010-07-01 Sean Finney <seanius@seanius.net>
10523
10524 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10525
5944958c
SF
105262010-07-01 Sean Finney <seanius@seanius.net>
10527
10528 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10529
105302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 * disk/lvm.c (grub_lvm_checkvalue): New function.
10533 (grub_lvm_check_flag): Likewise.
10534
b79889ba
RM
105352010-07-01 Robert Millan <rmh@gnu.org>
10536
10537 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10538 Support 'p' as partition separator on kernel of FreeBSD (used
10539 with GPT labels).
10540 (grub_util_biosdisk_get_grub_dev): Likewise.
10541
ec1d04f1
VS
105422010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10543
10544 Yeeloong firmware port.
10545
10546 * boot/mips/yeeloong/fwstart.S: New file.
10547 * bus/cs5536.c (gpiodump): New const.
10548 (set_io_space): New function.
10549 (set_iod): Likewise.
10550 (set_p2d): Likewise.
10551 (grub_cs5536_init_geode): Likewise.
10552 * commands/mips/yeeloong/lsspd.c: New file.
10553 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10554 (serial_mod_SOURCES): New variable.
10555 (serial_mod_CFLAGS): Likewise.
10556 (serial_mod_LDFLAGS): Likewise.
10557 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10558 term/terminfo.c and term/tparm.c.
10559 (pkglib_IMAGES): Add fwstart.img.
10560 (fwstart_img_SOURCES): New variable.
10561 (fwstart_img_CFLAGS): Likewise.
10562 (fwstart_img_ASFLAGS): Likewise.
10563 (fwstart_img_LDFLAGS): Likewise.
10564 (fwstart_img_FORMAT): Likewise.
10565 (pkglib_MODULES): Add lsspd.mod.
10566 (lsspd_mod_SOURCES): New variable.
10567 (lsspd_mod_CFLAGS): Likewise.
10568 (lsspd_mod_LDFLAGS): Likewise.
10569 (pkglib_MODULES): Add halt.mod.
10570 (halt_mod_SOURCES): New variable.
10571 (halt_mod_CFLAGS): Likewise.
10572 (halt_mod_LDFLAGS): Likewise.
10573 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10574 (serial_mod_SOURCES): Removed.
10575 (serial_mod_CFLAGS): Likewise.
10576 (serial_mod_LDFLAGS): Likewise.
10577 * disk/ata.c (check_device): New function.
10578 (grub_ata_device_initialize): Use check_device.
10579 (grub_ata_iterate): Recheck devices.
10580 (grub_ata_open): Likewise.
10581 (grub_atapi_iterate): Likewise.
10582 (grub_atapi_open): Likewise.
10583 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10584 (GRUB_ATA_CH1_PORT1): Likewise.
10585 (GRUB_ATA_CH0_PORT2): Likewise.
10586 (GRUB_ATA_CH1_PORT2): Likewise.
10587 * include/grub/mips/loongson.h: New file.
10588 * include/grub/mips/yeeloong/ec.h: Likewise.
10589 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10590 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10591 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10592 * include/grub/misc.h (grub_halt): Declare as noreturn.
10593 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10594 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10595 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10596 (UART_ENABLE_DTRRTS): Likewise.
10597 (UART_ENABLE_MODEM): Removed.
10598 (UART_ENABLE_OUT2): New const.
10599 * include/grub/term.h (grub_term_register_input_active): New function.
10600 (grub_term_register_output_active): Likewise.
10601 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10602 argument.
10603 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10604 (init_pci): New function.
10605 (grub_machine_init): Execute platform init when firmware. Init serial.
10606 (grub_halt): Implement.
10607 (grub_exit): Likewise.
10608 (grub_reboot): Likewise.
10609 * term/serial.c (serial_hw_init): Update macros.
10610 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10611 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10612 (image_targets): New target mipsel-yeeloong-flash.
10613 (generate_image): Support IMAGE_YEELOONG_FLASH.
10614 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10615 (grub_video_sm712_setup): Init card.
10616 (grub_video_sm712_set_palette): Removed.
10617 * video/sm712_init.c: New file.
10618
ff4a70d2
CW
106192010-06-30 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10622 PATH when running help2man and then run it on the unadorned
10623 executable names, rather than passing $(builddir)/* paths to
10624 help2man. This avoids the build directory ending up in generated
10625 manual pages.
10626
1246efeb
CW
106272010-06-29 Colin Watson <cjwatson@ubuntu.com>
10628
10629 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10630 to avoid accidents when debugging with 'sh -x'.
10631 * util/grub-mkrescue.in: Likewise.
10632 * util/grub.d/00_header.in: Likewise.
10633 * util/grub.d/10_hurd.in: Likewise.
10634 * util/grub.d/10_kfreebsd.in: Likewise.
10635 * util/grub.d/10_linux.in: Likewise.
10636 * util/grub.d/10_netbsd.in: Likewise.
10637 * util/grub.d/10_windows.in: Likewise.
10638 * util/grub.d/20_linux_xen.in: Likewise.
10639 * util/grub.d/30_os-prober.in: Likewise.
10640 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10641
1ba9b889
CW
106422010-06-29 Colin Watson <cjwatson@ubuntu.com>
10643
10644 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10645 last character in the buffer.
10646 Reported by: Vladimir Serbinenko.
10647
dccaf99d
RM
106482010-06-29 Robert Millan <rmh@gnu.org>
10649
10650 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10651 (Command-line and menu entry commands): Document `badram' command.
10652
d500ed12
RM
106532010-06-28 Robert Millan <rmh@gnu.org>
10654
10655 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10656 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10657 command using ${GRUB_BADRAM} as parameter.
10658
20bc84a6
CW
106592010-06-28 Colin Watson <cjwatson@ubuntu.com>
10660
10661 * docs/grub.texi (Device map): New section.
10662 (Themes): New section (stub).
10663 * Makefile.in (docs/grub.info): The info documentation now builds
10664 without errors. Make sure it stays that way.
10665
4045dee1
VS
106662010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 Use normal parser for menu entries.
10669 Reported by: Thomas Frauendorfer
10670
10671 * include/grub/parser.h (grub_parser_execute): Don't export.
10672 * normal/menu.c (grub_menu_execute_entry_real): New function.
10673 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10674
bca58c7b
CW
106752010-06-28 Colin Watson <cjwatson@ubuntu.com>
10676
10677 * docs/grub.texi (Embedded configuration): New section (replacing
10678 old "Preset Menu" stub).
10679 (Images): New section.
10680 (configfile): Note that any menu entries defined in `file' are shown
10681 immediately.
10682
dec53e63
JT
106832010-06-28 Josh Triplett <josh@joshtriplett.org>
10684
10685 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10686
c06e40f7
CW
106872010-06-28 Colin Watson <cjwatson@ubuntu.com>
10688
10689 * util/grub-install.in: Add --debug-image= option.
10690
cb88052b
CW
106912010-06-28 Colin Watson <cjwatson@ubuntu.com>
10692
10693 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10694 possible on Linux.
10695
10696 * util/deviceiter.c (check_device): Rename to ...
10697 (check_device_readable_unique): ... this. Update all callers.
10698 Maintain and check a list of which devices (by canonicalized name)
10699 have already been seen.
10700 (clear_seen_devices): New function.
10701 (compare_file_names) [__linux__]: New function.
10702 (grub_util_iterate_devices): Clear the list of seen devices on exit
10703 and (just in case) on entry.
10704 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
10705 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
10706 seen-devices list, superseded by general code in check_device.
10707
bbe34652
CW
107082010-06-28 Colin Watson <cjwatson@ubuntu.com>
10709
10710 * commands/cat.c (options): New variable.
10711 (grub_cmd_cat): Parse options. If the --dos option is given, print
10712 DOS-style "\r\n" line endings as simple newlines (Debian bug
10713 #586358).
10714 (GRUB_MOD_INIT): Use extcmd.
10715 (GRUB_MOD_FINI): Likewise.
10716 * docs/grub.texi (cat): Document --dos.
10717
412e09f3
VS
107182010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10719
10720 XEN with Linux grub-mkconfig support.
10721
10722 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
10723 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
10724 GRUB_CMDLINE_XEN_DEFAULT.
10725 * util/grub.d/20_linux_xen.in: New file.
10726
53f3ef38 107272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
10728
10729 Initialise VGA video on qemu ourselves.
10730
10731 * boot/i386/qemu/boot.S: Don't call 0xc000.
10732 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
10733 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
10734 (kernel_img_HEADERS): Add pci.h.
10735 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
10736 * configure.ac: Force unifont on qemu and yeeloong.
10737 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
10738 (grub_vga_palette_write): Use correct register.
10739 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
10740 Call grub_qemu_init_cirrus.
10741 * kern/i386/qemu/init.c: New file.
10742 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
10743
10744 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
10745
c75be4fb
PR
107462010-06-26 Pavel Roskin <proski@gnu.org>
10747
10748 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
10749 13.
10750
d8034603
CW
107512010-06-26 Colin Watson <cjwatson@ubuntu.com>
10752
10753 * docs/grub.texi (Simple configuration): Explain that
10754 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10755 set to `true' to disable their respective recovery entries, not
10756 merely set.
10757
3fa06487
CW
107582010-06-26 Colin Watson <cjwatson@ubuntu.com>
10759
10760 Make the `source' command slightly faster.
10761
10762 * normal/main.c (grub_normal_execute): Don't re-read list files when
10763 nested.
10764
e9b29642
CW
107652010-06-23 Colin Watson <cjwatson@ubuntu.com>
10766
10767 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
10768 field position and mask size to red fields from mode_info, not
10769 green.
10770 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
10771 Remove redundant tag->common.framebuffer_type assignment.
10772 Reported by: Seth Goldberg.
10773
e726542f
CW
107742010-06-23 Colin Watson <cjwatson@ubuntu.com>
10775
10776 Sync up other versions of the Linux loader with Robert Millan's
10777 change of 2010-01-09, "Make loader output a bit more user-friendly".
10778
10779 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
10780 grub_dprintf().
10781 (grub_cmd_linux): Likewise.
10782 (grub_cmd_initrd): Likewise.
10783 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
10784 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10785
d6e98a17
CW
107862010-06-21 Colin Watson <cjwatson@ubuntu.com>
10787
10788 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
10789 larger than MEMORY_MAP_SIZE.
10790
14d3f08e
BC
107912010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
10792
10793 Fix parallel build.
10794
10795 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
10796 dependency.
10797 * script/parser.y: #include grub_script.tab.h header.
10798
4f9613a3
VS
107992010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 Support >3GiB and <16MiB RAM in i386-qemu.
10802
10803 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
10804 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
10805 (grub_lower_mem): Removed.
10806 (grub_upper_mem): Likewise.
10807 (mem_size): Made static.
10808 (above_4g): New variable.
10809 (grub_machine_mmap_init): Detect small mem_size and above_4g.
10810 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
10811 support.
10812
05e51879
VS
108132010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 Cirrus 5446 and Bochs video cards support.
10816
10817 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
10818 video_bochs.mod
10819 (video_cirrus_mod_SOURCES): New variable.
10820 (video_cirrus_mod_CFLAGS): Likewise.
10821 (video_cirrus_mod_LDFLAGS): Likewise.
10822 (video_bochs_mod_SOURCES): Likewise.
10823 (video_bochs_mod_CFLAGS): Likewise.
10824 (video_bochs_mod_LDFLAGS): Likewise.
10825 * include/grub/vga.h: New file.
10826 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
10827 (grub_video_fb_set_page_t): New type.
10828 (grub_video_fb_setup): New prototype.
10829 (grub_video_fb_swap_buffers): Likewise.
10830 (grub_video_fb_get_info_and_fini): Likewise.
10831 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
10832 (CRTC_DATA_PORT): Likewise.
10833 (CRTC_CURSOR): Likewise.
10834 (CRTC_CURSOR_ADDR_HIGH): Likewise.
10835 (CRTC_CURSOR_ADDR_LOW): Likewise.
10836 (CRTC_CURSOR_DISABLE): Likewise.
10837 (update_cursor): Use grub_vga_cr_write.
10838 (grub_vga_text_setcursor): Likewise.
10839 * video/bochs.c: New file.
10840 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
10841 (palette): Likewise.
10842 (palette_size): Likewise.
10843 (framebuffer): New variable.
10844 (grub_video_fb_init): Use 'framebuffer'.
10845 (grub_video_fb_fini): Likewise.
10846 (grub_video_fb_get_info): Likewise.
10847 (grub_video_fb_get_palette): Likewise.
10848 (grub_video_fb_set_palette): Likewise.
10849 (grub_video_fb_set_viewport): Likewise.
10850 (grub_video_fb_get_viewport): Likewise.
10851 (grub_video_fb_map_color): Likewise.
10852 (grub_video_fb_map_rgb): Likewise.
10853 (grub_video_fb_map_rgba): Likewise.
10854 (grub_video_fb_unmap_color): Likewise.
10855 (grub_video_fb_unmap_color_int): Likewise.
10856 (grub_video_fb_fill_rect): Likewise.
10857 (grub_video_fb_blit_bitmap): Likewise.
10858 (grub_video_fb_blit_render_target): Likewise.
10859 (grub_video_fb_scroll): Likewise.
10860 (grub_video_fb_create_render_target): Likewise.
10861 (grub_video_fb_doublebuf_blit_init): Likewise.
10862 (grub_video_fb_set_active_render_target): Handle doublebuffering.
10863 (doublebuf_pageflipping_update_screen): New function.
10864 (doublebuf_pageflipping_init): Likewise.
10865 (grub_video_fb_setup): Likewise.
10866 (grub_video_fb_swap_buffers): Likewise.
10867 (grub_video_fb_get_info_and_fini): Likewise.
10868 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
10869 All users updated.
10870 (doublebuf_pageflipping_commit): Restructured into ...
10871 (doublebuf_pageflipping_set_page): ... this.
10872 (doublebuf_pageflipping_update_screen): Removed.
10873 (doublebuf_pageflipping_init): Likewise.
10874 (double_buffering_init): Likewise.
10875 (grub_video_vbe_setup): Use grub_video_fb_setup.
10876 (grub_video_vbe_swap_buffers): Removed.
10877 (grub_video_vbe_set_active_render_target): Likewise.
10878 (grub_video_vbe_get_active_render_target): Likewise.
10879 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
10880 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
10881 grub_video_fb_set_active_render_target and
10882 grub_video_fb_get_active_render_target.
10883 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
10884 (SEQUENCER_DATA_PORT): Likewise.
10885 (MAP_MASK_REGISTER): Likewise.
10886 (CRTC_ADDR_PORT): Likewise.
10887 (CRTC_DATA_PORT): Likewise.
10888 (START_ADDR_HIGH_REGISTER): Likewise.
10889 (START_ADDR_LOW_REGISTER): Likewise.
10890 (GRAPHICS_ADDR_PORT): Likewise.
10891 (GRAPHICS_DATA_PORT): Likewise.
10892 (READ_MAP_REGISTER): Likewise.
10893 (INPUT_STATUS1_REGISTER): Likewise.
10894 (INPUT_STATUS1_VERTR_BIT): Likewise.
10895 (get_map_mask): Use grub_vga_sr_read.
10896 (set_map_mask): Use grub_vga_sr_write.
10897 (set_read_map): Use grub_vga_gr_write.
10898 (set_start_address): Use grub_vga_cr_write.
10899 * video/sm712.c (framebuffer): Remove leftover fields.
10900
4321c64a
CW
109012010-06-20 Colin Watson <cjwatson@ubuntu.com>
10902
10903 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
10904 setting GRUB_VIDEO_BACKEND. Make it available as a user override
10905 instead. Replace the gfxterm backend check with a check that
10906 ${GRUB_PREFIX}/video.lst is non-empty.
10907 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
10908 again.
10909 (load_video): New generated function. Call it before loading
10910 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
10911 * util/grub.d/10_linux.in (linux_entry): Call load_video.
10912 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
10913 * docs/grub.texi (Simple configuration): Document
10914 GRUB_VIDEO_BACKEND.
10915
109162010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10917
10918 Use video functions in linux and xnu loaders.
10919
10920 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
10921 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
10922 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
10923 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
10924 loader/i386/pc/linux.c.
10925 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
10926 (find_line_len): Removed.
10927 (find_framebuf): Likewise.
10928 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
10929 * loader/i386/efi/xnu.c: Removed.
10930 * loader/i386/pc/xnu.c: Moved from here...
10931 * loader/i386/xnu.c: ...here.
10932
10933 Enable priorities in video drivers.
10934
10935 * include/grub/video.h (grub_video_adapter_prio_t): New type.
10936 (grub_video_adapter): New field prio.
10937 (grub_video_register): Respect prio when inserting.
10938 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
10939 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
10940 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
10941 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
10942 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
10943 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
10944 * video/sm712.c (grub_video_sm712_adapter): Likewise.
10945
10946 Fix SDL driver ID.
10947
10948 * include/grub/video.h (grub_video_driver_id_t): New value
10949 GRUB_VIDEO_DRIVER_SDL.
10950 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10951
7d24e434
CW
109522010-06-17 Colin Watson <cjwatson@ubuntu.com>
10953
10954 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10955 argument to printf.
10956 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10957
c88a83f6
CW
109582010-06-17 Colin Watson <cjwatson@ubuntu.com>
10959
10960 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10961 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10962
094dfb69
CW
109632010-06-17 Colin Watson <cjwatson@ubuntu.com>
10964
10965 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10966 directly, and recommend grub-install instead.
10967 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10968
2164da6b
CW
109692010-06-17 Colin Watson <cjwatson@ubuntu.com>
10970
10971 Fix i386-pc prefix handling with nested partitions (Debian bug
10972 #585068). Note that the case where the core image is booted using
10973 multiboot and relocated from its original location still requires
10974 more work.
10975
10976 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10977 with "(,", fill the boot drive in between those two characters, but
10978 expect that a full partition specification including partition map
10979 names will follow.
10980 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10981 specified, write a prefix without the drive name but including a
10982 full partition specification.
10983
044e2e60
CW
109842010-06-16 Colin Watson <cjwatson@ubuntu.com>
10985
10986 * util/grub-mkconfig.in: Ignore non-option arguments, for
10987 compatibility with older versions (before 2010-06-12) which did the
10988 same. In particular, this makes it easier to ship an update-grub
10989 wrapper which is compatible with that used with GRUB Legacy (Debian
10990 bug #586056).
10991
5591324f
GS
109922010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10993
10994 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10995 for manual page generation.
10996
662e24d5
GS
109972010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10998
10999 * po/POTFILES: Remove leftover commands/handler.c.
11000
8d70754e
CW
110012010-06-14 Colin Watson <cjwatson@ubuntu.com>
11002
11003 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11004 left this script non-functional.
11005
41160e2e
CW
110062010-06-14 Colin Watson <cjwatson@ubuntu.com>
11007
11008 * docs/man/grub-emu.h2m: New file.
11009
b5309cc1
CW
110102010-06-13 Colin Watson <cjwatson@ubuntu.com>
11011
11012 * docs/grub.texi (Commands): Document reduced command set in rescue
11013 mode.
11014 (cpuid): New section.
11015
fcb2d090
GS
110162010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11017
11018 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11019 new partition naming style.
11020 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11021
96e5c556
BC
110222010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11023
11024 Add "-o grub.iso" like cmdline options support.
11025
11026 * util/grub-install.in: Improve cmdline option parsing.
11027 * util/grub-mkconfig.in: Likewise.
11028 * util/grub-mkrescue.in: Likewise.
11029 * util/grub-reboot.in: Likewise.
11030 * util/grub-set-default.in: Likewise.
11031 * util/i386/efi/grub-install.in: Likewise.
11032 * util/ieee1275/grub-install.in: Likewise.
11033 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11034
c16be99b
CW
110352010-06-12 Colin Watson <cjwatson@ubuntu.com>
11036
11037 * .bzrignore: Ignore 41_custom.
11038
ce08a9fb
TS
110392010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11040
11041 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11042
7beac90c
CW
110432010-06-12 Colin Watson <cjwatson@ubuntu.com>
11044
11045 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11046 prototype declarations.
11047
11048 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11049 generating fs, partmap, and video lists.
11050 * include/grub/fs.h (grub_fs_register): Omit prototype if
11051 GRUB_LST_GENERATOR is defined.
11052 * include/grub/partition.h (grub_partition_map_register): Likewise.
11053 * include/grub/video.h (grub_video_register): Likewise.
11054
1c8f0f8d
JM
110552010-06-12 Javier Martín <lordhabbit@gmail.com>
11056
11057 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11058
a6085973
TS
110592010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11060
11061 * util/grub-mkrescue.in: Support --xorriso argument.
11062
25c56d29
VS
110632010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11066 Suggested by: Thomas Schmitt.
11067
e03e4b24
VS
110682010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11071 Suggested by: Thomas Schmitt.
11072
57711df6
VS
110732010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11074
11075 custom.cfg support.
11076
11077 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11078 * util/grub.d/41_custom.in: New file.
11079
ee62c427
CW
110802010-06-12 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11083 been merged back into normal.
11084
283af07a
CW
110852010-06-11 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11088 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11089
56a0d956
CW
110902010-06-11 Colin Watson <cjwatson@ubuntu.com>
11091
11092 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11093 when generating manual pages.
11094 * docs/man/grub-bin2h.h2m: New file.
11095 * docs/man/grub-editenv.h2m: New file.
11096 * docs/man/grub-fstest.h2m: New file.
11097 * docs/man/grub-install.h2m: New file.
11098 * docs/man/grub-macho2img.h2m: New file.
11099 * docs/man/grub-mkconfig.h2m: New file.
11100 * docs/man/grub-mkdevicemap.h2m: New file.
11101 * docs/man/grub-mkfont.h2m: New file.
11102 * docs/man/grub-mkimage.h2m: New file.
11103 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11104 * docs/man/grub-mkrelpath.h2m: New file.
11105 * docs/man/grub-mkrescue.h2m: New file.
11106 * docs/man/grub-ofpathname.h2m: New file.
11107 * docs/man/grub-pe2elf.h2m: New file.
11108 * docs/man/grub-probe.h2m: New file.
11109 * docs/man/grub-reboot.h2m: New file.
11110 * docs/man/grub-script-check.h2m: New file.
11111 * docs/man/grub-set-default.h2m: New file.
11112 * docs/man/grub-setup.h2m: New file.
11113
3a37e322
VS
111142010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 Use FOR_* macros instead of *_iterate whenever possible.
11117
11118 * commands/handler.c: Removed.
11119 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11120 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11121 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11122 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11123 (grub_probe_SOURCES): Remove kern/parser.c.
11124 (util/grub-script-check.c_DEPENDENCIES): Removed.
11125 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11126 and grub_script_check_init.c.
11127 (grub_script_check_init.lst): Removed.
11128 (grub_script_check_init.h): Likewise.
11129 (grub_script_check_init.c): Likewise.
11130 (pkglib_MODULES): Remove handler.mod and sh.mod.
11131 (handler_mod_SOURCES): Removed.
11132 (handler_mod_CFLAGS): Likewise.
11133 (handler_mod_LDFLAGS): Likewise.
11134 (normal_mod_SOURCES): Remove normal/handler.c.
11135 Add script/main.c, script/script.c, script/execute.c,
11136 script/function.c, script/lexer.c, grub_script.tab.c
11137 and grub_script.yy.c.
11138 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11139 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11140 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11141 (grub_setup_SOURCES): Remove kern/parser.c.
11142 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11143 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11144 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11145 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11146 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11147 (grub_setup_SOURCES): Remove kern/parser.c.
11148 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11149 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11150 * include/grub/command.h (grub_command_iterate): Removed.
11151 (FOR_COMMANDS): New macro.
11152 * include/grub/dl.h (grub_dl): New member next.
11153 (grub_dl_iterate): Removed.
11154 (grub_dl_head): New variable declaration.
11155 (FOR_DL_MODULES): New macro.
11156 * include/grub/fs.h: Include list.h.
11157 (grub_fs): Make next first element.
11158 (grub_fs_list): New variable declaration.
11159 (grub_fs_register): Make inline.
11160 (grub_fs_unregister): Likewise.
11161 (grub_fs_iterate): Removed.
11162 (FOR_FILESYSTEMS): New macro.
11163 * include/grub/handler.h: Removed.
11164 * include/grub/list.h (grub_list_hook_t): Removed.
11165 (grub_list_test_t): Likewise.
11166 (grub_list_pop): Likewise.
11167 (grub_list_iterate): Likewise.
11168 (grub_list_insert): Likewise.
11169 (FOR_LIST_ELEMENTS): New macro.
11170 * include/grub/parser.h (grub_parser_class): Removed.
11171 (grub_parser_register): Likewise.
11172 (grub_parser_unregister): Likewise.
11173 (grub_parser_get_current): Likewise.
11174 (grub_parser_set_current): Likewise.
11175 (grub_register_rescue_parser): Likewise.
11176 (grub_rescue_parse_line): New function.
11177 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11178 * include/grub/script_sh.h (grub_script_function_list): New variable
11179 declaration.
11180 (FOR_SCRIPT_FUNCTIONS): New macro.
11181 (grub_script_function_iterate): Removed.
11182 (grub_normal_parse_line): New prototype.
11183 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11184 (FOR_DISABLED_TERM_INPUTS): Likewise.
11185 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11186 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11187 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11188 element.
11189 (grub_video_register): Inline.
11190 (grub_video_unregister): Likewise.
11191 (grub_video_adapter_list): New variable declaration.
11192 (grub_video_iterate): Removed.
11193 (FOR_VIDEO_ADAPTERS): New macro.
11194 * kern/dl.c (grub_dl_list): Removed. All users updated.
11195 (grub_dl_iterate): Removed.
11196 * kern/fs.c (grub_fs_list): Make global.
11197 (grub_fs_register): Removed.
11198 (grub_fs_unregister): Likewise.
11199 (grub_fs_iterate): Likewise.
11200 * kern/handler.c: Removed.
11201 * kern/list.c (grub_list_pop): Removed.
11202 (grub_list_iterate): Likewise.
11203 (grub_list_insert): Likewise.
11204 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11205 (grub_prio_list_insert): Don't use grub_list_insert.
11206 * kern/main.c (grub_register_rescue_parser): Don't call
11207 grub_register_rescue_parser.
11208 * kern/parser.c (grub_parser_class): Removed.
11209 (grub_parser_execute): Use grub_rescue_parse_line.
11210 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11211 (grub_rescue_parser): Removed.
11212 (grub_register_rescue_parser): Likewise.
11213 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11214 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11215 (grub_auth_check_authentication): Likewise.
11216 * normal/completion.c (iterate_command): Removed.
11217 (grub_normal_do_completion): Use FOR_COMMANDS.
11218 * normal/handler.c: Removed.
11219 * normal/main.c (read_config_file): Remove parser changing.
11220 (grub_normal_execute): Don't call read_handler_list.
11221 (grub_normal_read_line_real): Statically allocate prompt.
11222 (grub_cmdline_run): Use grub_normal_parse_line.
11223 (GRUB_MOD_FINI): Don't call free_handler_list.
11224 * normal/menu_entry.c (run): Likewise.
11225 * script/function.c (grub_script_function_list): Make global.
11226 (grub_script_function_iterate): Removed.
11227 * script/main.c (grub_normal_parse_line): Make global.
11228 (grub_sh_parser): Removed.
11229 (GRUB_MOD_INIT): Likewise.
11230 (GRUB_MOD_FINI): Likewise.
11231 * tests/lib/functional_test.c (grub_functional_test): Use
11232 FOR_LIST_ELEMENTS.
11233 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11234 (grub_test_run): Use FOR_LIST_ELEMENTS.
11235 * tests/lib/unit_test.c (main): Likewise.
11236 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11237 grub_list_pop.
11238 * util/grub-fstest.c (grub_term_input_class): Removed.
11239 (grub_term_output_class): Likewise.
11240 * util/grub-probe.c: Likewise.
11241 * util/i386/pc/grub-setup.c: Likewise.
11242 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11243 * util/grub-script-check.c (main): Don't call grub_init_all and
11244 grub_fini_all.
11245 * video/video.c (grub_video_adapter_list): Make global.
11246 (grub_video_register): Removed.
11247 (grub_video_unregister): Likewise.
11248 (grub_video_iterate): Likewise.
11249
6289c3a7
VS
112502010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11251
11252 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11253 reported by Henrique Ferreiro.
11254
91460247
RM
112552010-06-09 Robert Millan <rmh@gnu.org>
11256
11257 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11258 ones, when both are available.
11259
0ea7c4f9
GS
112602010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11261
11262 Make --version uniform and avoid hard-coded program name.
11263
11264 * util/grub-mkimage.c (main): Use `program_name' instead of
11265 hard-coded string.
11266 * util/i386/pc/grub-setup.c (main): Likewise.
11267 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11268 * util/grub-install.in: Save the basename of $0 in $self, and use the
11269 latter in informational messages. Use the same format for --version
11270 as the binary programs.
11271 * util/grub-mkconfig.in: Likewise.
11272 * util/grub-mkrescue.in: Likewise.
11273 * util/grub-reboot.in: Likewise.
11274 * util/grub-set-default.in: Likewise.
11275 * util/i386/efi/grub-install.in: Likewise.
11276 * util/ieee1275/grub-install.in: Likewise.
11277 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11278
e8a6f3b6
GS
112792010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11280
11281 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11282 embedding area. Use <= instead of == when checking for non-emptiness.
11283
f4d095d7
GS
112842010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11285
11286 * configure.ac: Add `.' to the directories searched for unifont.
11287
50e532ca
CW
112882010-06-08 Colin Watson <cjwatson@ubuntu.com>
11289
11290 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11291 grub_script.yy.h.
11292
d39f3dec
CW
112932010-06-08 Colin Watson <cjwatson@ubuntu.com>
11294
11295 * docs/grub.texi (History): Expand to cover GRUB 2.
11296 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11297 commands, not `terminal'.
11298 (serial): Likewise.
11299 (terminal_input): New section.
11300 (terminal_output): New section.
11301 (uppermem): New section (stub).
11302 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11303
6ef0ddb4
CW
113042010-06-08 Colin Watson <cjwatson@ubuntu.com>
11305
11306 * docs/grub.texi (Security): Menu entries are unrestricted by
11307 default, not restricted to superusers as I had previously thought.
11308 Reword to account for this.
11309
e0f4c438
CW
113102010-06-07 Colin Watson <cjwatson@ubuntu.com>
11311
11312 * kern/emu/misc.c (device_mapper_null_log): New function.
11313 (grub_device_mapper_supported): New function.
11314 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11315 prototype.
11316 * kern/emu/hostdisk.c (find_partition_start): Check whether
11317 device-mapper is supported before trying to use it.
11318 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11319
da908200
CW
113202010-06-07 Colin Watson <cjwatson@ubuntu.com>
11321
11322 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11323 (File name syntax): Likewise.
11324 (help): --all is no longer supported in GRUB 2. Be more precise
11325 about pattern matching.
11326
fb55c3ac
CW
113272010-06-07 Colin Watson <cjwatson@ubuntu.com>
11328
11329 * normal/completion.c (grub_normal_do_completion): When completing
11330 arguments to "set" and the current word contains an equals sign,
11331 skip to after the equals sign before starting completion.
11332
258c2573
CW
113332010-06-07 Colin Watson <cjwatson@ubuntu.com>
11334
11335 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11336
ee75515e
CW
113372010-06-07 Colin Watson <cjwatson@ubuntu.com>
11338
11339 * docs/grub.texi (Network): New section.
11340 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11341 `(nd)' as in GRUB Legacy.
11342 (pxe_unload): New section.
11343
a6a700aa
CW
113442010-06-07 Colin Watson <cjwatson@ubuntu.com>
11345
11346 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11347 in the rescue shell, so recommend using `set' instead. Thanks,
11348 Jordan Uggla.
11349
4003dd38
CW
113502010-06-07 Colin Watson <cjwatson@ubuntu.com>
11351
11352 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11353 (password): New section.
11354 (password_pbkdf2): New section.
11355 (search): New section.
11356 (Security): New section.
11357 (Troubleshooting): New section, currently very incomplete.
11358 (Invoking grub-mkpasswd-pbkdf2): New section.
11359 (Internals): New section, currently very incomplete.
11360
e1cbcc40
CW
113612010-06-07 Colin Watson <cjwatson@ubuntu.com>
11362
11363 * util/grub.d/00_header.in: Add some more quoting (of
11364 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11365 work again.
11366 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11367
db8fa1ad
CW
113682010-06-07 Colin Watson <cjwatson@ubuntu.com>
11369
11370 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11371 to `count', fixing variable shadowing that broke the -c option.
11372
113732010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11374
11375 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11376 in case they contain spaces.
11377
f28a9212
CW
113782010-06-04 Colin Watson <cjwatson@ubuntu.com>
11379
11380 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11381 "part_" to partmap module names, in line with grub-install.
11382 Reported by: Jindřich Makovička (Debian bug #584426).
11383
9cdfe32f
CW
113842010-06-04 Colin Watson <cjwatson@ubuntu.com>
11385
11386 * util/grub-mkimage.c: Make target-related error messages slightly
11387 more helpful; -O talks about "format". Explicitly point to the use
11388 of -O if no target is specified.
11389 Reported by: Didier Raboud (Debian bug #584415).
11390
795b593a
CW
113912010-06-03 Colin Watson <cjwatson@ubuntu.com>
11392
11393 * INSTALL: Document several build requirements for optional features
11394 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11395
9d9b5833
GS
113962010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11397
11398 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11399 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11400 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11401
0819fec8
CW
114022010-06-02 Colin Watson <cjwatson@ubuntu.com>
11403
11404 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11405 Thanks to Jordan Uggla for spotting this.
11406
49396b4f
VS
114072010-06-02 Aleš Nesrsta <starous@volny.cz>
11408
11409 Finally make USB usable.
11410
11411 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11412 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11413 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11414 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11415 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11416 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11417 (GRUB_OHCI_FSMPS): Likewise.
11418 (GRUB_OHCI_PERIODIC_START): Likewise.
11419 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11420 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11421 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11422 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11423 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11424 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11425 (grub_ohci_transaction): Likewise.
11426 (grub_ohci_transfer): Improve condition detection algorithms.
11427 Handle toggle property. Program the transactions correctly.
11428 Improve error handling. Various important fixups.
11429 (grub_ohci_portstatus): Put register writes in right order.
11430 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11431 (grub_uhci_transfer): Don't show "failed" message on success.
11432 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11433 array.
11434 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11435 determine its size.
11436 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11437 before initialization is completed. Use IN direction for empty
11438 transfers. Use last_trans and compute toggle.
11439 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11440 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11441 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11442 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11443 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11444 (grub_usb_device): Increase toggle to 256.
11445 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11446 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11447 GRUB_USBMS_SUBCLASS_SFF8070.
11448 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11449 (grub_scsi_inquiry): New member page and alloc_length.
11450 (grub_scsi_request_sense): New structure.
11451 (grub_scsi_request_sense_data): Likewise.
11452 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11453 control.
11454 * disk/scsi.c (grub_scsi_request_sense): New function.
11455 (grub_scsi_test_unit_ready): Likewise.
11456 (grub_scsi_inquiry): Fill new fields.
11457 (grub_scsi_read_capacity): Likewise.
11458 (grub_scsi_read10): Add request sense at the end.
11459 (grub_scsi_read12): Likewise.
11460 (grub_scsi_write10): Likewise.
11461 (grub_scsi_write12): Likewise.
11462 (grub_scsi_open): Add Test Unit Ready.
11463 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11464 Support additional subclasses. Con't clear halt yet. Activate the
11465 proper config. Calculate LUNs correctly.
11466 (grub_usbms_transfer): Various important fixups.
11467
114682010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11469
11470 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11471 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11472 (grub_ohci_fini_hw): New function.
11473 (grub_ohci_restore_hw): Likewise.
11474 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11475 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11476 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11477
114782010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11479
11480 Dedicated DMA allocations.
11481
11482 * bus/pci.c (grub_memalign_dma32): New function
11483 (grub_dma_free): Likewise.
11484 (grub_dma_get_virt): Likewise.
11485 (grub_dma_get_phys): Likewise.
11486 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11487 (grub_ohci_pci_iter): Use dma32_alloc.
11488 (grub_ohci_transfer): Likewise.
11489 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11490 (grub_usb_bulk_readwrite): Likewise.
11491 * include/grub/pci.h: Add declarations.
11492
114932010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 CS5536 support.
11496
11497 * bus/cs5536.c: New file.
11498 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11499 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11500 (cs5536_mod_SOURCES): New variable.
11501 (cs5536_mod_CFLAGS): Likewise.
11502 (cs5536_mod_LDFLAGS): Likewise.
11503 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11504 machine/pci.h.
11505 (kernel_img_SOURCES): Add bus/cs5536.c.
11506 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11507 usb_keyboard.mod.
11508 (usb_mod_SOURCES): New variable.
11509 (usb_mod_CFLAGS): New variable.
11510 (usb_mod_LDFLAGS): New variable.
11511 (usbtest_mod_SOURCES): New variable.
11512 (usbtest_mod_CFLAGS): New variable.
11513 (usbtest_mod_LDFLAGS): New variable.
11514 (ohci_mod_SOURCES): New variable.
11515 (ohci_mod_CFLAGS): New variable.
11516 (ohci_mod_LDFLAGS): New variable.
11517 (usbms_mod_SOURCES): New variable.
11518 (usbms_mod_CFLAGS): New variable.
11519 (usbms_mod_LDFLAGS): New variable.
11520 (usb_keyboard_mod_SOURCES): New variable.
11521 (usb_keyboard_mod_CFLAGS): New variable.
11522 (usb_keyboard_mod_LDFLAGS): New variable.
11523 * include/grub/smbus.h: New file.
11524 * include/grub/cs5536.h: New file.
11525
0b35b2a9
CW
115262010-06-02 Colin Watson <cjwatson@ubuntu.com>
11527
11528 * util/grub.d/00_header.in: Add safety check to make sure that
11529 ${locale_dir} exists before trying to probe it.
11530
ca0afd5b
CW
115312010-06-02 Colin Watson <cjwatson@ubuntu.com>
11532
11533 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11534 per the GNU Coding Standards; this is now too obscure to be worth
11535 documenting.
11536 (QNX): Likewise.
11537 (chainloader): Remove cross-reference to `SCO UnixWare'.
11538
1c41aa78
CW
115392010-06-02 Colin Watson <cjwatson@ubuntu.com>
11540
11541 * docs/grub.texi (Chain-loading): New section.
11542 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11543 adjusted for GRUB 2.
11544 (SCO UnixWare): Likewise.
11545 (QNX): Likewise.
11546 (chainloader): Add reference to `Block list syntax'.
11547 (drivemap): New section.
11548 (parttool): New section.
11549
bb8ea0f5
CW
115502010-06-02 Colin Watson <cjwatson@ubuntu.com>
11551
11552 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11553 the grub shell'.
11554 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11555 (Installing GRUB using grub-install): Remove reference to the grub
11556 shell; mention `grub-mkimage' and `grub-setup' instead.
11557 (Invoking grub-install): Likewise.
11558 (Interface): Add reference to `Menu entry editor'.
11559 (serial): Remove `--device' option.
11560
288dd6ed
CW
115612010-06-02 Colin Watson <cjwatson@ubuntu.com>
11562
11563 * docs/grub.texi (Configuration): New section, documenting
11564 configuration file generation using grub-mkconfig. I've left a slot
11565 for documenting the full shell scripting format but have not yet
11566 started on writing that up.
11567 (Invoking grub-mkconfig): New section.
11568
34c9f0e9
CW
115692010-06-02 Colin Watson <cjwatson@ubuntu.com>
11570
11571 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11572 (GNU GRUB manual): Likewise.
11573 (General commands): Update description of `terminfo' for GRUB 2.
11574
9121567e
CW
115752010-06-02 Colin Watson <cjwatson@ubuntu.com>
11576
11577 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11578 (GRUB_MOD_INIT): Fix capitalisation.
11579 * docs/grub.texi (Command-line and menu entry commands): Document
11580 gettext and gptsync commands.
11581
ab631611
CW
115822010-06-02 Colin Watson <cjwatson@ubuntu.com>
11583
11584 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11585 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11586
bde4a9ac
CW
115872010-06-01 Colin Watson <cjwatson@ubuntu.com>
11588
11589 Add btrfs probing support, currently only in the single-device case.
11590
11591 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11592 function.
11593 (grub_guess_root_device): Call find_root_device_from_mountinfo
11594 before looking in /dev.
11595
b1d17e10
VS
115962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11597
11598 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11599 GRUB_DISK_SIZE_UNKNOWN.
11600 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11601
dfbfe004
JS
116022010-05-31 Jiro SEKIBA <jir@unicus.jp>
11603
11604 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11605 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11606 corrupted or not synced properly.
11607
c2ffc8e9
VS
116082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11611 Reported by: Seth Goldberg.
11612
56293166
VS
116132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11614
11615 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11616 addition of dest.
11617 Reported by: Seth Goldberg.
11618
7620e7de
VS
116192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11622 Reported by: Seth Goldberg.
11623
c837af3f
VS
116242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11627 64-bit address as signed on MIPS.
11628
c7c75cf4
CW
116292010-05-28 Colin Watson <cjwatson@ubuntu.com>
11630
11631 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11632 to the empty string.
11633
fa4b8490
BC
116342010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11635
11636 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11637
11638 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11639 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11640 * kern/misc.c (__enable_execute_stack): Disable on
11641 GRUB_MACHINE_EMU.
11642
a33075b9
CW
116432010-05-28 Colin Watson <cjwatson@ubuntu.com>
11644
11645 Make grub-probe work with symbolic links under /dev/mapper as well
11646 as with real block devices. The Linux world seems to be (at best)
11647 in transition here, and GRUB shouldn't get caught in the middle.
11648
11649 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11650 /dev/mapper.
11651
d8708134
CW
116522010-05-27 Colin Watson <cjwatson@ubuntu.com>
11653
11654 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11655 input files (in which case exit zero).
11656
db2102a0
CW
116572010-05-27 Colin Watson <cjwatson@ubuntu.com>
11658
11659 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11660 return NULL for various reasons even if it has a maximum-length
11661 buffer: for example, there might be a symlink loop, or the path
11662 might exceed PATH_MAX. If this happens, return NULL.
11663
5fdba519
RM
116642010-05-27 Robert Millan <rmh@gnu.org>
11665
11666 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11667 partmap module to handle cross-partmap setups.
11668 Reported by Orestes Mas. Gràcies!
11669
d1d368e4
CW
116702010-05-27 Colin Watson <cjwatson@ubuntu.com>
11671
11672 * util/grub-mkrescue.in: Initialise override_dir rather than
11673 assuming that it's unset or empty in the environment.
11674
95ac3c73
GS
116752010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11676
11677 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11678 variable index into p_index to suppress a warning with -Wshadow.
11679
7d8c0213
BC
116802010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11681
11682 * INSTALL: Added flex >= 2.5.35 requirement.
11683
db4d5813
VS
116842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11685
11686 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11687
f24f4300
VS
116882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11689
11690 cmostest support.
11691
11692 * commands/i386/cmostest.c: New file.
11693 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11694 (cmostest_mod_SOURCES): New variable.
11695 (cmostest_mod_CFLAGS): Likewise.
11696 (cmostest_mod_LDFLAGS): Likewise.
11697 * conf/i386-pc.rmk: Likewise.
11698 * docs/grub.texi (Vendor power-on keys): New section.
11699 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11700 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11701 and GRUB_BUTTON_CMOS_ADDRESS.
11702 * util/grub.d/00_header.in: Handle powering-on by separate button.
11703
ad603f61
VS
117042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11705
11706 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
11707 Removed drawing_scrollbar argument. All users updated
11708 Fixes #29792.
11709 Reported by Jo Shields
11710
3ecb080a
VS
117112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
11714 buffer since gfxterm handles double repaint.
11715
5f2316c1
VS
117162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
11719 * term/gfxterm.c (real_scroll): Likewise.
11720
9a25f885
VS
117212010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
11724 before calling BIOS.
11725
39fbb79a
VS
117262010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * include/grub/i18n.h: Always enable grub_gettext.
11729
228cfa97
VS
117302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11731
11732 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
11733 partition naming style.
11734
21717c8f
CW
117352010-05-21 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * util/grub-mkconfig.in: Fix handling of -o so that it works when
11738 not the first option.
11739
c0f48e65
CW
117402010-05-20 Colin Watson <cjwatson@ubuntu.com>
11741
11742 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
11743
96779aec
CW
117442010-05-20 Colin Watson <cjwatson@ubuntu.com>
11745
11746 * util/misc.c: Move inclusion of <limits.h> to ...
11747 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
11748
fa9d256e
GS
117492010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
11750
11751 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
11752 Fix merge error in NetBSD code.
11753 (find_partition_start) [__NetBSD__]: Likewise.
11754
123b7a85
BC
117552010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
11756
11757 Fix grub-mkrescue usage unit testing.
11758
11759 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
11760
74276c0d
CF
117612010-05-18 Christian Franke <franke@computer.org>
11762
11763 * util/grub.d/10_windows.in: Use path names instead of
11764 drive letters to prevent warning from Cygwin 1.7.
11765 Add drivemap command to menuentry if needed.
11766
c4f7b523
ST
117672010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
11768
11769 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
11770 gnumach and gnumach.gz.
11771
95b97950
VS
117722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * include/grub/i18n.h (gettext): Inline instead of using #define.
11775 (grub_gettext): Likewise.
11776 (_): Likewise.
11777
01b8d2d7
VS
117782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11779
11780 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
11781 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
11782 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
11783 (main): Add a slash after pkglibdirroot.
11784
654e1d1e
VS
117852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * util/grub-install.in: Add missing "in" keyword.
11788
26966aeb
VS
117892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
11792 Reported by: Seth Goldberg.
11793
75006747
VS
117942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11795
11796 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
11797
74cbf5bd
CW
117982010-05-18 Colin Watson <cjwatson@ubuntu.com>
11799
11800 * configure.ac: Check for Linux device-mapper support.
11801
11802 * util/hostdisk.c (device_is_mapped): New function.
11803 (find_partition_start): New function, partly broken out from
11804 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
11805 device-mapper support added.
11806 (linux_find_partition): Use find_partition_start.
11807 (convert_system_partition_to_system_disk): Add `st' argument.
11808 Support Linux /dev/mapper/* devices if device-mapper support is
11809 available; only DM-RAID devices are understood at present.
11810 (find_system_device): Add `st' argument. Pass it to
11811 convert_system_partition_to_system_disk.
11812 (grub_util_biosdisk_get_grub_dev): Pass stat result to
11813 find_system_device and convert_system_partition_to_system_disk. Use
11814 find_partition_start.
11815
11816 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
11817 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
11818 * util/deviceiter.c [__linux__]: Define MINOR.
11819 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
11820 * util/mkdevicemap.c (grub_putchar): New function.
11821 (grub_getkey): New function.
11822 (grub_refresh): New function.
11823 (main): Set debug=all if -v -v is used.
11824
355b51e9
CW
118252010-05-18 Colin Watson <cjwatson@ubuntu.com>
11826
11827 Fix build with non-GNU libcs.
11828
11829 * util/misc.c (canonicalize_file_name): Move to ...
11830 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
11831 grub_make_system_path_relative_to_its_root.
11832
7fb5c25f
CW
118332010-05-18 Colin Watson <cjwatson@ubuntu.com>
11834
11835 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
11836 we handle finding grub-mkimage. Default to finding grub-mkimage in
11837 ${bindir} with program_transform_name applied, and provide a
11838 --grub-mkimage option to override this.
11839
1d3293d6
VS
118402010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11841
11842 Remove grub-mkisofs.
11843
11844 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
11845 (grub_mkisofs_SOURCES): Removed.
11846 (grub_mkisofs_CFLAGS): Removed.
11847 * util/mkisofs/defaults.h: Removed.
11848 * util/mkisofs/eltorito.c: Likewise.
11849 * util/mkisofs/exclude.h: Likewise.
11850 * util/mkisofs/hash.c: Likewise.
11851 * util/mkisofs/include/: Likewise.
11852 * util/mkisofs/include/fctldefs.h: Likewise.
11853 * util/mkisofs/include/mconfig.h: Likewise.
11854 * util/mkisofs/include/prototyp.h: Likewise.
11855 * util/mkisofs/include/statdefs.h: Likewise.
11856 * util/mkisofs/iso9660.h: Likewise.
11857 * util/mkisofs/joliet.c: Likewise.
11858 * util/mkisofs/match.c: Likewise.
11859 * util/mkisofs/match.h: Likewise.
11860 * util/mkisofs/mkisofs.c: Likewise.
11861 * util/mkisofs/mkisofs.h: Likewise.
11862 * util/mkisofs/msdos_partition.h: Likewise.
11863 * util/mkisofs/multi.c: Likewise.
11864 * util/mkisofs/name.c: Likewise.
11865 * util/mkisofs/rock.c: Likewise.
11866 * util/mkisofs/tree.c: Likewise.
11867 * util/mkisofs/write.c: Likewise.
11868
5dde9afe
VS
118692010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 Unify grub-mkimage accross platforms.
11872
11873 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
11874 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
11875 (grub_mkelfimage_SOURCES): Removed.
11876 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
11877 (util/grub-mkimage.c_DEPENDENCIES): .. this.
11878 (bin_UTILITIES): Add grub-mkimage.
11879 (grub_mkimage_SOURCES): New variable.
11880 (kernel_img_HEADERS): Remove machine/kernel.h.
11881 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
11882 (pkglib_PROGRAMS): Add kernel.img.
11883 (kernel_img_HEADERS): Add machine/kernel.h.
11884 (kernel_img_FORMAT): Removed.
11885 (bin_UTILITIES): Remove grub-mkimage.
11886 (grub_mkimage_SOURCES): Removed.
11887 (grub_mkimage_CFLAGS): Likewise.
11888 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11889 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
11890 (pkglib_PROGRAMS): Add kernel.img.
11891 (bin_UTILITIES): Remove grub-mkimage.
11892 (grub_mkimage_SOURCES): Removed.
11893 (grub_mkimage_CFLAGS): Likewise.
11894 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11895 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
11896 (pkglib_PROGRAMS): Add kernel.img.
11897 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
11898 (pkglib_PROGRAMS): Add kernel.img.
11899 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
11900 (grub_mkimage_SOURCES): Removed.
11901 (grub_mkimage_CFLAGS): Likewise.
11902 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11903 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
11904 (pkglib_PROGRAMS): Add kernel.img.
11905 (bin_UTILITIES): Remove grub-mkimage.
11906 (grub_mkimage_SOURCES): Removed.
11907 (grub_mkimage_CFLAGS): Likewise.
11908 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11909 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
11910 (grub_mkimage_SOURCES): Removed.
11911 (grub_mkimage_CFLAGS): Likewise.
11912 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11913 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
11914 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
11915 (grub_pe32_optional_header): ... this.
11916 (grub_pe64_optional_header): ... and this. All users updated.
11917 (GRUB_PE32_PE32_MAGIC): Split into ..
11918 (GRUB_PE32_PE32_MAGIC): .. this.
11919 (GRUB_PE32_PE64_MAGIC): .. and this.
11920 (GRUB_PE32_SIGNATURE_SIZE): New definition.
11921 * include/grub/elf.h (PT_GNU_STACK): New definition.
11922 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
11923 * include/grub/i386/efi/kernel.h: Likewise.
11924 * include/grub/i386/kernel.h: Likewise.
11925 * include/grub/i386/pc/kernel.h: Likewise.
11926 * include/grub/i386/qemu/boot.h: Likewise.
11927 * include/grub/mips/kernel.h: Likewise.
11928 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11929 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11930 * include/grub/powerpc/kernel.h: Likewise.
11931 * include/grub/sparc64/ieee1275/boot.h: Likewise.
11932 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11933 * include/grub/sparc64/kernel.h: Likewise.
11934 * include/grub/x86_64/efi/kernel.h: Likewise.
11935 * include/grub/x86_64/kernel.h: Likewise.
11936 * include/grub/offsets.h: New file.
11937 * include/grub/kernel.h (grub_module_info): Split into ...
11938 (grub_module_info32): ... this.
11939 (grub_module_info64): ... and this.
11940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
11941 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
11942 (grub_boot_blocklist): Moved from here ...
11943 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
11944 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
11945 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
11946 * include/grub/types.h (grub_target_to_host16): Removed.
11947 (grub_target_to_host32): Likewise.
11948 (grub_target_to_host64): Likewise.
11949 (grub_host_to_target16): Likewise.
11950 (grub_host_to_target32): Likewise.
11951 (grub_host_to_target64): Likewise.
11952 (grub_host_to_target_addr): Likewise.
11953
11954 Support grub-mkrescue for efi, coreboot and qemu.
11955
11956 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11957 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11958 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11959 * util/grub-mkrawimage.c: Moved from here ...
11960 * util/grub-mkimage.c: ... here. All users updated.
11961 (ALIGN_ADDR): Use image_target.
11962 (TARGET_NO_FIELD): New const.
11963 (image_target_desc): New type.
11964 (image_targets): New array.
11965 (grub_target_to_host64): Use image_target.
11966 (grub_target_to_host32): Likewise.
11967 (grub_target_to_host16): Likewise.
11968 (grub_host_to_target64): Likewise.
11969 (grub_host_to_target32): Likewise.
11970 (grub_host_to_target16): Likewise.
11971 (grub_host_to_target_addr): Likewise.
11972 (generate_image): Handle multiimage.
11973 (main): Require -O parameter. All users updated.
11974 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11975 util/efi/grub-mkimage.c
11976 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11977 New option --rom-directory.
11978 Use xorriso.
11979 * util/i386/efi/grub-mkimage.c: Removed.
11980 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11981 (grub_target_to_host32): Likewise.
11982 (grub_target_to_host64): Likewise.
11983 (grub_host_to_target16): Likewise.
11984 (grub_host_to_target32): Likewise.
11985 (grub_host_to_target64): Likewise.
11986 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11987 (grub_target_to_host32): Likewise.
11988 (grub_target_to_host64): Likewise.
11989 (grub_host_to_target16): Likewise.
11990 (grub_host_to_target32): Likewise.
11991 (grub_host_to_target64): Likewise.
11992
f4fc97d0
BC
119932010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11994
11995 Source tree is reorganized for emu build.
11996
11997 * include/grub/util/console.h: Move from here...
11998 * include/grub/emu/console.h: ...to here.
11999 * include/grub/util/getroot.h: Move from here...
12000 * include/grub/emu/getroot.h: ...to here.
12001 * include/grub/util/hostdisk.h: Move from here...
12002 * include/grub/emu/hostdisk.h: ...to here.
12003 * util/console.c: Move from here...
12004 * kern/emu/console.c: ...to here.
12005 * util/getroot.c: Move from here...
12006 * kern/emu/getroot.c: ...to here.
12007 * util/grub-emu.c: Move from here...
12008 * kern/emu/main.c: ...to here.
12009 * util/hostdisk.c: Move from here...
12010 * kern/emu/hostdisk.c: ...to here.
12011 * util/hostfs.c: Move from here...
12012 * kern/emu/hostfs.c: ...to here.
12013 * util/mm.c: Move from here...
12014 * kern/emu/mm.c: ...to here.
12015 * util/pci.c: Move from here...
12016 * bus/emu/pci.c: ...to here.
12017 * util/sdl.c: Move from here...
12018 * video/emu/sdl.c: ...to here.
12019 * util/time.c: Move from here...
12020 * kern/emu/time.c: ...to here.
12021 * util/usb.c: Move from here...
12022 * bus/usb/emu/usb.c: ...to here.
12023
12024 * include/grub/emu/misc.h: New header for grub-emu functions.
12025 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12026
12027 * conf/any-emu.rmk: Rule updates for above renames.
12028 * conf/common.rmk: Likewise.
12029 * conf/i386-pc.rmk: Likewise.
12030 * conf/i386-qemu.rmk: Likewise.
12031 * conf/mips.rmk: Likewise.
12032 * conf/sparc64-ieee1275.rmk: Likewise.
12033 * conf/x86-efi.rmk: Likewise.
12034
12035 * disk/lvm.h: #include updates for above renames.
12036 * util/grub-mkrelpath.c: Likewise.
12037 * util/grub-probe.c: Likewise.
12038 * util/i386/pc/grub-setup.c: Likewise.
12039 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12040 * kern/emu/console.c: Likewise.
12041 * kern/emu/getroot.c: Likewise.
12042 * kern/emu/hostdisk.c: Likewise.
12043 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12044
12045 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12046 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12047 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12048 * util/misc.c: Remove grub-emu functions.
12049
cced9145
VS
120502010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 Fix gfxmenu crash.
12053 Reported by: Thorsten Grützmacher.
12054
12055 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12056 timeout hook.
12057 (circprog_set_property): Register and unregister timeout hook.
12058 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12059 (label_destroy): Free template. and unregister hook.
12060 (label_set_state): New function.
12061 (label_set_property): Handle templates and hooks.
12062 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12063 timeout hook.
12064 (progress_bar_set_property): Register and unregister timeout hook.
12065 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12066 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12067 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12068 (update_timeout_visit): Removed.
12069 (update_timeouts): New function.
12070 (redraw_timeouts): Likewise.
12071 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12072 (grub_gfxmenu_clear_timeout): Likewise.
12073 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12074 (grub_gfxmenu_timeout_notify): Likewise.
12075 (grub_gfxmenu_timeout_notifications): New external variable.
12076 (grub_gfxmenu_timeout_register): New function.
12077 (grub_gfxmenu_timeout_unregister): Likewise.
12078
c6e5caab
VS
120792010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 Transform (broken) vga terminal into (working) vga video driver.
12082
12083 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12084 video/i386/pc/vga.c.
12085 * include/grub/video.h (grub_video_driver_id):
12086 Add GRUB_VIDEO_DRIVER_VGA.
12087 * term/i386/pc/vga.c: Renamed to ...
12088 * video/i386/pc/vga.c: ...this
12089 (DEBUG_VGA): Removed.
12090 (CHAR_WIDTH): Likewise.
12091 (CHAR_HEIGHT): Likewise.
12092 (TEXT_WIDTH): Likewise.
12093 (TEXT_HEIGHT): Likewise.
12094 (DEFAULT_FG_COLOR): Likewise.
12095 (DEFAULT_BG_COLOR): Likewise.
12096 (colored_char): Likewise.
12097 (xpos): Likewise.
12098 (ypos): Likewise.
12099 (cursor_state): Likewise.
12100 (fg_color): Likewise.
12101 (bg_color): Likewise.
12102 (text_buf): Likewise.
12103 (page): Likewise.
12104 (font): Likewise.
12105 (framebuffer): New variable.
12106 (set_read_map): Disabled.
12107 (setup): New variable.
12108 (is_target): Likewise.
12109 (grub_vga_mod_init): Likewise.
12110 (grub_vga_mod_fini): Likewise.
12111 (check_vga_mem): Likewise.
12112 (write_char): Likewise.
12113 (write_cursor): Likewise.
12114 (scroll_up): Likewise.
12115 (grub_vga_putchar): Likewise.
12116 (grub_vga_getcharwidth): Likewise.
12117 (grub_vga_getwh): Likewise.
12118 (grub_vga_getxy): Likewise.
12119 (grub_vga_gotoxy): Likewise.
12120 (grub_vga_cls): Likewise.
12121 (grub_vga_setcolorstate): Likewise.
12122 (grub_vga_setcursor): Likewise.
12123 (grub_video_vga_init): New function.
12124 (grub_video_vga_setup): Likewise.
12125 (grub_video_vga_fini): Likewise.
12126 (update_target): Likewise.
12127 (grub_video_vga_blit_bitmap): Likewise.
12128 (grub_video_vga_blit_render_target): Likewise.
12129 (grub_video_vga_set_active_render_target): Likewise.
12130 (grub_video_vga_get_active_render_target): Likewise.
12131 (grub_video_vga_swap_buffers): Likewise.
12132 (grub_video_vga_set_palette): Likewise.
12133 (grub_video_vga_get_info_and_fini): Likewise.
12134 (grub_vga_term): Removed.
12135 (grub_video_vga_adapter): New variable.
12136 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12137 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12138
2bf61a98
VS
121392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12140
12141 * video/readers/jpeg.c: Indented.
12142
09ddcd11
VS
121432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12144
12145 Various jpeg cleanups.
12146
12147 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12148 (grub_jpeg_decode_quan_table): Use sizeof.
12149 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12150
e5507505
PH
121512010-05-05 Peter Hurley <No e-mail available> (tiny change)
12152
12153 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12154 tables. Ignore non-last ac bit.
12155 (grub_jpeg_decode_quan_table): Likewise.
12156
7e720a9b
VS
121572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12158
12159 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12160 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12161 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12162 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12163 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12164 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12165
a7fc080b
VS
121662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12169 error.
12170
2bf6012d
VS
121712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12174
265d68cd
VS
121752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12178 condition.
12179
121802010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12181
12182 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12183 part.
12184
265d68cd 121852010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12186
12187 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12188 pointers.
12189
265d68cd 121902010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12191
12192 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12193
d1b61374
CF
121942010-05-01 Christian Franke <franke@computer.org>
12195
12196 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12197 Remove broken Cygwin path conversion.
12198 * util/misc.c: [__CYGWIN__] Add include and define.
12199 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12200 for Cygwin 1.7.
12201 (make_system_path_relative_to_its_root): Simplify loop, replace early
12202 return by break.
12203 [__CYGWIN__] Add conversion to win32 path.
12204 Include "/" case in trailing slash removal.
12205
3558c6e9
VS
122062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12209 Reported by: Seth Goldberg
12210
f5f3ff93
VS
122112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * commands/help.c (grub_cmd_help): Fix a typo.
12214 Reported by: Seth Goldberg
12215
d8b5cd40
VS
122162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12219 name and add N_.
12220 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12221 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12222 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12223 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12224 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12225 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12226 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12227 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12228 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12229 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12230 * normal/context.c (GRUB_MOD_INIT): Likewise.
12231 * normal/main.c (GRUB_MOD_INIT): Likewise.
12232 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12233 * term/serial.c (GRUB_MOD_INIT): Likewise.
12234 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12235
88c14915
VS
122362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12239 extra == 0.
12240
165134bc
VS
122412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 * commands/iorw.c: New file.
12244 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12245 (iorw_mod_SOURCES): New variable.
12246 (iorw_mod_CFLAGS): Likewise.
12247 (iorw_mod_LDFLAGS): Likewise.
12248
c5ac9b32
VS
122492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12250
12251 Hotkey support
12252
12253 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12254 * normal/main.c (hotkey_aliases): New variable.
12255 (grub_normal_add_menu_entry): Parse "--hotkey".
12256 * normal/menu_text.c (run_menu): Handle hotkeys.
12257
ce60689c
VS
122582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * kern/i386/coreboot/init.c (grub_machine_init): Call
12261 grub_machine_mmap_init on qemu.
12262
0359d006
VS
122632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 * boot/i386/qemu/boot.S: Add a missing .code16.
12266
7819a456
VS
122672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12268
12269 Use LBIO on coreboot.
12270
12271 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12272 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12273 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12274 New declaration.
12275 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12276 grub_machine_mmap_init on coreboot.
12277 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12278 GRUB_LINUXBIOS_MEMBER_LINK.
12279 (grub_machine_mmap_iterate): Fix declaration.
12280 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12281
7210dca9
VS
122822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12283
12284 Split coreboot and multiboot ports.
12285
12286 * conf/i386-multiboot.rmk: New file.
12287 * configure.ac: Add multiboot port.
12288 * include/grub/i386/multiboot/boot.h: New file.
12289 * include/grub/i386/multiboot/console.h: Likewise.
12290 * include/grub/i386/multiboot/init.h: Likewise.
12291 * include/grub/i386/multiboot/kernel.h: Likewise.
12292 * include/grub/i386/multiboot/loader.h: Likewise.
12293 * include/grub/i386/multiboot/memory.h: Likewise.
12294 * include/grub/i386/multiboot/serial.h: Likewise.
12295 * include/grub/i386/multiboot/time.h: Likewise.
12296 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12297 * loader/multiboot.c: Likewise.
12298 * loader/multiboot_mbi2.c: Likewise.
12299 * util/grub-mkrescue.in: Generate multiboot rescue.
12300
6f8aaf68
VS
123012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12302
3080f7a7
VS
12303 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12304
123052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12306
12307 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12308
12309 * commands/terminal.c (abstract_terminal): New struct.
12310 (handle_command): New function. Based on grub_cmd_terminal_input.
12311 (grub_cmd_terminal_input): Use handle_command.
12312 (grub_cmd_terminal_output): Use handle_command.
12313
a8ebb841
BC
123142010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12315
12316 Fix comment handling.
12317
12318 * tests/grub_script_comments.in: New testcase.
12319 * conf/tests.rmk: Rules for new testcase.
12320 * script/yylex.l: Updated flex rules.
12321
bb06ba08
ST
123222010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12323
12324 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12325 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12326 if argc is 1.
bb06ba08 12327
cc9d2425
VS
123282010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12331 autogen issues.
12332
460d8402
CF
123332010-04-26 Christian Franke <franke@computer.org>
12334
12335 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12336 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12337 (grub_get_prefix): Remove function.
12338 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12339 make_system_path_relative_to_its_root ().
12340 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12341
553c01f9
CF
123422010-04-24 Christian Franke <franke@computer.org>
12343
12344 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12345 (kernel_img_LDFLAGS): Remove -static-libgcc.
12346
2aec1692
CF
123472010-04-24 Christian Franke <franke@computer.org>
12348
12349 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12350 and CHECK_END_SYMBOL if grub-emu is built.
12351 Unset TARGET_OBJ2ELF if grub-emu is built
12352 without module support.
12353
f67dc308
JS
123542010-04-24 Jiro SEKIBA <jir@unicus.jp>
12355
12356 Nilfs2 support.
12357
12358 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12359 (grub_fstest_SOURCES): Likewise.
12360 (pkglib_MODULES): Add nilfs2.mod.
12361 (nilfs2_mod_SOURCES): New variable.
12362 (nilfs2_mod_CFLAGS): Likewise.
12363 (nilfs2_mod_LDFLAGS): Likewise.
12364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12365 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12366 * fs/nilfs2.c: New file.
12367
4ba8d354
VS
123682010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12369
12370 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12371 is not supported.
12372
0d2c20c6
GS
123732010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12374
12375 Add grub-mkconfig support for NetBSD.
12376
12377 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12378 * util/grub-mkconfig.in: export new NetBSD specific variables.
12379 * po/POTFILES-shell: added 10_netbsd.in.
12380 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12381
bc4a2d83
BC
123822010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12383
12384 Fix emu build with grub-emu-pci and grub-emu-modules.
12385
12386 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12387 functions.
12388 * include/grub/libpciaccess.h: New file.
12389 * conf/any-emu.rmk: Update kernel headers for emu build.
12390
f48c87aa
VS
123912010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12392
12393 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12394
18959385
VS
123952010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12398
0037de3f
VS
123992010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12402 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12403 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12404 util/ieee1275/ofpath.c.
12405 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12406 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12407 * include/grub/sparc64/ieee1275/boot.h
12408 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12409 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12410 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12411 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12412 const char *.
12413 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12414 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12415 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12416 install.
12417
38e55e90
GS
124182010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12419
12420 * util/grub-mkconfig.in: Corrected two == equality tests.
12421 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12422 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12423 expect a number appended to it.
12424 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12425 expects a number appended to it.
12426
a9e6ff28
VS
124272010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12428
12429 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12430
0b830b8f
VS
124312010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12432
12433 * util/hostdisk.c (make_device_name): Change to new partition naming.
12434
0973daeb
VS
124352010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12438
460d8402 124392010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12440
12441 * Makefile.in: Add missing localedir setting.
12442
0b456309
CW
124432010-04-14 Colin Watson <cjwatson@ubuntu.com>
12444
12445 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12446 mistake in r2156. Noticed by Anthony Fok.
12447
12448 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12449 @localedir@.
12450 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12451
08f46d62
BC
124522010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12453
12454 Fix a spurious, uninitialized variable warning.
12455
12456 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12457 Initialize variable, shdr.
12458 (grub_freebsd_load_elfmodule): Likewise.
12459 (grub_freebsd_load_elf_meta): Likewise.
12460
8c4a72d4
BC
124612010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12462
12463 Fix for escaped dollar in double quoted strings.
12464
12465 * script/yylex.l: Updated flex rules.
12466 * conf/tests.rmk: Rule for new testcase.
12467 * tests/grub_script_dollar.in: New testcase.
12468
ce44826e
CPE
124692010-04-13 Carles Pina i Estany <carles@pina.cat>
124702010-04-13 Colin Watson <cjwatson@ubuntu.com>
12471
12472 Enclose all translated strings in grub.cfg in single quotes, and
12473 escape them appropriately (Ubuntu bug #552921).
12474
12475 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12476 * util/grub.d/10_hurd.in: Use it.
12477 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12478 * util/grub.d/10_linux.in (linux_entry): Likewise.
12479
4b0cd8f8
VS
124802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 Fix cygwin compilation.
12483
12484 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12485 * include/grub/misc.h (__register_frame_info)
12486 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12487 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12488 * kern/misc.c (__register_frame_info)
12489 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12490 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12491
01fcf061
VS
124922010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12493
12494 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12495
5d04b11e
VS
124962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12497
12498 Unify libgcc processing.
12499
12500 * Makefile.in (kernel_img_LDFLAGS): New variable.
12501 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12502 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12503 overwriting.
12504 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12505 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12506 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12507 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12508 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12509 overwriting. Remove -lgcc and -static-libgcc
12510 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12511 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12512 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12513 (kernel_img_LDFLAGS): Append instead of overwriting.
12514 Remove -lgcc and -static-libgcc
12515 * conf/sparc64-ieee1275.rmk: Likewise.
12516 * include/grub/powerpc/libgcc.h: Move to ...
12517 * include/grub/libgcc.h: .. this.
12518 * include/grub/libgcc.h: Don't export most of the function on x86.
12519 (__bswapsi2): New export.
12520 (__bswapdi2): Likewise.
12521 * include/grub/mips/libgcc.h: Removed.
12522 * include/grub/sparc64/libgcc.h: Likewise.
12523
b7f3ac29
VS
125242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12525
12526 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12527 disk_info_msg (conflicts with gettexting into languages with cases).
12528
2c7031b1
GS
125292010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12530
12531 Add grub-probe support for NetBSD.
12532
12533 * util/getroot.c (find_root_device): Convert block device to
12534 character device on NetBSD.
12535 * util/probe.c (probe): Require character device on NetBSD.
12536 * util/hostdisk.c: NetBSD specific headers.
12537 (configure_device_driver): new function to tune device driver
12538 parameters (currently only for NetBSD floppy driver).
12539 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12540 via disklabel ioctl).
12541 (open_device): call configure_device_driver on NetBSD.
12542 (convert_system_partition_to_system_disk): NetBSD specific code.
12543 (device_is_wholedisk): Likewise.
12544 (grub_util_biosdisk_get_grub_dev): Likewise.
12545 (make_device_name): Fixed a typo in bsd_part_str.
12546 * configure.ac: check for opendisk() and getrawpartition() on
12547 NetBSD and set LIBUTIL.
12548 * Makefile.in: add LIBUTIL to LIBS.
12549
f516290c
BC
125502010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12551
12552 Documentation fix.
12553
12554 * util/grub-script-check.c: Better help message.
12555
d8dcc0df
BC
125562010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12557
12558 Fix FreeBSD build.
12559
12560 * configure.ac: Flex version check.
12561 * conf/common.rmk: Add -Wno-error to sh.mod.
12562 * script/yylex.l: Remove all #pragma.
12563
6734334a
VS
125642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12565
12566 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12567 prototype.
12568 Reported by: Seth Goldberg.
12569
daea6abd
VS
125702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12571
12572 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12573 Rename "module" to "module2".
12574 Reported by: Seth Goldberg.
12575
f2fd9d2b
VS
125762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12579 EXPORT_FUNC.
12580 Reported by: Seth Goldberg.
12581
be124579
VS
125822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * lib/posix_wrap/locale.h: Add missing file.
12585 Reported by: Seth Goldberg.
12586
ef5da797
VS
125872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 grub-emu module load support.
12590
12591 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12592 NO_DYNAMIC_MODULES switched to this.
12593 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12594 (CFLAGS): Likewise.
12595 * conf/any-emu.rmk: Generate symlist.
12596 (kernel_img_HEADERS): Add util/datetime.h.
12597 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12598 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12599 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12600 kern/$(target_cpu)/cache.S.
12601 * configure.ac (grub-emu-modules): New option.
12602 * genmk.rb: Handle multiple source lists.
12603 * include/grub/sdl.h: New file.
12604 * include/grub/libusb.h: Likewise.
12605 * util/grub-emu.c (main): Hanle (host) root.
12606 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12607 GRUB_ERR_UNKNOWN_DEVICE.
12608 * util/misc.c: Move mm functions to ...
12609 * util/mm.c: ... here. All users updated.
12610
47822096
VS
126112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12612
12613 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12614 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12615 missing files.
12616 (maintainer-clean): Remove libgcrypt-grub.
12617
5d7e7445
VS
126182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12619
12620 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12621
25f4e252
EC
126222010-04-09 EFI Coder <eficoder@hotmail.com>
12623
12624 * normal/menu_text.c (print_message): Clean up the message and show
12625 the Fn information when on EFI
12626 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12627
027de555
VS
126282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12631 All users updated.
12632 * normal/crypto.c (read_crypto_list): Likewise.
12633 * normal/dyncmd.c (read_command_list): Likewise.
12634 * normal/term.c (read_terminal_list): Likewise.
12635 * normal/main.c (read_lists): Use explicit prefix.
12636 (read_lists_hook): Use read_lists.
12637 (grub_normal_execute): Likewise.
12638
47779711
VS
126392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12640
12641 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12642 Reported by: Thomas Schmitt.
12643 Add -no-emul-boot to grub-mkisofs parameters.
12644
1118c32e
VS
126452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * font/font.c: Indented.
12648
7d652447
BC
126492010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12650
12651 Elif support to GRUB script (by Deepak Vankadaru).
12652
12653 * tests/grub_script_if.in: New testcase.
12654 * conf/tests.rmk: Rule for new testcase.
12655 * script/parser.y: Grammar rules for elif.
12656
34bb22df
BC
126572010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12658
12659 While and until loops support to GRUB script.
12660
12661 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12662 (grub_script_create_cmdwhile): New function prototype.
12663 (grub_script_execute_cmdwhile): New function prototype.
12664 * script/execute.c (grub_script_execute_cmdwhile): New function.
12665 * script/parser.y (command): New commands.
12666 (whilecmd): New grammar rule.
12667 (untilcmd): New grammar rule.
12668 * script/script.c (grub_script_create_cmdwhile): New function.
12669 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12670 function.
12671
12672 * tests/grub_script_while1.in: New testcase.
12673 * conf/tests.rmk: Rule for new testcase.
12674
e215d8e0
VS
126752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12678 as *.jpg.
12679
d7c43ba1
MV
126802010-04-09 Mario Vazquez <mariovazq@gmail.com>
12681
12682 GRUB_BACKGROUND support.
12683
12684 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12685 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12686
d64795c0
VS
126872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 12690 Idea by: Mario Vazquez
d64795c0
VS
12691
12692 * util/grub.d/00_header.in: Load pf2 and image modules.
12693
f267f83a
VS
126942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 grub-mkconfig multiple terminal support.
12697
12698 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12699 * util/grub.d/00_header.in: Likewise.
12700
b7841ceb
VS
127012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12702
12703 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12704 we use cd $(srcdir).
12705
df60998c
CW
127062010-04-08 Colin Watson <cjwatson@ubuntu.com>
12707
12708 * util/grub.d/10_linux.in: Only use the first word of
12709 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
12710 spaces in GRUB_DISTRIBUTOR.
12711 * util/grub.d/10_kfreebsd.in: Likewise.
12712 * util/grub.d/10_hurd.in: Likewise.
12713
fa09c82e
BC
127142010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
12715
14e18ae3 12716 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12717
12718 * tests/util/grub-shell.in: Remove -serial stdio option.
12719
daf892b3
BC
127202010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12721
12722 POSIX header file wrappers.
12723
12724 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
12725 equivalents.
12726 * lib/posix_wrap/ctype.h: Likewise.
12727 * lib/posix_wrap/errno.h: Likewise.
12728 * lib/posix_wrap/langinfo.h: Likewise.
12729 * lib/posix_wrap/limits.h: Likewise.
12730 * lib/posix_wrap/localcharset.h: Likewise.
12731 * lib/posix_wrap/stdint.h: Likewise.
12732 * lib/posix_wrap/stdio.h: Likewise.
12733 * lib/posix_wrap/stdlib.h: Likewise.
12734 * lib/posix_wrap/string.h: Likewise.
12735 * lib/posix_wrap/sys/types.h: Likewise.
12736 * lib/posix_wrap/unistd.h: Likewise.
12737 * lib/posix_wrap/wchar.h: Likewise.
12738 * lib/posix_wrap/wctype.h: Likewise.
12739 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
12740 (grub_script.yy.h): Likewise.
12741 * script/yylex.l: Remove POSIX emulation #defines.
12742 * Makefile.in (POSIX_CFLAGS): New variable.
12743 (GNULIB_UTIL_CFLAGS): Likewise.
12744
12745 Regexp support.
12746
12747 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
12748 (regexp_mod_SOURCES): New variable.
12749 (regexp_mod_CFLAGS): Likewise.
12750 (regexp_mod_LDFLAGS): Likewise.
12751 * commands/regexp.c: New file.
12752 * gnulib/regcomp.c: New file. Imported from gnulib.
12753 * gnulib/regex.c: Likewise.
12754 * gnulib/regex_internal.c: Likewise.
12755 * gnulib/regex_internal.h: Likewise.
12756 * gnulib/regexec.c: Likewise.
12757 * gnulib/regex.h: Likewise.
12758
974ac4f7
VS
127592010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
12762 unsupported video mode types.
12763
2622c3ff
VS
127642010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
12767
064cb524
VS
127682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
12771 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
12772
a8c3b552
VS
127732010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12774
12775 Remove unused grub_vga_get_font.
12776
12777 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
12778 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
12779
187bbe3d
GS
127802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12781
12782 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
12783 * include/grub/misc.h: Likewise.
12784
b9396631
GS
127852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12786
12787 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
12788 for which failure is fatal.
12789
50479feb
GS
127902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12791
12792 * util/grub-install.in: Use mkdir -p to create grub directory.
12793 * util/i386/efi/grub-install.in: Likewise.
12794 * util/ieee1275/grub-install.in: Likewise.
12795
b1654fdf
GS
127962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12797
12798 * Makefile.in (LEX): new variable.
12799
bd5a6415
GS
128002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12801
12802 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
12803 `=' and added double quotes on operands of this equality test.
12804
3db3a82b
VS
128052010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 * Makefile.in (uninstall): Remove a leftover debug echo.
12808 Reported by: Grégoire Sutre
12809
38023412
VS
128102010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 MIPS multiboot2 support.
12813
12814 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
12815 (multiboot2_mod_SOURCES): New variable.
12816 (multiboot2_mod_CFLAGS): Likewise.
12817 (multiboot2_mod_LDFLAGS): Likewise.
12818 (multiboot2_mod_ASFLAGS): Likewise.
12819 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
12820 definition.
12821 (MULTIBOOT_ENTRY_REGISTER): Likewise.
12822 (MULTIBOOT_MBI_REGISTER): Likewise.
12823 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
12824 (MULTIBOOT_ELF32_MACHINE): Likewise.
12825 (MULTIBOOT_ELF64_MACHINE): Likewise.
12826 * include/grub/mips/multiboot.h: New file.
12827 * include/grub/video.h (grub_video_driver_id): New type
12828 GRUB_VIDEO_DRIVER_SM712.
12829 (grub_video_get_info_and_fini): Export.
12830 (grub_video_get_palette): Likewise.
12831 (grub_video_get_driver_id): Likewise.
12832 * include/multiboot2.h: Resynced with spec.
12833 * loader/i386/multiboot.c: Moved from here ...
12834 * loader/multiboot.c: ... here. All users updated.
12835 (grub_multiboot_boot): Use platform-specific macros.
12836 * loader/i386/multiboot_elfxx.c: Moved from here ...
12837 * loader/multiboot_elfxx.c: ... here. All users updated.
12838 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
12839 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
12840 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
12841
47674667
VS
128422010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 Import gnulib argp module.
12845
12846 * gnulib/argp-ba.c: New file.
12847 * gnulib/argp-eexst.c: Likewise.
12848 * gnulib/argp-fmtstream.c: Likewise.
12849 * gnulib/argp-fmtstream.h: Likewise.
12850 * gnulib/argp-fs-xinl.c: Likewise.
12851 * gnulib/argp-help.c: Likewise.
12852 * gnulib/argp-namefrob.h: Likewise.
12853 * gnulib/argp-parse.c: Likewise.
12854 * gnulib/argp-pin.c: Likewise.
12855 * gnulib/argp-pv.c: Likewise.
12856 * gnulib/argp-pvh.c: Likewise.
12857 * gnulib/argp-version-etc.c: Likewise.
12858 * gnulib/argp-version-etc.h: Likewise.
12859 * gnulib/argp-xinl.c: Likewise.
12860 * gnulib/argp.h: Likewise.
12861
495442ed
VS
128622010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * kern/device.c (grub_device_iterate): Clear errors after failed
12865 opening device.
12866
f9fd65df
VS
128672010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
12870 returned by firmware.
12871
af09641e
VS
128722010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
12875 compilation on coreboot and qemu
12876
016883a5
VS
128772010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * include/multiboot2.h: Resync with spec.
12880
f97e1f7d
VS
128812010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Multiboot2 tag support
12884
12885 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
12886 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
12887 Remove loader/multiboot_loader.c.
12888 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
12889 (grub_multiboot2_real_boot): Likewise.
12890 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
12891 (grub_get_multiboot_mmap_count): New proto.
12892 (grub_fill_multiboot_mmap): Likewise.
12893 (grub_multiboot_set_video_mode): Likewise.
12894 (grub_multiboot_set_console): Likewise.
12895 (grub_multiboot_load): Likewise.
12896 (grub_multiboot_load_elf): Likewise.
12897 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
12898 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
12899 * include/multiboot.h: Resynced with specification.
12900 * include/multiboot2.h: Resynced with specification.
12901 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
12902 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
12903 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
12904 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
12905 users updated.
12906 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
12907 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
12908 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
12909 Removed.
12910 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
12911 Moved from here...
12912 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
12913 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12914 Moved from here...
12915 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
12916 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
12917 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
12918 All users updated.
12919 * loader/i386/multiboot_mbi2.c: New file.
12920
3506b90b
VS
129212010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12922
12923 Resync with gnulib.
12924
12925 * Makefile.in (GNULIB_CFLAGS): New variable.
12926 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
12927 (grub_script_check_CFLAGS): New variable.
12928 * gnulib/alloca.h: Resync with gnulib.
12929 * gnulib/error.c: Likewise.
12930 * gnulib/error.h: Likewise.
12931 * gnulib/fnmatch.c: Likewise.
12932 * gnulib/fnmatch_loop.c: Likewise.
12933 * gnulib/getdelim.c: Likewise.
12934 * gnulib/getline.c: Likewise.
12935 * gnulib/getopt.c: Likewise.
12936 * gnulib/getopt1.c: Likewise.
12937 * gnulib/getopt_int.h: Likewise.
12938 * gnulib/gettext.h: Likewise.
12939 * gnulib/progname.c: Likewise.
12940 * gnulib/progname.h: Likewise.
12941
394a3120
GS
129422010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
12943
12944 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
12945 which is the case with --disabled-nls.
12946
12947 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
12948 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
12949 * util/misc.c: Likewise.
12950 * util/mkisofs/mkisofs.c: Likewise.
12951 * util/mkisofs/mkisofs.h: Likewise.
12952
969d1c78
VS
129532010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 Simplify Apple CC support.
12956
12957 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12958 Add 0 byte at the end not to have a symbol with empty target.
12959 * mmap/i386/pc/mmap_helper.S: Likewise.
12960 * genmk.rb: Ignore errors 2030 and 2050.
12961 * kern/i386/pc/startup.S: Use LOCAL when possible.
12962
8d2977bb
BC
129632010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12964
12965 Testcase and the fix for final semicolon on cmdline.
12966
12967 * tests/grub_script_final_semicolon.in: New testcase.
12968 * conf/tests.rmk: Rules for the new testcase.
12969 * script/parser.y: Grammar fix.
12970
a7bd6915
BC
129712010-03-26 BVK Chaitanya <bvk@localhost>
12972
12973 Blank lines testcase for GRUB script.
12974
12975 * tests/grub_script_blanklines.in: New testcase.
12976 * conf/tests.rmk: Rules for the new testcase.
12977
e4ff6628
VS
129782010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 Don't use __FILE__.
12981
12982 * genmk.rb: Add -DGRUB_FILE to all C targets.
12983 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12984 * include/grub/list.h: Likewise.
12985 * include/grub/misc.h: Likewise.
12986 * include/grub/mm.h: Likewise.
12987 * include/grub/test.h: Likewise.
12988 * kern/mm.c: Likewise.
12989 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12990
6a5cf6b6
VS
129912010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12992
12993 Sunpc partitions support.
12994
12995 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12996 (grub_fstest_SOURCES): Likewise.
12997 (pkglib_MODULES): Add part_sunpc.mod.
12998 (part_sunpc_mod_SOURCES): New variable.
12999 (part_sunpc_mod_CFLAGS): Likewise.
13000 (part_sunpc_mod_LDFLAGS): Likewise.
13001 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13002 * partmap/sunpc.c: New file.
13003
746d9045
BC
130042010-03-26 BVK Chaitanya <bvk@localhost>
13005
13006 For loop support to GRUB script.
13007
13008 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13009 (grub_script_create_cmdfor): New function prototype.
13010 (grub_script_execute_cmdfor): New function prototype.
13011 * script/execute.c (grub_script_execute_cmdfor): New function.
13012 * script/parser.y (command): New for command.
13013 (forcmd): New grammar rule.
13014 * script/script.c (grub_script_create_cmdfor): New function.
13015 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13016 function.
13017 * tests/grub_script_for1.in: New testcase.
13018 * conf/tests.rmk: Rules for new testcase.
13019
18486b18
VS
130202010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 Nested partitions
13023
13024 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13025 'partition' is NULL, grub_partition_get_start already does that.
13026 * commands/loadenv.c (check_blocklists): Likewise.
13027 (write_blocklists): Likewise.
13028 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13029 (grub_fstest_SOURCES): Likewise.
13030 (pkglib_MODULES): Add part_bsd.mod.
13031 (part_bsd_mod_SOURCES): New variable.
13032 (part_bsd_mod_CFLAGS): Likewise.
13033 (part_bsd_mod_LDFLAGS): Likewise.
13034 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13035 (grub_emu_SOURCES): Likewise.
13036 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13037 * include/grub/bsdlabel.h: New file.
13038 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13039 'get_name'.
13040 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13041 (grub_partition_map_list): New variable.
13042 (grub_partition_map_register): Inline.
13043 (grub_partition_map_unregister): Likewise.
13044 (FOR_PARTITION_MAPS): New macro.
13045 (grub_partition_map_iterate): Removed.
13046 (grub_partition_get_start): Handle nested partitions.
13047 * include/grub/msdos_partition.h: Remove bsd-related entries.
13048 (grub_pc_partition): Remove.
13049 * kern/disk.c (grub_disk_close): Free partition data.
13050 (grub_disk_adjust_range): Handle nested partitions.
13051 * kern/partition.c (grub_partition_map_probe): New function.
13052 (grub_partition_probe): Parse name to number, handle subpartitions.
13053 (get_partmap): New function.
13054 (grub_partition_iterate): Handle subpartitions.
13055 (grub_partition_get_name): Likewise.
13056 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13057 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13058 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13059 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13060 Set 'number'.
13061 (acorn_partition_map_probe): Remove.
13062 (acorn_partition_map_get_name): Likewise.
13063 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13064 Set 'number'.
13065 Set 'index' to 0 since there can be only one partition entry per sector.
13066 (amiga_partition_map_probe): Remove.
13067 (amiga_partition_map_get_name): Likewise.
13068 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13069 Set 'number'.
13070 Set 'offset' and 'index' to real positions of partitions.
13071 (apple_partition_map_probe): Remove.
13072 (apple_partition_map_get_name): Likewise.
13073 * partmap/bsdlabel.c: New file.
13074 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13075 Set 'number'.
13076 Allocate 'data' so it can be correctly freed.
13077 Set 'index' to offset inside sector.
13078 (gpt_partition_map_probe): Remove.
13079 (gpt_partition_map_get_name): Likewise.
13080 * partmap/msdos.c (grub_partition_parse): Remove.
13081 (pc_partition_map_iterate): Don't force raw access.
13082 Set 'number'.
13083 Make 'ext_offset' a local variable.
13084 (pc_partition_map_probe): Remove.
13085 (pc_partition_map_get_name): Remove.
13086 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13087 Set 'number'.
13088 (sun_partition_map_probe): Remove.
13089 (sun_partition_map_get_name): Likewise.
13090 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13091 (grub_pcpart_type): Likewise.
13092 * util/hostdisk.c (open_device): Handle new numbering scheme.
13093 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13094 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13095 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13096 * util/grub-install.in: Insert all subpartition modules.
13097 * util/ieee1275/grub-install.in: Likewise.
13098
a3940f88
AG
130992010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13100
13101 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13102 grammar.
13103
21b99926 131042010-03-24 Colin Watson <cjwatson@ubuntu.com>
13105
13106 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13107
bed1d352
CW
131082010-03-21 Colin Watson <cjwatson@ubuntu.com>
13109
13110 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13111 match where 'make install' puts them.
13112 * util/i386/efi/grub-install.in: Likewise.
13113
c9f58427
CW
131142010-03-19 Colin Watson <cjwatson@ubuntu.com>
13115
13116 * .bzrignore: Add gentrigtables, grub-script-check,
13117 grub_script_check_init.c, grub_script_check_init.h, and
13118 trigtables.c.
13119
f84afb27
VS
131202010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13121
13122 * kern/parser.c: Indented.
13123
ed0e3d30
VS
131242010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13125
13126 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13127
0ea81d98
VS
131282010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13131 alpha_mask_size == 0 case.
13132
0cdc2a09
BC
131332010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13134
13135 GRUB shell lexer and parser improvements.
13136
13137 * conf/any-emu.rmk: Build rule updates.
13138 * conf/common.rmk: Likewise.
13139 * conf/i386-coreboot.rmk: Likewise.
13140 * conf/i386-efi.rmk: Likewise.
13141 * conf/i386-ieee1275.rmk: Likewise.
13142 * conf/i386-pc.rmk: Likewise.
13143 * conf/powerpc-ieee1275.rmk: Likewise.
13144 * conf/x86_64-efi.rmk: Likewise.
13145
13146 * configure.ac: Configure check for flex.
13147
13148 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13149 types.
13150 (grub_lexer_param): Struct member updates.
13151 (grub_parser_param): Likewise.
13152 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13153 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13154 (grub_script_lexer_init): Prototype update.
13155 (grub_script_lexer_record_start): Likewise.
13156 (grub_script_lexer_record_stop): Likewise.
13157 (grub_script_lexer_yywrap): New function prototype.
13158 (grub_script_lexer_fini): Likewise.
13159 (grub_script_execute_argument_to_string): Removed by...
13160 (grub_script_execute_argument_to_argv): ...better version.
13161
13162 * script/execute.c (ROUND_UPTO): New macro.
13163 (grub_script_execute_cmdline): Out of memory fixes.
13164 (grub_script_execute_menuentry): Likewise.
13165 (grub_script_execute_argument_to_string): Removed. Update all
13166 users by...
13167 (grub_script_execute_argument_to_argv): ...better version.
13168 * script/function.c (grub_script_function_create): Use
13169 grub_script_execute_argument_to_argv instead of
13170 grub_script_execute_argument_to_string.
13171
13172 * script/lexer.c (check_varstate): Removed.
13173 (check_textstate): Removed.
13174 (grub_script_lexer_record_start): Likewise.
13175 (grub_script_lexer_record_stop): Likewise.
13176 (recordchar): Replaced with...
13177 (grub_script_lexer_record): ...new function.
13178 (nextchar): Removed.
13179 (grub_script_lexer_init): Rewritten.
13180 (grub_script_yylex): Rewritten.
13181 (append_newline): New function.
13182 (grub_script_lexer_yywrap): New function.
13183 (grub_script_lexer_fini): New function.
13184 (grub_script_yyerror): Sets error flag.
13185
13186 * script/yylex.l: New file.
13187 (grub_lexer_yyfree): Wrapper for flex yyffre.
13188 (grub_lexer_yyalloc): Likewise.
13189 (grub_lexer_yyrealloc): Likewise.
13190 * script/parser.y: Refactored.
13191
13192 * script/script.c (grub_script_arg_add): Out of memory fixes.
13193 (grub_script_add_arglist): Likewise.
13194 (grub_script_create_cmdline): Likewise.
13195 (grub_script_create_cmdmenu): Likewise.
13196 (grub_script_add_cmd): Likewise.
13197 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13198 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13199 unnecessary code.
13200
13201 * tests/grub_script_echo1.in: New testcase.
13202 * tests/grub_script_vars1.in: New testcase.
13203 * tests/grub_script_echo_keywords.in: New testcase.
13204
1d63a066
VS
132052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 Remove some redundancy in build system.
13208
13209 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13210 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13211 (TARGET_LDFLAGS): Add -nostdlib.
13212 (TARGET_IMG_LDFLAGS): Likewise.
13213 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13214 anything since mmap isn't available.
13215 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13216 Add util/time.c.
13217 (pkglib_MODULES): Remove reboot.mod.
13218 (reboot_mod_SOURCES): Removed.
13219 (reboot_mod_CFLAGS): Likewise.
13220 (reboot_mod_LDFLAGS): Likewise.
13221 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13222 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13223 (DEFSYMFILES): Add kernel_syms.lst.
13224 (kernel_img_HEADERS): Add common headers.
13225 (symlist.c): New target.
13226 (kernel_syms.lst): Likewise.
13227 (pkglib_MODULES): Add memdisk.mod.
13228 (memdisk_mod_SOURCES): New variable.
13229 (memdisk_mod_CFLAGS): Likewise.
13230 (memdisk_mod_LDFLAGS): Likewise.
13231 (pkglib_MODULES): Add reboot.mod.
13232 (reboot_mod_SOURCES): New variable.
13233 (reboot_mod_CFLAGS): Likewise.
13234 (reboot_mod_LDFLAGS): Likewise.
13235 (pkglib_MODULES): Add date.mod.
13236 (date_mod_SOURCES): New variable.
13237 (date_mod_CFLAGS): Likewise.
13238 (date_mod_LDFLAGS): Likewise.
13239 (pkglib_MODULES): Add datehook.mod.
13240 (datehook_mod_SOURCES): New variable.
13241 (datehook_mod_CFLAGS): Likewise.
13242 (datehook_mod_LDFLAGS): Likewise.
13243 (pkglib_MODULES): Add lsmmap.mod.
13244 (lsmmap_mod_SOURCES): New variable.
13245 (lsmmap_mod_CFLAGS): Likewise.
13246 (lsmmap_mod_LDFLAGS): Likewise.
13247 (pkglib_MODULES): Add boot.mod.
13248 (boot_mod_SOURCES): New variable.
13249 (boot_mod_CFLAGS): Likewise.
13250 (boot_mod_LDFLAGS): Likewise.
13251 * conf/i386-coreboot.rmk: Removed redundant parts.
13252 * conf/i386-ieee1275.rmk: Likewise.
13253 * conf/i386-pc.rmk: Likewise.
13254 * conf/mips-yeeloong.rmk: Likewise.
13255 * conf/mips.rmk: Likewise.
13256 * conf/powerpc-ieee1275.rmk: Likewise.
13257 * conf/sparc64-ieee1275.rmk: Likewise.
13258 * conf/x86_64-efi.rmk: Likewise.
13259 * conf/i386-coreboot.rmk: Moved qemu parts ..
13260 * conf/i386-qemu.rmk: ... here
13261 * conf/i386-efi.rmk: Moved common parts to...
13262 * conf/x86-efi.rmk: ... here.
13263 * conf/i386.rmk: Added modules common to all x86 variants.
13264 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13265 * disk/memdisk.c: Remove grub/machine/kernel.h.
13266 * gensymlist.sh.in: Include symbol.h.
13267 * hook/datehook.c: Correct module name.
13268 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13269 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13270 * include/grub/i386/efi/serial.h: New file.
13271 * include/grub/x86_64/efi/serial.h: Likewise.
13272 * util/time.c: Likewise.
13273 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13274
463ac55f
CK
132752010-03-14 Colin King <colin.king@ubuntu.com>
132762010-03-14 Colin Watson <cjwatson@ubuntu.com>
13277
13278 Shrink the pre-partition-table part of boot.img by eight bytes.
13279
13280 * boot/i386/pc/boot.S (ERR): New macro.
13281 (chs_mode): Use ERR.
13282 (geometry_error): Likewise.
13283 (hd_probe_error): Remove. This is only used once, so we wrwite
13284 it inline instead.
13285 (read_error): Instead of printing read_error_string, just set up
13286 %si and fall through to ...
13287 (error_message): ... this new function, also used by ERR.
13288
08e46ede
CW
132892010-03-14 Colin Watson <cjwatson@ubuntu.com>
13290
13291 Speed up consecutive hostdisk operations on the same device.
13292
13293 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13294 (grub_util_biosdisk_open): Initialise disk->data.
13295 (struct linux_partition_cache): New structure.
13296 (linux_find_partition): Cache partition start positions; these are
13297 expensive to compute on every read and write.
13298 (open_device): Cache open file descriptor in disk->data, so that we
13299 don't have to reopen it and flush the buffer cache for consecutive
13300 operations on the same device.
13301 (grub_util_biosdisk_close): New function.
13302 (grub_util_biosdisk_dev): Set `close' member.
13303
13304 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13305 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13306 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13307 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13308 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13309
4a6d2d06
VS
133102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 Compile parts of grub-emu as modules.
13313
13314 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13315 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13316 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13317 (all-local): Add $(GRUB_EMU).
13318 (install-local): Install $(GRUB_EMU).
13319 (uninstall): Uninstall $(GRUB_EMU).
13320 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13321 * kern/dl.c: Likewise.
13322 * commands/sleep.c: Not include machine/time.h.
13323 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13324 (COMMON_CFLAGS): Likewise.
13325 (sbin_UTILITIES): Remove grub-emu.
13326 (grub_emu_SOURCES): Removed.
13327 (kernel_img_RELOCATABLE): New variable.
13328 (pkglib_PROGRAMS): Add kernel.img.
13329 (kernel_img_SOURCES): New variable
13330 (kernel_img_CFLAGS): Likewise.
13331 (kernel_img_LDFLAGS): Likewise.
13332 (TARGET_NO_STRIP): Likewise.
13333 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13334 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13335 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13336 (grub-emu): New target.
13337 (GRUB_EMU): New variable.
13338 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13339 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13340 * loader/xnu.c: Likewise.
13341 * include/grub/pci.h: Likewise.
13342 * genemuinit.sh: New file.
13343 * genemuinitheader.sh: Likewise.
13344 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13345 Support TARGET_NO_DYNAMIC_MODULES.
13346 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13347 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13348 * disk/loopback.c: Likewise.
13349 * font/font_cmd.c: Likewise.
13350 * partmap/acorn.c: Likewise.
13351 * partmap/amiga.c: Likewise.
13352 * partmap/apple.c: Likewise.
13353 * partmap/gpt.c: Likewise.
13354 * partmap/msdos.c: Likewise.
13355 * partmap/sun.c: Likewise.
13356 * parttool/msdospart.c: Likewise.
13357 * term/gfxterm.c: Likewise.
13358 * video/bitmap.c: Likewise.
13359 * video/readers/jpeg.c: Likewise.
13360 * video/readers/png.c: Likewise.
13361 * video/readers/tga.c: Likewise.
13362 * video/video.c: Likewise.
13363 * util/grub-emu.c (read_command_list): Removed.
13364 (main): Don't call util_init_nls.
13365 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13366 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13367
91fdd2ed
VS
133682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13371 date.mod, datehook.mod.
13372 (datetime_mod_SOURCES): New variable.
13373 (datetime_mod_CFLAGS): Likewise.
13374 (datetime_mod_LDFLAGS): Likewise.
13375 (date_mod_SOURCES): Likewise.
13376 (date_mod_CFLAGS): Likewise.
13377 (date_mod_LDFLAGS): Likewise.
13378 (datehook_mod_SOURCES): Likewise.
13379 (datehook_mod_CFLAGS): Likewise.
13380 (datehook_mod_LDFLAGS): Likewise.
13381 * conf/sparc64-ieee1275.rmk: Likewise.
13382 * lib/ieee1275/datetime.c: New file.
13383
873ccae6
VS
133842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13387 (ieee1275_fb_mod_SOURCES): New variable.
13388 (ieee1275_fb_mod_CFLAGS): Likewise.
13389 (ieee1275_fb_mod_LDFLAGS): Likewise.
13390 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13391 New proto.
13392 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13393 (HEAP_MAX_ADDR): Likewise.
13394 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13395 type.
13396 Correct stop condition.
13397 (grub_ieee1275_devices_iterate): New function.
13398 * video/ieee1275.c: New file.
13399
601c97c0
VS
134002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13403
13404 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13405 as scratch.
13406 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13407 SCRATCH_PAD_DISKBOOT as scratch.
13408 (bootit): Pass Openfirmware pointer in %o4.
13409 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13410 of 0x200000.
13411 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13412 with util/grub-mkrawimage.c.
13413 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13414 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13415 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13416 (grub_aout_load) [GRUB_UTIL]: Likewise.
13417 * include/grub/kernel.h (grub_modules_get_end): New proto.
13418 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13419 (SCRATCH_PAD_BOOT): New definition.
13420 (SCRATCH_PAD_DISKBOOT): Likewise.
13421 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13422 * include/grub/sparc64/ieee1275/ieee1275.h
13423 (grub_ieee1275_original_stack): New variable
13424 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13425 New definition
13426 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13427 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13428 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13429 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13430 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13431 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13432 (grub_platform_image_format_t): New type.
13433 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13434 * kern/main.c (grub_modules_get_end)
13435 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13436 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13437 (codestart): Switch stacks.
13438 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13439 variable.
13440 (grub_heap_init): Use grub_modules_get_end.
13441 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13442 stack.
13443 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13444 (main): Likewise.
13445 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13446
d68b491e
TG
134472010-03-14 Thorsten Glaser <tg@mirbsd.org>
13448
13449 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13450
4e02ed50
MK
134512010-03-08 Matt Kraai <kraai@ftbfs.org>
13452
13453 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13454 bug #559005).
13455
1f15fc1e
VS
134562010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * genmoddep.awk: Output all missing symbols and not only first.
13459
fce5d8ff
VS
134602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * NEWS: Put the date of 1.98 release.
13463
d1e8a02f
VS
134642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13467 ft2build.h.
13468
696fd607
VS
134692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13472 completition in the middle of string.
13473
33e2e6f3
VS
134742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * util/grub-mkrescue.in: Use mktemp with explicit template.
13477
b1f6d291
VS
134782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13479
13480 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13481
2ac227c7
VS
134822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13485 right pointer.
13486
8f9a632b
VS
134872010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 Fix FreeBSD compilation.
13490
13491 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13492 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13493
60b03859
VS
134942010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13495
13496 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13497
48a5a769
VS
134982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13501
3ab4bd77
VS
135022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13505
d116e0d8
RM
135062010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13507
13508 Support relative image path in theme file.
13509
13510 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13511 (image_set_property): Handle theme_dir and relative path.
13512
c7ef54aa
VS
135132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * configure.ac: Alias amd64 to x86_64.
13516
fcee14ed
VS
135172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13518
13519 * NEWS: mention multiboot on EFI.
13520
d0780363
VS
135212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * kern/main.c (grub_load_modules): Handle errors from init functions of
13524 embeded modules.
13525
41168ea4
VS
135262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13527
13528 * normal/autofs.c (autoload_fs_module): Handle errors.
13529
b54d93ac
VS
135302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13531
13532 Disable linux.mod on qemu-mips since it's not functional and leads
13533 to compilation failure.
13534
13535 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13536 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13537 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13538 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13539 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13540 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13541 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13542 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13543 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13544 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13545 Reported by: BVK Chaitanya
13546
fc8345da
JU
135472010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13548
13549 * INSTALL: Add gettext as a dependency and add qemu to a new section
13550 "Prerequisites for make-check".
13551
4760f979
CF
135522010-03-04 Christian Franke <franke@computer.org>
13553
13554 * util/grub-pe2elf.c: Add missing include "progname.h".
13555
f209b5b2
VS
135562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 * normal/crypto.c (read_crypto_list): Fix a typo.
13559 Reported by: Seth Goldberg.
13560
b4b7be98
VS
135612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13564 Reported by: Seth Goldberg.
b4b7be98 13565
c0ee0385
VS
135662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13569 ascii.bitmaps.
13570
a8efbf64
VS
135712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13574 Reported by: Seth Goldberg.
a8efbf64 13575
08dcd913
VS
135762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13577
13578 * util/i386/efi/grub-install.in: Copy gettext files.
13579
c4d0b332
VS
135802010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13583
c6f2fe52
VS
135842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 Wait for user entry basing on presence of output rather than on errors.
13587
13588 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13589 (grub_install_newline_hook): Likewise.
13590 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13591 * normal/menu.c (show_menu): Check line_counter to determine presence
13592 of output.
13593 * normal/term.c (grub_normal_line_counter): New variable.
13594 (grub_normal_get_line_counter): New function.
13595 (grub_install_newline_hook): Likewise.
13596
5382b1e4
VS
135972010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13600
5519963b
VS
136012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * configure.ac: Update version to 1.98.
13604
72b28631
VS
136052010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * util/grub.d/10_linux.in (linux_entry): Don't default to
13608 gfxpayload=keep if Linux doesn't support video handover.
13609
c140a180
VS
136102010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 Don't compile video modules on yeeloong since video subsystem is part
13613 of kernel.
13614
13615 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13616 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13617 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13618 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13619 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13620 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13621 * include/grub/bitmap_scale.h: Likewise.
13622 * include/grub/bufio.h: Likewise.
13623 * include/grub/font.h: Likewise.
13624 * include/grub/gfxterm.h: Likewise.
13625 * include/grub/video.h: Likewise.
13626 * include/grub/vbe.h: Don't include video_fb.h.
13627 * video/i386/pc/vbe.c: Include video_fb.h.
13628 * commands/i386/pc/vbetest.c: Include video.h.
13629
a0ca21c2
CW
136302010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13631
13632 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13633 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13634 default entry if GRUB_SAVEDEFAULT=true. This allows using
13635 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13636 saving a new default on every boot.
13637
4a8a763c
VS
136382010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13639
13640 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13641 * normal/term.c (read_terminal_list): Likewise.
13642 * normal/main.c (grub_normal_init_page): Likewise.
13643 (grub_normal_read_line_real): Likewise.
13644
607ffde2
VS
136452010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13646
13647 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13648 memory leak.
13649 Reported by: Seth Goldberg.
13650
2b8fa975
CW
136512010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13652
13653 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13654 duplicate declaration of `start'.
13655
618307dd
VS
136562010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13659 filename.
13660 Reported by: Georgy Buranov
13661
7dd05b96 136622010-02-20 Carles Pina i Estany <carles@pina.cat>
13663
13664 * util/grub-mkrawimage.c (usage): Change string formatting to
13665 improve gettext.
13666
d1484a42
MRA
136672010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13668
13669 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13670 backspace keys.
13671
42b1d186
VS
136722010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13675 Reported by: Michael Suchanek.
13676
136772010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
13678
13679 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13680 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13681
d9f31a41
VS
136822010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13683
13684 Remove any reference to non-free fonts.
13685
13686 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13687 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13688 uses non-free components.
13689 * font/font.c (grub_font_get_name): Remove example name.
13690 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13691 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13692 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13693 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13694
2793c71e
GB
136952010-02-16 Georgy Buranov <gburanov@gmail.com>
13696
13697 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13698
402e3779
VS
136992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13702 Double divisor.
13703 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13704 features.
13705 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
13706
0dd1e0dd
VS
137072010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * gensymlist.sh.in: Use TARGET_CC instead of CC.
13710
6fa7cfce
ST
137112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13712
13713 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
13714 * docs/grub.texi (Command-line and menu entry commands): Document play
13715 command.
13716
37c8483b
ST
137172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13718
13719 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
13720 parse arguments as inline tempo and notes. Move code for playing notes
13721 to...
13722 (play): ... new function.
13723
14da0fb7
ST
137242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13725
13726 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
13727 grub_uint16_t instead of short.
13728 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
13729 disk from little endian to cpu endianness.
13730
04459e70
ST
137312010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
13732
13733 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
13734 GRUB_TICKS_PER_SECOND instead of 120.
13735
a0876943
VS
137362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
13739 escape sequence after \e.
13740
e29f95dc
VS
137412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
13744 non-ASCII characters.
13745
d27859b2
VS
137462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
13749 set root in single quotes to prevent \, from being unescaped.
13750
bc028f2f
VS
137512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 Prevent unknown commands from stopping menuentry execution.
13754
13755 * script/execute.c (grub_script_execute_cmdline): Print error after
13756 unknown command.
13757
095f5f82
VS
137582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
13761 Reported by: Pavel Pisa.
13762
8c717950
VS
137632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
13766
904935c3
VS
137672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13768
13769 Merge grub_ieee1275_map_physical into grub_map and rename to
13770 grub_ieee1275_map
13771
13772 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
13773 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
13774 Remove.
13775 * kern/ieee1275/openfw.c (grub_map): Rename to ...
13776 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
13777 necessary.
13778 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
13779
5b59a4e3
VS
137802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
13783 opening and not after.
13784
69e137e8
VS
137852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
13788 constants.
13789
2c0fcc36
VS
137902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
13793 (alloc_phys): Use ALIGN_UP instead of align_addr.
13794
8c6052ce
VS
137952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
13798
17cec782
VS
137992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
13802
e0128bbd
VS
138032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
13806 verbose dprintf.
13807
ca62070b
VS
138082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 Fix over-4GiB seek on sparc64.
13811
13812 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
13813 Replace pos_i and pos_lo with pos. All users updated.
13814 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13815 New constant.
13816 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13817 Likewise.
13818 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
13819 and pos_lo.
13820
bdca2607
VS
138212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * util/grub-mkrawimage.c (main): Call set_program_name.
13824
da278c4d
VS
138252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 Properly align 64-bit targets.
13828
13829 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
13830 (generate_image): Use ALIGN_ADDR.
13831
b274d734
VS
138322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13833
13834 Properly create cross-endian images.
13835
13836 * include/grub/types.h (grub_host_to_target_addr): New macro
13837 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
13838
82da2062
VS
138392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
13842
7cae4377
VS
138432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
13846
13847 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
13848 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
13849 (grub_linux_boot): Divide by 64K when on VESA.
13850
65a533e7
VS
138512010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 Support GRUB_GFXPAYLOAD_LINUX.
13854
13855 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
13856 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
13857
dd01d397
VS
138582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
13861 to show messages instead of discarding them.
13862 Process errors after executing command and not before. Keep old method
13863 too as precaution.
13864
660960d6
VS
138652010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * configure.ac: Check for ft2build.h.
13868
62509f04
VS
138692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
13872
473df63d
VS
138732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * genkernsyms.sh.in: Use TARGET_CC.
13876
c98d2a13
CW
138772010-02-07 Colin Watson <cjwatson@ubuntu.com>
13878
13879 * NEWS: Update.
13880
6e14234c
VS
138812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13882
13883 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
13884 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
13885 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 13886
b255e9cf
YB
138872010-02-07 Yves Blusseau <blusseau@zetam.org>
13888
6e14234c 13889 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 13890
98e6959d
VS
138912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 Fix warnings in grub-emu when compiling with maximum warning options.
13894
13895 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
13896 (grub_arch_modules_addr): Return 0 and not NULL.
13897 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 13898 (xstrdup): Use newstr instead of dup.
f88d801b
VS
13899 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
13900 of disk to dsk to avoid shadowing.
74e4934e
VS
13901 (find_free_slot): Fix prototype.
13902 * util/getroot.c (grub_util_is_dmraid): Make static.
13903 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
13904 Add missing prototype.
13905 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 13906
74e31b5c
VS
139072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * loader/i386/linux.c (grub_linux_setup_video): Handle error
13910 appropriately.
13911
6b2ad14b
VS
139122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
13915 code out.
13916
8f891adc
VS
139172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
13920 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
13921 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
13922 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
13923 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
13924 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
13925
74b45184
VS
139262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * include/grub/err.h (grub_err_printf): Don't export.
13929
a4bced77
VS
139302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
13933
007d0695
VS
139342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 * include/grub/i18n.h (grub_gettext_dummy): Removed.
13937 * kern/misc.c (grub_gettext_dummy): Make static.
13938
b6c0d9c2
VS
139392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13940
13941 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
13942 by non-valid ones.
13943 * kern/term.c (grub_putchar): Likewise.
13944
f51a90d0
VS
139452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
13948 buggy hook call and memory leak.
13949
6846cec5
VS
139502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13953
468d69fe
VS
139542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13957
51906b8c
VS
139582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13961 modevar.
13962 Return grub_errno on allocation error.
13963
09706ce5
VS
139642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13967
911df80c
YB
139682010-02-06 Yves Blusseau <blusseau@zetam.org>
13969
13970 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13971 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13972
3746a6bc
VS
139732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13976 non-pxe disk.
13977 (grub_pxefs_open): Likewise.
13978
09706ce5
VS
139792010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13980
13981 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13982 * util/grub.d/10_kfreebsd.in: Likewise.
13983 * util/grub.d/10_linux.in: Likewise.
13984
7cc192d9
VS
139852010-02-06 Colin D Bennett <colin@gibibit.com>
13986
13987 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13988 (gfxmenu_mod_SOURCES): New variable.
13989 (gfxmenu_mod_CFLAGS): Likewise.
13990 (gfxmenu_mod_LDFLAGS): Likewise.
13991 * include/grub/term.h (grub_term_set_current_output): Declare
13992 argument as const.
13993 * docs/gfxmenu-theme-example.txt: New file.
13994 * gfxmenu/gfxmenu.c: Likewise.
13995 * gfxmenu/gui_box.c: Likewise.
13996 * gfxmenu/gui_canvas.c: Likewise.
13997 * gfxmenu/gui_circular_progress.c: Likewise.
13998 * gfxmenu/gui_image.c: Likewise.
13999 * gfxmenu/gui_label.c: Likewise.
14000 * gfxmenu/gui_list.c: Likewise.
14001 * gfxmenu/gui_progress_bar.c: Likewise.
14002 * gfxmenu/gui_string_util.c: Likewise.
14003 * gfxmenu/gui_util.c: Likewise.
14004 * gfxmenu/icon_manager.c: Likewise.
14005 * gfxmenu/model.c: Likewise.
14006 * gfxmenu/named_colors.c: Likewise.
14007 * gfxmenu/theme_loader.c: Likewise.
14008 * gfxmenu/view.c: Likewise.
14009 * gfxmenu/widget-box.c: Likewise.
14010 * include/grub/gfxmenu_model.h: Likewise.
14011 * include/grub/gfxmenu_view.h: Likewise.
14012 * include/grub/gfxwidgets.h: Likewise.
14013 * include/grub/gui.h: Likewise.
14014 * include/grub/gui_string_util.h: Likewise.
14015 * include/grub/icon_manager.h: Likewise.
14016
140172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 Agglomerate scrolling in gfxterm.
14020
14021 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14022 (grub_virtual_screen_setup): Initialise 'total_screen'.
14023 (write_char): Split to ...
14024 (paint_char): ... this ...
14025 (write_char): ... and this.
14026 (paint_char): Handle delayed scrolling.
14027 (draw_cursor): Likewise.
14028 (scroll_up): Split to ...
14029 (real_scroll): ... this ...
14030 (scroll_up): ... and this.
14031 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14032 characters.
14033 (grub_gfxterm_refresh): Call real_scroll.
14034
140352010-02-06 Colin D Bennett <colin@gibibit.com>
14036
14037 * include/grub/misc.h (grub_iscntrl): New inline function.
14038 (grub_isalnum): Likewise.
14039 (grub_strtol): Likewise.
14040
140412010-02-06 Colin D Bennett <colin@gibibit.com>
14042
14043 * normal/menu_text.c (get_entry_number): Move from here ...
14044 * normal/menu.c (get_entry_number): ... moved here.
14045 * include/grub/menu.h (grub_menu_get_default_entry_index):
14046 New prototype.
14047 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14048 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14049 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14050 (grub_menu_viewer_should_return): Likewise.
14051 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14052 * normal/menu_text.c (run_menu): Enable menu switching.
14053 * normal/menu_viewer.c (should_return): New variable.
14054 (menu_viewer_changed): Likewise.
14055 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14056 (grub_menu_viewer_should_return): New function.
14057 (menuviewer_write_hook): Likewise.
14058 (grub_menu_viewer_init): Likewise.
14059
140602010-02-06 Colin D Bennet <colin@gibibit.com>
140612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 Support for gfxterm in a window.
14064
14065 * include/grub/gfxterm.h: New file.
14066 * include/grub/video.h (struct grub_video_rect): New declaration.
14067 (grub_video_rect_t): Likewise.
14068 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14069 (refcount): New variable.
14070 (render_target): Likewise.
14071 (window): Likewise.
14072 (repaint_callback): Likewise.
14073 (grub_virtual_screen_setup): Use 'render_target'.
14074 (init_window): New function.
14075 (grub_gfxterm_init_window): Likewise.
14076 (grub_gfxterm_init): Check reference counter.
14077 Use init_window.
14078 (destroy_window): New function.
14079 (grub_gfxterm_destroy_window): Likewise.
14080 (grub_gfxterm_fini): Check reference counter.
14081 Use destroy_window.
14082 (redraw_screen_rect): Restore viewport.
14083 Use 'render_target' and 'window'.
14084 Call 'repaint_callback'.
14085 (write_char): Use 'render_target'.
14086 (draw_cursor): Likewise.
14087 (scroll_up): Restore viewport.
14088 Use 'render_target' and 'window'.
14089 Call 'repaint_callback'.
14090 (grub_gfxterm_cls): Likewise.
14091 (grub_gfxterm_refresh): Use 'window'.
14092 (grub_gfxterm_set_repaint_callback): New function.
14093 (grub_gfxterm_background_image_cmd): Use 'window'.
14094 (grub_gfxterm_get_term): New function.
14095 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14096
140972010-02-06 Colin D Bennett <colin@gibibit.com>
14098
14099 Bitmap scaling support.
14100
14101 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14102 (bitmap_scale_mod_SOURCES): New variable.
14103 (bitmap_scale_mod_CFLAGS): Likewise.
14104 (bitmap_scale_mod_LDFLAGS): Likewise.
14105 * include/grub/bitmap_scale.h: New file.
14106 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14107 (background_image_cmd_options): New variable.
14108 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14109 (cmd): Rename and change type to ...
14110 (background_image_cmd_handle): ... this. All users updated.
14111 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14112 * video/bitmap_scale.c: New file.
14113
141142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 SDL support.
14117
14118 * Makefile.in (LIBSDL): New variable.
14119 (enable_grub_emu_sdl): Likewise.
14120 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14121 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14122 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14123 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14124 * util/sdl.c: New file.
14125
141262010-02-06 Colin D Bennett <colin@gibibit.com>
141272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 Double buffering support.
14130
14131 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14132 * include/grub/video.h: Update comment.
14133 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14134 New type.
14135 (grub_video_fb_doublebuf_blit_init): New prototype.
14136 * term/gfxterm.c (scroll_up): Support double buffering.
14137 (grub_gfxterm_refresh): Likewise.
14138 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14139 (grub_video_fb_doublebuf_blit_init): Likewise.
14140 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14141 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14142 'displayed_page', 'render_page' and 'update_screen'.
14143 (grub_video_vbe_fini): Free offscreen buffer.
14144 (doublebuf_pageflipping_commit): New function.
14145 (doublebuf_pageflipping_update_screen): Likewise.
14146 (doublebuf_pageflipping_init): Likewise.
14147 (double_buffering_init): Likewise.
14148 (grub_video_vbe_setup): Enable doublebuffering.
14149 (grub_video_vbe_swap_buffers): Implement.
14150 (grub_video_vbe_set_active_render_target): Handle double buffering.
14151 (grub_video_vbe_get_active_render_target): Likewise.
14152 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14153 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14154 (grub_video_vbe_enable_double_buffering): Likewise.
14155 (grub_video_vbe_swap_buffers): Use update_screen.
14156 (grub_video_set_mode): Use double buffering.
14157
141582010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14159
14160 * maintainance/gentrigtables.py: Remove.
14161 * lib/trig.c: Likewise.
14162
14163 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14164
14165 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14166 `trigtables.c'.
14167 (trigtables.c): New rule.
14168 (gentrigtables): Likewise.
14169 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14170
141712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14172
14173 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14174 integer constants.
14175
141762010-02-06 Colin D Bennet <colin@gibibit.com>
14177
14178 Trigonometry support.
14179
14180 * include/grub/trig.h: New file.
14181 * lib/trig.c: Likewise.
14182 * maintainance/gentrigtables.py: Likewise.
14183 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14184 (trig_mod_SOURCES): New variable.
14185 (trig_mod_CFLAGS): Likewise.
14186 (trig_mod_LDFLAGS): Likewise.
14187
5562834e
VS
141882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14191 disk devices.
14192
4f8528fc
VS
141932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14196 error.
14197
2b4068e9
VS
141982010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * util/hostdisk.c (open_device): Don't use partition device when reading
14201 before the partition.
14202 (grub_util_biosdisk_read): Don't read from partition and before the
14203 partition in single operation.
14204 (grub_util_biosdisk_write): Don't write to partition and before the
14205 partition in single operation.
14206
399f6e4d
TL
142072010-02-03 Torsten Landschoff <torsten@debian.org>
14208
14209 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14210 last sectors.
14211
996649b0
VS
142122010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14215 CDROM reads.
14216 (grub_biosdisk_write): Refuse to write to CDROM.
14217
3b205d4d
VS
142182010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14221
61e89d9d
VS
142222010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14223
14224 * font/font.c (find_glyph): Check that bmp_idx is available before
14225 using it.
14226 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14227 with (font == NULL).
14228
bf7fcba2
CS
142292010-01-28 Christian Schmitt <chris@ilovelinux.de>
14230
14231 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14232
f45d2663
BC
142332010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14234
14235 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14236 * util/grub-script-check.c (getline): Fix empty lines case.
14237
ec1444e6
RM
142382010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14239
14240 * Makefile.in (check): Exit with fail status when one of the tests
14241 fails.
14242 * tests/example_functional_test.c (example_test): Fix reversed assert.
14243 * tests/example_unit_test.c (example_test): Likewise.
14244
2e1cb9bb
CW
142452010-01-28 Colin Watson <cjwatson@ubuntu.com>
14246
14247 * util/grub.d/10_linux.in: This script does not use any of the
14248 contents of gettext.sh, only the external command `gettext', so stop
14249 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14250 the same prefix as GRUB.)
14251 * util/grub.d/10_kfreebsd.in: Likewise.
14252
63533ab0
VS
142532010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14256 of the line.
14257
989e1f93
VS
142582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14261 last sectors.
14262
e709ebe2
VS
142632010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14266 having a 4KiB and not 32KiB buffer size.
14267
27dea7ed
RM
142682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14269
14270 * util/hostfs.c: Include `<errno.h>'.
14271 (grub_hostfs_read): Handle errors from fseeko() and fread().
14272
67667b9c
RM
142732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14274
14275 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14276 loop when using read hooks on files whose size isn't sector-aligned.
14277
c294d9d8
RM
142782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14279
14280 Remove unused parameter.
14281
14282 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14283 (grub_iso9660_open): Remove initialization of `data->length'.
14284
af75a9f1
RM
142852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14286
14287 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14288 memleak conditions.
14289
254e2ce5 142902010-01-27 Carles Pina i Estany <carles@pina.cat>
14291
14292 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14293 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14294
b510928c 142952010-01-26 Carles Pina i Estany <carles@pina.cat>
14296
14297 * util/bin2h.c (usage): Fix warning (space after backslash).
14298
aa2f9dd2 142992010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14300
14301 * font/font.c: Include `grub/fontformat.h.
14302 Remove font file format constants.
14303 (grub_font_load): Use the new macros.
14304 * include/grub/fontformat.h: New file.
14305 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14306 (write_font_pf2): Use the new macros.
14307
94e7e712
RM
143082010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14309
14310 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14311 does.
14312
3973a59a
RM
143132010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14314
14315 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14316
14317 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14318 (_start): Macroify `0x7F'.
14319
14320 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14321 (make_install_device): Use "(pxe)" as fallback prefix when booting
14322 via PXE.
14323
42e0cba3
GS
143242010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 * configure.ac: Reset LIBS after check for libgcc symbols.
14327
847effd8
CW
143282010-01-25 Colin Watson <cjwatson@ubuntu.com>
14329
14330 * util/hostdisk.c (open_device): Add trailing newline to debug
14331 message.
14332
ea4a7e35
GS
143332010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14334
14335 * configure.ac: Check for `limits.h'.
14336 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14337
67951a53
RM
143382010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14339
14340 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14341 capitalize error strings.
14342
c273d4ce
ST
143432010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14344
14345 * util/grub.d/10_hurd.in: Add a recovery mode.
14346
69be5b74
VS
143472010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14348
14349 * configure.ac: Check for libgcc symbols with -nostdlib.
14350
fc9e5810
BC
143512010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14352
14353 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14354
4b358c0a
VS
143552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14356
14357 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14358 stack since heap may be unavailable at that point.
14359 (grub_ofconsole_gotoxy): Likewise.
14360
454fcd1c
VS
143612010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14362
14363 * configure.ac: Check for _restgpr_14_x.
14364 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14365 and _savegpr_* prototypes.
14366
566863ca
RM
143672010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14368
14369 Use generic grub_reboot() for i386-efi.
14370
14371 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14372 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14373 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14374
bf86e59a
VS
143752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14378 presence of "prefix" variable as it breaks when normal.mod is
14379 embedded.
14380
d645e0f8
VS
143812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14384 stack since heap is unavailable at that point.
14385
f9ab2e25
VS
143862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14389 (grub_freebsd_bootinfo): Rewritten.
14390 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14391
01fc7054
VS
143922010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14395
caab4fd6
RM
143962010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14397
14398 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14399 domain now.
14400
67eb1427
FZ
144012010-01-20 Felix Zielcke <fzielcke@z-51.de>
14402
14403 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14404 around for handling "/" to the correct fix. Fix a memory leak. Use
14405 xstrdup instead of strdup.
14406
a9ed4ff3
VS
144072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14410
144112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14412
14413 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14414
14415 * font/font.c (struct grub_font): New member 'bmp_idx'.
14416 (font_init): Initialise 'bmp_idx'.
14417 (load_font_index): Fill 'bmp_idx'.
14418 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14419
48209f4f
VS
144202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14423 unnecessary calls.
14424
9f0a4bb7
VS
144252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 Move context handling out of the kernel.
14428
14429 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14430 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14431 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14432 * conf/i386-efi.rmk: Likewise.
14433 * conf/i386-ieee1275.rmk: Likewise.
14434 * conf/i386-pc.rmk: Likewise.
14435 * conf/powerpc-ieee1275.rmk: Likewise.
14436 * conf/sparc64-ieee1275.rmk: Likewise.
14437 * conf/x86_64-efi.rmk: Likewise.
14438 * include/grub/env.h: Include grub/menu.h.
14439 (grub_env_var_type): Removed.
14440 (grub_env_var): Replaced field 'type' with 'global'.
14441 (grub_env_find): New prototype.
14442 (grub_env_context_open): Remove EXPORT_FUNC.
14443 (grub_env_context_close): Likewise.
14444 (grub_env_export): Likewise.
14445 (grub_env_set_data_slot): Removed.
14446 (grub_env_get_data_slot): Likewise.
14447 (grub_env_unset_data_slot): Likewise.
14448 (grub_env_unset_menu): New prototype.
14449 (grub_env_set_menu): Likewise.
14450 (grub_env_get_menu): Likewise.
14451 * include/grub/env_private.h: New file.
14452 * include/grub/normal.h (grub_context_init): New prototype.
14453 (grub_context_fini): Likewise.
14454 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14455 * normal/context.c (grub_cmd_export): ... to here.
14456 * kern/env.c: Include env_private.h.
14457 (HASHSZ): Moved to include/grub/env_private.h.
14458 (grub_env_context): Likewise.
14459 (grub_env_sorted_var): Likewise.
14460 (current_context): Renamed from this ...
14461 (grub_current_context): ...to this. 'static' removed. All users updated.
14462 (grub_env_find): Removed 'static'.
14463 (grub_env_context_open): Moved to normal/context.c.
14464 (grub_env_context_close): Likewise.
14465 (grub_env_export): Likewise.
14466 (mangle_data_slot_name): Removed.
14467 (grub_env_set_data_slot): Likewise.
14468 (grub_env_get_data_slot): Likewise.
14469 (grub_env_unset_data_slot): Likewise.
14470 * kern/main.c (grub_set_root_dev): Don't export root.
14471 It will be done later.
14472 (grub_main): Don't export prefix.
14473 It will be done later.
14474 * normal/context.c: New file.
14475 * normal/main.c (free_menu): Use grub_env_unset_menu.
14476 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14477 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14478 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14479 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14480
8dd35b8c
VS
144812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14482
14483 setpci support.
14484
14485 * commands/setpci.c: New file.
14486 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14487 (setpci_mod_SOURCES): New variable.
14488 (setpci_mod_CFLAGS): Likewise.
14489 (setpci_mod_LDFLAGS): Likewise.
14490
449193d5
VS
144912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 Byte-addressable PCI configuration space.
14494
14495 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14496 dword address.
14497 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14498 GRUB_PCI_REG_CACHELINE.
14499 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14500 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14501 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14502 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14503 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14504 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14505 grub_pci_make_address.
14506 (lock_rom_area): Likewise.
14507 * commands/lspci.c (grub_lspci_iter): Use macroses
14508 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14509 of grub_pci_make_address.
14510 * disk/ata.c (grub_ata_pciinit): Likewise.
14511 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14512 (GRUB_PCI_REG_VENDOR): Likewise.
14513 (GRUB_PCI_REG_DEVICE): Likewise.
14514 (GRUB_PCI_REG_COMMAND): Likewise.
14515 (GRUB_PCI_REG_STATUS): Likewise.
14516 (GRUB_PCI_REG_REVISION): Likewise.
14517 (GRUB_PCI_REG_CLASS): Likewise.
14518 (GRUB_PCI_REG_CACHELINE): Likewise.
14519 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14520 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14521 (GRUB_PCI_REG_BIST): Likewise.
14522 (GRUB_PCI_REG_ADDRESSES): Likewise.
14523 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14524 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14525 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14526 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14527 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14528 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14529 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14530 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14531 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14532 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14533 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14534 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14535 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14536 (GRUB_PCI_REG_MIN_GNT): Likewise.
14537 (GRUB_PCI_REG_MAX_LAT): Likewise.
14538 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14539 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14540 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14541 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14542 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14543 space.
14544
96d73208
RM
145452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14546
14547 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14548 can be reliably determined to be supported.
14549
d4484482
RM
145502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14551
14552 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14553 that VESA is supported.
14554 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14555 supported.
14556
00308ecf
VS
145572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14558
14559 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14560
f66924a4
RM
145612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14562
14563 * util/misc.c (make_system_path_relative_to_its_root): Work around
14564 special-casing of "/", as previous incarnation of this routine did.
14565
cbca0ada
VS
145662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 Fix any-emu compilation.
14569
14570 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14571 * grub_bin2h_SOURCES: New variable.
14572
34a66d99
RM
145732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14574
14575 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14576
94fabf58
RM
145772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14578
14579 * util/grub.d/00_header.in: Fix handling of locale_dir.
14580
02cf98ca
VS
145812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14584 as possible unifont location (Gentoo).
14585 Reported by: Alexander Brüning
14586
327dbcd7
VS
145872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14588
14589 Don't try to generate lists for kernel.img.
14590
14591 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14592 (pkglib_MODULES): Remove kernel.img.
14593 (kernel_img_EXPORTS): Removed.
14594 (kernel_img_RELOCATABLE): New variable.
14595 * conf/x86_64-efi.rmk: Likewise.
14596 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14597
ca467290
VS
145982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14601 grub_xasprintf or grub_snprintf.
14602 (grub_vsprintf): Likewise.
14603 (grub_snprintf): New proto.
14604 (grub_vsnprintf): Likewise.
14605 (grub_xasprintf): Likewise.
14606 (grub_xvasprintf): Likewise.
14607 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14608 (grub_sprintf): Removed.
14609 (grub_vsnprintf): New function.
14610 (grub_snprintf): Likewise.
14611 (grub_xvasprintf): Likewise.
14612 (grub_xasprintf): Likewise.
14613 (grub_vsprintf): Renamed to ...
14614 (grub_vsnprintf_real): ...this. New argument max_len.
14615
aca655fd
BC
146162010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14617
14618 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14619 fix grub-script-check warning.
14620
7ee92c32
VS
146212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14622
14623 * include/grub/font.h (grub_font_load): Fix prototype.
14624
f80927ca
VS
146252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14626
14627 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14628
119c50ea
VS
146292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14630
14631 * include/grub/x86_64/at_keyboard.h: New file.
14632
47d5f3c1
VS
146332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 * loader/mips/linux.c: Include missing grub/i18n.h.
14636
55ff5266
RM
146372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14638
14639 * normal/menu.c (notify_execution_failure): Clarify error message.
14640
c893cc87
RM
146412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14642
14643 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14644 return value (and revert all return statements). Update users.
14645
917dd370
CW
146462010-01-20 Dan Merillat <debian@dan.merillat.org>
14647
14648 * kern/device.c (grub_device_iterate): Allocate new part_ent
14649 structure based on sizeof (*p) rather than sizeof (p->next), to
14650 account for structure padding.
14651
14652 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14653 disk is NULL, which might happen for LVM physical volumes with no
14654 LVM signature.
14655
d4a4ee57
RM
146562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * loader/mips/linux.c (grub_cmd_initrd)
14659 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14660
146612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14662
14663 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14664 (grub_video_video_init, grub_video_bitmap_init)
14665 (grub_font_manager_init, grub_term_gfxterm_init)
14666 (grub_at_keyboard_init): New extern declarations.
14667 (grub_machine_init): Initialize gfxterm and at_keyboard.
14668
14669 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14670
14671 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14672 `gfxterm.mod' into core image.
14673
14674 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14675 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14676 (kernel_img_FORMAT): Copy to ...
14677
14678 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14679 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14680 (kernel_img_FORMAT): ... here, and ...
14681
14682 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14683 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14684 (kernel_img_FORMAT): ... here.
14685
14686 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14687 and input (at_keyboard) terminals in kernel.
14688 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14689
14690 (pkglib_MODULES): Remove `pci.mod'.
14691 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14692 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14693 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14694 (at_keyboard_mod_LDFLAGS): Remove variables.
14695
146962010-01-11 Felix Zielcke <fzielcke@z-51.de>
14697
14698 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14699
147002009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14701
14702 * include/grub/mips/libgcc.h: Only export symbols for functions
14703 that libgcc provides.
14704
147052009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
14706
14707 MIPS support.
14708
14709 * bus/bonito.c: New file.
14710 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
14711 GRUB_PCI_NUM_DEVICES.
14712 * term/i386/pc/serial.c: Move to ...
14713 * term/serial.c: ... here. All users updated.
14714 * util/i386/pc/grub-mkimage.c: Move to ...
14715 * util/grub-mkrawimage.c: ... here. All users updated.
14716 * term/i386/pc/at_keyboard.c: Move to ...
14717 * term/at_keyboard.c: ... here. All users updated.
14718 * conf/mips-qemu-mips.rmk: New file.
14719 * conf/mips-yeeloong.rmk: Likewise.
14720 * conf/mips.rmk: Likewise.
14721 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
14722 mipsel-qemu-mips.
14723 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
14724 to port addresses.
14725 (grub_ata_pciinit): Support CS5536.
14726 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
14727 * font/font_cmd.c (loadfont_command): Open file before passing it to
14728 grub_font_load.
14729 (pseudo_file_read): New function.
14730 (pseudo_file_close): Likewise.
14731 (pseudo_fs): New structure.
14732 (load_font_module): New function.
14733 (GRUB_MOD_INIT(font_manager)): Load embedded font.
14734 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
14735 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
14736 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
14737 * include/grub/i386/at_keyboard.h: Split into ...
14738 * include/grub/at_keyboard.h: ... this ...
14739 * include/grub/i386/at_keyboard.h: ... and this.
14740 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
14741 New prototype.
14742 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
14743 updated.
14744 (grub_elf64_size): Likewise.
14745 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
14746 filename.
14747 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
14748 * include/grub/i386/coreboot/serial.h: Rewritten.
14749 * include/grub/i386/ieee1275/serial.h: Include
14750 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
14751 * include/grub/i386/pc/serial.h: Moved from here ...
14752 * include/grub/serial.h: ... to here. All users updated.
14753 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
14754 (GRUB_PCI_NUM_BUS): Likewise.
14755 (GRUB_PCI_NUM_DEVICES): Likewise.
14756 (grub_pci_device_map_range): Add missing volatile keyword.
14757 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
14758 * include/grub/mips/at_keyboard.h: New file.
14759 * include/grub/mips/cache.h: Likewise.
14760 * include/grub/mips/io.h: Likewise.
14761 * include/grub/mips/kernel.h: Likewise.
14762 * include/grub/mips/libgcc.h: Likewise.
14763 * include/grub/mips/pci.h: Likewise.
14764 * include/grub/mips/qemu-mips/boot.h: Likewise.
14765 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14766 * include/grub/mips/qemu-mips/loader.h: Likewise.
14767 * include/grub/mips/qemu-mips/memory.h: Likewise.
14768 * include/grub/mips/qemu-mips/serial.h: Likewise.
14769 * include/grub/mips/qemu-mips/time.h: Likewise.
14770 * include/grub/mips/relocator.h: Likewise.
14771 * include/grub/mips/time.h: Likewise.
14772 * include/grub/mips/types.h: Likewise.
14773 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
14774 * include/grub/mips/yeeloong/boot.h: Likewise.
14775 * include/grub/mips/yeeloong/kernel.h: Likewise.
14776 * include/grub/mips/yeeloong/loader.h: Likewise.
14777 * include/grub/mips/yeeloong/memory.h: Likewise.
14778 * include/grub/mips/yeeloong/pci.h: Likewise.
14779 * include/grub/mips/yeeloong/serial.h: Likewise.
14780 * include/grub/mips/yeeloong/time.h: Likewise.
14781 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
14782 * kern/elf.c (grub_elf32_size): New parameter. All users
14783 updated.
14784 (grub_elf64_size): Likewise.
14785 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
14786 Load modules before saying "Welcome to GRUB!".
14787 Call grub_refresh after saying "Welcome to GRUB!".
14788 * kern/mips/cache.S: New file.
14789 * kern/mips/cache_flush.S: Likewise.
14790 * kern/mips/dl.c: Likewise.
14791 * kern/mips/init.c: Likewise.
14792 * kern/mips/qemu-mips/init.c: Likewise.
14793 * kern/mips/startup.S: Likewise.
14794 * kern/mips/yeeloong/init.c: Likewise.
14795 * kern/term.c (grub_putcode): Handle NULL terminal.
14796 (grub_getcharwidth): Likewise.
14797 (grub_getkey): Likewise.
14798 (grub_checkkey): Likewise.
14799 (grub_getkeystatus): Likewise.
14800 (grub_getxy): Likewise.
14801 (grub_getwh): Likewise.
14802 (grub_gotoxy): Likewise.
14803 (grub_cls): Likewise.
14804 (grub_setcolorstate): Likewise.
14805 (grub_setcolor): Likewise.
14806 (grub_getcolor): Likewise.
14807 (grub_refresh): Likewise.
14808 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
14809 (write_jump): Add hatch nop.
14810 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
14811 * lib/mips/setjmp.S: New file.
14812 * loader/mips/linux.c: Likewise.
14813 * term/i386/pc/at_keyboard.c: Move from here ...
14814 * term/at_keyboard.c: ... to here.
14815 * term/i386/pc/serial.c: Moved from here ...
14816 * term/serial.c: ... to here. All users updated.
14817 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
14818 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
14819 (serial_translate_key_sequence): Avoid deadlock.
14820 (grub_serial_getkey): Handle backspace.
14821 (grub_serial_putchar): Fix newline handling.
14822 * util/i386/pc/grub-mkimage.c: Move from here ...
14823 * util/grub-mkrawimage.c: ... to here. All users updated.
14824 (generate_image): New parameters 'font_path' and 'format'.
14825 Support embedding font.
14826 Use grub_host_to_target* instead of grub_cpu_to_le*.
14827 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
14828 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
14829 (options): New option "--font".
14830 (usage): Likewise.
14831 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
14832 (main): Handle "--font".
14833 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
14834 (grub_virtual_screen_setup): Set bg_color_display.
14835 (redraw_screen_rect): Use bg_color_display instead of incorrect
14836 bg_color.
14837 (grub_gfxterm_cls): Likewise.
14838 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
14839 Support embedding config file.
14840 (add_segments): Likewise.
14841 (options): New option "--config".
14842 (main): Handle "--config".
14843 * video/sm712.c: New file.
14844
25c2b5b3
RM
148452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14846
14847 Fix parallel builds.
14848
14849 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
14850 font.c depend on ascii.h).
14851
148522010-01-12 Carles Pina i Estany <carles@pina.cat>
14853
14854 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
14855
148562010-01-11 Carles Pina i Estany <carles@pina.cat>
14857
14858 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
14859 By default: disabled.
14860 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
14861 parameter.
14862
148632010-01-10 Carles Pina i Estany <carles@pina.cat>
14864
14865 * font/font.c: Update copyright years.
14866 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
14867
148682010-01-10 Carles Pina i Estany <carles@pina.cat>
14869
14870 * font/font.c: Include `ascii.h'.
14871 (ASCII_BITMAP_SIZE): New macro.
14872 (ascii_font_glyph): Define.
14873 (ascii_glyph_lookup): New function.
14874 (grub_font_get_string_width): Change comment. If glyph not found, use
14875 ascii_glyph_lookup.
14876 (grub_font_get_glyph_with_fallback): If glyph not available returns
14877 ascii_glyph_lookup.
14878 * util/grub-mkfont.c (file_formats): New enum.
14879 (options): Add `ascii-bitmaps' new option.
14880 (usage): Add `asii-bitmaps' new option.
14881 (write_font_ascii_bitmap): New function.
14882 (write_font): Rename to ...
14883 (write_font_p2): ... this. Remove print_glyphs call.
14884 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
14885 used. Call print_glyphs.
14886 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
14887
148882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14889
14890 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
14891 (grub_bin2h_SOURCES): New variable.
14892 * util/bin2h.c: New file.
14893
915fc1b8
VS
148942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 * include/multiboot.h: Resynced with spec.
14897 * include/multiboot2.h: Likewise.
14898 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
14899 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
14900
9444b678
RM
149012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14902
14903 * include/grub/term.h (grub_term_register_input,
14904 grub_term_register_output): Check return of terminal init()
14905 routines, and abort if errors are raised.
14906
14907 * commands/terminal.c: Update copyright year.
14908
cba98e8d
RM
149092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14910
14911 * commands/terminal.c (grub_cmd_terminal_input)
14912 (grub_cmd_terminal_output): Check return of terminal init()
14913 routines, and abort if errors are raised.
14914
6f7db5d6
VS
149152010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * include/grub/i386/bsd.h: Fix include pathes.
14918
262bff8d
VS
149192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 Add missing *BSD copyright headers.
14922
14923 * include/grub/aout.h: Add BSD licence.
14924 * include/grub/i386/bsd.h: Parts under different licences moved to ...
14925 * include/grub/i386/freebsd_linker.h: ... here,
14926 * include/grub/i386/freebsd_reboot.h: ... here,
14927 * include/grub/i386/netbsd_bootinfo.h: ... here,
14928 * include/grub/i386/netbsd_reboot.h: ... here,
14929 * include/grub/i386/openbsd_bootarg.h: ... here,
14930 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
14931 licence to each file.
14932
b2cab848
RM
149332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14934
14935 * acinclude.m4: Remove `nop' assembly instruction; it's not
14936 implemented by all architectures.
14937
2cb6be4b
RM
149382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14939
14940 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
14941 ELILO. This is no longer necessary.
14942
a2eaee15
BC
149432010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
14944
14945 Added new tool, grub-scrit-check to verify grub.cfg syntax.
14946
14947 * util/grub-script-check.c: grub-script-check tool.
14948 * conf/common.rmk: Make rules for grub-script-check.
14949
88d17012
RM
149502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14951
14952 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14953 spotting it back in 2008. Shame on me for forgetting he did.
14954
14955 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14956
8040619d
RM
149572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14958
14959 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14960 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14961 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14962 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14963 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14964 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14965
a0c2a0f6
RM
149662010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14967
14968 * include/grub/test.h: Add license header.
14969 * tests/example_functional_test.c: Likewise.
14970 * tests/example_unit_test.c: Likewise.
14971 * tests/lib/functional_test.c: Likewise.
14972 * tests/lib/test.c: Likewise.
14973 * tests/lib/unit_test.c: Likewise.
14974
b0b13907
VS
149752010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 Use flag-based instead of hook-based video mode selection and "auto"
14978 keyword.
14979
14980 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14981 (grub_video_set_mode): Changed prototype. All users updated.
14982 (grub_video_check_mode_flag): New inline function.
14983 * video/video.c (parse_modespec): New function.
14984 (grub_video_set_mode): Parse flags and keywords.
14985
ea379330 149862010-01-17 Carles Pina i Estany <carles@pina.cat>
14987
14988 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14989 fprintf call.
14990
e15c215e
FZ
149912010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14992
14993 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14994
409ae1c9 149952010-01-16 Carles Pina i Estany <carles@pina.cat>
14996
14997 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14998 string.
14999 * util/grub-emu.c (usage): Likewise.
15000 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15001 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15002 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15003 * util/i386/pc/grub-setup.c (usage): Likewise.
15004
70a14d3d 150052010-01-16 Carles Pina i Estany <carles@pina.cat>
15006
15007 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15008 the message.
15009 (grub_util_info): Likewise.
15010 (grub_util_error): Likewise.
15011 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15012 and/or new lines in `grub_util_warna', `grub_util_info',
15013 `grub_util_error' calls.
15014 * util/getroot.c: Likewise.
15015 * util/grub-editenv.c: Likewise.
15016 * util/grub-emu.c: Likewise.
15017 * util/grub-fstest.c: Likewise.
15018 * util/grub-mkdevicemap.c: Likewise.
15019 * util/grub-mkfont.c: Likewise.
15020 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15021 * util/grub-mkrelpath.c: Likewise.
15022 * util/grub-pe2elf.c: Likewise.
15023 * util/grub-probe.c: Likewise.
15024 * util/hostdisk.c: Likewise.
15025 * util/i386/efi/grub-mkimage.c: Likewise.
15026 * util/i386/pc/grub-mkimage.c: Likewise.
15027 * util/i386/pc/grub-setup.c: Likewise.
15028 * util/ieee1275/ofpath.c: Likewise.
15029 * util/mkisofs/eltorito.c: Likewise.
15030 * util/mkisofs/rock.c: Likewise.
15031 * util/mkisofs/write.c: Likewise.
15032 * util/raid.c: Likewise.
15033 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15034 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15035
a0b766fc
VS
150362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15037
15038 Enable multiboot on non-pc.
15039
15040 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15041 multiboot.mod and multiboot2.mod to ...
15042 * conf/i386.rmk (pkglib_MODULES): ... here.
15043 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15044 Moved to ...
15045 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15046 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15047 Moved to ...
15048 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15049 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15050 Moved to ...
15051 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15052 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15053 Moved to ...
15054 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15055 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15056 relocator.mod.
15057 (ata_mod_SOURCES): Removed.
15058 (ata_mod_CFLAGS): Likewise.
15059 (ata_mod_LDFLAGS): Likewise.
15060 (relocator_mod_SOURCES): Removed.
15061 (relocator_mod_CFLAGS): Likewise.
15062 (relocator_mod_ASFLAGS): Likewise.
15063 (relocator_mod_LDFLAGS): Likewise.
15064 Include i386.mk.
15065 * include/grub/x86_64/multiboot.h: New file.
15066 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15067 Terminate EFI.
15068
884ade56
VS
150692010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 Video multiboot support.
15072
15073 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15074 New prototype.
15075 * include/multiboot.h: Resynced with multiboot specification.
15076 * include/multiboot2.h: Likewise.
15077 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15078 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15079 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15080 (HAS_VGA_TEXT): Likewise.
15081 (accepts_video): New variable.
15082 (grub_multiboot_set_accepts_video): New function.
15083 (grub_multiboot_get_mbi_size): Account for video structures.
15084 (set_video_mode): New function.
15085 (retrieve_video_parameters): Likewise.
15086 (grub_multiboot_make_mbi): Fill video fields.
15087
0d90e8a6
VS
150882010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 Video driver ids.
15091
15092 * include/grub/video.h (grub_video_driver_id): New type.
15093 (grub_video_adapter): New member 'id'. All users updated.
15094 (grub_video_get_driver_id): New proto.
15095 * video/video.c (grub_video_get_driver_id): New function.
15096
5c71db1b 150972010-01-14 Carles Pina i Estany <carles@pina.cat>
15098
15099 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15100 `var=val'.
15101
cca15b52 151022010-01-14 Carles Pina i Estany <carles@pina.cat>
15103
15104 * normal/cmdline.c (print_completion): Gettextizze.
15105
c586fbb2 151062001-01-14 Carles Pina i Estany <carles@pina.cat>
15107
15108 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15109
ba2f6848 151102010-01-14 Carles Pina i Estany <carles@pina.cat>
15111
15112 * gettext/gettext.c (grub_gettext_translate): Push and pop
15113 grub_errno.
15114 (grub_gettext_delete_list): Change comment style.
15115 * kern/err.c (grub_error): Gettextizze.
15116 (grub_fatal): Gettextizze.
15117
0a46429a
RM
151182010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15119
15120 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15121 (grub_linux16_real_boot): ... this.
15122 * kern/i386/loader.S: Likewise.
15123 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15124 (grub_linux16_boot): New function. Switches to text mode and calls
15125 grub_linux16_real_boot().
15126
15127 * loader/i386/bsd.c: Include `<grub/video.h>'.
15128 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15129 text mode before calling grub_unix_real_boot().
15130
15131 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15132 (grub_multiboot_boot): Switch to text mode before calling
15133 grub_relocator32_boot().
15134
15135 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15136 (grub_chainloader_boot): Switch to text mode before calling
15137 grub_chainloader_real_boot().
15138
d6f93a66
RM
151392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151402010-01-05 Colin Watson <cjwatson@ubuntu.com>
15141
15142 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15143 non-empty value.
15144
151452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151462010-01-05 Colin Watson <cjwatson@ubuntu.com>
15147
15148 * util/grub.d/00_header.in: Define a "savedefault" function for use
15149 in menu entries.
15150 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15151
151522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151532010-01-05 Colin Watson <cjwatson@ubuntu.com>
15154
15155 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15156 saved_entry if boot_once is unset.
15157 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15158 previous saved entry (i.e. grub-reboot).
15159
151602009-12-08 Colin Watson <cjwatson@ubuntu.com>
15161
15162 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15163
151642009-12-08 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15167 `var=val'.
15168 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15169
151702009-12-08 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * util/grub-reboot.in: Fix --version output.
15173 * util/grub-set-default.in: Likewise.
15174
151752009-12-08 Colin Watson <cjwatson@ubuntu.com>
15176
15177 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15178 blocks.
15179
151802009-12-08 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * util/grub.d/00_header.in: Quote the value assigned to `default',
15183 in case it contains spaces.
15184
151852009-12-08 Colin Watson <cjwatson@ubuntu.com>
15186
15187 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15188 `save_default_entry' call from the macosx case to the linux case.
15189
151902009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
151912009-10-25 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15194 in `chosen' environment variable.
15195 * normal/menu_text.c (get_entry_number): Check if the variable
15196 matches the title of a menu entry.
15197 (run_menu): Pass menu to get_entry_number.
15198
15199 * util/grub-reboot.in: New file.
15200 * util/grub-set-default.in: New file.
15201 * conf/common.rmk (grub-reboot): New utility.
15202 (grub-set-default): New utility.
15203
15204 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15205 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15206 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15207 move it to `saved_entry' for the next boot. Load environment on
15208 initialisation.
15209 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15210 * util/grub.d/10_hurd.in: Likewise.
15211 * util/grub.d/10_linux.in (linux_entry): Likewise.
15212 * util/grub.d/10_windows.in: Likewise.
15213 * util/grub.d/30_os-prober.in: Likewise.
15214
15215 * util/grub-install.in: Create environment block.
15216 * util/i386/efi/grub-install.in: Likewise.
15217 * util/ieee1275/grub-install.in: Likewise.
15218 * util/sparc64/ieee1275/grub-install.in: Likewise.
15219
0934d184
BC
152202010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15221
15222 Unit testing framework for GRUB.
15223
15224 * Makefile.in: Test framework build rules for 'make check'.
15225 * conf/tests.rmk: Build rules for individual tests and framework.
15226
15227 * include/grub/test.h: Header file for whitebox tests.
15228 * tests/lib/functional_test.c: Framework support for whitebox
15229 functional tests.
15230 * tests/lib/test.c: Common whitebox testing code for unit and
15231 functional tests.
15232 * tests/lib/unit_test.c: Framework support for whitebox unit
15233 tests.
15234
15235 * tests/util/grub-shell-tester.in: Support utility for grub-script
15236 tests.
15237 * tests/util/grub-shell.in: Utility to execute grub-script
15238 commands in a Qemu instance.
15239
15240 * tests/example_functional_test.c: Example whitebox functional
15241 test.
15242 * tests/example_grub_script_test.in: Example grub-script test.
15243 * tests/example_scripted_test.in: Example scripted test.
15244 * tests/example_unit_test.c: Example whitebox unit test.
15245
9c4ffeeb
VS
152462010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15249 Add loader/i386/multiboot_mbi.c.
15250 (multiboot2_mod_SOURCES): Likewise.
15251 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15252 (multiboot2_mod_SOURCES): Likewise.
15253 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15254 (grub_multiboot_make_mbi): Likewise.
15255 (grub_multiboot_free_mbi): Likewise.
15256 (grub_multiboot_init_mbi): Likewise.
15257 (grub_multiboot_add_module): Likewise.
15258 (grub_multiboot_set_bootdev): Likewise.
15259 * loader/i386/multiboot.c (mbi): Removed.
15260 (mbi_dest): Likewise.
15261 (alloc_mbi): New variable.
15262 (grub_multiboot_payload_size): Removed. All users updated.
15263 (grub_multiboot_pure_size): New variable.
15264 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15265 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15266 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15267 (grub_fill_multiboot_mmap): Likewise.
15268 (grub_multiboot_get_bootdev): Likewise.
15269 (grub_multiboot): Use multiboot_mbi functions.
15270 * loader/i386/multiboot_mbi.c: New file.
15271
17383dfe
VS
152722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15275 it would result in module crash.
15276
c1f28820
VS
152772010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15280 (grub_ofconsole_getwh): Split to ...
15281 (grub_ofconsole_getwh): ... this.
15282 (grub_ofconsole_dimensions): ...and this.
15283 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15284
58655a16
RM
152852010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15286
15287 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15288
10891398
VS
152892010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * loader/i386/pc/multiboot2.c: Removed stalled file.
15292
0b8a223c
VS
152932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15294
15295 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15296 Reported by: Grégoire Sutre
15297
92ab12b0
RM
152982010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15299
15300 * util/misc.c (canonicalize_file_name): New function.
15301 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15302 instead of realpath().
15303
a788afb6
CW
153042010-01-11 Colin Watson <cjwatson@ubuntu.com>
15305
15306 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15307 and make it clearer that it's optional. Based on confusion
15308 witnessed on IRC.
15309
ffa8e3d2
VS
153102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15313 in premature implicit newline.
15314
e9060a9d
VS
153152010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15318 which resulted in garbled command line at the end of screen.
15319
f0d0c0b7
RM
153202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15321
15322 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15323 initialization with similar approach as with other Linux loaders.
15324
0e60bae7
RM
153252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15326
15327 Fix i386-ieee1275 build.
15328
15329 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15330 and grub_term_height() for video_{width,height} initialization.
15331
153322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15333
15334 Fix grub-emu build.
15335
15336 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15337
cdb3f378
RM
153382010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
153392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15340
15341 Support for multiple terminals.
15342
15343 * Makefile.in (pkglib_DATA): terminal.lst.
15344 (terminal.lst): New target.
15345 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15346 (GRUB_MOD_INIT(handler)): Likewise.
15347 (GRUB_MOD_FINI(handler)): Likewise.
15348 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15349 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15350 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15351 (grub_cmd_sleep): Use grub_term_save_pos.
15352 * commands/terminal.c: New file.
15353 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15354 commands/terminal.c and lib/charset.c.
15355 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15356 (pkglib_MODULES): Add terminal.mod.
15357 (terminal_mod_SOURCES): New variable.
15358 (terminal_mod_CFLAGS): Likewise.
15359 (terminal_mod_LDFLAGS): Likewise.
15360 * genhandlerlist.sh: Don't handle terminals.
15361 * genmk.rb: Generate terminal-*.lst.
15362 * genterminallist.sh: New file.
15363 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15364 (grub_is_valid_utf8): Likewise.
15365 (grub_utf8_to_ucs4_alloc): Likewise.
15366 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15367 (grub_menu_register_viewer): Changed argument.
15368 (grub_menu_try_text): New proto.
15369 (grub_gfxmenu_try_hook): New declaration.
15370 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15371 (grub_menu_init_page): Additional argument term.
15372 (grub_normal_init_page): Likewise.
15373 (grub_cmdline_get): Arguments simplified.
15374 (grub_utf8_to_ucs4_alloc): Removed.
15375 (grub_print_ucs4): Additional argument term.
15376 (grub_getstringwidth): Likewise.
15377 (grub_print_message_indented): Likewise.
15378 (grub_menu_text_register_instances): New proto.
15379 (grub_show_menu): Likewise.
15380 (read_terminal_list): Likewise.
15381 (grub_set_more): Likewise.
15382 * include/grub/parser.h: Include handler.h.
15383 * include/grub/reader.h: Rewritten.
15384 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15385 (GRUB_TERM_WIDTH): Changed to function.
15386 (GRUB_TERM_HEIGHT): Likewise.
15387 (GRUB_TERM_BORDER_WIDTH): Likewise.
15388 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15389 (GRUB_TERM_NUM_ENTRIES): Likewise.
15390 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15391 (GRUB_TERM_CURSOR_X): Likewise.
15392 (grub_term_input_class): Likewise.
15393 (grub_term_output_class): Likewise.
15394 (grub_term_outputs_disabled): New declaration.
15395 (grub_term_inputs_disabled): Likewise.
15396 (grub_term_outputs): Likewise.
15397 (grub_term_inputs): Likewise.
15398 (grub_term_register_input): Rewritten.
15399 (grub_term_register_output): Likewise.
15400 (grub_term_unregister_input): Likewise.
15401 (grub_term_unregister_output): Likewise.
15402 (FOR_ACTIVE_TERM_INPUTS): New macro.
15403 (FOR_DISABLED_TERM_INPUTS): Likewise.
15404 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15405 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15406 * include/grub/terminfo.h: Add oterm argument to all protypes.
15407 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15408 Use grub_rescue_run.
15409 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15410 All users updated.
15411 * kern/reader.c: Removed. All users updated.
15412 * kern/rescue_reader.c (grub_rescue_init): Removed.
15413 (grub_rescue_reader): Likewise.
15414 (grub_register_rescue_reader): Likewise.
15415 (grub_rescue_run): New function based on kern/reader.c.
15416 * kern/term.c: Adapted for multiterm.
15417 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15418 (grub_is_valid_utf8): Likewise.
15419 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15420 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15421 right terminal.
15422 * loader/i386/linux.c (grub_linux_boot): Likewise.
15423 * normal/auth.c (grub_username_get): New function.
15424 (grub_auth_check_authentication): Use grub_username_get.
15425 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15426 * normal/color.c: Adapt for multiterm.
15427 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15428 (grub_normal_init_page): Additional argument term.
15429 (read_lists): Call read_terminal_lists.
15430 (grub_enter_normal_mode): Call grub_cmdline_run.
15431 Handle grub_normal_exit_level.
15432 (grub_cmd_normal): Make reentrant.
15433 (grub_cmd_normal_exit): New function.
15434 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15435 * normal/menu.c: Adapt for multiterm.
15436 * normal/menu_entry.c: Likewise.
15437 * normal/menu_text.c: Likewise.
15438 * normal/menu_viewer.c: Removed. All users updated.
15439 * normal/term.c: New file.
15440 * util/console.c: Change order of includes to workaround a bug in
15441 ncurses headers.
15442 * term/terminfo.c: New argument oterm on all exported functions.
15443 All users updated.
15444 * util/grub-editenv.c (grub_term_input_class): Removed.
15445 (grub_term_output_class): Likewise.
15446
1a064917
RM
154472010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15448
15449 Make loader output a bit more user-friendly.
15450
15451 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15452 is being loaded. Likewise for the Hurd.
15453
15454 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15455 that kernel of FreeBSD ${version} is being loaded.
15456
15457 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15458 grub_dprintf().
15459 (grub_cmd_initrd): Likewise.
15460 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15461 that Linux ${version} is being loaded. Likewise for initrd.
15462
5ce0a83a 154632010-01-09 Carles Pina i Estany <carles@pina.cat>
15464
15465 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15466
809bbfeb 154672010-01-08 Carles Pina i Estany <carles@pina.cat>
15468
15469 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15470 (GRUB_MOD_INIT): Gettextizze.
15471 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15472 (GRUB_MOD_INIT): Gettextizze.
15473 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15474 (grub_cmd_linux): Capitalise Linux.
15475 (GRUB_MOD_INIT): Gettextizze.
15476 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15477 (grub_cmd_linux): Capitalise Linux.
15478 (GRUB_MOD_INIT): Gettextizze.
15479 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15480 (grub_cmd_linux): Capitalise Linux.
15481 (GRUB_MOD_INIT): Gettextizze.
15482 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15483 (GRUB_MOD_INIT): Gettextizze.
15484 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15485 (grub_cmd_linux): Capitalise Linux.
15486 (GRUB_MOD_INIT): Gettextizze.
15487 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15488 (grub_cpu_xnu_init): Gettextizze.
15489 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15490 (GRUB_MOD_INIT): Gettextizze.
15491 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15492 (GRUB_MOD_INIT): Gettextizze.
15493 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15494 (grub_linux_load64): Capitalise Linux.
15495 (GRUB_MOD_INIT): Gettextizze.
15496 * loader/xnu.c: Include `<grub/i18n.h>'.
15497 (GRUB_MOD_INIT): Gettextizze.
15498 * po/POTFILES: Add `loader/efi/appleloader.c',
15499 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15500 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15501 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15502 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15503 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15504 and `loader/xnu.c'.
15505
b394b2ca
RM
155062010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15507
15508 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15509
155102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15511
15512 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15513 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15514 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15515
bc8b32b3
RM
155162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15517
15518 Reset Multiboot 2 support. New loader implements the draft in
15519 /branches/multiboot2 and shares as much code as possible with the
15520 production Multiboot 1 implementation.
15521
15522 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15523 * loader/multiboot2.c: Likewise.
15524 * loader/i386/multiboot_helper.S: Likewise.
15525 * include/multiboot2.h: Replace with latest version from the draft
15526 in /branches/multiboot2.
15527
15528 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15529 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15530 and `loader/multiboot2.c'.
15531 (pkglib_MODULES): Add `multiboot2.mod'.
15532 (multiboot2_mod_SOURCES): New variable.
15533 (multiboot2_mod_LDFLAGS): Likewise.
15534 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15535
15536 * conf/i386-pc.rmk: Likewise.
15537
15538 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15539 (multiboot_mod_SOURCES): Remove variable.
15540 (multiboot_mod_LDFLAGS): Likewise.
15541 (multiboot_mod_CFLAGS): Likewise.
15542
15543 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15544 `<multiboot2.h>' instead of `<multiboot.h>'.
15545 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15546 (MULTIBOOT_HEADER_MAGIC): New macros.
15547
15548 * loader/multiboot_loader.c (module_version_status): Remove variable.
15549 (find_multi_boot2_header): Remove function.
15550 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15551 logic. Always check for the Multiboot version we're compiling for.
15552 (grub_cmd_module_loader): Likewise.
15553 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15554 command instead of `multiboot'.
15555
5d2c52b8
RM
155562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15557
15558 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15559 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15560 all users.
15561
53108d92
RM
155622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
155632010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 Fix breakage introduced with previous commit.
15566
15567 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15568 commands.
15569 * normal/handler.c (read_handler_list): Revert part of previous commit
15570 affecting this file.
15571 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15572 (grub_normal_execute): ... here.
15573
e2e936b2
RM
155742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15575
15576 Merge prefix-redefinition-fix branch.
15577
15578 * normal/autofs.c (read_fs_list): Make function capable of being
15579 run multiple times, gracefuly replacing the previous data
15580 structures.
15581 * normal/dyncmd.c (read_command_list): Likewise.
15582 * normal/handler.c (read_handler_list): Likewise.
15583 * normal/main.c (read_lists): New function. Calls all the
15584 list reading functions.
15585 (grub_normal_execute): Use read_lists() instead of calling all
15586 list reading functions explicitly. Register read_lists() as a
15587 variable hook attached to ${prefix}.
15588
607a3701
VS
155892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 Merge crypto branch.
15592
15593 * Makefile.in (pkglib_DATA): Add crypto.lst.
15594 (crypto.lst): New target.
15595 * commands/hashsum.c: New file.
15596 * commands/password.c (check_password): Use grub_crypto_memcmp.
15597 * commands/password_pbkdf2.c: New file.
15598 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15599 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15600 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15601 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15602 -I$(srcdir)/lib/libgcrypt_wrap.
15603 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15604 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15605 password_pbkdf2.mod.
15606 (crypto_mod_SOURCES): New variable.
15607 (crypto_mod_CFLAGS): Likewise.
15608 (crypto_mod_LDFLAGS): Likewise.
15609 (hashsum_mod_SOURCES): New variable.
15610 (hashsum_mod_CFLAGS): Likewise.
15611 (hashsum_mod_LDFLAGS): Likewise.
15612 (pbkdf2_mod_SOURCES): New variable.
15613 (pbkdf2_mod_CFLAGS): Likewise.
15614 (pbkdf2_mod_LDFLAGS): Likewise.
15615 (password_pbkdf2_mod_SOURCES): New variable.
15616 (password_pbkdf2_mod_CFLAGS): Likewise.
15617 (password_pbkdf2_mod_LDFLAGS): Likewise.
15618 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15619 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15620 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15621 Include conf/gcry.rmk.
15622 * include/grub/auth.h: Rewritten.
15623 * include/grub/crypto.h: New file.
15624 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15625 * include/grub/normal.h (read_crypto_list): New prototype.
15626 * lib/crypto.c: New file.
15627 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15628 * lib/pbkdf2.c: Likewise.
15629 * normal/auth.c (grub_auth_strcmp): Removed.
15630 (grub_iswordseparator): Likewise.
15631 (grub_auth_strword): Likewise.
15632 (is_authenticated): Use grub_strword.
15633 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15634 and grub_strword. Pass entered password to authentication callback.
15635 * normal/crypto.c: New file.
15636 * normal/main.c: Call read_crypto_list.
15637 * util/grub-mkpasswd-pbkdf2.c: New file.
15638 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15639
42841caa
VS
156402010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Fix descent and ascent calculation.
15643
15644 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15645 (options): New option "asce".
15646 (usage): Likewise.
15647 (add_char): Ignore invalid glyphs for descent calculation.
15648 Calculate ascent from actual content.
15649 (print_glyphs): Use 'asce'.
15650 (write_font): Likewise. Allow ascent override.
15651 (main): Handle "asce" option.
15652
e7730de7 156532010-01-06 Carles Pina i Estany <carles@pina.cat>
15654
15655 * kern/err.c: Include `<grub/i18n.h>'.
15656 (grub_print_error): Add full stop. Gettextizze.
15657 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15658 (grub_bsd_load_elf): Capitalise ELF.
15659 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15660 (grub_cmd_freebsd_module): Likewise.
15661 (grub_cmd_freebsd_module_elf): Likewise.
15662 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15663
40e3a41f 156642010-01-06 Carles Pina i Estany <carles@pina.cat>
15665
15666 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15667 * commands/search_file.c (HELP_MESSAGE): New macro.
15668 * commands/search_label.c (HELP_MESSAGE): Likewise.
15669 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15670 * po/POTFILES: Add `commands/search_file.c',
15671 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15672 `commands/search.c'.
15673
83507e68
RM
156742010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15675
15676 * config.rpath: Update from Gnulib.
15677
465c787b
YB
156782010-01-05 Yves Blusseau <blusseau@zetam.org>
15679
15680 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15681
6581dd3a
YB
156822010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15683
15684 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15685
3bff18c5
CW
156862010-01-05 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15689 arguments to fread so that we get a return value in bytes, rather
15690 than something that will normally be rounded down to 0.
15691 Adjust error handling to avoid producing garbage when size_t is not
15692 the same size as long long.
15693
a1368118
CW
156942010-01-05 Colin Watson <cjwatson@ubuntu.com>
15695
15696 * util/mkisofs/write.c (padblock_write): Check return value of
15697 fread.
15698
7c302978
RM
156992010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15700
15701 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15702 floppy images now.
15703
15704 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
15705
e33ace06
RM
157062010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15707
15708 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
15709 instead of manual alignment.
15710 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
15711 verbose). Avoid attempts to read past end of the device
15712 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
15713 but GRUB_DISK_CACHE_SIZE may exceed that).
15714
4b856776
RM
157152010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15716
15717 * commands/crc.c (grub_cmd_crc): Abort on read errors.
15718 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
15719 it to upper layer.
15720
52c2d97f
VS
157212010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
15724 New constant.
15725 (grub_efi_piwg_device_path): New structure
15726 (grub_efi_piwg_device_path_t): New type.
15727 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
15728 (devpath_1): Transform to a structure. All users updated.
15729 (devpath_2): Likewise.
15730 (devpath_3): Likewise.
15731 (devpath_4): Likewise.
15732 (devpath_5): Likewise.
15733
98ff6a54
VS
157342010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * loader/efi/appleloader.c: Restored. Update all users.
15737
3a73dcb6
RM
157382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15739
15740 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
15741
15742 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
15743 (struct boot_blocklist): Move from here ...
15744 * include/grub/i386/pc/boot.h [ASM_FILE]
15745 (struct grub_boot_blocklist): ... to here. Update all users.
15746 (setup): Only initialize `start' member of `first_block'
15747 structure. Add assert() calls to verify the other members.
15748
15749 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
15750 (generate_image): Fix broken blocklist length initialization.
15751 Add assert() call to verify blocklist `segment' field.
15752
ab0eeb0c
RM
157532010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15754
15755 * loader/efi/appleloader.c: Remove. Update all users.
15756
58bc8bd5
RM
157572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15758
15759 * boot/i386/pc/boot.S: Update copyright year.
15760 * boot/i386/pc/cdboot.S: Likewise.
15761 * boot/i386/pc/diskboot.S: Likewise.
15762 * boot/i386/pc/lnxboot.S: Likewise.
15763 * boot/i386/pc/pxeboot.S: Likewise.
15764 * bus/pci.c: Likewise.
15765 * commands/cmp.c: Likewise.
15766 * commands/help.c: Likewise.
15767 * commands/hexdump.c: Likewise.
15768 * commands/i386/pc/halt.c: Likewise.
15769 * commands/i386/pc/play.c: Likewise.
15770 * commands/i386/pc/vbeinfo.c: Likewise.
15771 * commands/ls.c: Likewise.
15772 * commands/test.c: Likewise.
15773 * disk/dmraid_nvidia.c: Likewise.
15774 * disk/i386/pc/biosdisk.c: Likewise.
15775 * disk/ieee1275/nand.c: Likewise.
15776 * disk/ieee1275/ofdisk.c: Likewise.
15777 * disk/lvm.c: Likewise.
15778 * disk/raid.c: Likewise.
15779 * disk/raid6_recover.c: Likewise.
15780 * disk/scsi.c: Likewise.
15781 * fs/affs.c: Likewise.
15782 * fs/cpio.c: Likewise.
15783 * fs/ext2.c: Likewise.
15784 * fs/hfs.c: Likewise.
15785 * fs/iso9660.c: Likewise.
15786 * fs/ntfs.c: Likewise.
15787 * fs/sfs.c: Likewise.
15788 * fs/udf.c: Likewise.
15789 * fs/ufs.c: Likewise.
15790 * fs/xfs.c: Likewise.
15791 * gencmdlist.sh: Likewise.
15792 * genmk.rb: Likewise.
15793 * include/grub/disk.h: Likewise.
15794 * include/grub/efi/api.h: Likewise.
15795 * include/grub/efi/efi.h: Likewise.
15796 * include/grub/efi/pe32.h: Likewise.
15797 * include/grub/elf.h: Likewise.
15798 * include/grub/fs.h: Likewise.
15799 * include/grub/i386/at_keyboard.h: Likewise.
15800 * include/grub/i386/pc/memory.h: Likewise.
15801 * include/grub/i386/pc/vbe.h: Likewise.
15802 * include/grub/i386/pci.h: Likewise.
15803 * include/grub/i386/tsc.h: Likewise.
15804 * include/grub/ieee1275/ieee1275.h: Likewise.
15805 * include/grub/ntfs.h: Likewise.
15806 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15807 * include/grub/sparc64/libgcc.h: Likewise.
15808 * include/grub/symbol.h: Likewise.
15809 * include/grub/types.h: Likewise.
15810 * include/multiboot2.h: Likewise.
15811 * io/gzio.c: Likewise.
15812 * kern/device.c: Likewise.
15813 * kern/disk.c: Likewise.
15814 * kern/efi/efi.c: Likewise.
15815 * kern/efi/mm.c: Likewise.
15816 * kern/elf.c: Likewise.
15817 * kern/file.c: Likewise.
15818 * kern/i386/dl.c: Likewise.
15819 * kern/i386/pc/init.c: Likewise.
15820 * kern/i386/pc/startup.S: Likewise.
15821 * kern/ieee1275/ieee1275.c: Likewise.
15822 * kern/ieee1275/init.c: Likewise.
15823 * kern/main.c: Likewise.
15824 * kern/mm.c: Likewise.
15825 * kern/powerpc/dl.c: Likewise.
15826 * kern/sparc64/dl.c: Likewise.
15827 * kern/x86_64/dl.c: Likewise.
15828 * lib/hexdump.c: Likewise.
15829 * loader/efi/appleloader.c: Likewise.
15830 * loader/i386/ieee1275/linux.c: Likewise.
15831 * loader/i386/pc/chainloader.c: Likewise.
15832 * loader/i386/pc/linux.c: Likewise.
15833 * loader/i386/pc/multiboot2.c: Likewise.
15834 * loader/ieee1275/multiboot2.c: Likewise.
15835 * loader/multiboot2.c: Likewise.
15836 * loader/multiboot_loader.c: Likewise.
15837 * loader/powerpc/ieee1275/linux.c: Likewise.
15838 * normal/completion.c: Likewise.
15839 * normal/menu_entry.c: Likewise.
15840 * partmap/apple.c: Likewise.
15841 * util/grub.d/10_hurd.in: Likewise.
15842 * util/hostfs.c: Likewise.
15843 * video/readers/png.c: Likewise.
15844
e2d70b5c
CW
158452010-01-03 Colin Watson <cjwatson@ubuntu.com>
15846
15847 * include/grub/misc.h (GNUC_PREREQ): New macro.
15848 (ATTRIBUTE_ERROR): New macro.
15849 * include/grub/list.h (grub_bad_type_cast_real): Use
15850 ATTRIBUTE_ERROR.
15851
a173283f 158522010-01-03 Carles Pina i Estany <carles@pina.cat>
15853
15854 * normal/menu_text.c (print_message): Change messages.
15855
7fa7ff74 158562010-01-03 Carles Pina i Estany <carles@pina.cat>
15857
15858 * normal/menu_entry.c (store_completion): Gettextizze.
15859
136d24f6 158602010-01-03 Carles Pina i Estany <carles@pina.cat>
15861
15862 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
15863
f936862e 158642010-01-03 Carles Pina i Estany <carles@pina.cat>
15865
15866 * po/POTFILES: Sort correctly.
15867
29c44ad1 158682010-01-03 Carles Pina i Estany <carles@pina.cat>
15869
15870 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
15871 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
15872 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
15873 full stop.
15874 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
15875 summary. Gettextizze the strings.
15876 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
15877 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
15878 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
15879 full stop.
15880 (GRUB_MOD_INIT): Remove command name from summary.
15881 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
15882 summary.
15883 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
15884 * term/i386/pc/serial.c (options): Add full stops.
15885 (GRUB_MOD_INIT): Remove command name from the summary.
15886
77a79592 158872010-01-03 Carles Pina i Estany <carles@pina.cat>
15888
15889 * commands/acpi.c: Gettextizze help strings and/or options. Include
15890 `grub/i18n.h' if needed.
15891 * commands/blocklist.c: Likewise.
15892 * commands/boot.c: Likewise.
15893 * commands/cat.c: Likewise.
15894 * commands/cmp.c: Likewise.
15895 * commands/configfile.c: Likewise.
15896 * commands/crc.c: Likewise.
15897 * commands/date.c: Likewise.
15898 * commands/echo.c: Likewise.
15899 * commands/efi/fixvideo.c: Likewise.
15900 * commands/efi/loadbios.c: Likewise.
15901 * commands/gptsync.c: Likewise.
15902 * commands/halt.c: Likewise.
15903 * commands/handler.c: Likewise.
15904 * commands/hdparm.c: Likewise.
15905 * commands/hexdump.c: Likewise.
15906 * commands/i386/cpuid.c: Likewise.
15907 * commands/i386/pc/drivemap.c: Likewise.
15908 * commands/i386/pc/halt.c: Likewise.
15909 * commands/i386/pc/pxecmd.c: Likewise.
15910 * commands/i386/pc/vbeinfo.c: Likewise.
15911 * commands/i386/pc/vbetest.c: Likewise.
15912 * commands/ieee1275/suspend.c: Likewise.
15913 * commands/keystatus.c: Likewise.
15914 * commands/loadenv.c: Likewise.
15915 * commands/ls.c: Likewise.
15916 * commands/lsmmap.c: Likewise.
15917 * commands/lspci.c: Likewise.
15918 * commands/memrw.c: Likewise.
15919 * commands/minicmd.c: Likewise.
15920 * commands/parttool.c: Likewise.
15921 * commands/password.c: Likewise.
15922 * commands/probe.c: Likewise.
15923 * commands/read.c: Likewise.
15924 * commands/reboot.c: Likewise.
15925 * commands/search.c: Likewise.
15926 * commands/sleep.c: Likewise.
15927 * commands/test.c: Likewise.
15928 * commands/true.c: Likewise.
15929 * commands/usbtest.c: Likewise.
15930 * commands/videotest.c: Likewise.
15931 * commands/xnu_uuid.c: Likewise.
15932 * disk/loopback.c: Likewise.
15933 * hello/hello.c: Likewise.
15934 * loader/i386/bsd.c: Likewise.
15935 * term/i386/pc/serial.c: Likewise.
15936 * po/POTFILES: Add new files.
15937
da8d5c53
CW
159382010-01-02 Colin Watson <cjwatson@ubuntu.com>
15939
15940 * term/i386/pc/at_keyboard.c
15941 (keyboard_controller_wait_untill_ready): Rename to ...
15942 (keyboard_controller_wait_until_ready): ... this. Update all users.
15943
33937904 159442010-01-01 Carles Pina i Estany <carles@pina.cat>
15945
15946 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
15947 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
15948 string using string width.
15949 * normal/menu_text.c (grub_print_message_indented): Use
15950 grub_print_spaces and not print_spaces.
15951 (print_timeout): Likewise.
15952 (print_spaces): Move to...
15953 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15954
3fd3b8d8
RM
159552010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15956
15957 Import from Gnulib.
15958
15959 * gnulib/getdelim.c: New file.
15960 * gnulib/getline.c: Likewise.
15961
33433555
VS
159622009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15963
15964 * include/grub/list.h (grub_assert_fail): Removed.
15965 (grub_bad_type_cast_real): New function.
15966 (grub_bad_type_cast): New macro.
15967 (GRUB_AS_LIST): Use grub_bad_type_cast.
15968 (GRUB_AS_LIST_P): Likewise.
e44721e8 15969 (GRUB_AS_NAMED_LIST): Likewise.
33433555 15970 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 15971 (GRUB_AS_PRIO_LIST): Likewise.
33433555 15972 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 15973 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 15974
f5a51306
VS
159752009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15976
15977 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15978 Fix syntax error.
15979
90d1e879
RM
159802009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15981
15982 * configure.ac: Check for TARGET_CFLAGS initialization before we
15983 initialize it ourselves (sigh).
15984 Move a few modifications to TARGET_CFLAGS to be unconditional
15985 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15986 eh_frame)
15987
15988 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15989 * term/i386/pc/at_keyboard.c
15990 (keyboard_controller_wait_untill_ready): Likewise.
15991 (keyboard_controller_led): Rename `led_status' paramter to avoid
15992 name conflict.
15993
465b5a81 159942009-12-28 Carles Pina i Estany <carles@pina.cat>
15995
15996 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15997 quotes.
15998
c181849b
VS
159992009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16000
16001 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16002
9c8739a4
VS
160032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * normal/menu_text.c (grub_print_message_indented): Prevent
16006 past-the-end-of-array dereference.
16007
3e74249c
VS
160082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16011 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16012
64fd18ed 160132009-12-27 Carles Pina i Estany <carles@pina.cat>
16014
16015 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16016 * normal/main.c (grub_normal_read_line): Remove a space from the
16017 default prompt.
16018
714af9b9 160192009-12-27 Carles Pina i Estany <carles@pina.cat>
16020
16021 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16022 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16023 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16024 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16025 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16026 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16027 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16028
82f3e412 160292009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16030
16031 * video/readers/jpeg.c (cmd): Declare.
16032 (grub_cmd_jpegtest): Use `grub_command_t' type.
16033 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16034 Assign to `cmd'.
16035 (GRUB_MOD_FINI): Use `cmd' to unregister.
16036 * video/readers/png.c (cmd): Declare.
16037 (grub_cmd_pngtest): Use `grub_command_t' type.
16038 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16039 Assign to `cmd'.
16040 (GRUB_MOD_FINI): Use `cmd' to unregister.
16041 * video/readers/tga.c (cmd): Declare.
16042 (grub_cmd_tgatest): Use `grub_command_t' type.
16043 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16044 Assign to `cmd'.
16045 (GRUB_MOD_FINI): Use `cmd' to unregister.
16046
82f3e412 160472009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16048
16049 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16050 stops.
16051 * kern/corecmd.c (grub_register_core_commands): Likewise.
16052 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16053 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16054 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16055 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16056 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16057 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16058 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16059 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16060 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16061 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16062 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16063 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16064 * normal/handler.c (insert_handler): Likewise.
16065 * normal/main.c (GRUB_MOD_INIT): Likewise.
16066 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16067
fdcdbb66 160682009-12-26 Carles Pina i Estany <carles@pina.cat>
16069
16070 * commands/help.c (grub_cmd_help): Print the command name before the
16071 summary.
16072 (GRUB_MOD_INIT): Remove command name from the summary.
16073 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16074 string as summary.
fdcdbb66 16075 * lib/arg.c (find_long): Print the command name before the summary.
16076 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16077 summary.
16078 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16079 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16080 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16081 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16082 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16083 * commands/date.c (GRUB_MOD_INIT): Likewise.
16084 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16085 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16086 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16087 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16088 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16089 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16090 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16091 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16092 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16093 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16094 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16095 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16096 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16097 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16098 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16099 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16100 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16101 * commands/password.c (GRUB_MOD_INIT): Likewise.
16102 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16103 * commands/read.c (GRUB_MOD_INIT): Likewise.
16104 * commands/search.c (GRUB_MOD_INIT): Likewise.
16105 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16106 * commands/test.c (GRUB_MOD_INIT): Likewise.
16107 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16108 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16109 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16110 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16111 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16112 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16113 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16114 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16115 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16116 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16117 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16118 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16119 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16120 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16121
9c288be2
VS
161222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 Use search command for preliminar UUID search.
16125
16126 * commands/search.c: Split into ...
16127 * commands/search_wrap.c: ...this
16128 * commands/search.c: ...and this.
16129 * commands/search_file.c: New file.
16130 * commands/search_label.c: New file.
16131 * commands/search_uuid.c: New file.
16132 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16133 Add commands/search_wrap.c, commands/search_file.c,
16134 commands/search_label.c and commands/search_uuid.c.
16135 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16136 (search_mod_SOURCES): Set to commands/search_wrap.c.
16137 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16138 search_label.mod.
16139 (search_fs_file_mod_SOURCES): New variable.
16140 (search_fs_file_mod_CFLAGS): Likewise.
16141 (search_fs_file_mod_LDFLAGS): Likewise.
16142 (search_label_mod_SOURCES): Likewise.
16143 (search_label_mod_CFLAGS): Likewise.
16144 (search_label_mod_LDFLAGS): Likewise.
16145 (search_fs_uuid_mod_SOURCES): New variable.
16146 (search_fs_uuid_mod_CFLAGS): Likewise.
16147 (search_fs_uuid_mod_LDFLAGS): Likewise.
16148 (fs_file_mod_SOURCES): Removed.
16149 (fs_file_mod_CFLAGS): Likewise.
16150 (fs_file_mod_LDFLAGS): Likewise.
16151 (fs_uuid_mod_SOURCES): Removed.
16152 (fs_uuid_mod_CFLAGS): Likewise.
16153 (fs_uuid_mod_LDFLAGS): Likewise.
16154 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16155 Set to util/grub-install.in.
16156 * disk/fs_file.c: Removed.
16157 * disk/fs_uuid.c: Likewise.
16158 * include/grub/search.h: New file.
16159 * util/grub-install.in: Handle sparc64.
16160 Create and use load.cfg.
16161 * util/sparc64/ieee1275/grub-install.in: Removed.
16162
db943399
VS
161632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16166 Ignore return status if CF is cleared.
16167 (grub_biosdisk_get_diskinfo_standard): Likewise.
16168
3fdae612
RM
161692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16170
16171 * term/i386/pc/at_keyboard.c
16172 (keyboard_controller_wait_untill_ready): New function.
16173 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16174 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16175 for keyboard polling, rather than duplicate the same loop. This
16176 saves a few bytes in code size.
16177
7ebaa2b4
VS
161782009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16179
16180 Support for (pxe[:server[:gateway]]) syntax and
16181 use environment variable for PXE.
16182
16183 * commands/i386/pc/pxecmd.c (options): Removed.
16184 (print_ip): Removed.
16185 (grub_cmd_pxe): Removed
16186 (grub_cmd_pxe_unload): New function.
16187 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16188 (grub_pxe_your_ip): Made static.
16189 (grub_pxe_default_server_ip): Likewise.
16190 (grub_pxe_default_gateway_ip): Likewise.
16191 (grub_pxe_blksize): Likewise.
16192 (parse_ip): New function.
16193 (grub_pxe_open): Support server and gateway specification.
16194 (grub_pxe_close): Free disk->data.
16195 (grub_pxefs_open): Use disk->data.
16196 (grub_pxefs_read): Likewise.
16197 (grub_env_write_readonly): New function.
16198 (set_mac_env): Likewise.
16199 (set_env_limn_ro): Likewise.
16200 (parse_dhcp_vendor): Likewise.
16201 (grub_pxe_detect): Set the environment variables.
16202 (set_ip_env): New function.
16203 (write_ip_env): Likewise.
16204 (grub_env_write_pxe_default_server): Likewise.
16205 (grub_env_write_pxe_default_gateway): Likewise.
16206 (grub_env_write_pxe_blocksize): Likewise.
16207 (GRUB_MOD_INIT(pxe)): Set environment variables.
16208 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16209 (grub_pxe_mac_addr_t): ... this. All users updated.
16210 (grub_pxe_your_ip): Removed.
16211 (grub_pxe_server_ip): Likewise.
16212 (grub_pxe_gateway_ip): Likewise.
16213 (grub_pxe_blksize): Likewise.
16214
ec5f98ab 162152009-12-25 Carles Pina i Estany <carles@pina.cat>
16216
16217 * commands/help.c: Include `<grub/i18n.h>'.
16218 (grub_cmd_help): Gettextizze.
16219 (GRUB_MOD_INIT): Likewise.
16220 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16221 (GRUB_MOD_INIT): Gettextizze.
16222 * commands/search.c: Include `<grub/i18n.h>'.
16223 (options): Gettextizze.
16224 (GRUB_MOD_INIT): Gettextizze.
16225 * lib/arg.c: Include `<grub/i18n.h>'.
16226 (help_options): Gettextizze.
16227 (find_long): Likewise.
16228 (grub_arg_show_help): Likewise.
16229 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16230 (read_command_list): Gettextizze.
16231 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16232 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16233
22815526
RM
162342009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16235
16236 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16237 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16238 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16239 (led_status): New variable.
16240 (keyboard_controller_led): New function.
16241 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16242 update led status for caps lock, num lock and scroll lock.
16243
0ad46fd7
FZ
162442009-12-25 Felix Zielcke <fzielcke@z-51.de>
16245
16246 * util/hostdisk.c (open_device): Fix a comment.
16247
d0e158c2
RM
162482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16249
16250 * util/grub-install.in (host_os): New variable.
16251 * util/i386/efi/grub-install.in (host_os): Likewise.
16252
401c0ad6
RM
162532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16254
16255 * util/mkisofs/write.c (padblock_write): Abort when given an
16256 excedingly large embed image, instead of silently truncating it.
16257
d14d3370
RM
162582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16259
16260 * include/multiboot.h: Indentation fixes.
16261
eeed10b4
RM
162622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16263
16264 * include/multiboot.h (struct multiboot_aout_symbol_table)
16265 (struct multiboot_elf_section_header_table): New structure
16266 declarations (stolen from GRUB Legacy).
16267 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16268 table information.
16269
16270 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16271 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16272 type aliases.
16273
681c70ab
RM
162742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16275
16276 * include/multiboot.h: Make comments src2texi-friendly.
16277
e4d47d8d
RM
162782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16279
16280 For consistency with [multiboot]/docs/boot.S.
16281
16282 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16283 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16284 (MULTIBOOT_MAGIC2): Rename from this ...
16285 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16286
a0b70bda
RM
162872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16288
16289 * include/multiboot.h: Remove `<grub/types.h>'.
16290 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16291 types. Update all users.
16292
61ba42be 162932009-12-25 Carles Pina i Estany <carles@pina.cat>
16294
16295 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16296 `couldn't' and `can not' by `cannot'.
16297 * commands/i386/pc/drivemap.c: Likewise.
16298 * disk/ata.c: Likewise.
16299 * disk/ieee1275/nand.c: Likewise.
16300 * fs/affs.c: Likewise.
16301 * fs/fat.c: Likewise.
16302 * fs/hfs.c: Likewise.
16303 * fs/hfsplus.c: Likewise.
16304 * fs/iso9660.c: Likewise.
16305 * fs/jfs.c: Likewise.
16306 * fs/minix.c: Likewise.
16307 * fs/reiserfs.c: Likewise.
16308 * fs/sfs.c: Likewise.
16309 * fs/udf.c: Likewise.
16310 * fs/ufs.c: Likewise.
16311 * fs/xfs.c: Likewise.
16312 * loader/powerpc/ieee1275/linux.c: Likewise.
16313 * loader/sparc64/ieee1275/linux.c: Likewise.
16314 * util/grub-probe.c: Likewise.
16315 * util/misc.c: Likewise.
16316
7fd0baee 163172009-12-24 Carles Pina i Estany <carles@pina.cat>
16318
16319 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16320 grub_errno calls.
16321 * commands/acpi.c: Likewise.
16322 * commands/blocklist.c: Likewise.
16323 * commands/efi/loadbios.c: Likewise.
16324 * commands/i386/pc/drivemap.c: Likewise.
16325 * commands/loadenv.c: Likewise.
16326 * commands/memrw.c: Likewise.
16327 * commands/password.c: Likewise.
16328 * commands/videotest.c: Likewise.
16329 * disk/ata.c: Likewise.
16330 * disk/ata_pthru.c: Likewise.
16331 * disk/dmraid_nvidia.c: Likewise.
16332 * disk/ieee1275/nand.c: Likewise.
16333 * disk/ieee1275/ofdisk.c: Likewise.
16334 * disk/loopback.c: Likewise.
16335 * disk/lvm.c: Likewise.
16336 * disk/mdraid_linux.c: Likewise.
16337 * disk/raid.c: Likewise.
16338 * disk/raid6_recover.c: Likewise.
16339 * disk/scsi.c: Likewise.
16340 * efiemu/main.c: Likewise.
16341 * efiemu/mm.c: Likewise.
16342 * efiemu/pnvram.c: Likewise.
16343 * efiemu/symbols.c: Likewise.
16344 * font/font.c: Likewise.
16345 * fs/cpio.c: Likewise.
16346 * fs/hfsplus.c: Likewise.
16347 * fs/iso9660.c: Likewise.
16348 * fs/jfs.c: Likewise.
16349 * fs/minix.c: Likewise.
16350 * fs/ntfs.c: Likewise.
16351 * fs/ntfscomp.c: Likewise.
16352 * fs/reiserfs.c: Likewise.
16353 * fs/ufs.c: Likewise.
16354 * fs/xfs.c: Likewise.
16355 * gettext/gettext.c: Likewise.
16356 * include/grub/auth.h: Likewise.
16357 * kern/elf.c: Likewise.
16358 * kern/file.c: Likewise.
16359 * kern/ieee1275/init.c: Likewise.
16360 * kern/ieee1275/mmap.c: Likewise.
16361 * kern/ieee1275/openfw.c: Likewise.
16362 * kern/powerpc/dl.c: Likewise.
16363 * kern/sparc64/dl.c: Likewise.
16364 * lib/arg.c: Likewise.
16365 * loader/i386/bsd.c: Likewise.
16366 * loader/i386/bsdXX.c: Likewise.
16367 * loader/i386/efi/linux.c: Likewise.
16368 * loader/i386/efi/xnu.c: Likewise.
16369 * loader/i386/ieee1275/linux.c: Likewise.
16370 * loader/i386/linux.c: Likewise.
16371 * loader/i386/multiboot.c: Likewise.
16372 * loader/i386/pc/linux.c: Likewise.
16373 * loader/i386/pc/multiboot2.c: Likewise.
16374 * loader/i386/xnu.c: Likewise.
16375 * loader/ieee1275/multiboot2.c: Likewise.
16376 * loader/macho.c: Likewise.
16377 * loader/machoXX.c: Likewise.
16378 * loader/multiboot2.c: Likewise.
16379 * loader/multiboot_loader.c: Likewise.
16380 * loader/powerpc/ieee1275/linux.c: Likewise.
16381 * loader/sparc64/ieee1275/linux.c: Likewise.
16382 * loader/xnu.c: Likewise.
16383 * loader/xnu_resume.c: Likewise.
16384 * mmap/i386/pc/mmap.c: Likewise.
16385 * normal/menu_viewer.c: Likewise.
16386 * partmap/acorn.c: Likewise.
16387 * partmap/amiga.c: Likewise.
16388 * partmap/apple.c: Likewise.
16389 * script/lexer.c: Likewise.
16390 * term/gfxterm.c: Likewise.
16391 * term/i386/pc/serial.c: Likewise.
16392 * term/i386/pc/vga.c: Likewise.
16393 * term/ieee1275/ofconsole.c: Likewise.
16394 * term/terminfo.c: Likewise.
16395 * video/bitmap.c: Likewise.
16396 * video/efi_gop.c: Likewise.
16397 * video/efi_uga.c: Likewise.
16398 * video/fb/video_fb.c: Likewise.
16399 * video/i386/pc/vbe.c: Likewise.
16400 * video/readers/tga.c: Likewise.
16401 * video/video.c: Likewise.
16402
0ad46fd7 164032009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16404
16405 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16406 * commands/lspci.c: Likewise.
16407 * commands/probe.c: Likewise.
16408 * commands/xnu_uuid.c: Likewise.
16409 * conf/i386-coreboot.rmk: Likewise.
16410 * conf/i386-efi.rmk: Likewise.
16411 * conf/i386-ieee1275.rmk: Likewise.
16412 * conf/i386-pc.rmk: Likewise.
16413 * conf/powerpc-ieee1275.rmk: Likewise.
16414 * conf/sparc64-ieee1275.rmk: Likewise.
16415 * conf/x86_64-efi.rmk: Likewise.
16416 * fs/i386/pc/pxe.c: Likewise.
16417 * gettext/gettext.c: Likewise.
16418 * include/grub/efi/graphics_output.h: Likewise.
16419 * include/grub/i386/pc/memory.h: Likewise.
16420 * kern/env.c: Likewise.
16421 * kern/i386/qemu/startup.S: Likewise.
16422 * lib/i386/pc/biosnum.c: Likewise.
16423 * lib/i386/relocator.c: Likewise.
16424 * lib/i386/relocator_asm.S: Likewise.
16425 * lib/relocator.c: Likewise.
16426 * loader/i386/bsd.c: Likewise.
16427 * loader/i386/multiboot.c: Likewise.
16428 * loader/i386/pc/chainloader.c: Likewise.
16429 * loader/i386/xnu.c: Likewise.
16430 * loader/xnu.c: Likewise.
16431 * normal/main.c: Likewise.
16432 * normal/menu_text.c: Likewise.
16433 * util/getroot.c: Likewise.
16434 * util/grub-mkconfig_lib.in: Likewise.
16435 * util/grub.d/00_header.in: Likewise.
16436 * util/i386/pc/grub-mkimage.c: Likewise.
16437 * util/mkisofs/eltorito.c: Likewise.
16438 * util/mkisofs/exclude.h: Likewise.
16439 * util/mkisofs/hash.c: Likewise.
16440 * util/mkisofs/iso9660.h: Likewise.
16441 * util/mkisofs/joliet.c: Likewise.
16442 * util/mkisofs/mkisofs.c: Likewise.
16443 * util/mkisofs/mkisofs.h: Likewise.
16444 * util/mkisofs/multi.c: Likewise.
16445 * util/mkisofs/name.c: Likewise.
16446 * util/mkisofs/rock.c: Likewise.
16447 * util/mkisofs/tree.c: Likewise.
16448 * util/mkisofs/write.c: Likewise.
16449 * video/efi_gop.c: Likewise.
16450
009ec743
VS
164512009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16454 size counting.
16455
0ad46fd7 164562009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16457
16458 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16459 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16460
d3d30ea0
VS
164612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16464 (GRUB_MOD_INIT(memrw)): Update help line.
16465
a34f5c70
VS
164662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16469 Use grub_extcmd_t. All users updated.
16470 (options): New variable.
16471 (grub_cmd_read): Restructure for readability. Support "-v" option.
16472 (grub_cmd_write): Restructure for readability.
16473
0ad46fd7 164742009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16475
16476 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16477
0ad46fd7 164782009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16479
16480 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16481 with the actual contents of the correspondending make variable.
16482 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16483 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16484 specifying `*.lst' and `efiemu??.o'
16485
0ad46fd7 164862009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16487
16488 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16489 after function name.
16490 Noticed by Rene Engelhard <rene@debian.org>.
16491
dc77a799
VS
164922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16495 (options): New variable.
16496 (iospace): Likewise.
16497 (grub_lspci_iter): List IO spaces if "-i" was given.
16498 (grub_cmd_lspci): Parse options.
16499 (GRUB_MOD_INIT(lspci)): Use extcmd.
16500 (GRUB_MOD_FINI(lspci)): Likewise.
16501
0ad46fd7 165022009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16503
16504 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16505 `function' keyword.
16506 Patch by Tony Mancill <tmancill@debian.org>.
16507
b5d5993b
VS
165082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16511 (grub_uhci_portstatus): Likewise.
16512 (grub_uhci_portstatus): Add necessary delay.
11d18281 16513 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16514
941903f2 165152009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16516
941903f2 16517 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16518 (GRUB_MOD_INIT): Likewise.
16519 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16520 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16521 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16522 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16523 (enable_rom_area): Likewise.
16524 (GRUB_MOD_INIT): Likewise.
16525 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16526 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16527 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16528 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16529 * commands/hexdump.c (options): Likewise.
16530 * commands/i386/cpuid.c (options): Likewise.
16531 (GRUB_MOD_INIT): Likewise.
16532 * commands/i386/pc/drivemap.c (options): Likewise.
16533 (GRUB_MOD_INIT): Likewise.
16534 * commands/i386/pc/halt (options): Likewise.
16535 (GRUB_MOD_INIT): Likewise.
16536 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16537 * commands/i386/pc/pxecmd.c (options): Likewise.
16538 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16539 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16540 * commands/keystatus.c (options): Likewise.
16541 (GRUB_MOD_INIT): Likewise.
16542 * commands/loadenv.c (options): Likewise.
16543 * commands/ls.c (options): Likewise.
16544 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16545 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16546 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16547 * commands/parttool.c (helpmsg): Likewise.
16548 * commands/probe.c (options): Likewise.
16549 * commands/read.c (GRUB_MOD_INIT): Likewise.
16550 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16551 * commands/search.c (options): Likewise.
16552 * commands/sleep.c (options): Likewise.
16553 * commands/test.c (GRUB_MOD_INIT): Likewise.
16554 * commands/true.c (GRUB_MOD_INIT): Likewise.
16555 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16556 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16557 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16558 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16559 `$(XGETTEXT)'.
98a50553 16560 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16561
0ad46fd7 165622009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16563
ef3c2c3a 16564 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16565 instead of specifying them explicit.
16566
7922f68b
RM
165672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16568
16569 * NEWS: Add grub-probe support for GNU/Hurd.
16570
537ce47f
RM
165712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16572
16573 * NEWS: gettext was added after 1.97.
16574
9b214e3a
RM
165752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16576
16577 * util/mkisofs/msdos_partition.h: New file (based on
16578 include/grub/msdos_partition.h).
16579 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16580 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16581 (ld_options, main): Recognize --protective-msdos-label.
16582 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16583 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16584 (padblock_write): If `use_protective_msdos_label' is set, patch a
16585 protective DOS-style label in the output image.
16586
16587 * util/grub-mkrescue.in: Use --protective-msdos-label.
16588
e9309813
RM
165892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16590
16591 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16592 boot.
16593
0ae56929
RM
165942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16595
16596 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16597 variables.
16598 (ld_options, main): Recognize `--embedded-boot'.
16599 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16600 declarations.
16601 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16602 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16603 (padblock_write): Likewise. Rewrite to support embedded boot image.
16604
16605 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16606 for BIOS-based disk boot instead of only ElTorito.
16607
b15937b1
RM
166082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16609
16610 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16611 build (not needed for bootstrap).
16612
52cc3ce0
RM
166132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16614
16615 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16616 from i386-pc build (not needed for bootstrap).
16617 Rewrite a pair of strings.
16618
36f5ff04
RM
166192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16620
16621 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16622
973c6c85 166232009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
16624
16625 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16626
05d21547
AB
166272009-12-21 Andreas Born <futur.andy@googlemail.com>
16628
16629 * kern/env.c (grub_env_context_open): Mark exported variable for
16630 reexport.
16631
0175d51f
AB
166322009-12-21 Andreas Born <futur.andy@googlemail.com>
16633
16634 * kern/env.c (grub_env_export): Create nonexistent variables before
16635 exporting.
16636
7f39d92f 166372009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 16638
7f39d92f 16639 * include/grub/auth.h: Include `<grub/i18n.h>'.
16640 (GRUB_GET_PASSWORD): Gettextizze string.
16641 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16642 menu_text.c.
16643 (grub_utf8_to_ucs4_alloc): Fix indentation.
16644 (grub_print_ucs4): Likewise.
16645 (grub_getstringwidth): Likewise.
16646 (print_message_indented): New declaration.
16647 * normal/auth.c: Include `<grub/i18n.h>'.
16648 (grub_auth_check_authentication): Gettexttize string.
16649 * normal/cmdline.c: Include `<grub/i18n.h>'.
16650 (grub_cmdline_get): Gettextizze.
16651 * normal/color.c: Include `<grub/i18n.h>'.
16652 (grub_parse_color_name_pair): Gettexttize strings.
16653 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16654 string (use `print_message_indented').
16655 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16656 `include/grub/normal.h'.
16657 (print_message_indented): Renamed to ...
16658 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16659 used in normal/main.c).
16660 (print_message): Use `grub_print_message_indented' instead of
16661 `print_message_indented'.
16662 (print_timeout): Likewise.
16663 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16664 (grub_normal_print_device_info): Gettexttize strings.
16665 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16666
3041d898
VS
166672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16670 of arguments. Return number of tokens and not arguments. All users
16671 updated.
16672
de15bf8e
VS
166732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16676 non-MSDOS paritions.
16677
e0a6ca52
VS
166782009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16679
16680 * include/grub/types.h (UNUSED): Removed since it conflicts with
16681 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16682 Reported by Grégoire Sutre.
16683
b99518d1 166842009-12-19 Carles Pina i Estany <carles@pina.cat>
16685
16686 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16687 (grub_print_ucs4_alloc): Likewise.
16688 (grub_getstringwidth): Likewise.
16689 * normal/main.c (grub_normal_init_page): Gettextize version string.
16690 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16691 (getstringwidth): Renamed to ...
16692 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16693 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16694 (grub_print_ucs4): Remove `static' qualifer (now used in
16695 normal/main.c).
16696 * po/POTFILES: Add normal/main.c.
16697
bfd5e52b 166982009-12-19 Carles Pina i Estany <carles@pina.cat>
16699
16700 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16701 (print_message_indented): Add `margin_left' and `margin_right'
16702 parameters.
16703 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16704 strings.
16705 (print_timeout): Use `print_message_indented' to print the message.
16706 Deletes `second_stage' parameter.
16707 (run_menu): Update `print_timeout' calls.
16708
5a1ad2b9
VS
167092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 Fix console palette on OpenFirmware.
16712
16713 * term/ieee1275/ofconsole.c (MAX): Removed.
16714 (colors): Redone based on VGA palette.
16715 (grub_ofconsole_setcolor): Discard brightness bit since only 8
16716 colors are supported.
16717 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
16718
b045f00a
VS
167192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 Fix potential EfiEmu double prepare.
16722
16723 * efiemu/main.c (prepared): New variable
16724 (grub_efiemu_unload): Set prepare to '0'.
16725 (grub_efiemu_prepare): Return if already prepared. Set prepared.
16726
16727 set_virtual_address_map support.
16728
16729 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
16730 prototype.
16731 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
16732 prototype.
16733 (grub_efiemu_crc32): Likewise.
16734 (grub_efiemu_crc64): Likewise.
16735 (grub_efiemu_set_virtual_address_map): Likewise.
16736 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
16737 New definition.
16738 (grub_autoefi_set_virtual_address_map): Likewise.
16739 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
16740 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
16741 Restructure flow to accomodate it.
16742 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
16743 (grub_efiemu_crc): Recompute CRC32.
16744 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
16745 (efiemu_ptv_relocated): ... this. Made global. All users updated.
16746 * efiemu/symbols.c (relocated_handle): New variable.
16747 (grub_efiemu_free_syms): Free relocated_handle.
16748 (grub_efiemu_alloc_syms): Allocate relocated_handle.
16749 (grub_efiemu_write_sym_markers): New function.
16750 (grub_efiemu_set_virtual_address_map): Likewise.
16751
16752 Newer XNU parameters.
16753
16754 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
16755 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
16756 (grub_xnu_fill_devicetree): New prototype.
16757 (grub_xnu_heap_real_start): New variable.
16758 * loader/xnu.c (get_name_ptr): New function.
16759 (grub_xnu_load_driver): Fill namelen and name.
16760
16761 64-bit xnu support.
16762
16763 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
16764 and 'loader/macho64.c'.
16765 * conf/i386-pc.rmk: Likewise.
16766 * conf/x86_64-efi.rmk: Likewise.
16767 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
16768 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
16769 * include/grub/macho.h (grub_macho_segment64): New structure.
16770 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
16771 (grub_macho_size32): ... to this.
16772 (grub_macho32_get_entry_point): Renamed from ...
16773 (grub_macho_get_entry_point32): ... to this.
16774 (grub_macho_contains_macho64): New prototype.
16775 (grub_macho_size64): Likewise.
16776 (grub_macho_get_entry_point64): Likewise.
16777 (grub_macho32_load): Renamed from ...
16778 (grub_macho_load32): ... to this.
16779 (grub_macho32_filesize): Renamed from ...
16780 (grub_macho_filesize32): ... to this.
16781 (grub_macho32_readfile): Renamed from ...
16782 (grub_macho_readfile32): ... to this.
16783 (grub_macho_filesize64): New prototype.
16784 (grub_macho_readfile64): Likewise.
16785 (grub_macho_parse32): Likewise.
16786 (grub_macho_parse64): Likewise.
16787 * loader/macho.c: Split into ...
16788 * loader/machoXX.c: ... and this. Replace 32 with XX.
16789 * loader/macho32.c: New file.
16790 * loader/macho64.c: Likewise.
16791 * loader/xnu.c (grub_xnu_is_64bit): New variable.
16792 (grub_cmd_xnu_kernel): Make 32-bit only.
16793 (grub_cmd_xnu_kernel64): New function.
16794 (grub_xnu_load_driver): Support Mach-O 64.
16795 (grub_cmd_xnu_mkext): Likewise.
16796 * util/grub.d/30_os-prober.in (osx_entry): New function.
16797 Generate entries for 64-bit boot too.
16798
16799 Eliminate ad-hoc tree format in XNU and EfiEmu.
16800
16801 * efiemu/main.c (grub_efiemu_prepare): Update comment.
16802 * efiemu/pnvram.c: Rewritten to use environment variables.
16803 All users updated.
16804
16805 Inline utf16_to_utf8.
16806
16807 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
16808 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
16809 All users updated.
16810 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
16811
16812 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
16813 * commands/usbtest.c (grub_usb_get_string): ... move here.
16814 (usb_print_str): Fix error handling.
16815 * include/grub/usb.h (grub_usb_get_string): Remove.
16816
16817 UTF-8 to UTF-16 transformation.
16818
16819 * conf/common.rmk (pkglib_MODULES): Add charset.mod
16820 (charset_mod_SOURCES): New variable.
16821 (charset_mod_CFLAGS): Likewise.
16822 (charset_mod_LDFLAGS): Likewise.
16823 * include/grub/utf.h: New file.
16824 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
16825
16826 Support for device properties.
16827
16828 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
16829 (grub_xnu_devprop_device_header): Likewise.
16830 (grub_xnu_devprop_device_descriptor): Likewise.
16831 (grub_xnu_devprop_add_device): New prototype.
16832 (grub_xnu_devprop_remove_device): Likewise.
16833 (grub_xnu_devprop_remove_property): Likewise.
16834 (grub_xnu_devprop_add_property_utf8): Likewise.
16835 (grub_xnu_devprop_add_property_utf16): Likewise.
16836 (grub_cpu_xnu_init): Likewise.
16837 (grub_cpu_xnu_fini): Likewise.
16838 (grub_cpu_xnu_unload): Likewise.
16839 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
16840 (property_descriptor): Likewise.
16841 (devices): New variable.
16842 (grub_xnu_devprop_remove_property): New function.
16843 (grub_xnu_devprop_add_device): Likewise.
16844 (grub_xnu_devprop_remove_device): Likewise.
16845 (grub_xnu_devprop_add_property): Likewise.
16846 (grub_xnu_devprop_add_property_utf8): Likewise.
16847 (grub_xnu_devprop_add_property_utf16): Likewise.
16848 (hextoval): Likewise.
16849 (grub_cpu_xnu_fill_devprop): Likewise.
16850 (grub_cmd_devprop_load): Likewise.
16851 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
16852 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
16853 (cmd_devprop_load): New variable.
16854 (grub_cpu_xnu_init): New function.
16855 (grub_cpu_xnu_fini): Likewise.
16856 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
16857 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
16858 (grub_cmd_xnu_devtree): Likewise.
16859 (hextoval): New function.
16860 (unescape): Likewise.
16861 (grub_xnu_fill_devicetree): Likewise.
16862
16863 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
16864 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
16865
0945f181
VS
168662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16867
16868 Workaround for broken ATI VBE.
16869
16870 * video/i386/pc/vbe.c (last_set_mode): New variable.
16871 (grub_vbe_set_video_mode): Set 'last_set_mode'.
16872 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
16873 (grub_video_vbe_setup): Don't check for reserved flag.
16874
0ad46fd7 168752009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
16876
16877 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
16878 the `find' command.
16879
c179ebe4
VS
168802009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 UUID support for HFS.
16883
16884 * fs/hfs.c (grub_hfs_uuid): New function.
16885 (grub_hfs_fs): New value .uuid.
16886 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
16887
0ad46fd7 168882009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
16889
16890 Fix a segfault with parsing unknown long options.
16891
16892 * util/grub-mkrelpath.c (options): Zero terminate it.
16893
c4a3e41a
CPE
168942009-12-13 Carles Pina i Estany <carles@pina.cat>
16895
16896 * include/grub/misc.h (grub_puts): New declaration.
16897 (grub_puts_): Likewise.
a22008a6 16898 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
16899 (grub_puts_): Likewise.
16900
2e8a7602
RM
169012009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16902
16903 * util/grub-probe.c (probe): Improve error message.
16904
b50b77b9
RM
169052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16906
16907 * loader/i386/multiboot_elfxx.c
16908 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
16909 initialization.
16910
169112009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 Relocator framework
16914
16915 * loader/i386/xnu_helper.S: Removed. All users updated.
16916 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
16917 (relocator_mod_SOURCES): New variable.
16918 (relocator_mod_CFLAGS): Likewise.
16919 (relocator_mod_LDFLAGS): Likewise.
16920 (relocator_mod_ASFLAGS): Likewise.
16921 * conf/x86_64.rmk: Likewise.
16922 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
16923 (grub_multiboot_payload_entry_offset): Likewise.
16924 (grub_multiboot_forward_relocator): Likewise.
16925 (grub_multiboot_forward_relocator_end): Likewise.
16926 (grub_multiboot_backward_relocator): Likewise.
16927 (grub_multiboot_backward_relocator_end): Likewise.
16928 (grub_multiboot_payload_eip): New variable.
16929 (grub_multiboot_payload_orig): Likewise.
16930 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
16931 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
16932 * include/grub/i386/memory.h
16933 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
16934 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
16935 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
16936 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
16937 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
16938 * include/grub/i386/relocator.h: New file.
16939 * include/grub/x86_64/relocator.h: Likewise.
16940 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
16941 (XNU_RELOCATOR): New macro.
16942 (grub_xnu_launcher_start): Remove.
16943 (grub_xnu_launcher_end): Likewise.
16944 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
16945 (grub_xnu_heap_real_start): Remove.
16946 (grub_xnu_heap_start): Change to void *. All users updated.
16947 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
16948 * lib/i386/relocator.c: New file.
16949 * lib/i386/relocator_asm.S: Likewise.
16950 * lib/i386/relocator_backward.S: Likewise.
16951 * lib/mips/relocator.c: Likewise.
16952 * lib/mips/relocator_asm.S: Likewise.
16953 * lib/relocator.c: Likewise.
16954 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16955 (entry): Removed.
16956 (playground): Likewise.
16957 (grub_multiboot_payload_orig): New variable.
16958 (grub_multiboot_payload_dest): Likewise.
16959 (grub_multiboot_payload_size): Likewise.
16960 (grub_multiboot_payload_eip): Likewise.
16961 (grub_multiboot_payload_esp): Likewise.
16962 (grub_multiboot_boot): Use grub_relocator32_boot.
16963 (grub_multiboot_unload): Free relocators.
16964 (grub_multiboot): Setup stack. Use relocators.
16965 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16966 (grub_multiboot_load_elfXX): Use relocators.
16967 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16968 (grub_multiboot_payload_size): Likewise.
16969 (grub_multiboot_payload_dest): Likewise.
16970 (grub_multiboot_payload_entry_offset): Likewise.
16971 (grub_multiboot_forward_relocator): Likewise.
16972 (grub_multiboot_backward_relocator): Likewise.
16973 (grub_multiboot_real_boot): Likewise.
16974 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16975 (grub_xnu_entry_point): Likewise.
16976 (grub_xnu_arg1): Likewise.
16977 (grub_xnu_stack): Likewise.
16978 (grub_xnu_launch): Removed.
16979 (grub_xnu_boot_resume): New function.
16980 (grub_xnu_boot): Use relocators.
16981 * loader/i386/xnu_helper.S: Removed.
16982 * loader/xnu.c (grub_xnu_heap_start): New variable.
16983 (grub_xnu_heap_size): Likewise.
16984 (grub_xnu_heap_malloc): Use relocators.
16985 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16986
29eb90c6
VS
169872009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16988
16989 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16990 anything.
16991
31027430
CPE
169922009-12-13 Carles Pina i Estany <carles@pina.cat>
16993
16994 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16995 GRUB_ERR_NONE before calling grub_env_set.
16996
dc0c71d9
RM
169972009-12-12 Robert Millan <rmh@aybabtu.com>
16998
16999 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17000 * genmk.rb (video): New variable.
17001 (CLEANFILES, VIDEOFILES): Add #{video}.
17002 (#{video}): New target rule.
17003 * genvideolist.sh: New file.
17004 * Makefile.in (pkglib_DATA): Add video.lst.
17005 (video.lst): New target rule.
17006 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17007 `video.lst'.
17008 * util/grub.d/30_os-prober.in: Replace `vbe' with
17009 ${GRUB_VIDEO_BACKEND}.
17010
2a4bfcf0
RM
170112009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17012
17013 * THANKS: Add David Miller.
17014
2a3aa4d5
RM
170152009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 libpciaccess support.
17018
17019 * Makefile.in (LIBPCIACCESS): New variable.
17020 (enable_grub_emu_pci): Likewise.
17021 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17022 util/pci.c and commands/lspci.c.
17023 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17024 * configure.ac (grub-emu-pci): New option.
17025 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17026 (grub_pci_device_unmap_range): Likewise.
17027 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17028 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17029 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17030 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17031 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17032 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17033 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17034 * include/grub/pciutils.h: New file.
17035 * util/pci.c: Likewise.
17036
0ad46fd7 170372009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17038
17039 * util/misc.c: Don't include <errno.h> twice.
17040
0ad46fd7 170412009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17042
17043 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17044 name in an error message.
17045 (grub_biosdisk_rw): Likewise.
17046
2e59983c
VS
170472009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17048
17049 Eliminate NTFS 4Gib barrier.
17050
17051 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17052 (read_run_data): Likewise.
17053 (grub_ntfs_read_run_list): Likewise.
17054 (grub_ntfs_read_block): Likewise.
17055 (grub_ntfs_iterate_dir): Likewise.
17056 (read_mft): Likewise.
17057 (read_data): Likewise.
17058 Use COM_LOG_LEN.
17059 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17060 to avoid 64-bit division
17061 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17062 (grub_ntfs_rlst): Use grub_disk_addr_t.
17063
71ee178a
VS
170642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17065
17066 Eliminate grub-fstest 4Gib barrier.
17067
17068 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17069 (read_file): Fix error reporting.
17070
2520d4b8
VS
170712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17072
17073 Eliminate hexdump 4Gib barrier.
17074
17075 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17076 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17077
e1f27065
VS
170782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17079
17080 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17081 Fixes amarsh bug.
17082
1a0f7f45
RM
170832009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17084
17085 Remove miscellaneous files in distclean target.
17086
17087 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17088
c631d9fb
CW
170892009-12-09 Colin Watson <cjwatson@ubuntu.com>
17090
17091 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17092 if they're already set. This resolves the conflict between my
17093 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17094 fixing the --grub-probe option again.
17095 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17096 change on 2009-10-06, so that we now once again source
17097 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17098
7c7b6106
RM
170992009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17100
17101 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17102 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17103 `util/devicemap.c'.
17104
e3069ec1
CPE
171052009-12-08 Carles Pina i Estany <carles@pina.cat>
17106
17107 * include/grub/misc.h (grub_printf_): New declaration.
17108 * kern/misc.c (grub_printf_): New definition.
17109 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17110 instead of `grub_printf' and `_'.
17111 * normal/menu_entry.c (store_completion): Likewise.
17112 (run): Likewise.
17113 (grub_menu_entry_run): Likewise.
17114 * normal/menu_text.c (grub_wait_after_message): Likewise.
17115 (notify_booting): Likewise.
17116 (notify_fallback): Likewise.
17117 (notify_execution_failure): Likewise.
17118
d6ceebf1
CW
171192009-12-07 Colin Watson <cjwatson@ubuntu.com>
17120
17121 * configure.ac: Check for vasprintf.
17122 * util/misc.c (asprintf): Move allocation from here ...
17123 (vasprintf): ... to here. New function.
17124 (xasprintf): New function.
17125 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17126 prototypes.
17127 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17128 * util/grub-mkfont.c (write_font): Likewise.
17129 * util/grub-probe.c (probe): Likewise.
17130 * util/hostdisk.c (make_device_name): Likewise.
17131
de6daa8b
DM
171322009-12-06 David S. Miller <davem@sunset.davemloft.net>
17133
17134 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17135 anything even prefixed with 'cdrom' as a cdrom.
17136
0ad46fd7 171372009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17138
17139 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17140 mount points.
17141
98d3dc02
CPE
171422009-12-05 Carles Pina i Estany <carles@pina.cat>
17143
17144 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17145 grub_gettext_msg_list.
17146 (grub_gettext_gettranslation_from_position): Return const char *
17147 and not char *.
a2c1332b 17148 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17149 returns from the list if existing there.
17150 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17151 (grub_gettext_delete_list): Delete the list.
17152 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17153 lang environment variable is changed.
17154 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17155
b283f108
VS
171562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 Rename kernel.mod to kernel.img.
17159
17160 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17161 (kernel_mod_EXPORTS): Rename to ...
17162 (kernel_img_EXPORTS): ... this.
17163 (kernel_mod_SOURCES): Rename to ...
17164 (kernel_img_SOURCES): ... this.
17165 (kernel_mod_HEADERS): Rename to ...
17166 (kernel_img_HEADERS): ... this. All users updated.
17167 (kernel_mod_CFLAGS): Rename to ...
17168 (kernel_img_CFLAGS): ... this.
17169 (kernel_mod_ASFLAGS): Rename to ...
17170 (kernel_img_ASFLAGS): ... this.
17171 (kernel_mod_LDFLAGS): Rename to ...
17172 (kernel_img_LDFLAGS): ... this.
17173 * conf/x86_64-efi.rmk: Likewise.
17174 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17175 (read_kernel_image): ... this. All users updated.
17176 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17177
69055f8a
CPE
171782009-12-05 Carles Pina i Estany <carles@pina.cat>
17179
17180 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17181 (print_spaces): New function.
17182 (grub_print_ucs4): New function.
17183 (getstringwidth): New function.
17184 (print_message_indented): New function.
17185 (print_message): Gettexttize strings using print_message_indented.
17186 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17187 width.
17188 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17189 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17190 Gettextize.
17191 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17192 string.
17193 (run): Likewise.
17194 (grub_menu_entry_run): Likewise.
17195 * PO/POTFILES: Add normal/menu_entry.c.
17196
f616f51c
VS
171972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17200
57bbe3be
CPE
172012009-12-05 Carles Pina i Estany <carles@pina.cat>
17202
17203 * util/grub-install.in: Install gettext .mo files.
17204 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17205
013d67a1
CPE
172062009-12-05 Carles Pina i Estany <carles@pina.cat>
17207
17208 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17209 grub_dprintf.
17210
fb954db0
RM
172112009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17212
17213 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17214 non-firmware-dependant one in realmode.S takes precedence.
17215
6b8474f8
RM
172162009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17217
17218 * commands/halt.c: Replace misc arch-specific headers with
17219 `<grub/misc.h>'.
17220 * commands/reboot.c: Likewise.
17221 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17222 `<grub/misc.h>'.
17223 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17224 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17225 (kernel_img_SOURCES): ... to here.
17226
17227 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17228 * include/grub/i386/pc/init.h: Likewise.
17229 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17230 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17231
17232 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17233
17234 * include/grub/i386/halt.h: Remove.
17235 * include/grub/i386/reboot.h: Likewise.
17236
17237 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17238
4b2e6ca2
DM
172392009-12-03 David S. Miller <davem@sunset.davemloft.net>
17240
17241 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17242 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17243 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17244 "progname.h"
17245 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17246 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17247 (usage): Add missing comma in printf.
17248
5239348f
RM
172492009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17250
17251 Use the same reboot approach on i386 coreboot and qemu as we do on
17252 BIOS.
17253
17254 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17255 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17256 * kern/i386/reboot.c: Remove.
17257 * include/grub/i386/reboot.h (grub_reboot): Export function.
17258 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17259 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17260 0xf000:0xfff0 instead of 0xffff:0x0000.
17261 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17262 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17263
ef34cbd4
RM
172642009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17265
17266 Fix $srcdir != $objdir build.
17267
17268 * Makefile.in (po/%.po): Rewrite as ...
17269 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17270
dc9837ea
ST
172712009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17272
17273 Fix GNU/Hurd grub-install crash.
17274 * util/grub-probe.c (probe): Try to access `path' only when it is not
17275 NULL.
17276
2f857f98
VS
172772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17278
17279 Correct module naming.
17280
17281 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17282 (GRUB_MOD_INIT(efi_uga)): ... to this
17283 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17284 (GRUB_MOD_FINI(efi_uga)): ... to this
17285 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17286 (GRUB_MOD_INIT(efi_gop)): ... to this
17287 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17288 (GRUB_MOD_FINI(efi_gop)): ... to this
17289
c5448046
RM
172902009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17291
17292 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17293 translatable.
17294 (usage): Translate `arg' strings using gettext().
17295 Thanks to Jordi Mallach for the suggestion.
17296
c85184ad
VS
172972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17298
17299 GOP support. Based on patch from Bean
17300 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17301
17302 * video/efi_gop.c: New file.
17303 * include/grub/efi/graphics_output.h: Likewise.
17304 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17305 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17306 variables.
17307 * conf/x86_64-efi.rmk: Likewise.
17308
8a4c48d8
VS
173092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17310
17311 Rename efi_fb to efi_uga.
17312
17313 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17314 'efi_uga.mod'.
17315 (efi_fb_mod_SOURCES): Rename this ...
17316 (efi_uga_mod_SOURCES): ... to this.
17317 (efi_fb_mod_CFLAGS): Rename this ...
17318 (efi_uga_mod_CFLAGS): ... to this.
17319 (efi_fb_mod_LDFLAGS): Rename this ...
17320 (efi_uga_mod_LDFLAGS): ... to this.
17321 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17322 'efi_uga.mod'.
17323 (efi_fb_mod_SOURCES): Rename this ...
17324 (efi_uga_mod_SOURCES): ... to this.
17325 (efi_fb_mod_CFLAGS): Rename this ...
17326 (efi_uga_mod_CFLAGS): ... to this.
17327 (efi_fb_mod_LDFLAGS): Rename this ...
17328 (efi_uga_mod_LDFLAGS): ... to this.
17329 * video/efi_fb.c: Move this ...
17330 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17331
fb6c1a7b
RM
173322009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17333
17334 * po/README: New file. Explain our PO file workflow.
17335
3bc7896c
RM
173362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17337
17338 * po/ChangeLog: Remove. Move relevant entries back to ...
17339 * ChangeLog: ... here.
17340 * po/ca.po: Remove (now handled by TLP).
17341 * po/id.po: Likewise.
17342 * po/zh_CN.po: Likewise.
17343 * Makefile.in (LINGUAS): Initialize in a way that supports
17344 empty set.
17345
9ed4841d
RM
173462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17347
17348 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17349 reliing on po/LINGUAS.
17350 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17351 (po/%.po): ... this.
17352
0ad46fd7 173532009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17354
17355 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17356 (main): Use `program_name' instead of nonexistent `progname'.
17357
e30dd392
FZ
173582009-11-26 Felix Zielcke <fzielcke@z-51.de>
17359
17360 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17361 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17362
7656de4f
RM
173632009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17364
17365 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17366 commit.
17367 * conf/i386-efi.rmk: Likewise.
17368 * conf/i386-ieee1275.rmk: Likewise.
17369 * conf/powerpc-ieee1275.rmk: Likewise.
17370 * conf/sparc64-ieee1275.rmk: Likewise.
17371 * conf/x86_64-efi.rmk: Likewise.
17372
db77c4d4
FZ
173732009-11-26 Felix Zielcke <fzielcke@z-51.de>
17374
17375 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17376
a755bb04
FZ
173772009-11-26 Felix Zielcke <fzielcke@z-51.de>
17378
17379 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17380
8a4c07fd
RM
173812009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17382
17383 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17384 (grub_mkdevicemap_SOURCES): New variable.
17385 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17386 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17387 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17388 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17389 (grub_mkdevicemap_SOURCES): Remove.
17390 * conf/i386-efi.rmk: Likewise.
17391 * conf/i386-ieee1275.rmk: Likewise.
17392 * conf/i386-pc.rmk: Likewise.
17393 * conf/powerpc-ieee1275.rmk: Likewise.
17394 * conf/sparc64-ieee1275.rmk: Likewise.
17395 * conf/x86_64-efi.rmk: Likewise.
17396 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17397 (usage): Fix strings to use `program_name'.
17398 (main): Initialize gettext.
17399 * util/grub-editenv.c: Likewise.
17400 * util/grub-emu.c: Likewise.
17401 * util/grub-fstest.c: Likewise.
17402 * util/grub-mkdevicemap.c: Likewise.
17403 * util/grub-mkfont.c: Likewise.
17404 * util/grub-mkrelpath.c: Likewise.
17405 * util/grub-pe2elf.c: Likewise.
17406 * util/grub-probe.c: Likewise.
17407 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17408 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17409 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17410
17411 * util/misc.c: Include `"progname.h"'.
17412 (progname): Remove variable.
17413 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17414
6f61ed55
FZ
174152009-11-25 Felix Zielcke <fzielcke@z-51.de>
17416
17417 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17418 printf and print a newline after the menuentry header line.
17419 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17420
f022876b
FZ
174212009-11-25 Felix Zielcke <fzielcke@z-51.de>
17422
17423 autoconf >= 2.60 support $(localedir).
17424
17425 * INSTALL: Note that autoconf 2.60 is required.
17426 * configure.ac (AC_PREREQ): Bump to 2.60.
17427 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17428 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17429
6717926e
YB
174302009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17431
17432 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17433 aclocal is run.
17434
08806a54
RM
174352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17436
17437 * normal/main.c (grub_normal_read_line): Fix off-by-one
17438 buffer overflow.
17439
13b33fba
RM
174402009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17441
17442 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17443 "parser.grub" in grub_command_execute() call.
17444
4a8572e9
CPE
174452009-11-24 Carles Pina i Estany <carles@pina.cat>
17446
17447 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17448 * conf/i386-efi.rmk: Likewise.
17449 * conf/i386-ieee1275.rmk: Likewise.
17450 * conf/i386-pc.rmk: Likewise.
17451 * conf/powerpc-ieee1275.rmk: Likewise.
17452 * conf/sparc64-ieee1275.rmk: Likewise.
17453 * conf/x86_64-efi.rmk: Likewise.
17454 * gettext/gettex.c: Include <grub/i18n.h>.
17455 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17456 here ...
17457 * include/grub/i18n.h: ... to here
17458 * include/grub/i18n.h: ... to here.
17459 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17460 (grub_gettext_dummy): Move above user.
4a8572e9 17461
bee48093
FZ
174622009-11-24 Felix Zielcke <fzielcke@z-51.de>
17463
17464 * util/Makefile.in (install-local): Convert a `for' into a normal
17465 shell expansion.
17466
a031e91c
RM
174672009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17468
17469 * autogen.sh: Add automake call.
17470 * config.guess: Remove.
17471 * config.sub: Likewise.
17472 * install-sh: Likewise.
17473
26bec39d
FZ
174742009-11-24 Felix Zielcke <fzielcke@z-51.de>
17475
17476 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17477
8e2532fd
FZ
174782009-11-24 Felix Zielcke <fzielcke@z-51.de>
17479
17480 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17481 function to a normal shell `for'.
17482
fefa1b7d
FZ
174832009-11-24 Felix Zielcke <fzielcke@z-51.de>
17484
17485 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17486
4501250b
FZ
174872009-11-24 Felix Zielcke <fzielcke@z-51.de>
17488
17489 * util/grub-mkrelpath.c: New file.
17490 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17491 (grub_mkrelpath_SOURCES): New variable.
17492 * include/grub/util/misc.h: New function prototype.
17493 * util/misc.c (make_system_path_relative_to_its_root): New function.
17494
17495 * util/grub-mkconfig_lib.in (bindir): New variable.
17496 (grub_mkrelpath): Likewise.
17497 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17498
17499 * util/probe.c (probe): Make the file path relative to its root.
17500 Change a info message to use the GRUB path. Enable again the
17501 check if we can read the file with GRUB facilities.
17502
17503 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17504 to its root.
17505
11d9778b
FZ
175062009-11-24 Felix Zielcke <fzielcke@z-51.de>
17507
17508 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17509 platform.
17510
4465287d
FZ
175112009-11-24 Felix Zielcke <fzielcke@z-51.de>
17512
17513 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17514 strncmp().
17515
62b47f22
FZ
175162009-11-24 Felix Zielcke <fzielcke@z-51.de>
17517
17518 * util/getroot.c (grub_util_is_dmraid): New function.
17519 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17520 devices as normal ones, not as LVM.
17521
1eafb9b9 175222009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17523
17524 * conf/common.rmk: Add grub-gettext_lib target and updates
17525 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17526 LDFLAGS.
17527 * gettext/gettext.c: New file. (Reads mo files).
17528 * include/grub/file.h (grub_file_pread): New prototype.
17529 * include/grub/i18n.h (_): New prototype.
17530 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17531 prototypes.
17532 * kern/misc.c (grub_gettext_dummy): New function.
17533 * normal/menu_text.c: Include <grub/i18n.h>.
17534 * normal/menu_text.c (print_timeout): Gettexttize string.
17535 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17536 * po/POTFILES: Add `normal/menu_text.c'.
17537 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17538 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17539 gettext module and defines locale_dir and lang in grub.cfg.
17540 * NEWS: Add gettext support.
17541
0fdb2568
RM
175422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17543
17544 * util/hostdisk.c: Include `<grub/i18n.h>'.
17545 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17546 (make_device_name): Rewrite using asprintf.
17547 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17548 (find_system_device): If a device is not found, generate one just
17549 by reusing the OS path name.
17550 (read_device_map): Make it permissible for device.map not to exist.
17551
f515aa62
RM
175522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17553
17554 * script/sh/execute.c: Move from here ...
17555 * script/execute.c: ... to here. Update all users.
17556 * script/sh/function.c: Move from here ...
17557 * script/function.c: ... to here. Update all users.
17558 * script/sh/lexer.c: Move from here ...
17559 * script/lexer.c: ... to here. Update all users.
17560 * script/sh/main.c: Move from here ...
17561 * script/main.c: ... to here. Update all users.
17562 * script/sh/parser.y: Move from here ...
17563 * script/parser.y: ... to here. Update all users.
17564 * script/sh/script.c: Move from here ...
17565 * script/script.c: ... to here. Update all users.
17566
f84b481b
RM
175672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17568
17569 * configure.ac: Detect all `emu' platforms. Define
17570 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17571 --enable-grub-emu logic. Disable include/grub/machine
17572 symlink on `emu' platforms.
17573
17574 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17575 * gensymlist.sh.in: Likewise.
17576
17577 * include/grub/i386/coreboot/machine.h: Remove file.
17578 * include/grub/i386/efi/machine.h: Likewise.
17579 * include/grub/i386/ieee1275/machine.h: Likewise.
17580 * include/grub/i386/pc/machine.h: Likewise.
17581 * include/grub/i386/qemu/machine.h: Likewise.
17582 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17583 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17584 * include/grub/x86_64/efi/machine.h: Likewise.
17585
17586 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17587 * commands/halt.c: Likewise.
17588 * commands/reboot.c: Likewise.
17589 * include/grub/autoefi.h: Likewise.
17590 * include/grub/i386/at_keyboard.h: Likewise.
17591 * include/grub/i386/kernel.h: Likewise.
17592 * include/grub/i386/loader.h: Likewise.
17593 * include/grub/i386/pc/memory.h: Likewise.
17594 * kern/dl.c: Likewise.
17595 * kern/i386/coreboot/init.c: Likewise.
17596 * loader/i386/bsd.c: Likewise.
17597 * loader/i386/linux.c: Likewise.
17598 * loader/multiboot_loader.c: Likewise.
17599 * term/i386/pc/serial.c: Likewise.
17600 * term/usb_keyboard.c: Likewise.
17601
17602 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17603 `<grub/machine/machine.h>'
17604 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17605 * util/misc.c: Remove `<grub/machine/machine.h>' and
17606 `<grub/machine/time.h>'.
17607
17608 * Makefile.in (enable_grub_emu): Remove variable.
17609 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17610
17611 * conf/any-emu.rmk: New file.
17612 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17613 (grub_emu_init.c): Move from here ...
17614 * conf/any-emu.rmk: ... to here.
17615
17616 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17617 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17618 * conf/any-emu.rmk: ... to here.
17619
4efeab03
RM
176202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17621
17622 * include/grub/parser.h (grub_parser_register): Document need
17623 of `name' parameter.
17624 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17625 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17626 "sh" to "grub".
17627
ea1dd8bf
RM
176282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17629
17630 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17631 `$(XGETTEXT)'.
17632 * include/grub/i18n.h (N_): New macro.
17633 * util/mkisofs/mkisofs.h: Likewise.
17634 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17635 around N_().
17636 (usage): Use gettext() to translate help strings when printing them.
17637
0c140626
RM
176382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17639
17640 Based on patch from Bean
17641 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17642
17643 * video/efi_fb.c: New file.
17644 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17645 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17646 variables.
17647 * conf/x86_64-efi.rmk: Likewise.
17648
87d58298
RM
176492009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17650
17651 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17652 * util/i386/pc/grub-setup.c: Likewise.
17653
994cc3a3
ST
176542009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17655
17656 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17657 <hurd/fs.h>
17658 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17659 file_get_storage_info to implement grub_guess_root_device.
17660
26a61d6a
FZ
176612009-11-21 Felix Zielcke <fzielcke@z-51.de>
17662
17663 * Makefile.in (target): Use make's builtin $(shell) function
17664 instead of calling directly $(SHELL) to create the locale directories,
17665 inside the $(foreach) function.
17666
74ff1dd5
FZ
176672009-11-21 Felix Zielcke <fzielcke@z-51.de>
17668
17669 * util/grub-mkrescue.in: Print an error and usage if output option
17670 has not been given.
17671
0b787d0e
FZ
176722009-11-21 Felix Zielcke <fzielcke@z-51.de>
17673
17674 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17675 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17676 root and /boot are on different devices.
17677
1164b270
RM
176782009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17679
17680 Fix build for srcdir != objdir.
17681
17682 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17683 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17684 $(srcdir).
17685 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17686 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17687 reference for input.
17688
13774a2f
RM
176892009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17690
17691 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17692 or hardlinking it). Remove -J option, Joliet is not compatible with
17693 multiple source directories.
17694
efda854e
RM
176952009-11-21 Carles Pina i Estany <carles@pina.cat>
176962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17697
17698 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17699 (process_input_dir): New function. Process an arbitrary input
17700 directory.
17701 Misc adjustments to support both "override mode" and system-wide mode.
17702
6c09890c
FZ
177032009-11-20 Felix Zielcke <fzielcke@z-51.de>
17704
17705 * configure.ac (UNIFONT_BDF): Rename to ...
17706 (FONT_SOURCE): ... this. Update all users.
17707
a797824f
FZ
177082009-11-20 Felix Zielcke <fzielcke@z-51.de>
17709
17710 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
17711 to the list of unifont files to look for.
17712
cd4f42b0
RM
177132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17714
17715 Patch from Joe Auricchio <jauricchio@gmail.com>
17716 * commands/minicmd.c (grub_mini_cmd_clear): New function.
17717 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
17718 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
17719
393c783d
FZ
177202009-11-19 Felix Zielcke <fzielcke@z-51.de>
17721
17722 * Makefile.in (install-local): Add a missing backslash.
17723
b2f1e327
FZ
177242009-11-19 Felix Zielcke <fzielcke@z-51.de>
17725
17726 * include/grub/x86_64/io.h: New file.
17727
f577f7a0
RM
177282009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17729
17730 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
17731 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
17732 Include `"progname.h"'.
17733 (main): Initialize gettext.
17734 * util/i386/pc/grub-setup.c: Gettexttize.
17735 * util/i386/pc/grub-mkimage.c: Likewise.
17736
17737 * Makefile.in (po/*.po): Redefine as ...
17738 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
17739
3bc7896c
RM
17740 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
17741
c37943b6
RM
177422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17743
17744 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
17745 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
17746 (program_name): Remove.
17747 (main): Initialize gettext support.
6323f705
RM
17748 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
17749 Include `<libintl.h>'.
17750 (_): New macro.
c37943b6
RM
17751
17752 * util/mkisofs/eltorito.c: Gettexttize.
17753 * util/mkisofs/joliet.c: Likewise.
17754 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
17755 * util/mkisofs/multi.c: Likewise.
17756 * util/mkisofs/rock.c: Likewise.
17757 * util/mkisofs/tree.c: Likewise.
17758 * util/mkisofs/write.c: Likewise.
17759
3bc7896c
RM
17760 * po/POTFILES: Update with new files.
17761
5ce77c6e
RM
177622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17763
17764 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
17765 * util/mkisofs/iso9660.h: Likewise.
17766 * util/mkisofs/joliet.c: Likewise.
17767 * util/mkisofs/mkisofs.c: Likewise.
17768 * util/mkisofs/mkisofs.h: Likewise.
17769 * util/mkisofs/rock.c: Likewise.
17770 * util/mkisofs/tree.c: Likewise.
17771 * util/mkisofs/write.c: Likewise.
17772
17773 * util/mkisofs/eltorito.c (rcsid): Remove.
17774 * util/mkisofs/hash.c: Likewise.
17775 * util/mkisofs/joliet.c: Likewise.
17776 * util/mkisofs/name.c: Likewise.
17777 * util/mkisofs/rock.c: Likewise.
17778 * util/mkisofs/tree.c: Likewise.
17779 * util/mkisofs/write.c: Likewise.
17780
1dabbc77
RM
177812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17782
17783 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
17784 instead of static allocation.
17785 * util/mkisofs/match.h: Likewise.
17786
633877cb
RM
177872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17788
3bc7896c
RM
17789 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
17790 and `util/grub.d/10_linux.in'.
633877cb
RM
17791 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
17792 translatable Shell files.
17793
af1c0c85
RM
177942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17795
17796 * Makefile.in ($(srcdir)/aclocal.m4): New target.
17797
769ae37b
RM
177982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17799
17800 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 17801 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
17802 * util/grub.d/10_kfreebsd.in (bindir): New variable.
17803 Add gettext initialization.
17804 (kfreebsd_entry): Make menuentry output translatable.
17805
178062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17807
17808 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
17809 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
17810 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
17811 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
17812 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 17813 * po/LINGUAS: New file.
769ae37b
RM
17814
178152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17816
17817 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
17818 other things).
17819 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
17820 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
17821 bindtextdomain() calls for gettext initialization.
17822
178232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17824
17825 * gnulib/progname.c: New file (imported from Gnulib).
17826 * gnulib/progname.h: Likewise.
17827 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17828 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
17829 (usage): Replace `progname' with `program_name'.
17830 (main): Use set_program_name() for program name initialization.
17831
178322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17833
17834 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
17835 from here ...
17836 * Makefile.in (CPPFLAGS): ... to here.
17837
178382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17839
17840 * aclocal.m4: Move from here ...
17841 * acinclude.m4: ... to here.
17842 * autogen.sh: Add call to `aclocal'.
17843 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
17844
178452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17846
17847 * Makefile.in (CLEANFILES): Add `po/*.mo'.
17848 (LINGUAS): New variable.
17849 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
17850 (install-local): Install MO files.
17851 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
17852 * include/grub/i18n.h: New file.
3bc7896c
RM
17853 * po/POTFILES: New file.
17854 * po/ca.po: New file.
769ae37b
RM
17855 * util/grub.d/10_linux.in (bindir): New variable.
17856 Add gettext initialization.
17857 (linux_entry): Make menuentry output translatable.
17858 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
17859 (usage): Make --help output translatable.
17860 (main): Initialize gettext.
17861
02c0a6ad
RM
178622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17863
17864 * import_gcry.py: New file (written by Vladimir with minor
17865 adjustments).
17866 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
17867 ciphers.
17868 * INSTALL: Document that Python is required for bootstrap.
17869
178702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17871
17872 Import ciphers from libgcrypt 1.4.4.
17873
17874 * lib/libgcrypt/cipher/ChangeLog
17875 * lib/libgcrypt/cipher/ac.c
17876 * lib/libgcrypt/cipher/arcfour.c
17877 * lib/libgcrypt/cipher/bithelp.h
17878 * lib/libgcrypt/cipher/blowfish.c
17879 * lib/libgcrypt/cipher/camellia-glue.c
17880 * lib/libgcrypt/cipher/camellia.c
17881 * lib/libgcrypt/cipher/camellia.h
17882 * lib/libgcrypt/cipher/cast5.c
17883 * lib/libgcrypt/cipher/cipher.c
17884 * lib/libgcrypt/cipher/crc.c
17885 * lib/libgcrypt/cipher/des.c
17886 * lib/libgcrypt/cipher/dsa.c
17887 * lib/libgcrypt/cipher/ecc.c
17888 * lib/libgcrypt/cipher/elgamal.c
17889 * lib/libgcrypt/cipher/hash-common.c
17890 * lib/libgcrypt/cipher/hash-common.h
17891 * lib/libgcrypt/cipher/hmac-tests.c
17892 * lib/libgcrypt/cipher/md.c
17893 * lib/libgcrypt/cipher/md4.c
17894 * lib/libgcrypt/cipher/md5.c
17895 * lib/libgcrypt/cipher/primegen.c
17896 * lib/libgcrypt/cipher/pubkey.c
17897 * lib/libgcrypt/cipher/rfc2268.c
17898 * lib/libgcrypt/cipher/rijndael-tables.h
17899 * lib/libgcrypt/cipher/rijndael.c
17900 * lib/libgcrypt/cipher/rmd.h
17901 * lib/libgcrypt/cipher/rmd160.c
17902 * lib/libgcrypt/cipher/rsa.c
17903 * lib/libgcrypt/cipher/seed.c
17904 * lib/libgcrypt/cipher/serpent.c
17905 * lib/libgcrypt/cipher/sha1.c
17906 * lib/libgcrypt/cipher/sha256.c
17907 * lib/libgcrypt/cipher/sha512.c
17908 * lib/libgcrypt/cipher/tiger.c
17909 * lib/libgcrypt/cipher/twofish.c
17910 * lib/libgcrypt/cipher/whirlpool.c
17911
af2f93ac
RM
179122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17913
17914 Fix build for systems without error().
17915
17916 * gnulib/error.c: New file (imported from Gnulib).
17917 * gnulib/error.h: Likewise.
17918 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
17919 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
17920 (this variable is now used by error()).
17921
73fb3dd5
FZ
179222009-11-16 Felix Zielcke <fzielcke@z-51.de>
17923
814f5e96
FZ
17924 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
17925 instead of relying that char is signed.
73fb3dd5 17926
a691ca33
VS
179272009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
17930 blocksize different from specified.
17931 (grub_pxefs_read): Likewise.
17932
2af8f0f4
FZ
179332009-11-16 Felix Zielcke <fzielcke@z-51.de>
17934
17935 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
17936
17937 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
17938 (grub_ata_readwrite): Likewise. Update 2 format strings.
17939 (grub_atapi_read): Likewise.
17940
17941 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
17942 * conf/i386.rmk (pkglib_MODULES): ... to here ...
17943 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
17944 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
17945 (ata_mod_LDFLAGS): Move from here ...
17946 * conf/i386.rmk: ... to here ...
17947 * conf/x86_64-efi.rmk: ... and here.
17948 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
17949 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17950
83bdecaf
RM
179512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17952
17953 Relicense multiboot.h, with RMS' blessing.
17954
17955 * include/multiboot.h: Change to X11 license.
17956
fd6fd3d7
RM
179572009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17958
17959 Support --version in grub-mkisofs.
17960
17961 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17962 (OPTION_VERSION): New macro.
17963 (ld_options): Recognize --version.
17964 (usage): Move `program_name' from here ...
17965 (program_name): ... to here. Add `static' qualifier.
17966 (main): Recognize `OPTION_VERSION'.
17967
16a88c49
FZ
179682009-11-15 Felix Zielcke <fzielcke@z-51.de>
17969
17970 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17971 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17972
a4158476
RM
179732009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17974
17975 Fix help2man generation for mkisofs.
17976
17977 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17978 (usage): Send output to stdout (rather than stderr).
17979
fc2208b0
RM
179802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17981
17982 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17983 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17984 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17985 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17986 (bin_SCRIPTS): Add `grub-mkfloppy'.
17987 (grub_mkfloppy_SOURCES): New variable.
17988
17989 * util/grub-mkrescue.in: New file.
17990 * util/i386/pc/grub-mkfloppy.in: New file.
17991
17992 * util/i386/coreboot/grub-mkrescue.in: Remove.
17993 * util/i386/pc/grub-mkrescue.in: Remove.
17994
8d0edf4a
RM
179952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17996
17997 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17998 from here ...
17999 * include/multiboot.h (struct multiboot_header): ... to here. Update
18000 all users.
18001 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18002 from here ...
18003 * include/multiboot.h (struct multiboot_info): ... to here. Update
18004 all users.
18005 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18006 from here ...
18007 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18008 Update all users.
18009 * include/grub/multiboot.h (struct grub_mod_list): Move
18010 from here ...
18011 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18012 Update all users.
18013
a73f5969
RM
180142009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18015
18016 * include/multiboot2.h (multiboot_word): Rename from this ...
18017 (multiboot2_word): ... to this. Update all users.
18018 (multiboot_header): Rename from this ...
18019 (multiboot2_header): ... to this. Update all users.
18020 (multiboot_tag_header): Rename from this ...
18021 (multiboot2_tag_header): ... to this. Update all users.
18022 (multiboot_tag_start): Rename from this ...
18023 (multiboot2_tag_start): ... to this. Update all users.
18024 (multiboot_tag_name): Rename from this ...
18025 (multiboot2_tag_name): ... to this. Update all users.
18026 (multiboot_tag_module): Rename from this ...
18027 (multiboot2_tag_module): ... to this. Update all users.
18028 (multiboot_tag_memory): Rename from this ...
18029 (multiboot2_tag_memory): ... to this. Update all users.
18030 (multiboot_tag_unused): Rename from this ...
18031 (multiboot2_tag_unused): ... to this. Update all users.
18032 (multiboot_tag_end): Rename from this ...
18033 (multiboot2_tag_end): ... to this. Update all users.
18034
1c8927f0
RM
180352009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18036
18037 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18038 this platform we should support Multiboot1 first.
18039
18040 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18041 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18042 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18043
6e1e0d89
RM
180442009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18045
18046 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18047 of write calls (converting them to fwrite() if they aren't already).
18048 (get_torito_desc): Likewise.
18049 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18050
7f2b34d8
RM
180512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18052
18053 * util/i386/pc/grub-install.in: Move from here ...
18054 * util/grub-install.in: ... to here. Update all users.
18055
c0ef3311
CW
180562009-11-11 Colin Watson <cjwatson@ubuntu.com>
18057
18058 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18059
e1f240ff
RM
180602009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18061
18062 Support for El Torito without floppy emulation.
18063
18064 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18065 (init_boot_catalog): Improve error handling.
18066 (get_torito_desc): Don't use floppy emulation unless requested by
18067 user. Patch boot information table when requested via
18068 `-boot-info-table'.
18069 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18070 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18071 (use_boot_info_table): New variables.
18072 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18073 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18074 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18075 `--eltorito-emul-floppy'.
18076 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18077 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18078 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18079 (use_boot_info_table, get_731): New prototypes.
18080 * util/mkisofs/write.c (get_731): New function.
18081
af7d4de5
FZ
180822009-11-11 Felix Zielcke <fzielcke@z-51.de>
18083
18084 Fix the generation of the man page.
18085
18086 * util/pc/i386/grub-install.in: Source
18087 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18088
2c55dbc0
RM
180892009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18090
18091 Large file support for grub-mkisofs.
18092
18093 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18094 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18095 (session_start): Upgrade type to `uint64_t'. Update all users.
18096 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18097 (struct directory_entry): Upgrade type of `starting_block' and
18098 `size' to `uint64_t'. Update all users.
18099 (struct deferred): Remove unused structure.
18100 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18101 Update all users.
18102 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18103 file is larger than `UINT32_MAX'.
18104 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18105 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18106 return value.
18107 (struct deferred_write): Upgrade type of `extent' and `size' to
18108 `uint64_t'. Update all users.
18109 (last_extent_written): Upgrade type to `uint64_t'. Update all
18110 users.
18111 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18112 Update all users. Upgrade type of `remain' to `int64_t' and
18113 `use' to `size_t'. Use error() to handle fread() errors.
18114 (write_files): Rely on write_one_file() rather than calling
18115 xfwrite() directly.
18116
6a9cead5
FZ
181172009-11-09 Felix Zielcke <fzielcke@z-51.de>
18118
18119 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18120
4825d790
RM
181212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18122
18123 * util/mkisofs/fnmatch.c: Remove.
18124 * util/mkisofs/getopt1.c: Likewise.
18125 * util/mkisofs/getopt.c: Likewise.
18126 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18127 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18128 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18129 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18130 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18131
18132 * configure.ac: Detect `mingw32msvc' host_os.
18133 Check for lstat(), getuid() and getgid().
18134
18135 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18136 instances of `u_char' with `uint8_t'.
18137
18138 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18139 [!HAVE_GETUID] (getuid): New function (stub).
18140 [!HAVE_GETGID] (getgid): Likewise.
18141 [!HAVE_LSTAT] (lstat): Likewise.
18142 [!S_IROTH] (S_IROTH): New macro (dummy).
18143 [!S_IRGRP] (S_IRGRP): Likewise.
18144
84b860d8
RM
181452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18146
18147 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18148 conditional expression).
18149
66e9b712
RM
181502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18151
18152 Import from Gnulib.
18153
18154 * gnulib/fnmatch.c: New file.
18155 * gnulib/fnmatch.h: Likewise.
18156 * gnulib/fnmatch_loop.c: Likewise.
18157 * gnulib/getopt.c: Likewise.
18158 * gnulib/getopt.h: Likewise.
18159 * gnulib/getopt1.c: Likewise.
18160 * gnulib/getopt_int.h: Likewise.
18161 * gnulib/gettext.h: Likewise.
18162
34f4a5b0
RM
181632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18164
18165 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18166 * normal/handler.c (read_handler_list): Likewise.
18167
ac451143
RM
181682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18169
18170 Misc cleanup.
18171
18172 * kern/command.c (grub_register_command_prio): Use
18173 grub_zalloc() instead of explicitly zeroing data.
18174 * kern/list.c: Include `<grub/mm.h>'.
18175 (grub_named_list_find): Replace `0' with `NULL'.
18176 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18177 (fs_module_list): Change type to `grub_named_list_t'. Update all
18178 users.
18179 * normal/dyncmd.c (read_command_list): Add space between function
18180 call and parenthesis.
18181 * normal/handler.c (read_handler_list): Likewise.
18182
4089b167
RM
181832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18184
18185 * normal/auth.c (punishment_delay): Moved from here ...
18186 (grub_auth_strcmp): ... to here (inside function).
18187
325f5037
RM
181882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18189
18190 * include/grub/list.h (struct grub_named_list): Remove `const'
18191 qualifier from `name'.
18192 (struct grub_prio_list): Likewise.
18193
7aea29a3
RM
181942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18195
18196 * normal/auth.c: Include `<grub/time.h>'.
18197 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18198
3fd6f044
RM
181992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18200
18201 * normal/auth.c (punishment_delay): New variable.
18202 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18203 (grub_auth_check_authentication): Punish failed login attempts with
18204 an incremental (2^N) delay.
18205
a4cd68e4
RM
182062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18207
18208 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18209 path with $(srcdir).
18210
7ad12f43
VS
182112009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18212
18213 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18214
c1129f03
RM
182152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18216
18217 * util/i386/coreboot/grub-mkrescue.in: New file.
18218 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18219 variables.
18220
18221 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18222 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18223 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18224 requirements.
18225 * util/mkisofs/defaults.h: New file.
18226 * util/mkisofs/eltorito.c: Likewise.
18227 * util/mkisofs/exclude.h: Likewise.
18228 * util/mkisofs/fnmatch.c: Likewise.
18229 * util/mkisofs/getopt.c: Likewise.
18230 * util/mkisofs/getopt1.c: Likewise.
18231 * util/mkisofs/hash.c: Likewise.
18232 * util/mkisofs/include/fctldefs.h: Likewise.
18233 * util/mkisofs/include/mconfig.h: Likewise.
18234 * util/mkisofs/include/prototyp.h: Likewise.
18235 * util/mkisofs/include/statdefs.h: Likewise.
18236 * util/mkisofs/iso9660.h: Likewise.
18237 * util/mkisofs/joliet.c: Likewise.
18238 * util/mkisofs/match.c: Likewise.
18239 * util/mkisofs/match.h: Likewise.
18240 * util/mkisofs/mkisofs.c: Likewise.
18241 * util/mkisofs/mkisofs.h: Likewise.
18242 * util/mkisofs/multi.c: Likewise.
18243 * util/mkisofs/name.c: Likewise.
18244 * util/mkisofs/rock.c: Likewise.
18245 * util/mkisofs/tree.c: Likewise.
18246 * util/mkisofs/write.c: Likewise.
18247
ec8bb77d
VS
182482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18251 being insecure.
18252
3716b12c
RM
182532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18254
18255 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18256 `grub-mkimage' (and use $0 when possible).
18257
b97b7b91
RM
182582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18259
18260 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18261 error message for excessively large memory map.
18262
04114812
RM
182632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18264
18265 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18266 executable bit.
18267
e4eb2373
RM
182682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18269
18270 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18271 message for coreboot users.
18272
c926e1d5 182732009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18274
18275 Fix build with GNU gold.
18276
18277 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18278 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18279 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18280 link addresses.
18281 * aclocal.m4: Likewise.
18282
86e5b1db 182832009-11-04 Felix Zielcke <fzielcke@z-51.de>
18284
18285 * configure.ac (AC_PREREQ): Bump to 2.59d.
18286 * INSTALL: Make it more clear when Autoconf and Ruby are
18287 needed and when to run `./autogen.sh'.
18288
246cd78f 182892009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18290
18291 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18292 OSes.
18293
4f9dfb37 182942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18295
18296 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18297
b82bd5e1 182982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18299
18300 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18301 giving it to GNU Mach.
18302
ff1a9bca 183032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18304
18305 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18306 GNU partition number to get internal GRUB partition number.
18307
61697d9c 183082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18309
18310 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18311 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18312
a50569e1 183132009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18314
18315 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18316 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18317 case.
18318
5b153867 183192009-11-01 Felix Zielcke <fzielcke@z-51.de>
18320
18321 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18322
d9e2cd70 183232009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18324
18325 Fix build problem.
18326
18327 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18328 `-isystem=$(srcdir)/include'.
18329
805111a4 183302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18331
18332 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18333 checked (grub-install doesn't currently rely on it).
18334
fa6e945f 183352009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18336
18337 Revert SVN r2660.
18338
18339 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18340 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18341 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18342 * conf/i386-ieee1275.rmk: Likewise.
18343 * conf/i386-pc.rmk: Likewise.
18344 * conf/powerpc-ieee1275.rmk: Likewise.
18345 * conf/sparc64-ieee1275.rmk: Likewise.
18346 * conf/x86_64-efi.rmk: Likewise.
18347
cee15086 183482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18349
18350 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18351
95b9239e 183522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18353
18354 * include/grub/misc.h: Stop checking for APPLE_CC.
18355
2ed19dfd 183562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18357
18358 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18359 doesn't cause an infinite call loop.
18360
fdcdde19 183612009-10-28 Felix Zielcke <fzielcke@z-51.de>
18362
18363 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18364 strings.
18365
cefabfe1 183662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18367
18368 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18369 variable.
18370 * Makefile.in: Likewise.
18371
ed96ab6d 183722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18373
18374 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18375
0579b753 183762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18377
18378 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18379
478df409 183802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18381
18382 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18383
083d1679 183842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18385
18386 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18387 from here ...
18388 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18389
5947ae32 183902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18391
18392 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18393 in $(MAKEINFO) invocation. This makes it clear in output that
18394 errors are being ignored.
18395
94180ff6 183962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18397
18398 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18399 from here ...
18400 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18401 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18402 * conf/i386-ieee1275.rmk: Likewise.
18403 * conf/i386-pc.rmk: Likewise.
18404 * conf/powerpc-ieee1275.rmk: Likewise.
18405 * conf/sparc64-ieee1275.rmk: Likewise.
18406 * conf/x86_64-efi.rmk: Likewise.
18407
9031b03a 184082009-10-26 Colin Watson <cjwatson@ubuntu.com>
18409
18410 * util/grub-editenv.c (main): If only a command is given, use
18411 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18412 (usage): FILENAME is now optional and has a default.
18413
e4f6809b 184142009-10-26 Colin Watson <cjwatson@ubuntu.com>
18415
18416 Improve grub-mkconfig performance when there are several menu
18417 entries on a single filesystem.
18418
18419 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18420 prepare_grub_to_access_device.
18421 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18422 * util/grub.d/30_os-prober.in: Likewise.
18423
67937d4d 184242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18425
18426 * util/grub.d/10_freebsd.in: Remove.
18427 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18428 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18429
ee3756cc 184302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18431
5c35048e 18432 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18433
4dea1c6f 184342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18435
18436 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18437 grub_util_error() call.
18438
042484d7 184392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18440
18441 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18442 `reserved_first_sector' member.
18443 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18444 `reserved_first_sector' to 1.
18445 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18446 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18447 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18448 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18449 filesystems which begin at first sector.
18450 (options): New option --skip-fs-probe.
18451 (main): Handle --skip-fs-probe and pass it to setup().
18452
d64448a7 184532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18454
18455 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18456 (memset): Fix function prototype.
18457
508d42ec 184582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
184592009-10-25 Vasily Averin <vvs@parallels.com>
18460
18461 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18462 `dirent.direntlen == 0'.
18463
b240e30c 184642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18465
18466 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18467 `cpio'.
18468 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18469
346e7fbe 184702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18471
18472 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18473 `__trampoline_setup' and `__ucmpdi2'.
18474 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18475 that libgcc provides.
18476
cdb308b0 184772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18478
18479 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18480 * include/grub/sparc64/libgcc.h (memset): Likewise.
18481 * include/grub/misc.h (memset, memcmp): New function prototypes.
18482
fb26abc2 184832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18484
18485 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18486 `cpio'.
18487 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18488
f6693890 184892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18490
18491 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18492 * docs/grub.cfg: Compensate for recent change in multiboot
18493 loader (since 2009-08-14 it won't pass filename to payload).
18494 * util/grub.d/10_hurd.in: Likewise.
18495
0933cdc0 184962009-10-21 Felix Zielcke <fzielcke@z-51.de>
18497
18498 * config.guess: Update to latest version from config git
18499 repository.
18500 * config.sub: Likewise.
18501
3b2fe8c2 185022009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18503
18504 Fix build on sparc64.
18505
18506 * configure.ac: Perform checks for libgcc symbols before
18507 adding `-nostdlib' to LDFLAGS.
18508
46695a62 185092009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18510
18511 Let user specify OpenBSD root device.
18512
18513 * loader/i386/bsd.c (openbsd_root): New variable.
18514 (openbsd_opts): New option 'root'.
18515 (OPENBSD_ROOT_ARG): New macro.
18516 (grub_openbsd_boot): Use 'openbsd_root'.
18517 (grub_cmd_openbsd): Fill 'openbsd_root'.
18518
d2b6b7fc 185192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18520
18521 * NEWS: Misc adjustments.
18522
421bd7ac 185232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18526
f1d29d87 185272009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18528
18529 * configure.ac: Bump version to 1.97.
18530
6f3cd880 185312009-10-16 Colin Watson <cjwatson@ubuntu.com>
18532
18533 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18534 -mno-3dnow on x86 architectures. Some toolchains enable these
18535 features by default, but they rely on registers that aren't enabled
18536 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18537
035f7122 185382009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18539
18540 Make entry text a bit more readable.
18541
18542 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18543
44998e58 185442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18545
18546 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18547
cd2851b3 185482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18551 operations.
18552
c6f3b249 185532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18554
18555 * configure.ac: Add missing dollar.
18556
6b5886ba 185572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18558
18559 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18560
18561 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18562 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18563 exports.
18564 * include/grub/sparc64/libgcc.h: Likewise. Use
18565 preprocessor conditionals.
18566
e9d66f6d 185672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18568
18569 * conf/common.rmk (grub-dumpbios): Remove rule.
18570 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18571 * util/grub-dumpbios.in: Remove file.
18572
9155bc17 185732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18574
18575 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18576 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18577
18578 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18579 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18580 users.
18581
18582 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18583 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18584 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18585 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18586 users.
18587
bf7f7a18 185882009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18589
18590 * term/tparm.c: Switch to GPLv3.
18591
86564c26 185922009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18593
18594 * include/grub/i386/cpuid.h: Add header protection.
18595
5c936493 185962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18597
18598 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18599
18600 * include/grub/i386/cpuid.h: New file.
18601 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18602 (has_longmode): Rename to ...
18603 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18604 `static' attribute.
18605 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18606 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18607 on a CPU that doesn't implement AMD64 instruction set.
18608
186e7cf2 186092009-10-06 Colin Watson <cjwatson@ubuntu.com>
18610
18611 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18612 that version.texi is rebuilt on version number changes.
18613
83b65c4a 186142009-10-06 Colin Watson <cjwatson@ubuntu.com>
18615
18616 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18617 Fixes bug #27602.
18618
d244281c 186192009-10-06 Colin Watson <cjwatson@ubuntu.com>
18620
18621 * util/i386/pc/grub-install.in: Source
18622 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18623 that the --grub-probe option will work.
18624 * util/sparc64/ieee1275/grub-install.in: Likewise.
18625
da25306d 186262009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18627
18628 * configure.ac: Bump version to 1.97~beta4.
18629
e8ee83c0 186302009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18631
18632 Resync grub-mkdevicemap in x86_64-efi.
18633
18634 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18635 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18636 `util/devicemap.c'.
18637
50dcabcf 186382009-10-01 Colin Watson <cjwatson@ubuntu.com>
18639
18640 * util/grub-editenv.c (create_envblk_file): Write new block with a
18641 .new suffix and then rename it into place, to ensure atomic
18642 creation.
18643
0e51c3a7 186442009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18645
18646 Do not automatically install headers.
18647
18648 * Makefile.in (include_DATA): Remove. Update all users.
18649
31299a95 186502009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18651
18652 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18653 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18654
18655 * util/osdetect.lua: Remove.
18656 * script/lua/lauxlib.c: Likewise.
18657 * script/lua/ldebug.c: Likewise.
18658 * script/lua/grub_main.c: Likewise.
18659 * script/lua/lauxlib.h: Likewise.
18660 * script/lua/ldebug.h: Likewise.
18661 * script/lua/ltablib.c: Likewise.
18662 * script/lua/liolib.c: Likewise.
18663 * script/lua/lstrlib.c: Likewise.
18664 * script/lua/lualib.h: Likewise.
18665 * script/lua/ldo.c: Likewise.
18666 * script/lua/ldump.c: Likewise.
18667 * script/lua/ldo.h: Likewise.
18668 * script/lua/loslib.c: Likewise.
18669 * script/lua/lundump.c: Likewise.
18670 * script/lua/grub_lib.c: Likewise.
18671 * script/lua/ldblib.c: Likewise.
18672 * script/lua/lundump.h: Likewise.
18673 * script/lua/lmem.c: Likewise.
18674 * script/lua/grub_lib.h: Likewise.
18675 * script/lua/lmathlib.c: Likewise.
18676 * script/lua/lstate.c: Likewise.
18677 * script/lua/ltm.c: Likewise.
18678 * script/lua/lvm.c: Likewise.
18679 * script/lua/lmem.h: Likewise.
18680 * script/lua/lstate.h: Likewise.
18681 * script/lua/ltm.h: Likewise.
18682 * script/lua/ltable.c: Likewise.
18683 * script/lua/lvm.h: Likewise.
18684 * script/lua/llex.c: Likewise.
18685 * script/lua/lgc.c: Likewise.
18686 * script/lua/grub_lua.h: Likewise.
18687 * script/lua/loadlib.c: Likewise.
18688 * script/lua/lfunc.c: Likewise.
18689 * script/lua/lopcodes.c: Likewise.
18690 * script/lua/lparser.c: Likewise.
18691 * script/lua/ltable.h: Likewise.
18692 * script/lua/llex.h: Likewise.
18693 * script/lua/lgc.h: Likewise.
18694 * script/lua/lfunc.h: Likewise.
18695 * script/lua/lbaselib.c: Likewise.
18696 * script/lua/lopcodes.h: Likewise.
18697 * script/lua/lparser.h: Likewise.
18698 * script/lua/lzio.c: Likewise.
18699 * script/lua/linit.c: Likewise.
18700 * script/lua/lobject.c: Likewise.
18701 * script/lua/llimits.h: Likewise.
18702 * script/lua/lstring.c: Likewise.
18703 * script/lua/lzio.h: Likewise.
18704 * script/lua/lapi.c: Likewise.
18705 * script/lua/lcode.c: Likewise.
18706 * script/lua/lua.h: Likewise.
18707 * script/lua/lobject.h: Likewise.
18708 * script/lua/lstring.h: Likewise.
18709 * script/lua/lapi.h: Likewise.
18710 * script/lua/lcode.h: Likewise.
18711 * script/lua/luaconf.h: Likewise.
18712
cb8a2c38 187132009-09-26 Colin Watson <cjwatson@ubuntu.com>
18714
18715 * docs/grub.texi (Command-line and menu entry commands): Document
18716 date and echo commands.
18717
6b9b6276 187182009-09-24 Pavel Roskin <proski@gnu.org>
18719
18720 * include/grub/kernel.h (struct grub_module_header): Remove
18721 `grub_module_header_types'. Make `type' unsigned. Make `size'
18722 32-bit on all platforms.
18723 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
18724 8-bit field. Use grub_host_to_target32() for `size'.
18725 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
18726 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
18727 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
18728
4e5a02a7 187292009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18730
18731 Fix "lost keypress" bug in at_keyboard.
18732
18733 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
18734 Checks for readyness of input buffer (without flushing it).
18735 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
18736 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
18737
c6dcedf6 187382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18739
18740 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
18741 size check within GRUB_MACHINE_PCBIOS section.
18742
74c958b1 187432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18744
18745 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
18746 return value.
18747 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
18748 KEYBOARD_ISREADY check.
18749 (grub_at_keyboard_checkkey): Rename to ...
18750 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
18751 Remove gratuitous cast.
18752
ff420223 187532009-09-23 Colin Watson <cjwatson@ubuntu.com>
18754
18755 * configure.ac: Call AC_PROG_MKDIR_P.
18756 * Makefile.in (docs/stamp-vti): Create docs directory. Create
18757 version.texi in $(builddir) rather than $(srcdir).
18758 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
18759 to makeinfo's @include search path.
18760
d96875df 187612009-09-23 Felix Zielcke <fzielcke@z-51.de>
18762
18763 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
18764
9b3f8365 187652009-09-23 Felix Zielcke <fzielcke@z-51.de>
18766
18767 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
18768 for `*.dpkg-new'.
18769
c44c90db 187702009-09-21 Colin Watson <cjwatson@ubuntu.com>
18771
18772 Build info documentation. Some code borrowed from Automake.
18773
18774 * configure.ac: Check for makeinfo.
18775 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
18776 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
18777 docs/version.texi.
18778 (MOSTLYCLEANFILES): Add vti.tmp.
18779 (docs/version.texi, docs/stamp-vti): Update automatically.
18780 (docs/grub.info): Build info documentation. Use --force and ignore
18781 errors for now.
18782 (all-local): Add $(INFOS).
18783 (install-local): Install info files.
18784 (uninstall): Uninstall info files.
18785 * docs/version.texi: Remove from revision control. This file is
18786 automatically generated on build now.
18787 * gendistlist.sh: Add `*.info'.
18788
e0b37bb5 187892009-09-21 Felix Zielcke <fzielcke@z-51.de>
18790
18791 * kern/term.c: Fix indentation.
18792
5a78865b 187932009-09-21 Felix Zielcke <fzielcke@z-51.de>
18794
18795 * util/hostdisk.c: Fix a comment.
18796
dace7e8a 187972009-09-20 Robert Millan <rmh.grub@aybabtu.com>
18798
18799 Fix regression introduced in r2539.
18800
18801 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
18802 to 0xA1.
18803
a83d079b 188042009-09-19 Colin Watson <cjwatson@ubuntu.com>
18805
18806 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 18807 os-prober. Under normal operation, it does not print anything to
18808 stderr; if it does, we need to debug it, and throwing away stderr
18809 makes that excessively difficult.
a83d079b 18810
be94a509 188112009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
18814
63f745e8 188152009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18816
18817 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
18818 AC_LANG_PROGRAM from autoconf.
18819 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
18820 prototypes (fixes warning).
18821
18822 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
18823 `--disable-werror' was used.
18824
bbb2a70f 188252009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18826
18827 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
18828 uninitialized `lastaddr'.
18829
77c24f1d 188302009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18831
0f0b8c87 18832 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 18833
07197f23 188342009-09-14 Colin Watson <cjwatson@ubuntu.com>
18835
18836 * commands/test.c (get_fileinfo): Return immediately if
18837 grub_fs_probe fails.
18838
dabf1798 188392009-09-14 José Martínez <xosemp@gmail.com>
18840
18841 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
18842
d52109a7 188432009-09-14 Colin Watson <cjwatson@ubuntu.com>
18844
18845 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
18846 output.
18847
56532179 188482009-09-13 Robert Millan <rmh.grub@aybabtu.com>
18849
18850 * configure.ac: Remove --enable-grub-pe2elf. Only build
18851 grub-pe2elf when needed by the build system itself.
18852 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
18853
8ef070f5 188542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18855
18856 * configure.ac: Bump version to 1.97~beta3.
18857 * docs/version.texi: Likewise.
18858
61229557 188592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18860
18861 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
18862 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
18863 from here ...
18864 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
18865 (grub_linux_setup_video): ... to here (with some adjustments).
18866
5c9f8d84 188672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18868
18869 Fix memory corruption issue (spotted by Colin Watson).
18870
18871 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
18872 causing returned size to be stored in an incorrect memory location.
18873 Fix use of uninitialized value when storing the returned size.
18874
e8f5d6e9 188752009-09-12 Yves Blusseau <blusseau@zetam.org>
18876
18877 Change clean rules to properly remove files
18878
18879 * genmk.rb: add new clean rules
18880 * Makefile.in (clean): add the new targets
18881 (mostlyclean): likewise
18882
cda2a409 188832009-09-11 Colin Watson <cjwatson@ubuntu.com>
18884
18885 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
18886 to grub_uint64_t.
18887 * fs/ntfs.c (init_file): Understand 64-bit sizes for
18888 non-resident files.
18889
86695375 188902009-09-11 Colin Watson <cjwatson@ubuntu.com>
18891
18892 * configure.ac: Don't look for help2man when cross-compiling. Fixes
18893 part of bug #27349.
18894
8aa1541a 188952009-09-10 Felix Zielcke <fzielcke@z-51.de>
18896
18897 * util/grub-mkconfig.in: Make the created config mode 400 and
18898 print a warning if it fails.
18899
48d9bb0a 189002009-09-10 Robert Millan <rmh.grub@aybabtu.com>
18901
18902 * util/grub.d/40_custom.in: Ask user to type custom entries below
18903 comment, rather than below 'exec tail' line.
18904
3b0521be 189052009-09-10 Colin Watson <cjwatson@ubuntu.com>
18906
18907 * util/grub.d/40_custom.in: Make sure that the explanatory text is
18908 visible in grub.cfg.
18909
50051d55 189102009-09-10 Colin Watson <cjwatson@ubuntu.com>
18911
18912 * util/grub.d/40_custom.in: Make it a little clearer how to use this
18913 file.
18914
c0d34387 189152009-09-10 Felix Zielcke <fzielcke@z-51.de>
18916
18917 * docs/grub.cfg: Add an example menu entry for memtest86+.
18918
80a608f3 189192009-09-09 Felix Zielcke <fzielcke@z-51.de>
18920
a2094832 18921 * config.guess: Update to latest version from config git.
80a608f3 18922 * config.sub: Likewise.
18923
99423078 189242009-09-08 Colin Watson <cjwatson@ubuntu.com>
18925
18926 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
18927 unknown-command case. Fixes bug #27320.
18928
44454e4c 189292009-09-08 Felix Zielcke <fzielcke@z-51.de>
18930
18931 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
18932 `help' if the command exists.
18933
e30d87ad 189342009-09-06 Robert Millan <rmh.grub@aybabtu.com>
18935
18936 * INSTALL: Require GCC 4.1.3 or later.
18937
9a86f1ec 189382009-09-06 Yves Blusseau <blusseau@zetam.org>
18939
18940 * Makefile.in (RMKFILES): add i386-qemu.rmk
18941 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
18942 $(srcdir)/stamp-h.in
18943
7f26d466 189442009-09-05 Robert Millan <rmh.grub@aybabtu.com>
18945
18946 * util/grub-probe.c (probe): Comment out buggy codepath, which
18947 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
18948 should be re-enabled after 1.97.
18949
3a613259 189502009-09-05 Felix Zielcke <fzielcke@z-51.de>
18951
18952 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18953 find searches for.
18954
197f76c7 189552009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18956
18957 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18958 unnecessary calls to grub_error.
18959
70ba68ce 189602009-09-04 Colin Watson <cjwatson@ubuntu.com>
18961
18962 * NEWS: Mention `keystatus' and Unicode fonts.
18963
4ff0d7a4 189642009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18965
18966 * configure.ac: Bump version to 1.97~beta2.
18967 * docs/version.texi: Likewise.
18968
77c55a87 189692009-09-03 Colin Watson <cjwatson@ubuntu.com>
18970
18971 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18972 containing unwind information in some cases where it previously did
18973 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18974 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18975 discussion.
18976
f79572cd 189772009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18978
18979 Embedding loadenv module into grub-emu
18980
18981 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18982 commands/loadenv.c
18983 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18984 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18985 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18987 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18988 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18989
93a81088 189902009-09-03 Magnus Granberg <zorry@ume.nu>
18991
18992 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18993 include -fPIE in the default specs.
18994 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18995 to TARGET_CFLAGS.
18996
160034b2 189972009-09-03 Felix Zielcke <fzielcke@z-51.de>
18998
18999 * INSTALL: Note that GNU Bison 2.3 or later is required.
19000
087c07c4 190012009-09-03 Colin Watson <cjwatson@ubuntu.com>
19002
19003 * kern/i386/pc/startup.S: Fix typo.
19004
cbf978c0 190052009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19006
19007 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19008 according to GCS.
19009
190102009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19011
19012 * docs/grub.texi (Naming convention): Describe one-based partition
19013 numbering.
19014 (Device syntax): Likewise.
19015 (File name syntax): Likewise.
19016 (Block list syntax): Likewise.
19017 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19018 menu.lst.
19019 (File name syntax): Likewise.
19020 (Command-line and menu entry commands): Document acpi, blocklist,
19021 crc, export, insmod, keystatus, ls, set, and unset commands.
19022
f3e8cdfd 190232009-09-02 Colin Watson <cjwatson@ubuntu.com>
19024
19025 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19026 to avoid implying that only one of --shift, --ctrl, or --alt may be
19027 used.
19028
c0bc232b 190292009-09-02 Colin Watson <cjwatson@ubuntu.com>
19030
19031 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19032 rather than comparing against S_IFREG, which will almost never work.
19033
aa0f752d 190342009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19035
19036 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19037 (write_blocklists): Likewise.
19038
ecb3166a 190392009-09-01 Colin Watson <cjwatson@ubuntu.com>
19040
19041 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19042 argument to grub_printf.
19043
c403a125 190442009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19045
19046 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19047 non GNU test.
31aba781 19048
b5e7312c 190492009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * kern/file.c (grub_file_read): Spelling fix
19052
fe00f472 190532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19056 loading of headers in some cases.
19057
cc55302e 190582009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19059
19060 * configure.ac: Bump version to 1.97~beta1.
19061 * docs/version.texi: Likewise.
19062
5c90cdd2 190632009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19064
19065 * include/grub/i386/xnu.h: Add license header.
19066 include grub/err.h explicitly.
19067
c90edae4 190682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19069
19070 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19071 to `ufs' in the vfs.root.mountfrom kernel parameter.
19072
d8888b5c 190732009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19074
19075 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19076
19077 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19078 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19079
19080 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19081 `ARRAY_SIZE' macro.
19082
6f07b921 190832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19084
19085 * kern/file.c (grub_file_read): Check offset.
19086 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19087 * fs/jfs.c (grub_jfs_read_file): Likewise.
19088 * fs/ntfs.c (grub_ntfs_read): Likewise.
19089 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19090 * fs/minix.c (grub_minix_read_file): Correct offset check.
19091 * fs/ufs.c (grub_ufs_read_file): Likewise.
19092
b4f34077 190932009-08-28 Colin Watson <cjwatson@ubuntu.com>
19094
19095 * term/i386/pc/console.c (bios_data_area): Cast
19096 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19097
e7c69859 190982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 1-bit optimised blitters.
19101
19102 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19103 prototype.
19104 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19105 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19106 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19107 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19108 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19109 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19110 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19111 function.
19112 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19113 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19114 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19115 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19116 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19117 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19118 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19119 when possible.
19120 * video/video.c (grub_video_get_blit_format): Return
19121 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19122
a57da43f 191232009-08-28 Colin Watson <cjwatson@ubuntu.com>
19124
19125 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19126 the first argument to grub_printf.
19127
4cbe67e5 191282009-08-28 Colin Watson <cjwatson@ubuntu.com>
191292009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19130
19131 Add `getkeystatus' terminal method. Add a new `keystatus' command
19132 to query it.
19133
19134 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19135 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19136 modifier key bitmasks.
19137 (struct grub_term_input): Add `getkeystatus' member.
19138 (grub_getkeystatus): Add prototype.
19139 * kern/term.c (grub_getkeystatus): New function.
19140
19141 * include/grub/i386/pc/memory.h
19142 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19143 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19144 Data Area layout.
19145 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19146 (grub_console_term_input): Set `getkeystatus' member.
19147 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19148 constants.
19149 (grub_usb_keyboard_getreport): Likewise.
19150 (grub_usb_keyboard_checkkey): Likewise.
19151 (grub_usb_keyboard_getkeystatus): New function.
19152 (grub_usb_keyboard_term): Set `getkeystatus' member.
19153
19154 * commands/keystatus.c: New file.
19155 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19156 (keystatus_mod_SOURCES): New variable.
19157 (keystatus_mod_CFLAGS): Likewise.
19158 (keystatus_mod_LDFLAGS): Likewise.
19159 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19160 commands/keystatus.c.
19161 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19163 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19166 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19167
6e2a9085 191682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19169
19170 Split befs.mod and afs.mod into *_be.mod and *.mod
19171
19172 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19173 (grub_fstest_SOURCES): Likewise.
19174 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19175 (afs_be_mod_SOURCES): New variable.
19176 (afs_be_mod_CFLAGS): Likewise.
19177 (afs_be_mod_LDFLAGS): Likewise.
19178 (befs_be_mod_SOURCES): Likewise.
19179 (befs_be_mod_CFLAGS): Likewise.
19180 (befs_be_mod_LDFLAGS): Likewise.
19181 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19182 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19183 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19184 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19185 (grub_emu_SOURCES): Likewise.
19186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19187 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19188 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19189 * fs/afs_be.c: New file.
19190 * fs/befs_be.c: New file.
19191 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19192 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19193 (U16): Replaced with ...
19194 (grub_afs_to_cpu16): ...this. All users updated.
19195 (U32): Replaced with ...
19196 (grub_afs_to_cpu32): ...this. All users updated.
19197 (U64): Replaced with ...
19198 (grub_afs_to_cpu64): ...this. All users updated.
19199 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19200 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19201 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19202 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19203 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19204 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19205 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19206 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19207 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19208 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19209 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19210
32a71655 192112009-08-26 Bean <bean123ch@gmail.com>
19212
19213 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19214 64-bit number.
19215 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19216 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19217 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19218
552bf6c5 192192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19220
19221 NetBSD memory map support.
19222
19223 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19224 (grub_netbsd_btinfo_mmap_header): New structure.
19225 (grub_netbsd_btinfo_mmap_entry): Likewise.
19226 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19227
1ae2078c 192282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 Enable bsd.mod on coreboot.
19231
19232 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19233 (bsd_mod_SOURCES): New variable.
19234 (bsd_mod_CFLAGS): Likewise.
19235 (bsd_mod_LDFLAGS): Likewise.
19236 (bsd_mod_ASFLAGS): Likewise.
19237 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19238 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19239
beefc598 192402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19241
19242 Cleanup NetBSD root support.
19243
19244 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19245 grub_bsd_get_device.
19246 Fix typo.
19247
3b76e68b 192482009-08-25 Felix Zielcke <fzielcke@z-51.de>
19249
19250 * util/grub.d/00_header.in: Move check for the video backend of
19251 gfxterm from here ...
19252 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19253 a suitable video backend.
19254
aea664ea 192552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 Fix breakage in grub-setup.
19258
19259 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19260 "msdos_partition_map".
19261
ff747d50 192622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 Fix breakage in normal/auth.c.
19265
19266 * normal/auth.c (grub_iswordseparator): New function.
19267
e7e1f93f 192682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19269
19270 Authentication support.
19271
19272 * commands/password.c: New file.
19273 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19274 (password_mod_SOURCES): New variable.
19275 (password_mod_CFLAGS): Likewise.
19276 (password_mod_LDFLAGS): Likewise.
19277 (normal_mod_SOURCES): Add normal/auth.c.
19278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19279 normal/auth.c.
19280 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19281 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19282 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19284 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19285 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19286 * include/grub/auth.h: New file.
19287 * include/grub/err.h (grub_err_t): New enum value
19288 GRUB_ERR_ACCESS_DENIED.
19289 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19290 'users'.
19291 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19292 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19293 users updated.
19294 * normal/auth.c: New file.
19295 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19296 (grub_cmdline_run): Don't allow to go to command line without
19297 authentication.
19298 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19299 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19300 menuentry without superuser rights.
19301 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19302 user isn't a superuser.
19303
70f1161d 193042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19305
19306 Save space by inlining misc.c functions.
19307
19308 * kern/misc.c (grub_iswordseparator): Made static.
19309 * kern/misc.c (grub_strcat): Moved from here ...
19310 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19311 * kern/misc.c (grub_strncat): Moved from here ...
19312 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19313 * kern/misc.c (grub_strcasecmp): Moved from here ...
19314 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19315 * kern/misc.c (grub_strncasecmp): Moved from here ...
19316 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19317 * kern/misc.c (grub_isalpha): Moved from here ...
19318 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19319 * kern/misc.c (grub_isdigit): Moved from here ...
19320 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19321 * kern/misc.c (grub_isgraph): Moved from here ...
19322 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19323 * kern/misc.c (grub_tolower): Moved from here ...
19324 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19325
48e40bff 193262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19327
19328 * script/sh/function.c (grub_script_function_find): Cut error message
19329 not to flood terminal.
19330 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19331 limit.
19332 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19333
c385bfc3 193342009-08-24 Colin Watson <cjwatson@ubuntu.com>
19335
19336 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19337 `report' grub_uint8_t *.
19338 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19339 Use a 50-millisecond timeout rather than just repeating
19340 grub_usb_keyboard_getreport 50 times.
19341 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19342
2d21e3e8 193432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19344
19345 Rename *_partition_map to part_*
19346
19347 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19348 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19349 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19350 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19351 All users updated.
19352 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19353 All users updated.
19354 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19355 * util/grub-probe.c (probe_partmap): Don't transform partition name
19356 to get module name.
19357
dd103c4e 193582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 Fix OpenBSD and NetBSD support.
19361
19362 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19363 memory address conflict.
19364 (OPENBSD_MMAP_ACPI): New definition.
19365 (OPENBSD_MMAP_NVS): Likewise.
19366 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19367 and OPENBSD_MMAP_NVS.
19368 Add memory map terminator
19369 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19370 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19371
16c84d74 193722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 Let user specify NetBSD root device.
19375
19376 * loader/i386/bsd.c (netbsd_root): New variable.
19377 (netbsd_opts): New option 'root'.
19378 (NETBSD_ROOT_ARG): New macro.
19379 (grub_netbsd_boot): Use 'netbsd_root'.
19380 (grub_bsd_unload): Free 'netbsd_root'.
19381 (grub_cmd_netbsd): Fill 'netbsd_root'.
19382
adb29902 193832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 Support for 64-bit NetBSD.
19386
19387 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19388 point when booting non-FreeBSD.
19389
f5ae9f74 193902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19391
19392 Support --no-smp and --no-acpi for NetBSD.
19393
19394 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19395 (NETBSD_AB_NOACPI): Likewise.
19396 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19397 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19398
de74f136 193992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19400
19401 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19402 errors.
19403 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19404 errors. Call grub_error when needed.
19405
e9a925da 194062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19407
19408 * commands/search.c (search_fs): Try searching without autoload first.
19409 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19410 filesystem module explicitly for faster booting.
19411
5174302b 194122009-08-23 Colin Watson <cjwatson@ubuntu.com>
19413
19414 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19415
c8c80635 194162009-08-23 Colin Watson <cjwatson@ubuntu.com>
19417
19418 * util/grub.d/30_os-prober.in: Disable os-prober if
19419 `GRUB_DISABLE_OS_PROBER' was set to true.
19420
71acf5e5 194212009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19422
19423 * partmap/pc.c: Rename to ...
19424 * partmap/msdos.c: ... this. Update all users.
19425 (grub_pc_partition_map): Rename to ...
19426 (grub_msdos_partition_map): ... this. Update all users.
19427
19428 * parttool/pcpart.c: Rename to ...
19429 * parttool/msdospart.c: ... this. Update all users.
19430
19431 * include/grub/pc_partition.h: Rename to ...
19432 * include/grub/msdos_partition.h: ... this. Update all users.
19433 (grub_pc_partition_bsd_entry): Rename to ...
19434 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19435 (grub_pc_partition_disk_label): Rename to ...
19436 (grub_msdos_partition_disk_label): ... this. Update all users.
19437 (grub_pc_partition_entry): Rename to ...
19438 (grub_msdos_partition_entry): ... this. Update all users.
19439 (grub_pc_partition_mbr): Rename to ...
19440 (grub_msdos_partition_mbr): ... this. Update all users.
19441 (grub_pc_partition): Rename to ...
19442 (grub_msdos_partition): ... this. Update all users.
19443 (grub_pc_partition_is_empty): Rename to ...
19444 (grub_msdos_partition_is_empty): ... this. Update all users.
19445 (grub_pc_partition_is_extended): Rename to ...
19446 (grub_msdos_partition_is_extended): ... this. Update all users.
19447 (grub_pc_partition_is_bsd): Rename to ...
19448 (grub_msdos_partition_is_bsd): ... this. Update all users.
19449
19450 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19451 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19452 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19453 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19454 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19455 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19456 (gpt_mod_LDFLAGS): Rename to ...
19457 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19458 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19459 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19460 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19461 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19462 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19463 (part_gpt_mod_LDFLAGS): ... this.
19464 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19465 `pcpart.mod' to `msdospart.mod'.
19466 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19467 to ...
19468 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19469 (msdospart_mod_LDFLAGS): ... this.
19470
c11fded5 194712009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19472
19473 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19474 (openbsd_opts): Likewise.
19475 (netbsd_opts): Likewise.
19476 (freebsd_flags): Added 0 terminator.
19477 (openbsd_flags): Likewise.
19478 (netbsd_flags): Likewise.
19479 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19480 (grub_cmd_freebsd): Transformed into extended command.
19481 (grub_cmd_openbsd): Likewise.
19482 (grub_cmd_netbsd): Likewise.
19483 (cmd_freebsd): Changed type to grub_extcmd_t.
19484 (cmd_openbsd): Likewise.
19485 (cmd_netbsd): Likewise.
19486 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19487 grub_cmd_openbsd as extended commands.
19488 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19489 cmd_netbsd and cmd_openbsd
19490
11d1c769 194912009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19492
19493 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19494
7a9094e5 194952009-08-21 Pavel Roskin <proski@gnu.org>
19496
5496c37e 19497 * Makefile.in (install-local): When checking if a file is in the
19498 build directory, use "test -e" to detect symlinks.
19499
7a9094e5 19500 * Makefile.in (install-local): Remove all files in
19501 $(DESTDIR)$(pkglibdir) before installing new files there.
19502
e53cea11 195032009-08-18 Felix Zielcke <fzielcke@z-51.de>
19504
19505 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19506 grub-mkelfimage.
19507
9aced544 195082009-08-18 Felix Zielcke <fzielcke@z-51.de>
19509
19510 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19511 explicitly specified by the user.
19512
b7da6bab 195132009-08-18 Pavel Roskin <proski@gnu.org>
19514
19515 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19516 grub_uint8_t pointer for data.
19517 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19518 Likewise.
19519 * video/fb/fbutil.c: Remove unnecessary casts.
19520
19f1b335 195212009-08-17 Michal Suchanek <hramrach@centrum.cz>
19522
19523 VBE cleanup.
19524
19525 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19526 (grub_vbe_set_video_mode): Save active mode info
19527 only after setting the mode.
19528 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19529 second argument.
19530
2f467aa9 195312009-08-17 Michal Suchanek <hramrach@centrum.cz>
19532
19533 Rename variables for clarity.
19534
19535 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19536 (active_vbe_mode_info): ... this. All users updated.
19537 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19538 All users updated.
19539 (initial_mode): Rename to ...
19540 (initial_vbe_mode): ... this. All users updated.
19541 (mode_in_use): Rename to ..
19542 (vbe_mode_in_use): ... this. All users updated.
19543 (mode_list): Rename to ..
19544 (vbe_mode_list): ... this. All users updated.
19545 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19546 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19547 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19548 'mode_list_size' to 'vbe_mode_list_size'.
19549 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19550 'best_mode_info' to 'best_vbe_mode_info' and
19551 'best_mode' to 'best_vbe_mode'
19552
6025fcd7 195532009-08-17 Michal Suchanek <hramrach@centrum.cz>
19554
19555 Remove duplicate grub_video_fb_get_video_ptr.
19556
19557 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19558 (grub_video_fb_get_video_ptr): ... this.
19559 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19560 * video/fb/fbutil.c: Add comment about addressing.
19561 (get_data_ptr): Rename to ...
19562 (grub_video_fb_get_video_ptr): ... this. All users updated.
19563 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19564
cc8c6faf 195652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19566
19567 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19568 grub_dprintf() that was just added.
19569
08aa61f0 195702009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19571
19572 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19573 (DEFAULT_VIDEO_MODE): Remove macros.
19574 (grub_linux_boot): Remove assumption that Linux has FB support,
19575 and use "text" as default video mode.
19576
7cef4f75 195772009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19578
19579 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19580 grub_dprintf.
19581 * fs/fat.c (grub_fat_read_data): Likewise.
19582
e1f39873 195832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19584
19585 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19586 payload.
19587 (grub_module): Likewise.
19588
c166d79e 195892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19592 mbi->cmdline but free playground.
19593
c60cee8e 195942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19595
19596 Handle group offset on UFS1.
19597
19598 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19599 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19600
c0d8b5d4 196012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19602
19603 Split ufs.mod into ufs1.mod and ufs2.mod.
19604
19605 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19606 (grub_fstest_SOURCES): Likewise.
19607 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19608 (ufs_mod_SOURCES): Remove.
19609 (ufs_mod_CFLAGS): Likewise.
19610 (ufs_mod_LDFLAGS): Likewise.
19611 (ufs1_mod_SOURCES): New variable.
19612 (ufs1_mod_CFLAGS): Likewise.
19613 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 19614 (ufs2_mod_SOURCES): New variable.
19615 (ufs2_mod_CFLAGS): Likewise.
19616 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 19617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19618 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19619 Likewise.
19620 (grub_emu_SOURCES): Likewise.
19621 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19622 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19623 (grub_setup_SOURCES): Likewise.
19624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19625 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19626 (grub_setup_SOURCES): Likewise.
19627 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19628 Likewise.
19629 * fs/ufs2.c: New file.
19630 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19631
d3539132 196322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 Framebuffer split.
19635
19636 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19637 subsystem at the end.
19638 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19639 (video_fb_mod_SOURCES): New variable.
19640 (video_fb_mod_CFLAGS): Likewise.
19641 (video_fb_mod_LDFLAGS): Likewise.
19642 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19643 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19644 * video/i386/pc/vbeblit.c: Moved from here ...
19645 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19646 * video/i386/pc/vbefill.c: Moved from here ...
19647 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19648 * video/i386/pc/vbeutil.c: Moved from here ...
19649 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19650 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19651 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19652 * include/grub/i386/pc/vbefill.h: Moved from here ...
19653 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19654 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19655 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19656 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19657 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19658 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19659 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19660 (grub_video_adapter): Added 'get_info_and_fini'.
19661 (grub_video_get_info_and_fini): New prototype.
19662 (grub_video_set_mode): make modestring const char *.
19663 * loader/i386/linux.c (grub_linux_setup_video): Use
19664 grub_video_get_info_and_fini.
19665 (grub_linux_boot): Move modesetting just before booting.
19666 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19667 grub_video_get_info_and_fini.
19668 * video/i386/pc/vbe.c: Moved framebuffer part ...
19669 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19670 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19671 grub_video_fbstd_colors and grub_video_fb_set_palette.
19672 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19673 grub_video_fb_init.
19674 (grub_video_vbe_fini): Use grub_video_fb_fini.
19675 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19676 render_target and use grub_video_fb_set_active_render_target and
19677 grub_video_fb_set_palette.
19678 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19679 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19680 (grub_video_vbe_adapter): Use framebuffer.
19681 * video/video.c (grub_video_get_info_and_fini): New function.
19682 (grub_video_set_mode): Make modestring const char *.
19683 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19684 values are already initialised.
19685
d404ee56 196862009-08-14 Pavel Roskin <proski@gnu.org>
19687
19688 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19689 ABS and APPLE_CC.
19690 * boot/i386/pc/diskboot.S: Likewise.
19691 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19692 sectors allow compilation on MacOSX.
19693 * conf/i386-pc.rmk: Enable unconditional compilation of
19694 lnxboot.img.
19695
9a10df16 196962009-08-13 Colin Watson <cjwatson@ubuntu.com>
19697
19698 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19699 * util/grub.d/00_header.in: Enter interruptible sleep if
19700 GRUB_HIDDEN_TIMEOUT is set.
19701
be3c9ca7 197022009-08-13 Yves Blusseau <blusseau@zetam.org>
19703
19704 * include/grub/symbol.h: Add the LOCAL macro.
19705 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
19706 starting with "L_".
19707
1f9e557e 197082009-08-13 Pavel Roskin <proski@gnu.org>
19709
9ca62843 19710 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
19711 any modern compilers we support.
19712
1f9e557e 19713 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
19714 Use local labels starting with "L_" so that Apple assembler
19715 knows they are local.
19716
81623db6 197172009-08-10 Robert Millan <rmh.grub@aybabtu.com>
19718
19719 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
19720 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
19721 (bsd_kernel_types): ... this enum.
19722
19723 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
19724 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
19725 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
19726
19727 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
19728 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
19729 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
19730 messages.
19731
f5d35e7a 197322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19733
19734 * util/grub-dumpdevtree: Moved from here ...
19735 * util/i386/efi/grub-dumpdevtree: ... to here.
19736 (hexify): New function. Converts a string to its hex version.
19737 Generate hex versions of "efi" and "device-properties" by calling
19738 hexify() on the ASCII strings rather than by hardcoding numbers.
19739
d1e1d527 197402009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19741
19742 * fs/jfs.c: Update copyright year.
19743
1ebbe064 197442009-08-08 Felix Zielcke <fzielcke@z-51.de>
19745
19746 * util/grub.d/00_header.in: Fix a comment.
19747 * util/grub.d/10_linux.in: Likewise.
19748 * util/grub.d/10_windows.in: Likewise.
19749 * util/grub.d/10_hurd.in: Likewise.
19750
a78c8d24 197512009-08-08 Felix Zielcke <fzielcke@z-51.de>
19752
19753 * util/grub-mkconfig.in: Allow the user to specify the used font
19754 with GRUB_FONT.
19755
29a6b9e8 197562009-08-08 Pavel Roskin <proski@gnu.org>
19757
b5f16cc4 19758 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
19759 available, xfs.mod needs it now.
19760
2f5cb827 19761 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
19762 the "g" modifier in sed when the intention is to strip something
19763 once. This fixes comparison of kernels with multiple dashes.
19764
29a6b9e8 19765 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
19766 on it. Add missing space before closing bracket. Fix
19767 misleading formatting.
19768
892a3d98 197692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19770
19771 * docs/grub.texi: Major overhaul. Remove all sections that are
19772 specific to GRUB Legacy, or mostly composed of Legacy-specific
19773 information.
19774
ed94253f 197752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19776
19777 * docs/version.texi: New file. Provides version information for
19778 grub.texi.
19779
126d6628 197802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19781
19782 * docs/grub.texi: Update CVS information to SVN.
19783 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
19784
998b5aa9 197852009-08-07 Felix Zielcke <fzielcke@z-51.de>
19786
19787 * util/grub-mkconfig.in: Remove a wrong `fi'.
19788
818e094a 197892009-08-07 Felix Zielcke <fzielcke@z-51.de>
19790
19791 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
19792 (grub_jfs_uuid): New function.
19793 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
19794
b969c52f 197952009-08-07 Felix Zielcke <fzielcke@z-51.de>
19796
19797 * util/grub-mkconfig_lib.in (font_path): Move the functionality
19798 of it to ...
19799 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
19800 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
19801
7a4894cc 198022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19803
19804 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
19805 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
19806 Update all users.
19807
19808 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
19809 not just "vmlinu[zx]".
19810 Moved from here ...
19811 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
19812 all users.
19813
19814 * util/grub.d/10_linux.in (find_latest): Moved from here ...
19815 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
19816 all users.
19817
4e2171f8 198182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19819
19820 * util/grub.d/10_freebsd.in: Use an absolute device path for
19821 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
19822
6dcfcb32 198232009-08-06 Felix Zielcke <fzielcke@z-51.de>
19824
19825 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
19826 handling of multiple abstraction modules.
19827
f56a8756 198282009-08-04 Robert Millan <rmh.grub@aybabtu.com>
19829
19830 Fix a bug resulting in black screen when loading Linux using a
19831 packed video mode.
19832
19833 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
19834 function.
19835
19836 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
19837 (grub_vbe_bios_getset_dac_palette_width): New function.
19838 (grub_vbe_bios_get_dac_palette_width)
19839 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
19840 grub_vbe_bios_getset_dac_palette_width()).
19841
19842 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
19843 check for return status.
19844 (grub_vbe_get_video_mode_info): When getting information for a packed
19845 mode (<= 8 bpp), obtain DAC palette width using
19846 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
19847 {red,green,blue}_mark_size.
19848
222671b2 198492009-08-04 Felix Zielcke <fzielcke@z-51.de>
19850
ecb1a6d9 19851 * commands/search.c (options): Fix help output to match actual code.
222671b2 19852
f84114f5 198532009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
19854
19855 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
19856 of homegrown code.
19857
bd288a20 198582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 19859
19860 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
19861 on XFS or ReiserFS.
19862
8aab5e25 198632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19864
19865 Support Apple partition map with sector size different from 512 bytes.
19866
19867 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
19868 (apple_partition_map_iterate): Respect 'aheader.blocksize'
19869 and 'apart.partmap_size'.
19870
6ad6258a 198712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
198722009-08-01 Robert Millan <rmh.grub@aybabtu.com>
19873
19874 Fix cpuid command.
19875
19876 * commands/i386/cpuid.c (options): New variable.
19877 (grub_cmd_cpuid): Return real error.
19878 (GRUB_MOD_INIT(cpuid)): Declare options.
19879
67459bc6 198802009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
19883 valid.
19884
fbc6ab54 198852009-07-31 Bean <bean123ch@gmail.com>
19886
19887 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
19888 log2_inode.
19889 (grub_fshelp_node): Move inode field to the end.
19890 (grub_xfs_data): Remove inode field.
19891 (grub_xfs_inode_block): Calculate inode size using sblock.
19892 (grub_xfs_inode_offset): Likewise.
19893 (grub_xfs_read_inode): Calculate inode size using sblock.
19894 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
19895 (grub_xfs_iterate_dir): Calculate inode size using sblock.
19896 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
19897 to match inode size.
19898 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
19899 not accessible when data is null.
19900 (grub_xfs_open): Likewise.
19901
f45d6cfc 199022009-07-31 Bean <bean123ch@gmail.com>
19903
19904 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
19905 Don't change pv->disk if it's already set.
19906
19907 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
19908 (grub_raid_register): ... here.
19909 (grub_raid_rescan): Removed.
19910
19911 * include/grub/raid.h (grub_raid_rescan): Removed.
19912
19913 * util/grub-fstest.c: Remove include file <grub/raid.h>.
19914 (fstest): Replace grub_raid_rescan with module fini function followed
19915 by init function.
19916
19917 * util/grub-probe.c: Add include file <grub/raid.h>.
19918 (probe_raid_level): New function.
19919 (probe): Detect abstraction by walking the disk device, support two
19920 level of abstraction (LVM on RAID) when detecting partition map.
19921
24443b5a 199222009-07-31 Pavel Roskin <proski@gnu.org>
19923
19924 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
19925 to grub_zalloc(), it was erroneous.
19926 Reported by Bean <bean123ch@gmail.com>
19927
a275d9e7 199282009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 19931 embedding zone, not only the first one.
a275d9e7 19932
56c5a47f 199332009-07-29 Joe Auricchio <jauricchio@gmail.com>
19934
19935 * term/gfxterm.c (clear_char): New function.
19936 (grub_virtual_screen_setup): Use clear_char.
19937 (scroll_up): Likewise.
19938 (grub_virtual_screen_cls): Likewise.
19939
67bb323a 199402009-07-29 Felix Zielcke <fzielcke@z-51.de>
19941
19942 * util/deviceiter.c (get_acceleraid_disk_name): New static
19943 function.
19944 (grub_util_iterate_devices): Handle Accelraid devices.
19945 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
19946
388a7c75 199472009-07-28 Robert Millan <rmh.grub@aybabtu.com>
19948
19949 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19950 separator for the suggested gfxpayload string (';' collides with the
19951 parser and needs escaping).
19952
3bb7abcf 199532009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19954
19955 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19956 Clear direction flag before jumping to OS.
19957 (grub_multiboot2_real_boot): Likewise.
19958
2ddd36d7 199592009-07-28 Felix Zielcke <fzielcke@z-51.de>
19960
19961 * util/i386/pc/grub-install: Fix parsing of --disk-module
19962 option.
19963
c521b62b 199642009-07-28 Felix Zielcke <fzielcke@z-51.de>
19965
19966 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19967 when embedding.
19968
880e0a0c 199692009-07-26 Felix Zielcke <fzielcke@z-51.de>
19970
19971 * util/grub-mkconfig.in (package_version): New variable.
19972 Use it do display the version.
19973
2366e356 199742009-07-25 Felix Zielcke <fzielcke@z-51.de>
19975
19976 * kern/file.c (grub_file_open): Revert to previous check with
19977 grub_errno.
19978
7ad8c80e 199792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19982 from help line. It's out of sync with code.
19983
72b9658b 199842009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19987 entries on failed boot.
19988
77435277 199892009-07-25 Felix Zielcke <fzielcke@z-51.de>
19990
19991 * kern/file.c (grub_file_open): Fix an error check.
19992
fcaa8b21 199932009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19994
35d16c74 19995 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19996 partition map couldn't be identified.
fcaa8b21 19997
48904cd1 199982009-07-23 Pavel Roskin <proski@gnu.org>
19999
ef3c317f 20000 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20001 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20002 case of little endian words becomes just an optimization.
20003 Respect const modifier.
ad8ea1f4 20004 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20005
48904cd1 20006 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20007 to avoid loss of upper bits if align is unsigned and shorter
20008 than addr.
20009
260c9a89 200102009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 UUID support for UFS
20013
20014 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20015 (grub_ufs_uuid): New function.
20016 (grub_ufs_fs): add .uuid
20017
f76ce889 200182009-07-21 Pavel Roskin <proski@gnu.org>
20019
20020 * kern/dl.c (grub_dl_check_header): Make static.
20021
6a6cbcaf 200222009-07-21 Felix Zielcke <fzielcke@z-51.de>
20023
20024 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20025 add drivemap for Vista. It breaks Windows 7.
20026
cffcddb2 200272009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20030 128 bytes
20031
1ef44b80 200322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 Add BFS support
20035
20036 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20037 (grub_fstest_SOURCES): Likewise.
20038 (pkglib_MODULES): Add befs.mod.
20039 (befs_mod_SOURCES): New variable.
20040 (befs_mod_CFLAGS): Likewise.
20041 (befs_mod_LDFLAGS): Likewise.
20042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20043 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20044 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20045 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20046 (grub_setup_SOURCES): Likewise.
20047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20048 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20049 (grub_setup_SOURCES): Likewise.
20050 * fs/befs.c: New file.
20051 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20052 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20053 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20054 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20055 (B_KEY_INDEX_ALIGN): New declaration.
20056 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20057 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20058 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20059 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20060 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20061 (grub_afs_mount) [MODE_BFS]: Likewise.
20062 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20063 (grub_afs_fs): Use GRUB_AFS_FSNAME
20064 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20065 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20066 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20067 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20068
4f253044 200692009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20070
20071 * util/getroot.c (find_root_device): Add support for MacOSX.
20072 * util/hostdisk.c: Likewise.
20073
57a55913 200742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20075
20076 * font/font.c (find_glyph): Check whether a font is present to avoid
20077 segmentation fault.
75421ca9 20078
200792009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20080
20081 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20082
e98cd0c2 200832009-07-20 Pavel Roskin <proski@gnu.org>
20084
20085 * configure.ac: Trim excessively wordy excuses.
20086
1d2d169a 200872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20088
20089 Add symlink, mtime and label support to AtheFS.
20090
20091 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20092 (grub_afs_iterate_dir): Handle symlinks.
20093 (grub_afs_open): Use grub_afs_read_symlink.
20094 (grub_afs_dir): Likewise.
20095 Pass mtime.
20096 (grub_afs_label): New function.
20097 (grub_afs_fs): Add grub_afs_label.
20098 (grub_afs_read_symlink): New function.
20099
186f3189 201002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20101
20102 Fix AtheFS support.
20103
20104 * fs/afs.c: Fix comments style.
20105 (grub_afs_blockrun): Declare as packed.
20106 (grub_afs_datastream): Likewise.
20107 (grub_afs_bnode): Likewise.
20108 (grub_afs_btree): Likewise.
20109 (grub_afs_sblock): Likewise.
20110 Declare `name' as char.
20111 (grub_afs_inode): Declare as packed.
20112 Change void *vnode to grub_uint32_t unused.
20113 (grub_afs_iterate_dir): Check that key_size is positive.
20114 (grub_afs_mount): Don't read superblock twice.
75421ca9 20115 (grub_afs_dir): Don't free node in case of error,
186f3189 20116 grub_fshelp_find_file already handles this.
20117 (grub_afs_open): Likewise.
20118
5680109e 201192009-07-19 Pavel Roskin <proski@gnu.org>
20120
20121 * Makefile.in: Remove LIBLZO and enable_lzo.
20122 * conf/i386-pc.rmk: Remove lzo support.
20123 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20124 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20125 support.
20126 * kern/i386/pc/lzo1x.S: Remove.
20127 * kern/i386/pc/startup.S: Remove lzo support.
20128 * util/i386/pc/grub-mkimage.c: Likewise.
20129
ac70fa32 201302009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20131
20132 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20133 * fs/xfs.c (grub_xfs_dir): Likewise.
20134 * fs/afs.c (grub_afs_dir): Likewise.
20135 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20136 (grub_iso9660_open): Likewise.
20137 * fs/jfs.c (grub_jfs_open): Likewise.
20138 * fs/ext2.c (grub_ext2_dir): Likewise.
20139 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20140 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20141
eab58da2 201422009-07-16 Pavel Roskin <proski@gnu.org>
20143
d2838156 20144 * configure.ac: Never add "-c" to CFLAGS.
20145
55c70904 20146 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20147
43e6200c 20148 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20149 grub_cv_cc_efiemu should be used.
20150
ce7a733d 20151 * configure.ac: Typo fixes.
20152
eab58da2 20153 * kern/mm.c (grub_zalloc): New function.
20154 (grub_debug_zalloc): Likewise.
20155 * include/grub/mm.h: Declare grub_zalloc() and
20156 grub_debug_zalloc().
20157 * util/misc.c (grub_zalloc): New function.
20158 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20159 instead of grub_malloc(), remove unneeded initializations.
20160 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20161 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20162 * commands/parttool.c (grub_cmd_parttool): Likewise.
20163 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20164 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20165 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20166 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20167 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20168 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20169 (grub_cmd_efiemu_pnvram): Likewise.
20170 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20171 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20172 (grub_iso9660_iterate_dir): Likewise.
20173 * fs/jfs.c (grub_jfs_opendir): Likewise.
20174 * fs/ntfs.c (list_file): Likewise.
20175 (grub_ntfs_mount): Likewise.
20176 * kern/disk.c (grub_disk_open): Likewise.
20177 * kern/dl.c (grub_dl_load_core): Likewise.
20178 * kern/elf.c (grub_elf_file): Likewise.
20179 * kern/env.c (grub_env_context_open): Likewise.
20180 (grub_env_set): Likewise.
20181 (grub_env_set_data_slot): Likewise.
20182 * kern/file.c (grub_file_open): Likewise.
20183 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20184 * loader/i386/multiboot.c (grub_module): Likewise.
20185 * loader/xnu.c (grub_xnu_create_key): Likewise.
20186 (grub_xnu_create_value): Likewise.
20187 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20188 (read_config_file): Likewise.
20189 * normal/menu_entry.c (make_screen): Likewise.
20190 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20191 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20192 * script/sh/script.c (grub_script_parse): Likewise.
20193 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20194 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20195 * video/readers/png.c (grub_png_output_byte): Likewise.
20196 (grub_video_reader_png): Likewise.
20197
830afef7 201982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20199
20200 Enable all targets that can be built by default
20201
830afef7 20202 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20203 grub-mkfont and grub-fstest if they can be built
20204
ee293aee 202052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20206
20207 Fix hang and segmentation fault in grub-emu-usb
20208
20209 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20210 * util/usb.c (grub_libusb_devices): likewise
20211 (grub_libusb_init): rename to ...
20212 (GRUB_MOD_INIT (libusb)):...this
20213 (grub_libusb_fini): rename to ..
20214 (GRUB_MOD_FINI (libusb)):...this
20215 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20216 * include/grub/disk.h (grub_raid_init): removed, it's useless
20217 (grub_raid_fini): likewise
20218 (grub_lvm_init): likewise
20219 (grub_lvm_fini): likewise
20220 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20221 by grub_init_all
20222
94414221 202232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 Fix libusb
20226
20227 * Makefile.in (LIBUSB): new macro
20228 * genmk.rb (Utility/print_tail): new method
20229 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20230 (top level): call util.print_tail at the end.
20231
59ade63d 202322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 Make FreeBSD accept zpool.cache
20235
20236 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20237 type is /boot/zfs/zpool.cache
20238
a58da8c7 202392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20240
20241 Fix 64-bit efiemu
20242
20243 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20244 correct wrong typedef
20245 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20246
20591577 202472009-07-15 Pavel Roskin <proski@gnu.org>
20248
560ca572 20249 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20250 * kern/disk.c (struct grub_disk_cache): Likewise.
20251
e8e8e4fd 20252 * commands/probe.c (options): Typo fix.
20253
fde24e10 20254 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20255 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20256 accordingly.
20257 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20258
379c54c1 20259 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20260 the end of "Error" to make the message more readable.
20261
7bd8f5bf 20262 * boot/i386/pc/boot.S (kernel_segment): Remove.
20263 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20264 for destination.
20265
40b132c5 20266 * boot/i386/pc/boot.S (boot_version): Remove.
20267 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20268 Remove.
20269
20591577 20270 * include/grub/i386/pc/boot.h: Sort all offsets.
20271 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20272 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20273 * boot/i386/pc/boot.S: Assert location of every offset listed in
20274 include/grub/i386/pc/boot.h.
20275
2df32b2c 202762009-07-13 Pavel Roskin <proski@gnu.org>
20277
44b5d879 20278 * include/grub/i386/coreboot/machine.h: Rename
20279 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20280 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20281 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20282
17dc3751 20283 * kern/dl.c: Force native word size to suppress warnings when
20284 compiling grub-emu.
20285
2df32b2c 20286 * kern/device.c (grub_device_iterate): Change struct part_ent to
20287 hold the name, not a pointer to it. Use one grub_malloc() per
20288 partition, not two. Free partition_name if grub_malloc() fails.
20289 Set ents to NULL only before grub_partition_iterate() is called.
20290
75c59f59 202912009-07-11 Bean <bean123ch@gmail.com>
20292
20293 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20294 childname.
20295
0ae1bf88 202962009-07-10 Bean <bean123ch@gmail.com>
202972009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20298
20299 * kern/ieee1275/openfw.c (grub_children_iterate)
20300 (grub_devalias_iterate): Fix size evaluation for property or path
20301 strings, which was broken since r2132.
20302
8279cade 203032009-07-07 Pavel Roskin <proski@gnu.org>
20304
7d8a52d3 20305 * commands/search.c (search_file): Merge into ...
20306 (search_fs): ... this. Accept search type as argument.
20307 (grub_cmd_search): Pass search type to search_fs().
20308
25f9a05a 20309 * include/grub/util/console.h: New file.
20310 * util/console.c: Use it instead of grub/machine/console.h.
20311 * util/grub-emu.c: Likewise.
20312
8279cade 20313 * lib/arg.c (find_long_option): Remove.
20314 (find_long): Add `len' argument, make `s' const char *.
20315 (grub_arg_parse): Parse long options in place, not in a
20316 temporary buffer.
20317
4a11b60f 203182009-07-06 Pavel Roskin <proski@gnu.org>
20319
99f68041 20320 * commands/search.c (search_fs): Fix potential NULL pointer
20321 dereference.
20322
4a11b60f 20323 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20324 function pointer.
20325
e110f4de 203262009-07-06 Daniel Mierswa <impulze@impulze.org>
20327
20328 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20329 comparison.
20330
46eeb6a2 203312009-07-05 Pavel Roskin <proski@gnu.org>
20332
bab74958 20333 * include/grub/i386/linux.h (struct linux_kernel_params):
20334 Restore padding3, it's still needed.
20335
46eeb6a2 20336 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20337 FreeBSD.
20338 * util/osdetect.lua: Likewise.
20339
b4a1dc79 203402009-07-05 Bean <bean123ch@gmail.com>
20341
20342 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20343
20344 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20345 (grub_lua_getenv): Likewise.
20346 (grub_lua_setenv): Likewise.
20347 (save_errno): New function.
20348 (push_result): Likewise.
20349 (grub_lua_enum_device): Likewise.
20350 (grub_lua_enum_file): Likewise.
20351 (grub_lua_file_open): Likewise.
20352 (grub_lua_file_close): Likewise.
20353 (grub_lua_file_seek): Likewise.
20354 (grub_lua_file_read): Likewise.
20355 (grub_lua_file_getline): Likewise.
20356 (grub_lua_file_getsize): Likewise.
20357 (grub_lua_file_getpos): Likewise.
20358 (grub_lua_file_eof): Likewise.
20359 (grub_lua_file_exist): Likewise.
20360 (grub_lua_add_menu): Likewise.
20361
20362 * script/lua/grub_lua.h (isupper): New inline function.
20363 (islower): Likewise.
20364 (ispunct): Likewise.
20365 (isxdigit): Likewise.
20366 (strcspn): Change to normal function.
20367 (strpbkr): New function declaration.
20368 (memchr): Likewise.
20369
20370 * script/lua/grub_main.c (scan_str): New function.
20371 (strcspn): Likewise.
20372 (strpbrk): Likewise.
20373 (memchr): Likewise.
20374
20375 * script/lua/linit.c (lualibs): Enable the string library.
20376
20377 * util/osdetect.lua: New file.
20378
2da92295 203792009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20380
20381 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20382 `capabilities' member.
20383
b2582ec9 203842009-07-02 Pavel Roskin <proski@gnu.org>
20385
20386 * genparttoollist.sh: Add missing newline at the end.
20387
32622956 203882009-07-01 Pavel Roskin <proski@gnu.org>
20389
87a7339e 20390 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20391
d23af54e 20392 * util/hostdisk.c (open_device): Remove `const' from
20393 `sysctl_size', as sysctlbyname() can change it (in this case it
20394 doesn't actually happen).
20395
c94b18a9 20396 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20397 using signed long int constants.
20398
c6cd3ef0 20399 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20400 constant to avoid a warning on FreeBSD.
20401
0df63420 20402 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20403 where it's needed.
20404
999577f1 20405 * Makefile.in: Install include/grub/machine symlink.
20406
6f41557f 20407 * Makefile.in: When installing symlinks, use "cp -fR", which
20408 works on FreeBSD and MacOSX.
20409 From Yves Blusseau <cl7m42e02@sneakemail.com>
20410
c8d22988 20411 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20412 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20413
1b96e952 20414 * util/misc.c: Move grub_reboot() and grub_halt() ...
20415 * util/grub-emu.c: ... here. Make main_env static.
20416 * include/grub/util/misc.h: Remove main_env.
20417
2ef0084d 20418 * kern/mm.c: Use correct format to print size_t.
20419
32622956 20420 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20421 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20422 * kern/powerpc/dl.c: Likewise.
20423 * kern/sparc64/dl.c: Likewise.
20424 * kern/x86_64/dl.c: Likewise.
20425
3f7f0cd0 204262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20427
20428 Fix grub-emu build on sparc64-ieee1275.
20429
75421ca9 20430 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20431 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20432
211d06b5 204332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20434
20435 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20436 (grub_reboot, grub_halt): New functions.
20437
20438 * util/i386/pc/misc.c: Delete. Update all users.
20439 * util/sparc64/ieee1275/misc.c: Likewise.
20440 * util/powerpc/ieee1275/misc.c: Likewise.
20441
aaf53e3c 204422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20443
20444 * conf/i386.rmk (setjmp_mod_SOURCES)
20445 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20446 * conf/common.rmk (setjmp_mod_SOURCES)
20447 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20448 to use $(target_cpu).
20449 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20450 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20451 * conf/powerpc-ieee1275.rmk: Likewise.
20452 * conf/sparc64-ieee1275.rmk: Likewise.
20453
20454 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20455 $(target_cpu) for kern/$(target_cpu)/dl.c.
20456 * conf/i386-efi.rmk: Likewise.
20457 * conf/i386-ieee1275.rmk: Likewise.
20458 * conf/x86_64-efi.rmk: Likewise.
20459 * conf/i386-coreboot.rmk: Likewise.
20460 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20461 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20462 kern/$(target_cpu)/cache.S.
20463 * conf/sparc64-ieee1275.rmk: Likewise.
20464
a337130b 204652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20466
20467 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20468 type to `grub_uint8_t', and adjust `padding9' accordingly.
20469
c6fe4d53 204702009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20471
b09db61d 20472 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20473
c6fe4d53 20474 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20475 assembly in final jump, using register constraints.
20476
b09db61d 20477 (grub_linux_boot): For text mode, initialize `have_vga' using
20478 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20479
20480 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20481 right before the final jump.
20482
20483 Set `video_mode' to 0x3.
20484
20485 Document initialization of `video_page', `video_mode' and
20486 `video_ega_bx'.
20487
28333ad0 204882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20489
20490 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20491 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20492 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20493
02164e1b 204942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20495
20496 Fix build on Debian / sparc.
20497
20498 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20499
18b6c557 205002009-06-28 Pavel Roskin <proski@gnu.org>
20501
85f2aab6 20502 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20503 fix a warning.
20504
18b6c557 20505 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20506
ad760f81 205072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20508
20509 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20510 `err'.
20511
87a4623b 205122009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20513
20514 Revert r2338.
20515
20516 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20517 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20518 grub_errno / grub_errmsg appropriately.
87a4623b 20519 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20520
8231fb77 205212009-06-27 Pavel Roskin <proski@gnu.org>
205222009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20523
20524 * include/grub/dl.h: Include grub/elf.h.
20525 (struct grub_dl): Add symtab field.
20526 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20527 GRUB_MODULES_MACHINE_READONLY.
20528 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20529 of the header for read-only modules.
20530 (grub_dl_unload): Free mod->symtab for read-only modules.
20531 * kern/i386/dl.c: Use mod->symtab.
20532 * kern/powerpc/dl.c: Likewise.
20533 * kern/sparc64/dl.c: Likewise.
20534 * kern/x86_64/dl.c: Likewise.
20535
20536 * conf/i386-qemu.rmk: New file.
20537 * kern/i386/qemu/startup.S: Likewise.
20538 * kern/i386/qemu/mmap.c: Likewise.
20539 * boot/i386/qemu/boot.S: Likewise.
20540 * include/grub/i386/qemu/time.h: Likewise.
20541 * include/grub/i386/qemu/serial.h: Likewise.
20542 * include/grub/i386/qemu/kernel.h: Likewise.
20543 * include/grub/i386/qemu/console.h: Likewise.
20544 * include/grub/i386/qemu/boot.h: Likewise.
20545 * include/grub/i386/qemu/init.h: Likewise.
20546 * include/grub/i386/qemu/machine.h: Likewise.
20547 * include/grub/i386/qemu/loader.h: Likewise.
20548 * include/grub/i386/qemu/memory.h: Likewise.
20549
20550 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20551 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20552 [qemu] (pkglib_IMAGES): Add `boot.img'.
20553 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20554 [qemu] (boot_img_FORMAT): New variables.
20555 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20556 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20557 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20558 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20559 [qemu] (kernel_img_FORMAT): New variables.
20560
20561 * configure.ac: Recognise `i386-qemu'.
20562
20563 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20564 (for no compression).
20565 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20566 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20567 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20568 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20569 ifdefs).
20570
97fe384e 205712009-06-27 Pavel Roskin <proski@gnu.org>
20572
20573 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20574 read.
20575 * efiemu/prepare32.c: Likewise.
20576 * efiemu/prepare64.c: Likewise.
20577
c402ab17 205782009-06-26 Pavel Roskin <proski@gnu.org>
20579
20580 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20581 * include/grub/elf.h: Define symbols without "32" or "64" based
20582 on GRUB_TARGET_WORDSIZE.
20583 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20584 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20585 ELF definitions.
20586 * efiemu/loadcore64.c: Likewise.
20587 * loader/i386/bsd32.c: Likewise.
20588 * loader/i386/bsd64.c: Likewise.
20589 * kern/dl.c: Remove own ELF definitions.
20590 * util/i386/efi/grub-mkimage.c: Likewise.
20591
9bbdfd4d 205922009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20593
20594 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20595 segment 0x0 unconditionally, because the reference generated by
20596 GAS is an absolute address.
20597
a42ce6e9 205982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20599
20600 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20601 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20602
c952cf92 206032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20604
20605 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20606 indexes. Check for -f explicitly.
cc3752ad 20607 (search_file): Improve error message.
20608 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 20609
132a0a59 206102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20611
20612 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20613 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20614
387a140c 206152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20616
20617 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20618 * conf/i386-ieee1275.rmk: Likewise.
20619 * conf/i386-coreboot.rmk: Likewise.
20620
20621 * kern/i386/pc/startup.S (grub_stop): Remove function.
20622 * kern/i386/ieee1275/startup.S: Likewise.
20623 * kern/i386/coreboot/startup.S: Likewise.
20624 * kern/i386/misc.S (grub_stop): New function.
20625
41da9665 206262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20627
20628 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20629 * kern/i386/realmode.S (real_to_prot): ... to here.
20630
bf337234 206312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20632
20633 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20634 with `kernel.img'.
20635 (kernel_elf_SOURCES): Rename to ...
20636 (kernel_img_SOURCES): ... this.
20637 (kernel_elf_HEADERS): Rename to ...
20638 (kernel_img_HEADERS): ... this. Update all users.
20639 (kernel_elf_ASFLAGS): Rename to ...
20640 (kernel_img_ASFLAGS): ... this.
20641 (kernel_elf_CFLAGS): Rename to ...
20642 (kernel_img_CFLAGS): ... this.
20643 (kernel_elf_LDFLAGS): Rename to ...
20644 (kernel_img_LDFLAGS): ... this.
20645 * conf/i386-coreboot.rmk: Likewise.
20646 * conf/powerpc-ieee1275.rmk: Likewise.
20647
20648 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20649 with "kernel.img".
20650
f52196ff 206512009-06-21 Pavel Roskin <proski@gnu.org>
20652
c3cee413 20653 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20654 to match nested functions.
20655 * loader/sparc64/ieee1275/linux.c: Likewise.
20656
f52196ff 20657 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20658
58750afc 206592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20660
20661 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20662 all i386 platforms.
20663
15355c7d 206642009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20665
20666 Fix asm file handling on ELF, and remove workarounds.
20667
20668 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 20669 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 20670 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20671 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20672
3f3ec72b 206732009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 Load BSD ELF modules
20676
20677 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20678 and loader/i386/bsd64.c
20679 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20680 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20681 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20682 (grub_freebsd_load_elfmodule32): New declaration
20683 (grub_freebsd_load_elfmoduleobj64): Likewise
20684 (grub_freebsd_load_elf_meta32): Likewise
20685 (grub_freebsd_load_elf_meta64): Likewise
20686 (grub_freebsd_add_meta): Likewise
20687 (grub_freebsd_add_meta_module): Likewise
20688 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20689 (grub_freebsd_add_meta_module): Likewise and move module-specific
20690 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20691 (grub_cmd_freebsd): Add elf-kernel specific parts
20692 based on grub_freebsd_add_meta_module
20693 (grub_cmd_freebsd_module): Add type parsing moved from
20694 grub_freebsd_add_meta_module
20695 (grub_cmd_freebsd_module_elf): New function
20696 (cmd_freebsd_module_elf): New variable
20697 (GRUB_MOD_INIT): Register freebsd_module_elf
20698 * loader/i386/bsd32.c: New file
20699 * loader/i386/bsd64.c: Likewise
20700 * loader/i386/bsdXX.c: Likewise
20701 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20702 (grub_elf64_load): Likewise
20703 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20704 All users updated
20705 (grub_elf64_load_hook_t): Likewise
20706
0db15301 207072009-06-21 Colin Watson <cjwatson@ubuntu.com>
20708
20709 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
20710 variable.
20711 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
20712 don't write a menu entry for recovery mode.
20713
546796c1 207142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20715
20716 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
20717 after it's no longer needed.
20718
cd7310d5 207192009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20720
20721 * include/grub/i386/loader.h (grub_linux_prot_size)
20722 (grub_linux_tmp_addr, grub_linux_real_addr)
20723 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
20724 GRUB_MACHINE_PCBIOS.
20725 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
20726 common grub_util_info() call to ...
20727 (generate_image): ... here.
20728 Fix use of uninitialized memory, comparison of signed with
20729 unsigned integers and memory leak.
20730 Remove bogus module address message.
20731
ab32d3b5 207322009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
20735 grub_raid_register
20736 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
20737
024ef597 207382009-06-19 Pavel Roskin <proski@gnu.org>
20739
20740 * configure.ac: Remove stray AC_MSG_CHECKING.
20741
3ac72b51 207422009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
20743
20744 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 20745
e14cd814 207462009-06-18 Pavel Roskin <proski@gnu.org>
20747
20748 * conf/common.rmk: Add fs_file.mod.
20749 * disk/fs_file.c: New file.
20750 * include/grub/disk.h (enum grub_disk_dev_id): Add
20751 GRUB_DISK_DEVICE_FILE_ID.
20752
26586d98 207532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20754
20755 Fix build with Apple's toolchain. Part 2
20756
20757 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
20758 a fake start
20759
26de2bcd 207602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20761
20762 Fix build with Apple's toolchain. Part 1
20763
20764 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
20765 for long calls
20766 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 20767 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 20768 Apple's toolchain
20769
09b3490b 207702009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 Fix warnings
20773
20774 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
20775 (decomp_block): initialize ch
20776 use grub_memcpy instead of memcpy
20777
c22a006a 207782009-06-17 Pavel Roskin <proski@gnu.org>
20779
d3638678 20780 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
20781 version, use declarations needed to use vga_text as the startup
20782 console.
20783
c22a006a 20784 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
20785 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
20786 the kernel.
20787 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
20788 and grub_at_keyboard_fini(), it's done on module load and
20789 unload.
20790
05b129e0 207912009-06-17 Felix Zielcke <fzielcke@z-51.de>
20792
20793 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
20794 file can't be found.
20795 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20796
cf24ed9e 207972009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20798
20799 Fix newline handling
20800
20801 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 20802 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 20803 (grub_script_yylex): don't segfault on unterminated script
20804 newline terminates command and variable
20805
74aa8e4b 208062009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20807
20808 avoid double grub_adjust_range call. Bug reported by David Simner
20809
20810 * kern/disk.c (grub_disk_write): change to raw disk access before
20811 calling disk_read
20812
1bd265f3 208132009-06-17 Colin Watson <cjwatson@ubuntu.com>
20814
20815 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
20816 spaces, for the benefit of help2man.
20817 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20818
a2d08c06 208192009-06-16 Pavel Roskin <proski@gnu.org>
20820
20821 * kern/i386/halt.c: Include grub/machine/init.h.
20822 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
20823
b97bcb19 208242009-06-16 Felix Zielcke <fzielcke@z-51.de>
20825
20826 * util/grub.d/30_os-prober.in: Use ${root} in the generated
20827 drivemap menuentry.
20828
0644f96c 208292009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
20830
20831 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
20832 `echo' command.
20833
3ef17a2e 208342009-06-16 Pavel Roskin <proski@gnu.org>
20835
20836 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
20837 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
20838 save %dx, we only need %dl and we never change it.
20839 * boot/i386/pc/cdboot.S: Don't set the root drive.
20840 * boot/i386/pc/pxeboot.S: Likewise.
20841 * include/grub/i386/pc/boot.h: Remove
20842 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
20843 GRUB_BOOT_MACHINE_DRIVE_CHECK.
20844 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
20845 * kern/i386/pc/init.c (make_install_device): Remove references
20846 to grub_root_drive.
20847 * kern/i386/pc/startup.S: Likewise.
20848 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
20849
693fe637 208502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 xnu_uuid command
20853
20854 * commands/xnu_uuid.c: new file
20855 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
20856 (xnu_uuid_mod_SOURCES): new variable
20857 (xnu_uuid_mod_CFLAGS): likewise
20858 (xnu_uuid_mod_LDFLAGS): likewise
20859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20860 * conf/i386-ieee1275.rmk: likewise
20861 * conf/i386-pc.rmk: likewise
20862 * conf/powerpc-ieee1275.rmk: likewise
20863 * conf/sparc64-ieee1275.rmk: likewise
20864 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
20865
c9da87d0 208662009-06-16 Pavel Roskin <proski@gnu.org>
20867
20868 * configure.ac: Avoid '==' in test command, it's not portable.
20869
9c6f4596 208702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 Probe command
20873
20874 * commands/probe.c: new file
20875 * conf/common.rmk (pkglib_MODULES): add probe.mod
20876 (probe_mod_SOURCES): new variable
20877 (probe_mod_CFLAGS): likewise
20878 (probe_mod_LDFLAGS): likewise
20879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20880 * conf/i386-ieee1275.rmk: likewise
20881 * conf/i386-pc.rmk: likewise
20882 * conf/powerpc-ieee1275.rmk: likewise
20883 * conf/sparc64-ieee1275.rmk: likewise
20884
70b7f9fd 208852009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 Fix handling of string like \"hello\" and "a
20888 b"
20889
20890 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
20891 (grub_script_yylex): fix parsing of quoting, escaping and newline
20892
71c79a6b 208932009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
20894
dd74360c 20895 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 20896 handling
dd74360c 20897
0644f96c 208982009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 20899
20900 * util/grub-mkconfig.in: Fix parsing of --output option.
20901
e40893c3 209022009-06-12 Pavel Roskin <proski@gnu.org>
20903
20904 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
20905 genmk.rb don't need to be generated or installed.
20906
3a1acfe2 209072009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20908
20909 * commands/i386/pc/drivemap_int13h.S: add more comments
20910
3a4575d4 209112009-06-11 Pavel Roskin <proski@gnu.org>
20912
0658e928 20913 * Makefile.in (uninstall): Uninstall manuals.
20914
ca0388f0 20915 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
20916 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
20917 and update-grub_lib in two places.
20918 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
20919
e3b27c39 20920 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
20921 a compiler warning.
20922
3a4575d4 20923 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
20924 `entry_lo' to fix variable shadowing.
20925
af1f4f55 209262009-06-11 Christian Franke <franke@computer.org>
20927
20928 * kern/misc.c (__enable_execute_stack): Add missing return type
20929 to prevent gcc warning.
20930
5225e649 209312009-06-11 Felix Zielcke <fzielcke@z-51.de>
20932
20933 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
20934
7d83bd47 209352009-06-11 Pavel Roskin <proski@gnu.org>
20936
c1cb63ba 20937 * Makefile.in: Don't rely on any scripts being executable.
20938 Always use $(SHELL) to run shell scripts.
20939
7d83bd47 20940 * configure.ac: Always define ___main if using -nostdlib. This
20941 fixes tests on Cygwin.
20942
948f48e7 209432009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
20944
20945 UDF fix
20946
7d83bd47 20947 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 20948 is in bytes and not in blocks
7d83bd47 20949
8ada9bc1 209502009-06-11 Pavel Roskin <proski@gnu.org>
20951
20952 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20953 warning.
20954
25ad2323 209552009-06-11 Felix Zielcke <fzielcke@z-51.de>
20956
20957 * util/grub.d/30_os-prober.in: Fix a comment. Source
20958 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20959 to set the root device. Place drivemap command in the generated
20960 chain entry.
20961
e65acb0c 209622009-06-11 Pavel Roskin <proski@gnu.org>
20963
20964 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20965 have long been resolved.
20966
f285fe2d 209672009-06-11 Colin Watson <cjwatson@ubuntu.com>
20968
bd47b0b5 20969 * util/grub.d/10_linux.in: Capitalise "Linux".
20970
f285fe2d 20971 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20972
a0c62e4e 209732009-06-11 Pavel Roskin <proski@gnu.org>
20974
b6783cb2 20975 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20976 fix a gcc warning and ensure that the function won't ever exit.
20977
dde032e8 20978 * kern/i386/ieee1275/init.c: Add missing prototype for
20979 grub_stop_floppy().
20980
22cd079d 20981 * loader/ieee1275/multiboot2.c [__i386__]: Include
20982 grub/cpu/multiboot.h.
20983
a0c62e4e 20984 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20985 casts to short - they are not portable and cause warnings. Fix
20986 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20987
63963d17 209882009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20989
20990 Drivemap fixes
20991
20992 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20993 new function
20994 (grub_get_root_biosnumber_saved): new variable
20995 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20996 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 20997 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 20998 %dx after the call if necessary
20999 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21000 (boot_mod_SOURCES): remove
21001 (boot_mod_CFLAGS): remove
21002 (boot_mod_LDFLAGS): remove
21003 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21004 (boot_mod_SOURCES): new variable
21005 (boot_mod_CFLAGS): likewise
21006 (boot_mod_LDFLAGS): likewise
21007 * conf/i386-efi.rmk: likewise
21008 * conf/i386-ieee1275.rmk: likewise
21009 * conf/i386-pc.rmk: likewise
21010 * conf/powerpc-ieee1275.rmk: likewise
21011 * conf/sparc64-ieee1275.rmk: likewise
21012 * conf/x86_64-efi.rmk: likewise
21013 * include/grub/i386/pc/biosnum.h: new file
21014 * lib/i386/pc/biosnum.c: likewise
21015 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21016 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21017 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21018
33abf7ae 210192009-06-10 Pavel Roskin <proski@gnu.org>
21020
5ac35b35 21021 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21022 Use separate variables. Read only the file size at the end, but
21023 not the checksum that we don't use.
21024
5c5215d5 21025 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21026 Adjust all callers.
21027
27d5fef7 21028 * kern/ieee1275/openfw.c: Remove libc includes.
21029 * kern/ieee1275/cmain.c: Likewise.
21030 * include/grub/ieee1275/ieee1275.h: Likewise.
21031
33abf7ae 21032 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21033 compiler warnings.
21034
19d50c2b 210352009-06-10 Felix Zielcke <fzielcke@z-51.de>
21036
21037 * Makefile.in: Remove all trailing whitespace.
21038 * conf/i386-pc.rmk: Likewise.
21039 * conf/powerpc-ieee1275.rmk: Likewise.
21040 * conf/sparc64-ieee1275.rmk: Likewise.
21041 * docs/grub.texi: Likewise.
21042 * docs/texinfo.tex: Likewise.
21043 * disk/fs_uuid.c: Likewise.
21044 * disk/lvm.c: Likewise.
21045 * disk/scsi.c: Likewise.
21046 * disk/ata.c: Likewise.
21047 * disk/ieee1275/ofdisk.c: Likewise.
21048 * disk/i386/pc/biosdisk.c: Likewise.
21049 * disk/host.c: Likewise.
21050 * disk/raid.c: Likewise.
21051 * disk/efi/efidisk.c: Likewise.
21052 * disk/usbms.c: Likewise.
21053 * disk/memdisk.c: Likewise.
21054 * disk/loopback.c: Likewise.
21055 * kern/powerpc/dl.c: Likewise.
21056 * kern/device.c: Likewise.
21057 * kern/dl.c: Likewise.
21058 * kern/sparc64/dl.c: Likewise.
21059 * kern/ieee1275/ieee1275.c: Likewise.
21060 * kern/term.c: Likewise.
21061 * kern/fs.c: Likewise.
21062 * kern/i386/dl.c: Likewise.
21063 * kern/i386/pc/startup.S: Likewise.
21064 * kern/i386/pc/init.c: Likewise.
21065 * kern/i386/pc/mmap.c: Likewise.
21066 * kern/i386/pc/lzo1x.S: Likewise.
21067 * kern/i386/ieee1275/init.c: Likewise.
21068 * kern/i386/realmode.S: Likewise.
21069 * kern/i386/tsc.c: Likewise.
21070 * kern/partition.c: Likewise.
21071 * kern/corecmd.c: Likewise.
21072 * kern/file.c: Likewise.
21073 * kern/efi/efi.c: Likewise.
21074 * kern/efi/init.c: Likewise.
21075 * kern/efi/mm.c: Likewise.
21076 * kern/main.c: Likewise.
21077 * kern/err.c: Likewise.
21078 * kern/env.c: Likewise.
21079 * kern/disk.c: Likewise.
21080 * kern/generic/millisleep.c: Likewise.
21081 * kern/generic/rtc_get_time_ms.c: Likewise.
21082 * kern/misc.c: Likewise.
21083 * kern/parser.c: Likewise.
21084 * genmk.rb: Likewise.
21085 * configure.ac: Likewise.
21086 * boot/i386/pc/diskboot.S: Likewise.
21087 * boot/i386/pc/pxeboot.S: Likewise.
21088 * boot/i386/pc/boot.S: Likewise.
21089 * boot/i386/pc/lnxboot.S: Likewise.
21090 * boot/i386/pc/cdboot.S: Likewise.
21091 * parttool/pcpart.c: Likewise.
21092 * video/readers/tga.c: Likewise.
21093 * video/video.c: Likewise.
21094 * video/bitmap.c: Likewise.
21095 * lib/envblk.c: Likewise.
21096 * lib/i386/setjmp.S: Likewise.
21097 * fs/xfs.c: Likewise.
21098 * fs/afs.c: Likewise.
21099 * fs/fat.c: Likewise.
21100 * fs/ntfs.c: Likewise.
21101 * fs/udf.c: Likewise.
21102 * fs/affs.c: Likewise.
21103 * fs/iso9660.c: Likewise.
21104 * fs/hfs.c: Likewise.
21105 * fs/fshelp.c: Likewise.
21106 * fs/ext2.c: Likewise.
21107 * fs/jfs.c: Likewise.
21108 * fs/reiserfs.c: Likewise.
21109 * fs/hfsplus.c: Likewise.
21110 * fs/minix.c: Likewise.
21111 * fs/cpio.c: Likewise.
21112 * fs/sfs.c: Likewise.
21113 * fs/ufs.c: Likewise.
21114 * efiemu/prepare.c: Likewise.
21115 * efiemu/loadcore_common.c: Likewise.
21116 * efiemu/runtime/efiemu.sh: Likewise.
21117 * efiemu/runtime/efiemu.S: Likewise.
21118 * efiemu/runtime/efiemu.c: Likewise.
21119 * efiemu/pnvram.c: Likewise.
21120 * efiemu/main.c: Likewise.
21121 * efiemu/i386/pc/cfgtables.c: Likewise.
21122 * efiemu/i386/loadcore64.c: Likewise.
21123 * efiemu/i386/loadcore32.c: Likewise.
21124 * efiemu/loadcore.c: Likewise.
21125 * efiemu/symbols.c: Likewise.
21126 * efiemu/mm.c: Likewise.
21127 * include/grub/autoefi.h: Likewise.
21128 * include/grub/datetime.h: Likewise.
21129 * include/grub/term.h: Likewise.
21130 * include/grub/hfs.h: Likewise.
21131 * include/grub/lvm.h: Likewise.
21132 * include/grub/i386/tsc.h: Likewise.
21133 * include/grub/i386/linux.h: Likewise.
21134 * include/grub/i386/xnu.h: Likewise.
21135 * include/grub/i386/efiemu.h: Likewise.
21136 * include/grub/i386/pc/biosdisk.h: Likewise.
21137 * include/grub/i386/pc/memory.h: Likewise.
21138 * include/grub/i386/pc/vbe.h: Likewise.
21139 * include/grub/parttool.h: Likewise.
21140 * include/grub/video.h: Likewise.
21141 * include/grub/memory.h: Likewise.
21142 * include/grub/fs.h: Likewise.
21143 * include/grub/partition.h: Likewise.
21144 * include/grub/xnu.h: Likewise.
21145 * include/grub/efi/api.h: Likewise.
21146 * include/grub/efi/pe32.h: Likewise.
21147 * include/grub/efi/memory.h: Likewise.
21148 * include/grub/multiboot.h: Likewise.
21149 * include/grub/usbdesc.h: Likewise.
21150 * include/grub/multiboot2.h: Likewise.
21151 * include/grub/acpi.h: Likewise.
21152 * include/grub/efiemu/efiemu.h: Likewise.
21153 * include/grub/disk.h: Likewise.
21154 * include/grub/ieee1275/ieee1275.h: Likewise.
21155 * include/grub/net.h: Likewise.
21156 * include/grub/machoload.h: Likewise.
21157 * include/grub/macho.h: Likewise.
21158 * include/multiboot.h: Likewise.
21159 * genmoddep.awk: Likewise.
21160 * normal/main.c: Likewise.
21161 * normal/menu_entry.c: Likewise.
21162 * normal/menu_viewer.c: Likewise.
21163 * normal/completion.c: Likewise.
21164 * normal/cmdline.c: Likewise.
21165 * normal/misc.c: Likewise.
21166 * normal/datetime.c: Likewise.
21167 * bus/usb/usbtrans.c: Likewise.
21168 * bus/usb/ohci.c: Likewise.
21169 * bus/usb/uhci.c: Likewise.
21170 * bus/usb/usb.c: Likewise.
21171 * mmap/efi/mmap.c: Likewise.
21172 * mmap/i386/pc/mmap_helper.S: Likewise.
21173 * mmap/i386/pc/mmap.c: Likewise.
21174 * mmap/i386/mmap.c: Likewise.
21175 * mmap/i386/uppermem.c: Likewise.
21176 * mmap/mmap.c: Likewise.
21177 * commands/acpi.c: Likewise.
21178 * commands/echo.c: Likewise.
21179 * commands/blocklist.c: Likewise.
21180 * commands/loadenv.c: Likewise.
21181 * commands/usbtest.c: Likewise.
21182 * commands/boot.c: Likewise.
21183 * commands/parttool.c: Likewise.
21184 * commands/search.c: Likewise.
21185 * commands/cat.c: Likewise.
21186 * commands/i386/pc/play.c: Likewise.
21187 * commands/i386/pc/drivemap.c: Likewise.
21188 * commands/i386/pc/vbeinfo.c: Likewise.
21189 * commands/i386/pc/acpi.c: Likewise.
21190 * commands/i386/pc/vbetest.c: Likewise.
21191 * commands/ls.c: Likewise.
21192 * commands/cmp.c: Likewise.
21193 * commands/test.c: Likewise.
21194 * commands/efi/acpi.c: Likewise.
21195 * commands/gptsync.c: Likewise.
21196 * commands/help.c: Likewise.
21197 * partmap/amiga.c: Likewise.
21198 * partmap/apple.c: Likewise.
21199 * partmap/acorn.c: Likewise.
21200 * partmap/pc.c: Likewise.
21201 * partmap/sun.c: Likewise.
21202 * partmap/gpt.c: Likewise.
21203 * script/sh/lexer.c: Likewise.
21204 * script/sh/function.c: Likewise.
21205 * font/font.c: Likewise.
21206 * font/font_cmd.c: Likewise.
21207 * loader/powerpc/ieee1275/linux.c: Likewise.
21208 * loader/efi/chainloader.c: Likewise.
21209 * loader/multiboot_loader.c: Likewise.
21210 * loader/macho.c: Likewise.
21211 * loader/i386/multiboot.c: Likewise.
21212 * loader/i386/linux.c: Likewise.
21213 * loader/i386/pc/linux.c: Likewise.
21214 * loader/i386/pc/multiboot2.c: Likewise.
21215 * loader/i386/pc/chainloader.c: Likewise.
21216 * loader/i386/pc/xnu.c: Likewise.
21217 * loader/i386/bsd_trampoline.S: Likewise.
21218 * loader/i386/efi/linux.c: Likewise.
21219 * loader/i386/multiboot_elfxx.c: Likewise.
21220 * loader/i386/bsd_helper.S: Likewise.
21221 * loader/i386/bsd.c: Likewise.
21222 * loader/i386/linux_trampoline.S: Likewise.
21223 * loader/i386/xnu_helper.S: Likewise.
21224 * loader/i386/xnu.c: Likewise.
21225 * loader/i386/bsd_pagetable.c: Likewise.
21226 * loader/i386/multiboot_helper.S: Likewise.
21227 * loader/xnu.c: Likewise.
21228 * loader/xnu_resume.c: Likewise.
21229 * io/gzio.c: Likewise.
21230 * term/efi/console.c: Likewise.
21231 * term/terminfo.c: Likewise.
21232 * term/ieee1275/ofconsole.c: Likewise.
21233 * term/i386/pc/serial.c: Likewise.
21234 * term/i386/pc/vesafb.c: Likewise.
21235 * term/i386/pc/vga.c: Likewise.
21236 * term/usb_keyboard.c: Likewise.
21237 * term/gfxterm.c: Likewise.
21238 * aclocal.m4: Likewise.
21239 * util/lvm.c: Likewise.
21240 * util/grub.d/30_os-prober.in: Likewise.
21241 * util/grub.d/10_hurd.in: Likewise.
21242 * util/console.c: Likewise.
21243 * util/grub-macho2img.c: Likewise.
21244 * util/grub-probe.c: Likewise.
21245 * util/hostfs.c: Likewise.
21246 * util/i386/pc/grub-mkimage.c: Likewise.
21247 * util/i386/pc/grub-setup.c: Likewise.
21248 * util/i386/efi/grub-mkimage.c: Likewise.
21249 * util/grub-mkconfig.in: Likewise.
21250 * util/raid.c: Likewise.
21251 * util/resolve.c: Likewise.
21252 * util/grub-mkdevicemap.c: Likewise.
21253 * util/grub-emu.c: Likewise.
21254 * util/getroot.c: Likewise.
21255 * util/hostdisk.c: Likewise.
21256 * util/usb.c: Likewise.
21257 * util/grub-editenv.c: Likewise.
21258 * util/misc.c: Likewise.
21259
d2d49665 212602009-06-10 Felix Zielcke <fzielcke@z-51.de>
21261
21262 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21263 `genparttoollist.sh'.
21264 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21265 Add `*.sh' to the list find searches for and change `mdate.sh'
21266 to `mdate-sh'.
21267
fe052e37 212682009-06-10 Pavel Roskin <proski@gnu.org>
21269
2763ac18 21270 * include/grub/multiboot2.h: Provide compatibility defines for
21271 multiboot2.h.
21272 * include/multiboot2.h: Include stdint.h only if needed, using
21273 angle brackets.
21274 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21275 grub/multiboot2.h.
21276 * loader/ieee1275/multiboot2.c: Likewise.
21277 * loader/multiboot2.c: Likewise.
21278 * loader/multiboot_loader.c: Likewise.
21279
437e6adc 21280 * configure.ac: Use -nostdlib when probing for the target. It
21281 should not be required to have libc for the target.
21282
06a6836c 21283 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21284 they fail without libc headers for the target.
21285 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21286 exports.
21287 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21288 preprocessor conditionals.
21289
fe052e37 21290 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21291 build system doesn't need to be aware of the tar.c internals.
21292
afd22553 212932009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21294
afd22553 21295 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21296
6b787c4f 212972009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21298
21299 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21300 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21301
213022009-06-09 Felix Zielcke <fzielcke@z-51.de>
21303
21304 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21305 aren't available if ata.mod gets used.
6b787c4f 21306
473d1e45 213072009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21308
473d1e45 21309 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21310 initialising controller.
473d1e45 21311 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21312
255a27d4 213132009-06-08 Felix Zielcke <fzielcke@z-51.de>
21314
21315 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21316 to choose between ata and biosdisk module on i386-pc.
21317
473d1e45 213182009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21319
d55842d8 21320 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21321 Subclass and Programming Interface fields in terms of the 3 byte
21322 Class Code register.
21323 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21324
fa5db0b1 21325 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21326 interface is OHCI. Add grub_dprintf for symmetry with
21327 bus/usb/uhci.c.
21328 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21329 interface is UHCI. Add interf variable for programming
21330 interface. Print interface with class/subclass.
21331
c0947beb 21332 * bus/usb/ohci.c: Set interf with correct field.
21333
69da8877 21334 * bus/usb/uhci.c: Remove unneeded doubled lines.
21335 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21336 Remove whitespace inside comment.
21337
9e172e30 213382009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21339
21340 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21341 as fallback an equivalent option without depth.
21342
de65ee2b 213432009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 Not fail if unable to retrieve C/H/S on LBA disks
21346
473d1e45 21347 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21348 if unable to retrieve C/H/S on LBA disks
21349
b57ea2c9 213502009-06-08 Pavel Roskin <proski@gnu.org>
21351
21352 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21353 about aliasing.
21354
af361263 213552009-06-08 Felix Zielcke <fzielcke@z-51.de>
21356
21357 * Makefile.in (uninstall): Remove all $lib_DATA files.
21358
4c9ec6b3 213592009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21360
21361 Bugfix: install on partitionless device
21362
21363 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21364 is a whole disk
21365
e76fc924 213662009-06-08 Felix Zielcke <fzielcke@z-51.de>
21367
21368 * Makefile.in (uninstall): Remove all $include_DATA files.
21369
ba5a0d05 213702009-06-08 Felix Zielcke <fzielcke@z-51.de>
21371
21372 * commands/true.c: New file. Implement the true and false commands.
21373 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21374 (true_mod_SOURCES): New variable.
21375 (true_mod_CFLAGS): Likewise.
21376 (true_mod_LDFLAGS): Likewise.
21377
c8048e32 213782009-06-05 Colin D Bennett <colin@gibibit.com>
21379
21380 Optimized font character lookup using binary search instead of linear
21381 search. Fonts now are required to have the character index ordered by
21382 code point.
21383
21384 * font/font.c (load_font_index): Verify that fonts have ordered
21385 character indices.
21386 (find_glyph): Use binary search instead of linear search to find a
21387 character in a font.
21388
408305be 213892009-06-05 Michael Scherer <misc@mandriva.org>
21390
21391 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21392 uses case sensitive btree.
21393 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21394 only for case insensitive filesystems.
21395
8ee1e0d9 213962009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21397
21398 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21399 * conf/common.rmk (search_mod_CFLAGS): likewise
21400
a9966eb1 214012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21402
473d1e45 21403 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21404 compensate a compiler bug
21405
9e7100fb 214062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21407
473d1e45 21408 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21409 instead of '\b'
473d1e45 21410
ede21d71 214112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 Definitions for creating asm symbols with Apple's CC
21414
21415 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21416 [APPLE_CC] (VARIABLE): likewise
21417
9dbf7653 214182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21419
21420 Disable lnxboot.img when compiled
21421 with Apple's CC
21422
21423 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21424 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21425 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21426 [! APPLE_CC] (CODE_LENG): skip
21427 [! APPLE_CC] (setup_sects): likewise
21428 [! APPLE_CC]: skip filling
473d1e45 21429
e93cdc3d 214302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21431
21432 Address in trampolines based on 32-bit registers when compiled
21433 with Apple's CC
21434
473d1e45 21435 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21436 for addresses
21437 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21438
6c688477 214392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21440
21441 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21442
21443 * kern/misc.c [APPLE_CC] (memcpy): new function
21444 [APPLE_CC] (memmove): likewise
21445 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21446 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21447 (memset): likewise
21448 (abort): likewise
21449 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21450 APPLE_CC are defined
21451 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21452 (grub_assert_fail): make prototype conditional
21453
e37ffc5c 214542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21455
21456 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21457
473d1e45 21458 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21459 grub-macho2img
e37ffc5c 21460 (CLEANFILES): add grub-macho2img
21461 (grub_macho2img_SOURCES): new variable
21462 * kern/i386/pc/startup.S (bss_start): new variable
21463 (bss_end): likewise
21464 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21465 * util/grub-macho2img.c: new file
21466
cf00df31 214672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 Use objconv when compiling with Apple's CC
21470
21471 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21472 (efiemu64.o): likewise
21473 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21474 when compiling with Apple's CC
21475 (efiemu64_s.o): likewise
21476 * configure.ac: check for objconv when compiling with Apple's CC
21477 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21478
d119a20c 214792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 Define segment as well as section when compiling with
21482 Apple's CC
21483
21484 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21485 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21486 (efiemu_convert_pointer): likewise
21487 (efiemu_set_virtual_address_map): likewise
21488 (efiemu_convert_pointer): likewise
21489 (efiemu_getcrc32): likewise
21490 (init_crc32_table): likewise
21491 (reflect): likewise
21492 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21493 (GRUB_MOD_DEP): likewise
473d1e45 21494
c8600122 214952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21496
21497 Allow a compilation without -mcmodel=large
21498
21499 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21500 when compiled without -mcmodel=large
473d1e45 21501 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21502 without -mcmodel=large
473d1e45 21503 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21504 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21505
e8df1d4e 215062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21507
21508 Remove nested functions in efiemu core
21509
21510 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21511
cc6c3ac1 215122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21513
21514 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21515
21516 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21517 temporary storage
473d1e45 21518 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21519 using Apple's CC
cc6c3ac1 21520 (grub_cpu_is_tsc_supported): likewise
21521 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21522
3e325901 215232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21524
21525 Absolute addressing through constant with Apple's cc
21526
21527 * kern/i386/pc/startup.S: Define necessary constants
21528 and address through it when using ABS with Apple's CC
21529 * boot/i386/pc/diskboot.S: likewise
21530 * boot/i386/pc/boot.S: likewise
21531 * boot/i386/pc/lnxboot.S: likewise
21532 * boot/i386/pc/cdboot.S: likewise
21533 * mmap/i386/pc/mmap_helper.S: likewise
21534 * commands/i386/pc/drivemap_int13h.S: likewise
21535
2b167a72 215362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21537
21538 Check if compiler is apple cc
21539
21540 * Makefile.in (ASFLAGS): new variable
21541 (TARGET_ASFLAGS): likewise
21542 (TARGET_MODULE_FORMAT): likewise
21543 (TARGET_APPLE_CC): likewise
21544 (OBJCONV): likewise
21545 (TARGET_IMG_CFLAGS): likewise
21546 (TARGET_CPPFLAGS): add includedir
21547 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21548 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21549 Check for linker script only if compiler isn't Apple's CC
21550 (TARGET_MODULE_FORMAT): set
21551 (TARGET_APPLE_CC): likewise
21552 (TARGET_ASFLAGS): likewise
21553 (ASFLAGS): likewise
21554 Check for objcopy only if compiler isn't Apple's CC
21555 Check for BSS symbol only if compiler isn't Apple's CC
21556 * genmk.rb: adapt nm options if we use Apple's utils
21557 * aclocal.m4 (grub_apple_cc): new test
21558 (grub_apple_target_cc): likewise
473d1e45 21559
fb14123e 215602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21561
21562 Simplify sed expressions and improve awk
21563
21564 * Makefile.in (install-local): simplify sed expression
21565 * gencmdlist.sh: likewise
21566 * genmoddep.awk: avoid adding module as a dependency of itself
21567
5b889789 215682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21569
21570 Add missing start symbols
21571
21572 * boot/i386/pc/boot.S: add start
fb14123e 21573 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21574
fd2bf2e3 215752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21578
21579 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21580 (relocate_addresses): consider both r_addend and value at offset
21581 (make_mods_section): zerofill modinfo and header
21582 (convert_elf): write prefix here
473d1e45 21583
5389763d 215842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 Use .asciz instead of .string
21587
21588 * i386/pc/diskboot.S: use .asciz instead of .string
21589 * i386/pc/boot.S: likewise
21590 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21591 (GRUB_MOD_NAME): likewise
473d1e45 21592
3eb5ed4e 215932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21594
21595 gfxpayload support
21596
21597 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21598 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21599 (grub_video_setup): remove
21600 (grub_video_set_mode): new prototype
21601 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21602 (vid_mode): remove
21603 (linux_vesafb_res): compile only on PCBIOS
21604 (grub_linux_boot): support gfxpayload
21605 * loader/i386/pc/xnu.c (video_hook): new function
21606 (grub_xnu_set_video): support gfxpayload
21607 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21608 (DEFAULT_VIDEO_HEIGHT): likewise
21609 (DEFAULT_VIDEO_FLAGS): likewise
21610 (DEFAULT_VIDEO_MODE): new definition
21611 (video_hook): new function
21612 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 21613 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 21614 loading xnu
21615 * video/video.c (grub_video_setup): removed
473d1e45 21616 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 21617 grub_video_setup
21618
4b0e1143 216192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 Avoid calling biosdisk in drivemap
21622
21623 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21624 (revparse_biosdisk): likewise
21625 (list_mappings): derive name from id directly
21626 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 21627
fda6cb98 216282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 Script fixes
21631
21632 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21633 (grub_lexer_param): add tokenonhold
21634 (grub_script_create_cmdline): remove cmdline. All callers updated
21635 (grub_script_function_create): make functionname
21636 grub_script_arg. All callers updated
21637 (grub_script_execute_argument_to_string): new prototype
21638 * kern/parser.c (state_transitions): reorder
21639 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 21640 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 21641 make global
21642 (grub_script_execute_cmdline): use new format
21643 * script/sh/function.c (grub_script_function_create): make functionname
21644 grub_script_arg. All callers updated
473d1e45 21645 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 21646 (grub_script_yylex): remove
21647 (grub_script_yylex2): renamed to ...
21648 (grub_script_yylex): ...renamed
21649 parse the expressions like a${b}c
21650 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21651 (GRUB_PARSER_TOKEN_VAR): remove
21652 (GRUB_PARSER_TOKEN_NAME): likewise
21653 ("if"): declare as typeless
21654 ("while"): likewise
21655 ("function"): likewise
21656 ("else"): likewise
21657 ("then"): likewise
21658 ("fi"): likewise
21659 (text): remove
21660 (argument): likewise
21661 (script): accept empty scripts and make exit on error
21662 (arguments): use GRUB_PARSER_TOKEN_ARG
21663 (function): likewise
21664 (command): move error handling to script
21665 (menuentry): move grub_script_lexer_ref before
473d1e45 21666 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 21667 argument. All callers updated
21668
f4448a07 216692009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21670
21671 Prevent GRUB from probing floppies during boot.
21672
21673 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21674 * commands/search.c (options): Add --no-floppy.
21675 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21676 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21677 --no-floppy when searching for UUIDs.
21678
2bf5885a 216792009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21680
21681 Simplify the code duplication in commands/search.c.
21682
21683 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21684 (search_fs): ... this. Update all users.
21685
f6fd460a 216862009-06-03 Felix Zielcke <fzielcke@z-51.de>
21687
21688 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21689
cbb3c83e 216902009-05-28 Pavel Roskin <proski@gnu.org>
21691
57788cfd 21692 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21693 Remove the original symlink explicitly.
21694
cbb3c83e 21695 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21696 just one slash. That's how grub_fshelp_find_file() does it.
21697
cd0d5e30 216982009-05-26 Pavel Roskin <proski@gnu.org>
21699
f0f8bbe2 21700 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21701 to `str'.
21702
cd0d5e30 21703 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21704 possibly unused.
21705
8c2cab51 217062009-05-25 Christian Franke <franke@computer.org>
21707
21708 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
21709 register.
21710 (grub_atapi_identify): Add wait after drive select.
21711 (grub_ata_identify): Do more strict status register check before
21712 calling grub_atapi_identify (). Suppress error message if status
21713 register is 0x00 after command failure. Add status register
21714 check after PIO read to avoid bogus identify due to stuck DRQ.
21715 Thanks to Pavel Roskin for testing.
21716 (grub_device_initialize): Remove unsafe status register check.
21717 Thanks to 'phcoder' for problem report and patch.
21718 Prevent sign extension in debug message.
21719
230c0ad6 217202009-05-23 Colin D Bennett <colin@gibibit.com>
21721
21722 Cleaned up `include/grub/normal.h'. Grouped prototypes by
21723 definition file, and functions defined in `normal/menu.c' have had
21724 their prototypes moved to `include/grub/menu.h' for consistency.
21725
21726 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
21727 from normal.h.
21728 (grub_menu_get_entry): Likewise.
21729 (grub_menu_get_timeout): Likewise.
21730 (grub_menu_set_timeout): Likewise.
21731 (grub_menu_execute_entry): Likewise.
21732 (grub_menu_execute_with_fallback): Likewise.
21733 (grub_menu_entry_run): Likewise.
21734
21735 * include/grub/normal.h: Re-ordered and grouped function
21736 prototypes by file that the function is defined in.
21737 (grub_menu_execute_callback): Removed; moved to menu.h.
21738 (grub_menu_get_entry): Likewise.
21739 (grub_menu_get_timeout): Likewise.
21740 (grub_menu_set_timeout): Likewise.
21741 (grub_menu_execute_entry): Likewise.
21742 (grub_menu_execute_with_fallback): Likewise.
21743 (grub_menu_entry_run): Likewise.
21744 (grub_menu_addentry): Renamed from this ...
21745 (grub_normal_add_menu_entry): ... to this.
21746
21747 * normal/main.c (grub_menu_addentry): Renamed from this ...
21748 (grub_normal_add_menu_entry): ... to this.
21749
21750 * script/sh/execute.c (grub_script_execute_menuentry): Update
21751 reference to renamed grub_menu_addentry function.
21752
861f03a5 217532009-05-23 Felix Zielcke <fzielcke@z-51.de>
21754
21755 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
21756
96b1619a 217572009-05-22 Pavel Roskin <proski@gnu.org>
21758
bf6a5fb2 21759 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
21760 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
21761 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
21762 compiling for the i386 targets, but not for the utilities.
21763
96b1619a 21764 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
21765 to grub_uint8_t.
21766 (grub_root_drive): Likewise.
21767 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
21768 remove alignment.
21769 (grub_root_drive): Change size to byte.
21770 (grub_start_addr): Remove.
21771 (grub_end_addr): Likewise.
21772 (grub_apm_bios_info): Likewise.
21773
b729776b 217742009-05-21 Felix Zielcke <fzielcke@z-51.de>
21775
21776 * normal/i386: Remove.
21777 * normal/powerpc: Likewise.
21778 * normal/sparc64: Likewise.
21779 * normal/x86_64: Likewise.
21780
0a15ce80 217812009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
21782
21783 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 21784 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 21785 * loader/i386/xnu_helper.S: Likewise
d6da58e6 21786
33db9015 217872009-05-18 Colin D Bennett <colin@gibibit.com>
21788
d6da58e6 21789 Display error messages when parsing a Lua statement fails.
21790 Previously, executing a syntactically invalid statement like
21791 ")foo" or "bar;" would silently fail.
33db9015 21792
21793 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 21794 (grub_lua_parse_line): Improved reporting of Lua parser and
21795 execution errors.
33db9015 21796
46422c89 217972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21798
21799 Remove -Werror which causes build to fail on some systems
21800
21801 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
21802 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
21803 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 21804
22f53a96 218052009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21806
21807 trampoline for linux on 64-bit platform
21808
18f547ad 21809 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
21810 loader/i386/efi/linux_trampoline.S
21811 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 21812 declaration
d6da58e6 21813 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
21814 here
22f53a96 21815 * loader/i386/linux_trampoline.S: moved here
d6da58e6 21816 * loader/i386/efi/linux.c (allocate_pages): reserve space for
21817 trampoline
22f53a96 21818 (jumpvector): removed
21819 (grub_linux_trampoline_start): new declaration
21820 (grub_linux_trampoline_end): likewise
21821 (grub_linux_boot): use trampoline when on 64-bit platform
21822 * loader/i386/linux.c: likewise
21823
cb5a0f40 218242009-05-16 Pavel Roskin <proski@gnu.org>
21825
21826 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
21827 const to avoid a warning.
21828 (grub_lua_setenv): Likewise.
21829 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
21830 lmsg to fix a warning.
21831
334f2c28 218322009-05-16 Felix Zielcke <fzielcke@z-51.de>
21833
21834 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 21835 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21836 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
21837 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21838 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21839 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21840 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21841 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 21842
59e5d3ec 218432009-05-16 Felix Zielcke <fzielcke@z-51.de>
21844
21845 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
21846
9d87a1ba 218472009-05-16 Bean <bean123ch@gmail.com>
21848
21849 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
21850 (lua_mod_SOURCES): New variable.
21851 (lua_mod_CFLAGS): Likewise.
21852 (lua_mod_LDFLAGS): Likewise.
21853
21854 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
21855 (setjmp_mod_SOURCES): New variable.
21856 (setjmp_mod_CFLAGS): Likewise.
21857 (setjmp_LDFLAGS): Likewise.
21858
21859 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
21860 (setjmp_mod_SOURCES): New variable.
21861 (setjmp_mod_CFLAGS): Likewise.
21862 (setjmp_LDFLAGS): Likewise.
21863
21864 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21865 (setjmp_mod_SOURCES): New variable.
21866 (setjmp_mod_CFLAGS): Likewise.
21867 (setjmp_LDFLAGS): Likewise.
21868
21869 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21870 (setjmp_mod_SOURCES): New variable.
21871 (setjmp_mod_CFLAGS): Likewise.
21872 (setjmp_LDFLAGS): Likewise.
21873
21874 * normal/i386/setjmp.S: Moved from here ...
21875 * lib/i386/setjmp.S: ... Moved here
21876 * normal/x86_64/setjmp.S: Moved from here ...
21877 * lib/x86_64/setjmp.S: ... Moved here
21878 * normal/powerpc/setjmp.S: Moved from here ...
21879 * lib/powerpc/setjmp.S: ... Moved here
21880 * normal/sparc64/setjmp.S: Moved from here ...
21881 * lib/sparc64/setjmp.S: ... Moved here
21882
21883 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
21884 returns_twice in mingw.
21885
21886 * script/lua/grub_lib.c: New file.
21887 * script/lua/grub_lib.h: Likewise.
21888 * script/lua/grub_lua.h: Likewise.
21889 * script/lua/grub_main.c: Likewise.
21890 * script/lua/lapi.c: Likewise.
21891 * script/lua/lapi.h: Likewise.
21892 * script/lua/lauxlib.c: Likewise.
21893 * script/lua/lauxlib.h: Likewise.
21894 * script/lua/lbaselib.c: Likewise.
21895 * script/lua/lcode.c: Likewise.
21896 * script/lua/lcode.h: Likewise.
21897 * script/lua/ldblib.c: Likewise.
21898 * script/lua/ldebug.c: Likewise.
21899 * script/lua/ldebug.h: Likewise.
21900 * script/lua/ldo.c: Likewise.
21901 * script/lua/ldo.h: Likewise.
21902 * script/lua/ldump.c: Likewise.
21903 * script/lua/lfunc.c: Likewise.
21904 * script/lua/lfunc.h: Likewise.
21905 * script/lua/lgc.c: Likewise.
21906 * script/lua/lgc.h: Likewise.
21907 * script/lua/linit.c: Likewise.
21908 * script/lua/liolib.c: Likewise.
21909 * script/lua/llex.c: Likewise.
21910 * script/lua/llex.h: Likewise.
21911 * script/lua/llimits.h: Likewise.
21912 * script/lua/lmathlib.c: Likewise.
21913 * script/lua/lmem.c: Likewise.
21914 * script/lua/lmem.h: Likewise.
21915 * script/lua/loadlib.c: Likewise.
21916 * script/lua/lobject.c: Likewise.
21917 * script/lua/lobject.h: Likewise.
21918 * script/lua/lopcodes.c: Likewise.
21919 * script/lua/lopcodes.h: Likewise.
21920 * script/lua/loslib.c: Likewise.
21921 * script/lua/lparser.c: Likewise.
21922 * script/lua/lparser.h: Likewise.
21923 * script/lua/lstate.c: Likewise.
21924 * script/lua/lstate.h: Likewise.
21925 * script/lua/lstring.c: Likewise.
21926 * script/lua/lstring.h: Likewise.
21927 * script/lua/lstrlib.c: Likewise.
21928 * script/lua/ltable.c: Likewise.
21929 * script/lua/ltable.h: Likewise.
21930 * script/lua/ltablib.c: Likewise.
21931 * script/lua/ltm.c: Likewise.
21932 * script/lua/ltm.h: Likewise.
21933 * script/lua/lua.h: Likewise.
21934 * script/lua/luaconf.h: Likewise.
21935 * script/lua/lualib.h: Likewise.
21936 * script/lua/lundump.c: Likewise.
21937 * script/lua/lundump.h: Likewise.
21938 * script/lua/lvm.c: Likewise.
21939 * script/lua/lvm.h: Likewise.
21940 * script/lua/lzio.c: Likewise.
21941 * script/lua/lzio.h: Likewise.
21942
5e898c9d 219432009-05-16 Bean <bean123ch@gmail.com>
21944
21945 * include/grub/kernel.h (grub_module_header_types): Add type
21946 OBJ_TYPE_CONFIG.
21947
21948 * kern/main.c (grub_load_config): New function.
21949 (grub_main): Call grub_load_config to read boot config.
21950
21951 * grub-mkimage (generate_image): New parameter config_path.
21952 (options): New option --config.
21953 (main): Parse --config option, and pass it to generate_image.
21954
cf353a47 219552009-05-14 Christian Franke <franke@computer.org>
21956
21957 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21958 This fixes build on Cygwin.
21959
3834887f 219602009-05-14 Pavel Roskin <proski@gnu.org>
21961
21962 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21963 jump. This saves two bytes, so the typical case of 2 swapped
21964 drives would fit 32 bytes.
21965
8090fc01 219662009-05-13 Pavel Roskin <proski@gnu.org>
21967
ac963883 21968 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21969 grub_uint32_t to avoid a warning.
21970
8090fc01 21971 * loader/i386/linux.c (allocate_pages): When assigning
21972 real_mode_mem, cast through grub_size_t to fix a warning. The
21973 code already makes sure that the value would fit a pointer.
21974 (grub_linux_setup_video): Cast render_target->data to
21975 grub_size_t to fix a warning.
21976
18f547ad 219772009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 21978
21979 * commands/i386/pc/drivemap.c: New file - implement drivemap
21980 command.
21981 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21982 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21983
6f6a8b28 219842009-05-13 Pavel Roskin <proski@gnu.org>
21985
21986 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21987 embedding_area_exists.
21988
15fbf4c4 219892009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21990
21991 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21992 it easier to understand / work with.
59978c8a 21993 Improve warning messages for cases where there's no embedding area,
21994 or when it is too small (or core.img too large).
15fbf4c4 21995
238e871f 219962009-05-13 Pavel Roskin <proski@gnu.org>
21997
0ab3a9a4 21998 * loader/i386/pc/multiboot2.c: Add necessary includes for
21999 grub_multiboot2_real_boot().
22000
a2c8c5f8 22001 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22002 PX record is always little-endian. We only need the lower 2
22003 bytes of the mode.
22004
faec96af 22005 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22006 facilitate code reuse.
22007 (grub_cpio_mount): Use "struct head", not a char buffer. This
22008 fixes a warning reported by gcc 4.4.
22009
238e871f 22010 * kernel/disk.c (grub_disk_read): Use void pointer for the
22011 buffer.
22012 (grub_disk_write): Use const void pointer for the buffer.
22013 Adjust all callers. Remove unnecessary casts.
22014
901d2f0c 220152009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22016
22017 * util/i386/pc/grub-install.in: Update copyright year.
22018
18f547ad 220192009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22020
22021 gptsync
22022
22023 * commands/gptsync.c: new file
22024 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22025 (gptsync_mod_SOURCES): new variable
22026 (gptsync_mod_CFLAGS): likewise
22027 (gptsync_mod_LDFLAGS): likewise
18f547ad 22028 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22029 new definition
22030 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22031 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22032 * conf/i386-ieee1275.rmk: likewise
22033 * conf/i386-pc.rmk: likewise
22034 * conf/powerpc-ieee1275.rmk: likewise
22035
b4ba690a 220362009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22037
22038 Fixed grub-emu
22039
22040 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22041 (grub_dl_ref): likewise
22042
317e1a44 220432009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22044
22045 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22046 split in two functions (one for msdos and one for gpt).
22047
041b8094 220482009-05-08 Pavel Roskin <proski@gnu.org>
22049
752473c2 22050 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22051 not modified.
22052
041b8094 22053 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22054 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22055 Initialize them with -1. Add sanity check for bad1. Eliminate
22056 nerr variable.
22057
172800ce 220582009-05-08 David S. Miller <davem@davemloft.net>
22059
22060 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22061
29aa5e81 220622009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22063
22064 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22065 existence.
29aa5e81 22066
96613b62 220672009-05-05 Felix Zielcke <fzielcke@z-51.de>
22068
22069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22070 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22071
eef73c8a 220722009-05-05 David S. Miller <davem@davemloft.net>
22073
22074 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22075
119494b5 220762009-05-05 Pavel Roskin <proski@gnu.org>
22077
22078 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22079 of grub_dl_ref() and grub_dl_unref().
22080 * commands/parttool.c: Remove preprocessor conditionals around
22081 grub_dl_ref() and grub_dl_unref().
22082 * fs/affs.c: Likewise.
22083 * fs/afs.c: Likewise.
22084 * fs/cpio.c: Likewise.
22085 * fs/ext2.c: Likewise.
22086 * fs/fat.c: Likewise.
22087 * fs/hfs.c: Likewise.
22088 * fs/hfsplus.c: Likewise.
22089 * fs/iso9660.c: Likewise.
22090 * fs/jfs.c: Likewise.
22091 * fs/minix.c: Likewise.
22092 * fs/ntfs.c: Likewise.
22093 * fs/reiserfs.c: Likewise.
22094 * fs/sfs.c: Likewise.
22095 * fs/udf.c: Likewise.
22096 * fs/ufs.c: Likewise.
22097 * fs/xfs.c: Likewise.
22098 * include/grub/dl.h: Likewise.
22099 * loader/xnu.c: Likewise.
22100
de5fd76e 221012009-05-04 Pavel Roskin <proski@gnu.org>
22102
22103 * commands/acpi.c: Remove unused variable my_mod.
22104 * partmap/amiga.c: Likewise.
22105 * partmap/apple.c: Likewise.
22106 * partmap/gpt.c: Likewise.
22107 * partmap/pc.c: Likewise.
22108 * partmap/sun.c: Likewise.
22109 * term/gfxterm.c: Likewise.
22110 * term/i386/pc/vesafb.c: Likewise.
22111 * term/i386/pc/vga.c: Likewise.
22112
983598ad 221132009-05-04 David S. Miller <davem@davemloft.net>
22114
22115 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22116 pointer args to grub_ieee1275_get_property().
22117
8aadec43 22118 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22119
9554b15e 22120 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22121 devices, and do not traverse down under controller nodes.
22122
67e23c90 22123 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22124 (grub_ofdisk_open): Use it to un-escape "," characters.
22125 * kern/disk.c (find_part_sep): New.
22126 (grub_disk_open): Use it to find the first non-escaped ','
22127 character in the disk name.
22128 * util/ieee1275/devicemap.c (escape_of_path): New.
22129 (grub_util_emit_devicemap_entry): Use it.
22130 * util/sparc64/ieee1275/grub-install.in: Update script to
22131 strip partition specifiers properly by not triggering on
22132 '\' escaped ',' characters.
22133
74bfdd2f 221342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22135
22136 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22137 to 0x300.
22138 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22139 resolutions.
22140 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22141 on documentation from Wikipedia).
22142
4241d2b1 221432009-05-04 Pavel Roskin <proski@gnu.org>
22144
22145 * disk/ata.c: Spelling fixes.
22146 * disk/raid.c: Likewise.
22147 * disk/usbms.c: Likewise.
22148 * disk/dmraid_nvidia.c: Likewise.
22149 * kern/ieee1275/openfw.c: Likewise.
22150 * kern/ieee1275/init.c: Likewise.
22151 * kern/ieee1275/cmain.c: Likewise.
22152 * boot/i386/pc/cdboot.S: Likewise.
22153 * video/readers/png.c: Likewise.
22154 * video/i386/pc/vbe.c: Likewise.
22155 * fs/udf.c: Likewise.
22156 * fs/hfs.c: Likewise.
22157 * fs/reiserfs.c: Likewise.
22158 * efiemu/runtime/efiemu.c: Likewise.
22159 * efiemu/main.c: Likewise.
22160 * efiemu/mm.c: Likewise.
22161 * include/grub/elf.h: Likewise.
22162 * include/grub/xnu.h: Likewise.
22163 * include/grub/usbdesc.h: Likewise.
22164 * include/grub/usb.h: Likewise.
22165 * include/grub/script_sh.h: Likewise.
22166 * include/grub/lib/LzmaEnc.h: Likewise.
22167 * include/grub/efiemu/efiemu.h: Likewise.
22168 * include/grub/command.h: Likewise.
22169 * normal/menu.c: Likewise.
22170 * normal/main.c: Likewise.
22171 * normal/datetime.c: Likewise.
22172 * bus/usb/uhci.c: Likewise.
22173 * mmap/i386/uppermem.c: Likewise.
22174 * mmap/mmap.c: Likewise.
22175 * commands/acpi.c: Likewise.
22176 * commands/test.c: Likewise.
22177 * partmap/apple.c: Likewise.
22178 * font/font.c: Likewise.
22179 * loader/sparc64/ieee1275/linux.c: Likewise.
22180 * loader/macho.c: Likewise.
22181 * loader/i386/bsd_trampoline.S: Likewise.
22182 * loader/i386/bsd.c: Likewise.
22183 * loader/xnu.c: Likewise.
22184 * term/i386/pc/vesafb.c: Likewise.
22185 * term/usb_keyboard.c: Likewise.
22186 * util/resolve.c: Likewise.
22187 * util/getroot.c: Likewise.
22188
0cfc0083 221892009-05-04 Felix Zielcke <fzielcke@z-51.de>
22190
22191 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22192
7c1d00cd 221932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22194
22195 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22196 build error.
22197
b01f0548 221982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22199
22200 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22201 parameter only available on BIOS.
22202
ecc3eb22 222032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22204
22205 Removed wrong semicolon in declaration
22206
22207 * grub/misc.h (grub_dprintf): remove semicolon
22208
112972a9 222092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22210
22211 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22212 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22213 is done by grub_cmd_linux() now).
22214 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22215 restore video to text mode.
22216 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22217 indicates lack of "vga=" parameter. "vga=0" is mapped to
22218 `GRUB_LINUX_VID_MODE_NORMAL'.
22219
afd5c115 222202009-05-04 Felix Zielcke <fzielcke@z-51.de>
22221
22222 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22223 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22224 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22225 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22226 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22227 `grub_script.tab.c'.
22228
22229 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22230 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22231 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22232 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22233 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22234
faa517ce 22235 * Makefile.in: Remove duplicated 2008 in Copyright line.
22236
ae0c0bdc 222372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22238
473d1e45 22239 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22240 unconditionally.
22241 * include/grub/util/misc.h (grub_util_warn): New declaration.
22242
22243 * util/i386/pc/grub-install.in: Understand --force and pass it down
22244 to grub-setup.
22245
22246 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22247 down to setup().
22248 (setup): Improve error messages and add warnings when requested to
22249 install in odd layouts. Refuse to install using blocklists unless
22250 --force was set.
22251
18f547ad 222522009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22253
22254 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22255
6d260daa 222562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 Updated copyright year
22259
22260 * fs/hfsplus.c: updated copyright year
18f547ad 22261
69f853f8 222622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22263
22264 HFS+ UUID
22265
18f547ad 22266 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22267 in the space previously used by unused3
22268 (grub_hfsplus_uuid): new function
22269 (grub_hfsplus_fs): added uuid field
22270
4c402e73 222712009-05-03 Pavel Roskin <proski@gnu.org>
22272
22273 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22274 suppress warnings. It's no longer needed.
22275 * disk/host.c: Likewise.
22276 * disk/ata_pthru.c: Likewise.
22277 * disk/loopback.c: Likewise.
22278 * hook/datehook.c: Likewise.
22279 * parttool/pcpart.c: Likewise.
22280 * fs/i386/pc/pxe.c: Likewise.
22281 * fs/ntfscomp.c: Likewise.
22282 * efiemu/main.c: Likewise.
22283 * mmap/mmap.c: Likewise.
22284 * commands/crc.c: Likewise.
22285 * commands/hexdump.c: Likewise.
22286 * commands/hdparm.c: Likewise.
22287 * commands/acpi.c: Likewise.
22288 * commands/echo.c: Likewise.
22289 * commands/minicmd.c: Likewise.
22290 * commands/blocklist.c: Likewise.
22291 * commands/memrw.c: Likewise.
22292 * commands/loadenv.c: Likewise.
22293 * commands/usbtest.c: Likewise.
22294 * commands/lsmmap.c: Likewise.
22295 * commands/boot.c: Likewise.
22296 * commands/parttool.c: Likewise.
22297 * commands/configfile.c: Likewise.
22298 * commands/search.c: Likewise.
22299 * commands/ieee1275/suspend.c: Likewise.
22300 * commands/cat.c: Likewise.
22301 * commands/i386/pc/pxecmd.c: Likewise.
22302 * commands/i386/pc/play.c: Likewise.
22303 * commands/i386/pc/halt.c: Likewise.
22304 * commands/i386/pc/vbeinfo.c: Likewise.
22305 * commands/i386/pc/vbetest.c: Likewise.
22306 * commands/lspci.c: Likewise.
22307 * commands/date.c: Likewise.
22308 * commands/handler.c: Likewise.
22309 * commands/ls.c: Likewise.
22310 * commands/test.c: Likewise.
22311 * commands/cmp.c: Likewise.
22312 * commands/efi/loadbios.c: Likewise.
22313 * commands/efi/fixvideo.c: Likewise.
22314 * commands/halt.c: Likewise.
22315 * commands/help.c: Likewise.
22316 * commands/reboot.c: Likewise.
22317 * hello/hello.c: Likewise.
22318 * script/sh/main.c: Likewise.
22319 * loader/xnu.c: Likewise.
22320 * term/terminfo.c: Likewise.
22321 * term/i386/pc/serial.c: Likewise.
22322 * term/usb_keyboard.c: Likewise.
22323
515b5079 223242009-05-03 David S. Miller <davem@davemloft.net>
22325
22326 * normal/menu.c: Include grub/parser.h
22327
dfc31a22 223282009-05-03 Pavel Roskin <proski@gnu.org>
22329
2fee74f1 22330 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22331 not char*.
22332 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22333 Suggested by Javier Martín <lordhabbit@gmail.com>
22334
dfc31a22 22335 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22336 efiemu??.o doesn't exist.
22337 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22338 copying.
22339
18f547ad 223402009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22341
22342 FreeBSD 64-bit support
22343
18f547ad 22344 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22345 and loader/i386/bsd_trampoline.S
22346 (bsd_mod_ASFLAGS): new variable
22347 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22348 (FREEBSD_MODTYPE_KERNEL64): likewise
22349 (grub_bsd64_trampoline_start): likewise
22350 (grub_bsd64_trampoline_end): likewise
22351 (grub_bsd64_trampoline_selfjump): likewise
22352 (grub_bsd64_trampoline_gdt): likewise
22353 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22354 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22355 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22356 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22357 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22358 of "attrib" member
22359 * loader/i386/bsd_pagetable.c: new file
22360 * loader/i386/bsd_trampoline.S: likewise
22361 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22362 (ALIGN_VAR): likewise
22363 (entry_hi): new variable
22364 (kern_end_mdofs): likewise
22365 (is_64bit): likewise
22366 (grub_freebsd_add_meta): use ALIGN_VAR
22367 (grub_e820_mmap): new declaration
22368 (grub_freebsd_add_mmap): new function
22369 (grub_freebsd_add_meta_module): support 64 bit kernels
22370 (grub_freebsd_list_modules): use ALIGN_VAR
22371 (gdt_descriptor): new declaration
22372 (grub_freebsd_boot): support 64 bit kernels
22373 (grub_bsd_elf64_hook): new function
22374 (grub_bsd_load_elf): support elf64
22375
038c5720 223762009-05-03 Bean <bean123ch@gmail.com>
22377
22378 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22379 after we get the result of if statement.
22380
fc45fb58 223812009-05-03 Bean <bean123ch@gmail.com>
22382
22383 * Makefile.in (enable_efiemu): New variable.
22384
22385 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22386 set.
22387 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22388 path.
22389 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22390 path, add -mno-red-zone option.
22391 (efiemu64_s.o): Likewise.
22392 (efiemu64.o): Use macro $^ for source file.
22393
22394 * configure.ac (--enable-efiemu): New option.
22395
bbee0f2b 223962009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22397
22398 xnu support
22399
22400 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22401 (pkglib_MODULES): add xnu.mod
22402 (xnu_mod_SOURCES): new variable
22403 (xnu_mod_CFLAGS): likewise
22404 (xnu_mod_LDFLAGS): likewise
22405 (xnu_mod_ASFLAGS): likewise
22406 * conf/i386-pc.rmk: likewise
22407 * conf/x86_64-efi.rmk: likewise
7dd4a573 22408 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22409 new declaration
22410 * include/grub/i386/macho.h: new file
22411 * include/grub/i386/xnu.h: likewise
22412 * include/grub/macho.h: likewise
22413 * include/grub/machoload.h: likewise
22414 * include/grub/x86_64/macho.h: likewise
22415 * include/grub/x86_64/xnu.h: likewise
22416 * include/grub/xnu.h: likewise
22417 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22418 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22419 * loader/i386/efi/xnu.c: new file
22420 * loader/i386/pc/xnu.c: likewise
22421 * loader/i386/xnu.c: likewise
22422 * loader/i386/xnu_helper.S: likewise
22423 * loader/macho.c: likewise
22424 * loader/xnu.c: likewise
22425 * loader/xnu_resume.c: likewise
22426 * util/grub-dumpdevtree: likewise
22427 * include/grub/i386/pit.h: include grub/err.h
22428 (grub_pit_wait): export
22429 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22430
5caf964d 224312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22432
22433 Efiemu
7dd4a573 22434
5caf964d 22435 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22436 _linux_efi, linux_efi.
22437 new files in grub-emu
5caf964d 22438 new targets efiemu32.o and efiemu64.o
22439 * loader/linux_normal_efiemu.c: likewise
22440 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22441 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22442 files to copy
22443 * include/grub/autoefi.h: new file
7dd4a573 22444 * include/grub/i386/efiemu.h: likewise
5caf964d 22445 * include/grub/i386/pc/efiemu.h: likewise
22446 * include/grub/efi/api.h: add LL suffix when necessary
22447 new definitions relating to tables
22448 * include/grub/efiemu/efiemu.h: new file
22449 * include/grub/efiemu/runtime.h: likewise
22450 * efiemu/prepare.c: likewise
22451 * efiemu/loadcore_common.c: likewise
22452 * efiemu/loadcore64.c: likewise
22453 * efiemu/runtime/efiemu.sh: likewise
22454 * efiemu/runtime/efiemu.S: likewise
22455 * efiemu/runtime/efiemu.c: likewise
22456 * efiemu/runtime/config.h: likewise
22457 * efiemu/prepare32.c: likewise
22458 * efiemu/main.c: likewise
22459 * efiemu/modules/pnvram.c: likewise
22460 * efiemu/modules/i386: likewise
22461 * efiemu/modules/i386/pc: likewise
22462 * efiemu/modules/acpi.c: likewise
22463 * efiemu/i386/pc/cfgtables.c: likewise
22464 * efiemu/i386/loadcore64.c: likewise
22465 * efiemu/i386/loadcore32.c: likewise
22466 * efiemu/prepare64.c: likewise
22467 * efiemu/loadcore.c: likewise
22468 * efiemu/symbols.c: likewise
22469 * efiemu/mm.c: likewise
22470 * efiemu/loadcore32.c: likewise
7dd4a573 22471
224722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22473
22474 ACPI spoofing
22475
22476 * commands/acpi.c: new file
22477 * commands/i386/pc/acpi.c: likewise
22478 * commands/efi/acpi.c: likewise
22479 * include/grub/acpi.h: likewise
22480 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22481 (acpi_mod_SOURCES): new variable
22482 (acpi_mod_CFLAGS): likewise
22483 (acpi_mod_LDFLAGS): likewise
22484 * conf/i386-efi.rmk: likewise
22485 * conf/x86_64-efi.rmk: likewise
22486
7dd4a573 224872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22488
22489 Missing part from mmap patch
22490
22491 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22492 (grub_mmap_unregister)
22493 (grub_mmap_free_and_unregister): use grub_mmap_register
22494
7dd4a573 224952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22496
22497 Mmap services
22498
22499 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22500 * loader/i386/linux.c (find_mmap_size): likewise
22501 (allocate_pages): likewise
22502 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22503 (grub_fill_multiboot_mmap): likewise
22504 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22505 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22506 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22507 (OPENBSD_MMAP_RESERVED): likewise
22508 * include/grub/i386/pc/memory.h: include grub/memory.h
22509 (grub_lower_mem): removed
22510 (grub_upper_mem): likewise
22511 (GRUB_MACHINE_MEMORY_ACPI): new definition
22512 (GRUB_MACHINE_MEMORY_NVS): likewise
22513 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22514 (GRUB_MACHINE_MEMORY_HOLE): likewise
22515 (grub_machine_mmap_register): likewise
22516 (grub_machine_mmap_unregister): likewise
22517 (grub_machine_get_upper): likewise
22518 (grub_machine_get_lower): likewise
22519 (grub_machine_get_post64): likewise
22520 * include/grub/i386/efi/memory.h: new file
22521 * include/grub/x86_64/efi/memory.h: likewise
22522 * include/grub/efi/memory.h: likewise
22523 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22524 (mmap_mod_SOURCES): new variable
22525 (mmap_mod_LDFLAGS): likewise
22526 (mmap_mod_ASFLAGS): likewise
22527 * conf/i386-coreboot.rmk: likewise
22528 * conf/i386-ieee1275.rmk: likewise
22529 * conf/i386-efi.rmk: likewise
22530 * conf/x86_64-efi.rmk: likewise
22531 * include/grub/types.h (UINT_TO_PTR): new macro
22532 (PTR_TO_UINT32): likewise
22533 (PTR_TO_UINT64): likewise
22534 * include/grub/memory.h: new file
22535 * mmap/i386/pc/mmap.c: likewise
22536 * mmap/i386/pc/mmap_helper.S: likewise
22537 * mmap/i386/uppermem.c: likewise
22538 * mmap/mmap.c: likewise
22539 * mmap/efi/mmap.c: likewise
7dd4a573 22540 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22541 grub_upper_mem
22542 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22543 (grub_upper_mem): likewise
22544 (grub_machine_init): don't use grub_upper_mem,
22545 make grub_lower_mem local
22546 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22547 grub_mmap_iterate and grub_mmap_get_upper
22548 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22549
d558e6b5 225502009-05-02 Bean <bean123ch@gmail.com>
22551
22552 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22553 script/sh/parser.y.
22554 (pkglib_MODULES): Add normal.mod and sh.mod.
22555 (normal_SOURCES): New variable.
22556 (normal_mod_CFLAGS): Likewise.
22557 (normal_mod_LDFLAGS): Likewise.
22558 (sh_mod_SOURCES): Likewise.
22559 (sh_mod_CFLAGS): Likewise.
22560 (sh_mod_LDFLAGS): Likewise.
22561
22562 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22563 script/sh/lexer.c_DEPENDENCIES.
22564 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22565 kern/rescue_reader.c and kern/rescue_parser.c.
22566 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22567 (grub_emu_SOURCES): Change source files.
22568 (pkglib_MODULES): Remove normal.mod.
22569 (normal_SOURCES): Removed.
22570 (normal_mod_CFLAGS): Likewise.
22571 (normal_mod_LDFLAGS): Likewise.
22572 * conf/i386-coreboot.rmk: Likewise.
22573 * conf/i386-efi.rmk: Likewise.
22574 * conf/i386-ieee1276.rmk: Likewise.
22575 * conf/powerpc-ieee1275.rmk: Likewise.
22576 * conf/sparc64-ieee1275.rmk: Likewise.
22577 * conf/x86_64-efi.rmk: Likewise.
22578
22579 * include/grub/command.h (grub_command_execute): New inline function.
22580
22581 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22582
22583 * include/grub/normal.h: Remove <grub/setjmp.h>.
22584 (grub_fs_module_list): Moved to normal/autofs.c.
22585 (grub_exit_env): Removed.
22586 (grub_command_execute): Likewise.
22587 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22588 parameter script.
22589 (read_command_list): New function declaration.
22590 (read_fs_list): Likewise.
22591
22592 * include/parser.h: Include <grub/reader.h>.
22593 (grub_parser_split_cmdline): Change type of getline parameter.
22594 (grub_parser): New structure.
22595 (grub_parser_class): New variable.
22596 (grub_parser_execute): New function declaration.
22597 (grub_register_rescue_parser): Likewise.
22598 (grub_parser_register): New inline function.
22599 (grub_parser_unregister): Likewise.
22600 (grub_parser_get_current): Likewise.
22601 (grub_parser_set_current): Likewise.
22602
22603 * include/grub/reader.h: New file.
22604 * kern/reader.c: Likewise.
22605 * kern/rescue_parser.c: Likewise.
22606 * kern/rescue_reader.c: Likewise.
22607 * normal/autofs.c: Likewise.
22608 * normal/dyncmd.c: Likewise.
22609
22610 * include/grub/rescue.h: Removed.
22611 * normal/command.h: Likewise.
22612
22613 * include/grub/script.h: Moved to ...
22614 * include/grub/script_sh.h: ... Moved here.
22615 * normal/execute.c: Moved to ...
22616 * script/sh/execute.c: ... Moved here.
22617 * normal/function.c: Moved to ...
22618 * script/sh/function.c: ... Moved here.
22619 * normal/lexer.c: Moved to ...
22620 * script/sh/lexer.c: ... Moved here.
22621 * normal/parser.y: Moved to ...
22622 * script/sh/parser.y: ... Moved here.
22623 * normal/script.c: Moved to ...
22624 * script/sh/script.c: ... Moved here.
22625
22626 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22627 <grub/reader.h>.
22628 (grub_exit_env): Removed.
22629 (fs_module_list): Moved to normal/autofs.c.
22630 (grub_file_getline): Don't handle comment here.
22631 (free_menu): Skip removed field entry->commands.
22632 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22633 script parameter.
22634 (read_config_file): Removed nested parameter, change getline function.
22635 (grub_enter_normal_mode): Removed.
22636 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22637 (read_command_list): Likewise.
22638 (autoload_fs_module): Moved to normal/autofs.c.
22639 (read_fs_list): Likewise.
22640 (reader_nested): New variable.
22641 (grub_normal_execute): Run parser.sh to switch to sh parser.
22642 (grub_cmd_rescue): Removed.
22643 (cmd_normal): Removed.
22644 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22645 rescue command.
22646 (grub_cmdline_run): New function.
22647 (grub_normal_reader_init): Likewise.
22648 (grub_normal_read_line): Likewise.
22649 (grub_env_write_pager): Likewise.
22650 (cmdline): New variable.
22651 (grub_normal_reader): Likewise.
22652 (GRUB_MOD_INIT): Register normal reader and set as current, register
22653 pager hook, register normal command with grub_register_command_prio,
22654 so that it won't show up in command.lst.
22655 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22656 grub_fs_autoload_hook.
22657
22658 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22659 (grub_menu_execute_entry): Replace grub_script_execute with
22660 grub_parser_execute, change parameter to grub_command_execute.
22661
22662 * normal/menu_text.c: Remove <grub/script.h>.
22663
22664 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22665 and <grub/parser.h>.
22666 (run): Change editor_getline to use new parser interface. Change
22667 parameter to grub_command_execute.
22668
22669 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22670 <grub/reader.h> and <grub/parser.h>.
22671 (grub_load_normal_mode): Execute normal command.
22672 (grub_main): Call grub_register_core_commands,
22673 grub_register_rescue_parser and grub_register_rescue_reader, use
22674 grub_reader_loop to enter input loop.
22675
7dd4a573 22676 * kern/parser.c (grub_parser_split_cmdline): Change type of
22677 getline parameter.
d558e6b5 22678 (grub_parser_class): New variable.
22679 (grub_parser_execute): New function.
22680
22681 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22682 * loader/multiboot2.c: Likewise.
22683 * loader/sparc64/ieee1275/linux.c: Likewise.
22684
22685 * util/grub-emu.c (read_command_list): New dummy function.
22686
18db813d 226872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22688
22689 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22690 count to 16 for CCISS and IDA.
22691
6c67de15 226922009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22693
22694 * normal/menu_text.c (grub_wait_after_message): Print a newline
22695 after waiting for user input.
22696
22697 * loader/i386/linux.c: Include `<grub/normal.h>'.
22698 (grub_cmd_linux): Improve the error message about `ask' mode, by
22699 waiting for user input so it's not missed (we can do this, since
22700 user requested interaction).
22701
d9dc87b0 227022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22703
22704 Added missing lst to grub-mkrescue
22705
22706 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
22707 and ${input_dir}/parttool.lst
22708
ac8a2baa 227092009-04-30 David S. Miller <davem@davemloft.net>
22710
ad22a610 22711 * util/hostdisk.c (device_is_wholedisk): New function.
22712 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
22713 zero only if device_is_wholedisk() returns true.
22714
6966215d 22715 * util/hostdisk.c (convert_system_partition_to_system_disk):
22716 Handle virtual disk devices named /dev/vdiskX as found on sparc
22717 and powerpc.
22718
ac8a2baa 22719 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
22720 lettered partition specifier is found, convert to numbered.
22721
979b4fb4 227222009-04-29 David S. Miller <davem@davemloft.net>
22723
e2bf39b2 22724 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
22725 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22726
3c64e104 22727 * normal/command.c: Add missing newline at end of file.
22728
979b4fb4 22729 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
22730 warnings.
22731 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
22732 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
22733 grub_ofdisk_read): Likewise, and deal similarly with the fact that
22734 ihandles have a 32-bit type but need to be stored in a "void *".
22735
136d9f82 227362009-04-28 Pavel Roskin <proski@gnu.org>
22737
9459c306 22738 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
22739 not disk. Adjust all dependencies.
2e08a26a 22740 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 22741 grub_disk_close().
22742
136d9f82 22743 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
22744 parent's partition, don't copy it by reference, as it gets freed
22745 on close.
22746
7dd4a573 227472009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 22748
22749 Preboot hooks support
22750
22751 * commands/boot.c (struct grub_preboot_t): new declaration
22752 (preboots_head): new variable
22753 (preboots_tail): likewise
22754 (grub_loader_register_preboot_hook): new function
22755 (grub_loader_unregister_preboot_hook): likewise
22756 (grub_loader_set): launch preboot hooks
22757 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
22758 (grub_loader_register_preboot_hook): new declaration
22759 (grub_loader_unregister_preboot_hook): likewise
22760
5af922b5 227612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22762
22763 Warning fix
22764
7dd4a573 22765 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 22766 calling grub_dprintf
22767
a5562c30 227682009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22769
22770 Bug and warning fixes
22771
7dd4a573 22772 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 22773 declaration
22774 * commands/test.c (test_parse): fixed bug with file tests and corrected
22775 declaration of find_file
22776
4006f85c 227772009-04-26 Pavel Roskin <proski@gnu.org>
22778
22779 * Makefile.in: Don't install empty manual pages if help2man is
22780 missing. Use help2man option for output, not shell redirection.
22781
5c77c3de 227822009-04-26 David S. Miller <davem@davemloft.net>
22783
22784 * util/grub-mkdevicemap.c (make_device_map): Add missing
22785 NESTED_FUNC_ATTR to process_device().
22786
033b10a8 227872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22788
22789 Test command
22790
22791 * commands/test.c: rewritten to use bash-like test
22792
e4343593 227932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22794
22795 Parttool autoloading and improvements
22796
7dd4a573 22797 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 22798 (parttool.lst): new target
22799 * genmk.rb: generate parttool-*
22800 (CLEANFILES): add #{parttool}
22801 (PARTTOOLFILES): new variable
22802 * genparttoollist.sh: new file
7dd4a573 22803 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 22804 (grub_pcpart_type): likewise
22805 * commands/parttool.c (helpmsg): new variable
22806 (grub_cmd_parttool): output help if not enough arguments are supplied
22807 autoload modules
22808 (GRUB_MOD_INIT(parttool)): use helpmsg
22809
0d312500 228102009-04-24 David S. Miller <davem@davemloft.net>
22811
7dd4a573 22812 Avoiding opening same device multiple times in device iterator.
0d312500 22813
22814 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 22815 and use it to build a list of partitions in iterate_disk() and
0d312500 22816 iterate_partition().
22817
ac20caff 22818 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
22819 on disk->data.
22820
0dcf7495 22821 * disk/ieee1275/nand.c (grub_nand_iterate): Return
22822 grub_devalias_iterate() result instead of unconditional 0.
22823 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
22824 Also, capture hook return value, either directly or via
22825 grub_children_iterate(), and propagate to caller.
22826 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
22827 grub_children_iterate): Return value is now 'int' instead of
22828 'grub_err_t'.
22829 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
22830 like a proper iterator, stopping when hooks return non-zero.
22831 (grub_devalias_iterate): Likewise.
22832
c8c08833 228332009-04-23 David S. Miller <davem@davemloft.net>
22834
22835 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
22836
f01005a8 228372009-04-22 David S. Miller <davem@davemloft.net>
22838
22839 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
22840 is larger than address_cells, use that value for address_cells too.
22841
4e8269da 22842 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
22843 IEEE1275_MAX_PATH_LEN): Define.
22844 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
22845 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
22846 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
22847 'devtype'. Explicitly NULL terminate devalias expansion.
22848
a1447506 22849 * util/sparc64/ieee1275/misc.c: New file.
22850 * util/sparc64/ieee1275/grub-setup.c: New file.
22851 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
22852 * util/sparc64/ieee1275/grub-mkimage.c: New file.
22853 * util/sparc64/ieee1275/grub-install.in: New file.
22854 * util/ieee1275/ofpath.c: New file.
22855 * util/ieee1275/devicemap.c: New file.
22856 * util/devicemap.c: New file.
22857 * util/deviceiter.c: New file.
22858 * kern/sparc64/ieee1275/init.c: New file.
22859 * include/grub/util/ofpath.h: New file.
22860 * include/grub/util/deviceiter.h: New file.
22861 * util/grub-mkdevicemap.c: Include deviceiter.h.
22862 Implement using grub_util_emit_devicemap_entry and
22863 grub_util_iterate_devices.
22864 * conf/i386-corebook.rmk: Build util/deviceiter.c and
22865 util/devicemap.c into grub-mkdevicemap
22866 * conf/i386-efi.rmk: Likewise.
22867 * conf/i386-ieee1275.rmk: Likewise.
22868 * conf/i386-pc.rmk: Likewise.
22869 * conf/powerpc-ieee1275.rmk: Likewise.
22870 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
22871 images and installation utilities. Build kernel as image
22872 instead of as elf binary. Use common rules as much as possible.
22873
7dd4a573 228742009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 22875
22876 Correct GPT definition
22877
7dd4a573 22878 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 22879 of "attrib" member
22880
c6c5219f 228812009-04-19 Felix Zielcke <fzielcke@z-51.de>
22882
22883 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
22884
0552ff9f 228852009-04-19 David S. Miller <davem@davemloft.net>
22886
22887 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
22888 (grub_rescue_cmd_linux): Rename to...
22889 (grub_cmd_linux): and fix prototype.
22890 (grub_rescue_cmd_initrd): Rename to...
22891 (grub_cmd_initrd): and fix prototype.
22892 (cmd_linux, cmd_initrd): New.
22893 (GRUB_MOD_INIT(linux)): Use grub_register_command().
22894 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
22895
d1a282fc 228962009-04-17 Pavel Roskin <proski@gnu.org>
22897
07c5039f 22898 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
22899 format.
22900 (grub_ohci_transfer): Likewise.
22901
b012002d 22902 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
22903
1bc09c35 22904 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
22905 return without a value. Fix inconsistent indentation.
22906
e0ff9126 22907 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
22908 match struct grub_fs.
22909
d1a282fc 22910 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
22911 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
22912 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22913 * commands/lspci.c (grub_lspci_iter): Likewise.
22914
a96df3f2 229152009-04-16 Bean <bean123ch@gmail.com>
22916
22917 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
22918 value.
22919
41bb0fe9 229202009-04-15 Pavel Roskin <proski@gnu.org>
22921
22922 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
22923 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
22924 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
22925 definitions.
22926
596c6970 229272009-04-15 Felix Zielcke <fzielcke@z-51.de>
22928
22929 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 22930 that no multiple data or metadata areas are supported and `Unknown
596c6970 22931 metadata header'.
22932
7dd4a573 229332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 22934
22935 Move loader out of the kernel
22936
22937 * kern/loader.c: moved to ...
22938 * commands/boot.c: ... moved here
22939 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
22940 * commands/boot.c (grub_cmd_boot): moved here. All users updated
22941 * include/grub/kernel.h (grub_machine_fini): export
22942 * include/grub/loader.h (grub_loader_is_loaded): update declaration
22943 (grub_loader_set): likewise
22944 (grub_loader_unset): likewise
22945 (grub_loader_boot): likewise
22946 * conf/common.rmk: new module boot.mod
22947 (pkglib_MODULES): add boot.mod
22948 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
22949 (grub_emu_SOURCES): likewise
22950 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22951 (grub_emu_SOURCES): likewise
22952 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22953 (grub_emu_SOURCES): likewise
22954 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22955 (grub_emu_SOURCES): likewise
22956 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22957 (grub_emu_SOURCES): likewise
7dd4a573 22958 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22959 (grub_emu_SOURCES): likewise
0d5d5653 22960 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 22961 (grub_emu_SOURCES): likewise
0d5d5653 22962
7dd4a573 229632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 22964
22965 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 22966
5999d619 22967 * kern/misc.c (grub_itoa): Removed function
22968 (grub_ltoa): likewise
22969 (grub_vsprintf): use grub_lltoa
22970
7dd4a573 229712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 22972
22973 Restore grub-emu
22974
22975 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22976 * conf/i386-coreboot.rmk: likewise
22977 * conf/i386-ieee1275.rmk: likewise
22978 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22979
20318222 229802009-04-15 Felix Zielcke <fzielcke@z-51.de>
22981
22982 * INSTALL: Add that `./autogen.sh' needs to be run before
22983 `./configure.'.
22984
d05f0df3 229852009-04-14 Bean <bean123ch@gmail.com>
22986
22987 * Makefile.in (pkglib_DATA): Add handler.lst.
22988 (handler.lst): New rule.
22989
22990 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22991 * conf/i386-coreboot.rmk: Likewise.
22992 * conf/i386-ieee1275.rmk: Likewise.
22993 * conf/i386-efi.rmk: Likewise.
22994 * conf/x86_64-efi.rmk: Likewise.
22995 * conf/powerpc-ieee1275.rmk: Likewise.
22996 * conf/sparc64-ieee1275.rmk: Likewise.
22997
22998 * genhandlerlist.sh: New file.
22999
23000 * genmk.rb: Add rules to generate handler.lst.
23001
23002 * include/grub/normal.h (grub_file_getline): New function definition.
23003 (read_handler_list): Likewise.
23004 (free_handler_list): Likewise.
23005
23006 * include/grub/term.h (grub_term_register_input): Add name parameter
23007 for auto generation of handler.lst.
23008 (grub_term_register_output): Likewise.
23009
23010 * normal/handler.c: New file.
23011
23012 * normal/main.c (get_line): Renamed to grub_file_getline.
23013 (read_config_file): Use the newly renamed grub_file_getline.
23014 (read_command_list): Likewise.
23015 (read_fs_list): Likewise.
23016 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23017 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23018
23019 * term/efi/console.c (grub_console_init): Add name parameter for auto
23020 generation of handler.lst.
23021 * term/gfxterm.c: Likewise.
23022 * term/i386/pc/at_keyboard.c: Likewise.
23023 * term/i386/pc/console.c: Likewise.
23024 * term/i386/pc/serial.c: Likewise.
23025 * term/i386/pc/vesafb.c: Likewise.
23026 * term/i386/pc/vga.c: Likewise.
23027 * term/i386/pc/vga_text.c: Likewise.
23028 * term/ieee1275/ofconsole.c: Likewise.
23029 * term/usb_keyboard.c: Likewise.
23030
33c846be 230312009-04-14 Bean <bean123ch@gmail.com>
23032
23033 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23034 properly with null character.
23035
4484e01e 230362009-04-14 Felix Zielcke <fzielcke@z-51.de>
23037
23038 * configure: Remove.
23039 * config.h.in: Likewise.
f93d668e 23040 * stamp-h.in: Likewise.
4484e01e 23041 * DISTLIST: Likewise.
23042 * conf/common.mk: Likewise.
23043 * conf/i386-coreboot.mk: Likewise.
23044 * conf/i386-efi.mk: Likewise.
23045 * conf/i386-ieee1275.mk: Likewise.
23046 * conf/i386.mk: Likewise.
23047 * conf/i386-pc.mk: Likewise.
23048 * conf/powerpc-ieee1275.mk: Likewise.
23049 * conf/sparc64-ieee1275.mk: Likewise.
23050 * conf/x86_64-efi.mk: Likewise.
23051
23052 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23053 develop on GRUB.
23054
7dd4a573 230552009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23056 David S. Miller <davem@davemloft.net>
23057
23058 * util/hostdisk.c (make_device_name): Fix buffer length
23059 calculations.
23060
e25b5a8c 230612009-04-14 Felix Zielcke <fzielcke@z-51.de>
23062
23063 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23064 <sys/param.h> and <sys/sysctl.h>.
23065 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23066 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23067 opening the device and reset them afterwards.
23068
1f1f580c 230692009-04-13 Pavel Roskin <proski@gnu.org>
23070
23071 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23072 Reported by John Stanley <jpsinthemix@verizon.net>
23073
7ebc2d6b 230742009-04-13 Robert Millan <rmh@aybabtu.com>
23075
23076 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23077 that name for menuentries when appropriate.
7ebc2d6b 23078
d8ba3667 230792009-04-13 Felix Zielcke <fzielcke@z-51.de>
23080
23081 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23082
cba416eb 230832009-04-13 Robert Millan <rmh@aybabtu.com>
23084
23085 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23086 to Linux, simply abort telling the user it's no longer supported.
23087
a547a745 230882009-04-13 Felix Zielcke <fzielcke@z-51.de>
23089
23090 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23091 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23092 `freebsd_loadenv' only when devices.hints exist.
23093
232a769c 230942009-04-13 Pavel Roskin <proski@gnu.org>
23095
23096 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23097
c3012039 230982009-04-13 Felix Zielcke <fzielcke@z-51.de>
23099
23100 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23101 partition number.
23102 (grub_drive): Likewise.
23103
234022fe 231042009-04-13 David S. Miller <davem@davemloft.net>
23105
23106 * kern/sparc64/ieee1275/ieee1275.c: New file.
23107 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23108 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23109 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23110 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23111 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23112 grub_ieee1275_alloc_physmem): Declare new exported functions.
23113
d8e1836c 23114 * include/grub/sparc64/ieee1275/loader.h: New file.
23115 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23116 * include/grub/sparc64/kernel.h: Likewise.
23117 * loader/sparc64/ieee1275/linux.c: Likewise.
23118
96bd81ec 23119 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23120 (grub_fstest_SOURCES): Likewise.
23121
6a4737e5 23122 * util/hostdisk.c (make_device_name): Do not make any assumptions
23123 about the length of drive names.
23124
1d7a72fd 23125 * kern/dl.c (grub_dl_load_file): Close file immediately when
23126 we are done using it.
23127
56bc2471 231282009-04-12 David S. Miller <davem@davemloft.net>
23129
23130 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23131 values. Noticed by Pavel Roskin.
23132
df38d0bb 23133 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23134 target compiler.
7dd4a573 23135
e382e93a 23136 * genmk.rb: Add more flexible image type specification, also
23137 pass --strip-unneeded to objcopy.
23138 * conf/i386-pc.rmk: Use *_FORMAT.
23139 * conf/i386-pc.mk: Rebuilt.
23140
f5dbbca9 23141 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23142 (OFDISK_HASH_SZ): Define.
23143 (ofdisk_hash): New hash table.
23144 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23145 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23146 instead of device phandle which is not unique.
23147
91c88b12 23148 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23149 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23150 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23151 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23152 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23153 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23154 GRUB_KERNEL_MACHINE_DATA_END): Define.
23155 (grub_kernel_image_size, grub_total_module_size): Declare.
23156
5b5d4aa5 231572009-04-12 Pavel Roskin <proski@gnu.org>
23158
7dd4a573 23159 * configure.ac: Change the logic when we check for target tools.
23160 Do it when the target is specified and it's different from the
23161 specified value of the host.
5b5d4aa5 23162
c91e1793 231632009-04-11 Felix Zielcke <fzielcke@z-51.de>
23164
23165 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23166 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23167 GNU/kFreeBSD. Check if a device is a character device. Use
23168 DIOCGMEDIASIZE to get the size.
23169 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23170 support for GNU/kFreeBSD.
23171 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23172 is a character device instead of a block device. Add support for
23173 FreeBSD device names.
23174
23175 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23176 is a character device instead of a block device.
23177
23178 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23179 is a character device instead of a block device.
23180
b1ac8644 231812009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23182
23183 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23184 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23185 FreeBSD. Check if a device is a character device. Use
23186 DIOCGMEDIASIZE to get the size.
23187 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23188 support for FreeBSD.
23189 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23190 is a character device instead of a block device. Add support for
23191 FreeBSD device names.
23192
23193 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23194 a character device instead of a block device.
23195 (grub_util_check_char_device): New function.
23196
23197 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23198 a character device instead of a block device.
23199
23200 * include/grub/util/getroot.h (grub_util_check_char_device): New
23201 prototype.
23202
a3f7515a 232032009-04-11 David S. Miller <davem@davemloft.net>
23204
23205 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23206 static libgcc.
23207 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23208 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23209 function, if present.
23210 (__bswapdi2): Likewise.
23211
0d44993d 23212 * include/grub/sparc64/ieee1275/boot.h: New file.
23213 * boot/sparc64/ieee1275/boot.S: Likewise.
23214 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23215
ed3d2bc2 23216 * kern/misc.c (grub_ltoa): New function.
23217 (grub_vsprintf): Use it to format 'long' integers.
23218
d3bfb59c 232192009-04-10 David S. Miller <davem@davemloft.net>
23220
23221 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23222 slots are of type grub_ieee1275_cell_t.
23223 (grub_nand_read): Likewise.
23224 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23225 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23226 macros are used to compare values in arg/ret block of the call.
23227 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23228 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23229 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23230 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23231 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23232 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23233 grub_ieee1275_close, grub_ieee1275_set_property,
23234 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23235 grub_ieee1275_cell_t.
23236 * kern/ieee1275/openfw.c (grub_map): Likewise.
23237 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23238 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23239
450e2238 23240 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23241 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23242 (grub_devalias_iterate): Likewise.
23243
7dd4a573 232442009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23245
23246 UFS improvements
23247
23248 * fs/ufs.c (INODE_NBLOCKS): new definition
23249 (struct grub_ufs_dirent): added fields for non-BSD dirents
23250 (grub_ufs_get_file_block): fixed double indirect handling
23251 (grub_ufs_lookup_symlink): use more robust way to determine whether
23252 symlink is inline
23253 (grub_ufs_find_file): support for non-BSD dirents
23254 (grub_ufs_dir): support for non-BSD dirents
23255
e7e6862a 232562009-04-10 Bean <bean123ch@gnail.com>
23257
23258 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23259 attribute, otherwise the size would be wrong for i386 platform.
23260
23261 * include/grub/pci.h (grub_pci_read_word): New inline function.
23262 (grub_pci_read_byte): Likewise.
23263 (grub_pci_write): Likewise.
23264 (grub_pci_write_word): Likewise.
23265 (grub_pci_write_byte): Likewise.
23266
23267 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23268
23269 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23270 (find_framebuf): Scan pci to locate the frame buffer address.
23271
23272 * commands/efi/fixvideo.c: New file.
23273
23274 * commands/efi/loadbios.c: Likewise.
23275
23276 * commands/memrw.c: Likewise.
23277
23278 * util/grub-dumpbios.in: Likewise.
23279
23280 * conf/common.rmk (grub-dumpbios): New utility.
23281 (pkglib_MODULES): New module memrw.mod.
23282 (memrw_mod_SOURCE): New macro.
23283 (memrw_mod_CFLAGS): Likewise.
23284 (memrw_mod_LDFLAGS): Likewise.
23285
7dd4a573 23286 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23287 fixvideo.mod.
23288 (loadbios_mod_SOURCE): New macro.
23289 (loadbios_mod_CFLAGS): Likewise.
23290 (loadbios_mod_LDFLAGS): Likewise.
23291 (fixvideo_mod_SOURCE): Likewise.
23292 (fixvideo_mod_CFLAGS): Likewise.
23293 (fixvideo_mod_LDFLAGS): Likewise.
23294
7dd4a573 23295 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23296 fixvideo.mod.
23297 (loadbios_mod_SOURCE): New macro.
23298 (loadbios_mod_CFLAGS): Likewise.
23299 (loadbios_mod_LDFLAGS): Likewise.
23300 (fixvideo_mod_SOURCE): Likewise.
23301 (fixvideo_mod_CFLAGS): Likewise.
23302 (fixvideo_mod_LDFLAGS): Likewise.
23303
af63ada2 233042009-04-08 Felix Zielcke <fzielcke@z-51.de>
23305
23306 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23307
c2cdde70 233082009-04-07 David S. Miller <davem@davemloft.net>
23309
23310 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23311 support for R_SPARC_OLO10 relocations. Fix compile warning for
23312 R_SPARC_WDISP30 case.
ea3f72cf 23313 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23314
761319cf 233152009-04-06 Pavel Roskin <proski@gnu.org>
23316
1007d1f5 23317 * include/grub/misc.h (ARRAY_SIZE): New macro.
23318 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23319 New macro.
23320 * loader/i386/linux.c (allocate_pages): Use free_pages().
23321 (grub_linux_unload): Don't use free_pages().
23322 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23323 wrong index. Treat all other modes as text modes.
23324 (grub_cmd_linux): Initialize vid_mode unconditionally to
23325 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23326
761319cf 23327 * commands/help.c (print_command_help): Use cmd->prio, not
23328 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23329
ea761d40 233302009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23331
ea761d40 23332 Parttool
23333
23334 * parttool/pcpart.c: new file
23335 * commands/parttool.c: likewise
23336 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23337 (parttool_mod_SOURCES): new variable
23338 (parttool_mod_CFLAGS): likewise
23339 (parttool_mod_LDFLAGS): likewise
23340 (pcpart_mod_SOURCES): likewise
23341 (pcpart_mod_CFLAGS): likewise
23342 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23344 and parttool/pcpart.c
23345 * conf/i386-efi.rmk: likewise
23346 * conf/i386-ieee1275.rmk: likewise
23347 * conf/i386-pc.rmk: likewise
23348 * conf/powerpc-ieee1275.rmk: likewise
23349 * conf/sparc64-ieee1275.rmk: likewise
23350 * conf/x86_64-ieee1275.rmk: likewise
23351
05aaebfb 233522009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23353
23354 Support for mtime and further expandability of dir command
23355
23356 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23357 * include/grub/datetime.h: ... moved here and added
05aaebfb 23358 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23359 * include/grub/fs.h: new syntax for dir and mtime functions in
23360 struct grub_fs
05aaebfb 23361 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23362 and GRUB_FSHELP_FLAGS_MASK
23363 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23364 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23365 (grub_ext2_mtime): new function
23366 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23367 (grub_hfsplus_mtime): new function
23368 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23369 (GRUB_UFS_ATTR_FILE): likewise
23370 (GRUB_UFS_ATTR_LNK): likewise
23371 (struct grub_ufs_sblock): new fields mtime
23372 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23373 all users updated
23374 (grub_ufs_dir): mtime support
23375 (grub_ufs_mtime): new function
23376 * fs/affs.c (grub_affs_dir): use new dir syntax
23377 * fs/afs.c (grub_afs_dir): likewise
23378 * fs/cpio.c (grub_cpio_dir): likewise
23379 * fs/fat.c (grub_fat_find_dir): likewise
23380 * fs/hfs.c (grub_hfs_dir): likewise
23381 * fs/iso9660.c (grub_iso9660_dir): likewise
23382 * fs/jfs.c (grub_jfs_dir): likewise
23383 * fs/minix.c (grub_minix_dir): likewise
23384 * fs/ntfs.c (grub_ntfs_dir): likewise
23385 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23386 * fs/sfs.c (grub_sfs_dir): likewise
23387 * fs/xfs.c (grub_xfs_dir): likewise
23388 * util/hostfs.c (grub_hostfs_dir): likewise
23389 * lib/datetime.c: moved to ...
23390 * normal/datetime.c: ... moved here
23391 (grub_unixtime2datetime): new function
23392 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23393 * normal/completion.c (iterate_dir): use new dir syntax
23394 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23395 last modification time of a volume
7dd4a573 23396 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23397 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23398 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23399 (normal_mod_SOURCES): likewise
23400 (datetime_mod_SOURCES): Removed lib/datetime.c
23401 * conf/i386-efi.rmk: likewise
7dd4a573 23402 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23403 * conf/i386-pc.rmk: likewise
23404 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23405 * conf/sparc64-ieee1275.rmk: likewise
23406 * conf/x86_64-efi.rmk: likewise
05aaebfb 23407
8a7e1a14 234082009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23409
23410 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23411
23412 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23413 on grub_fat_find_dir
23414 (grub_fat_find_dir): use grub_fat_iterate_dir
23415 (grub_fat_label): likewise
23416
04186a9c 234172009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23418
7dd4a573 23419 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23420 and command.h
23421 remove extraneous kernel_elf_HEADERS
23422
da4c0bb6 234232009-04-04 Bean <bean123ch@gnail.com>
23424
23425 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23426
23427 * util/misc.c: Likewise.
23428
54ad9555 234292009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23430
23431 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23432 instead of grub_printf.
23433
7a6bf9f2 234342009-04-03 Robert Millan <rmh@aybabtu.com>
23435
23436 * loader/i386/linux.c (grub_linux_setup_video): Fill
23437 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23438 values from `mode info' structure instead of hardcoded
23439 values.
23440
3fcc2083 234412009-04-01 Pavel Roskin <proski@gnu.org>
23442
23443 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23444 unused now.
23445 * genmk.rb: Likewise.
23446 * configure.ac: Likewise.
23447
5ec9740b 234482009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23449
23450 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23451 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23452
5270cec8 234532009-04-01 David S. Miller <davem@davemloft.net>
23454
23455 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23456 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23457 (grub_setjmp): Mark with 'returns_twice' attribute.
23458 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23459 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23460 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23461
9c3dd854 234622009-04-01 Robert Millan <rmh@aybabtu.com>
23463
23464 Reapply fix from 2008-07-28 which was accidentally reverted; also
23465 perform the same fix to a similar check in same function.
23466
23467 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23468 with the same number are found, just use issue a warning with
23469 grub_dprintf(), as this error has been reported to be non-fatal.
23470
0d818b7e 234712009-03-31 Pavel Roskin <proski@gnu.org>
23472
23473 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23474 for cross-compilation.
23475
95646d92 234762009-03-30 Robert Millan <rmh@aybabtu.com>
23477
23478 Fix i386-ieee1275 build.
23479
23480 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23481 Remove declaration.
23482
6a003ed1 234832009-03-30 Pavel Roskin <proski@gnu.org>
23484
23485 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23486 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23487 zero-terminated, rely only on the strlen value. Fix comparison
23488 of strings differing in length.
23489
92f33540 234902009-03-30 Robert Millan <rmh@aybabtu.com>
23491
23492 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23493 checking for abi version. Improve error messages on BIOS to notify
23494 user about `linux16' command.
23495
a8c48fd5 234962009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23497
f968172e 23498 Leak fixes
a8c48fd5 23499
f968172e 23500 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23501 in case of collision
23502 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23503
9c323f09 235042009-03-29 Robert Millan <rmh@aybabtu.com>
23505
23506 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23507 set `vid_mode' accordingly.
23508 (grub_linux_boot): Process `vid_mode' and set video mode.
23509
ae68f423 235102009-03-29 Robert Millan <rmh@aybabtu.com>
23511
23512 * util/grub.d/10_linux.in (linux_entry): New function.
23513 Factorize generation of Linux boot entries.
23514
5709cfc4 235152009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23516
23517 Make the format of Environment Block plain text. The boot loader
23518 part is not tested well yet.
7dd4a573 23519
5709cfc4 23520 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23521 (buffer): Removed.
23522 (envblk): Likewise.
23523 (usage): Remove "info" and "clear". Add "unset". Update the
23524 description of "set", as this does not delete variables any
23525 longer.
23526 (create_envblk_file): Complete rewrite.
23527 (open_envblk_file): Likewise.
23528 (cmd_info): Removed.
23529 (cmd_list): Likewise.
23530 (cmd_set): Likewise.
23531 (cmd_clear): Likewise.
23532 (list_variables): New function.
23533 (write_envblk): Likewise.
23534 (set_variables): Likewise.
23535 (unset_variables): Likewise.
23536 (main): Complete rewrite.
23537
23538 * commands/loadenv.c (buffer): Removed.
23539 (envblk): Likewise.
23540 (open_envblk_file): New function.
23541 (read_envblk_file): Complete rewrite.
23542 (grub_cmd_load_env): Likewise.
23543 (grub_cmd_list_env): Likewise.
23544 (struct blocklist): New struct.
23545 (free_blocklists): New function.
23546 (check_blocklists): Likewise.
23547 (write_blocklists): Likewise.
23548 (grub_cmd_save_env): Complete rewrite.
23549
23550 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23551 a plain text signature.
23552 (GRUB_ENVBLK_MAXLEN): Removed.
23553 (struct grub_envblk): Complete rewrite.
23554 (grub_envblk_find): Removed.
23555 (grub_envblk_insert): Likewise.
23556 (grub_envblk_open): New prototype.
23557 (grub_envblk_set): Likewise.
23558 (grub_envblk_delete): Put const to VALUE.
23559 (grub_envblk_iterate): Put const to NAME and VALUE.
23560 (grub_envblk_close): New prototype.
23561 (grub_envblk_buffer): New inline function.
23562 (grub_envblk_size): Likewise.
23563
23564 * lib/envblk.c: Include grub/mm.h.
23565 (grub_env_find): Removed.
23566 (grub_envblk_open): New function.
23567 (grub_envblk_close): Likewise.
23568 (escaped_value_len): Likewise.
23569 (find_next_line): Likewise.
23570 (grub_envblk_insert): Removed.
23571 (grub_envblk_set): New function.
23572 (grub_envblk_delete): Complete rewrite.
23573 (grub_envblk_iterate): Likewise.
23574
a9368fd3 235752009-03-28 Robert Millan <rmh@aybabtu.com>
23576
23577 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23578 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23579 variables. Use 16-bit loader.
23580 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23581 loader.
23582 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23583 (grub_linux16_boot): ... this. Update all users.
23584 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23585 (grub_linux_boot): ... this. Update all users.
23586
23587 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23588 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23589 commands to `linux16' and `initrd16'.
23590 (GRUB_MOD_FINI(linux)): Rename to ...
23591 (GRUB_MOD_FINI(linux16)): ... this.
23592
e4dd5a7e 235932009-03-24 Pavel Roskin <proski@gnu.org>
23594
23595 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23596 not just for compilation.
23597
c04d6e05 235982009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23599
23600 Move multiboot helper out of kernel
23601
23602 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23603 `loader/i386/multiboot_helper.S'.
23604 * conf/i386-coreboot.rmk: Likewise
23605 * conf/i386-ieee1275.rmk: Likewise
23606
23607 * kern/i386/loader.S: Move multiboot helpers from here...
23608 * loader/i386/multiboot_helper.S: ...moved here
23609 * include/grub/i386/loader.h: Move declarations of multiboot
23610 helpers from here...
23611 * include/grub/i386/multiboot.h: ...moved here
23612 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23613
42a5b3fc 236142009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23615
23616 * kern/env.c (grub_env_context_open): Added an argument to specify
23617 whether a new context inherits exported variables from current
23618 one. This is useful when making a sandbox to interpret a config
23619 file.
23620 All callers updated.
23621
23622 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23623
b28bbc4e 236242009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23625
23626 * kern/env.c (grub_env_context_close): Fix memory leaks.
23627
f04f02e4 236282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23629
23630 * normal/main.c (grub_normal_execute): Added an argument
23631 BATCH to specify if an interactive interface should be provided
23632 after reading a config file.
23633 All callers updated.
23634 (read_command_list): Prevent being executed twice.
23635 (read_fs_list): Likewise.
23636
42a5b3fc 23637 * include/grub/normal.h (grub_normal_execute): Updated the
23638 prototype.
f04f02e4 23639
41473ac2 236402009-03-22 Pavel Roskin <proski@gno.org>
23641
fbc00b0c 23642 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23643 _start.
23644 * kern/i386/pc/startup.S: Likewise.
23645 * kern/i386/efi/startup.S: Likewise.
23646 * kern/i386/ieee1275/startup.S: Likewise.
23647 * kern/i386/coreboot/startup.S: Likewise.
23648 * kern/x86_64/efi/startup.S: Likewise.
23649
41473ac2 23650 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23651 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23652 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23653
2274cc8f 236542009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23655
23656 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23657
23658 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23659 limit detection.
23660 Use vaddr of correct segment for entry_point.
23661
b1b797cb 236622009-03-21 Bean <bean123ch@gmail.com>
23663
23664 * commands/blocklist.c: Add include file <grub/command.h>, remove
23665 <grub/normal.h> and <grub/arg.h>.
23666 (grub_cmd_blocklist): Use the new command interface.
23667 (GRUB_MOD_INIT): Likewise.
23668 (GRUB_MOD_FINI): Likewise.
23669 * commands/boot.c: Likewise.
23670 * commands/cat.c: Likewise.
23671 * commands/cmp.c: Likewise.
23672 * commands/configfile.c: Likewise.
23673 * commands/crc.c: Likewise.
23674 * commands/echo.c: Likewise.
23675 * commands/halt.c: Likewise.
23676 * commands/handler.c: Likewise.
23677 * commands/hdparm.c: Likewise.
23678 * commands/help.c: Likewise.
23679 * commands/hexdump.c: Likewise.
23680 * commands/loadenv.c: Likewise.
23681 * commands/ls.c: Likewise.
23682 * commands/lsmmap.c: Likewise.
23683 * commands/lspci.c: Likewise.
23684 * commands/loadenv.c: Likewise.
23685 * commands/read.c: Likewise.
23686 * commands/reboot.c: Likewise.
23687 * commands/search.c: Likewise.
23688 * commands/sleep.c: Likewise.
23689 * commands/test.c: Likewise.
23690 * commands/usbtest.c: Likewise.
23691 * commands/videotest.c: Likewise.
23692 * commands/i386/cpuid.c: Likewise.
23693 * commands/i386/pc/halt.c: Likewise.
23694 * commands/i386/pc/play.c: Likewise.
23695 * commands/i386/pc/pxecmd.c: Likewise.
23696 * commands/i386/pc/vbeinfo.c: Likewise.
23697 * commands/i386/pc/vbetest.c: Likewise.
23698 * commands/ieee1275/suspend.c: Likewise.
23699 * disk/loopback.c: Likewise.
23700 * font/font_cmd.c: Likewise.
23701 * hello/hello.c: Likewise.
23702 * loader/efi/appleloader.c: Likewise.
23703 * loader/efi/chainloader.c: Likewise.
23704 * loader/i386/bsd.c: Likewise.
23705 * loader/i386/efi/linux.c: Likewise.
23706 * loader/i386/ieee1275/linux.c: Likewise.
23707 * loader/i386/linux.c: Likewise.
23708 * loader/i386/pc/chainloader.c: Likewise.
23709 * loader/i386/pc/linux.c: Likewise.
23710 * loader/powerpc/ieee1275/linux.c: Likewise.
23711 * loader/multiboot_loader.c: Likewise.
23712 * term/gfxterm.c: Likewise.
23713 * term/i386/pc/serial.c: Likewise.
23714 * term/terminfo.c: Likewise.
23715
23716 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
23717 * term/i386/pc/vga.c: Likewise.
23718 * video/readers/jpeg.c: Likewise.
23719 * video/readers/png.c: Likewise.
23720 * video/readers/tga.c: Likewise.
23721
23722 * util/grub-fstest (cmd_loopback): Removed.
23723 (cmd_blocklist): Likewise.
23724 (cmd_ls): Likewise.
23725 (grub_register_command): Likewise.
23726 (grub_unregister_command): Likewise.
23727 (execute_command): Use grub_command_find to locate command and execute
23728 it.
23729
23730 * include/grub/efi/chainloader.h: Removed.
23731 * loader/efi/chainloader_normal.c: Likewise.
23732 * loader/i386/bsd_normal.c: Likewise.
23733 * loader/i386/pc/chainloader_normal.c: Likewise.
23734 * loader/i386/pc/multiboot_normal.c: Likewise.
23735 * loader/linux_normal.c: Likewise.
23736 * loader/multiboot_loader_normal.c: Likewise.
23737 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23738
23739 * gencmdlist.sh: Scan new registration command grub_register_extcmd
23740 and grub_register_command_p1.
23741
23742 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
23743 kern/command.c, lib/arg.c and commands/extcmd.c.
23744 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
23745 (minicmd_mod_SOURCES): New variable.
23746 (minicmd_mod_CFLAGS): Likewise.
23747 (minicmd_mod_LDFLAGS): Likewise.
23748 (extcmd_mod_SOURCES): Likewise.
23749 (extcmd_mod_CFLAGS): Likewise.
23750 (extcmd_mod_LDFLAGS): Likewise.
23751 (boot_mod_SOURCES): Removed.
23752 (boot_mod_CFLAGS): Likewise.
23753 (boot_mod_LDFLAGS): Likewise.
23754
23755 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
23756 kern/corecmd.c.
23757 (kernel_img_HEADERS): Add command.h.
23758 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
23759 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
23760 and lib/arg.c.
23761 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
23762 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
23763 remove the corresponding normal mode command.
23764 (normal_mod_SOURCES): Remove normal/arg.c.
23765 * conf/i386-coreboot.rmk: Likewise.
23766 * conf/i386-efi.rmk: Likewise.
23767 * conf/i386-ieee1275.rmk: Likewise.
23768 * conf/powerpc-ieee1275.rmk: Likewise.
23769 * conf/x86_64-efi.rmk: Likewise.
23770
23771 * include/grub/arg.h: Move from here ...
23772 * include/grub/lib/arg.h: ... to here.
23773
23774 * normal/arg.c: Move from here ...
23775 * lib/arg.c: ... to here.
23776
23777 * commands/extcmd.c: New file.
23778 * commands/minicmd.c: Likewise.
23779 * include/grub/command.h: Likewise.
23780 * include/grub/extcmd.h: Likewise.
23781 * kern/command.c: Likewise.
23782 * kern/corecmd.c: Likewise.
23783
23784 * kern/list.c (grub_list_iterate): Return int instead of void.
23785 (grub_list_insert): New function.
23786 (grub_prio_list_insert): Likewise.
23787
23788 * kern/rescue.c (grub_rescue_command): Removed.
23789 (grub_rescue_command_list): Likewise.
23790 (grub_rescue_register_command): Likewise.
23791 (grub_rescue_unregister_command): Likewise.
23792 (grub_rescue_cmd_boot): Move to minicmd.c
23793 (grub_rescue_cmd_help): Likewise.
23794 (grub_rescue_cmd_info): Likewise.
23795 (grub_rescue_cmd_boot): Likewise.
23796 (grub_rescue_cmd_testload): Likewise.
23797 (grub_rescue_cmd_dump): Likewise.
23798 (grub_rescue_cmd_rmmod): Likewise.
23799 (grub_rescue_cmd_lsmod): Likewise.
23800 (grub_rescue_cmd_exit): Likewise.
23801 (grub_rescue_print_devices): Moved to corecmd.c.
23802 (grub_rescue_print_files): Likewise.
23803 (grub_rescue_cmd_ls): Likewise.
23804 (grub_rescue_cmd_insmod): Likewise.
23805 (grub_rescue_cmd_set): Likewise.
23806 (grub_rescue_cmd_unset): Likewise.
7d074e3c 23807 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 23808 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 23809 commands, remove grub_rescue_register_command calls.
b1b797cb 23810
7d074e3c 23811 * normal/command.c (grub_register_command): Removed.
b1b797cb 23812 (grub_unregister_command): Likewise.
23813 (grub_command_find): Likewise.
23814 (grub_iterate_commands): Likewise.
23815 (rescue_command): Likewise.
23816 (export_command): Moved to corecmd.c.
23817 (set_command): Removed.
23818 (unset_command): Likewise.
23819 (insmod_command): Likewise.
23820 (rmmod_command): Likewise.
23821 (lsmod_command): Likewise.
23822 (grub_command_init): Likewise.
23823
23824 * normal/completion.c (iterate_command): Use cmd->prio to check for
23825 active command.
23826 (complete_arguments): Use grub_extcmd_t structure to find options.
23827 (grub_normal_do_completion): Change function grub_iterate_commands to
23828 grub_command_iterate.
23829
23830 * normal/execute.c (grub_script_execute_cmd): No need to parse
23831 argument here.
23832
23833 * normal/main.c (grub_dyncmd_dispatcher): New function.
23834 (read_command_list): Register unload commands as dyncmd.
23835 (grub_cmd_normal): Use new command interface, register rescue,
23836 unregister normal at entry, register normal, unregister rescue at exit.
23837
23838 * include/grub/list.h (grub_list_test_t): New type.
23839 (grub_list_iterate): Return int instead of void.
23840 (grub_list_insert): New function.
23841 (GRUB_AS_NAMED_LIST_P): New macro.
23842 (GRUB_AS_PRIO_LIST): Likewise.
23843 (GRUB_AS_PRIO_LIST_P): Likewise.
23844 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
23845 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
23846 (grub_prio_list): New structure.
23847 (grub_prio_list_insert): New function.
23848 (grub_prio_list_remove): New inline function.
23849
23850 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
23851 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
23852 (GRUB_COMMAND_FLAG_MENU): Likewise.
23853 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23854 (GRUB_COMMAND_FLAG_TITLE): Likewise.
23855 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23856 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
23857 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
23858 (grub_command): Likewise.
23859 (grub_register_command): Likewise.
23860 (grub_command_find): Likewise.
23861 (grub_iterate_commands): Likewise.
23862 (grub_command_init): Likewise.
23863 (grub_arg_parse): Likewise.
23864 (grub_arg_show_help): Likewise.
23865
23866 * include/grub/rescue.h (grub_rescue_register_command): Removed.
23867 (grub_rescue_unregister_command): Likewise.
23868
23869 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
23870 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
23871 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
23872
23873 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
23874 grub_rescue_cmd_initrd.
23875 * include/grub/i386/loader.h: Likewise.
23876 * include/grub/x86_64/loader.h: Likewise.
23877
23878 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
23879
1f4147aa 238802009-03-21 Bean <bean123ch@gmail.com>
23881
23882 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
23883 instead of stat in mingw environment.
23884
23885 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
23886
23887 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
23888
23889 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
23890 AC_CONFIG_LINKS.
23891
2156d5ba 238922009-03-21 Bean <bean123ch@gmail.com>
23893
23894 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
23895 out of range error.
23896
177b82ca 238972009-03-18 Michel Dänzer <michel@daenzer.net>
23898
23899 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
23900 checking inode flags for EXT4_EXTENTS_FLAG.
23901
14aad807 239022009-03-18 Robert Millan <rmh@aybabtu.com>
23903
23904 * loader/i386/linux.c: Include `<grub/video.h>' and
23905 `<grub/i386/pc/vbe.h>'..
23906 (grub_linux_setup_video): New function. Loosely based on the EFI one.
23907 (grub_linux32_boot): Attempt to configure video settings with
23908 grub_linux_setup_video().
23909 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
23910 to avoid grub_console_fini() which would step out of graphical mode
23911 unconditionally.
23912
8cf83a27 239132009-03-14 Robert Millan <rmh@aybabtu.com>
23914
23915 Fix build on powerpc.
23916 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
23917
40164e75 239182009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
23919
23920 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
23921 background image command.
23922
c58bc32a 239232009-03-12 Colin D Bennett <colin@gibibit.com>
23924
23925 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
23926 (grub_gfxterm_putchar): Extract pairs of identical calls to
23927 draw_cursor out of conditional blocks.
23928
5415144a 239292009-03-11 Pavel Roskin <proski@gnu.org>
23930
23931 * fs/hfs.c (grub_hfs_strncasecmp): New function.
23932 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
23933
6394042e 239342009-03-11 Robert Millan <rmh@aybabtu.com>
23935
23936 * loader/i386/multiboot_elfxx.c
23937 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
23938
b7b50e5f 239392009-03-11 Felix Zielcke <fzielcke@z-51.de>
23940
23941 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
23942 `kern/handler.c'.
23943
1ca7fc96 239442009-03-11 Robert Millan <rmh@aybabtu.com>
23945
23946 * loader/i386/multiboot.c (code_size): New variable.
23947 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 23948 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 23949 4-byte alignment to MBI and others by increasing
7d074e3c 23950 `boot_loader_name_length' appropriately.
1ca7fc96 23951
23952 * loader/i386/multiboot_elfxx.c
23953 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23954
a83ea1d2 239552009-03-09 Felix Zielcke <fzielcke@z-51.de>
23956
23957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23958 `fs/ext2.c'.
23959
aa9f3bff 239602009-03-08 Robert Millan <rmh@aybabtu.com>
23961
23962 Make loader/i386/linux.c usable on i386-pc again.
23963
23964 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23965 memory to heap.
23966 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23967 `#error' stanza.
23968
d8b3b60e 239692009-03-07 Bean <bean123ch@gmail.com>
23970
23971 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23972 allocation.
23973
b362c9e9 239742009-03-06 Robert Millan <rmh@aybabtu.com>
23975
23976 Fix display issue on terminals with screen size other than 80x25
23977 (e.g. gfxterm with resolution higher than 640x480).
23978
23979 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 23980 position relative to the center of the terminal instead of relying
b362c9e9 23981 on a hardcoded offset.
23982
9304eef1 239832009-03-04 Robert Millan <rmh@aybabtu.com>
23984
23985 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23986 installed.
23987
23988 * Makefile.in (host_kernel): New variable.
23989 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23990 scripts instead of just the windows one.
23991 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23992
eabc95fb 239932009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 23994
23995 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23996 `kern/handler.c'.
23997 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23998 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24000 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24001 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24002 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24003
ceb1223c 240042009-03-04 Felix Zielcke <fzielcke@z-51.de>
24005
24006 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24007 or if there's no space for the disk label and print the partition number on a
24008 invalid magic.
24009
4910684a 240102009-03-04 Felix Zielcke <fzielcke@z-51.de>
24011
24012 * util/misc.c: Include <time.h>.
24013 (grub_millisleep): New function.
24014
7e9ca17a 240152009-03-04 Bean <bean123ch@gmail.com>
24016
24017 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24018 another option -mno-red-zone.
24019
24020 * commands/handler.c: Change module description.
24021
24022 * kern/handler.c: Add missing space at the end of description line.
24023
24024 * kern/list.c: Likewise.
24025
f501677c 240262009-03-03 Robert Millan <rmh@aybabtu.com>
24027
24028 Move more components to the relocation area, and fix mbi pointer
24029 handling to use the destination rather than the origin (thanks to
24030 Vladimir Serbinenko for spotting).
24031
24032 * loader/i386/multiboot.c (mbi_dest): New variable.
24033 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24034 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24035 relocation area.
24036
9902d047 240372009-03-01 Bean <bean123ch@gmail.com>
24038
50fb7002 24039 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24040 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24041 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24042 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24043
24044 * loader/i386/efi/linux.c (acpi_guid): New variable.
24045 (acpi_guid): Likewise.
24046 (EBDA_SEG_ADDR): New constant.
24047 (LOW_MEM_ADDR): Likewise.
24048 (FAKE_EBDA_SEG): Likewise.
24049 (fake_bios_data): New function.
24050 (grub_linux_boot): Call fake_bios_data.
24051
71b9f361 240522009-03-01 Bean <bean123ch@gmail.com>
24053
24054 * commands/terminal.c: Removed.
24055
24056 * commands/handler.c: New file.
24057
24058 * include/grub/list.h: Likewise.
24059
24060 * include/grub/handler.h: Likewise.
24061
24062 * kern/list.c: Likewise.
24063
24064 * kern/handler.c: Likewise.
24065
24066 * kern/term.h: Include header file <grub/handler.h>.
24067 (grub_term_input): Move next field to the beginning.
24068 (grub_term_output): Likewise.
24069 (grub_term_input_class): New variable.
24070 (grub_term_output_class): Likewise.
24071 (grub_term_register_input): Changed to inline function.
24072 (grub_term_register_output): Likewise.
24073 (grub_term_unregister_input): Likewise.
24074 (grub_term_unregister_output): Likewise.
24075 (grub_term_set_current_input): Likewise.
24076 (grub_term_set_current_output): Likewise.
24077 (grub_term_get_current_input): Likewise.
24078 (grub_term_get_current_output): Likewise.
24079 (grub_term_iterate_input): Removed.
24080 (grub_term_iterate_output): Likewise.
24081
24082 * kern/term.c (grub_term_list_input): Removed.
24083 (grub_term_list_output): Likewise.
24084 (grub_term_input_class): New variable.
24085 (grub_term_output_class): Likewise.
50fb7002 24086 (grub_cur_term_input): Change variable as macro.
71b9f361 24087 (grub_cur_term_output): Likewise.
24088 (grub_term_register_input): Removed.
24089 (grub_term_register_output): Likewise.
24090 (grub_term_unregister_input): Likewise.
24091 (grub_term_unregister_output): Likewise.
24092 (grub_term_set_current_input): Likewise.
24093 (grub_term_set_current_output): Likewise.
24094 (grub_term_iterate_input): Likewise.
24095 (grub_term_iterate_output): Likewise.
24096 (grub_term_get_current_input): Likewise.
24097 (grub_term_get_current_output): Likewise.
24098
24099 * util/grub-editenv.c: Include header file <grub/handler.h>.
24100 (grub_term_get_current_input): Removed.
24101 (grub_term_get_current_output): Likewise.
24102 (grub_term_input_class): New variable.
50fb7002 24103 (grub_term_output_class): Likewise.
71b9f361 24104
24105 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24106 (grub_term_get_current_output): Likewise.
24107 (grub_term_input_class): New variable.
50fb7002 24108 (grub_term_output_class): Likewise.
71b9f361 24109
24110 * util/grub-probe.c (grub_term_get_current_input): Removed.
24111 (grub_term_get_current_output): Likewise.
24112 (grub_term_input_class): New variable.
50fb7002 24113 (grub_term_output_class): Likewise.
71b9f361 24114
24115 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24116 (grub_term_get_current_output): Likewise.
24117 (grub_term_input_class): New variable.
50fb7002 24118 (grub_term_output_class): Likewise.
71b9f361 24119
24120 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24121 (terminal_mod_SOURCES): Likewise.
24122 (terminal_mod_CFLAGS): Likewise.
24123 (terminal_mod_LDFLAGS): Likewise.
24124
24125 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24126 handler.c.
24127 (kernel_img_SOURCES): Add list.c and handler.c.
24128 (kernel_img_HEADERS): Add list.h and handler.h.
24129
24130 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24131 handler.c.
24132 (kernel_mod_SOURCES): Add list.c and handler.c.
24133 (kernel_mod_HEADERS): Add list.h and handler.h.
24134
24135 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24136 handler.c.
24137 (kernel_elf_SOURCES): Add list.c and handler.c.
24138 (kernel_elf_HEADERS): Add list.h and handler.h.
24139
24140 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24141 handler.c.
24142 (kernel_elf_SOURCES): Add list.c and handler.c.
24143 (kernel_elf_HEADERS): Add list.h and handler.h.
24144
24145 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24146 handler.c.
24147 (kernel_mod_SOURCES): Add list.c and handler.c.
24148 (kernel_mod_HEADERS): Add list.h and handler.h.
24149
24150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24151 handler.c.
24152 (kernel_elf_SOURCES): Add list.c and handler.c.
24153 (kernel_elf_HEADERS): Add list.h and handler.h.
24154
8a31787f 241552009-02-27 Robert Millan <rmh@aybabtu.com>
24156
24157 Factorize elf32 / elf64 code in Multiboot loader. This will
24158 prevent it from getting out of sync again.
24159
24160 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24161 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24162 grub_multiboot_load_elf64): Move from here ...
24163 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24164 grub_multiboot_load_elf): ... to here (new file).
24165
51cd3dfc 241662009-02-27 Robert Millan <rmh@aybabtu.com>
24167
24168 * util/grub.d/10_linux.in: Rename "single-user mode" to
24169 "recovery mode".
24170
6e8c9c3a 241712009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24172
24173 Don't leak in SCSI code.
24174 * disk/scsi.c (grub_scsi_close): free `scsi'.
24175
4b6bf4f9 241762009-02-27 Robert Millan <rmh@aybabtu.com>
24177
24178 * loader/i386/pc/multiboot.c: Move from here ...
24179 * loader/i386/multiboot.c: ... to here. Update all users.
24180
b9413424 241812009-02-27 Robert Millan <rmh@aybabtu.com>
24182
24183 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24184 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24185
50fb7002 241862009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24187
24188 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24189 b-tree.
24190
8cc50345 241912009-02-27 Robert Millan <rmh@aybabtu.com>
24192
24193 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24194 `0x' qualifier as 0 when base is specified as parameter).
24195
6e09b8b7 241962009-02-24 Bean <bean123ch@gmail.com>
24197
24198 * configure.ac: Check for -mcmodel=large in x86_64 target.
24199
24200 * include/grub/efi/api.h (efi_call_10): New macro.
24201 (efi_wrap_10): New function.
24202
24203 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24204 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24205 (GRUB_PE32_REL_BASED_LOW): Likewise.
24206 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24207 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24208 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24209 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24210 (GRUB_PE32_REL_BASED_REL): Likewise.
24211 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24212 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24213 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24214
24215 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24216 issue.
24217
24218 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24219 (efi_wrap_10): New function.
24220
24221 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24222
24223 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24224 MB/MBP model (NV chipset).
24225 (devdata_devs): Add devpath_5 to the list.
24226
24227 * load/i386/efi/linux.c (video_base): Remove variable.
24228 (RGB_MASK): New macro.
24229 (RGB_MAGIC): Likewise.
24230 (LINE_MIN): Likewise.
24231 (LINE_MAX): Likewise.
24232 (FBTEST_STEP): Likewise.
24233 (FBTEST_COUNT): Likewise.
24234 (fb_list): New variable.
24235 (grub_find_video_card): Remove function.
24236 (find_framebuf): New function.
24237 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24238 line length.
24239
24240 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24241 problem for x86_64.
24242
74b21bee 242432009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24244
24245 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24246
24247 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24248 coding tool name.
24249
a455f472 242502009-02-22 Robert Millan <rmh@aybabtu.com>
24251
24252 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24253 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24254 in our relocation, instead of using it directly from heap. Also
24255 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24256
6374daf3 242572009-02-21 Robert Millan <rmh@aybabtu.com>
24258
24259 Implement USB keyboard support (based on patch by Marco Gerards)
24260
24261 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24262 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24263 (usb_keyboard_mod_LDFLAGS): New variables.
24264
24265 * term/usb_keyboard.c: New file.
24266
8fa4ea70 242672009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24268
24269 Corrected wrong declaration
24270
24271 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24272
353976ac 242732009-02-14 Christian Franke <franke@computer.org>
24274
24275 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24276 (grub_lspci_iter): Print class code and programming interface byte.
24277
6aa1169b 242782009-02-14 Christian Franke <franke@computer.org>
24279
24280 * gendistlist.sh: Ignore `.svn' directories.
24281
265372ca 242822009-02-14 Felix Zielcke <fzielcke@z-51.de>
24283
24284 * fs/fat.c: Add 2009 to Copyright line.
24285
9ff516f3 242862009-02-14 Christian Franke <franke@computer.org>
24287
24288 * commands/hdparm.c: New file. Provides `hdparm' command
24289 which sends ATA commands via grub_disk_ata_pass_through ().
24290
24291 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24292
24293 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24294 and <grub/cpu/io.h> to include/grub/ata.h.
24295 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24296 (GRUB_CDROM_SECTOR_SIZE): Remove.
24297 (GRUB_ATA_*): Move to include/grub/ata.h.
24298 (GRUB_ATAPI_*): Likewise.
24299 (enum grub_ata_commands): Likewise.
24300 (enum grub_ata_timeout_milliseconds): Likewise.
24301 (struct grub_ata_device): Likewise.
24302 (grub_ata_regset): Likewise.
24303 (grub_ata_regget): Likewise.
24304 (grub_ata_regset2): Likewise.
24305 (grub_ata_regget2): Likewise.
24306 (grub_ata_check_ready): Likewise.
24307 (grub_ata_wait_not_busy): Remove static, exported in
24308 include/grub/ata.h.
24309 (grub_ata_wait_drq): Likewise.
24310 (grub_ata_pio_read): Likewise.
24311
24312 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24313 function for hdparm.mod.
24314
24315 * include/grub/ata.h: New file, contains declarations from
24316 disk/ata.c.
24317 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24318
24319 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24320 (grub_disk_ata_pass_through): New exported variable.
24321
24322 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24323
772e23da 243242009-02-13 Colin D Bennett <colin@gibibit.com>
24325
24326 Support multiple fallback entries, and provide an API to support
24327 executing default+fallback menu entries. Renamed the `terminal' menu
24328 viewer to `text'.
24329
24330 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24331 variable declaration.
24332 (grub_menu_execute_callback): New structure declaration.
24333 (grub_menu_execute_callback_t): New typedef.
24334 (grub_menu_execute_with_fallback): New function declaration.
24335 (grub_menu_get_entry): Likewise.
24336 (grub_menu_get_timeout): Likewise.
24337 (grub_menu_set_timeout): Likewise.
24338
24339 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24340
24341 * normal/menu.c (grub_wait_after_message): Moved to
24342 `normal/menu_text.c'.
24343 (draw_border): Likewise.
24344 (print_message): Likewise.
24345 (print_entry): Likewise.
24346 (print_entries): Likewise.
24347 (grub_menu_init_page): Likewise.
24348 (get_entry_number): Likewise.
24349 (print_timeout): Likewise.
24350 (run_menu): Likewise.
24351 (grub_menu_execute_entry): Likewise.
24352 (show_text_menu): Likewise.
24353 (get_and_remove_first_entry_number): New function.
24354 (grub_menu_execute_with_fallback): Likewise.
24355 (get_entry): Renamed to ...
24356 (grub_menu_get_entry): .. this and made it global.
24357 (get_timeout): Renamed to ...
24358 (grub_menu_get_timeout): ... this and made it global.
24359 (set_timeout): Renamed to ...
24360 (grub_menu_set_timeout): ... this and made it global.
24361 (grub_normal_terminal_menu_viewer): Renamed to ...
24362 (grub_normal_text_menu_viewer): ... this.
24363
24364 * normal/menu_text.c: New file. Extracted text-menu-specific code
24365 from normal/menu.c.
24366
24367 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24368 (normal_mod_SOURCES): Likewise.
24369
24370 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24371 (normal_mod_SOURCES): Likewise.
24372
24373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24374 (normal_mod_SOURCES): Likewise.
24375
24376 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24377 (normal_mod_SOURCES): Likewise.
24378
24379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24380 (normal_mod_SOURCES): Likewise.
24381
24382 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24383 (normal_mod_SOURCES): Likewise.
24384
24385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24386 (normal_mod_SOURCES): Likewise.
24387
16ac430e 243882009-02-11 Robert Millan <rmh@aybabtu.com>
24389
24390 * util/grub.d/00_header.in: Update old reference to `font' command.
24391
06ff20fc 243922009-02-10 Felix Zielcke <fzielcke@z-51.de>
24393
24394 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24395
24396 Based on patch from Javier Martín.
24397
96da9407 243982009-02-09 Felix Zielcke <fzielcke@z-51.de>
24399
24400 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24401 to avoid false positives with FAT.
96da9407 24402 (grub_fstest_SOURCES): Likewise.
24403 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24404 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24406 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24408 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24409
6dca6fe4 244102009-02-09 Felix Zielcke <fzielcke@z-51.de>
24411
06ff20fc 24412 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24413 bpb.version_specific.fat12_or_fat16.fstype and
24414 bpb.version_specific.fat32.fstype.
24415
2550c62f 244162009-02-08 Robert Millan <rmh@aybabtu.com>
24417
be110b30 24418 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24419
56978920 244202009-02-08 Robert Millan <rmh@aybabtu.com>
24421
24422 * Makefile.in (host_os, host_cpu): New variables.
24423 (target_os): Remove. Update all users.
24424
d64399b5 244252009-02-08 Marco Gerards <marco@gnu.org>
24426
24427 * Makefile.in (enable_grub_emu_usb): New variable.
24428 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24429 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24430 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24431 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24432 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24433 `usbtest.mod' and `usbms.mod'.
24434 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24435 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24436 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24437 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24438 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24439 variables.
24440
24441 * disk/usbms.c: New file.
24442
24443 * include/grub/usb.h: Likewise.
24444
24445 * include/grub/usbtrans.h: Likewise.
24446
24447 * include/grub/usbdesc.h: Likewise.
24448
24449 * bus/usb/usbtrans.c: Likewise.
24450
24451 * bus/usb/ohci.c: Likewise.
24452
24453 * bus/usb/uhci.c: Likewise.
24454
24455 * bus/usb/usbhub.c: Likewise.
24456
24457 * bus/usb/usb.c: Likewise.
24458
24459 * commands/usbtest.c: Likewise.
24460
24461 * util/usb.c: Likewise.
50fb7002 24462
d64399b5 24463 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24464
24465 * configure.ac: Test for libusb presence.
50fb7002 24466
d64399b5 24467 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24468
2b40d6bb 244692009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24470
24471 * kern/mm.c: Add more comments.
24472
73a4ce81 244732009-02-08 Robert Millan <rmh@aybabtu.com>
24474
24475 Patch from Javier Martín.
24476 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24477 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24478
f821ce59 244792009-02-08 Robert Millan <rmh@aybabtu.com>
24480
24481 * fs/cpio.c: Split tar functionality to ...
24482 * fs/tar.c: ... here (new file). Update all users.
24483
aebfc4b0 244842009-02-07 Robert Millan <rmh@aybabtu.com>
24485
24486 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24487 backward-incompatible features.
24488
24489 Based on patch from Javier Martín, with some adjustments.
24490
50fb7002 244912009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24492
24493 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24494
0bb5115e 244952009-02-07 Robert Millan <rmh@aybabtu.com>
24496
24497 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24498 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24499 after the RAID stuff.
24500
38a0f8e7 245012009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24502
50fb7002 24503 Fixes problem when running vbetest command as reported by
38a0f8e7 24504 Vladimir Serbinenko <phcoder@gmail.com>.
24505
24506 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24507
3143cc1c 245082009-02-04 Felix Zielcke <fzielcke@z-51.de>
24509
24510 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24511 /dev/md/NpN style mdraid devices.
24512
9cba6fce 245132009-02-03 Felix Zielcke <fzielcke@z-51.de>
24514
24515 * util/unifont2pff.rb: Remove.
24516
e507a2c1 245172009-02-03 Felix Zielcke <fzielcke@z-51.de>
24518
24519 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24520 `#'.
24521
d2c2b4cd 245222009-02-03 Felix Zielcke <fzielcke@z-51.de>
24523
24524 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24525 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24526 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24529 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24530 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24531
b4315fb0 245322009-02-02 Christian Franke <franke@computer.org>
24533
24534 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24535
de3aa260 245362009-02-01 Felix Zielcke <fzielcke@z-51.de>
24537
7c3ff286 24538 * INSTALL: Note that we now require at least autoconf 2.59 and
24539 that LZO is optional.
de3aa260 24540
825a182b 245412009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24542
24543 Base on patch on bug #24154 created by Tomas Tintera
24544 <trosos@seznam.cz>.
24545
24546 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24547
a69ef770 245482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24549
7c3ff286 24550 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24551 <bero@arklinux.org>.
24552
24553 * normal/parser.y (script_init): Add missing semicolon.
24554
6fa42fa6 245552009-01-31 Colin D Bennett <colin@gibibit.com>
24556
7c3ff286 24557 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24558 (free_menu_entry_classes): Added.
24559 (grub_normal_menu_addentry): Added class property handling.
24560 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24561 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24562
24563 * normal/menu_viewer.c: New file.
24564
24565 * normal/menu.c (run_menu_entry): Renamed to ...
24566 (grub_menu_execute_entry): ... this and made it as global.
24567 (grub_menu_run): Renamed to ...
24568 (show_text_menu): ... this and made it local.
24569 (show_text_menu): Adapt to new function names.
24570 (grub_normal_terminal_menu_viewer): New global variable.
24571
24572 * include/grub/menu.h: New file.
24573
24574 * include/grub/menu_viewer.h: New file.
24575
24576 * include/grub/normal.h: Added include to grub/menu.h.
24577 (grub_menu_entry): Moved to include/grub/menu.h.
24578 (grub_menu_entry_t): Likewise.
24579 (grub_menu): Likewise.
24580 (grub_menu_t): Likewise.
24581 (grub_normal_terminal_menu_viewer): Added.
24582 (grub_menu_execute_entry): Likewise.
24583 (grub_menu_run): Removed.
24584
24585 * DISTLIST: Added include/grub/menu.h.
24586 Added include/grub/menu_viewer.h.
24587 Added normal/menu_viewer.c.
24588
245892009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24590
24591 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24592 arglist for menutitle arguments.
24593
24594 * normal/main.c (grub_normal_menu_addentry): Likewise.
24595
24596 * normal/parser.y (menuentry): Likewise.
24597
24598 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24599
24600 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24601 (grub_script_create_cmdmenu): Likewise.
24602
24603 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24604
24605 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24606 changes.
24607
24608 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24609
24610 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24611
24612 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24613
24614 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24615
24616 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24617
24618 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24619
56192c23 246202009-01-30 Christian Franke <franke@computer.org>
24621
24622 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24623 in option help text.
24624
d72521b3 246252009-01-27 Pavel Roskin <proski@gnu.org>
24626
24627 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24628
994b5e84 246292009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24630
24631 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24632
24633 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24634
24635 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24636 unregister function.
24637
6a7eab2c 246382009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24639
24640 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24641
24642 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24643
24644 * util/grub-mkfont.c (usage): Fix typo.
24645
24646 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24647
1806b56e 246482009-01-26 Daniel Mierswa <impulze@impulze.org>
24649
3fb18f09 24650 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24651
336e1fb9 24652 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24653
1806b56e 24654 * kern/misc.c (grub_strcasecmp): New function.
24655 (grub_strcasecmp): Use grub_size_t instead of int for length.
24656 Fix return value.
24657 * include/grub/misc.h: Update function prototypes.
24658
580b2a0f 246592009-01-26 Robert Millan <rmh@aybabtu.com>
24660
24661 * configure.ac: Fix cross-compilation check.
ef257b36 24662
d31c24f1 246632009-01-22 Christian Franke <franke@computer.org>
24664
24665 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24666 (precision) digit string. Allow `.format2' without `format1' (width).
24667 Limit input chars for `%s' output to `format2' if specified. This is
24668 compatible with standard printf ().
24669
3138b44c 246702009-01-22 Christian Franke <franke@computer.org>
24671
24672 * disk/ata.c (grub_ata_wait_status): Replace by ...
24673 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24674 other status bits may be invalid while BSY is asserted.
24675 (grub_ata_check_ready): New function.
24676 (grub_ata_cmd): Removed.
24677 (grub_ata_wait_drq): New function.
24678 (grub_ata_strncpy): Remove inline.
24679 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24680 and error check now done by grub_ata_wait_drq ().
24681 (grub_ata_pio_write): Likewise.
24682 (grub_atapi_identify): Set DEV before check for !BSY. Use
24683 grub_ata_wait_drq () to wait for data.
24684 (grub_ata_device_initialize): Add status register check to
24685 detect missing SATA slave devices. Add debug messages.
24686 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24687 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24688 transfer loop by grub_ata_pio_write ().
24689 (grub_ata_identify): Set DEV before check for !BSY. Use
24690 grub_ata_wait_drq () to wait for data.
ef257b36 24691 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 24692 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24693 read/write in one loop. Fix invalid command on write. Fix incomplete
24694 command on (size % batch) == 0. Add missing error check after write of
24695 last block. Add debug messages.
24696 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24697
59a64ef6 246982009-01-19 Christian Franke <franke@computer.org>
24699
24700 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24701 (GRUB_ATAPI_IREASON_*): Likewise.
24702 (grub_ata_pio_write): Fix timeout error return.
24703 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24704 (grub_atapi_wait_drq): New function.
24705 (grub_atapi_packet): New parameter `size'.
24706 Use grub_atapi_wait_drq () and direct write instead of
24707 grub_ata_pio_write ().
24708 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
24709 reads the number of bytes requested by the device for each DRQ
24710 assertion.
24711 (grub_atapi_write): Remove old implementation, return not
24712 implemented instead.
24713
1cfe20b3 247142009-01-19 Christian Franke <franke@computer.org>
24715
24716 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
24717 of 512 to calculate data size.
24718 (grub_scsi_read12): Likewise.
24719 (grub_scsi_write10): Likewise.
24720 (grub_scsi_write12): Likewise.
24721 (grub_scsi_read): Adjust size according to blocksize.
24722 Add checks for invalid blocksize and unaligned transfer.
24723
bee5fe5d 247242009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
24725
24726 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
24727
ef257b36 24728 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 24729 width glyphs.
24730
3e643f8c 247312009-01-19 Robert Millan <rmh@aybabtu.com>
24732
24733 * config.guess: Update to latest version from config git.
24734 * config.sub: Likewise.
24735
4fa80998 247362009-01-17 Felix Zielcke <fzielcke@z-51.de>
24737
24738 * Makefile.in: Change font compilation to use new grub-mkfont instead
24739 of java version.
24740
24741 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
24742 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24743 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24744 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24745 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24746 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24747 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24748 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24749 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24750
7086085b 247512009-01-16 Christian Franke <franke@computer.org>
24752
24753 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
24754 (enum grub_ata_timeout_milliseconds): New enum.
24755 (grub_ata_wait_status): Add parameter milliseconds.
24756 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
24757 recovery from timed-out commands.
24758 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
24759 return grub_errno instead of REG_ERROR.
24760 (grub_ata_pio_write): Add parameter milliseconds.
24761 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
24762 Pass milliseconds to grub_ata_wait_status () and
24763 grub_ata_pio_read ().
24764 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
24765 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
24766 grub_ata_wait_status (). Fix IDENTIFY timeout check.
24767 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
24768 It is not suitable for device detection, because DEV bit is ignored,
24769 the command may run too long, and not all devices set the signature
24770 properly.
24771 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
24772 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
24773 Fix device selection, DEV bit must be set first to address the registers
24774 of the correct device.
24775 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
24776 grub_ata_pio_read/write ().
24777 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
24778 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
24779
4a412913 247802009-01-13 Carles Pina i Estany <carles@pina.cat>
24781
24782 * util/grub-editenv.c (main): Use fseeko(), not fseek().
24783
7795c55e 247842009-01-13 Bean <bean123ch@gmail.com>
d913988c 24785
24786 * util/grub-mkfont.c (write_font): forget to remove some debug code.
24787
7795c55e 247882009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 24789
24790 * Makefile.in: (enable_grub_mkfont): New variable.
24791 (freetype_cflags): Likewise.
24792 (freetype_libs): Likewise.
24793
24794 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
24795 (grub_mkfont_SOURCES): New variable.
24796 (grub_mkfont_CFLAGS): Likewise.
24797 (grub_mkfont_LDFLAGS): Likewise.
24798
24799 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
24800 library if `--enable-grub-mkfont' is requested.
24801 (enable_grub_mkfont): New variable.
24802 (freetype_cflags): Likewise.
24803 (freetype_libs): Likewise.
24804
24805 * util/grub-mkfont.c: New file.
24806
093af1fe 248072009-01-12 Christian Franke <franke@computer.org>
24808
24809 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
24810 mode check. Fix setting of compat_use[].
24811
f36cc108 248122009-01-10 Robert Millan <rmh@aybabtu.com>
24813
24814 Update a few copyright years which we forgot to do in 2008 (only for
24815 files whose changes made in 2008 were copyright-significant)
24816
24817 * Makefile.in: Add 2008 to Copyright line.
24818 * disk/ieee1275/ofdisk.c: Likewise.
24819 * disk/efi/efidisk.c: Likewise.
24820 * kern/dl.c: Likewise.
24821 * kern/sparc64/ieee1275/init.c: Likewise.
24822 * kern/mm.c: Likewise.
24823 * kern/efi/mm.c: Likewise.
24824 * boot/i386/pc/boot.S: Likewise.
24825 * genfslist.sh: Likewise.
24826 * fs/iso9660.c: Likewise.
24827 * fs/hfs.c: Likewise.
24828 * fs/jfs.c: Likewise.
24829 * fs/minix.c: Likewise.
24830 * fs/ufs.c: Likewise.
24831 * gensymlist.sh.in: Likewise.
24832 * genkernsyms.sh.in: Likewise.
24833 * include/grub/misc.h: Likewise.
24834 * include/grub/types.h: Likewise.
24835 * include/grub/symbol.h: Likewise.
24836 * include/grub/elf.h: Likewise.
24837 * include/grub/kernel.h: Likewise.
24838 * include/grub/disk.h: Likewise.
24839 * include/grub/dl.h: Likewise.
24840 * include/grub/i386/linux.h: Likewise.
24841 * include/grub/i386/pc/biosdisk.h: Likewise.
24842 * include/grub/efi/api.h: Likewise.
24843 * include/grub/efi/pe32.h: Likewise.
24844 * include/grub/util/misc.h: Likewise.
24845 * normal/execute.c: Likewise.
24846 * normal/arg.c: Likewise.
24847 * normal/completion.c: Likewise.
24848 * normal/lexer.c: Likewise.
24849 * normal/parser.y: Likewise.
24850 * normal/misc.c: Likewise.
24851 * commands/i386/pc/vbeinfo.c: Likewise.
24852 * commands/hexdump.c: Likewise.
24853 * commands/terminal.c: Likewise.
24854 * commands/ls.c: Likewise.
24855 * commands/help.c: Likewise.
24856 * partmap/pc.c: Likewise.
24857 * loader/efi/chainloader.c: Likewise.
24858 * loader/multiboot_loader.c: Likewise.
24859 * loader/i386/pc/multiboot2.c: Likewise.
24860 * term/efi/console.c: Likewise.
24861 * term/i386/pc/serial.c: Likewise.
24862 * util/lvm.c: Likewise.
24863 * util/console.c: Likewise.
24864 * util/i386/efi/grub-mkimage.c: Likewise.
24865 * util/raid.c: Likewise.
24866
7f02114b 248672009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
24868
24869 * commands/videotest.c: Removed include to grub/machine/memory.h.
24870
24871 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
24872 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
24873 (video_mod_SOURCES): Removed.
24874 (video_mod_CFLAGS): Likewise.
24875 (video_mod_LDFLAGS): Likewise.
24876 (gfxterm_mod_SOURCES): Likewise.
24877 (gfxterm_mod_CFLAGS): Likewise.
24878 (gfxterm_mod_LDFLAGS): Likewise.
24879 (videotest_mod_SOURCES): Likewise.
24880 (videotest_mod_CFLAGS): Likewise.
24881 (videotest_mod_LDFLAGS): Likewise.
24882 (bitmap_mod_SOURCES): Likewise.
24883 (bitmap_mod_CFLAGS): Likewise.
24884 (bitmap_mod_LDFLAGS): Likewise.
24885 (tga_mod_SOURCES): Likewise.
24886 (tga_mod_CFLAGS): Likewise.
24887 (tga_mod_LDFLAGS): Likewise.
24888 (jpeg_mod_SOURCES): Likewise.
24889 (jpeg_mod_CFLAGS): Likewise.
24890 (jpeg_mod_LDFLAGS): Likewise.
24891 (png_mod_SOURCES): Likewise.
24892 (png_mod_CFLAGS): Likewise.
24893 (png_mod_LDFLAGS): Likewise.
24894
24895 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
24896 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
24897 (video_mod_SOURCES): Added.
24898 (video_mod_CFLAGS): Likewise.
24899 (video_mod_LDFLAGS): Likewise.
24900 (videotest_mod_SOURCES): Likewise.
24901 (videotest_mod_CFLAGS): Likewise.
24902 (videotest_mod_LDFLAGS): Likewise.
24903 (bitmap_mod_SOURCES): Likewise.
24904 (bitmap_mod_CFLAGS): Likewise.
24905 (bitmap_mod_LDFLAGS): Likewise.
24906 (tga_mod_SOURCES): Likewise.
24907 (tga_mod_CFLAGS): Likewise.
24908 (tga_mod_LDFLAGS): Likewise.
24909 (jpeg_mod_SOURCES): Likewise.
24910 (jpeg_mod_CFLAGS): Likewise.
24911 (jpeg_mod_LDFLAGS): Likewise.
24912 (png_mod_SOURCES): Likewise.
24913 (png_mod_CFLAGS): Likewise.
24914 (png_mod_LDFLAGS): Likewise.
24915 (gfxterm_mod_SOURCES): Likewise.
24916 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 24917 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 24918
24919 * term/gfxterm.c: Removed include to grub/machine/memory.h,
24920 grub/machine/console.h.
24921
644fff97 249222009-01-04 Jerone Young <jerone@gmail.com>
24923
24924 Make on screen instructions clearer
24925
24926 Based on patch created by Jidanni <jidanni@jidanni.org>
24927
24928 * normal/menu.c: print clearer instructions on the screen
24929
1e901a75 249302009-01-02 Colin D Bennett <colin@gibibit.com>
24931
24932 New font engine.
34c44600 24933
1e901a75 24934 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
24935 build system and fixed gfxterm.c to work with different sized fonts.
24936
24937 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 24938
1e901a75 24939 * configure: Re-generated.
34c44600 24940
1e901a75 24941 * DISTLIST: Removed font/manager.c.
24942 Added font/font.c.
24943 Added font/font_cmd.c.
34c44600 24944
1e901a75 24945 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
24946 compilation.
34c44600 24947
1e901a75 24948 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 24949
24950 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 24951
24952 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 24953
1e901a75 24954 * normal/menu.c: Likewise.
34c44600 24955
1e901a75 24956 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24957 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 24958
1e901a75 24959 * include/grub/font.h: Replaced with new file.
34c44600 24960
1e901a75 24961 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24962 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24963 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24964 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24965 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 24966 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 24967 fg_red, fg_green, fg_blue, fg_alpha.
24968 (grub_video_adapter): Removed blit_glyph.
34c44600 24969 (grub_video_blit_glyph): Removed.
24970
1e901a75 24971 * font/manager.c: Removed file.
34c44600 24972
24973 * font/font.c: New file.
24974
1e901a75 24975 * font/font_cmd.c: Likewise.
34c44600 24976
1e901a75 24977 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 24978
1e901a75 24979 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24980 (grub_video_vbe_map_rgba): Likewise.
24981 (grub_video_vbe_unmap_color_int): Likewise.
24982 (grub_video_vbe_blit_glyph): Removed.
24983 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 24984
1e901a75 24985 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24986 (get_pixel): Likewise.
34c44600 24987 (set_pixel): Likewise.
24988
1e901a75 24989 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 24990
1e901a75 24991 * term/gfxterm.c: Adapted to new font engine.
34c44600 24992
1e901a75 24993 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 24994
1e901a75 24995 * term/i386/pc/vga.c: Likewise.
34c44600 24996
1e901a75 24997 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 24998
1e901a75 24999 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 25000
1e901a75 25001 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25002
1e901a75 25003 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25004
1e901a75 25005 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25006
1e901a75 25007 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25008
1e901a75 25009 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25010
1e901a75 25011 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25012
1e901a75 25013 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25014
25015 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25016
1e901a75 25017 * util/grub-mkconfig_lib.in: Changed font extension.
25018
278922e8 250192008-12-28 Felix Zielcke <fzielcke@z-51.de>
25020
25021 * util/getroot.c (grub_util_get_grub_dev): Add support for
25022 /dev/md/dNNpNN style partitionable mdraid devices.
25023
3ced05cf 250242008-12-12 Alex Smith <alex@alex-smith.me.uk>
25025
25026 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25027 at a time limit of the PXE TFTP API correctly.
25028 (grub_pxefs_close): Likewise.
25029
7fd0ee30 250302008-11-29 Robert Millan <rmh@aybabtu.com>
25031
34c44600 25032 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25033 grub_ata_device_initialize() calls.
25034
34c44600 250352008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25036
25037 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25038 iteration failed.
25039 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25040
89313780 250412008-11-28 Robert Millan <rmh@aybabtu.com>
25042
25043 Fix build on powerpc-ieee1275. Based on patch created by
25044 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25045 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25046 `kern/ieee1275/mmap.c'.
25047 * include/grub/powerpc/ieee1275/memory.h: New file.
25048
15257703 25049 Provide grub-install on coreboot.
25050 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25051 (grub_install_SOURCES): New variable.
25052 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25053 usable on coreboot.
25054
9fc5388a 250552008-11-25 Felix Zielcke <fzielcke@z-51.de>
25056
25057 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25058 to `grub_term_input_t'.
25059 (grub_term_get_current_output): Change return type to
25060 `grub_term_output_t'.
25061
bc3a2f31 250622008-11-22 Robert Millan <rmh@aybabtu.com>
25063
34c44600 25064 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25065 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25066 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25067 grub_vga_text_cls().
25068
80fc88f2 25069 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25070 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25071
cbf36fd3 25072 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25073 to 0x200000 (avoids trouble with some OFW implementations, and matches
25074 with the one in Yaboot).
25075 Reported by Manoel Abranches
25076
73e8e268 250772008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25078
25079 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25080 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25081
73e8e268 25082 * util/grub-mkconfig_lib.in (grub_warn): New function.
25083 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25084 warnings, to obtain consistent formatting.
25085 * util/grub.d/00_header.in: Likewise.
25086 * util/update-grub_lib.in: Likewise.
25087
e94045a1 25088 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25089 Move comment text to `#error' stanza.
e94045a1 25090
79d29fd7 25091 Harmonize ieee1275's grub_available_iterate() with the generic
25092 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25093 build problem on i386-ieee1275):
25094 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25095 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25096 parameter `type'. Update all users of this function.
25097 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25098 `kern/ieee1275/mmap.c'.
25099 * kern/ieee1275/init.c
25100 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25101 with ...
25102 (grub_machine_mmap_iterate): ... this.
25103 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25104 return type to `grub_err_t'. Update all implementations of this
25105 function prototype.
25106 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25107 Likewise.
25108
60d6b16e 25109 Add `lsmmap' command (lists firmware-provided memory map):
25110 * commands/lsmmap.c: New file.
25111 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25112 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25113 variables.
25114 * conf/powerpc-ieee1275.rmk: Likewise.
25115 * conf/i386-coreboot.rmk: Likewise.
25116 * conf/i386-ieee1275.rmk: Likewise.
25117
ebaaf49b 251182008-11-19 Robert Millan <rmh@aybabtu.com>
25119
25120 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25121 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25122 constraints to initrd allocation (based on code from
25123 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25124 for Linux to find it.
ebaaf49b 25125
dfab719f 251262008-11-14 Robert Millan <rmh@aybabtu.com>
25127
25128 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25129 order to cope with duplicate slashes.
25130
10fc3eb9 251312008-11-14 Robert Millan <rmh@aybabtu.com>
25132
25133 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25134 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25135 don't want to mess with lower memory, because it is used in the Linux
25136 loader.
25137
25138 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25139 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25140 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25141 is in our heap (probably as a result of it being corrupted during
2f2a3442 25142 decompression). Add #error instance with comment to explain why this
25143 loader isn't currently usable on PC/BIOS.
10fc3eb9 25144
e2e07847 251452008-11-14 Robert Millan <rmh@aybabtu.com>
25146
25147 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25148 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25149
fe8e8d69 251502008-11-12 Robert Millan <rmh@aybabtu.com>
25151
25152 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25153
25154 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25155 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25156 from here ...
25157 * include/grub/i386/pc/memory.h: ... to here.
25158
976b07d0 251592008-11-12 Robert Millan <rmh@aybabtu.com>
25160
25161 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25162 split).
25163
25164 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25165 (grub_console_cur_color, grub_console_real_putchar)
25166 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25167 (grub_console_setcolorstate, grub_console_setcolor)
25168 (grub_console_getcolor): Move from here ...
25169 * include/grub/i386/vga_common.h: ... to here (new file).
25170
25171 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25172 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25173 `<grub/i386/io.h>'.
25174 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25175 `<grub/i386/vga_common.h>'.
25176
76679cd3 251772008-11-12 Robert Millan <rmh@aybabtu.com>
25178
25179 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25180 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25181 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25182 variables.
25183 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25184 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25185
25186 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25187 grub_console_init() with call to grub_vga_text_init().
25188 (grub_machine_fini): Replace call to
25189 grub_console_fini() with call to grub_vga_text_fini() and
25190 grub_at_keyboard_fini().
25191
25192 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25193 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25194 (grub_console_setcolorstate, grub_console_setcolor)
25195 (grub_console_getcolor): New function prototypes.
25196
25197 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25198 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25199 (grub_vga_text_setcursor): Static-ize.
25200 (grub_vga_text_term): New structure.
25201 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25202
25203 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25204 (grub_console_cur_color, grub_console_standard_color)
25205 (grub_console_normal_color, grub_console_highlight_color)
25206 (map_char, grub_console_putchar, grub_console_getcharwidth)
25207 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25208 (grub_console_getcolor): Move from here ...
25209 * term/i386/vga_common.c: ... to here (same function names).
25210
95b841d3 252112008-11-12 Robert Millan <rmh@aybabtu.com>
25212
25213 Use newly-added Multiboot support in coreboot.
25214
25215 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25216 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25217
25218 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25219 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25220 (codestart): Store the MBI in `startup_multiboot_info' when we're
25221 being loaded using Multiboot.
25222
25223 * kern/i386/coreboot/init.c (grub_machine_init): Move
25224 grub_at_keyboard_init() call to beginning of function (useful for
25225 debugging). Call grub_machine_mmap_init() before attempting to use
25226 grub_machine_mmap_iterate().
25227 (grub_lower_mem, grub_upper_mem): Move from here ...
25228 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25229 here (new file).
25230
25231 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25232 function prototype.
25233
761ca975 252342008-11-12 Robert Millan <rmh@aybabtu.com>
25235
25236 Fix a regression introduced by the at_keyboard.mod split. Because
25237 some terminals are default on some platforms and non-default on
25238 others, the first terminal being registered determines which is
25239 going to be default.
25240
25241 * kern/term.c (grub_term_register_input): If this is the first
25242 terminal being registered, set it as the current one.
25243 (grub_term_register_output): Likewise.
25244
25245 * term/efi/console.c (grub_console_init): Do not call
25246 grub_term_set_current_output() or grub_term_set_current_input().
25247 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25248 * term/i386/pc/console.c (grub_console_init): Likewise.
25249 (grub_console_fini): Do not call grub_term_set_current_input()
25250 (but leave grub_term_set_current_output() to restore text mode).
25251
6c529df7 252522008-11-10 Robert Millan <rmh@aybabtu.com>
25253
25254 * util/grub.d/00_header.in: Add backward compatibility check for
25255 versions of terminal.mod that don't understand `terminal_input' or
25256 `terminal_output'.
25257
132e4113 252582008-11-09 Robert Millan <rmh@aybabtu.com>
25259
25260 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25261 `terminal_input' / `terminal_output', not `terminal'.
25262
ac293d50 252632008-11-08 Robert Millan <rmh@aybabtu.com>
25264
25265 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25266 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25267
0025933a 252682008-11-08 Robert Millan <rmh@aybabtu.com>
25269
25270 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25271 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25272 members. Update all users.
25273 * util/console.c (grub_ncurses_term): Split in ...
25274 (grub_ncurses_term_input): ... this, and ...
25275 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25276 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25277
37c86336 252782008-11-08 Robert Millan <rmh@aybabtu.com>
25279
25280 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25281 (PKGDATA): Add $(pkgdata_SRCDIR).
25282 (pkglib_BUILDDIR): New variable.
25283 (pkgdata_SRCDIR): New variable.
25284 (build_env.mk): New target.
25285 (include_DATA): New variable.
25286 (install-local): Install $(include_DATA) files in $(includedir).
25287
b6c15a2d 252882008-11-07 Pavel Roskin <proski@gnu.org>
25289
d99d46f1 25290 * gendistlist.sh: Use C locale for sorting to ensure consistent
25291 output on all systems.
25292
b6c15a2d 25293 * util/grub.d/00_header.in: Remove incorrect space before
25294 "serial".
25295
c32ee8c9 252962008-11-07 Robert Millan <rmh@aybabtu.com>
25297
25298 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25299 per specification.
25300 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25301 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25302 (based on find_multi_boot1_header).
25303 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25304 using find_multi_boot2_header(), and abort if neither Multiboot or
25305 Multiboot headers were found.
25306
651c29b7 253072008-11-07 Robert Millan <rmh@aybabtu.com>
25308
25309 Modularize at_keyboard.mod:
25310
25311 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25312 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25313 (at_keyboard_mod_LDFLAGS): New variables.
25314
25315 Actual terminal split:
25316
25317 * include/grub/term.h (struct grub_term): Split in ...
25318 (struct grub_term_input): ... this, and ...
25319 (struct grub_term_output): ... this. Update all users.
25320 (grub_term_set_current): Split in ...
25321 (grub_term_set_current_input): ... this, and ...
25322 (grub_term_set_current_output): ... this.
25323 (grub_term_get_current): Split in ...
25324 (grub_term_get_current_input): ... this, and ...
25325 (grub_term_get_current_output): ... this.
25326 (grub_term_register): Split in ...
25327 (grub_term_register_input): ... this, and ...
25328 (grub_term_register_output): ... this.
25329 (grub_term_unregister): Split in ...
25330 (grub_term_unregister_input): ... this, and ...
25331 (grub_term_unregister_output): ... this.
25332 (grub_term_iterate): Split in ...
25333 (grub_term_iterate_input): ... this, and ...
25334 (grub_term_iterate_output): ... this.
25335
25336 * kern/term.c (grub_term_list): Split in ...
25337 (grub_term_list_input): ... this, and ...
25338 (grub_term_list_output): ... this. Update all users.
25339 (grub_cur_term): Split in ...
25340 (grub_cur_term_input): ... this, and ...
25341 (grub_cur_term_output): ... this. Update all users.
25342 (grub_term_set_current): Split in ...
25343 (grub_term_set_current_input): ... this, and ...
25344 (grub_term_set_current_output): ... this.
25345 (grub_term_get_current): Split in ...
25346 (grub_term_get_current_input): ... this, and ...
25347 (grub_term_get_current_output): ... this.
25348 (grub_term_register): Split in ...
25349 (grub_term_register_input): ... this, and ...
25350 (grub_term_register_output): ... this.
25351 (grub_term_unregister): Split in ...
25352 (grub_term_unregister_input): ... this, and ...
25353 (grub_term_unregister_output): ... this.
25354 (grub_term_iterate): Split in ...
25355 (grub_term_iterate_input): ... this, and ...
25356 (grub_term_iterate_output): ... this.
25357
25358 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25359 a check for input and one for output (and only attempt to get keys
25360 from user when input works).
25361
25362 * util/grub-probe.c (grub_term_get_current): Split in ...
25363 (grub_term_get_current_input): ... this, and ...
25364 (grub_term_get_current_output): ... this.
25365 * util/grub-fstest.c: Likewise.
25366 * util/i386/pc/grub-setup.c: Likewise.
25367 * util/grub-editenv.c: Likewise.
25368
25369 Portability adjustments:
25370
25371 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25372 `term/i386/pc/at_keyboard.c'.
25373 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25374 grub_keyboard_controller_init() (now handled by terminal .init).
25375 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25376 grub_at_keyboard_init().
25377 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25378 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25379 at_keyboard.mod via input terminal interface).
25380 * include/grub/i386/coreboot/console.h: Convert into a stub for
25381 `<grub/i386/pc/console.h>'.
25382
25383 Migrate full terminals to new API:
25384
25385 * term/efi/console.c (grub_console_term): Split into ...
25386 (grub_console_term_input): ... this, and ...
25387 (grub_console_term_output): ... this. Update all users.
25388 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25389 (grub_ofconsole_init): Split into ...
25390 (grub_ofconsole_init_input): ... this, and ...
25391 (grub_ofconsole_init_output): ... this.
25392 (grub_ofconsole_term): Split into ...
25393 (grub_ofconsole_term_input): ... this, and ...
25394 (grub_ofconsole_term_output): ... this. Update all users.
25395 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25396 (grub_serial_term_input): ... this, and ...
25397 (grub_serial_term_output): ... this. Update all users.
25398 * term/i386/pc/console.c (grub_console_term): Split into ...
25399 (grub_console_term_input): ... this, and ...
25400 (grub_console_term_output): ... this. Update all users.
25401 (grub_console_term_input): Only enable it on PC/BIOS platform.
25402 (grub_console_init): Remove grub_keyboard_controller_init() call.
25403
25404 Migrate input terminals to new API:
25405
25406 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25407 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25408 i386-specific anyway).
25409 (grub_console_checkkey): Rename to ...
25410 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25411 users.
25412 (grub_keyboard_controller_orig): New variable.
25413 (grub_console_getkey): Rename to ...
25414 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25415 users.
25416 (grub_keyboard_controller_init): Static-ize. Save original
25417 controller value so that it can be restored ...
25418 (grub_keyboard_controller_fini): ... here (new function).
25419 (grub_at_keyboard_term): New structure.
25420 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25421 functions.
25422
25423 Migrate output terminals to new API:
25424
25425 * term/i386/pc/vga.c (grub_vga_term): Change type to
25426 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25427 members. Update all users.
25428 * term/gfxterm.c (grub_video_term): Change type to
25429 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25430 members. Update all users.
25431 * include/grub/i386/pc/console.h (grub_console_checkkey)
25432 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25433 etc).
25434
25435 Migrate `terminal' command and userland tools to new API:
25436
25437 * commands/terminal.c (grub_cmd_terminal): Split into ...
25438 (grub_cmd_terminal_input): ... this, and ...
25439 (grub_cmd_terminal_output): ... this.
25440 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25441 `terminal_input' and `terminal_output'.
25442 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25443 `terminal_input' / `terminal_output' API.
25444 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25445 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25446 provided ${GRUB_TERMINAL}, convert it).
25447
96e5d876 254482008-11-04 Robert Millan <rmh@aybabtu.com>
25449
25450 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25451 for FreeBSD.
25452 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25453
556f3775 254542008-11-03 Bean <bean123ch@gmail.com>
25455
25456 * kern/elf.c (grub_elf32_load): Revert to previous code.
25457 (grub_elf64_load): Likewise.
25458
25459 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25460
926b9823 254612008-11-01 Robert Millan <rmh@aybabtu.com>
25462
25463 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25464 (TARGET_CPPFLAGS): Likewise.
25465 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25466
1432e958 254672008-11-01 Carles Pina i Estany <carles@pina.cat>
25468
25469 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25470
dba3f844 254712008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25472
25473 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25474 addition of objects until the code is not going to be able to fail.
25475
dba3f844 254762008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25477
25478 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25479 (add a missing NULL check, and correct them by moving the pointer
25480 operations after the actual check).
25481
7ab28c21 254822008-10-29 Robert Millan <rmh@aybabtu.com>
25483
25484 * util/i386/pc/grub-install.in: Handle empty string as output from
25485 make_system_path_relative_to_its_root().
25486
1b7748eb 254872008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25488
25489 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25490 circular metadata worst case scenario. If the metadata is circular
25491 then copy the wrap in place.
25492 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25493 project lib/format_text/layout.h
25494 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25495
c9618ab2 254962008-10-03 Felix Zielcke <fzielcke@z-51.de>
25497
7a36edca 25498 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25499
bf981c62 255002008-10-03 Felix Zielcke <fzielcke@z-51.de>
25501
25502 * util/update-grub_lib.in: Mention filename in warning message.
25503
6d994591 255042008-09-29 Felix Zielcke <fzielcke@z-51.de>
25505
25506 * NEWS: Update for rename of update-grub to grub-mkconfig.
25507
18ade780 255082008-09-29 Felix Zielcke <fzielcke@z-51.de>
25509
25510 * util/update-grub_lib.in: Copy to ...
25511 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25512 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25513 * util/update-grub.in: Rename to ...
25514 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25515 option. Add `--output' option to allow users to specify the generated
25516 configuration file. Default to stdout.
25517 (update_grub_dir): Rename to ...
25518 (grub_mkconfig_dir): ... this.
25519 (grub_cfg): Default to an empty string.
25520 * conf/common.rmk (update-grub): Rename to ...
25521 (grub-mkconfig): ... this.
25522 (update-grub_lib): Copy to ...
25523 (grub-mkconfig_lib): ... this.
25524 (update-grub_SCRIPTS): Copy to ...
25525 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25526 (update-grub_DATA): Rename to ...
25527 (grub-mkconfig_DATA): ... this.
25528
556ce6ac 255292008-09-28 Robert Millan <rmh@aybabtu.com>
25530
25531 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25532 to `modified'. Add the real `created' field.
25533 (grub_iso9660_uuid): Use `modified' rather than `created' for
25534 constructing the UUID.
25535
255362008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25537
25538 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25539 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25540
92274e85 255412008-09-28 Bean <bean123ch@gmail.com>
25542
25543 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25544 Thanks to Christian Franke for finding this bug.
25545
add6f17a 255462008-09-25 Robert Millan <rmh@aybabtu.com>
25547
25548 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25549 instances of grub_util_get_disk_name() (see previous commit).
25550
d2a367b8 255512008-09-25 Robert Millan <rmh@aybabtu.com>
25552
25553 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25554 `util/i386/get_disk_name.c'.
25555 * conf/i386-efi.rmk: Likewise.
25556 * conf/x86_64-efi.rmk: Likewise.
25557 * conf/i386-coreboot.rmk: Likewise.
25558 * conf/i386-ieee1275.rmk: Likewise.
25559 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25560 `util/ieee1275/get_disk_name.c'.
25561 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25562 * util/ieee1275/get_disk_name.c: Remove file.
25563 * util/i386/get_disk_name.c: Remove file.
25564 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25565 "hd%d" for device.map entries, rather than using
25566 grub_util_get_disk_name().
25567
81a06771 255682008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25569
25570 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25571 warning.
25572 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25573
5a004279 255742008-09-24 Carles Pina i Estany <carles@pina.cat>
25575
25576 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25577 Changed to 0x5100.
25578 (GRUB_TERM_PPAGE): Changed to 0x4900.
25579
397093d3 255802008-09-24 Robert Millan <rmh@aybabtu.com>
25581
25582 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25583 macros (they were i386-pc specific).
25584 * include/grub/sparc64/ieee1275/console.h: Likewise.
25585 * include/grub/efi/console.h: Likewise.
25586
a91b6c7c 255872008-09-22 Bean <bean123ch@gmail.com>
25588
25589 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25590 resident and in attribute list.
25591
25592 * include/grub/ntfs.h (BMP_LEN): Removed.
25593
c40fd116 255942008-09-22 Bean <bean123ch@gmail.com>
25595
81a06771 25596 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 25597 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25598
25599 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25600 error occurs, as grub_disk_open will call grub_disk_close, which will
25601 call p->close (scsi).
25602
81a06771 256032008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 25604
25605 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25606 (AC_PREREQ): Bumped to 2.59.
25607 (AC_TRY_COMPILE): Replace obsolete macro with ...
25608 (AC_COMPILE_IFELSE): ... this.
25609 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25610 (AC_LINK_IFELSE): ... this.
25611
5dc43410 256122008-09-21 Felix Zielcke <fzielcke@z-51.de>
25613
25614 * autogen.sh: Add a call to `gendistlist.sh'.
25615
9035dce4 256162008-09-19 Christian Franke <franke@computer.org>
25617
25618 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25619 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25620 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25621 Export __enable_execute_stack() to modules.
25622 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25623 New function.
25624
7fd75377 256252008-09-09 Felix Zielcke <fzielcke@z-51.de>
25626
040030b3 25627 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25628 Sort the list.
25629
256302008-09-09 Felix Zielcke <fzielcke@z-51.de>
25631
25632 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 25633 #include <grub/util/hostdisk.h>.
25634
89d5ffcf 256352008-09-08 Robert Millan <rmh@aybabtu.com>
25636
25637 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25638 segments when their filesz is zero (grub_file_read() interprets
81a06771 25639 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 25640 Use `lowest_segment' rather than 0 for calculating the current
25641 segment load address.
25642
40da438f 256432008-09-08 Robert Millan <rmh@aybabtu.com>
25644
25645 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25646 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25647 clobbered useful information.
25648
ddbf5556 256492008-09-08 Robert Millan <rmh@aybabtu.com>
25650
25651 * include/grub/util/biosdisk.h: Move to ...
25652 * include/grub/util/hostdisk.h: ... here. Update all users.
25653 * util/biosdisk.c: Move to ...
25654 * util/hostdisk.c: ... here. Update all users.
25655
783d0f48 256562008-09-07 Robert Millan <rmh@aybabtu.com>
25657
25658 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25659 variables.
25660 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25661 and length can be stored directly in the `mbi->mmap_addr' and
25662 `mbi->mmap_length' struct fields.
25663
548e2ea5 256642008-09-07 Robert Millan <rmh@aybabtu.com>
25665
25666 * conf/i386.rmk: New file. Provides declaration for building
25667 `cpuid.mod'.
25668 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25669 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25670 variables.
25671 Include `conf/i386.mk'.
25672 * conf/i386-efi.rmk: Likewise.
25673 * conf/x86_64-efi.rmk: Likewise.
25674 * conf/i386-coreboot.rmk: Likewise.
25675 * conf/i386-ieee1275.rmk: Likewise.
25676
0ea85a37 256772008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25678
25679 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25680 Adds optimization support for BGR based modes.
25681
25682 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25683 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25684 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25685 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25686 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25687 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25688 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25689 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25690 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25691 (grub_video_i386_vbeblit_index_index): Likewise.
25692 (grub_video_i386_vbeblit_replace_directN): Added.
25693 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25694 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25695 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25696 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25697 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25698 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 25699 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 25700 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25701 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25702 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25703 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25704 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25705 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
25706
25707 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
25708 (grub_video_i386_vbefill_R8G8B8): Likewise.
25709 (grub_video_i386_vbefill_index): Likewise.
25710 (grub_video_i386_vbefill_direct32): Added.
25711 (grub_video_i386_vbefill_direct24): Likewise.
25712 (grub_video_i386_vbefill_direct16): Likewise.
25713 (grub_video_i386_vbefill_direct8): Likewise.
25714
81a06771 25715 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 25716 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
25717 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
25718 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
25719 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
25720 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 25721
0ea85a37 25722 * video/video.c (grub_video_get_blit_format): Updated to use new
25723 blit formats. Added handling for 16 bit color modes.
81a06771 25724
25725 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 25726 fillers.
25727 (common_blitter): Updated to use new blitters.
25728
25729 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
25730 Removed.
25731 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25732 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25733 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25734 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25735 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25736 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25737 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25738 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25739 (grub_video_i386_vbeblit_index_index): Likewise.
25740 (grub_video_i386_vbeblit_replace_directN): Added.
25741 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25742 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25743 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25744 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25745 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25746 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25747 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25748 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25749 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25750 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25751 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25752 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25753 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 25754
0ea85a37 25755 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
25756 (grub_video_i386_vbefill_R8G8B8): Likewise.
25757 (grub_video_i386_vbefill_index): Likewise.
25758 (grub_video_i386_vbefill_direct32): Added.
25759 (grub_video_i386_vbefill_direct24): Likewise.
25760 (grub_video_i386_vbefill_direct16): Likewise.
25761 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 25762
0ea85a37 25763 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
25764 types.
81a06771 25765
0ea85a37 25766 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
25767 types.
81a06771 25768
0ea85a37 25769 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
25770 blitter types.
81a06771 25771
0ea85a37 25772 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
25773 types.
25774
e8a83df6 257752008-09-06 Felix Zielcke <fzielcke@z-51.de>
25776
25777 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
25778 RAID level 1.
25779
6bcd8ee5 257802008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 25781
6bcd8ee5 25782 * fs/iso9660.c (grub_iso9660_date): New structure.
25783 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
25784 (grub_iso9660_uuid): New function.
c375ae58 25785
59261157 257862008-09-05 Bean <bean123ch@gmail.com>
25787
25788 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
25789
25790 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
25791 insensitive bit for names in Win32 and Win32 & DOS namespace.
25792
25793 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
25794
25795 * include/grub/types.h (LONG_MAX): Likewise.
25796
58b6645a 257972008-09-04 Felix Zielcke <fzielcke@z-51.de>
25798
4ee55921 25799 * util/getroot.c: Include <config.h>.
25800 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
25801 add support for /dev/md/N devices and handle LVM double dash escaping.
25802
258032008-09-04 Felix Zielcke <fzielcke@z-51.de>
25804
25805 * config.guess: Update to latest version from config git.
25806 * config.sub: Likewise.
58b6645a 25807
9124f65d 258082008-09-03 Robert Millan <rmh@aybabtu.com>
25809
25810 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
25811 `disk->total_sectors'.
25812
81a06771 258132008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 25814
25815 * include/grub/normal.h: Fixed incorrect comment for
25816 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
25817
81a06771 258182008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 25819
25820 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
25821 values with defines.
25822
25823 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
25824 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
25825 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
25826 (GRUB_VBE_MODEATTR_COLOR): Likewise.
25827 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
25828 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
25829 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
25830 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
25831 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
25832 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
25833 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
25834 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
25835 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
25836 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
25837 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
25838 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
25839 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
25840 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
25841 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
25842
93d5cbf8 258432008-08-31 Robert Millan <rmh@aybabtu.com>
25844
25845 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
25846 declaration.
25847 (grub_multiboot): Fix a few warnings.
25848
21751d50 258492008-08-31 Robert Millan <rmh@aybabtu.com>
25850
25851 * loader/i386/pc/multiboot.c: Update comment not to say that
25852 boot_device support is unimplemented.
25853
e27a75c5 258542008-08-31 Robert Millan <rmh@aybabtu.com>
25855
25856 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
25857 or memory map support are unimplemented.
25858
81a06771 258592008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 25860
25861 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
25862
81a06771 258632008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 25864
25865 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
25866 total video memory in 'vbeinfo' output; show color format details for
25867 each video mode.
25868
7c5d8d95 258692008-08-30 Pavel Roskin <proski@gnu.org>
25870
25871 * util/genmoddep.c: Remove for real this time.
25872 * DISTLIST: Remove util/genmoddep.c.
25873
4cebd25a 258742008-08-30 Robert Millan <rmh@aybabtu.com>
25875
25876 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
25877 as required by Multiboot spec (it was already 4-byte aligned, but
25878 only by chance).
25879
b497a269 258802008-08-29 Pavel Roskin <proski@gnu.org>
25881
e3925185 25882 * kern/powerpc/ieee1275/crt0.S: Rename to ...
25883 * kern/powerpc/ieee1275/startup.S: ... this.
25884 * conf/powerpc-ieee1275.rmk: Adjust for the above.
25885 * DISTLIST: Likewise.
25886
b497a269 25887 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
25888 grub/cpu/kernel.h. Add start label for consistency with other
25889 platforms. Add grub_prefix immediately after start. Add jump
25890 to the code after grub_prefix.
25891 * include/grub/powerpc/kernel.h: Provide valid values for
25892 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
25893
6e5a42fe 258942008-08-29 Bean <bean123ch@gmail.com>
25895
25896 * configure.ac: Change host_os to cygwin for mingw.
25897 (asprintf): New check for function.
25898
25899 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
25900 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
25901
25902 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 25903 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 25904 sync, sleep and grub_util_get_disk_size for mingw.
25905
25906 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
25907 to get size in mingw.
25908 (open_device): Use flag O_BINARY if it's defined.
25909 (find_root_device): Add dummy code for mingw.
25910
25911 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
25912 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
25913 (get_scsi_disk_name): Return 0 for mingw.
25914
25915 * util/hostfs.c: #include <grub/util/misc.h>.
25916 (grub_hostfs_open): Use "rb" flag to open file, use
25917 grub_util_get_disk_size to get disk size for mingw.
25918
25919 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
25920 (asprintf): New function if HAVE_ASPRINTF is not set.
25921 (sync): New function for mingw.
25922 (sleep): Likewise.
25923 (grub_util_get_disk_size): Likewise.
25924
ab3f2673 259252008-08-28 Pavel Roskin <proski@gnu.org>
25926
25927 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25928 kern/time.c.
25929
1c282483 259302008-08-28 Robert Millan <rmh@aybabtu.com>
25931
25932 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
25933
678e849c 259342008-08-28 Robert Millan <rmh@aybabtu.com>
25935
25936 Change find_grub_drive() syntax so it doesn't prevent it from
25937 detecting NULL names as errors.
25938
25939 * util/biosdisk.c (find_grub_drive): Move free slot search code
25940 from here ...
25941 (find_free_slot): ... to here.
25942 (read_device_map): Use find_free_slot() to search for free slots.
25943
965c75ca 259442008-08-27 Marco Gerards <marco@gnu.org>
25945
25946 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
25947 (scsi_mod_SOURCES): New variable.
25948 (scsi_mod_CFLAGS): Likewise
25949 (scsi_mod_LDFLAGS): Likewise.
25950
25951 * disk/scsi.c: New file.
25952
25953 * include/grub/scsi.h: Likewise.
25954
25955 * include/grub/scsicmd.h: Likewise.
25956
25957 * disk/ata.c: Include <grub/scsi.h>.
25958 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25959 instead.
25960 (grub_ata_iterate): Skip ATAPI devices.
25961 (grub_ata_open): Only handle ATAPI devices.
25962 (struct grub_atapi_read): Removed.
25963 (grub_atapi_readsector): Likewise.
25964 (grub_ata_read): No longer handle ATAPI devices.
25965 (grub_ata_write): Likewise.
25966 (grub_atapi_iterate): New function.
25967 (grub_atapi_read): Likewise.
25968 (grub_atapi_write): Likewise.
25969 (grub_atapi_open): Likewise.
25970 (grub_atapi_close): Likewise.
25971 (grub_atapi_dev): New variable.
25972 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25973 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25974
25975 * include/grub/disk.h (enum grub_disk_dev_id): Add
25976 `GRUB_DISK_DEVICE_SCSI_ID'.
25977
c07ae501 259782008-08-26 Robert Millan <rmh@aybabtu.com>
25979
25980 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25981 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25982 descriptive.
25983
5ed20adc 259842008-08-23 Bean <bean123ch@gmail.com>
25985
25986 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25987 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25988 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25989 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25990 dm_nv.mod.
25991 (raid5rec_mod_SOURCES): New macro.
25992 (raid5rec_mod_CFLAGS): Likewise.
25993 (raid5rec_mod_LDFLAGS): Likewise.
25994 (raid6rec_mod_SOURCES): Likewise.
25995 (raid6rec_mod_CFLAGS): Likewise.
25996 (raid6rec_mod_LDFLAGS): Likewise.
25997 (mdraid_mod_SOURCES): Likewise.
25998 (mdraid_mod_CFLAGS): Likewise.
25999 (mdraid_mod_LDFLAGS): Likewise.
26000 (dm_nv_mod_SOURCES): Likewise.
26001 (dm_nv_mod_CFLAGS): Likewise.
26002 (dm_nv_mod_LDFLAGS): Likewise.
26003
26004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26005 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26006 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26007
26008 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26009 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26010
26011 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26012
26013 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26014
26015 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26016
26017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26018
26019 * disk/raid5_recover.c: New file.
26020
26021 * disk/raid6_recover.c: Likewise.
26022
26023 * disk/mdraid_linux.c: Likewise.
26024
26025 * disk/dmraid_nvidia.c: Likewise.
26026
26027 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26028 ULONG_MAX.
26029
26030 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26031 calculate the size of raid device.
26032 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26033 different layout of raid5.
26034 (grub_raid_scan_device): Remove code specific to mdraid.
26035 (grub_raid_list): New variable.
26036 (free_array): New function.
26037 (grub_raid_register): Likewise.
26038 (grub_raid_unregister): Likewise.
26039 (grub_raid_rescan): Likewise.
26040 (GRUB_MOD_INIT): Don't iterate device here.
26041 (GRUB_MOD_FINI): Use free_array to release resource.
26042
26043 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26044 (grub_raid5_recover_func_t): New function variable type.
26045 (grub_raid6_recover_func_t): Likewise.
26046 (grub_raid5_recover_func): New variable.
26047 (grub_raid6_recover_func): Likewise.
26048 (grub_raid_register): New function.
26049 (grub_raid_unregister): Likewise.
26050 (grub_raid_rescan): Likewise.
26051 (grub_raid_block_xor): Likewise.
26052
26053 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26054 (CMD_CRC): New macro.
26055 (part): Removed.
26056 (read_file): Handle device as well as file.
26057 (cmd_crc): New function.
26058 (fstest): Handle multiple disks.
26059 (options): Remove part, raw and long, add root and diskcount.
26060 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26061 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26062 add handling for the new options, support multiple disks.
26063
26064 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26065
29c18915 260662008-08-23 Bean <bean123ch@gmail.com>
26067
26068 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26069
26070 * genfslist.sh: Ignore kernel.mod.
26071
26072 * genpartmaplist.sh: Likewise.
26073
8415f261 260742008-08-23 Robert Millan <rmh@aybabtu.com>
26075
26076 * util/getroot.c (find_root_device): Skip anything that starts with
26077 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26078
d5a7dc5b 260792008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26080
d5a7dc5b 26081 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26082 * util/grub.d/00_header.in: Allow the administrator to change default
26083 gfxmode via ${GRUB_GFXMODE}.
26084
380cfbb4 260852008-08-21 Felix Zielcke <fzielcke@z-51.de>
26086
26087 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26088
c9baafe7 260892008-08-21 Robert Millan <rmh@aybabtu.com>
26090
26091 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26092 loader.
26093 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26094 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26095
e290bef2 260962008-08-20 Carles Pina i Estany <carles@pina.cat>
26097
26098 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26099 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26100
f9dbfc96 261012008-08-19 Robert Millan <rmh@aybabtu.com>
26102
26103 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26104 (struct grub_virtual_screen): Remove `cursor_color'.
26105 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26106 initialization.
26107 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26108
dd6bd6ab 261092008-08-18 Robert Millan <rmh@aybabtu.com>
26110
26111 Unify (identical) linux_normal.c files.
26112 * loader/i386/efi/linux_normal.c: Move from here ...
26113 * loader/linux_normal.c: ... to here. Update all users.
26114 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26115 * loader/i386/ieee1275/linux_normal.c: Likewise.
26116
7f42f83e 261172008-08-18 Robert Millan <rmh@aybabtu.com>
26118
26119 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26120 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26121 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26122 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26123 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26124 New macros.
26125 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26126 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26127 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26128 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26129 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26130 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26131 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26132 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26133 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26134 portably using grub_getxy().
26135 Replace `-EFI' with `-bzImage' in boot message.
26136
38487ddb 261372008-08-17 Robert Millan <rmh@aybabtu.com>
26138
26139 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26140
deceb3ec 261412008-08-17 Robert Millan <rmh@aybabtu.com>
26142
26143 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26144
26145 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26146 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26147 (grub_machine_mmap_iterate): New function declaration.
26148 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26149 structure.
26150 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26151 macros.
26152
26153 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26154 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26155 Move e820 parsing from here ...
26156 * kern/i386/pc/mmap.c: New file.
26157 (grub_machine_mmap_iterate): ... to here.
26158
26159 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26160 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26161 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26162 (grub_available_iterate): Redeclare to return `void', and redeclare
26163 its hook to use grub_uint64_t as addr and size parameters, and rename
26164 to ...
26165 (grub_machine_mmap_iterate): ... this. Update all users.
26166
26167 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26168 to make it more readable. Rename to ...
26169 (grub_machine_mmap_iterate): ... this.
26170
26171 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26172 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26173 (grub_multiboot): Allocate an extra region after the payload, and fill
26174 it with a Multiboot memory map. Adjust a.out loader to calculate size
26175 with the extra space.
26176 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26177 with the extra space.
26178
f8aa0f43 261792008-08-17 Carles Pina i Estany <carles@pina.cat>
26180
9807deb9 26181 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26182
605f5bb6 261832008-08-17 Felix Zielcke <fzielcke@z-51.de>
26184
26185 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26186 mdate-sh to the list `find' searches for.
26187 * DISTLIST: Regenerated.
26188
210db6c6 261892008-08-16 Felix Zielcke <fzielcke@z-51.de>
26190
26191 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26192 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26193 genmoddep.awk, gensymlist.sh.in.
26194 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26195 * DISTLIST: Regenerated.
48cdbfd4 26196 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26197
1082b929 261982008-08-16 Robert Millan <rmh@aybabtu.com>
26199
26200 * disk/raid.c (grub_raid_init): Handle/report errors set by
26201 grub_device_iterate().
26202 * disk/lvm.c (grub_lvm_init): Likewise.
26203
42ce5170 262042008-08-15 Bean <bean123ch@gmail.com>
26205
26206 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26207 and datehook.mod.
26208 (datetime_mod_SOURCES): New macro.
26209 (datetime_mod_CFLAGS): Likewise.
26210 (datetime_mod_LDFLAGS): Likewise.
26211 (date_mod_SOURCES): Likewise.
26212 (date_mod_CFLAGS): Likewise.
26213 (date_mod_LDFLAGS): Likewise.
26214 (datehook_mod_SOURCES): Likewise.
26215 (datehook_mod_CFLAGS): Likewise.
26216 (datehook_mod_LDFLAGS): Likewise.
26217
26218 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26219 and datehook.mod.
26220 (datetime_mod_SOURCES): New macro.
26221 (datetime_mod_CFLAGS): Likewise.
26222 (datetime_mod_LDFLAGS): Likewise.
26223 (date_mod_SOURCES): Likewise.
26224 (date_mod_CFLAGS): Likewise.
26225 (date_mod_LDFLAGS): Likewise.
26226 (datehook_mod_SOURCES): Likewise.
26227 (datehook_mod_CFLAGS): Likewise.
26228 (datehook_mod_LDFLAGS): Likewise.
26229
26230 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26231 and datehook.mod.
26232 (datetime_mod_SOURCES): New macro.
26233 (datetime_mod_CFLAGS): Likewise.
26234 (datetime_mod_LDFLAGS): Likewise.
26235 (date_mod_SOURCES): Likewise.
26236 (date_mod_CFLAGS): Likewise.
26237 (date_mod_LDFLAGS): Likewise.
26238 (datehook_mod_SOURCES): Likewise.
26239 (datehook_mod_CFLAGS): Likewise.
26240 (datehook_mod_LDFLAGS): Likewise.
26241
26242 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26243 and datehook.mod.
26244 (datetime_mod_SOURCES): New macro.
26245 (datetime_mod_CFLAGS): Likewise.
26246 (datetime_mod_LDFLAGS): Likewise.
26247 (date_mod_SOURCES): Likewise.
26248 (date_mod_CFLAGS): Likewise.
26249 (date_mod_LDFLAGS): Likewise.
26250 (datehook_mod_SOURCES): Likewise.
26251 (datehook_mod_CFLAGS): Likewise.
26252 (datehook_mod_LDFLAGS): Likewise.
26253
26254 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26255 and datehook.mod.
26256 (datetime_mod_SOURCES): New macro.
26257 (datetime_mod_CFLAGS): Likewise.
26258 (datetime_mod_LDFLAGS): Likewise.
26259 (date_mod_SOURCES): Likewise.
26260 (date_mod_CFLAGS): Likewise.
26261 (date_mod_LDFLAGS): Likewise.
26262 (datehook_mod_SOURCES): Likewise.
26263 (datehook_mod_CFLAGS): Likewise.
26264 (datehook_mod_LDFLAGS): Likewise.
26265
26266 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26267
26268 * commands/date.c: New file.
26269
26270 * hook/datehook.c: Likewise.
26271
26272 * include/grub/lib/datetime.h: Likewise.
26273
26274 * include/grub/i386/cmos.h: Likewise.
26275
26276 * lib/datetime.c: Likewise.
26277
26278 * lib/i386/datetime.c: Likewise.
26279
26280 * lib/efi/datetime.c: Likewise.
26281
0e9242da 262822008-08-14 Robert Millan <rmh@aybabtu.com>
26283
26284 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26285 (grub_mkelfimage_SOURCES): New variable.
26286 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26287
26288 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26289 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26290 * conf/powerpc-ieee1275.rmk: Likewise.
26291 * conf/i386-ieee1275.rmk: Likewise.
26292
26293 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26294 * kern/i386/coreboot/init.c: Likewise.
26295
26296 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26297 with `<grub/cpu/kernel.h>'.
26298 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26299 to ...
26300 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26301 * kern/i386/coreboot/startup.S: Likewise.
26302
26303 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26304 (GRUB_MOD_GAP): Remove.
26305 * include/grub/powerpc/kernel.h: New file.
26306 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26307 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26308 * include/grub/i386/kernel.h: New file.
26309 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26310 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26311 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26312
26313 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26314 `grub-mkelfimage'.
26315 Use --directory when invoking grub_mkimage.
26316
26317 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26318 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26319 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26320 and GRUB_KERNEL_CPU_PREFIX.
26321
b86408f8 263222008-08-14 Felix Zielcke <fzielcke@z-51.de>
26323
d5e619ca 26324 * include/grub/err.h (grub_err_printf): New function prototype.
26325 * util/misc.c (grub_err_printf): New function.
26326 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26327 grub_printf.
26328 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26329
7161f0e0 263302008-08-13 Robert Millan <rmh@aybabtu.com>
26331
26332 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26333
a1967522 263342008-08-13 Robert Millan <rmh@aybabtu.com>
26335
26336 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26337 boot entry.
26338
371458b5 263392008-08-12 Robert Millan <rmh@aybabtu.com>
26340
26341 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26342 of the relocation code from here ...
26343 (grub_multiboot): ... to here.
26344 (forward_relocator, backward_relocator): Move from here ...
26345 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26346 (grub_multiboot_backward_relocator): ... to here.
26347 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26348 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26349 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26350 (grub_multiboot_forward_relocator_end)
26351 (grub_multiboot_backward_relocator)
26352 (grub_multiboot_backward_relocator_end): New variables.
26353
05f9452b 263542008-08-12 Bean <bean123ch@gmail.com>
26355
26356 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26357
20024ab0 263582008-08-11 Robert Millan <rmh@aybabtu.com>
26359
26360 * kern/i386/linuxbios/startup.S: Move from here ...
26361 * kern/i386/coreboot/startup.S: ... to here.
26362
26363 * kern/i386/linuxbios/init.c: Move from here ...
26364 * kern/i386/coreboot/init.c: ... to here.
26365
26366 * kern/i386/linuxbios/table.c: Move from here ...
26367 * kern/i386/coreboot/mmap.c: ... to here.
26368
26369 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26370
e352e9cd 263712008-08-11 Robert Millan <rmh@aybabtu.com>
26372
26373 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26374 errors. Leave it to the upper layer to handle them.
26375
2d05bc6a 263762008-08-09 Christian Franke <franke@computer.org>
26377
26378 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26379 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26380 Install `grub.d/10_windows' only on Cygwin.
26381 * configure.ac: Add subst of `target_os'.
26382 Check `target_os' also before setting TARGET_OBJ2ELF.
26383 Add `--enable-grub-pe2elf'.
26384
042bd419 263852008-08-08 Robert Millan <rmh@aybabtu.com>
26386
26387 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26388 (grub_last_time): Change type to grub_uint64_t.
26389 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26390 (grub_disk_close): Likewise.
26391
26392 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26393 (run_menu): Migrate code from to using grub_get_time_ms().
26394
26395 * util/misc.c (grub_get_time_ms): New function.
26396
7f280db5 263972008-08-08 Marco Gerards <marco@gnu.org>
26398
26399 * disk/ata.c (grub_ata_regget): Change return type to
26400 `grub_uint8_t'.
26401 (grub_ata_regget2): Likewise.
26402 (grub_ata_wait_status): New function.
26403 (grub_ata_wait_busy): Removed function, updated all users to use
26404 `grub_ata_wait_status'.
26405 (grub_ata_wait_drq): Likewise.
26406 (grub_ata_cmd): New function.
26407 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26408 error handling.
26409 (grub_ata_pio_write): Add error handling.
26410 (grub_atapi_identify): Likewise.
26411 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26412 handling.
26413 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26414 handling. Actually use the detected registers. Reorder the
26415 detection logic such that it is easier to read.
26416 (grub_ata_pciinit): Do not assign the same ID to each controller.
26417 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26418 handling.
26419 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26420
26421 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26422
1fbc5e66 264232008-08-08 Marco Gerards <marco@gnu.org>
26424
26425 * NEWS: Update.
26426
819ce6c0 264272008-08-07 Bean <bean123ch@gmail.com>
26428
26429 * include/grub/x86_64/pci.h: New file.
26430
5c41d44d 264312008-08-07 Christian Franke <franke@computer.org>
26432
26433 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26434 (TIMER2_GATE): Likewise.
26435 (grub_pit_wait): Add enable/disable of the timer2 gate
26436 bit of port 0x61. This fixes a possible infinite loop.
26437
5ebc275d 264382008-08-07 Bean <bean123ch@gmail.com>
26439
26440 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26441 kern/i386/tsc.c and kern/i386/pit.c.
26442
26443 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26444 x86_64 platform.
26445
26446 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26447 <grub/i386/tsc.h>.
26448
26449 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26450
e383b3d0 264512008-08-07 Bean <bean123ch@gmail.com>
26452
26453 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26454
26455 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26456
26457 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26458 multiple inclusion. Add #include <grub/types.h>.
26459
1cbb58ac 264602008-08-06 Christian Franke <franke@computer.org>
26461
26462 * conf/common.rmk: Build and install `10_windows'.
26463 * util/grub.d/10_windows.in: New script.
26464
337f5a1e 264652008-08-06 Pavel Roskin <proski@gnu.org>
26466
26467 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26468
057bc4ac 264692008-08-06 Robert Millan <rmh@aybabtu.com>
26470
26471 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26472 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26473
2b99f123 264742008-08-06 Bean <bean123ch@gmail.com>
26475
26476 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26477 (grub_pxefs_fs_int): Remove dummy definition.
26478 (grub_pxefs_open): Use data->block_size to store the current block
26479 size setting.
26480 (grub_pxefs_read): Use block size stored in data->block_size. As the
26481 value of grub_pxe_blksize can be changed after the file is opened.
26482
9f0234cb 264832008-08-06 Bean <bean123ch@gmail.com>
26484
26485 * fs/i386/pc/pxe.c (curr_file): new variable.
26486 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26487 require the dummy internal file system anymore.
26488 (grub_pxefs_read): Removed.
26489 (grub_pxefs_close): Likewise.
26490 (grub_pxefs_fs_int): Likewise.
26491 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26492 connection when we switch file.
26493 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26494
a55d42e0 264952008-08-06 Robert Millan <rmh@aybabtu.com>
26496
26497 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26498 `halt.mod'.
26499 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26500 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26501
26502 * kern/i386/halt.c: New file.
26503 * kern/i386/reboot.c: Likewise.
26504 * include/grub/i386/reboot.h: Likewise.
26505 * include/grub/i386/halt.h: Likewise.
26506
26507 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26508 Include `<grub/cpu/halt.h>'.
26509 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26510 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26511
26512 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26513 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26514 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26515 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26516 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26517 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26518 from here ...
26519 * include/grub/i386/at_keyboard.h: ... to here.
26520
24371d26 265212008-08-05 Robert Millan <rmh@aybabtu.com>
26522
26523 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26524 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26525 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26526 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26527 `kern/generic/millisleep.c'.
26528
26529 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26530 instead of grub_get_rtc().
26531 (grub_tsc_init): Initialize `tsc_boot_time'.
26532
26533 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26534 (grub_machine_init): Use grub_tsc_init() rather than
26535 installing an RTC-based handler via grub_install_get_time_ms().
26536
26537 * kern/i386/pit.c: New file.
26538 * include/grub/i386/pit.h: Likewise.
26539
9e7007b3 265402008-08-05 Bean <bean123ch@gmail.com>
26541
26542 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26543
26544 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26545 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26546 (pxe_mod_SOURCES): New macro.
26547 (pxe_mod_CFLAGS): Likewise.
26548 (pxe_mod_LDFLAGS): Likewise.
26549 (pxecmd_mod_SOURCES): Likewise.
26550 (pxecmd_mod_CFLAGS): Likewise.
26551 (pxecmd_mod_LDFLAGS): Likewise.
26552
26553 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26554 (grub_pxe_call): Likewise.
26555
26556 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26557
26558 * commands/i386/pc/pxecmd.c: New file.
26559
9f0234cb 26560 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26561
26562 * include/grub/i386/pc/pxe.h: Likewise.
26563
6977d49f 265642008-08-05 Bean <bean123ch@gmail.com>
26565
26566 * util/console.c (grub_console_cur_color): New variable.
26567 (grub_console_standard_color): Likewise.
26568 (grub_console_normal_color): Likewise.
26569 (grub_console_highlight_color): Likewise.
26570 (color_map): Likewise.
26571 (use_color): Likewise.
26572 (NUM_COLORS): New macro.
26573 (grub_ncurses_setcolorstate): Handle color properly.
26574 (grub_ncurses_setcolor): Don't change color here, just remember the
26575 settings, color will be set in grub_ncurses_setcolorstate.
26576 (grub_ncurses_getcolor): New function.
26577 (grub_ncurses_init): Initialize color pairs.
26578 (grub_ncurses_term): New member grub_ncurses_getcolor.
26579
9c2ff3ee 265802008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26581
9c2ff3ee 26582 High resolution timer support. Implemented for x86 CPUs using TSC.
26583 Extracted generic grub_millisleep() so it's linked in only as needed.
26584 This requires a Pentium compatible CPU; if the RDTSC instruction is
26585 not supported, then it falls back on the generic grub_get_time_ms()
26586 implementation that uses the machine's RTC.
26587
26588 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26589 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26590 `kern/generic/millisleep.c'.
26591
26592 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26593 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26594
26595 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26596 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26597
26598 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26599
26600 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26601 `kern/generic/millisleep.c'.
26602
26603 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26604
26605 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26606
26607 * kern/generic/rtc_get_time_ms.c: New file.
26608
26609 * kern/generic/millisleep.c: New file.
337f5a1e 26610
9c2ff3ee 26611 * kern/misc.c: Don't include
26612 <kern/time.h> anymore.
26613 (grub_millisleep_generic): Removed.
26614
26615 * commands/sleep.c (grub_interruptible_millisleep): Uses
26616 grub_get_time_ms() instead of grub_get_rtc().
26617
26618 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26619 function.
26620 (grub_cpu_is_cpuid_supported): New inline function.
26621 (grub_cpu_is_tsc_supported): New inline function.
26622 (grub_tsc_init): New function prototype.
26623 (grub_tsc_get_time_ms): New function prototype.
26624
26625 * kern/i386/tsc.c (grub_get_time_ms): New file.
26626
26627 * include/grub/time.h: Include <grub/types.h.
26628 (grub_millisleep_generic): Removed.
26629 (grub_get_time_ms): New prototype.
26630 (grub_install_get_time_ms): New prototype.
26631 (grub_rtc_get_time_ms): New prototype.
26632
26633 * kern/time.c (grub_get_time_ms): New function.
26634 (grub_install_get_time_ms): New function.
26635
26636 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26637 <grub/time.h> anymore.
26638 (grub_millisleep): Removed.
26639 (grub_machine_init): Call grub_tsc_init.
26640
26641 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26642 get_time_ms() implementation.
26643
26644 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26645 (ieee1275_get_time_ms): New function.
26646 (grub_machine_init): Install get_time_ms() implementation.
26647
26648 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26649 (grub_machine_init): Call grub_tsc_init().
26650 (grub_millisleep): Removed.
bf06a93f 26651
9c2ff3ee 26652 * kern/ieee1275/init.c (grub_millisleep): Removed.
26653 (grub_machine_init): Install ieee1275_get_time_ms()
26654 implementation.
26655 (ieee1275_get_time_ms): New function.
26656 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26657 real work.
26658
9ec92aaf 266592008-08-05 Marco Gerards <marco@gnu.org>
26660
26661 * disk/ata.c: Include <grub/pci.h>.
26662 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26663 (grub_ata_initialize): Rewritten.
26664 (grub_ata_device_initialize): New function.
26665
8d23f507 266662008-08-04 Pavel Roskin <proski@gnu.org>
26667
26668 * kern/main.c: Include grub/mm.h.
26669
5e15ee3d 266702008-08-04 Robert Millan <rmh@aybabtu.com>
26671
26672 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26673 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26674 corruption problem).
26675
a9053f8f 266762008-08-04 Robert Millan <rmh@aybabtu.com>
26677
26678 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26679 warnings introduced in my last commit.
26680
dd19c7d7 266812008-08-03 Robert Millan <rmh@aybabtu.com>
26682
26683 Make PCI available on all i386 architectures.
26684
26685 * include/grub/i386/pc/pci.h: Move from here ...
26686 * include/grub/i386/pci.h: ... to here.
26687
26688 * include/grub/i386/pc/pci.h: Remove.
26689 * include/grub/i386/efi/pci.h: Remove.
26690 * include/grub/x86_64/efi/pci.h: Remove.
26691
26692 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26693 `<grub/cpu/pci.h>'.
26694
26695 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26696 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26697 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26698
26699 * conf/i386-ieee1275.rmk: Likewise.
26700
e14a6184 267012008-08-03 Robert Millan <rmh@aybabtu.com>
26702
26703 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26704 (grub_console_setcursor): Make it possible to set cursor off.
26705
52768e37 267062008-08-03 Robert Millan <rmh@aybabtu.com>
26707
26708 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
26709 of modules instead of assuming which platform provides what.
26710 * util/update-grub.in: Likewise.
26711
2d52f57f 267122008-08-03 Robert Millan <rmh@aybabtu.com>
26713
26714 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
26715 instead of `grub_install_dos_part' to determine whether a drive needs
26716 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 26717 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 26718
2a5cd121 267192008-08-02 Robert Millan <rmh@aybabtu.com>
26720
26721 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
26722
93808428 267232008-08-02 Robert Millan <rmh@aybabtu.com>
26724
26725 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
26726 of informational grub_dprintf() calls.
26727
3bd0a12a 267282008-08-02 Robert Millan <rmh@aybabtu.com>
26729
26730 * disk/memdisk.c (memdisk_size): Don't initialize.
26731 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
26732
26733 * include/grub/i386/pc/kernel.h
26734 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
26735 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
26736 (grub_memdisk_image_size, grub_arch_memdisk_addr)
26737 (grub_arch_memdisk_size): Remove.
26738
26739 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
26740 field (was only used to transfer a constant). Add `type' field to
26741 support multiple module types.
26742 (grub_module_iterate): New function.
26743
26744 * kern/device.c (grub_device_open): Do not hide error messages
26745 when grub_disk_open() fails. Use grub_print_error() instead.
26746
26747 * kern/i386/pc/init.c (grub_arch_modules_addr)
26748 (grub_arch_memdisk_size): Remove functions.
26749 (grub_arch_modules_addr): Return the module address in high memory
26750 (now that it isn't copied anymore).
26751
26752 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
26753 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
26754 decompression routine (grub_total_module_size already includes that
26755 now). Don't copy modules back to low memory.
26756
26757 * kern/main.c: Include `<grub/mm.h>'.
26758 (grub_load_modules): Split out (and use) ...
26759 (grub_module_iterate): ... this function, which iterates through
26760 module objects and runs a hook.
26761 Comment out grub_mm_init_region() call, as it would cause non-ELF
26762 modules to be overwritten.
26763
26764 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
26765 the memdisk image in its own region, make it part of the module list.
26766 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
26767 (main): Parse --memdisk|-m option, and pass user-provided path as
26768 parameter to generate_image().
26769 (add_segments): Pass `memdisk_path' down to load_modules().
26770 (load_modules): Embed memdisk image in module section when requested.
26771 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
26772 `header.type' instead of `header.offset'.
26773
26774 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
26775 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
26776 (memdisk_mod_LDFLAGS): New variables.
26777 * conf/i386-coreboot.rmk: Likewise.
26778 * conf/i386-ieee1275.rmk: Likewise.
26779
a927cc73 267802008-08-02 Robert Millan <rmh@aybabtu.com>
26781
26782 * loader/i386/pc/multiboot.c (playground, forward_relocator)
26783 (backward_relocator): New variables. Used to allocate and relocate
26784 the payload, respectively.
26785 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 26786 address, install the appropriate relocator code in each bound of
a927cc73 26787 the payload, and set the entry point such that
26788 grub_multiboot_real_boot() will jump to one of them.
26789
26790 * kern/i386/loader.S (grub_multiboot_payload_size)
26791 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26792 (grub_multiboot_payload_entry_offset): New variables.
26793 (grub_multiboot_real_boot): Set cpu context to what the relocator
26794 expects, and jump to the relocator instead of the payload.
26795
26796 * include/grub/i386/loader.h (grub_multiboot_payload_size)
26797 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26798 (grub_multiboot_payload_entry_offset): Export.
26799
b15d8a0c 268002008-08-01 Bean <bean123ch@gmail.com>
26801
26802 * normal/menu_entry.c (editor_getline): Don't return the original
26803 string as result, as it will be released by lexer once it has done
26804 using it.
26805
cdfb3d22 268062008-08-01 Robert Millan <rmh@aybabtu.com>
26807
26808 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
26809 within menuentries, not before them.
26810 util/grub.d/10_hurd.in: Likewise.
26811
9175e93d 268122008-08-01 Bean <bean123ch@gmail.com>
26813
26814 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
26815 (bufio_mod_SOURCES): New macro.
26816 (bufio_mod_CFLAGS): Likewise.
26817 (bufio_mod_LDFLAGS): Likewise.
26818
26819 * include/grub/bufio.h: New file.
26820
26821 * io/bufio.c: Likewise.
26822
26823 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
26824 (grub_video_reader_png): Use grub_buffile_open to open file.
26825
26826 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
26827 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
26828
26829 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
26830 (grub_video_reader_tga): Use grub_buffile_open to open file.
26831
26832 * font/manager.c: Include <grub/bufio.h>.
26833 (add_font): Use grub_buffile_open to open file.
26834
3d8383e7 268352008-07-31 Robert Millan <rmh@aybabtu.com>
26836
26837 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
26838 ELF segments, use a macro for arbitrarily accessing any of them instead
26839 of preparing a pointer that allows access to one at a time.
26840 (grub_multiboot_load_elf64): Likewise.
26841
16e641b6 268422008-07-31 Bean <bean123ch@gmail.com>
26843
26844 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
26845 GRUB_KERNEL_MACHINE_DATA_END.
26846
59198b72 268472008-07-30 Robert Millan <rmh@aybabtu.com>
26848
26849 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
26850 Increase from 0x50 to 0x60.
26851 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
26852 use UUIDs to identify the root drive for them. If that's not
26853 possible, abort.
26854 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
26855 check, for cross-disk installs.
26856
ae88bca3 268572008-07-30 Robert Millan <rmh@aybabtu.com>
26858
26859 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
26860 is non-empty, use it to set the `prefix' environment variable instead
26861 of the usual approach.
26862 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
26863 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
26864 environment variable instead of dummy make_install_device().
26865
26866 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
26867 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 26868 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 26869
26870 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
26871 New variable reference.
26872 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
26873 New macro. Defines offset of `grub_prefix' within startup.S (relative
26874 to `start').
26875 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
26876 section within startup.S (relative to `start').
26877 * include/grub/i386/coreboot/kernel.h: Likewise.
26878
26879 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
26880 Overwrite grub_prefix with its contents, at the beginning of the
26881 first segment.
26882 (main): Understand -p|--prefix.
26883
14f41dd1 268842008-07-30 Robert Millan <rmh@aybabtu.com>
26885
26886 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
26887
4ca049a3 268882008-07-30 Robert Millan <rmh@aybabtu.com>
26889
26890 * term/i386/pc/vga_text.c (grub_console_cls): Use
26891 grub_console_gotoxy() to go back to beginning of the screen.
26892 Found by Patrick Georgi <patrick.georgi@coresystems.de>
26893
2921d337 268942008-07-29 Christian Franke <franke@computer.org>
26895
26896 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
26897 Add conversion of emulated mount points on Cygwin.
26898
b609876d 268992008-07-29 Christian Franke <franke@computer.org>
26900
26901 * util/update-grub.in: Add a check for admin
26902 group on Cygwin.
26903 Remove old `grub.cfg.new' before creation.
26904 Add `-f' to `mv' to handle the different filesystem
26905 semantics of Windows.
26906
e93e4679 269072008-07-29 Bean <bean123ch@gmail.com>
26908
26909 * normal/main.c (get_line): Fix buffer overflow bug.
26910
41694fd0 269112008-07-28 Robert Millan <rmh@aybabtu.com>
26912
26913 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
26914 (struct grub_apple_header): New struct. Describes the layout of
26915 the partmap header.
26916 (apple_partition_map_iterate): Check the header magic as well as the
26917 partition magic (which was already being checked).
26918
cfd0b4e6 269192008-07-28 Pavel Roskin <proski@gnu.org>
26920
26921 * genmk.rb: Add a warning to the beginning of the output that
26922 it's a generated file and should not be edited.
26923
93cce016 269242008-07-28 Robert Millan <rmh@aybabtu.com>
26925
26926 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26927 with the same number are found, just use issue a warning with
26928 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 26929
cd1df915 269302008-07-27 Robert Millan <rmh@aybabtu.com>
26931
26932 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
26933 information.
26934
b70a8427 269352008-07-27 Bean <bean123ch@gmail.com>
26936
26937 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
26938 (grub_fat_find_dir): Ignore case when comparing filename.
26939
8f5e379f 269402008-07-27 Bean <bean123ch@gmail.com>
26941
26942 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
26943 smallino, as it's more descriptive, and i8count can be confused with
26944 the other field count.
26945 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
26946 inode type.
26947
a85cd5a0 269482008-07-27 Bean <bean123ch@gmail.com>
26949
26950 * commands/crc.c: New file.
26951
26952 * lib/crc.c: Likewise.
26953
26954 * include/grub/lib/crc.h: Likewise.
26955
26956 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26957
26958 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26959 (hexdump): Move this function to ...
26960
26961 * lib/hexdump.c: ... here.
26962
26963 * include/grub/hexdump.h: Renamed to ...
26964
26965 * include/grub/lib/hexdump.h: ... this.
26966
26967 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26968
26969 * util/grub-editenv.c: Likewise.
26970
26971 * include/envblk.h: Renamed to ...
26972
26973 * include/lib/envblk.h: ... this.
26974
26975 * util/envblk.c: Renamed to ...
26976
26977 * lib/envblk.c: ... this.
26978
26979 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26980 lib/hexdump.c.
26981 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26982 (pkglib_MODULES): Add crc.mod.
26983 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26984 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26985 (crc_mod_SOURCES): New macro.
26986 (crc_mod_CFLAGS): Likewise.
26987 (crc_mod_LDFLAGS): Likewise.
26988
26989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26990
26991 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26992
26993 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26994
26995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26996
26997 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26998
c298def0 269992008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 27000
27001 * commands/help.c: Include <grub/term.h>.
27002 (TERM_WIDTH): Removed. Updated all users.
27003
cc349fb3 270042008-07-27 Pavel Roskin <proski@gnu.org>
27005
27006 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27007 spurious warnings about a comment within a comment.
27008
9051607e 270092008-07-25 Robert Millan <rmh@aybabtu.com>
27010
27011 * util/getroot.c (find_root_device): Skip devices that match
27012 /dev/dm-[0-9]. This lets the real device be found for any type of
27013 abstraction (LVM, EVMS, RAID..).
27014 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27015 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27016 device is found first, find_root_device() will now skip it.
27017
01453bfc 270182008-07-24 Pavel Roskin <proski@gnu.org>
27019
27020 * include/grub/types.h: Use __builtin_bswap32() and
27021 __builtin_bswap64() with gcc 4.3 and newer.
27022
6af9849f 270232008-07-24 Christian Franke <franke@computer.org>
27024
3a0fa256 27025 * util/i386/pc/grub-install.in: If `--debug' is specified,
27026 pass `--verbose' to grub-setup.
27027 Abort script if make_system_path_relative_to_its_root() fails.
27028
7810e747 270292008-07-24 Bean <bean123ch@gmail.com>
27030
27031 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27032 variable `target_platform' should be `platform'.
27033
42290e17 270342008-07-24 Bean <bean123ch@gmail.com>
27035
51cc5193 27036 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27037 (grub_png_init_fixed_block): New function.
27038 (grub_png_decode_image_data): Handle fixed huffman code compression.
27039
2a8a80e4 270402008-07-24 Bean <bean123ch@gmail.com>
27041
27042 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27043 (grub_pe2elf_SOURCES): New macro.
27044 (CLEANFILES): Add grub-pe2elf.
27045
27046 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27047 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27048 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27049 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27050 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27051 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27052 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27053 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27054 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27055 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27056 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27057 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27058 (GRUB_PE32_DT_FUNCTION): Likewise.
27059 (GRUB_PE32_REL_I386_DIR32): Likewise.
27060 (GRUB_PE32_REL_I386_REL32): Likewise.
27061 (grub_pe32_symbol): New structure.
27062 (grub_pe32_reloc): Likewise.
27063
27064 * util/grub-pe2elf.c: New file.
27065
27066 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27067 start symbol in non pc platform.
27068
27069 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27070
27071 The following patches are from Christian Franke.
27072
27073 * include/grub/dl.h: Remove .previous, gas supports this only
27074 for ELF format.
27075
27076 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27077 Remove .type, gas supports this only for ELF format.
27078
27079 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27080 nullbytes in symbol table. This fixes an infinite loop if table is
27081 zero filled.
27082
27083 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27084 TARGET_IMG_LDFLAGS and EXEEXT.
27085
27086 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27087 TARGET_IMG_LDFLAGS_AC.
27088 (grub_CHECK_STACK_ARG_PROBE): New function.
27089
27090 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27091
27092 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27093
27094 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27095 to set TARGET_IMG_LD* accordingly.
27096 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27097 Add call to grub_CHECK_STACK_ARG_PROBE.
27098 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27099
27100 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27101
27102 * genmk.rb: Add EXEEXT to CLEANFILES.
27103
12ccdb75 271042008-07-23 Robert Millan <rmh@aybabtu.com>
27105
27106 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27107 define the codes for arrows and lines used for the menu).
27108 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27109 as well.
27110
27111 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27112 fonts, because the latter are too slow.
27113
18eeaf04 271142008-07-21 Bean <bean123ch@gmail.com>
27115
27116 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27117 a20. Run keyboard test last, as it will cause macbook to halt.
27118
b095e2ad 271192008-07-18 Pavel Roskin <proski@gnu.org>
27120
27121 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27122 load foreign architecture modules correctly anyway. Keep
27123 support for loading host architecture modules, whether we
27124 compile them or not.
27125
737feb35 271262008-07-17 Pavel Roskin <proski@gnu.org>
27127
3f4ce737 27128 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27129 change target_cpu. The compiler default can mismatch target_cpu
27130 in any case.
27131
4ad2d049 27132 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27133 * kern/efi/efi.c: Likewise.
27134
f6130a12 27135 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27136 target compiler is functional.
27137 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27138 are set up.
27139
58393a2d 27140 * configure.ac: Default to efi platform for x86_64-apple. Allow
27141 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27142 adjustments from the rest, only do them if target is not
27143 explicitly given. Merge other adjustments with the final sanity
27144 check. Remove an extraneous check for supported CPU. Be
27145 specific which CPU and which platform is not supported.
27146
737feb35 27147 * configure.ac: Default to pc platform for x86_64.
27148
546f966a 271492008-07-17 Robert Millan <rmh@aybabtu.com>
27150
27151 Partial LinuxBIOS -> Coreboot rename.
27152
27153 * conf/i386-linuxbios.rmk: Renamed to ...
27154 * conf/i386-coreboot.rmk: ... this.
27155 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27156 * configure.ac: Accept "coreboot" as input platform (but maintain
27157 compatibility with "linuxbios").
27158 * include/grub/i386/linuxbios: Renamed to ...
27159 * include/grub/i386/coreboot: ... this.
27160
20011694 271612008-07-17 Bean <bean123ch@gmail.com>
27162
27163 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27164 (appleldr_mod_SOURCE): New variable.
20011694 27165 (appleldr_mod_CFLAGS): Likewise.
27166 (appleldr_mod_LDFLAGS): Likewise.
27167 (pci_mod_SOURCES): Likewise.
27168 (pci_mod_CFLAGS): Likewise.
27169 (pci_mod_LDFLAGS): Likewise.
27170 (lspci_mod_SOURCES): Likewise.
27171 (lspci_mod_CFLAGS): Likewise.
27172 (lspci_mod_LDFLAGS): Likewise.
27173
27174 * conf/x86_64-efi.rmk: New file.
27175
27176 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27177 macro.
27178 (grub_efidisk_write): Likewise.
27179
27180 * include/efi/api.h (efi_call_0): New macro.
27181 (efi_call_1): Likewise.
27182 (efi_call_2): Likewise.
27183 (efi_call_3): Likewise.
27184 (efi_call_4): Likewise.
27185 (efi_call_5): Likewise.
27186 (efi_call_6): Likewise.
27187
27188 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27189 grub_rescue_cmd_chainloader.
27190
27191 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27192 (grub_pe32_optional_header): Change some fields based on i386 or
27193 x86_64 platform.
27194 (GRUB_PE32_PE32_MAGIC): Likewise.
27195
27196 * include/grub/efi/uga_draw.h: New file.
27197
27198 * include/grub/elf.h (STN_ABS): New constant.
27199 (R_X86_64_NONE): Relocation constant for x86_64.
27200 (R_X86_64_64): Likewise.
27201 (R_X86_64_PC32): Likewise.
27202 (R_X86_64_GOT32): Likewise.
27203 (R_X86_64_PLT32): Likewise.
27204 (R_X86_64_COPY): Likewise.
27205 (R_X86_64_GLOB_DAT): Likewise.
27206 (R_X86_64_JUMP_SLOT): Likewise.
27207 (R_X86_64_RELATIVE): Likewise.
27208 (R_X86_64_GOTPCREL): Likewise.
27209 (R_X86_64_32): Likewise.
27210 (R_X86_64_32S): Likewise.
27211 (R_X86_64_16): Likewise.
27212 (R_X86_64_PC16): Likewise.
27213 (R_X86_64_8): Likewise.
27214 (R_X86_64_PC8): Likewise.
27215
27216 * include/grub/i386/efi/pci.h: New file.
27217
27218 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27219 Change it value based on platform.
27220 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27221 (GRUB_E820_RAM): Likewise.
27222 (GRUB_E820_RESERVED): Likewise.
27223 (GRUB_E820_ACPI): Likewise.
27224 (GRUB_E820_NVS): Likewise.
27225 (GRUB_E820_EXEC_CODE): Likewise.
27226 (GRUB_E820_MAX_ENTRY): Likewise.
27227 (grub_e820_mmap): New structure.
27228 (linux_kernel_header): Change the efi field according to different
27229 kernel version, also field from linux_kernel_header.
27230
27231 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27232
27233 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27234 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27235 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27236 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27237 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27238 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27239 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27240 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27241 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27242 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27243
27244 * include/grub/x86_64/efi/kernel.h: New file.
27245
27246 * include/grub/x86_64/efi/loader.h: Likewise.
27247
27248 * include/grub/x86_64/efi/machine.h: Likewise.
27249
27250 * include/grub/x86_64/efi/pci.h: Likewise.
27251
27252 * include/grub/x86_64/efi/time.h: Likewise.
27253
27254 * include/grub/x86_64/linux.h: Likewise.
27255
27256 * include/grub/x86_64/setjmp.h: Likewise.
27257
27258 * include/grub/x86_64/time.h: Likewise.
27259
27260 * include/grub/x86_64/types.h: Likewise.
27261
27262 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27263 GRUB_TARGET_SIZEOF_VOID_P.
27264
27265 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27266 (grub_efi_locate_handle): Likewise.
27267 (grub_efi_open_protocol): Likewise.
27268 (grub_efi_set_text_mode): Likewise.
27269 (grub_efi_stall): Likewise.
27270 (grub_exit): Likewise.
27271 (grub_reboot): Likewise.
27272 (grub_halt): Likewise.
27273 (grub_efi_exit_boot_services): Likewise.
27274 (grub_get_rtc): Likewise.
27275
27276 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27277 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27278 (grub_efi_allocate_pages): Wrap efi calls.
27279 (grub_efi_free_pages): Wrap efi calls.
27280 (grub_efi_get_memory_map): Wrap efi calls.
27281
27282 * kern/x86_64/dl.c: New file.
27283
27284 * kern/x86_64/efi/callwrap.S: Likewise.
27285
27286 * kern/x86_64/efi/startup.S: Likewise.
27287
27288 * loader/efi/appleloader.c: Likewise.
27289
27290 * loader/efi/chainloader.c (cmdline): New variable.
27291 (grub_chainloader_unload): Wrap efi calls.
27292 (grub_chainloader_boot): Likewise.
27293 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27294 command line.
27295
27296 * loader/efi/chainloader_normal.c (chainloader_command):
27297 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27298 command line.
27299
27300 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27301 method.
27302 (grub_e820_add_region): New function.
27303 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27304 booting.
27305 (grub_find_video_card): New function.
27306 (grub_linux_setup_video): New function.
27307 (grub_rescue_cmd_linux): Probe for video information.
27308
27309 * normal/x86_64/setjmp.S: New file.
27310
27311 * term/efi/console.c (map_char): New function.
27312 (grub_console_putchar): Map unicode char.
27313 (grub_console_checkkey): Wrap efi calls.
27314 (grub_console_getkey): Likewise.
27315 (grub_console_getwh): Likewise.
27316 (grub_console_gotoxy): Likewise.
27317 (grub_console_cls): Likewise.
27318 (grub_console_setcolorstate): Likewise.
27319 (grub_console_setcursor): Likewise.
27320
27321 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27322
59652a20 273232008-07-16 Pavel Roskin <proski@gnu.org>
27324
ef294055 27325 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27326 format strings.
27327
59652a20 27328 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27329 pointer, not an integer. This fixes a warning and prevents
27330 precision loss on 64-bit systems.
27331 (relocate_addresses): Remove unneeded cast.
27332
afc3b5d7 273332008-07-15 Pavel Roskin <proski@gnu.org>
27334
506b2b3e 27335 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27336
62ead89c 27337 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27338
c4cd51d7 27339 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27340 Fix comparison between signed and unsigned.
27341
0d3d8f28 27342 * include/grub/i386/ieee1275/console.h: Declare
27343 grub_console_init() and grub_console_fini().
27344
8804b286 27345 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27346 It's empty and unused.
27347
ee01cf35 27348 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27349 beginning to avoid warnings with some compilers.
27350
afc3b5d7 27351 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27352 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27353
e4e8eaa5 273542008-07-14 Pavel Roskin <proski@gnu.org>
27355
407aceb4 27356 * kern/env.c (grub_register_variable_hook): Don't copy empty
27357 string, it leaks memory. Pass "" to grub_env_set(), it should
27358 handle constant strings.
27359
e4e8eaa5 27360 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27361 * commands/cmp.c (grub_cmd_cmp): Likewise.
27362 * kern/dl.c (grub_dl_flush_cache): Likewise.
27363 (grub_dl_load_core): Likewise.
27364 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27365 (grub_elf64_load_phdrs): Likewise.
27366
d4e2dad3 273672008-07-13 Pavel Roskin <proski@gnu.org>
27368
27369 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27370 between signed and unsigned.
27371 (LzmaEnc_Finish): Fix warning about an unused parameter.
27372
aa24b516 273732008-07-13 Bean <bean123ch@gmail.com>
27374
27375 * Makefile.in (enable_lzo): New rule.
27376
27377 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27378
27379 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27380
27381 * boot/i386/pc/lnxboot.S: #include <config.h>.
27382
27383 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27384 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27385
27386 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27387 compression algorithm according to configure macro.
27388
27389 * kern/i386/pc/startup.S (codestart): Likewise.
27390
27391 * kern/i386/pc/lzma_decode.S: New file.
27392
27393 * include/grub/lib/LzFind.h: Likewise.
27394
27395 * include/grub/lib/LzHash.h: Likewise.
27396
27397 * include/grub/lib/LzmaDec.h: Likewise.
27398
27399 * include/grub/lib/LzmaEnc.h: Likewise.
27400
27401 * include/grub/lib/LzmaTypes.h: Likewise.
27402
27403 * lib/LzFind.c: Likewise.
27404
27405 * lib/LzmaDec.c: Likewise.
27406
27407 * lib/LzmaEnc.c: Likewise.
27408
4ae821ac 274092008-07-13 Bean <bean123ch@gmail.com>
27410
27411 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27412 (grub_ext4_extent_header): New structure.
27413 (grub_ext4_extent): Likewise.
27414 (grub_ext4_extent_idx): Likewise.
27415 (grub_ext4_find_leaf): New function.
27416 (grub_ext2_read_block): Handle extents.
27417
9a745147 274182008-07-12 Robert Millan <rmh@aybabtu.com>
27419
27420 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27421
d49a4cf6 274222008-07-11 Robert Millan <rmh@aybabtu.com>
27423
27424 * util/grub.d/40_custom.in: New file. Example on how to add custom
27425 entries to /etc/grub.d.
27426 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27427 40_custom (implicitly, by merging all the grub.d rules).
27428
947414b4 274292008-07-11 Pavel Roskin <proski@gnu.org>
27430
0059cf6f 27431 * commands/read.c (grub_getline): Fix invalid memory access.
27432 Don't add newline to the variable value.
27433
947414b4 27434 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27435 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27436 (serial_hw_get_port): Check validity of the port number.
27437 (grub_cmd_serial): Check return value of serial_hw_get_port().
27438
62a02d00 274392008-07-07 Pavel Roskin <proski@gnu.org>
27440
27441 * boot/i386/pc/diskboot.S (notification_string): Replace
27442 "Loading kernel" with just "loading". This is shorter, less
27443 confusing and saves a few bytes for possible future changes.
27444
3e5581b0 274452008-07-05 Pavel Roskin <proski@gnu.org>
27446
ea387a48 27447 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27448 size for ATAPI devices, they are undefined. Output sector
27449 number in decimal form.
27450
3e5581b0 27451 * disk/ata.c: Use named constants for status bits.
27452
fdecb8fd 274532008-07-04 Pavel Roskin <proski@gnu.org>
27454
bcd35b90 27455 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27456 grub_addr_t before casting it to the void pointer to fix a
27457 warning. Non-addressable regions are discarded earlier.
27458 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27459 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27460 (check_signature): Don't shadow table_header.
27461 (grub_linuxbios_table_iterate): Cast numeric constants to
27462 grub_linuxbios_table_header_t.
27463 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27464 grub_stop().
27465
af58ab3d 27466 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27467 prevent warnings.
27468
1759aa57 27469 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27470 pointer, which can cause warnings. Support 64-bit addresses.
27471
fdecb8fd 27472 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27473 of sizeof(long). This fixes PowerPC image generation on x86_64.
27474
8516d2a8 274752008-07-04 Robert Millan <rmh@aybabtu.com>
27476
27477 This fixes a performance issue when pc & gpt partmap iterators
27478 didn't abort iteration even after our hook found what it was
fe987087 27479 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27480
27481 Some callers relied on previous buggy behaviour, since they would
34c44600 27482 raise an error when their own hooks caused early abortion of its
8516d2a8 27483 iteration.
27484
27485 * kern/device.c (grub_device_open): Improve error message.
27486 * disk/lvm.c (grub_lvm_open): Likewise.
27487 * disk/raid.c (grub_raid_open): Likewise.
27488
27489 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27490 when hook requests it, independently of grub_errno.
27491 (pc_partition_map_probe): Do not fail when find_func() caused
27492 early abortion of pc_partition_map_iterate().
27493
27494 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27495 when hook requests it, independently of grub_errno.
27496 (gpt_partition_map_probe): Do not fail when find_func() caused
27497 early abortion of gpt_partition_map_iterate().
27498
27499 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27500 when hook requests it, independently of grub_errno. Do not fail when
27501 part_map_iterate_hook() caused early abortion of p->iterate().
27502
27503 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27504 when grub_partition_iterate() returned with non-zero.
27505
277d0de9 275062008-07-03 Pavel Roskin <proski@gnu.org>
27507
27508 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27509 like we do in grub_ata_pio_read().
27510 (grub_ata_readwrite): Always write individual sectors. Fix the
27511 sector count for the remainder.
27512 (grub_ata_write): Enable writing to ATA devices. Correctly
27513 report error for ATAPI devices.
27514
d4c9b428 275152008-07-02 Pavel Roskin <proski@gnu.org>
27516
e43fc690 27517 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27518 warning.
27519
f707af42 27520 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27521 for every read sector, we already increment it for the whole
27522 batch. This fixes reading more than 256 sectors at once.
27523
11e16b15 27524 * util/grub-editenv.c (cmd_info): Cast argument to long
27525 explicitly. ptrdiff_t reduces to int on i386.
27526
cbabfdd4 27527 * util/grub-editenv.c (main): Be specific which parameter is
27528 missing.
27529
b8fbce0a 27530 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27531 (memdisk): Make memdisk_orig_addr a pointer.
27532
c9c8e606 27533 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27534 for file offsets, use grub_off_t instead. Fix printf format
27535 warnings.
27536
ca62e598 27537 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27538 there. Real unexpected warnings should not drown in the noise
27539 about known problems.
27540
ce8d1766 27541 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27542 grub_disk_addr_t for memory addresses.
27543
00c7a56a 27544 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27545 explicitly to fix a warning.
27546
08d3ef09 27547 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27548
cb71ba20 27549 * Makefile.in (MODULE_LDFLAGS): New variable.
27550 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27551 the linker accepts --build-id=none.
27552 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27553 MODULE_LDFLAGS.
27554 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27555
d4c9b428 27556 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27557 those in Linux XFS code. Provide a way to access 64-bit parent
27558 inode.
27559 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27560 the end of struct grub_xfs_dir_header.
27561
d4156eee 275622008-07-02 Bean <bean123ch@gmail.com>
27563
27564 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27565 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27566 and GRUB_IEEE1275_FLAG_NO_ANSI.
27567
27568 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27569 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27570 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27571
27572 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27573 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27574
27575 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27576 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27577
27578 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27579 esc sequence on non ANSI terminal.
27580 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27581
27582 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27583 beginning of file.
27584
2270f77b 275852008-07-02 Bean <bean123ch@gmail.com>
27586
27587 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27588 (grub_editenv_SOURCES): New variable.
27589 (pkglib_MODULES): Add loadenv.mod.
27590 (loadenv_mod_SOURCES): New variable.
27591 (loadenv_mod_CFLAGS): Likewise.
27592 (loadenv_mod_LDFLAGS): Likewise.
27593
27594 * include/grub/envblk.h: New file.
27595
27596 * util/envblk.c: New file.
27597
27598 * util/grub-editenv.c: New file.
27599
27600 * commands/loadenv.c: New file.
27601
0e9e51ec 276022008-07-01 Pavel Roskin <proski@gnu.org>
27603
d89b7634 27604 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27605 not unsigned char. This fixes warnings and is consistent with
27606 other tags.
27607
bf1835b1 27608 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27609
8222a04b 27610 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27611
6a42d99d 27612 * term/tparm.c (analyze): Always set *popcount.
27613
10b159d1 27614 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27615 cast to fix a warning.
27616
b8789f6c 27617 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27618 cast to suppress a warning.
27619
29d7e38a 27620 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27621 grub_fshelp_read_file() expects.
27622
f341f669 27623 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27624 write uuid as a 32-bit value in CPU byte order, so declare and
27625 use it as such.
27626
0e9e51ec 27627 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27628 long if the format specifier expects it.
27629 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27630 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27631 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27632 long to fix a warning.
27633 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27634 grub_dprintf() arguments to fix warnings.
27635
3aefa857 276362008-06-30 Pavel Roskin <proski@gnu.org>
27637
56c7668b 27638 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27639 install_bsd_part immediately before core.img is embedded or
27640 modified on disk. This fixes core.img verification if core.img
27641 cannot be embedded.
27642
3aefa857 27643 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27644 core_path to calculate the blocklist.
27645 Patch from Javier Martín <lordhabbit@gmail.com>
27646
5444088d 276472008-06-29 Robert Millan <rmh@aybabtu.com>
27648
27649 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27650 block to disk block.
27651 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27652 Patch from Niels Böhm <bitbucket@arcor.de>
27653
674835c8 276542008-06-29 Robert Millan <rmh@aybabtu.com>
27655
27656 * util/update-grub_lib.in (font_path): Search for fonts in
27657 /boot/grub first, which is more likely to be readable (we aren't
27658 deciding where fonts live, just looking for them).
27659
f527dbc8 276602008-06-26 Pavel Roskin <proski@gnu.org>
27661
6c2d8df6 27662 * util/biosdisk.c (read_device_map): Don't leave dead map
27663 entries for devices failing stat() check.
27664
f527dbc8 27665 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27666 core_path_dev for the core.img path on the target device.
27667
aebe3d13 276682008-06-26 Robert Millan <rmh@aybabtu.com>
27669
27670 * disk/fs_uuid.c: New file.
27671 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27672 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27673 (fs_uuid_mod_LDFLAGS): New variables.
27674 * include/grub/disk.h (grub_disk_dev_id): Add
27675 `GRUB_DISK_DEVICE_UUID_ID'.
27676 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27677 implement iterate().
27678
37aaf354 276792008-06-26 Robert Millan <rmh@aybabtu.com>
27680
27681 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27682 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27683 Linux image includes no initrd.
27684
25ff262a 276852008-06-21 Javier Martín <lordhabbit@gmail.com>
27686
27687 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27688 call to resolve the core image location that effectively appended the
27689 name twice.
27690
76a2bd44 276912008-06-21 Robert Millan <rmh@aybabtu.com>
27692
27693 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27694 call from here ...
27695
27696 * util/grub.d/10_hurd.in: ... to here ...
27697 * util/grub.d/10_linux.in: ... and here.
27698
650e1c79 276992008-06-19 Robert Millan <rmh@aybabtu.com>
27700
fe987087 27701 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 27702 after it has been set by grub_machine_set_prefix().
27703
6ce63911 277042008-06-19 Robert Millan <rmh@aybabtu.com>
27705
27706 * commands/search.c (search_label, search_fs_uuid, search_file): Print
27707 search result when not saving to variable, not the other way around.
27708 When saving to variable, abort iteration as soon as a match is found.
27709
73940cec 277102008-06-19 Robert Millan <rmh@aybabtu.com>
27711
27712 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
27713 check for partition that provides /boot/grub. Its logic is flawed,
27714 as it prevents prepare_grub_to_access_device() from being called
27715 multiple times.
27716
3c62a39d 277172008-06-19 Robert Millan <rmh@aybabtu.com>
27718
27719 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
27720 "insmod" command directly when abstraction modules are needed,
fe987087 27721 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 27722 since it had already been processed).
27723
47395a42 277242008-06-19 Pavel Roskin <proski@gnu.org>
27725
27726 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
27727 changed. This is needed in case GRUB_LIBDIR changes.
27728 * conf/i386-ieee1275.rmk: Likewise.
27729 * conf/i386-linuxbios.rmk: Likewise.
27730 * conf/i386-pc.rmk: Likewise.
27731 * conf/powerpc-ieee1275.rmk: Likewise.
27732
a145ac2d 277332008-06-18 Pavel Roskin <proski@gnu.org>
27734
27735 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
27736 kernel_elf_symlist.c to symlist.c for consistency with other
27737 architectures. Update all users.
27738 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27739
7847c51e 277402008-06-18 Robert Millan <rmh@aybabtu.com>
27741
27742 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
27743 it in prefix.
27744
27745 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
27746 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
27747 a RAID device, run setup() for all members independently on whether
27748 LVM abstraction is being used.
27749 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
27750 If grub-mkimage has set `*install_dos_part == -2', don't override this
27751 value.
27752 Perform *install_dos_part adjustments independently on whether
27753 we're embedding or not.
27754 Clarify error message when image is too big for embedding.
27755 Remove duplicate *install_dos_part stanza.
27756
b23e5644 277572008-06-17 Robert Millan <rmh@aybabtu.com>
27758
27759 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
27760 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
27761 variables.
27762 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
27763 values in grub_ofconsole_normal_color and
27764 grub_ofconsole_highlight_color (they're not directly related to
27765 background and foreground).
27766 (grub_ofconsole_setcolorstate): Extract background and foreground
27767 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
27768
0aac2f79 277692008-06-17 Robert Millan <rmh@aybabtu.com>
27770
27771 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
27772 /boot/grub for the check in last commit, not /boot (they could be
27773 different partitions).
27774
3cca7ef3 277752008-06-16 Robert Millan <rmh@aybabtu.com>
27776
27777 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
27778 asked to setup access for the same partition that provides /boot,
27779 don't bother using UUIDs since our root already has the value we
27780 want.
27781
347396d8 277822008-06-16 Robert Millan <rmh@aybabtu.com>
27783
27784 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
27785 I2O devices.
27786 Patch from Sven Mueller <sven@debian.org>.
27787
991477f8 277882008-06-16 Robert Millan <rmh@aybabtu.com>
27789
27790 * util/update-grub.in: Check for $EUID instead of $UID.
27791 Reported by Vincent Zweije.
27792
d31a32a1 277932008-06-16 Bean <bean123ch@gmail.com>
27794
fe987087 27795 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 27796 (grub_ext2_read_block): Likewise.
27797 (grub_ext2_read_inode): Likewise.
27798 (grub_ext2_mount): Likewise.
27799 (grub_ext2_close): Likewise.
27800 (grub_ext3_get_journal): Removed.
27801
fe987087 27802 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 27803 (grub_reiserfs_read_symlink): Likewise.
27804 (grub_reiserfs_mount): Likewise.
27805 (grub_reiserfs_open): Likewise.
27806 (grub_reiserfs_read): Likewise.
27807 (grub_reiserfs_close): Likewise.
27808 (grub_reiserfs_get_journal): Removed.
27809
27810 * fs/fshelp.c (grub_fshelp_read): Removed.
27811 (grub_fshelp_map_block): Likewise.
27812
27813 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
27814 (grub_fshelp_journal): Likewise.
27815 (grub_fshelp_read): Likewise.
27816 (grub_fshelp_map_block): Likewise.
27817
3540a760 278182008-06-16 Pavel Roskin <proski@gnu.org>
27819
27820 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
27821 floating point anymore.
27822 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
27823
95614c84 278242008-06-15 Pavel Roskin <proski@gnu.org>
27825
27826 * commands/ls.c (grub_ls_list_files): Use integer calculations
27827 for human readable format, avoid floating point use.
27828 * kern/misc.c (grub_ftoa): Remove.
27829 (grub_vsprintf): Remove floating point support.
27830
50465dd6 278312008-06-15 Robert Millan <rmh@aybabtu.com>
27832
fe6b695a 27833 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 27834 devices.
27835 Reported by Max Vozeler.
27836
a9207284 278372008-06-15 Robert Millan <rmh@aybabtu.com>
27838
27839 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
27840 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
27841 skipped later.
27842 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
27843 the beginning of the prefix.
27844
27845 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
27846 It is assumed that if we have a memdisk, grub-mkimage has set
27847 grub_prefix to include the "(memdisk)" drive in it.
27848
a7cbd45a 278492008-06-15 Robert Millan <rmh@aybabtu.com>
27850
27851 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
27852 Initialize keyboard controller after registering the terminal, so that
27853 grub_printf() can be called from grub_keyboard_controller_init().
27854
21cf716a 278552008-06-15 Robert Millan <rmh@aybabtu.com>
27856
27857 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
27858 extent-btree which is written as big endian on disk.
27859 Reported by Alain Greppin <al@chilibi.org>.
27860
23a64d8e 278612008-06-14 Robert Millan <rmh@aybabtu.com>
27862
27863 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
27864 * util/i386/pc/grub-install.in (modules): Likewise.
27865
d687651c 278662008-06-13 Pavel Roskin <proski@gnu.org>
27867
27868 * commands/ls.c (grub_ls_list_files): Fix format warnings.
27869
dfe9ddd4 278702008-06-13 Bean <bean123ch@gmail.com>
27871
27872 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
27873
27874 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
27875
27876 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
27877 to indicate sparse block.
27878
16ae7781 278792008-06-12 Pavel Roskin <proski@gnu.org>
27880
e6d1a308 27881 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
27882 number, grub_fshelp_read() does it for us.
27883
16ae7781 27884 * fs/fshelp.c (grub_fshelp_read): New function. Implement
27885 linear disk read with journal translation.
27886 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
27887 * include/grub/fshelp.h: Declare grub_fshelp_read().
27888
40fd3a2b 278892008-06-09 Pavel Roskin <proski@gnu.org>
27890
27891 * fs/minix.c (grub_minix_mount): Handle error reading
27892 superblock.
27893
f5679726 278942008-06-08 Robert Millan <rmh@aybabtu.com>
27895
27896 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
27897 don't append the RAID prefix afterwards.
27898 Reported by Clint Adams.
27899
ce525529 279002008-06-08 Robert Millan <rmh@aybabtu.com>
27901
27902 Based on description from Pavel:
27903 * kern/disk.c (grub_disk_check_range): Rename to ...
27904 (grub_disk_adjust_range): ... this. Add a comment explaining the
27905 tasks performed by this function.
27906
ad4936a0 279072008-06-08 Robert Millan <rmh@aybabtu.com>
27908
27909 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
27910 `num_serial' (for consistency with other variables).
27911 (struct grub_ntfs_data): Add `uuid' member.
27912 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
27913 (grub_ntfs_uuid): New function.
27914 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
27915
dc20b0f9 279162008-06-07 Pavel Roskin <proski@gnu.org>
27917
27918 * util/biosdisk.c (open_device): Revert last change to the
27919 function, it broke installation. The sector needs to be
27920 different dependent on which device is opened.
27921
c5e3cfba 279222008-06-06 Robert Millan <rmh@aybabtu.com>
27923
27924 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
27925 rest of GRUB, and breakage doesn't happen if its value were modified.
27926
27927 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27928 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
27929 a constant (same value).
27930 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
27931 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
27932
26a1f8c4 279332008-06-06 Robert Millan <rmh@aybabtu.com>
27934
27935 * util/biosdisk.c (open_device): Do not modify sector offset when
27936 accessing a partition. kern/disk.c already handles this for us.
27937
25d6b327 279382008-06-06 Robert Millan <rmh@aybabtu.com>
27939
27940 * util/grub-emu.c (grub_machine_init): Move code in this function from
27941 here ...
27942 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
27943 segfault in case grub_printf() is called).
27944
27945 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
27946 grub_probe. Update all users not to explicitly add it again.
27947 (grub_device): New variable; contains corresponding device for grubdir.
27948 (fs_module, partmap_module, devabstraction_module): Pass
27949 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27950 every time.
27951
9ece62fb 279522008-06-05 Robert Millan <rmh@aybabtu.com>
27953
27954 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27955 is found, print it (same layout as with labels).
27956
1ad36d37 279572008-06-04 Robert Millan <rmh@aybabtu.com>
27958
27959 * util/biosdisk.c (get_drive): Rename to ...
27960 (find_grub_drive): ... this. Update all users.
27961
27962 (get_os_disk): Rename to ...
27963 (convert_system_partition_to_system_disk): ... this. Update all users.
27964
27965 (find_drive): Rename to ...
27966 (find_system_device): ... this. Update all users.
27967
e6a30859 279682008-06-04 Robert Millan <rmh@aybabtu.com>
27969
27970 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27971 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27972 (make_device_map): Likewise.
27973
00c108a4 279742008-06-01 Robert Millan <rmh@aybabtu.com>
27975
27976 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27977 before dereferencing it.
27978
27979 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27980 union with fat12/fat16-specific ones. Add some new fields, including
27981 `num_serial' for both versions.
27982 (struct grub_fat_data): Add `uuid' member.
27983 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27984 names. Initialize `data->uuid' using `num_serial'.
27985 (grub_fat_uuid): New function.
27986 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27987
27988 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27989 (grub_reiserfs_uuid): New function.
27990 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27991 member.
27992
27993 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27994 (grub_xfs_uuid): New function.
27995 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27996
1385c5bb 279972008-06-01 Robert Millan <rmh@aybabtu.com>
27998
27999 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28000 code that is backward compatible with pre-uuid search command.
28001
c682dfd7 280022008-05-31 Robert Millan <rmh@aybabtu.com>
28003
28004 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28005 floppies after everything else, to ensure floppy drive isn't accessed
28006 unnecessarily (patch from Bean).
28007
b7db5d47 280082008-05-31 Robert Millan <rmh@aybabtu.com>
28009
28010 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28011 not print device names when we were asked to set a variable.
28012
6e037aa9 280132008-05-31 Robert Millan <rmh@aybabtu.com>
28014
28015 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28016 using "cursor-on" and "cursor-off" commands (understood at least by
28017 the Open Firmware flavour on OLPC).
28018
41305bc8 280192008-05-31 Michael Gorven <michael@gorven.za.net>
28020
28021 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28022 on and off sequences.
28023
69ba137e 280242008-05-31 Robert Millan <rmh@aybabtu.com>
28025
28026 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28027 * util/update-grub.in: Likewise.
28028
520ae21b 280292008-05-30 Pavel Roskin <proski@gnu.org>
28030
28031 * util/biosdisk.c (linux_find_partition): Simplify logic and
28032 make the code more universal. Keep special processing for
28033 devfs, but use a simple rule for all other devices. If the
28034 device ends with a number, append 'p' and the partition number.
28035 Otherwise, append only the partition number.
28036
5786569b 280372008-05-30 Robert Millan <rmh@aybabtu.com>
28038
28039 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28040 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28041 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28042 the `root' parameter to Linux.
28043
51500452 280442008-05-30 Robert Millan <rmh@aybabtu.com>
28045
28046 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28047 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28048 --fs_uuid with --fs-uuid.
28049 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28050 all filesystems support them).
28051
811d3878 280522008-05-30 Robert Millan <rmh@aybabtu.com>
28053
28054 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28055 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28056
cab63c95 280572008-05-30 Robert Millan <rmh@aybabtu.com>
28058
28059 * util/grub.d/00_header.in: Remove obsolete comment referencing
28060 convert_system_path_to_grub_path().
28061 * util/update-grub.in: Likewise.
28062 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28063 (convert_system_path_to_grub_path): Add a warning message explaining
28064 that this function is deprecated. Rely on is_path_readable_by_grub()
28065 for the readability checks.
28066 (font_path): Use is_path_readable_by_grub() for the readability
28067 check rather than convert_system_path_to_grub_path().
28068
972e2f7a 280692008-05-30 Robert Millan <rmh@aybabtu.com>
28070
28071 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28072 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28073 converting it first.
28074 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28075 grub.cfg for access to font file, and afterwards call it again to set
28076 the root device.
28077
62191274 280782008-05-30 Robert Millan <rmh@aybabtu.com>
28079
28080 * commands/search.c (options): Add --fs_uuid option.
28081 (search_fs_uuid): New function.
28082 (grub_cmd_search): Fix --set argument passing.
28083 Use search_fs_uuid() when requested via --fs_uuid.
28084 (grub_search_init): Update help message.
28085 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28086 and redeclare it as an array of 16-bit words.
28087 (grub_ext2_uuid): New function.
28088 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28089 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28090 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28091 (GRUB_DEVICE_BOOT_UUID): New variables.
28092 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28093 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28094 whenever possible.
28095 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28096 just assume `root' variable has the right value.
28097 * util/grub.d/10_linux.in: Likewise.
28098 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28099 via PRINT_FS_UUID.
28100 (main): Recognise `-t fs_uuid' argument.
28101
01b73ec8 281022008-05-30 Robert Millan <rmh@aybabtu.com>
28103
28104 * util/biosdisk.c (map): Redefine structure to hold information
28105 about GRUB drive name.
fe6b695a 28106 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28107 drive names.
28108 (call_hook): Remove.
28109 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28110 member. Assume drive has partitions.
28111 (grub_util_biosdisk_open): Access device names via `.device' struct
28112 member.
28113 (open_device): Likewise.
28114 (find_drive): Likewise.
28115 (read_device_map): Adjust map[] usage to match the new struct
28116 definition. Don't check for duplicates (still possible, but not cheap
28117 anymore).
28118 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28119 (make_device_name): Remove assumption of BIOS-like drive names.
28120
22f16596 281212008-05-30 Pavel Roskin <proski@gnu.org>
28122
28123 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28124 compiling execute.c doesn't need grub_script.tab.h anymore.
28125 (normal/command.c_DEPENDENCIES): Likewise.
28126 (normal/function.c_DEPENDENCIES): Likewise.
28127 * conf/i386-ieee1275.rmk: Likewise.
28128 * conf/i386-linuxbios.rmk: Likewise.
28129 * conf/i386-pc.rmk: Likewise.
28130 * conf/powerpc-ieee1275.rmk: Likewise.
28131 * conf/sparc64-ieee1275.rmk: Likewise.
28132
528ad8f2 281332008-05-29 Pavel Roskin <proski@gnu.org>
28134
d1dff95d 28135 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28136 when scanning metadata for volume group name.
28137
528ad8f2 28138 * include/grub/script.h: Don't include grub_script.tab.h. It's
28139 a generated file, which may only be included from the files with
28140 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28141 use union YYSTYPE, as the later allows forward declaration.
28142 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28143
47248e08 281442008-05-29 Robert Millan <rmh@aybabtu.com>
28145
28146 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28147 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28148 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28149 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28150 scan codes.
28151
ee632529 281522008-05-29 Robert Millan <rmh@aybabtu.com>
28153
28154 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28155 control key combinations.
28156
eee96e08 281572008-05-29 Robert Millan <rmh@aybabtu.com>
28158
28159 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28160 * util/ieee1275/grub-install.in: ... to here.
28161 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28162 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28163 (grub_install_SOURCES): Likewise.
28164
da9a6a94 281652008-05-29 Robert Millan <rmh@aybabtu.com>
28166
28167 * fs/affs.c: Update copyright year.
28168 * fs/ext2.c: Likewise.
28169 * fs/fshelp.c: Likewise.
28170 * fs/hfsplus.c: Likewise.
28171 * fs/ntfs.c: Likewise.
28172 * fs/xfs.c: Likewise.
28173 * include/grub/fshelp.h: Likewise.
28174 * util/grub-mkdevicemap.c: Likewise.
28175
12e65f3a 281762008-05-28 Robert Millan <rmh@aybabtu.com>
28177
28178 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28179 might need to be fatfs to support some firmware implementations
28180 (e.g. OFW or EFI).
28181
23023641 281822008-05-28 Robert Millan <rmh@aybabtu.com>
28183
28184 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28185 devices.
28186 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28187 (make_device_map): Likewise.
28188
887d2619 281892008-05-20 Bean <bean123ch@gmail.com>
28190
28191 * fs/fshelp.c (grub_fshelp_map_block): New function.
28192 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28193 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28194
28195 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28196 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28197 (grub_fshelp_journal): New structure.
28198 (grub_fshelp_map_block): New function prototype.
28199 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28200 (grub_fshelp_map_block): Likewise.
28201
28202 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28203 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28204 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28205 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28206 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28207 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28208 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28209 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28210 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28211 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28212 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28213 (grub_ext2_sblock): New members for journal support.
28214 (grub_ext3_journal_header): New structure.
28215 (grub_ext3_journal_revoke_header): Likewise.
28216 (grub_ext3_journal_block_tag): Likewise.
28217 (grub_ext3_journal_sblock): Likewise.
28218 (grub_fshelp_node): New members logfile and journal.
28219 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28220 grub_fshelp_map_block to get real block number.
28221 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28222 number.
28223 (grub_ext2_read_inode): Likewise.
28224 (grub_ext3_get_journal): New function.
28225 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28226 (grub_ext2_close): Release memory used by journal.
28227
28228 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28229 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28230 (grub_reiserfs_transaction_header): Renamed to
28231 grub_reiserfs_description_block, replace field data with real_blocks.
28232 (grub_reiserfs_commit_block): New structure.
28233 (grub_reiserfs_data): New member journal.
28234 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28235 number.
28236 (grub_reiserfs_read_symlink): Likewise.
28237 (grub_reiserfs_iterate_dir): Likewise.
28238 (grub_reiserfs_open): Likewise.
28239 (grub_reiserfs_read): Likewise.
28240 (grub_reiserfs_get_journal): New function.
28241 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28242 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28243 using grub_reiserfs_get_journal.
28244 (grub_reiserfs_close): Release memory used by journal.
28245
28246 * fs/affs.c (grub_affs_read_block): Change block type to
28247 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28248
28249 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28250
28251 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28252
28253 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28254
28255 * fs/udf.c (grub_udf_read_block): Change block type to
28256 grub_disk_addr_t. Use type cast to avoid warning.
28257
28258 * fs/xfs.c (grub_xfs_read_block): Likewise.
28259
b7c6bed5 282602008-05-16 Christian Franke <franke@computer.org>
28261
28262 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28263 to ensure that break with ESC will always work.
28264 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28265 Remove ESC from keyboard queue.
28266
eedf167f 282672008-05-16 Christian Franke <franke@computer.org>
28268
28269 * util/biosdisk.c: [__CYGWIN__] Add includes.
28270 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28271 (get_os_disk): Move variable declarations to OS specific
28272 parts to avoid warning.
28273 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28274 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28275 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28276 Cygwin.
28277 * util/getroot.c: [__CYGWIN__] Add includes.
28278 (strip_extra_slashes): Fix "/" case.
28279 [__CYGWIN__] (get_win32_path): New function.
28280 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28281 [__CYGWIN__] (find_root_device): Disable.
28282 [__CYGWIN__] (get_bootsec_serial): New function.
28283 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28284 [__linux__] (grub_guess_root_device): Add early returns to simplify
28285 structure.
28286 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28287 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28288 check for Linux only.
28289
a079699e 282902008-05-15 Bean <bean123ch@gmail.com>
28291
28292 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28293 keyboard hang problem in apple's intel mac.
28294
1cf4059a 282952008-05-09 Robert Millan <rmh@aybabtu.com>
28296
28297 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28298 devices.
28299 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28300 (make_device_map): Likewise.
28301 Reported by Aurelien Jarno <aurel32@debian.org>
28302
ed759390 283032008-05-07 Ian Campbell <ijc@hellion.org.uk>
28304
28305 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28306 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28307 (make_device_map): Output entries for xvd type disks.
28308
b56c4eaa 283092008-05-07 Robert Millan <rmh@aybabtu.com>
28310
28311 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28312 devices.
28313 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28314 (make_device_map): Likewise.
28315 Reported by Roland Dreier <rdreier@cisco.com>
28316
7f8866ed 283172008-05-07 Robert Millan <rmh@aybabtu.com>
28318
28319 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28320 grub_strstr() call. Correct a few mistakes in failure path handling.
28321
b0346e0f 283222008-05-06 Robert Millan <rmh@aybabtu.com>
28323
28324 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28325 Do not print a trailing slash (therefore, the root directory is an
28326 empty string).
28327 (convert_system_path_to_grub_path): Do not remove trailing slash
28328 from make_system_path_relative_to_its_root() output.
28329
28330 * util/i386/pc/grub-install.in: Add trailing slash to output from
28331 make_system_path_relative_to_its_root().
28332
6cf12cbd 283332008-05-06 Robert Millan <rmh@aybabtu.com>
28334
28335 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28336 ensures that output lines aren't intermangled with those sent to
28337 stderr (via grub_util_info()).
28338 * util/grub-probe.c (grub_refresh): Likewise.
28339 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28340
0fbb3117 283412008-05-05 Christian Franke <franke@computer.org>
28342
28343 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28344 Add Cygwin device names.
28345 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28346 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28347 (check_device): Return error instead of success on empty name.
28348 (make_device_map): Move label inside linux specific code to
28349 prevent compiler warning.
28350
8124cdb7 283512008-04-30 Robert Millan <rmh@aybabtu.com>
28352
28353 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28354 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28355 first boot option.
28356 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28357
094c01d0 283582008-04-29 Robert Millan <rmh@aybabtu.com>
28359
28360 * docs/grub.cfg: New file (example GRUB configuration).
28361
f4b1fc02 283622008-04-26 Robert Millan <rmh@aybabtu.com>
28363
329ce2a5 28364 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28365 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28366 and `disk/ieee1275/nand.c'.
f4b1fc02 28367
25f16ec1 283682008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28369
25f16ec1 28370 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28371 i386-linuxbios.
28372
28373 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28374 change the buffer size to 4096 for cdrom device.
28375
28376 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28377 and nand.mod.
28378 (_linux_mod_SOURCES): New variable.
28379 (_linux_mod_CFLAGS): Likewise.
28380 (_linux_mod_LDFLAGS): Likewise.
28381 (linux_mod_SOURCES): Likewise.
28382 (linux_mod_CFLAGS): Likewise.
28383 (linux_mod_LDFLAGS): Likewise.
28384 (nand_mod_SOURCES): Likewise.
28385 (nand_mod_CFLAGS): Likewise.
28386 (nand_mod_LDFLAGS): Likewise.
28387
28388 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28389 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28390 type property. (nand device in olpc don't have this property)
28391
28392 * include/grub/disk.h (grub_disk_dev_id): New macro
28393 GRUB_DISK_DEVICE_NAND_ID.
28394
28395 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28396 function prototype.
28397 (grub_rescue_cmd_initrd): Likewise.
28398
28399 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28400 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28401 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28402
25f16ec1 28403 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28404 GRUB_MACHINE_IEEE1275 is defined.
28405
28406 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28407 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28408
28409 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28410 on nested function heap_init.
28411 (grub_upper_mem): New variable for i386-ieee1275.
28412 (grub_get_extended_memory): New function for i386-ieee1275.
28413 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28414
28415 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28416 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28417 property.
f19dbdb7 28418
25f16ec1 28419 * loader/i386/ieee1275/linux.c: New file.
28420
28421 * loader/i386/ieee1275/linux_normal.c: New file.
28422
28423 * disk/ieee1275/nand.c: New file.
28424
e89d61e9 284252008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28426
28427 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28428 value.
28429 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28430
602566f6 284312008-04-18 Robert Millan <rmh@aybabtu.com>
28432
28433 Restructures early code path on ieee1275 to unify grub_main() as
28434 the first C function that is executed in every platform.
28435
28436 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28437 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28438 cmain().
28439 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28440 * kern/ieee1275/cmain.c (cmain): Rename to ...
28441 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28442 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28443 at the beginning.
28444
57490c2b 284452008-04-18 Robert Millan <rmh@aybabtu.com>
28446
28447 * util/update-grub.in: Fix syntax error when setting
28448 `GRUB_PRELOAD_MODULES'.
28449 Reported by Stephane Chazelas <stephane@artesyncp.com>
28450
1977517d 284512008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28452
28453 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28454 section into account, newer toolchains generate unique build ids
28455 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28456 we want build ids to be preserved
1977517d 28457 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28458 far from other sections don't cause the raw binary images grow
28459 size
28460
bfb1f1a2 284612008-04-15 Robert Millan <rmh@aybabtu.com>
28462
28463 * disk/lvm.c: Update copyright year.
28464 * kern/misc.c: Likewise.
28465
01979850 284662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28467
28468 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28469 there is no memory left for physical volume name.
01979850 28470
0a1150e2 284712008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28472
28473 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28474 volume name mapping to support bigger than 9 character names properly.
28475
82ead3fe 284762008-04-13 Robert Millan <rmh@aybabtu.com>
28477
28478 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28479 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28480
e54a72f5 284812008-04-13 Christian Franke <franke@computer.org>
28482
28483 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28484 to create a floppy emulation boot CD when non emulation mode
28485 does not work.
28486 Enable Joliet CD filesystem extension.
28487
9fe86034 284882008-04-13 Robert Millan <rmh@aybabtu.com>
28489
28490 * kern/misc.c (grub_strncat): Fix off-by-one error.
28491 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28492
28493 * kern/env.c (grub_env_context_close): Clear current context, not
28494 previous one.
28495 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28496
28497 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28498
7ceeee39 284992008-04-13 Robert Millan <rmh@aybabtu.com>
28500
28501 Improve robustness when handling LVM.
28502
28503 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28504 (and leave `*p' unmodified).
7ceeee39 28505 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28506 through it.
28507 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28508 iterating through it.
28509 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28510 through it.
fe6b695a 28511 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28512 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28513 Don't assume `vg->pvs != NULL' when iterating through it.
28514
58cd3d85 285152008-04-13 Robert Millan <rmh@aybabtu.com>
28516
28517 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28518 * genmk.rb (partmap): New variable.
28519 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28520 (#{partmap}): New target rule.
28521 * genpartmaplist.sh: New file.
28522 * Makefile.in (pkglib_DATA): Add partmap.lst.
28523 (partmap.lst): New target rule.
28524 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28525 modules (including all partition maps), instead of preloading them.
28526
78b51059 285272007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28528
28529 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28530 `linux-boot-prober' (if installed) to detect other operating
28531 systems which are installed on the computer and add them to
28532 the boot menu.
28533 * conf/common.rmk: Build and install 30_os-prober.
28534
a91627b4 285352008-04-12 Robert Millan <rmh@aybabtu.com>
28536
28537 * kern/powerpc/ieee1275/init.c: Move from here ...
28538 * kern/ieee1275/init.c: ... to here. Update all users.
28539
28540 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28541 * kern/ieee1275/cmain.c: ... to here. Update all users.
28542
28543 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28544 * kern/ieee1275/openfw.c: ... to here. Update all users.
28545
28546 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28547 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28548
322562ea 285492008-04-10 Pavel Roskin <proski@gnu.org>
28550
28551 * configure.ac: Always use "_cv_" in cache variables for
28552 compatibility with Autoconf 2.62.
28553
a02a73c5 285542008-04-07 Robert Millan <rmh@aybabtu.com>
28555
28556 Revert grub/machine/init.h addition by Pavel (since it breaks on
28557 i386-ieee1275 and others):
28558 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28559 * util/powerpc/ieee1275/misc.c: Likewise.
28560
25c024b1 285612008-04-07 Robert Millan <rmh@aybabtu.com>
28562
28563 * util/grub-probe.c (probe): Improve error message.
28564
3cbd2f98 285652008-04-07 Robert Millan <rmh@aybabtu.com>
28566
28567 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28568 (this prevents the presence of a bogus entry from ruining the whole
28569 thing).
28570
87a297bf 285712008-04-06 Pavel Roskin <proski@gnu.org>
28572
36747a62 28573 * util/biosdisk.c: Include grub/util/biosdisk.h.
28574 * util/grub-fstest.c (execute_command): Make static.
28575 * util/grub-mkdevicemap.c (check_device): Likewise.
28576 * util/i386/pc/misc.c: Include grub/machine/init.h.
28577 * util/powerpc/ieee1275/misc.c: Likewise.
28578 * util/lvm.c: Include grub/util/lvm.h.
28579 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28580 grub/cache.h.
28581 * util/raid.c: Include grub/util/raid.h.
28582 (grub_util_getdiskname): Make static.
28583
87a297bf 28584 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28585 grub_hostfs_fini(), as they are called from grub_init_all() and
28586 grub_fini_all() respectively. This fixes an infinite loop in
28587 grub-fstest due to double registration of hostfs.
28588 Reported by Christian Franke <Christian.Franke@t-online.de>
28589
f6ce7629 285902008-04-05 Pavel Roskin <proski@gnu.org>
28591
28592 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28593 all 8 functions. Otherwise, probe function 0 only.
28594
070e49e4 285952008-04-04 Pavel Roskin <proski@gnu.org>
28596
8b088a4c 28597 * commands/lspci.c (grub_lspci_iter): Print the bus number
28598 correctly.
28599
4f657021 28600 * commands/lspci.c (grub_pci_classes): Fix typos.
28601 (grub_lspci_iter): Don't print func twice. Print vendor ID
28602 before device ID, as it's normally done.
28603
070e49e4 28604 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28605 Fix signedness warnings.
28606 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28607 Likewise.
28608 * util/ieee1275/get_disk_name.c: Include config.h so that
28609 _GNU_SOURCE is defined and getline() is declared. Mark an
28610 unused argument as such. Fix a signedness warning.
28611
ba7328dc 286122008-04-02 Pavel Roskin <proski@gnu.org>
28613
26887f22 28614 * genkernsyms.sh.in: Use more robust assignments for CC and
28615 srcdir. Quote srcdir.
28616 * gensymlist.sh.in: Likewise. Assert at the compile time that
28617 the symbol table is not empty.
28618
ba7328dc 28619 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28620 * fs/cpio.c (grub_cpio_read): Likewise.
28621
0f582c6b 286222008-04-01 Pavel Roskin <proski@gnu.org>
28623
4b6e1995 28624 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28625 * disk/host.c (grub_host_open): Likewise.
28626 * disk/loopback.c (grub_loopback_open): Likewise.
28627 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28628 disk->id as in disk/host.c, not a multi-character constant.
28629
828a2768 28630 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28631 later is obsolete, potentially dangerous and sets a bad example.
28632 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28633 * util/misc.c (grub_util_get_image_size): Likewise.
28634
2bb4fb47 28635 * disk/loopback.c (options): Improve help for "--partitions".
28636
0f582c6b 28637 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28638 options to align them with the short options, e.g. "echo -e".
28639
a33224e0 286402008-03-31 Bean <bean123ch@gmail.com>
28641
28642 * video/reader/png.c (grub_png_data): New member is_16bit and
28643 image_data.
28644 (grub_png_decode_image_header): Detect 16 bit png image.
28645 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28646 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28647 (grub_video_reader_png): Release memory occupied by image_data.
28648
28649 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28650 4096 bytes.
28651 (grub_nfs_mount): Skip the test for sector per cluster.
28652
28653 * include/grub/ntfs.h (MAX_SPC): Removed.
28654
86cb4f54 286552008-03-31 Bean <bean123ch@gmail.com>
28656
28657 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28658 (grub_probe_SOURCES): Add fs/afs.c.
28659 (grub_fstest_SOURCES): Likewise.
28660 (afs_mod_SOURCES): New variable.
28661 (afs_mod_CFLAGS): Likewise.
28662 (afs_mod_LDFLAGS): Likewise.
28663
28664 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28665 (grub_emu_SOURCES): Likewise.
28666
28667 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28668
28669 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28670
28671 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28672
28673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28674
28675 * fs/afs.c: New file.
28676
17c74c21 286772008-03-30 Pavel Roskin <proski@gnu.org>
28678
4cb68e89 28679 * disk/host.c: Include grub/misc.h to fix a warning.
28680 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28681 warnings about implicit declarations.
28682
8790bb04 28683 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28684 variable.
28685 * include/grub/i386/loader.h: Change declaration of
28686 grub_linux_boot() to match what grub_loader_set() expects.
28687 * util/getroot.c (grub_guess_root_device): Return const char* to
28688 fix a warning.
28689 * util/grub-probe.c (probe): Fix a warning about uninitialized
28690 abstraction_name variable.
28691 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28692 second argument as unused to fix a warning.
28693
9a3f3296 28694 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28695 missing grub_error() call.
28696
0ecef90d 28697 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28698 2.60 and newer uses it to define datadir.
28699
0bf6d401 28700 * commands/sleep.c: Fix warning about implicit declaration.
28701 * disk/memdisk.c: Likewise.
28702 * loader/aout.c: Likewise.
28703 * loader/i386/bsd_normal.c: Likewise.
28704 * util/grub-probe.c: Likewise.
28705
7cdacf97 28706 * commands/i386/cpuid.c (has_longmode): Make static.
28707 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
28708 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
28709
17c74c21 28710 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
28711 GDT. This is more robust, as %ds can change.
28712 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
28713 calling real_to_prot().
28714 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
28715
80a3e68b 287162008-03-28 Pavel Roskin <proski@gnu.org>
28717
28718 * kern/i386/pc/startup.S: Assert that uncompressed functions
28719 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
28720 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
28721 code, as they push parts of the code (error handlers) beyond
28722 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
28723 code as correctness and size.
28724
77bcd272 287252008-03-28 Pavel Roskin <proski@gnu.org>
28726
28727 * kern/i386/pc/startup.S
28728 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
28729 data block address to the real mode, keep offset minimal. This
28730 works around a bug in AWARD BIOS on old Athlon systems, which
28731 makes CD detection hang.
28732
c5dfd43b 287332008-03-26 Pavel Roskin <proski@gnu.org>
28734
28735 * normal/color.c (grub_parse_color_name_pair): Make `name' a
28736 const.
28737 * include/grub/normal.h: Add grub_parse_color_name_pair()
28738 declaration.
28739
bf962df2 287402008-03-24 Bean <bean123ch@gmail.com>
28741
28742 * disk/i386/pc/biosdisk.c (cd_start): Removed.
28743 (cd_count): Removed.
28744 (cd_drive): New variable.
28745 (grub_biosdisk_get_drive): Don't check for (cdN) device.
28746 (grub_biosdisk_call_hook): Likewise.
28747 (grub_biosdisk_iterate): Change cdrom detection method.
28748 (grub_biosdisk_open): Replace cd_start with cd_drive.
28749 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
28750 detect cdrom device.
28751
28752 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
28753 Removed.
28754 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
28755 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
28756 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
28757 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
28758 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
28759 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
28760 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
28761 (grub_biosdisk_cdrp): New structure.
28762 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
28763
28764 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
28765
28766 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
28767 device.
28768
28769 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
28770 New function.
28771
68e7fc7a 287722008-03-20 Robert Millan <rmh@aybabtu.com>
28773
28774 Remove 2 TiB limit in ata.mod.
28775 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
28776 (grub_ata_dumpinfo): Print sector count with 0x%llx.
28777 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
28778 grub_uint64_t instead of grub_uint32_t.
28779
38ad2cf5 287802008-03-05 Bean <bean123ch@gmail.com>
28781
28782 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
28783 (grub_multiboot): Set boot device.
28784
28785 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
28786
2b89344e 287872008-03-02 Bean <bean123ch@gmail.com>
28788
28789 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
28790 symlink_buffer.
28791
87a95d1f 287922008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
28793
28794 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
28795 texinfo.tex.
28796
28797 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
28798 modified.
28799
28800 * docs/fdl.texi: New file.
f19dbdb7 28801
87a95d1f 28802 * docs/mdate-sh: New file. Copied from gnulib.
28803 * docs/texinfo.tex: Likewise.
28804
28805 * config.guess: Updated from gnulib.
28806 * install-sh: Likewise.
28807
7dc15d8e 288082008-02-28 Robert Millan <rmh@aybabtu.com>
28809
28810 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
28811 (aout_mod_SOURCES): New variable.
28812 (aout_mod_CFLAGS): Likewise.
28813 (aout_mod_LDFLAGS): Likewise.
28814
28815 * conf/i386-ieee1275.rmk: Likewise.
28816
b00ab696 288172008-02-28 Robert Millan <rmh@aybabtu.com>
28818
28819 * util/update-grub.in: Reorganise terminal validity check. Accept
28820 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
28821 Based on suggestion by Franklin PIAT.
28822
79ca2d78 288232008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
28824
28825 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
28826 function.
28827 * util/getroot.c (grub_util_check_block_device): New function that
28828 returns the given argument if it is a block device and returns NULL else.
28829 * util/grub-probe.c (argument_is_device): New variable.
28830 (probe): Promote device_name from a variable to an argument. Receive
28831 device_name from grub_util_check_block_device() if path is NULL and from
28832 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 28833 (options): Introduce new parameter '-d, --device'.
79ca2d78 28834 (main): Add description of the new parameter to the help screen.
28835 Rename path variable to argument. Set argument_is_device if the '-d'
28836 option is given. Pass argument to probe() depending on
28837 argument_is_device.
28838
0d16e571 288392008-02-24 Bean <bean123ch@gmail.com>
28840
28841 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
28842 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
28843 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
28844 (GRUB_ISO9660_VOLDESC_PART): Likewise.
28845 (GRUB_ISO9660_VOLDESC_END): Likewise.
28846 (grub_iso9660_primary_voldesc): New member escape.
28847 (grub_iso9660_data): New member joliet.
28848 (grub_iso9660_convert_string): New function.
28849 (grub_iso9660_mount): Detect joliet extension.
28850 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
28851 (grub_iso9660_iso9660_label): Likewise.
28852
28853 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
28854 (grub_setup_SOURCES): Add fs/udf.c.
28855 (grub_fstest_SOURCES): Likewise.
28856 (udf_mod_SOURCES): New variable.
28857 (udf_mod_CFLAGS): Likewise.
28858 (udf_mod_LDFLAGS): Likewise.
28859
28860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
28861 (grub_emu_SOURCES): Likewise.
28862
28863 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28864
28865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28866
28867 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28868
28869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28870
28871 * fs/udf.c: New file.
28872
8a594a17 288732008-02-24 Robert Millan <rmh@aybabtu.com>
28874
28875 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
28876 (normal/lexer.c_DEPENDENCIES): New variables.
28877 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28878 (normal/lexer.c_DEPENDENCIES): Likewise.
28879 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
28880 (normal/lexer.c_DEPENDENCIES): Likewise.
28881 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
28882 (normal/lexer.c_DEPENDENCIES): Likewise.
28883 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28884 (normal/lexer.c_DEPENDENCIES): Likewise.
28885 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28886 (normal/lexer.c_DEPENDENCIES): Likewise.
28887
2dc33c03 288882008-02-23 Robert Millan <rmh@aybabtu.com>
28889
28890 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
28891 since they were intended to be in hex. This didn't break previously
28892 because of a bug in gpt_partition_map_iterate() (see below).
28893
28894 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
28895 when checking the validity of GPT header.
28896 Remove `partno', since it always provides the same information as `i'.
28897
f6f4cfb0 288982008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
28899
28900 * include/grub/efi/time.h: Fix a wrong comment.
28901
79ff665f 289022008-02-19 Pavel Roskin <proski@gnu.org>
28903
28904 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
28905 message.
28906
d38e24c2 289072008-02-19 Bean <bean123ch@gmail.com>
28908
28909 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
28910 (aout_mod_SOURCES): New variable.
28911 (aout_mod_CFLAGS): Likewise.
28912 (aout_mod_LDFLAGS): Likewise.
28913 (_bsd_mod_SOURCES): New variable.
28914 (_bsd_mod_CFLAGS): Likewise.
28915 (_bsd_mod_LDFLAGS): Likewise.
28916 (bsd_mod_SOURCES): New variable.
28917 (bsd_mod_CFLAGS): Likewise.
28918 (bsd_mod_LDFLAGS): Likewise.
28919
28920 * include/grub/aout.h: New file.
28921
28922 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
28923
28924 * include/grub/i386/bsd.h: New file.
28925
28926 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
28927 to make it public.
28928
28929 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
28930 function is called, so that it's possible to change it inside the hook.
28931 (grub_elf64_load): Likewise.
28932 (grub_elf_file): Don't close the file if elf header is not found.
28933 (grub_elf_close): Close the file if grub_elf_file fails (The new
28934 grub_elf_file won't close it).
28935 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
28936 (grub_elf64_size): Likewise.
28937
28938 * kern/i386/loader.S (grub_unix_real_boot): New function.
28939
28940 * loader/aout.c: New file.
28941
28942 * loader/i386/bsd.c: New file.
28943
28944 * loader/i386/bsd_normal.c: New file.
28945
28946 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
28947
28948 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 28949 can test other formats.
d38e24c2 28950
b93bdb0f 289512008-02-19 Robert Millan <rmh@aybabtu.com>
28952
28953 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28954 (grub_gpt_partition_type_empty): Redefine with macro from
28955 `<grub/gpt_partition.h>'.
28956 (gpt_partition_map_iterate): Adjust partition type comparison.
28957
28958 Export `entry' as partmap-specific `part.data' struct.
28959 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28960
28961 * include/grub/gpt_partition.h (grub_gpt_header)
28962 (grub_gpt_partentry): ... to here (new file).
28963
28964 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28965
28966 (grub_gpt_partition_type_bios_boot): New const variable, defined
28967 with macro from `<grub/gpt_partition.h>'.
28968
28969 (setup): Replace `first_start' with `embed_region', which keeps
28970 track of the embed region (and is partmap-agnostic).
28971
28972 Replace find_first_partition_start() with find_usable_region(),
28973 which finds a usable region for embedding using partmap-specific
28974 knowledge (supports PC/MSDOS and GPT).
28975
28976 Fix all assumptions that the embed region start at sector 1, using
28977 `embed_region.start' from now on. Similarly, use `embed_region.end'
28978 rather than `first_start' to calculate available size.
28979
28980 In grub_util_info() message, replace "into after the MBR" with an
28981 indication of the specific sector our embed region starts at.
28982
66cb40f6 289832008-02-19 Robert Millan <rmh@aybabtu.com>
28984
28985 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28986 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28987 `commands/reboot.c'.
28988 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28989 (halt_mod_SOURCES): Likewise.
28990 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28991 (halt_mod_SOURCES): Likewise.
28992
b7202015 289932008-02-17 Christian Franke <franke@computer.org>
28994
28995 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28996
32b0fc49 289972008-02-17 Robert Millan <rmh@aybabtu.com>
28998
28999 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29000 set `first_start' to 0 for non-PC/MSDOS partition maps.
29001
aca63502 290022008-02-16 Robert Millan <rmh@aybabtu.com>
29003
29004 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29005 do not assume partition map is PC/MSDOS before performing checks that
29006 are specific to that layout.
29007
0de8be86 290082008-02-13 Robert Millan <rmh@aybabtu.com>
29009
29010 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29011 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29012 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29013
c3db8364 290142008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29015
29016 * configure.ac: Only a cosmetic change on the handling of
29017 -fno-stack-protector.
29018
f714229e 290192008-02-12 Alexandre Boeglin <alex@boeglin.org>
29020
c3db8364 29021 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29022 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29023 reboot.c.
f714229e 29024 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29025 (halt_mod_SOURCES): New variable.
29026 (halt_mod_CFLAGS): Likewise.
29027 (halt_mod_LDFLAGS): Likewise.
29028 (reboot_mod_SOURCES): Likewise.
29029 (reboot_mod_CFLAGS): Likewise.
29030 (reboot_mod_LDFLAGS): Likewise.
29031
c3db8364 29032 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29033 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29034 reboot.c.
f714229e 29035 (halt_mod_SOURCES): Likewise.
29036 (reboot_mod_SOURCES): Likewise.
29037
c3db8364 29038 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29039 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29040 (reboot_mod_SOURCES): Likewise.
29041
29042 * commands/i386/pc/reboot.c: merge this file ...
29043
29044 * commands/ieee1275/reboot.c: ... and this file ...
29045
29046 * commands/reboot.c: ... to this file.
c3db8364 29047 Add some precompiler directive to include the correct header for
29048 each machine.
f714229e 29049
29050 * commands/ieee1275/halt.c: move this file ...
29051
29052 * commands/halt.c: ... to here.
c3db8364 29053 Add some precompiler directive to include the correct header for
29054 each machine.
f714229e 29055
29056 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29057 (grub_halt): Likewise.
29058
29059 * kern/efi/efi.c (grub_reboot): New function.
29060 (grub_halt): Likewise.
29061
c74493e0 290622008-02-12 Robert Millan <rmh@aybabtu.com>
29063
29064 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29065 /dev (like it is done for /dev/mapper). This doesn't provide support
29066 for EVMS, but at least it is now easy to identify the problem when it
29067 arises.
29068
d0db4b04 290692008-02-11 Robert Millan <rmh@aybabtu.com>
29070
29071 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29072 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29073 comparing it with -1, not 0.
29074
bf748642 290752008-02-10 Robert Millan <rmh@aybabtu.com>
29076
29077 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29078 `disk/lvm.c'.
29079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29080 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29081
29082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29083 `disk/lvm.c' to the end of the list.
29084 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29085 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29086
b5db202a 290872008-02-10 Robert Millan <rmh@aybabtu.com>
29088
29089 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29090 grub_print_error() instead. This will let user know why we're entering
29091 rescue mode.
29092 Based on suggestions from Sam Morris.
29093
83abee31 290942008-02-10 Alexandre Boeglin <alex@boeglin.org>
29095
29096 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29097 on remaining N args, instead of "--" arg N times.
29098
78d5a08b 290992008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29100
29101 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29102 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29103 pattern for unknown glyphs.
29104
68807e5f 291052008-02-09 Robert Millan <rmh@aybabtu.com>
29106
29107 * configure.ac: Probe for `help2man'.
29108 * Makefile.in (builddir): New variable.
29109 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29110 or otherwise add a few flags/options to it.
29111 (install-local): For every executable utility or script that is
29112 installed, invoke $(HELP2MAN) to install a manpage based on --help
29113 output.
29114
29115 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29116 that it doesn't prevent --help from working in build tree.
29117
29118 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29119 with `bug-grub@gnu.org'.
29120 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29121 * util/update-grub.in (usage): New function.
29122 Implement proper argument check, with support for --help and --version
29123 (as well as existing -y).
29124
291252008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29126
29127 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29128 avoid overwriting previous output.
29129 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29130
c1962162 291312008-02-09 Robert Millan <rmh@aybabtu.com>
29132
29133 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29134 drawing the menu.
29135
3dac2e3f 291362008-02-09 Robert Millan <rmh@aybabtu.com>
29137
29138 * commands/sleep.c: New file.
29139 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29140 (sleep_mod_SOURCES): New variable.
29141 (sleep_mod_CFLAGS): Likewise.
29142 (sleep_mod_LDFLAGS): Likewise.
29143
7a634e08 291442008-02-09 Robert Millan <rmh@aybabtu.com>
29145
29146 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29147 situations in which we can deduce the RAID size and the superblock
29148 doesn't match it.
29149
b92f0c18 291502008-02-09 Robert Millan <rmh@aybabtu.com>
29151
29152 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29153 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29154 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29155
29156 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29157 and return a grub_diskmemberlist_t composed of physical array members.
29158 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29159
29160 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29161 prototype.
29162 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29163 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29164 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29165
29166 * util/grub-probe.c (probe): Move partmap probing code from here ...
29167 (probe_partmap): ... to here.
29168 (probe): Use probe_partmap() once for the disk we're probing, and
29169 additionally, when such disk contains a memberlist() struct member,
29170 once for each disk that is contained in the structure returned by
29171 memberlist().
29172
91a4bf68 291732008-02-09 Robert Millan <rmh@aybabtu.com>
29174
29175 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29176 environment variable to 'all' in order to obtain debug output from
29177 non-util/ code.
29178 * util/i386/pc/grub-setup.c (main): Likewise.
29179
a96f9caa 291802008-02-08 Robert Millan <rmh@aybabtu.com>
29181
29182 * disk/raid.c (grub_raid_scan_device): Check for
29183 `array->device[sb.this_disk.number]' rather than for
29184 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29185 guaranteed to be accessible.
a96f9caa 29186
b37a9222 291872008-02-08 Robert Millan <rmh@aybabtu.com>
29188
29189 * disk/raid.c: Update copyright.
29190 * fs/cpio.c: Likewise.
29191 * include/grub/raid.h: Likewise.
29192 * loader/i386/pc/multiboot.c: Likewise.
29193 * util/hostfs.c: Likewise.
29194
5626aee1 291952008-02-08 Robert Millan <rmh@aybabtu.com>
29196
29197 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29198 to a grub_disk_t array.
29199 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29200 `device[x]'.
29201 (grub_raid_scan_device): Replace `device[x].name' accesses with
29202 `device[x]->name'. Simplify initialization of `array->device[x]'.
29203
554f0187 292042008-02-08 Robert Millan <rmh@aybabtu.com>
29205
29206 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29207 grub_dprintf() calls.
29208 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29209 error message.
29210
1ec8425d 292112008-02-07 Christian Franke <franke@computer.org>
29212
29213 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29214 instead of fseek and ftell to support large files.
29215 (grub_hostfs_read): Likewise.
29216
f2156fda 292172008-02-07 Robert Millan <rmh@aybabtu.com>
29218
29219 Patch from Jeroen Dekkers.
29220 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29221 failure, since successfully reading all array members might not be
f2156fda 29222 required.
29223
9216e0e7 292242008-02-06 Robert Millan <rmh@aybabtu.com>
29225
29226 * util/grub-probe.c (probe): Simplify partmap probing (with the
29227 assumption that the first word up to the underscore equals to
29228 the module name).
29229
b0dfd29a 292302008-02-06 Christian Franke <franke@computer.org>
29231
29232 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29233 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29234 last block of a cpio or tar stream.
29235 Check for "TRAILER!!!" instead of any empty data
29236 block to detect last block of a cpio stream.
29237 (grub_cpio_dir): Fix constness of variable np.
29238 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29239 cpio or tar trailer is detected. This fixes a crash
29240 on open of a non existing file.
29241
c32865bf 292422008-02-05 Bean <bean123ch@gmail.com>
29243
29244 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29245 address of entry.
29246 (grub_multiboot_load_elf64): Likewise.
29247 (grub_multiboot): Initialize mbi structure.
29248
29249 * util/grub-fstest.c: Don't include unused header file script.h.
29250
fe6b695a 29251 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29252 of file.
29253 (grub_fstest_SOURCES): Likewise.
29254
409480b7 292552008-02-05 Robert Millan <rmh@aybabtu.com>
29256
29257 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29258 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29259 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29260 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29261
29262 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29263 (translation_table): Replace hardcoded values with macros
29264 provided by `<grub/term.h>'.
29265
29266 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29267 (keyboard_map): Correct/add a few values, with macros provided
29268 by `<grub/term.h>'.
29269 (keyboard_map_shift): Zero values that don't differ from their
29270 `keyboard_map' equivalents.
29271 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29272 Discard the second scan code that is always sent by Caps lock.
29273 Only use `keyboard_map_shift' when it provides a non-zero value,
29274 otherwise fallback to `keyboard_map'.
29275
99fadbaa 292762008-02-04 Bean <bean123ch@gmail.com>
29277
29278 * Makefile.in (enable_grub_fstest): New variable.
29279
29280 * conf/common.rmk (grub_fstest_init.lst): New rule.
29281 (grub_fstest_init.h): Likewise.
29282 (grub_fstest_init.c): Likewise.
29283 (util/grub-fstest.c_DEPENDENCIES): New variable.
29284 (grub_fstest_SOURCES): Likewise.
29285
29286 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29287
29288 * util/grub-fstest.c: New file.
29289
bf567c50 292902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29291
29292 Make grub-setup handle a separate root device.
f19dbdb7 29293
bf567c50 29294 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29295 so that the root device can be compared with the destination
29296 device.
29297 When embedding the core image, if the root and destination devices
29298 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29299 0xFF.
29300 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29301
9be6b98b 293022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29303
29304 Add support for having a grub directory in a different drive. This
29305 is still only the data handling part.
f19dbdb7 29306
9be6b98b 29307 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29308 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29309 (grub_root_drive): New variable.
29310
29311 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29312 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29313 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29314 as it was.
29315
29316 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29317
29318 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29319 macro.
29320 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29321
29322 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29323 is bogus, because PXE booting does not specify any drive
29324 correctly.
29325
29326 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29327 am not sure if this is really correct.
29328
29329 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29330 is always identical to the boot drive when booting from a CD.
29331
29332 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29333 longer.
29334 (root_drive): New variable.
29335 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29336 (setup_sectors): Push %dx right after popping it, because %dh will
29337 be modified later.
29338 (copy_buffer): Restore %dx.
29339
e0ca0677 293402008-02-03 Robert Millan <rmh@aybabtu.com>
29341
29342 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29343 use `cdboot.img' for cdrom images.
29344
3b3f6629 293452008-02-03 Robert Millan <rmh@aybabtu.com>
29346
29347 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29348 only setup gfxterm when `font' command has succeeded.
29349
d42b3672 293502008-02-03 Robert Millan <rmh@aybabtu.com>
29351
29352 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29353 (grub_rescue_cmd_multiboot_loader)
29354 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29355
fa370ea6 293562008-02-03 Pavel Roskin <proski@gnu.org>
29357
e0c5dacb 29358 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29359 %edx and %esi from stack only after grub_gate_a20() is called.
29360 grub_gate_a20() clobbers %edx.
29361
f2a76e1d 293622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29363
29364 * configure.ac (AC_INIT): Bumped to 1.96.
29365
29366 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29367 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29368 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29369 video/readers/png.c.
29370
90fd32d1 293712008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29372
29373 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29374 (cdboot_img_SOURCES): New variable.
29375 (cdboot_img_ASFLAGS): New variable.
29376 (cdboot_img_LDFLAGS): New variable.
29377
29378 * boot/i386/pc/cdboot.S: New file.
29379
29380 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29381 (cd_count): Likewise.
29382 (grub_biosdisk_get_drive): Add support for cd device.
29383 (grub_biosdisk_call_hook): Likewise.
29384 (grub_biosdisk_iterate): Likewise.
29385 (grub_biosdisk_open): Likewise.
29386 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29387 (grub_biosdisk_rw): Support reading from cd device.
29388 (GRUB_MOD_INIT): Iterate cd devices.
29389
29390 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29391 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29392 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29393
29394 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29395
4020aa53 293962008-02-02 Robert Millan <rmh@aybabtu.com>
29397
29398 * commands/read.c: New file.
29399 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29400 (read_mod_SOURCES): New variable.
29401 (read_mod_CFLAGS): Likewise.
29402 (read_mod_LDFLAGS): Likewise.
29403
e03a1132 294042008-02-02 Robert Millan <rmh@aybabtu.com>
29405
29406 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29407 determining whether menu has to be displayed.
29408
58c69220 294092008-02-02 Marco Gerards <marco@gnu.org>
29410
29411 * bus/pci.c: New file.
29412
29413 * include/grub/pci.h: Likewise.
29414
29415 * include/grub/i386/pc/pci.h: Likewise.
29416
29417 * commands/lspci.c: Likewise.
29418
29419 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29420 `lspci.mod'.
29421 (pci_mod_SOURCES): New variable.
29422 (pci_mod_CFLAGS): Likewise.
29423 (pci_mod_LDFLAGS): Likewise.
29424 (lspci_mod_SOURCES): Likewise.
29425 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29426 (lspci_mod_LDFLAGS): Likewise.
58c69220 29427
c004e1b4 294282008-02-02 Bean <bean123ch@gmail.com>
29429
29430 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29431 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29432
29433 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29434 (grub_xfs_btree_node): New structure.
29435 (grub_xfs_btree_root): New structure.
29436 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29437 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29438 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29439 (GRUB_XFS_EXTENT_SIZE): Likewise.
29440 (grub_xfs_read_block): Support btree format type.
29441 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29442 Use directory block as basic unit.
29443
29444 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29445
29446 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29447 __attribute__ ((__regparm__ (1))).
29448
f95562bf 294492008-02-01 Robert Millan <rmh@aybabtu.com>
29450
29451 Correct a mistake in previous commit.
29452
29453 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29454 top.
29455 (normal/command.c_DEPENDENCIES): New variable.
29456
7d31f41f 294572008-02-01 Robert Millan <rmh@aybabtu.com>
29458
29459 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29460 top.
29461 (normal/command.c_DEPENDENCIES): New variable.
29462 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29463 * conf/i386-ieee1275.rmk: Likewise.
29464 * conf/i386-linuxbios.rmk: Likewise.
29465 * conf/i386-pc.rmk: Likewise.
29466 * conf/sparc64-ieee1275.rmk: Likewise.
29467 * conf/powerpc-ieee1275.rmk: Likewise.
29468 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29469
29470 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29471
60b6be74 294722008-02-01 Robert Millan <rmh@aybabtu.com>
29473
29474 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29475 call at beginning of function.
29476
078522ab 294772008-01-31 Pavel Roskin <proski@gnu.org>
29478
29479 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29480 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29481 (grub_mkrescue_SOURCES): Likewise.
078522ab 29482 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29483
ccaa8a5f 294842008-01-30 Robert Millan <rmh@aybabtu.com>
29485
29486 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29487 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29488 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29489 (grub_probe_SOURCES): ... to here.
29490
29491 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29492 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29493 * conf/i386-ieee1275.rmk: Likewise.
29494 * conf/i386-linuxbios.rmk: Likewise.
29495 * conf/powerpc-ieee1275.rmk: Likewise.
29496
ae5a9cd7 294972008-01-30 Tristan Gingold <gingold@free.fr>
29498
29499 * kern/rescue.c: Silently accept empty lines.
29500
70bc2ef2 295012008-01-29 Bean <bean123ch@gmail.com>
29502
29503 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29504 (real_code_2): Code cleanup and change comment style.
29505 (move_memory): Avoid using 32-bit address mode.
29506
6a4d50ea 295072008-01-29 Bean <bean123ch@gmail.com>
29508
29509 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29510 (png_mod_SOURCES): New variable.
29511 (png_mod_CFLAGS): Likewise.
29512 (png_mod_LDFLAGS): Likewise.
29513
29514 * video/readers/png.c: New file.
29515
11cc30ac 295162008-01-28 Robert Millan <rmh@aybabtu.com>
29517
29518 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29519 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29520 `ifndef GRUB_MOD_GAP' hack.
29521 * util/elf/grub-mkimage.c (add_segments): Likewise.
29522
3abc589f 295232008-01-27 Robert Millan <rmh@aybabtu.com>
29524
29525 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29526 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29527 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29528
e1907778 295292008-01-27 Robert Millan <rmh@aybabtu.com>
29530
29531 Get grub-emu to build again (including parallel builds).
29532
29533 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29534 Split into ...
29535 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29536 (normal/execute.c_DEPENDENCIES): ... this, ...
29537 (grub-emu_DEPENDENCIES): ... and this.
29538
29539 * conf/i386-efi.rmk: Likewise.
29540 * conf/i386-linuxbios.rmk: Likewise.
29541 * conf/i386-ieee1275.rmk: Likewise.
29542 * conf/powerpc-ieee1275.rmk: Likewise.
29543 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29544
2216b101 295452008-01-27 Robert Millan <rmh@aybabtu.com>
29546
29547 * NEWS: Add a few items.
29548
f75172d9 295492008-01-27 Robert Millan <rmh@aybabtu.com>
29550
29551 Fix parallel builds with grub-emu. Based on earlier commit for
29552 grub-probe and grub-setup.
29553
29554 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29555 (util/grub-emu.c_DEPENDENCIES): ... this.
29556 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29557 (util/grub-emu.c_DEPENDENCIES): ... this.
29558 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29559 (util/grub-emu.c_DEPENDENCIES): ... this.
29560 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29561 (util/grub-emu.c_DEPENDENCIES): ... this.
29562 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29563 (util/grub-emu.c_DEPENDENCIES): ... this.
29564
3f51de77 295652008-01-27 Pavel Roskin <proski@gnu.org>
29566
29567 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29568 to create a gap between _end and the modules added to the image
29569 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29570 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29571 * util/elf/grub-mkimage.c (add_segments): Likewise.
29572
2033f53e 295732008-01-26 Pavel Roskin <proski@gnu.org>
29574
29575 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29576 just return an error.
29577
22da1f6f 295782008-01-26 Bean <bean123ch@gmail.com>
29579
29580 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29581 (grub_reiserfs_get_item): Save offset of the next item.
29582 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29583
2a9525e6 295842008-01-25 Robert Millan <rmh@aybabtu.com>
29585
29586 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29587 make all filesystem sources appear together (possibly fixing omissions
29588 while at it).
29589 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29590 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29591 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29592 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29593
29594 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29595 add `kern/file.c'.
29596 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29597 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29598 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29599 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29600
29601 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29602 (probe): Add a sanity check to make sure of our ability to read
29603 requested files when probing for filesystem type.
29604
29605 * genmk.rb: Update copyright year (2007).
29606
29607 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29608 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29609 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29610 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29611 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29612 : Remove function prototypes.
29613
b95f71b5 296142008-01-25 Robert Millan <rmh@aybabtu.com>
29615
29616 Revert my previous commits (based on wrong assumption of how grub_errno
29617 works).
29618
fe6b695a 29619 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 29620 * kern/file.c (grub_file_open): Likewise.
29621
d08bbb49 296222008-01-24 Pavel Roskin <proski@gnu.org>
29623
29624 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29625 that hang if GRUB tries to setup colors.
29626 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29627 colors for firmwares that don't support it.
29628 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29629 Recognize Open Hack'Ware, set flags to work around its
29630 limitations.
29631
605e36ed 296322008-01-24 Robert Millan <rmh@aybabtu.com>
29633
29634 * kern/file.c (grub_file_open): Do not account previous failures of
29635 unrelated functions when grub_errno is checked for.
29636 Reported by Oleg Strikov.
29637
bac332a1 296382008-01-24 Bean <bean123ch@gmail.com>
29639
29640 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29641 (grub_ufs_sblock): New member volume name.
29642 (grub_ufs_find_file): Fix string copy bug.
29643 (grub_ufs_label): Implement this function properly.
29644
29645 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29646 (grub_hfs_iterate_records): Use the correct file number for extents
29647 and catalog file. Fix problem in next index calculation.
29648 (grub_hfs_find_node): Replace recursive function call with loop.
29649 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29650
15c80c09 296512008-01-23 Robert Millan <rmh@aybabtu.com>
29652
29653 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29654 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29655 (grub_multiboot2_real_boot): New function prototype.
29656
29657 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29658 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29659
29660 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29661 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29662
305338fd 296632008-01-23 Robert Millan <rmh@aybabtu.com>
29664
29665 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29666 #ifdef'ed out grub_printf().
29667
3ea52685 296682008-01-23 Robert Millan <rmh@aybabtu.com>
29669
29670 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29671 grub_dprintf calls, since they make "debug=all" mode unusable.
29672 (grub_console_checkkey): Likewise.
29673
5882ae4b 296742008-01-23 Robert Millan <rmh@aybabtu.com>
29675
29676 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29677 `term/i386/pc/at_keyboard.c'.
29678 (pkglib_MODULES): Add `serial.mod'.
29679 (serial_mod_SOURCES): New variable.
29680 (serial_mod_CFLAGS): Likewise.
29681 (serial_mod_LDFLAGS): Likewise.
29682
29683 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29684 `<grub/powerpc/ieee1275/console.h>'.
29685 (grub_keyboard_controller_init): New function prototype.
29686 (grub_console_checkkey): Likewise.
29687 (grub_console_getkey): Likewise.
29688
29689 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29690 keyboard on i386.
29691
29692 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29693 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29694
06ab5303 296952008-01-23 Robert Millan <rmh@aybabtu.com>
29696
29697 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29698 present, "(memdisk)/boot/grub" becomes the default prefix.
29699
29700 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29701 a memdisk tarball with all the modules. Add --overlay=DIR option that
29702 allows users to overlay additional files into the image.
29703
dbb475a4 297042008-01-23 Robert Millan <rmh@aybabtu.com>
29705
29706 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
29707 and `machine/memory.h'.
29708 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
29709 (_multiboot_mod_SOURCES): New variable.
29710 (_multiboot_mod_CFLAGS): Likewise.
29711 (_multiboot_mod_LDFLAGS): Likewise.
29712 (multiboot_mod_SOURCES): Likewise.
29713 (multiboot_mod_CFLAGS): Likewise.
29714 (multiboot_mod_LDFLAGS): Likewise.
29715
29716 * include/grub/i386/ieee1275/loader.h: New file.
29717
29718 * include/grub/i386/ieee1275/machine.h: Likewise.
29719
29720 * include/grub/i386/ieee1275/memory.h: Likewise.
29721
29722 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
29723 variable declaration.
29724 (grub_os_area_size): Likewise.
29725
29726 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
29727 (grub_lower_mem, grub_upper_mem): New variables.
29728 (grub_stop_floppy): New function (just to make
29729 grub_multiboot2_real_boot() happy).
29730
29731 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
29732 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
29733 (grub_stop): New function.
29734 Include `"../realmode.S"' and `"../loader.S"'.
29735
29736 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
29737 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
29738
29739 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
29740 rely on grub_multiboot2_real_boot() for final boot.
29741
25638629 297422008-01-22 Robert Millan <rmh@aybabtu.com>
29743
29744 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
29745 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
29746 device that doesn't look like an SD card.
29747 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29748 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
29749 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
29750 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
29751 found.
29752
9dad816d 297532008-01-22 Robert Millan <rmh@aybabtu.com>
29754
29755 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
29756 avoid claiming over our own code.
29757
34842f2d 297582008-01-22 Bean <bean123ch@gmail.com>
29759
29760 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
29761 (jpeg_mod_SOURCES): New variable.
29762 (jpeg_mod_CFLAGS): Likewise.
29763 (jpeg_mod_LDFLAGS): Likewise.
29764
29765 * video/readers/jpeg.c : New file.
29766
44023a28 297672008-01-22 Bean <bean123ch@gmail.com>
29768
29769 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
29770 there are no more items.
29771
bc2d8ac6 297722008-01-21 Robert Millan <rmh@aybabtu.com>
29773
29774 * kern/mm.c (grub_mm_init_region): Improve debug message.
29775
261bd4bc 297762008-01-21 Robert Millan <rmh@aybabtu.com>
29777
29778 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
29779 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
29780 address.
29781 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
29782 a C macro.
29783 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
29784 Indicates start of upper memory.
29785 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
29786 (generate_image): Abort when image size is big enough to corrupt
29787 upper memory.
29788
29789 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
29790 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
29791 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29792 instead of hardcoding 0xA0000.
29793 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
29794 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29795 instead of hardcoding 0xA0000.
29796
f970b55e 297972008-01-21 Robert Millan <rmh@aybabtu.com>
29798
29799 * disk/memdisk.c (memdisk_size): New variable.
29800 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
29801 `memdisk_size'.
29802 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
29803 image to dynamic memory.
29804 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
29805 `memdisk_size'. Free memdisk block.
29806
1a8b0526 298072008-01-21 Robert Millan <rmh@aybabtu.com>
29808
29809 Fix detection of very small filesystems (like tar).
29810
29811 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
29812 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
29813 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
29814 a problem with this disk).
29815
6e9b4aab 298162008-01-21 Robert Millan <rmh@aybabtu.com>
29817
29818 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
29819 on grub_biosdisk_rw_standard() error.
29820
0d8837b2 298212008-01-21 Robert Millan <rmh@aybabtu.com>
29822
29823 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
29824 recent changes.
29825 * kern/elf.c: Likewise.
29826 * kern/ieee1275/ieee1275.c: Likewise.
29827 * kern/powerpc/ieee1275/openfw.c: Likewise.
29828 * term/ieee1275/ofconsole.c: Likewise.
29829
ffd36e34 298302008-01-21 Robert Millan <rmh@aybabtu.com>
29831
29832 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
29833
3f0093d0 29834 * include/grub/kernel.h (grub_arch_memdisk_addr)
29835 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 29836
3f0093d0 29837 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
29838 (grub_arch_memdisk_size): ... to here.
ffd36e34 29839
6c391b21 298402008-01-21 Robert Millan <rmh@aybabtu.com>
29841
29842 Mostly based on bugfix from Bean.
29843
29844 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
29845 attribute with hook() parameter.
29846 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
29847 declaration.
29848 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
29849 attribute with hook() parameter.
29850 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
29851 declaration.
29852
55a581dc 298532008-01-21 Robert Millan <rmh@aybabtu.com>
29854
29855 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
29856 (pkglib_MODULES): Add `memdisk.mod'.
29857 (memdisk_mod_SOURCES): New variable.
29858 (memdisk_mod_CFLAGS): Likewise.
29859 (memdisk_mod_LDFLAGS): Likewise.
29860
29861 * disk/memdisk.c: New file.
29862
29863 * include/grub/disk.h (grub_disk_dev_id): Add
29864 `GRUB_DISK_DEVICE_MEMDISK_ID'.
29865
29866 * include/grub/i386/pc/kernel.h
29867 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
29868 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
29869 (grub_kernel_image_size): New variable declaration.
29870 (grub_total_module_size): Likewise.
29871 (grub_memdisk_image_size): Likewise.
29872
29873 * include/grub/i386/pc/memory.h
29874 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
29875
29876 * include/grub/kernel.h: Include `<grub/symbol.h>'.
29877 (grub_arch_memdisk_addr): New variable declaration.
29878 (grub_arch_memdisk_size): Likewise.
29879
29880 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
29881 (grub_arch_memdisk_size): Likewise.
29882
29883 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
29884 (codestart): Replace hardcoded `0x100000' with
29885 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
29886
29887 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
29888 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
29889 not NULL, append the contents of the file it refers to, at the end of
29890 the compressed kernel image. Initialize `grub_memdisk_image_size'
29891 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
29892 (options): Add "memdisk"|'m' option.
29893 (main): Parse --memdisk|-m option, and pass user-provided path as
29894 parameter to generate_image().
29895
3d7f54c9 298962008-01-20 Robert Millan <rmh@aybabtu.com>
29897
29898 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
29899 grub_dprintf() calls from here ...
29900 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
29901
0bf74728 299022008-01-20 Robert Millan <rmh@aybabtu.com>
29903
29904 Fix detection of "real mode" when /options/real-mode? doesn't exist.
29905
29906 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
29907 declaration.
29908 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
29909 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
29910 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 29911 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 29912 property).
29913 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
29914 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
29915
33bf70a7 299162008-01-19 Robert Millan <rmh@aybabtu.com>
29917
fe6b695a 29918 Get rid of confusing function (superseded by
33bf70a7 29919 `grub_ieee1275_get_integer_property')
29920 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
29921 prototype.
29922 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
29923 function.
29924 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
29925 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 29926 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 29927
e2da7d26 299282008-01-19 Robert Millan <rmh@aybabtu.com>
29929
29930 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
29931 command after "shut-down", since implementations differ on which
29932 the command for halt is.
29933
59f1fd8d 299342008-01-19 Robert Millan <rmh@aybabtu.com>
29935
29936 * include/grub/i386/linuxbios/console.h: Add header protection.
29937 (grub_keyboard_controller_init): New function prototype.
29938 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
29939 (KEYBOARD_COMMAND_READ): Likewise.
29940 (KEYBOARD_COMMAND_WRITE): Likewise.
29941 (KEYBOARD_SCANCODE_SET1): Likewise.
29942 (grub_keyboard_controller_write): New function.
29943 (grub_keyboard_controller_read): Likewise.
29944 (grub_keyboard_controller_init): Likewise.
29945
29946 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
29947 (grub_console_init): On coreboot/LinuxBIOS, call
29948 grub_keyboard_controller_init().
29949
5f5a7c15 299502008-01-19 Robert Millan <rmh@aybabtu.com>
29951
29952 PowerPC changes provided by Pavel Roskin.
29953
29954 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29955 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29956 don't rely on cmain() doing it.
29957 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29958 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29959
1210e168 299602008-01-16 Robert Millan <rmh@aybabtu.com>
29961
29962 * include/grub/i386/linuxbios/memory.h
29963 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29964 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29965 receive `table_header' as argument. Instead, probe for it in the
29966 known memory ranges where it can be present.
29967 (grub_available_iterate): Do not pass a fixed `table_header' address
29968 to grub_linuxbios_table_iterate().
29969
3d04eab8 299702008-01-15 Robert Millan <rmh@aybabtu.com>
29971
29972 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29973 * conf/i386-ieee1275.rmk: New file.
29974 * include/grub/i386/ieee1275/console.h: Likewise.
29975 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29976 * include/grub/i386/ieee1275/kernel.h: Likewise.
29977 * include/grub/i386/ieee1275/time.h: Likewise.
29978 * kern/i386/ieee1275/init.c: Likewise.
29979 * kern/i386/ieee1275/startup.S: Likewise.
29980
d1bc1b73 299812008-01-15 Robert Millan <rmh@aybabtu.com>
29982
29983 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29984 when pointers are 32-bit (but still do set it to one when they are
29985 64-bit).
29986
66a65807 299872008-01-15 Robert Millan <rmh@aybabtu.com>
29988
29989 * include/grub/ieee1275/ieee1275.h
29990 (grub_ieee1275_get_integer_property): New function prototype.
29991
29992 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29993 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 29994 grub_ieee1275_get_property() to handle endianness.
66a65807 29995
29996 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29997 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 29998 where appropriate.
66a65807 29999 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30000 (grub_map): Likewise.
30001 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30002
a83ccafd 300032008-01-15 Bean <bean123ch@gmail.com>
30004
30005 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30006 (grub_script_execute_cmdline): Reset grub_errno.
30007
30008 * normal/main.c (read_config_file): Reset grub_errno.
30009
30010 * normal/parse.y (script_init): New.
30011 (script): Move function and menuentry here.
30012 (delimiter): New.
30013 (command): Add delimiter at the end of command.
30014 (commands): Adjust to match the new command.
30015 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30016 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30017 (if): Use the new commands.
30018
30019 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30020
df6ecfc6 300212008-01-15 Robert Millan <rmh@aybabtu.com>
30022
30023 * normal/menu.c (run_menu): Move timeout message from here ...
30024 (print_timeout): ... to here.
30025 (run_menu): Use print_timeout() once during initial draw to print
30026 the whole message, and again in every clock tick to update only
30027 the number of seconds.
30028
87ae25eb 300292008-01-15 Robert Millan <rmh@aybabtu.com>
30030
30031 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30032 actual size of `available' from grub_ieee1275_get_property(), and
30033 restrict parsing to that bound.
30034
47bf09a4 300352008-01-15 Christian Franke <franke@computer.org>
30036
30037 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30038 (argp_program_version): Remove variable.
30039 (argp_program_bug_address): Likewise.
30040 (options): Convert from struct argp_option to struct option.
30041 (struct arguments): Remove.
30042 (parse_opt): Remove.
30043 (usage): New function.
30044 (main): Replace struct args members by simple variables.
30045 Replace argp_parse() by getopt_long().
30046 Add switch to evaluate options.
30047 Add missing "(...)" around root_dev in prefix string.
30048
c86f1469 300492008-01-14 Robert Millan <rmh@aybabtu.com>
30050
30051 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30052 for grub_ieee1275_exit(), in order to improve portability.
30053
e622c559 300542008-01-14 Robert Millan <rmh@aybabtu.com>
30055
30056 * util/grub.d/10_linux.in (prefix): Define.
30057 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30058
44cb1ec8 300592008-01-13 Pavel Roskin <proski@gnu.org>
30060
30061 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30062 grub_errno if no errors have been detected.
30063
1eb8c802 300642008-01-12 Robert Millan <rmh@aybabtu.com>
30065
30066 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30067 (grub_util_get_dev_abstraction): New function prototype.
30068
30069 * util/getroot.c: Include `<grub/util/getroot.h>'
30070 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30071 (grub_util_get_dev_abstraction): ... here (new function).
30072
30073 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30074 `PRINT_ABSTRACTION'.
30075 (probe): Probe for abstraction type when requested.
30076 (main): Understand `--target=abstraction'.
30077
30078 * util/i386/efi/grub-install.in: Add abstraction module to core
30079 image when it is found to be necessary.
30080 * util/i386/pc/grub-install.in: Likewise.
30081 * util/powerpc/ieee1275/grub-install.in: Likewise.
30082
30083 * util/update-grub_lib.in (font_path): Return system path without
30084 converting to GRUB path.
30085 * util/update-grub.in: Convert system path returned by font_path()
30086 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30087 abstraction module is needed for loading fonts (if any). Export
30088 that as `GRUB_PRELOAD_MODULES'.
30089 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30090 insmod commands).
30091
52bd3de9 300922008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30093
30094 Remove some unused code from reiserfs.
f19dbdb7 30095
52bd3de9 30096 * fs/reiserfs.c (struct grub_reiserfs_key)
30097 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30098 (struct grub_reiserfs_node_body): Removed.
30099 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30100 Likewise.
30101 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30102 Likewise.
30103 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30104 Likewise.
30105 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30106 Likewise.
30107 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30108 Likewise.
30109 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30110 Likewise.
30111 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30112 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30113 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30114
2f80039d 301152008-01-10 Robert Millan <rmh@aybabtu.com>
30116
30117 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30118 Determines if a file is garbage left by packaging systems, etc.
30119 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30120 for processing /etc/grub.d scripts.
30121 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30122 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30123 as a condition for processing Linux images.
30124
87888032 301252008-01-10 Pavel Roskin <proski@gnu.org>
30126
30127 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30128 to compile reiserfs.c on PowerPC.
30129
7e54fced 301302008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30131
30132 * kern/device.c (grub_device_iterate): Do not abort device iteration
30133 when one of the devices cannot be opened.
30134 * kern/disk.c (grub_disk_open): Do not account previous failures of
30135 unrelated functions when grub_errno is checked for.
30136
5aa541e6 301372008-01-08 Robert Millan <rmh@aybabtu.com>
30138
30139 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30140 `! grub_linux_is_bzimage', change order of address comparison to make
30141 it more intuitive, and improve "too big zImage" error message.
30142
7076340d 301432008-01-08 Robert Millan <rmh@aybabtu.com>
30144
30145 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30146 `$(update-grub_DATA)'.
30147 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30148 targets.
30149
9ca70333 301502008-01-07 Robert Millan <rmh@aybabtu.com>
30151
30152 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30153 which instruction is modified by grub-setup during installation
30154 (since it wasn't obvious by only looking at this file).
30155
38ccf575 301562008-01-07 Robert Millan <rmh@aybabtu.com>
30157
30158 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30159 listing actual TODO items.
30160
f5db4291 301612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30162
868967cf 30163 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30164 correctly.
30165 (grub_reiserfs_get_key_offset): Likewise.
30166 (grub_reiserfs_set_key_offset): Likewise.
30167 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30168 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30169
30170 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30171 better to remove the bitfield version completely.
f19dbdb7 30172
868967cf 301732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30174
f5db4291 30175 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30176 allocated from the heap, due to the fshelp implementation.
30177 (grub_reiserfs_dir): Free NODE, due to the same reason.
30178
492e6d9d 301792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30180
30181 Mostly from Vincent Pelletier:
f19dbdb7 30182
492e6d9d 30183 * fs/reiserfs.c: New file.
f19dbdb7 30184
492e6d9d 30185 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30186 (reiserfs_mod_SOURCES): New variable.
30187 (reiserfs_mod_CFLAGS): Likewise.
30188 (reiserfs_mod_LDFLAGS): Likewise.
30189
30190 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30191 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30192 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30193 normal/color.c.
30194
9ce3e7c1 301952008-01-06 Robert Millan <rmh@aybabtu.com>
30196
30197 * normal/color.c: Remove `<grub/env.h>'.
30198
f3b58148 301992008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30200
30201 * include/grub/normal.h: Include <grub/env.h>.
30202
7ac3bcfa 302032008-01-05 Robert Millan <rmh@aybabtu.com>
30204
30205 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30206 usage example with `(hd0,1)'.
fb358190 30207 Reported by Samuel Thibault.
7ac3bcfa 30208
c8ee99d7 302092008-01-05 Robert Millan <rmh@aybabtu.com>
30210
30211 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30212 (grub_linux_boot_zimage): Rename to ...
30213 (grub_linux_boot): ... this.
30214 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30215 (grub_linux_boot_zimage): Conditionalize zImage copy.
30216
30217 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30218 (grub_linux_boot_bzimage): Remove prototype.
30219 (grub_linux_boot_zimage): Rename to ...
30220 (grub_linux_boot): ... this.
30221
30222 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30223 (grub_linux_boot): Remove function.
30224
0ece25b1 302252008-01-05 Robert Millan <rmh@aybabtu.com>
30226
30227 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30228 (grub_env_write_color_highlight): Likewise.
30229 (grub_wait_after_message): Likewise.
30230
30231 * normal/color.c: New file.
30232
30233 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30234 (normal_mod_DEPENDENCIES): Likewise.
30235
30236 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30237 (normal_mod_DEPENDENCIES): Likewise.
30238
30239 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30240 (normal_mod_DEPENDENCIES): Likewise.
30241
30242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30243 (normal_mod_DEPENDENCIES): Likewise.
30244
30245 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30246 for waiting after a message is printed.
30247 * normal/main.c (read_config_file): Likewise.
30248 (grub_normal_init): Register grub_env_write_color_normal() and
30249 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30250 `color_highlight' variables as global.
30251
30252 * normal/menu.c (grub_wait_after_message): New function.
30253 (grub_color_menu_normal): New variable. Replaces ...
30254 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30255 (grub_color_menu_highlight): New variable. Replaces ...
30256 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30257 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30258 `GRUB_TERM_COLOR_STANDARD'.
30259 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30260 `normal_code' and `highlight_code' to `old_color_normal' and
30261 `old_color_highlight', respectively.
30262 (grub_menu_init_page): Update colors when drawing the menu, based on
30263 `menu_color_normal' and `menu_color_highlight' variables.
30264 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30265 a message is printed.
30266
182dd4e5 302672008-01-05 Robert Millan <rmh@aybabtu.com>
30268
30269 * kern/env.c (grub_env_context_open): Propagate hooks for global
30270 variables to new context.
30271
30272 * kern/main.c (grub_set_root_dev): Export `root' variable.
30273
ddf8f6ad 302742008-01-05 Robert Millan <rmh@aybabtu.com>
30275
30276 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30277 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30278 them.
30279
d8b43d9b 302802008-01-05 Robert Millan <rmh@aybabtu.com>
30281
30282 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30283
2bff2de3 302842008-01-04 Christian Franke <franke@computer.org>
30285
30286 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30287 of eisa_mmap.
30288
97eab917 302892008-01-03 Pavel Roskin <proski@gnu.org>
30290
30291 * kern/i386/linuxbios/init.c: Put "void" to all function
30292 declarations with no arguments.
30293 * kern/powerpc/ieee1275/init.c: Likewise.
30294 * term/i386/pc/at_keyboard.c: Likewise.
30295 * term/i386/pc/vga_text.c: Likewise.
30296 * util/grub-mkdevicemap.c: Likewise.
30297
b9416d00 302982008-01-02 Robert Millan <rmh@aybabtu.com>
30299
30300 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30301 message when loaded image is out of bounds.
30302 (grub_multiboot_load_elf64): Likewise.
30303
92695df9 303042008-01-02 Pavel Roskin <proski@gnu.org>
30305
30306 * util/grub.d/10_linux.in: Try version without ".old" when
30307 looking for initrd. It's better to use initrd from the newer
30308 kernel of the same version than no initrd at all.
30309
d98d9cad 303102008-01-01 Robert Millan <rmh@aybabtu.com>
30311
30312 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30313
dbfdce36 303142008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30315
f19dbdb7 30316 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30317 grub_video_get_active_render_target.
30318 (grub_video_adapter): Added unmap_color and get_active_render_target.
30319
f19dbdb7 30320 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30321 grub_video_get_active_render_target.
30322 (grub_video_get_info): Changed method to accept NULL pointer as an
30323 argument to allow detection of active video adapter.
30324
30325 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30326 grub_video_vbe_unmap_color_int.
30327 Added grub_video_vbe_unmap_color and
30328 grub_video_vbe_get_active_render_target.
30329 (grub_video_vbe_adapter): Added unmap_color and
30330 get_active_render_target.
30331
f19dbdb7 30332 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30333 with grub_video_vbe_unmap_color_int.
30334
30335 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30336 (DEFAULT_NORMAL_COLOR): Likewise.
30337 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30338 (DEFAULT_FG_COLOR): Removed.
30339 (DEFAULT_BG_COLOR): Likewise.
30340 (DEFAULT_CURSOR_COLOR): Changed value.
30341 (grub_virtual_screen): Added standard_color_setting,
30342 normal_color_setting, highlight_color_setting and term_color.
30343 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30344 (bitmap_width): Added.
30345 (bitmap_height): Likewise.
30346 (bitmap): Likewise.
30347 (set_term_color): Likewise.
30348 (grub_virtual_screen_setup): Changed to use new terminal coloring
30349 settings.
30350 (grub_gfxterm_init): Added init for bitmap.
30351 (grub_gfxterm_fini): Added destroy for bitmap.
30352 (redraw_screen_rect): Updated to use background bitmap and new
30353 terminal coloring.
30354 (scroll_up): Added optimization for case when there is no bitmap.
30355 (grub_gfxterm_cls): Fixed to use correct background color.
30356 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30357 coloring.
30358 (grub_virtual_screen_setcolor): Likewise.
30359 (grub_virtual_screen_getcolor): Added.
30360 (grub_gfxterm_background_image_cmd): Likewise.
30361 (grub_video_term): Added setcolor and getcolor.
30362 (MOD_INIT): Added registration of background_image command.
30363 (MOD_TERM): Added unregistration for background_image command.
30364
c3c20931 303652007-12-30 Pavel Roskin <proski@gnu.org>
30366
30367 * loader/multiboot_loader.c: Fix multiboot command
30368 unregistration. Fix all typos in the word "multiboot".
30369
df266716 303702007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30371
30372 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30373 support for initrd names used in Fedora.
30374
fc6e896c 303752007-12-26 Bean <bean123ch@gmail.com>
30376
30377 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30378 (cpio_mod_SOURCES): New variable.
30379 (cpio_mod_CFLAGS): Likewise.
30380 (cpio_mod_LDFLAGS): Likewise.
30381
30382 * fs/cpio.c: New file.
30383
30384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30385
30386 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30387
30388 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30389
30390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30391
533110ad 303922007-12-25 Robert Millan <rmh@aybabtu.com>
30393
30394 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30395 (grub_getcolor): New function.
30396
30397 * kern/term.c (grub_getcolor): New function.
30398 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30399 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30400 (print_entry): Set normal and highlight colors to
30401 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30402 respectively, before printing and restore them to old
30403 values afterwards.
30404 (grub_menu_init_page): Likewise. Fill an additional colored space
30405 that would otherwise be left blank.
30406
30407 * term/efi/console.c (grub_console_getcolor): New function.
30408 (struct grub_console_term.getcolor): New variable.
30409 * term/i386/pc/console.c (grub_console_getcolor): New function.
30410 (struct grub_console_term.getcolor): New variable.
30411 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30412 (struct grub_console_term.getcolor): New variable.
30413
30414 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30415 (struct grub_console_term.setcolor): Remove variable.
30416 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30417 (struct grub_console_term.setcolor): Remove variable.
30418 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30419 (struct grub_console_term.setcolor): Remove variable.
30420 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30421 (struct grub_console_term.setcolor): Remove variable.
30422
4931827f 304232007-12-25 Robert Millan <rmh@aybabtu.com>
30424
30425 * configure.ac: Search for possible unifont.hex locations, and
30426 define UNIFONT_HEX if found.
30427
30428 * Makefile.in (UNIFONT_HEX): Define variable.
30429 (DATA): Rename to ...
30430 (PKGLIB): ... this. Update all users.
30431 (PKGDATA): New variable.
30432 (pkgdata_IMAGES): Rename to ...
30433 (pkglib_IMAGES): ... this. Update all users.
30434 (pkgdata_MODULES): Rename to ...
30435 (pkglib_MODULES): ... this. Update all users.
30436 (pkgdata_PROGRAMS): Rename to ...
30437 (pkglib_PROGRAMS): ... this. Update all users.
30438 (pkgdata_DATA): Rename to ...
30439 (pkglib_DATA): ... this. Update all users.
30440 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30441 (unicode.pff, ascii.pff): New rules.
30442 (all-local): Add `$(PKGDATA)' dependency.
30443 (install-local): Process `$(PKGDATA)'.
30444
30445 * util/update-grub_lib.in (font_path): Search for *.pff files in
30446 a few more locations, including `${pkgdata}'.
30447
57e57e31 304482007-12-23 Robert Millan <rmh@aybabtu.com>
30449
30450 Patch from Bean <bean123ch@gmail.com>:
30451 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30452 `size'.
30453
4bc72aa9 304542007-12-21 Bean <bean123ch@gmail.com>
30455
30456 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30457 (ntfscomp_mod_SOURCES): New variable.
30458 (ntfscomp_mod_CFLAGS): Likewise.
30459 (ntfscomp_mod_LDFLAGS): Likewise.
30460
30461 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30462 (grub_probe_SOURCES): Likewise.
30463 (grub_emu_SOURCES): Likewise.
30464
30465 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30466 (grub_emu_SOURCES): Likewise.
30467
30468 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30469 (grub_emu_SOURCES): Likewise.
30470
30471 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30472 (grub_emu_SOURCES): Likewise.
30473
30474 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30475 (read_run_list): Renamed to grub_ntfs_read_run_list.
30476 (decomp_nextvcn): Moved to ntfscomp.c.
30477 (decomp_getch): Likewise.
30478 (decomp_get16): Likewise.
30479 (decomp_block): Likewise.
30480 (read_block): Likewise.
30481 (read_data): Partially moved to ntfscomp.c.
30482 (fixup): Change unsigned to grub_uint16_t.
30483 (read_mft): Change unsigned long to grub_uint32_t.
30484 (read_attr): Likewise.
30485 (read_data): Likewise.
30486 (read_run_data): Likewise.
30487 (read_run_list): Likewise.
30488 (read_mft): Likewise.
30489
30490 * fs/ntfscomp.c: New file.
30491
30492 * include/grub/ntfs.h: New file.
30493
af680a87 304942007-12-16 Robert Millan <rmh@aybabtu.com>
30495
30496 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30497 IDE disk check, since Linux is known to support 20 IDE disks.
30498 Reported by Colin Watson.
30499
84be7599 305002007-12-15 Bean <bean123ch@gmail.com>
30501
30502 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30503 (lnxboot_img_SOURCES): New variable.
30504 (lnxboot_img_ASFLAGS): Likewise.
30505 (lnxboot_img_LDFLAGS): Likewise.
30506
30507 * boot/i386/pc/lnxboot.S: New file.
30508
6af9db01 305092007-11-24 Pavel Roskin <proski@gnu.org>
30510
30511 * configure.ac: Test if '--build-id=none' is supported by the
30512 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30513 objcopy to generate incorrect binary files (binutils
30514 2.17.50.0.18-1 as shipped by Fedora 8).
30515 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30516 linking, so that build ID doesn't break the test.
30517
7361cfe6 305182007-11-24 Pavel Roskin <proski@gnu.org>
30519
30520 * include/grub/i386/time.h: use "void" in the argument list
30521 of grub_cpu_idle().
30522 * include/grub/powerpc/time.h: Likewise.
30523 * include/grub/sparc64/time.h: Likewise.
30524
1593e10c 305252007-11-18 Christian Franke <franke@computer.org>
30526
30527 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30528 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30529 This fixes the problem that function keys did not work in grub-emu.
30530
3b8db1a8 305312007-11-18 Christian Franke <franke@computer.org>
30532
30533 * disk/host.c (grub_host_open): Remove attribute unused from
30534 name parameter. Add check for "host". This fixes the problem
30535 that grub-emu does not find partitions.
30536
2e29408d 305372007-11-18 Christian Franke <franke@computer.org>
30538
30539 * util/hostfs.c (is_dir): New function.
30540 (grub_hostfs_dir): Handle missing dirent.d_type case.
30541 (grub_hostfs_read): Add missing fseek().
30542 (grub_hostfs_label): Clear label pointer. This fixes a crash
30543 of grub-emu on "ls (host)".
30544
398cd047 305452007-11-18 Christian Franke <franke@computer.org>
30546
30547 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30548 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30549 to 64 bit boundary by default.
30550
c405c391 305512007-11-18 Bean <bean123ch@gmail.com>
30552
30553 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30554 (hexdump_mod_SOURCES): New variable.
30555 (hexdump_mod_CFLAGS): Likewise.
30556 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30557
c405c391 30558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30559
30560 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30561
30562 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30563
30564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30565
30566 * include/grub/hexdump.h: New file.
30567
30568 * commands/hexdump.c: New file.
30569
5cced7fd 305702007-11-10 Robert Millan <rmh@aybabtu.com>
30571
30572 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30573 in grub_outb() calls.
30574 (beep_on): Likewise.
30575
8b714eb0 305762007-11-10 Christian Franke <franke@computer.org>
30577
30578 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30579 (grub_menu_run): Likewise.
30580
ce0f1839 305812007-11-10 Robert Millan <rmh@aybabtu.com>
30582
30583 * include/grub/i386/efi/machine.h: New file.
30584 * include/grub/i386/linuxbios/machine.h: Likewise.
30585 * include/grub/i386/pc/machine.h: Likewise.
30586 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30587 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30588
30589 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30590 (serial_hw_io_addr): New variable.
30591 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30592 instead of `(unsigned short *) 0x400'.
30593
270c237d 305942007-11-10 Bean <bean123ch@gmail.com>
30595
30596 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30597
a87783bf 305982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30599
30600 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30601 (vga_mod_SOURCES): Added.
30602 (vga_mod_CFLAGS): Likewise.
30603 (vga_mod_LDFLAGS): Likewise.
30604
30605 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30606 grub_outb() calls.
30607 (set_map_mask): Likewise.
30608 (set_read_map): Likewise.
30609 (set_read_address): Likewise.
30610 (vga_font): Removed variable.
30611 (get_vga_glyph): Removed function.
30612 (invalidate_char): Likewise.
30613 (write_char): Changed to use grub_font_get_glyph() for font
30614 information.
30615 (grub_vga_putchar): Likewise.
30616 (grub_vga_getcharwidth): Likewise.
30617
6433b448 306182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30619
30620 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30621 flags.
30622 (pxeboot_img_LDFLAGS): Likewise.
30623 (diskboot_img_LDFLAGS): Likewise.
30624 (kernel_img_LDFLAGS): Likewise.
30625
49178511 306262007-11-06 Robert Millan <rmh@aybabtu.com>
30627
30628 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30629 in grub_outb() calls.
30630 (serial_hw_init): Likewise.
30631
53b052de 306322007-11-05 Robert Millan <rmh@aybabtu.com>
30633
30634 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30635 spaces. Skip non-regular files.
30636
5ab33bba 306372007-11-05 Robert Millan <rmh@aybabtu.com>
30638
30639 * kern/disk.c (grub_disk_firmware_fini)
30640 (grub_disk_firmware_is_tainted): New variables.
30641
30642 * include/grub/disk.h (grub_disk_firmware_fini)
30643 (grub_disk_firmware_is_tainted): Likewise.
30644
30645 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30646 (grub_disk_biosdisk_fini): ... to here.
30647 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30648 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30649 is set. Register grub_disk_biosdisk_fini() in
30650 `grub_disk_firmware_fini'.
30651
30652 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30653 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30654 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30655 to finish existing firmware disk interface.
30656
30657 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30658 (ata_mod_SOURCES): New variable.
30659 (ata_mod_CFLAGS): Likewise.
30660 (ata_mod_LDFLAGS): Likewise.
30661
0149ab7c 306622007-11-05 Robert Millan <rmh@aybabtu.com>
30663
30664 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30665 (grub_ata_wait): Reimplement using grub_millisleep().
30666
30667 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30668 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30669
be7ac41e 306702007-11-03 Marco Gerards <marco@gnu.org>
30671
30672 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30673 (CRTC_ADDR_PORT): New macro.
30674 (CRTC_DATA_PORT): Likewise.
30675 (CRTC_CURSOR): Likewise.
30676 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30677 (CRTC_CURSOR_ADDR_LOW): Likewise.
30678 (update_cursor): New function.
30679 (grub_console_real_putchar): Call `update_cursor'.
30680 (grub_console_gotoxy): Likewise.
30681 (grub_console_cls): Set the default color when clearing the
30682 screen.
30683 (grub_console_setcursor): Implemented.
30684
bb06ab2e 306852007-11-03 Marco Gerards <marco@gnu.org>
30686
30687 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30688 become activate.
30689 (grub_ata_pio_write): Likewise.
30690
30691 (grub_atapi_identify): Wait after issuing an ATA command.
30692 (grub_atapi_packet): Likewise.
30693 (grub_ata_identify): Likewise.
30694 (grub_ata_readwrite): Likewise.
30695
cf8f780b 306962007-11-03 Marco Gerards <marco@gnu.org>
30697
30698 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30699 (grub_ata_pio_write): Likewise.
30700 (grub_ata_readwrite): Use `grub_error', instead of
30701 returning `grub_errno'.
30702
ed649e54 307032007-11-03 Marco Gerards <marco@gnu.org>
30704
30705 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
30706 grub_ata_pio_write once for every single sector, instead of for
30707 multiple sectors.
30708
ca25d8f0 307092007-10-31 Robert Millan <rmh@aybabtu.com>
30710
30711 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
30712
30713 * conf/i386-linuxbios.rmk: New file.
30714
30715 * kern/i386/pc/hardware.c: Likewise.
30716 * term/i386/pc/at_keyboard.c: Likewise.
30717 * term/i386/pc/vga_text.c: Likewise.
30718
30719 * include/grub/i386/linuxbios/boot.h: Likewise.
30720 * include/grub/i386/linuxbios/console.h: Likewise.
30721 * include/grub/i386/linuxbios/init.h: Likewise.
30722 * include/grub/i386/linuxbios/kernel.h: Likewise.
30723 * include/grub/i386/linuxbios/loader.h: Likewise.
30724 * include/grub/i386/linuxbios/memory.h: Likewise.
30725 * include/grub/i386/linuxbios/serial.h: Likewise.
30726 * include/grub/i386/linuxbios/time.h: Likewise.
30727
30728 * kern/i386/linuxbios/init.c: Likewise.
30729 * kern/i386/linuxbios/startup.S: Likewise.
30730 * kern/i386/linuxbios/table.c: Likewise.
30731
e911ecc1 307322007-10-31 Marco Gerards <marco@gnu.org>
30733
30734 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
30735 (ata_mod_SOURCES): New variable.
30736 (ata_mod_CFLAGS): Likewise.
30737 (ata_mod_LDFLAGS): Likewise.
30738
30739 * disk/ata.c: New file.
30740
30741 * include/grub/disk.h (grub_disk_dev_id): Add
30742 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 30743
7f66d0e0 307442007-10-31 Robert Millan <rmh@aybabtu.com>
30745
30746 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
30747 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
30748
30749 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
30750 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
30751
30752 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
30753 `<grub/types.h>'.
30754
30755 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
30756
5cd7dd46 307572007-10-27 Robert Millan <rmh@aybabtu.com>
30758
3236ca65 30759 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 30760
2ebfc90f 307612007-10-22 Robert Millan <rmh@aybabtu.com>
30762
30763 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
30764 `"../realmode.S"'.
30765 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
30766
73fcb0f3 307672007-10-22 Robert Millan <rmh@aybabtu.com>
30768
30769 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
30770 (pkgdata_MODULES): Add `biosdisk.mod'.
30771 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
30772 variables.
30773
30774 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
30775 (grub_biosdisk_init): Replace with ...
30776 (GRUB_MOD_INIT(biosdisk)): ... this.
30777 (grub_biosdisk_fini): Replace with ...
30778 (GRUB_MOD_FINI(biosdisk)): ... this.
30779
30780 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
30781 (grub_machine_init): Remove call to grub_biosdisk_init().
30782 (grub_machine_fini): Remove call to grub_machine_fini().
30783
30784 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
30785
3381d274 307862007-10-22 Robert Millan <rmh@aybabtu.com>
30787
30788 * include/grub/time.h: New file.
30789 * include/grub/i386/time.h: Likewise.
30790 * include/grub/powerpc/time.h: Likewise.
30791 * include/grub/sparc64/time.h: Likewise.
30792
30793 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
30794 instances to ...
30795 (KERNEL_MACHINE_TIME_HEADER): ... this.
30796 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30797 instances to ...
30798 (KERNEL_MACHINE_TIME_HEADER): ... this.
30799 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30800 instances to ...
30801 (KERNEL_MACHINE_TIME_HEADER): ... this.
30802
30803 * kern/i386/efi/init.c: Include `<grub/time.h>'.
30804 (grub_millisleep): New function.
30805 * kern/i386/pc/init.c: Include `<grub/time.h>'.
30806 (grub_millisleep): New function.
30807 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
30808 Remove `grub/machine/time.h' include.
30809 (grub_millisleep): New function.
30810 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
30811 Remove `grub/machine/time.h' include.
30812 (grub_millisleep): New function.
30813
30814 * include/grub/misc.h (grub_div_roundup): New function.
30815
30816 * kern/misc.c: Include `<grub/time.h>'.
30817 (grub_millisleep_generic): New function.
30818
30819 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
30820 Add `time.h'.
30821 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
30822 Add `time.h'.
30823 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
30824 `machine/time.h'. Add `time.h'.
30825 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30826
a39a0312 308272007-10-21 Robert Millan <rmh@aybabtu.com>
30828
30829 * include/grub/misc.h (grub_max): New function.
30830
2aad70e2 308312007-10-21 Robert Millan <rmh@aybabtu.com>
30832
30833 * util/misc.c (grub_util_info): Call fflush() before returning.
30834
54b71c4b 308352007-10-20 Robert Millan <rmh@aybabtu.com>
30836
30837 * genmk.rb (Image): Copy `extra_flags' from here ...
30838 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
30839
30840 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
30841 to `argc' and `args' arguments.
30842
a979f513 308432007-10-17 Robert Millan <rmh@aybabtu.com>
30844
30845 * kern/i386/loader.S: New file.
30846
30847 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
30848 * kern/i386/loader.S (grub_linux_prot_size)... to here.
30849 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
30850 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
30851 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
30852 * kern/i386/loader.S (grub_linux_real_addr)... to here.
30853 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
30854 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
30855 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
30856 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
30857 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
30858 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
30859 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
30860 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
30861
30862 * kern/i386/realmode.S: New file.
30863
30864 * kern/i386/pc/startup.S (protstack): Moved from here ...
30865 * kern/i386/realmode.S (protstack)... to here.
30866 * kern/i386/pc/startup.S (gdt): Moved from here ...
30867 * kern/i386/realmode.S (gdt)... to here.
30868 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
30869 * kern/i386/realmode.S (prot_to_real)... to here.
30870
30871 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
30872 `kern/i386/realmode.S'.
30873
825fc8fd 308742007-10-17 Robert Millan <rmh@aybabtu.com>
30875
30876 * include/grub/i386/loader.h: New file.
30877
30878 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
30879 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30880 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30881 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30882 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
30883 * include/grub/i386/loader.h (grub_linux_prot_size)
30884 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30885 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30886 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30887 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
30888
30889 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
30890
e179b2f4 308912007-10-15 Robert Millan <rmh@aybabtu.com>
30892
30893 * normal/misc.c (grub_normal_print_device_info): Do not probe for
30894 filesystem when dev->disk is unset.
30895 Do probe for filesystem even when dev->disk->has_partitions is set.
30896 In case a filesystem is found, always report it.
30897 In case it isn't, if dev->disk->has_partitions is set, report that
30898 a partition table was found instead of reporting that no filesystem
30899 could be identified.
30900
5db82af6 309012007-10-12 Robert Millan <rmh@aybabtu.com>
30902
30903 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
30904 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
30905
68f6ac74 30906 * include/grub/types.h (grub_host_to_target16): New macro.
30907 (grub_host_to_target32): Likewise.
30908 (grub_host_to_target64): Likewise.
30909 (grub_target_to_host16): Likewise.
30910 (grub_target_to_host32): Likewise.
30911 (grub_target_to_host64): Likewise.
5db82af6 30912
30913 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30914 Renamed from to ...
30915 (GRUB_MOD_ALIGN): ...this. Update all users.
30916
68f6ac74 30917 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
30918 grub_host_to_target32.
30919 Replace grub_be_to_cpu32 with grub_target_to_host32.
30920 (load_modules): Likewise.
30921 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
30922 Replace grub_be_to_cpu32 with grub_target_to_host32.
30923 Replace grub_cpu_to_be16 with grub_host_to_target16.
30924 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 30925
3cf497cc 309262007-10-12 Robert Millan <rmh@aybabtu.com>
30927
30928 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
30929 * util/elf/grub-mkimage.c: ... here.
30930
30931 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
30932 `util/powerpc/ieee1275/grub-mkimage.c'.
30933
c8cc3692 309342007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 30935
c8cc3692 30936 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
30937 and make it easier to figure out.
30938 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
30939 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
30940 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
30941 leave us with less than HEAP_MIN_SIZE total heap.
30942 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 30943
5c58b791 309442007-10-03 Robert Millan <rmh@aybabtu.com>
30945
30946 * include/grub/i386/io.h: New file.
30947 * commands/i386/pc/play.c (inb): Removed.
30948 (outb): Removed.
30949 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30950 with grub_outb().
afcd2ef8 30951 * term/i386/pc/serial.c (inb): Removed.
30952 (outb): Removed.
30953 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30954 with grub_outb().
30955 * term/i386/pc/vga.c (inb): Removed.
30956 (outb): Removed.
30957 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30958 with grub_outb().
5c58b791 30959
1a477ed6 309602007-10-02 Robert Millan <rmh@aybabtu.com>
30961
30962 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30964 Reported by Marcin Kurek.
30965
6b5d80fa 309662007-09-07 Robert Millan <rmh@aybabtu.com>
30967
30968 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30969 SmartFirmware version updates (as released by Sven Luther), and avoid
30970 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30971 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30972 known broken.
30973
5618afbf 309742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30975
30976 From Hitoshi Ozeki:
30977 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30978 when merging two regions.
30979
6139dcd9 309802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30981
508e39ee 30982 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30983 * normal/completion.c (grub_normal_do_completion): Likewise.
30984 Reported by Hitoshi Ozeki.
30985
309862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30987
6139dcd9 30988 Do not use devices at boot in chainloading.
f19dbdb7 30989
6139dcd9 30990 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30991 (boot_part_addr): Likewise.
30992 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30993 with BOOT_DRIVE and BOOT_PART_ADDR.
30994 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30995 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30996
38da6516 309972007-08-29 Robert Millan <rmh@aybabtu.com>
30998
30999 Patch from Simon Peter <dn.tlp@gmx.net>:
31000 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31001 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31002 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31003 util/i386/pc/grub-setup.c_DEPENDENCIES.
31004 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31005 util/grub-probe.c_DEPENDENCIES.
31006 * conf/powerpc-ieee1275.rmk: Likewise.
31007
29d0928c 310082007-08-28 Robert Millan <rmh@aybabtu.com>
31009
31010 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31011 to tell grub-mkdevicemap how to name devices.
31012 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31013 feature).
31014
31015 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31016 util/i386/get_disk_name.c.
31017 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31018 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31019 util/ieee1275/get_disk_name.c.
31020
31021 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31022
31023 * DISTLIST: Add util/i386/get_disk_name.c and
31024 util/ieee1275/get_disk_name.c.
31025
31026 * util/grub-mkdevicemap.c: Replace device naming logic with
31027 grub_util_get_disk_name() calls.
31028
5a0d3cca 310292007-08-20 Robert Millan <rmh@aybabtu.com>
31030
31031 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31032 (so that it works for both plural and singular quantities).
31033
8b72db2f 310342007-08-05 Robert Millan <rmh@aybabtu.com>
31035
31036 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31037 so that [xz] isn't taken into account when determining order.
31038
352466bf 310392007-08-02 Marco Gerards <marco@gnu.org>
31040
31041 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31042 `include/multiboot2.h', `include/grub/elfload.h',
31043 `include/multiboot.h', `include/grub/multiboot.h',
31044 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31045 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31046 `kern/elf.c', `loader/multiboot_loader.c',
31047 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31048 `loader/i386/pc/multiboot2.c',
31049 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31050 `util/i386/pc/grub-mkrescue.in'. Remove
31051 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31052 `include/grub/i386/pc/util/biosdisk.h' and
31053 `include/grub/powerpc/ieee1275/multiboot.h'.
31054
8f096014 310552007-08-02 Bean <bean123ch@gmail.com>
31056
31057 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31058 (ntfs_mod_SOURCES): New variable.
31059 (ntfs_mod_CFLAGS): Likewise.
31060 (ntfs_mod_LDFLAGS): Likewise.
31061
31062 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31063 (grub_probe_SOURCES): Likewise.
31064 (grub_emu_SOURCES): Likewise.
31065
31066 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31067 (grub_emu_SOURCES): Likewise.
31068
31069 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31070 (grub_emu_SOURCES): Likewise.
f19dbdb7 31071
8f096014 31072 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31073
31074 * fs/ntfs.c: New file.
31075
9959f7db 310762007-08-02 Bean <bean123ch@gmail.com>
31077
31078 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31079
31080 * file.h (grub_file): Likewise.
31081
31082 * fshelp.h (grub_fshelp_read_file): Likewise.
31083
31084 * util/i386/pc/grub-setup.c (setup): Likewise.
31085 (save_first_sector): Likewise.
31086 (save_blocklists): Likewise.
f19dbdb7 31087
9959f7db 31088 * fs/affs.c (grub_affs_read_file): Likewise.
31089
31090 * fs/ext2.c (grub_ext2_read_file): Likewise.
31091
31092 * fs/fat.c (grub_fat_read_data): Likewise.
31093
31094 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31095
31096 * fs/hfs.c (grub_hfs_read_file): Likewise.
31097
31098 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31099
31100 * fs/jfs.c (grub_jfs_read_file): Likewise.
31101
31102 * fs/minix.c (grub_minix_read_file): Likewise.
31103
31104 * fs/sfs.c (grub_sfs_read_file): Likewise.
31105
31106 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31107
9959f7db 31108 * fs/xfs.c (grub_xfs_read_file): Likewise.
31109
31110 * command/blocklist.c (read_blocklist): Likewise.
31111 (print_blocklist): Likewise.
31112
0a203f83 311132007-08-02 Marco Gerards <marco@gnu.org>
31114
31115 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31116 `util/hostfs.c'.
31117
31118 * disk/host.c: New file.
31119
31120 * util/hostfs.c: Likewise.
31121
31122 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31123 return `GRUB_ERR_BAD_FS'.
31124 * fs/sfs.c (grub_sfs_mount): Likewise.
31125 * fs/xfs.c (grub_xfs_mount): Likewise.
31126
31127 * include/grub/disk.h (enum grub_disk_dev_id): Add
31128 `GRUB_DISK_DEVICE_HOST_ID'.
31129
31130 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31131
e5dfe777 311322007-07-24 Jerone Young <jerone@gmail.com>
31133
f19dbdb7 31134 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31135 modules for compilation.
31136 * conf/powerpc-ieee1275.rmk: Likewise.
31137
31138 * include/multiboot.h: Move multiboot definitions to one file. Rename
31139 many definitions to not get grub specific.
31140 * include/multiboot2.h: Create header with multiboot 2 definitions.
31141 * include/grub/multiboot.h: Header for grub specific function
31142 prototypes and definitions.
31143 * include/grub/multiboot2.h: Likewise.
31144 * include/grub/multiboot_loader.h: Likewise.
31145 * include/grub/i386/pc/multiboot.h: Removed.
31146 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31147
31148 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31149 and 2 to allow for one multiboot and module commands.
31150 * loader/multiboot2.c: Add multiboot2 functionality.
31151 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31152 and definition names.
31153 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31154 2 functions.
31155 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31156 ieee1275 specific multiboot2 code.
31157
31158 * kern/i386/pc/startup.S: Change headers and definition names for
31159 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31160
daf0f0ba 311612007-07-22 Robert Millan <rmh@aybabtu.com>
31162
31163 * geninitheader.sh: Process file specified in first parameter rather
31164 than hardcoding grub_modules_init.lst.
fe6b695a 31165 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31166 than hardcoding grub_modules_init.h.
31167
31168 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31169 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31170 grub_probe_init.[ch] and grub_setup_init.[ch].
31171
31172 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31173 grub_modules_init.h with grub_emu_init.h.
31174 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31175 grub_probe_init.[ch] files.
31176 * conf/i386-efi.rmk: Likewise.
31177 * conf/i386-pc.rmk: Likewise.
31178 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31179 grub_setup_init.[ch] files.
31180
31181 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31182 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31183 to initialize modules rather than a list of hardcoded functions.
31184 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31185 grub_init_all() to initialize modules rather than a list of hardcoded
31186 functions.
31187
54cdc1cc 311882007-07-22 Robert Millan <rmh@aybabtu.com>
31189
31190 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31191 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31192
ad0686cc 311932007-07-22 Robert Millan <rmh@aybabtu.com>
31194
31195 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31196 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31197 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31198 flag when running on SmartFirmware.
31199 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31200 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31201 was set.
31202
31203 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31204 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31205 rather than decreasing it.
31206
31207 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31208 there's not enough space to do it, fail in the same way as when it
31209 can't be done because there are no partitions.
31210
31211 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31212 when nvsetenv failed.
31213
969c02ec 312142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31215
31216 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31217 because this rule is automatically generated.
31218 (grub-mkrescue): Removed for the same reason as above.
31219
5a79f472 312202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31221
31222 Migrate to GNU General Public License Version 3.
f19dbdb7 31223
5a79f472 31224 * COPYING: Replaced with the plain text version of GPLv3.
31225
31226 * config.guess: Updated from gnulib.
31227 * config.sub: Likewise.
31228
31229 * geninit.sh: Output a GPLv3 copyright notice.
31230 * geninitheader.sh: Likewise.
31231 * genmodsrc.sh: Likewise.
31232 * gensymlist.sh.in: Likewise.
31233
31234 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31235 * boot/i386/pc/diskboot.S: Likewise.
31236 * boot/i386/pc/pxeboot.S: Likewise.
31237 * commands/blocklist.c: Likewise.
31238 * commands/boot.c: Likewise.
31239 * commands/cat.c: Likewise.
31240 * commands/cmp.c: Likewise.
31241 * commands/configfile.c: Likewise.
31242 * commands/echo.c: Likewise.
31243 * commands/help.c: Likewise.
31244 * commands/ls.c: Likewise.
31245 * commands/search.c: Likewise.
31246 * commands/terminal.c: Likewise.
31247 * commands/test.c: Likewise.
31248 * commands/videotest.c: Likewise.
31249 * commands/i386/cpuid.c: Likewise.
31250 * commands/i386/pc/halt.c: Likewise.
31251 * commands/i386/pc/play.c: Likewise.
31252 * commands/i386/pc/reboot.c: Likewise.
31253 * commands/i386/pc/vbeinfo.c: Likewise.
31254 * commands/i386/pc/vbetest.c: Likewise.
31255 * commands/ieee1275/halt.c: Likewise.
31256 * commands/ieee1275/reboot.c: Likewise.
31257 * commands/ieee1275/suspend.c: Likewise.
31258 * disk/loopback.c: Likewise.
31259 * disk/lvm.c: Likewise.
31260 * disk/raid.c: Likewise.
31261 * disk/efi/efidisk.c: Likewise.
31262 * disk/i386/pc/biosdisk.c: Likewise.
31263 * disk/ieee1275/ofdisk.c: Likewise.
31264 * font/manager.c: Likewise.
31265 * fs/affs.c: Likewise.
31266 * fs/ext2.c: Likewise.
31267 * fs/fat.c: Likewise.
31268 * fs/fshelp.c: Likewise.
31269 * fs/hfs.c: Likewise.
31270 * fs/hfsplus.c: Likewise.
31271 * fs/iso9660.c: Likewise.
31272 * fs/jfs.c: Likewise.
31273 * fs/minix.c: Likewise.
31274 * fs/sfs.c: Likewise.
31275 * fs/ufs.c: Likewise.
31276 * fs/xfs.c: Likewise.
31277 * hello/hello.c: Likewise.
31278 * include/grub/acorn_filecore.h: Likewise.
31279 * include/grub/arg.h: Likewise.
31280 * include/grub/bitmap.h: Likewise.
31281 * include/grub/boot.h: Likewise.
31282 * include/grub/cache.h: Likewise.
31283 * include/grub/device.h: Likewise.
31284 * include/grub/disk.h: Likewise.
31285 * include/grub/dl.h: Likewise.
31286 * include/grub/elfload.h: Likewise.
31287 * include/grub/env.h: Likewise.
31288 * include/grub/err.h: Likewise.
31289 * include/grub/file.h: Likewise.
31290 * include/grub/font.h: Likewise.
31291 * include/grub/fs.h: Likewise.
31292 * include/grub/fshelp.h: Likewise.
31293 * include/grub/gzio.h: Likewise.
31294 * include/grub/hfs.h: Likewise.
31295 * include/grub/kernel.h: Likewise.
31296 * include/grub/loader.h: Likewise.
31297 * include/grub/lvm.h: Likewise.
31298 * include/grub/misc.h: Likewise.
31299 * include/grub/mm.h: Likewise.
31300 * include/grub/net.h: Likewise.
31301 * include/grub/normal.h: Likewise.
31302 * include/grub/parser.h: Likewise.
31303 * include/grub/partition.h: Likewise.
31304 * include/grub/pc_partition.h: Likewise.
31305 * include/grub/raid.h: Likewise.
31306 * include/grub/rescue.h: Likewise.
31307 * include/grub/script.h: Likewise.
31308 * include/grub/setjmp.h: Likewise.
31309 * include/grub/symbol.h: Likewise.
31310 * include/grub/term.h: Likewise.
31311 * include/grub/terminfo.h: Likewise.
31312 * include/grub/tparm.h: Likewise.
31313 * include/grub/types.h: Likewise.
31314 * include/grub/video.h: Likewise.
31315 * include/grub/efi/api.h: Likewise.
31316 * include/grub/efi/chainloader.h: Likewise.
31317 * include/grub/efi/console.h: Likewise.
31318 * include/grub/efi/console_control.h: Likewise.
31319 * include/grub/efi/disk.h: Likewise.
31320 * include/grub/efi/efi.h: Likewise.
31321 * include/grub/efi/pe32.h: Likewise.
31322 * include/grub/efi/time.h: Likewise.
31323 * include/grub/i386/linux.h: Likewise.
31324 * include/grub/i386/setjmp.h: Likewise.
31325 * include/grub/i386/types.h: Likewise.
31326 * include/grub/i386/efi/kernel.h: Likewise.
31327 * include/grub/i386/efi/loader.h: Likewise.
31328 * include/grub/i386/efi/time.h: Likewise.
31329 * include/grub/i386/pc/biosdisk.h: Likewise.
31330 * include/grub/i386/pc/boot.h: Likewise.
31331 * include/grub/i386/pc/chainloader.h: Likewise.
31332 * include/grub/i386/pc/console.h: Likewise.
31333 * include/grub/i386/pc/init.h: Likewise.
31334 * include/grub/i386/pc/kernel.h: Likewise.
31335 * include/grub/i386/pc/loader.h: Likewise.
31336 * include/grub/i386/pc/memory.h: Likewise.
31337 * include/grub/i386/pc/multiboot.h: Likewise.
31338 * include/grub/i386/pc/serial.h: Likewise.
31339 * include/grub/i386/pc/time.h: Likewise.
31340 * include/grub/i386/pc/vbe.h: Likewise.
31341 * include/grub/i386/pc/vbeblit.h: Likewise.
31342 * include/grub/i386/pc/vbefill.h: Likewise.
31343 * include/grub/i386/pc/vbeutil.h: Likewise.
31344 * include/grub/i386/pc/vga.h: Likewise.
31345 * include/grub/ieee1275/ieee1275.h: Likewise.
31346 * include/grub/ieee1275/ofdisk.h: Likewise.
31347 * include/grub/powerpc/libgcc.h: Likewise.
31348 * include/grub/powerpc/setjmp.h: Likewise.
31349 * include/grub/powerpc/types.h: Likewise.
31350 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31351 * include/grub/powerpc/ieee1275/console.h: Likewise.
31352 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31353 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31354 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31355 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31356 * include/grub/powerpc/ieee1275/time.h: Likewise.
31357 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31358 * include/grub/sparc64/libgcc.h: Likewise.
31359 * include/grub/sparc64/setjmp.h: Likewise.
31360 * include/grub/sparc64/types.h: Likewise.
31361 * include/grub/sparc64/ieee1275/console.h: Likewise.
31362 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31363 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31364 * include/grub/sparc64/ieee1275/time.h: Likewise.
31365 * include/grub/util/biosdisk.h: Likewise.
31366 * include/grub/util/getroot.h: Likewise.
31367 * include/grub/util/lvm.h: Likewise.
31368 * include/grub/util/misc.h: Likewise.
31369 * include/grub/util/raid.h: Likewise.
31370 * include/grub/util/resolve.h: Likewise.
31371 * io/gzio.c: Likewise.
31372 * kern/device.c: Likewise.
31373 * kern/disk.c: Likewise.
31374 * kern/dl.c: Likewise.
31375 * kern/elf.c: Likewise.
31376 * kern/env.c: Likewise.
31377 * kern/err.c: Likewise.
31378 * kern/file.c: Likewise.
31379 * kern/fs.c: Likewise.
31380 * kern/loader.c: Likewise.
31381 * kern/main.c: Likewise.
31382 * kern/misc.c: Likewise.
31383 * kern/mm.c: Likewise.
31384 * kern/parser.c: Likewise.
31385 * kern/partition.c: Likewise.
31386 * kern/rescue.c: Likewise.
31387 * kern/term.c: Likewise.
31388 * kern/efi/efi.c: Likewise.
31389 * kern/efi/init.c: Likewise.
31390 * kern/efi/mm.c: Likewise.
31391 * kern/i386/dl.c: Likewise.
31392 * kern/i386/efi/init.c: Likewise.
31393 * kern/i386/efi/startup.S: Likewise.
31394 * kern/i386/pc/init.c: Likewise.
31395 * kern/i386/pc/lzo1x.S: Likewise.
31396 * kern/i386/pc/startup.S: Likewise.
31397 * kern/ieee1275/ieee1275.c: Likewise.
31398 * kern/powerpc/cache.S: Likewise.
31399 * kern/powerpc/dl.c: Likewise.
31400 * kern/powerpc/ieee1275/cmain.c: Likewise.
31401 * kern/powerpc/ieee1275/crt0.S: Likewise.
31402 * kern/powerpc/ieee1275/init.c: Likewise.
31403 * kern/powerpc/ieee1275/openfw.c: Likewise.
31404 * kern/sparc64/cache.S: Likewise.
31405 * kern/sparc64/dl.c: Likewise.
31406 * kern/sparc64/ieee1275/init.c: Likewise.
31407 * kern/sparc64/ieee1275/openfw.c: Likewise.
31408 * loader/efi/chainloader.c: Likewise.
31409 * loader/efi/chainloader_normal.c: Likewise.
31410 * loader/i386/efi/linux.c: Likewise.
31411 * loader/i386/efi/linux_normal.c: Likewise.
31412 * loader/i386/pc/chainloader.c: Likewise.
31413 * loader/i386/pc/chainloader_normal.c: Likewise.
31414 * loader/i386/pc/linux.c: Likewise.
31415 * loader/i386/pc/linux_normal.c: Likewise.
31416 * loader/i386/pc/multiboot.c: Likewise.
31417 * loader/i386/pc/multiboot_normal.c: Likewise.
31418 * loader/powerpc/ieee1275/linux.c: Likewise.
31419 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31420 * normal/arg.c: Likewise.
31421 * normal/cmdline.c: Likewise.
31422 * normal/command.c: Likewise.
31423 * normal/completion.c: Likewise.
31424 * normal/execute.c: Likewise.
31425 * normal/function.c: Likewise.
31426 * normal/lexer.c: Likewise.
31427 * normal/main.c: Likewise.
31428 * normal/menu.c: Likewise.
31429 * normal/menu_entry.c: Likewise.
31430 * normal/misc.c: Likewise.
31431 * normal/parser.y: Likewise.
31432 * normal/script.c: Likewise.
31433 * normal/i386/setjmp.S: Likewise.
31434 * normal/powerpc/setjmp.S: Likewise.
31435 * normal/sparc64/setjmp.S: Likewise.
31436 * partmap/acorn.c: Likewise.
31437 * partmap/amiga.c: Likewise.
31438 * partmap/apple.c: Likewise.
31439 * partmap/gpt.c: Likewise.
31440 * partmap/pc.c: Likewise.
31441 * partmap/sun.c: Likewise.
31442 * term/gfxterm.c: Likewise.
31443 * term/terminfo.c: Likewise.
31444 * term/efi/console.c: Likewise.
31445 * term/i386/pc/console.c: Likewise.
31446 * term/i386/pc/serial.c: Likewise.
31447 * term/i386/pc/vesafb.c: Likewise.
31448 * term/i386/pc/vga.c: Likewise.
31449 * term/ieee1275/ofconsole.c: Likewise.
31450 * util/biosdisk.c: Likewise.
31451 * util/console.c: Likewise.
31452 * util/genmoddep.c: Likewise.
31453 * util/getroot.c: Likewise.
31454 * util/grub-emu.c: Likewise.
31455 * util/grub-mkdevicemap.c: Likewise.
31456 * util/grub-probe.c: Likewise.
31457 * util/lvm.c: Likewise.
31458 * util/misc.c: Likewise.
31459 * util/raid.c: Likewise.
31460 * util/resolve.c: Likewise.
31461 * util/update-grub.in: Likewise.
31462 * util/update-grub_lib.in: Likewise.
31463 * util/grub.d/00_header.in: Likewise.
31464 * util/grub.d/10_hurd.in: Likewise.
31465 * util/grub.d/10_linux.in: Likewise.
31466 * util/i386/efi/grub-install.in: Likewise.
31467 * util/i386/efi/grub-mkimage.c: Likewise.
31468 * util/i386/pc/grub-install.in: Likewise.
31469 * util/i386/pc/grub-mkimage.c: Likewise.
31470 * util/i386/pc/grub-mkrescue.in: Likewise.
31471 * util/i386/pc/grub-setup.c: Likewise.
31472 * util/i386/pc/misc.c: Likewise.
31473 * util/powerpc/ieee1275/grub-install.in: Likewise.
31474 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31475 * util/powerpc/ieee1275/misc.c: Likewise.
31476 * video/bitmap.c: Likewise.
31477 * video/video.c: Likewise.
31478 * video/i386/pc/vbe.c: Likewise.
31479 * video/i386/pc/vbeblit.c: Likewise.
31480 * video/i386/pc/vbefill.c: Likewise.
31481 * video/i386/pc/vbeutil.c: Likewise.
31482 * video/readers/tga.c: Likewise.
31483
3572d015 314842007-07-02 Robert Millan <rmh@aybabtu.com>
31485
31486 * conf/i386-efi.rmk: Replace obsolete reference to
31487 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31488 with util/getroot.c.
31489 * conf/powerpc-ieee1275.rmk: Likewise.
31490 * conf/sparc64-ieee1275.rmk: Likewise.
31491
31492 * util/grub-emu.c (main): Fix unchecked pointer handling.
31493
2c2a681b 314942007-07-02 Robert Millan <rmh@aybabtu.com>
31495
31496 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31497 invocation to fail, in order to support partition-less media.
31498
31499 * util/i386/pc/grub-install.in: Likewise.
31500
31501 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31502 which fs or partmap modules are needed (akin to its sister scripts).
31503
31504 Also use grub-probe to get rid of unportable /proc/mounts check.
31505
31506 Print the same informational message that the other scripts do, before
fe6b695a 31507 exiting.
2c2a681b 31508
6193defe 315092007-06-23 Robert Millan <rmh@aybabtu.com>
31510
fe6b695a 31511 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31512 a font file can be found and, if so, echo the GRUB path to it.
31513
31514 * util/update-grub.in: Handle multiple terminals depending on user
31515 input, platform availability and font file presence. Propagate
31516 variables of our findings to /etc/grub.d/ children.
31517
31518 * util/grub.d/00_header.in: Handle multiple terminals, based on
31519 environment setup by update-grub.
31520
eface1dc 315212007-06-23 Robert Millan <rmh@aybabtu.com>
31522
ba50d28f 31523 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31524
bf697e28 315252007-06-21 Robert Millan <rmh@aybabtu.com>
31526
31527 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31528 indicate end of data section in kernel image.
31529 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31530 GRUB_KERNEL_MACHINE_DATA_END.
31531
31532 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31533 space for it.
31534 * kern/i386/efi/startup.S: Likewise.
31535
31536 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31537 during image generation. Implement --prefix option to override this
31538 patch.
31539 * util/i386/efi/grub-mkimage.c: Likewise.
31540
31541 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31542 code to make path relative to its root into a separate function.
31543
31544 * util/i386/pc/grub-install.in: Use newly provided
31545 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31546 pass the result to grub-install --prefix.
31547
baa574b4 315482007-06-13 Robert Millan <rmh@aybabtu.com>
31549
31550 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31551 DEFAULT_DEVICE_MAP.
31552 * util/grub-emu.c: Use above definitions from misc.h instead of
31553 defining them.
31554 * util/grub-mkdevicemap.c: Likewise.
31555 * util/i386/pc/grub-setup.c: Likewise.
31556 * util/grub-probe.c: Likewise.
31557 (probe): Abort with grub_util_error() when either
31558 grub_guess_root_device or grub_util_get_grub_dev fails.
31559
0215dcbf 315602007-06-12 Robert Millan <rmh@aybabtu.com>
31561
31562 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31563 "pager" assignment.
31564 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31565 "pcdata".
31566 * util/grub-probe.c (probe): Likewise for "drive_name".
31567
8af2ab7b 315682007-06-11 Robert Millan <rmh@aybabtu.com>
31569
31570 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31571 not just the cdrom one.
31572
59d31694 315732007-06-11 Robert Millan <rmh@aybabtu.com>
31574
31575 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31576 Add --pkglibdir=DIR option to override pkglibdir.
31577 Mention --image-type=TYPE in help output.
31578 Fix --grub-mkimage (it was a no-op).
fe6b695a 31579 Abort gracefully when no parameter is given.
59d31694 31580
7ee367e4 315812007-06-11 Robert Millan <rmh@aybabtu.com>
31582
31583 * util/i386/pc/grub-mkrescue.in: New file.
31584 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31585 * Makefile.in: Handle bin_SCRIPTS.
31586
29b0ed46 315872007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31588
31589 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31590 list of video modes.
31591
c0f90770 315922007-06-06 Robert Millan <rmh@aybabtu.com>
31593
31594 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31595 file doesn't exist, or if it is in a filesystem grub can't read.
31596
31597 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31598 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31599 header comment to fit in 80 columns when the variables are resolved.
31600
31601 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31602 could be identified by update-grub. Remove redundant check for
fe6b695a 31603 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 31604 handles that).
31605
fb36dc26 316062007-06-04 Robert Millan <rmh@aybabtu.com>
31607
31608 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31609
31610 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31611
31612 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31613
0c68c93e 316142007-06-04 Robert Millan <rmh@aybabtu.com>
31615
31616 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31617
31618 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31619 grub_apple_partition_map_fini.
31620
31621 * util/biosdisk.c
31622 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31623 to access >2 TiB disks).
31624
31625 Print disk->total_sectors with %llu instead of %lu, since this
31626 variable is always 64-bit (prevents wrong disk size from being displayed
31627 on either >2 TiB disk or big-endian CPU).
31628
31629 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31630 into a generic case that supports all (sane) partition maps.
31631
31632 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31633 breaks big-endian.
31634
31635 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31636 and grub_apple_partition_map_fini() after that.
31637
0f23eb74 316382007-06-01 Robert Millan <rmh@aybabtu.com>
31639
31640 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31641
31642 * util/grub.d/00_header.in: Only enable gfxterm when
31643 convert_system_path_to_grub_path() succeeds.
31644
42c71976 316452007-05-20 Robert Millan <rmh@aybabtu.com>
31646
31647 * util/update-grub_lib.in: New file.
31648 * DISTLIST: Add update-grub_lib.in.
31649 * conf/common.rmk: Generate update-grub_lib and install it in
31650 $(lib_DATA).
31651 * Makefile.in: Add install routine for $(lib_DATA).
31652
31653 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31654 function provided by update-grub_lib to support arbitrary paths of
31655 unifont.pff.
31656 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31657 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31658
5beb2291 316592007-05-19 Robert Millan <rmh@aybabtu.com>
31660
31661 * commands/i386/cpuid.c: New module.
31662 * DISTLIST: Add it.
31663 * conf/i386-efi.rmk: Enable cpuid.mod.
31664 * conf/i386-pc.rmk: Likewise.
31665
7262eca1 316662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31667
31668 * kern/disk.c (grub_disk_read): Check return value of
31669 grub_realloc().
31670
260ba823 316712007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31672
31673 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31674 arrays.
31675 * disk/raid.c (grub_raid_open): Likewise.
31676
1ecb6cf2 316772007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31678
31679 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31680 stack instead of on the heap.
31681
31682 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31683 before doing a read on it.
31684
31685 * configure.ac: Only use -fno-stack-protector for the target
31686 environment.
f19dbdb7 31687
21c8cbb1 316882007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31689
31690 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31691 __attribute_ ((unused)) to mode_type argument.
31692
31693 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 31694
21c8cbb1 31695 * kern/misc.c (memcmp): Fix prototype.
31696
31697 * include/grub/partition.h [GRUB_UTIL]
31698 (grub_gpt_partition_map_init): Add prototype.
31699 (grub_gpt_partition_map_fini): Likewise.
31700
31701 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31702 at the right place.
31703
31704 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
31705 (grub_fat_read_data): Likewise.
31706 (grub_fat_find_dir): Likewise.
31707
31708 * font/manager.c (find_glyph): Make table a const.
31709 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 31710
849d55d3 317112007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
31712
31713 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
31714 code, first search for device in /dev/mapper, then in /dev.
31715 (grub_util_get_grub_dev): New function.
31716 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
31717 prototype.
31718 * util/grub-probe.c (probe): Remove check for RAID, call
31719 grub_util_get_grub_dev() instead of
31720 grub_util_biosdisk_get_grub_dev().
31721 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
31722 grub_util_biosdisk_get_grub_dev().
31723 * util/i386/pc/grub-setup.c (main): Likewise.
31724
8fff7c2f 317252007-05-16 Robert Millan <rmh@aybabtu.com>
31726
31727 * DISTLIST: Update for the latest changes.
31728 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
31729 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
31730 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
31731 grub/util/biosdisk.h.
31732 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
31733 grub/util/biosdisk.h.
31734
48e12b52 317352007-05-16 Robert Millan <rmh@aybabtu.com>
31736
31737 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
31738
46b9d128 317392007-05-16 Robert Millan <rmh@aybabtu.com>
31740
31741 * util/i386/efi/grub-install.in: New.
31742 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
31743 newly added grub-install.
31744 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
31745 include.
31746 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
31747 grub/util/biosdisk.h.
31748 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
31749 grub/util/biosdisk.h.
31750
2d1a40a9 317512007-05-16 Robert Millan <rmh@aybabtu.com>
31752
31753 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
31754 * include/grub/util/biosdisk.h: ... here.
31755 * util/i386/pc/biosdisk.c: Moved to ...
31756 * util/biosdisk.c: ... here.
31757 * util/i386/pc/getroot.c: Moved to ...
31758 * util/getroot.c: ... here.
31759 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
31760 * util/grub-mkdevicemap.c: ... here.
31761 * util/i386/pc/grub-probe.c: Moved to ...
31762 * util/grub-probe.c: ... here.
31763
9e26e3bc 317642007-05-15 Robert Millan <rmh@aybabtu.com>
31765
31766 * util/update-grub.in: Remove duplicated line in grub.cfg header
31767 message.
31768
57f96397 317692007-05-13 Robert Millan <rmh@aybabtu.com>
31770
31771 * util/update-grub.in: Fix a few assumptions about the devices holding
31772 /, /boot and /boot/grub being the same.
31773 * util/grub.d/00_header.in: Likewise.
31774 * util/grub.d/10_hurd.in: Likewise.
31775 * util/grub.d/10_linux.in: Likewise.
31776
31777 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
31778 patterns. Use that to define the `.old' suffix as older than `'.
31779
31780 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
31781
31782 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
31783 the grub.cfg header message.
31784
2e610d62 317852007-05-11 Robert Millan <rmh@aybabtu.com>
31786
31787 * util/update-grub.in: Create device.map if it doesn't already exist,
31788 before attempting to run grub-probe.
31789 Check for grub-probe and grub-mkdevicemap with the same code
31790 grub-install is using.
31791 Remove test mode.
31792
3f6a10ef 317932007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
31794
31795 * Makefile.in: Add the datarootdir autoconf variable.
31796
02e7b75e 317972007-05-09 Robert Millan <rmh@aybabtu.com>
31798
31799 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 31800 fail gracefully if dev->disk->partition == NULL.
02e7b75e 31801
75f396cc 318022007-05-07 Robert Millan <rmh@aybabtu.com>
31803
31804 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
31805 determine partition map module.
31806 * util/i386/pc/grub-install.in: Use this feature to decide which
31807 partition module to load, instead of hardcoding pc and gpt.
31808
da65cb36 318092007-05-07 Robert Millan <rmh@aybabtu.com>
31810
31811 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
31812 source directory differs from build directory.
31813
b57d6a91 318142007-05-05 Robert Millan <rmh@aybabtu.com>
31815
31816 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
31817 initialisation.
31818
509d00f1 318192007-05-05 Robert Millan <rmh@aybabtu.com>
31820
31821 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
31822
c48f23ef 318232007-05-05 Robert Millan <rmh@aybabtu.com>
31824
31825 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
31826 command-line arguments via ${GRUB_CMDLINE_LINUX}.
31827
20b97658 318282007-05-05 Robert Millan <rmh@aybabtu.com>
31829
31830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
31831 (grub_probe_SOURCES): Likewise.
31832 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
31833 GPT and initialize dos_part and bsd_part accordingly.
31834 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
31835 install_bsd_part.
31836 (main): Activate gpt module for use during partition identification,
31837 and deactivate it afterwards.
31838 * util/i386/pc/grub-install.in: Add gpt module to core.img.
31839 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
31840 partition identification, and deactivate it afterwards.
31841
99123174 318422007-05-05 Robert Millan <rmh@aybabtu.com>
31843
31844 * term/i386/pc/console.c (grub_console_fini): Call
31845 grub_term_set_current() before grub_term_unregister().
31846
ebd97f6e 318472007-05-04 Robert Millan <rmh@aybabtu.com>
31848
31849 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
31850 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
31851 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
31852 and update-grub_DATA.
31853 * conf/common.rmk: Build and install update-grub components.
31854 * conf/common.mk: Regenerate.
31855 * util/update-grub.in: New. Core of update-grub.
31856 * util/grub.d/00_header.in: New. Generates grub.cfg header.
31857 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
31858 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
31859 * util/grub.d/README: New. Document grub.d directory layout.
31860
b06a264d 318612007-05-01 Robert Millan <rmh@aybabtu.com>
31862
31863 * util/grub-emu.c: Move initialization functions
31864 grub_util_biosdisk_init() and grub_init_all() before
31865 grub_util_biosdisk_get_grub_dev(), which relies on them.
31866
41f0050e 318672007-04-19 Robert Millan <rmh@aybabtu.com>
31868
31869 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
31870 it is used later.
31871
04582bb3 318722007-04-18 Jerone Young <jerone@gmail.com>
31873
f19dbdb7 31874 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 31875 stanza.
31876
08db4632 318772007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 31878
08db4632 31879 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
31880 continue on and look for device node with real device name.
31881
801b76be 318822007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 31883
fe6b695a 31884 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 31885 ability.
31886 * Makefile.in: Add autoconf package transformation code.
31887 * util/i386/pc/grub-install.in: Likewise.
31888 * util/powerpc/ieee1275/grub-install.in: Likewise.
31889
6795c4e1 318902007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31891
31892 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
31893 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
31894 (EXT2_REVISION): Likewise.
31895 (EXT2_INODE_SIZE): Likewise.
31896 (struct grub_ext2_block_group): Added a missing member
31897 "used_dirs".
31898 (grub_ext2_read_inode): Divide by the inode size in a superblock
31899 instead of 128 to obtain INODES_PER_BLOCK.
31900 Use the macro EXT2_INODE_SIZE instead of directly using
31901 SBLOCK->INODE_SIZE.
31902
d70af616 319032007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31904
31905 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
31906 superblock instead of the structure size to compute an
31907 offset. This fixes the problem that GRUB could not read a
31908 filesystem when inode size is different from 128-byte.
31909
3b801603 319102007-03-05 Marco Gerards <marco@gnu.org>
31911
31912 * normal/main.c (read_config_file): When "menu" is not set, create
31913 an initial context.
31914
4785bfe4 319152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31916
31917 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
31918 (HEAP_LIMIT): New macro.
31919 (grub_claim_heap): Claim memory up to `heaplimit'.
31920
a0cbb023 319212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31922
31923 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
31924 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
31925 (_start): Likewise.
31926 (grub_arch_modules_addr): Return address after `_end'.
31927 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
31928 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
31929 (add_segments): Calculate `_end' from phdr size and location.
31930 (ALIGN_UP): Moved to ...
31931 * include/grub/misc.h: here.
31932 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31933 New macro.
31934 (GRUB_IEEE1275_MODULE_BASE): Removed.
31935
fd7d8eba 319362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31937
31938 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
31939 loop boundary.
31940
9b09e6fc 319412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31942
31943 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
31944 All users updated.
31945 (grub_elf64_load_hook_t): Likewise.
31946 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
31947 debug output.
31948
3ce27299 319492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31950
31951 * kern/mm.c: Update copyright.
31952 (grub_mm_debug): Correct syntax error.
31953 (grub_mm_dump_free): New function.
31954 (grub_debug_free): Call `grub_free'.
31955 * include/grub/mm.h: Update copyright.
31956 (grub_mm_dump_free): Add declaration.
31957
077d5fee 319582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31959
31960 * include/grub/ieee1275/ieee1275.h: Update copyright.
31961 * kern/powerpc/ieee1275/init.c: Likewise.
31962 * kern/powerpc/ieee1275/openfw.c: Likewise.
31963
31964 * loader/powerpc/ieee1275/linux.c: Likewise.
31965 * include/grub/elfload.h: Likewise.
31966 * kern/elf.c: Likewise.
31967 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31968 callers.
31969 (grub_elf64_load): Likewise.
31970 (grub_elf32_load_segment): Move to a nested function.
31971 (grub_elf64_load_segment): Likewise.
31972
dc946850 319732007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31974
31975 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31976 prototype.
31977 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31978 (grub_heap_len): Likewise.
31979 (HEAP_SIZE): New macro.
31980 (grub_claim_heap): New function.
31981 (grub_machine_init): Don't claim heap directly. Call
31982 `grub_claim_heap'.
31983 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31984 (grub_available_iterate): New function.
31985
baa2a121 319862007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31987
31988 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31989 * configure.ac: Use it for testing the HOST and TARGET compilers.
31990
4fe9862e 319912006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31992
31993 * Makefile.in (enable_grub_emu): New variable.
31994 * configure.ac (--enable-grub-emu): New option.
31995 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31996 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31997 * conf/i386-pc.rmk: Likewise.
31998 * conf/powerpc-ieee1275.rmk: Likewise.
31999 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32000
a8aa5762 320012006-12-12 Marco Gerards <marco@gnu.org>
32002
32003 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32004
32005 * kern/env.c (grub_env_unset): Don't free the member `value' when
32006 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32007 pointer.
32008
32009 * normal/main.c (current_menu): Removed.
32010 (free_menu): Unset the `menu' environment variable.
32011 (grub_normal_menu_addentry): Make use of the environment variable
32012 `menu', instead of using the global `current_menu'. Allocate
32013 memory for the sourcecode of this entry.
32014 (read_config_file): New argument `nested', changed all callers.
32015 Only in the case of a new context, initialize a new menu. Set the
32016 `menu' environment variable.
32017 (grub_normal_execute): Don't set and unset the environment
32018 variable `menu' here anymore. Only free the menu when leaving the
32019 context.
32020
32021 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32022 leak.
32023
957b3a3e 320242006-12-11 Marco Gerards <marco@gnu.org>
32025
32026 * normal/menu_entry.c (run): Fix off by one bug so the last line
32027 is executed. Move the loader check to outside the loop.
32028
ef875714 320292006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32030
32031 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32032
4e739985 320332006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32034
32035 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32036 the number of sectors. Reported by Andrey Shuvikov
32037 <mr_hyro@yahoo.com>.
f19dbdb7 32038
790707f2 320392006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32040
32041 * kern/disk.c (grub_disk_read): When there is a read error, always
32042 try to read only the necessary data.
f19dbdb7 32043
790707f2 32044 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32045 disk/raid.c.
32046 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32047 prototype.
32048 [GRUB_UTIL] (grub_raid_fini): Likewise.
32049 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32050 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32051 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32052 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32053 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32054 and grub_raid_fini().
f19dbdb7 32055
03e58196 320562006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32057
32058 * include/grub/types.h (__unused): Rename to UNUSED.
32059 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32060 (grub_elf64_size): Likewise.
f19dbdb7 32061
ae4f23bf 320622006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32063
32064 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32065 grub_error_push and grub_error_pop in the error-handling path.
32066 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32067 length.
32068
2166cc83 320692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32070
32071 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32072 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32073 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32074 (kernel_elf_SOURCES): Likewise.
32075 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32076 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32077 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32078 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32079 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32080 (elf_mod_SOURCES): New variable.
32081 (elf_mod_CFLAGS): Likewise.
32082 (elf_mod_LDFLAGS): Likewise.
32083 * include/grub/types.h (__unused): New macro.
32084 * include/grub/elfload.h: New file.
32085 * kern/elf.c: Likewise.
32086 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32087 (ELF32_LOADMASK): New macro.
32088 (ELF64_LOADMASK): Likewise.
32089 (vmlinux): Removed.
32090 (grub_linux_load32): New function.
32091 (grub_linux_load64): Likewise.
32092 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32093 Use grub_elf_t instead of grub_file_t.
32094
a09d5aa5 320952006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32096
32097 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32098 `catch_result' to struct set_color_args.
32099
d976fc51 321002006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32101
32102 * normal/menu.c: Include grub/script.h.
32103 * normal/menu_entry.c: Likewise.
32104 * include/grub/normal.h: Do not include grub/script.h.
32105
67507549 321062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32107
32108 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32109
69203a99 321102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32111
32112 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32113 disk.
32114 (grub_disk_close): Print debug messages when closing a disk.
32115 (grub_disk_read): Print debug messages when disk read fails.
32116 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32117 filesystem type.
32118 * kern/partition.c: Include misc.h.
32119 (grub_partition_iterate): Print debug messages when detecting
32120 partition type.
32121
e2b8278c 321222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32123
32124 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32125 is negative.
32126 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32127
97b2f2ff 321282006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32129
32130 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32131 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32132
6555d655 321332006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32134
32135 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32136 instead of sizeof(lv). Patch by Michael Guntsche.
32137
4d42b77f 321382006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32139
32140 * disk/lvm.c: Rename VGS to VG_LIST.
32141 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32142 (grub_lvm_open): Likewise.
32143 Thanks to Michael Guntsche for finding this bug.
32144
5d74d927 321452006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32146
32147 * configure.ac (AC_INIT): Bumped to 1.95.
32148
a1bb27e4 321492006-10-14 Robert Millan <rmh@aybabtu.com>
32150
32151 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32152 with "/dev/.static/dev/md".
32153
e0994b8b 321542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32155
32156 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32157 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32158 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32159 DRIVE_NAME are always freed.
32160
32161 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32162 DOS_PART, as a DOS partition is counted from one instead of zero
32163 now. Reported by Robert Millan.
32164
ddd5cee9 321652006-10-14 Robert Millan <rmh@aybabtu.com>
32166
32167 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32168 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32169 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32170 string returned by grub_guess_root_device.
32171 * util/i386/pc/grub-setup.c: Likewise.
32172 * util/i386/pc/grub-probefs.c: Likewise.
32173
32174 * util/i386/pc/grub-probefs.c: Rename to ...
32175 * util/i386/pc/grub-probe.c: ... this.
32176 * DISTLIST: Remove grub-probefs, add grub-probe.
32177 * conf/i386-efi.rmk: Likewise.
32178 * conf/i386-pc.rmk: Likewise.
32179 * util/i386/pc/grub-install.in: Likewise.
32180
32181 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32182 choose which information we want to print.
32183
2b002173 321842006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32185
32186 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32187 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32188 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32189 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32190 video/readers/tga.c and video/i386/pc/vbeutil.c.
32191
321922006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32193
32194 Added support for RAID and LVM.
f19dbdb7 32195
2b002173 32196 * disk/lvm.c: New file.
32197 * disk/raid.c: Likewise.
32198 * include/grub/lvm.h: Likewise.
f19dbdb7 32199 * include/grub/raid.h: Likewise.
2b002173 32200 * include/grub/util/lvm.h: Likewise.
32201 * include/grub/util/raid.h: Likewise.
32202 * util/lvm.c: Likewise.
32203 * util/raid.c: Likewise.
32204
32205 * include/grub/disk.h (grub_disk_dev_id): Add
32206 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32207 (grub_disk_get_size): New prototype.
32208 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32209 returns a partition.
32210 (grub_disk_get_size): New function.
f19dbdb7 32211
2b002173 32212 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32213 verbatim if grub_install_dos_part is -2.
32214
32215 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32216 and LVM devices.
32217
32218 * util/i386/pc/grub-setup.c (setup): New argument
32219 MUST_EMBED. Force embedding of GRUB when the argument is
32220 true. Close FILE before returning.
32221 (main): Add support for RAID and LVM.
f19dbdb7 32222
2b002173 32223 * conf/common.rmk: Add RAID and LVM modules.
32224 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32225 util/lvm.c.
32226 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32227
32228 * kern/misc.c (grub_strstr): New function.
32229 * include/grub/misc.h (grub_strstr): New prototype.
32230
050548d0 322312006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32232
32233 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32234
da849d2d 322352006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32236
32237 * kern/misc.c (grub_strtoull): Guess the base only if not
32238 specified.
32239
97b2f2ff 322402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32241
32242 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32243 PowerMac support.
32244
97b2f2ff 322452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32246
32247 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32248
32249 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32250 Remove `flags' argument. All callers changed.
32251 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32252 (IEEE1275_IHANDLE_INVALID): New variable.
32253 (IEEE1275_CELL_INVALID): New variable.
32254 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32255 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32256 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32257 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32258 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32259 codes from Open Firmware. All callers updated.
32260 (grub_ieee1275_next_property): Directly return Open Firmware return
32261 code.
32262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32263 Standardize error checking from `grub_ieee1275_get_property'.
32264 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32265 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32266
97b2f2ff 322672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32268
32269 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32270 `instance_to_package_args' to `instance_to_path_args'.
32271
32272 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32273 `grub_ieee1275_chosen'.
32274
32275 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32276 `grub_ieee1275_interpret'.
32277
97b2f2ff 322782006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32279
32280 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32281
97b2f2ff 322822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32283
32284 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32285 (__cmpdi): Likewise.
32286
32287 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32288 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32289 `grub_ssize_t'.
32290
02bb8acc 32291 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32292
32293 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32294 to type `grub_ssize_t'.
32295 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32296
7f9a8531 322972006-09-22 Marco Gerards <marco@gnu.org>
32298
32299 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32300 newlines.
32301
b5ef1102 323022006-09-22 Marco Gerards <marco@gnu.org>
32303
32304 * commands/echo.c: New file.
32305
32306 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32307
32308 * conf/common.rmk (echo_mod_SOURCES): New variable.
32309 (echo_mod_CFLAGS): Likewise.
32310 (echo_mod_LDFLAGS): Likewise.
32311
2cff3677 323122006-09-22 Marco Gerards <marco@gnu.org>
32313
32314 * normal/main.c (get_line): Malloc memory instead of using
32315 preallocated memory. Removed the arguments `cmdline' and
32316 `max_len'. Updated all callers.
32317
6ba4688b 323182006-09-22 Marco Gerards <marco@gnu.org>
32319
32320 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32321 (normal_mod_DEPENDENCIES): Likewise.
32322
32323 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32324 (normal_mod_DEPENDENCIES): Likewise.
32325
32326 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32327
e02ac02c 323282006-09-22 Johan Rydberg <jrydberg@gnu.org>
32329
32330 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32331 programs.
32332 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32333 (normal_mod_DEPENDENCIES): Likewise.
32334 * conf/i386-pc.mk: Regenerate.
32335 * conf/i386-efi.mk: Likewise
32336 * conf/common.mk: Likewise.
32337 * conf/powerpc-ieee1275.mk: Likewise.
32338 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32339
8d252e44 323402006-09-22 Robert Millan <rmh@aybabtu.com>
32341
32342 Sync with i386 version.
32343 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32344 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32345
209bf7ac 323462006-09-21 Robert Millan <rmh@aybabtu.com>
32347
32348 Import from GRUB Legacy (lib/device.c):
32349 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32350 (init_device_map) [__linux__]: Add support for I2O devices.
32351
6b146090 323522006-09-14 Marco Gerards <marco@gnu.org>
32353
32354 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32355 `-melf_i386'.
32356
e38600a8 323572006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32358
32359 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32360 /boot/grub/*.lst.
78fa1790 32361
2952da5d 32362 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32363
2952da5d 32364 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32365 before adding it to device.map.
32366
01b82a64 323672006-08-15 Johan Rydberg <jrydberg@gnu.org>
32368
fe6b695a 32369 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32370 compiles a file; using the -MD option.
32371 * conf/common.mk: Regenerate.
32372 * conf/i386-pc.mk: Likewise.
32373 * conf/i386-efi.mk: Likewise.
32374 * conf/powerpc-ieee1275.mk: Likewise.
32375 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32376
1064790d 323772006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32378
32379 Move the prototypes of grub_setjmp and grub_longjmp to
32380 cpu/setjmp.h, so that each architecture may specify different
32381 attributes.
f19dbdb7 32382
1064790d 32383 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32384 (grub_longjmp): Likewise.
32385 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32386 (grub_longjmp): Likewise.
32387 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32388 (grub_longjmp): Likewise.
32389
32390 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32391 [!GRUB_UTIL] (grub_longjmp): Removed.
32392
29dda3ed 323932006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32394
32395 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32396 "color!" method does not return any value.
32397
ad2a06ed 323982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32399
32400 * include/grub/bitmap.h: New file.
32401
32402 * include/grub/i386/pc/vbeutil.h: Likewise.
32403
32404 * video/bitmap.c: Likewise.
32405
32406 * video/readers/tga.c: Likewise.
32407
32408 * video/i386/pc/vbeutil.c: Likewise.
32409
32410 * commands/videotest.c: Code cleanup and updated to reflect to new
32411 video API.
32412
32413 * term/gfxterm.c: Likewise.
32414
32415 * video/video.c: Likewise.
32416
32417 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32418 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32419 (bitmap_mod_SOURCES): New entry.
32420 (bitmap_mod_CFLAGS): Likewise.
32421 (bitmap_mod_LDFLAGS): Likewise.
32422 (tga_mod_SOURCES): Likewise.
32423 (tga_mod_CFLAGS): Likewise.
32424 (tga_mod_LDFLAGS): Likewise.
32425
32426 * include/grub/video.h (grub_video_blit_operators): New enum type.
32427 (grub_video_render_target): Changed as forward declaration and moved
32428 actual definition to be video driver specific.
32429 (grub_video_adapter.blit_bitmap): Added blitting operator.
32430 (grub_video_adapter.blit_render_target): Likewise.
32431 (grub_video_blit_bitmap): Likewise.
32432 (grub_video_blit_render_target): Likewise.
32433
32434 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32435 driver specific render target definition.
32436 (grub_video_vbe_map_rgba): Added driver internal helper.
32437 (grub_video_vbe_unmap_color): Updated to use
32438 grub_video_i386_vbeblit_info.
32439 (grub_video_vbe_get_video_ptr): Likewise.
32440
32441 * include/grub/i386/pc/vbeblit.h
32442 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32443 grub_video_i386_vbeblit_info.
32444 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32445 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32446 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32447 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32448 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32449 (grub_video_i386_vbeblit_index_index): Likewise.
32450 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32451 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32452 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32453 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32454 operator.
32455 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32456 operator.
32457
32458 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32459 include/grub/i386/pc/vbeblit.h.
32460
32461 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32462 Updated to use grub_video_i386_vbeblit_info.
32463 (grub_video_i386_vbefill_R8G8B8): Likewise.
32464 (grub_video_i386_vbefill_index): Likewise.
32465 (grub_video_i386_vbefill): Added generic filler.
32466
32467 * video/i386/pc/vbefill.c: Updated to reflect changes on
32468 include/grub/i386/pc/vbefill.h.
32469
32470 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32471 grub_video_i386_vbeblit_info.
32472 (grub_video_vbe_unmap_color): Likewise.
32473 (grub_video_vbe_blit_glyph): Likewise.
32474 (grub_video_vbe_scroll): Likewise.
32475 (grub_video_vbe_draw_pixel): Removed function.
32476 (grub_video_vbe_get_pixel): Likewise.
32477 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32478 updated code to use it.
32479 (common_blitter): Added common blitter for render target and bitmap.
32480 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32481 (grub_video_vbe_blit_render_target): Likewise.
32482
bc8c036d 324832006-07-30 Johan Rydberg <jrydberg@gnu.org>
32484
32485 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32486 is in text mode if there is no console control protocol instance
32487 available.
32488
684a8eff 324892006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32490
32491 * include/grub/video.h: Code cleanup.
32492
32493 * include/grub/i386/pc/vbe.h: Likewise.
32494
32495 * video/i386/pc/vbe.c: Likewise.
32496
32497 * video/i386/pc/vbeblit.c: Likewise.
32498
32499 * video/i386/pc/vbefill.c: Likewise.
32500
32501 * video/video.c: Likewise. Also added more comments.
32502
5915059b 325032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32504
32505 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32506 (struct grub_biosdisk_dap): Likewise.
32507
32508 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32509 linkage settings for all functions.
32510
90ce5d56 325112006-07-12 Marco Gerards <marco@gnu.org>
32512
32513 * configure.ac (--enable-mm-debug): Fix typo.
32514
32515 * genkernsyms.sh.in: Use proper quoting for `CC'.
32516
43e7f879 325172006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32518
32519 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32520 (normal_mod_ASFLAGS): Remove "-m32".
32521
4889bdec 325222006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32523
32524 * util/misc.c: Include config.h.
32525 [!HAVE_MEMALIGN]: Do not include malloc.h.
32526 (grub_memalign): Use posix_memalign, if present. Then, use
32527 memalign, if present. Otherwise, emit an error.
32528
32529 * util/grub-emu.c: Do not include malloc.h.
32530
32531 * include/grub/util/misc.h: Include unistd.h. This is required for
32532 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32533 D. Eades III <hde@foobar-qux.org>.
32534
32535 * configure.ac (AC_GNU_SOURCE): Added.
32536 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32537 type.
32538
fd39d4da 325392006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32540
32541 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32542 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32543
b786f3b5 325442006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32545
32546 * include/grub/types.h (grub_host_addr_t): Rename to
32547 grub_target_addr_t.
32548 (grub_host_off_t): Rename to grub_target_off_t.
32549 (grub_host_size_t): Rename to grub_target_size_t.
32550 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32551 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32552
32553 * include/grub/kernel.h (struct grub_module_header): Change type
32554 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32555 (grub_module_info): Likewise.
f19dbdb7 32556
051988bb 325572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32558
32559 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32560 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32561 Velazquez <jesus.velazquez@gmail.com>.
32562
deae281b 325632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32564
32565 Count partitions from 1 instead of 0 in the string representation
32566 of partitions. Still use 0-based internally.
f19dbdb7 32567
deae281b 32568 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32569 (sun_partition_map_iterate): Use grub_partition_t instead of
32570 struct grub_partition *. Cast DESC->START_CYLINDER to
32571 grub_uint64_t after converting the endian.
32572 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32573 (sun_partition_map_get_name): Add 1 to P->INDEX.
32574
32575 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32576 PCDATA->DOS_PART.
32577 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32578
32579 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32580 zero instead of one.
32581 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32582 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32583
32584 * partmap/apple.c (apple_partition_map_iterate): Change the type
32585 of POS to unsigned.
32586 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32587 (apple_partition_map_get_name): Add 1 into P->INDEX.
32588
32589 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32590 of POS to unsigned.
32591 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32592 calculate the offset of a partition.
32593 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32594 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32595
32596 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32597 SECTOR to grub_disk_addr_t.
32598 (acorn_partition_map_iterate): Likewise.
32599 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32600 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32601 top.
32602 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32603
32604 * kern/i386/pc/init.c (make_install_device): Add 1 into
32605 GRUB_INSTALL_DOS_PART.
32606
32607 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32608 conditional.
32609
524a1e6a 326102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32611
32612 Clean up the code to support 64-bit addressing in disks and
32613 files. This change is not enough for filesystems yet.
f19dbdb7 32614
524a1e6a 32615 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32616 type of "start" to grub_uint64_t.
32617 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32618 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32619 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32620 convert addresses.
32621
32622 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32623 to grub_disk_addr_t.
32624
32625 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32626 string.
32627
32628 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32629
32630 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32631 to char *.
32632
32633 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32634
32635 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32636
32637 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32638
32639 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32640 to grub_off_t, to detect an error from grub_file_seek.
32641 (grub_multiboot_load_elf32): Likewise.
32642
32643 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32644 maximum unsigned long value when an overflow is detected.
32645 (grub_strtoull): New function.
32646 (grub_divmod64): Likewise.
32647 (grub_lltoa): use grub_divmod64.
32648
32649 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32650 grub_disk_addr_t.
32651 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32652 the pointer to next character. Use grub_strtoull instead of
32653 grub_strtoul.
32654 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32655 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32656 respectively.
32657
fe6b695a 32658 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 32659 return value is signed.
32660 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32661 test if OFFSET is less than zero, as OFFSET is unsigned now.
32662
32663 * kern/disk.c (struct grub_disk_cache): Change the type of
32664 "sector" to grub_disk_addr_t.
32665 (grub_disk_cache_get_index): Change the type of SECTOR to
32666 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32667 unsigned after shifting.
32668 (grub_disk_cache_invalidate): Change the type of SECTOR to
32669 grub_disk_addr_t.
32670 (grub_disk_cache_unlock): Likewise.
32671 (grub_disk_cache_store): Likewise.
32672 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32673 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32674 grub_disk_addr_t and grub_uint64_t, respectively.
32675 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32676 body, as the value of OFFSET is tweaked by
32677 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32678 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32679 respectively.
32680 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
32681 body, as the value of OFFSET is tweaked by
32682 grub_disk_check_range. Change the types of LEN and N to
32683 grub_size_t.
32684
32685 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32686 and "saved_offset" to grub_off_t.
32687 (test_header): Cast BUF to char *.
32688 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32689 to char *.
32690 (grub_gzio_read): Change the types of OFFSET and SIZE to
32691 grub_off_t and grub_size_t, respectively.
32692
32693 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32694 Removed.
32695 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32696 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32697 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32698 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32699 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32700
32701 * include/grub/types.h (grub_off_t): Unconditionally set to
32702 grub_uint64_t.
32703 (grub_disk_addr_t): Changed to grub_uint64_t.
32704
32705 * include/grub/partition.h (struct grub_partition): Change the
32706 types of "start", "len" and "offset" to grub_disk_addr_t,
32707 grub_uint64_t and grub_disk_addr_t, respectively.
32708 (grub_partition_get_start): Return grub_disk_addr_t.
32709 (grub_partition_get_len): Return grub_uint64_t.
32710
32711 * include/grub/misc.h (grub_strtoull): New prototype.
32712 (grub_divmod64): Likewise.
32713
32714 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
32715 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
32716 grub_off_t, respectively.
32717 All callers and references changed.
32718
32719 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
32720 grub_size_t in "read".
32721 All callers and references changed.
32722
32723 * include/grub/file.h (struct grub_file): Change the types of
32724 "offset" and "size" to grub_off_t and grub_off_t,
32725 respectively. Change the type of SECTOR to grub_disk_addr_t in
32726 "read_hook".
32727 (grub_file_read): Change the type of LEN to grub_size_t.
32728 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
32729 grub_off_t.
32730 (grub_file_size): Return grub_off_t.
32731 (grub_file_tell): Likewise.
32732 All callers and references changed.
32733
32734 * include/grub/disk.h (struct grub_disk_dev): Change the types of
32735 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
32736 "write".
32737 (struct grub_disk): Change the type of "total_sectors" to
32738 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 32739 "read_hook".
524a1e6a 32740 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
32741 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
32742 (grub_disk_write): Likewise.
32743 All callers and references changed.
32744
32745 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
32746 char * for grub_strncmp to silence gcc.
32747 (grub_iso9660_mount): Likewise.
32748 (grub_iso9660_mount): Likewise.
32749 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
32750 return statement.
32751 (grub_iso9660_iterate_dir): Likewise.
32752 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
32753
32754 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
32755 LEN to grub_disk_addr_t and grub_size_t, respectively.
32756
32757 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32758
32759 * fs/jfs.c (grub_jfs_read_file): Likewise.
32760
32761 * fs/minix.c (grub_jfs_read_file): Likewise.
32762
32763 * fs/sfs.c (grub_jfs_read_file): Likewise.
32764
32765 * fs/ufs.c (grub_jfs_read_file): Likewise.
32766
32767 * fs/xfs.c (grub_jfs_read_file): Likewise.
32768
32769 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
32770 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
32771 respectively.
32772
32773 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
32774 BLKNR to -1 instead of returning GRUB_ERRNO.
32775 (grub_ext2_read_file): Change the types of SECTOR and
32776 LEN to grub_disk_addr_t and grub_size_t, respectively.
32777
32778 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
32779 LEN to grub_disk_addr_t and grub_size_t, respectively.
32780
32781 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
32782 grub_file_read.
32783
32784 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
32785 string. Do not cast SECTOR explicitly.
32786
32787 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
32788 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
32789 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
32790 grub_disk_addr_t and grub_size_t, respectively. If the sector is
32791 over 2TB and LBA mode is not supported, raise an error.
32792 (get_safe_sectors): New function.
32793 (grub_biosdisk_read): Use get_safe_sectors.
32794 (grub_biosdisk_write): Likewise.
32795
32796 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
32797 (grub_efidisk_write): Likewise.
32798
32799 * disk/loopback.c (delete_loopback): Cosmetic changes.
32800 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
32801 correctly.
32802 (grub_loopback_open): Likewise.
32803 (grub_loopback_read): Likewise. Also, change the type of POS to
32804 grub_off_t, and fix the usage of grub_memset.
32805
32806 * commands/i386/pc/play.c: Include grub/machine/time.h.
32807
32808 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
32809 print FILE->SIZE.
32810
32811 * commands/configfile.c: Include grub/env.h.
32812
32813 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
32814 GRUB_ERRNO directly instead. Change the type of POS to
32815 grub_off_t. Follow the coding standard.
32816
32817 * commands/blocklist.c: Include grub/partition.h.
32818 (grub_cmd_blocklist): Return an error if the underlying device is
32819 not a disk. Take the starting sector of a partition into account,
32820 if a partition is used.
32821
32822 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
32823 a length field.
32824 (lba_mode): Support 64-bit addresses.
32825 (chs_mode): Likewise.
32826 (copy_buffer): Adapted to the new offsets of a length field and a
32827 segment field.
32828 (blocklist_default_start): Allocate 64-bit space.
32829
32830 * boot/i386/pc/boot.S (force_lba): Removed.
32831 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 32832 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 32833 space.
32834 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
32835 is useless.
32836 (lba_mode): Refactored to support a 64-bit address. More size
32837 optimization.
32838 (setup_sectors): Likewise.
32839
53af98ad 328402006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32841
32842 * DISTLIST: Added include/grub/i386/linux.h. Removed
32843 include/grub/i386/pc/linux.h
32844
32845 * configure.ac (AC_INIT): Bumped to 1.94.
32846
32847 * config.guess: Updated from gnulib.
32848 * config.sub: Likewise.
32849 * install-sh: Likewise.
32850 * mkinstalldirs: Likewise.
32851
b4c1940a 328522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32853
32854 * conf/common.rmk (grub_modules_init.lst): Depended on
32855 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
32856 MODSRCFILES.
32857
32858 * genmk.rb (PModule::rule): Reverted the previous change.
32859
cfca1cfd 328602006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32861
32862 * conf/common.rmk (grub_modules_init.lst): Depends on
32863 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
32864 that the target does not exist before producing.
32865 (grub_modules_init.h): Remove the target before generating.
32866 (grub_emu_init.c): Likewise.
32867
32868 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
32869
aa6d7826 328702006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
32871
32872 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
32873 for the target-specific tests. Make sure that we also have the
32874 up-to-date target variables for those tests.
32875
26c607b9 328762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32877
32878 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
32879 (PModule::rule): Likewise.
32880
0162321a 328812006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32882
32883 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
32884 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
32885 target-specific flags should be prefixed.
32886 (PModule::rule): Likewise.
32887
6c826348 328882006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
32889
32890 * configure.ac (CMP): Check if cmp is available explicitly.
32891
b977bf01 328922006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
32893
32894 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
32895 (target_cpu): New variable.
32896 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 32897
b977bf01 32898 * util/i386/pc/grub-install.in (host_cpu): Removed.
32899 (target_cpu): New variable.
32900 (pkglibdir): Use target_cpu instead of host_cpu.
32901
32902 * util/genmoddep.c: Removed.
f19dbdb7 32903
b977bf01 32904 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
32905 instead of GRUB_HOST_SIZEOF_VOID_P.
32906 * kern/dl.c: Likewise.
32907
32908 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
32909 ...
32910 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32911 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32912 (GRUB_TARGET_SIZEOF_LONG): ... this.
32913 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32914 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32915 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32916 to ...
32917 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32918 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32919 (GRUB_TARGET_SIZEOF_LONG): ... this.
32920 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32921 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32922 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32923 to ...
32924 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32925 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32926 (GRUB_TARGET_SIZEOF_LONG): ... this.
32927 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32928 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32929
32930 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
32931 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
32932 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
32933 instead of GRUB_HOST_SIZEOF_LONG.
32934 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
32935 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
32936 GRUB_CPU_WORDS_BIGENDIAN.
32937 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
32938 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
32939 grub_host_ssize_t.
32940
32941 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
32942 (genmoddep_SOURCES): Likewise.
32943 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
32944 (genmoddep_SOURCES): Likewise.
32945 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
32946 (genmoddep_SOURCES): Likewise.
32947 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
32948 Likewise.
32949 (genmoddep_SOURCES): Likewise.
32950
32951 * genmoddep.awk: New file.
32952
32953 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32954 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32955 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32956 (PModule::rule): Likewise.
32957 (Program::rule): Likewise.
32958 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32959 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32960 respectively.
32961
32962 * configure.ac: Rewritten intensively to use host and target
32963 instead of build and host, respectively.
32964
32965 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32966 (host_cpu): Removed.
32967 (target_cpu): New variable.
32968 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32969 (BUILD_CC): Removed.
32970 (BUILD_CFLAGS): Likewise.
32971 (BUILD_CPPFLAGS): Likewise.
32972 (TARGET_CC): New variable.
32973 (TARGET_CFLAGS): Likewise.
32974 (TARGET_CPPFLAGS): Likewise.
32975 (TARGET_LDFLAGS): Likewise.
32976 (AWK): Likewise.
32977 (include): Use target_cpu instead of host_cpu.
32978 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 32979
b977bf01 32980 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32981
f09771a1 329822006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32983
32984 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32985 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32986 field 'false' to 'exec_on_false'.
32987 (grub_script_create_cmdif): Renamed argument names to reflect above
32988 changes.
32989
32990 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32991
32992 * normal/script.c (grub_script_create_cmdif): Likewise.
32993
118f4fb3 329942006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32995
32996 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32997 top.
32998 (grub_hfsplus_btree_recptr): Likewise.
32999 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33000 FILEBLOCK both to pass a block number and store next block
33001 number.
33002 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33003 overflow file correctly. Specify errors appropriately, because
33004 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33005 grub_hfsplus_btree_recptr to get the pointer to a found key.
33006 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33007 is found.
33008
33009 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33010 linux.mod.
33011 (_linux_mod_SOURCES): New variable.
33012 (_linux_mod_CFLAGS): Likewise.
33013 (_linux_mod_LDFLAGS): Likewise.
33014 (linux_mod_SOURCES): Likewise.
33015 (linux_mod_CFLAGS): Likewise.
33016 (linux_mod_LDFLAGS): Likewise.
33017
33018 * DISTLIST: Added loader/i386/efi/linux.c,
33019 loader/i386/efi/linux_normal.c and
33020 include/grub/i386/efi/loader.h.
33021
33022 * loader/i386/efi/linux.c: New file.
33023 * loader/i386/efi/linux_normal.c: Likewise.
33024 * include/grub/i386/efi/loader.h: Likewise.
33025
89a7d726 330262006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33027
33028 * commands/blocklist.c: New file.
33029
33030 * DISTLIST: Added commands/blocklist.c.
33031
33032 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33033 color for the background, and a darker color for the foreground.
89a7d726 33034 (grub_console_checkkey): Return READ_KEY.
33035 (grub_console_cls): Set the background to
33036 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33037
33038 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33039
33040 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33041 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33042
33043 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33044 prototype.
33045
33046 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33047 BG. The spec is wrong again.
33048
33049 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33050 prototype.
33051 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33052
33053 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33054 commands/blocklist.c.
33055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33056
89a7d726 33057 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33058 (blocklist_mod_SOURCES): New variable.
33059 (blocklist_mod_CFLAGS): Likewise.
33060 (blocklist_mod_LDFLAGS): Likewise.
33061
75c8f258 330622006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33063
33064 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33065 duplication.
33066 (lba_mode): Use %eax more intensively to reduce the code size.
33067
da2eb181 330682006-05-20 Marco Gerards <marco@gnu.org>
33069
33070 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33071
33072 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33073 for `menuentry'.
33074 (script): Accept leading newlines.
33075 (newlines): New rule to describe 0 or more newlines.
33076 (commands): Accept `command' with trailing newline. Fixed the
33077 order in which arguments were passed to `grub_script_add_cmd'.
33078 Accept commands separated by newlines.
33079 (function): Changed to accept newlines.
33080 (menuentry) Rewritten.
33081
33082 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33083 front of the list, instead of to the end.
33084
577b4050 330852006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33086
33087 * util/i386/pc/grub-install.in (bindir): New variable.
33088 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33089 Shaver <lbgwjl@gmail.com>.
33090
0d6e1189 330912006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33092
33093 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33094 grub/machine/linux.h
33095 * loader/i386/pc/linux.c: Likewise.
33096
33097 * include/grub/i386/pc/linux.h: Moved to ...
33098 * include/grub/i386/linux.h: ... here.
33099
33100 * include/grub/i386/linux.h (struct linux_kernel_params): New
33101 struct.
f19dbdb7 33102
31b86e9f 331032006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33104
33105 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33106 checking.
33107 (grub_video_vbe_blit_glyph): Likewise.
33108 (grub_video_vbe_blit_bitmap): Likewise.
33109 (grub_video_vbe_blit_render_target): Likewise.
33110
83b984de 331112006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33112
33113 * configure.ac (--with-platform): Properly quote the square
33114 brackets.
33115
5f0413bd 331162006-05-08 Marco Gerards <marco@gnu.org>
33117
33118 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33119 this...
33120 (kernel_elf_HEADERS): ...to this. Updated all users.
33121 (grubof_symlist.c): Renamed from this...
33122 (kernel_elf_symlist.c): ...to this. Updated all users.
33123 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33124 (grubof_SOURCES): Renamed from this...
33125 (kernel_elf_SOURCES): ...to this.
33126 (grubof_HEADERS): Renamed from this...
33127 (kernel_elf_HEADERS): ...to this.
33128 (grubof_CFLAGS): Renamed from this...
33129 (kernel_elf_CFLAGS): ...to this.
33130 (grubof_ASFLAGS): Renamed from this...
33131 (kernel_elf_ASFLAGS): ...to this.
33132 (grubof_LDFLAGS): Renamed from this...
33133 (kernel_elf_LDFLAGS): ...to this.
33134
33135 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33136 this...
33137 (kernel_elf_HEADERS): ...to this. Updated all users.
33138 (grubof_symlist.c): Renamed from this...
33139 (kernel_elf_symlist.c): ...to this. Updated all users.
33140 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33141 (grubof_SOURCES): Renamed from this...
33142 (kernel_elf_SOURCES): ...to this.
33143 (grubof_HEADERS): Renamed from this...
33144 (kernel_elf_HEADERS): ...to this.
33145 (grubof_CFLAGS): Renamed from this...
33146 (kernel_elf_CFLAGS): ...to this.
33147 (grubof_ASFLAGS): Renamed from this...
33148 (kernel_elf_ASFLAGS): ...to this.
33149 (grubof_LDFLAGS): Renamed from this...
33150 (kernel_elf_LDFLAGS): ...to this.
33151
33152 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33153 `kernel.elf' instead of `grubof'.
33154
05568c2e 331552006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33156
33157 Add --with-platform to configure. Use pkglibdir instead of
33158 pkgdatadir. This is reported by Roger Leigh.
33159
33160 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33161 (host_vendor): Likewise.
33162 (host_os): Likewise.
33163 (pkgdatadir): Likewise.
33164 (platform): New variable.
33165 (pkglibdir): Likewise.
33166 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33167
05568c2e 33168 * util/i386/pc/grub-install.in (datadir): Removed.
33169 (host_vendor): Likewise.
33170 (host_os): Likewise.
33171 (pkgdatadir): Likewise.
33172 (platform): New variable.
33173 (pkglibdir): Likewise.
33174 Use PKGLIBDIR instead of PKGDATADIR.
33175
33176 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33177 instead of GRUB_DATADIR.
33178 (main): Likewise.
33179 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33180 (main): Likewise.
33181 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33182 (main): Likewise.
33183
33184 * configure.ac (--with-platform): New option.
33185 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33186
33187 * Makefile.in: Include a makefile based on PLATFORM instead of
33188 HOST_VENDOR.
33189 (pkgdatadir): Not appended by the machine type.
33190 (pkglibdir): Appended by the machine type.
33191 (host_vendor): Removed.
33192 (platform): New variable.
33193 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33194 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33195 (uninstall): Likewise.
33196
4e93851c 331972006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33198
33199 Use the environment context in the menu. Remove the commands
33200 "default" and "timeout", and use variables instead.
f19dbdb7 33201
4e93851c 33202 * normal/menu.c: Include grub/env.h.
33203 (print_entry): Cast TITLE to silence gcc.
33204 (get_timeout): New function.
33205 (set_timeout): Likewise.
33206 (get_entry_number): Likewise.
33207 (run_menu): Use a default entry, a fallback entry and a timeout
33208 in the environment variables "default", "fallback" and
33209 "timeout". Also, tweak the default entry if it is not within the
33210 current menu entries.
33211 (grub_menu_run): Use a fallback entry in the environment variable
33212 "fallback".
33213
33214 * normal/main.c (read_config_file): Do not initialize
33215 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33216 NEWMENU->TIMEOUT.
33217 (grub_normal_execute): Use a data slot to store the menu.
33218
33219 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33220 fallback_entry and timeout.
33221 (struct grub_menu_list): Removed.
33222 (grub_menu_list_t): Likewise.
33223 (struct grub_context): Likewise.
33224 (grub_context_t): Likewise.
33225 (grub_context_get): Likewise.
33226 (grub_context_get_current_menu): Likewise.
33227 (grub_context_push_menu): Likewise.
33228 (grub_context_pop_menu): Likewise.
33229 (grub_default_init): Likewise.
33230 (grub_default_fini): Likewise.
33231 (grub_timeout_init): Likewise.
33232 (grub_timeout_fini): Likewise.
33233
33234 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33235 and timeout.mod.
33236 (normal_mod_SOURCES): Removed normal/context.c.
33237
33238 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33239 commands/default.c, commands/timeout.c and normal/context.c.
33240 (normal_mod_SOURCES): Removed normal/context.c.
33241
33242 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33243 commands/timeout.c and normal/context.c.
33244 (normal_mod_SOURCES): Removed normal/context.c.
33245
33246 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33247 commands/default.c, commands/timeout.c and normal/context.c.
33248 (normal_mod_SOURCES): Removed normal/context.c.
33249
33250 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33251 timeout.mod.
33252 (default_mod_SOURCES): Removed.
33253 (default_mod_CFLAGS): Likewise.
33254 (default_mod_LDFLAGS): Likewise.
33255 (timeout_mod_SOURCES): Removed.
33256 (timeout_mod_CFLAGS): Likewise.
33257 (timeout_mod_LDFLAGS): Likewise.
33258
33259 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33260 normal/context.c.
33261
33262 * commands/default.c: Removed.
33263 * commands/timeout.c: Likewise.
33264 * normal/context.c: Likewise.
33265
1eb9cc1d 332662006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33267
33268 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33269
385bd9c1 332702006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33271
33272 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33273 "next" to "prev" for readability.
33274 (struct grub_env_sorted_var): New struct.
33275 (grub_env_context): Renamed to ...
33276 (initial_context): ... this.
33277 (grub_env_var_context): Renamed to ...
33278 (current_context): ... this.
33279 (grub_env_find): Look only at CURRENT_CONTEXT.
33280 (grub_env_context_open): Rewritten to copy exported variables from
33281 previous context.
33282 (grub_env_context_close): Rewritten according to the new
33283 scheme. Also, add an assertion to prevent the initial context from
33284 removed.
33285 (grub_env_insert): Removed the code for the sorted list.
33286 (grub_env_remove): Likewise.
33287 (grub_env_export): Simply mark the variable with
33288 GRUB_ENV_VAR_GLOBAL.
33289 (grub_env_set): A cosmetic change for naming consistency.
33290 (grub_env_get): Likewise.
33291 (grub_env_unset): Likewise.
33292 (grub_env_iterate): Rewritten to sort variables within this
33293 function.
33294 (grub_register_variable_hook): Fixed for naming consistency. Call
33295 grub_env_find again, only if NAME is not found at the first time.
33296 (mangle_data_slot_name): New function.
33297 (grub_env_set_data_slot): Likewise.
33298 (grub_env_get_data_slot): Likewise.
33299 (grub_env_unset_data_slot): Likewise.
33300
33301 * include/grub/env.h (grub_env_var_type): New enum.
33302 (GRUB_ENV_VAR_LOCAL): New constant.
33303 (GRUB_ENV_VAR_GLOBAL): Likewise.
33304 (GRUB_ENV_VAR_DATA): Likewise.
33305 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33306 "type".
33307 (grub_env_set): Replace VAR with NAME for consistency.
33308 (grub_register_variable_hook): Likewise.
33309 (grub_env_export): Specify the name of the argument.
33310 (grub_env_set_data_slot): New prototype.
33311 (grub_env_get_data_slot): Likewise.
33312 (grub_env_unset_data_slot): Likewise.
33313
7f362539 333142006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33315
33316 Extend the loader so that GRUB can accept a loader which comes
33317 back to GRUB when a loaded image exits. Also, this change adds
33318 support for a chainloader on EFI.
f19dbdb7 33319
7f362539 33320 * term/efi/console.c: Include grub/misc.h.
33321 (grub_console_checkkey): Display a scan code on the top for
33322 debugging. This will be removed once the EFI port gets stable.
33323 Correct the scan code mapping.
33324
33325 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33326 allocate memory from larger regions, in order to reduce the number
33327 of allocated regions. Otherwise, the MacOSX loader panics.
33328 (filter_memory_map): Avoid less than 1MB for compatibility with
33329 other loaders.
33330 (add_memory_regions): Allocate from the tail of a region, if
33331 possible, to avoid allocating a region near to 1MB, for the MacOSX
33332 loader.
33333
33334 * kern/efi/init.c (grub_efi_set_prefix): Specify
33335 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33336
33337 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33338 argument IMAGE_HANDLE and specify it to get a loaded image.
33339 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33340 grub_efi_get_loaded_image.
fe6b695a 33341 (grub_efi_get_filename): Divide the length by the size of
7f362539 33342 grub_efi_char16_t.
33343 (grub_efi_get_device_path): New function.
33344 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33345 the length by the size of grub_efi_char16_t for a file path device
33346 path node.
33347
33348 * kern/loader.c (grub_loader_noreturn): New variable.
33349 (grub_loader_set): Accept a new argument NORETURN. Set
33350 GRUB_LOADER_NORETURN to NORETURN.
33351 All callers changed.
33352 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33353 grub_machine_fini.
33354
33355 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33356 prototype.
33357 (grub_efi_get_loaded_image): Take an argument to specify an image
33358 handle.
33359
33360 * include/grub/loader.h (grub_loader_set): Added one more argument
33361 NORETURN.
33362
33363 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33364 instead of grub_efi_open_protocol.
33365 (grub_efidisk_get_device_name): Likewise.
33366 (grub_efidisk_close): Print a newline.
33367 (grub_efidisk_get_device_handle): Fixed to use
33368 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33369 GRUB_EFI_DEVICE_PATH_TYPE.
33370
33371 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33372 * kern/efi/efi.c (device_path_guid): ... here.
33373
33374 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33375 chain.mod.
33376 (kernel_mod_HEADERS): Added efi/disk.h.
33377 (_chain_mod_SOURCES): New variable.
33378 (_chain_mod_CFLAGS): Likewise.
33379 (_chain_mod_LDFLAGS): Likewise.
33380 (chain_mod_SOURCES): Likewise.
33381 (chain_mod_CFLAGS): Likewise.
33382 (chain_mod_LDFLAGS): Likewise.
33383
33384 * DISTLIST: Added include/grub/efi/chainloader.h,
33385 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33386
33387 * include/grub/efi/chainloader.h: New file.
33388 * loader/efi/chainloader.c: Likewise.
33389 * loader/efi/chainloader_normal.c: Likewise.
33390
c0111d6e 333912006-04-30 Marco Gerards <marco@gnu.org>
33392
33393 * commands/configfile.c (grub_cmd_source): New function.
33394 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33395 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33396
df5341da 333972006-04-30 Marco Gerards <marco@gnu.org>
33398
33399 * normal/execute.c (grub_script_execute_cmd): Change the return
33400 type to `grub_err_t'. Correctly return the error.
33401 (grub_script_execute_cmdline): In case a command line is not a
33402 command or a function, try to interpret it as an assignment.
33403
f85934bd 334042006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33405
33406 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33407 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33408 skip a node whose name is obviously invalid as UTF-16,
33409 i.e. contains a NUL character. Stop the iteration when the last
33410 directory entry is found. Instead of using the return value of
33411 grub_hfsplus_btree_iterate_node, store the value in RET and use
33412 it, because the iterator can be stopped by the last directory
33413 entry.
33414
8f8a2cf8 334152006-04-30 Marco Gerards <marco@gnu.org>
33416
33417 * include/grub/env.h (grub_env_export): New prototype. Reported
33418 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33419
a27e84ce 334202006-04-30 Marco Gerards <marco@gnu.org>
33421
33422 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33423 size of the extents in a catalog file record.
33424
eaef0553 334252006-04-29 Marco Gerards <marco@gnu.org>
33426
33427 * commands/configfile.c (grub_cmd_configfile): Execute the
33428 configfile within its own context.
33429
33430 * include/grub/env.h (grub_env_context_open): New prototype.
33431 (grub_env_context_close): Likewise.
33432
33433 * kern/env.c (grub_env): Removed.
33434 (grub_env_sorted): Likewise.
33435 (grub_env_context): New variable.
33436 (grub_env_var_context): Likewise.
33437 (grub_env_find): Search both the active context and the global
33438 context.
33439 (grub_env_context_open): New function.
33440 (grub_env_context_close): Likewise.
33441 (grub_env_insert): Likewise.
33442 (grub_env_remove): Likewise.
33443 (grub_env_export): Likewise.
33444 (grub_env_set): Changed to use helper functions to avoid code
33445 duplication.
33446 (grub_env_iterate): Rewritten so both the current context and the
33447 global context are being used.
33448
33449 * normal/command.c (export_command): New function.
33450 (grub_command_init): Register the `export' function.
33451
7b455f4d 334522006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33453
33454 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33455 explicitly to suppress gcc's warnings.
33456 * fs/fat.c (grub_fat_find_dir): Likewise.
33457 (grub_fat_label): Likewise.
33458 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33459 (grub_xfs_mount): Likewise.
33460 (grub_xfs_label): Likewise.
33461 * fs/affs.c (grub_affs_mount): Likewise.
33462 (grub_affs_label): Likewise.
33463 (grub_affs_iterate_dir): Likewise.
33464 * fs/sfs.c (grub_sfs_mount): Likewise.
33465 (grub_sfs_iterate_dir): Likewise.
33466 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33467 * fs/hfs.c (grub_hfs_mount): Likewise.
33468 (grub_hfs_cmp_catkeys): Likewise.
33469 (grub_hfs_find_dir): Likewise.
33470 (grub_hfs_dir): Likewise.
33471 (grub_hfs_label): Likewise.
33472 * fs/jfs.c (grub_jfs_mount): Likewise.
33473 (grub_jfs_opendir): Likewise.
33474 (grub_jfs_getent): Likewise.
33475 (grub_jfs_lookup_symlink): Likewise.
33476 (grub_jfs_label): Likewise.
33477 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33478 (grub_hfsplus_iterate_dir): Likewise.
33479 (grub_hfsplus_btree_iterate_node): Made static.
33480
33481 * util/grub-emu.c (prefix): New variable.
33482 (grub_machine_set_prefix): New function.
33483 (main): Do not set the environment variable "prefix" here. Only
33484 set PREFIX, which is used later by grub_machine_set_prefix.
33485
33486 * include/grub/video.h: Do not include grub/symbol.h.
33487 (grub_video_register): Not exported. This symbol is not defined in
33488 the kernel.
33489 (grub_video_unregister): Likewise.
33490 (grub_video_iterate): Likewise.
33491 (grub_video_setup): Likewise.
33492 (grub_video_restore): Likewise.
33493 (grub_video_get_info): Likewise.
33494 (grub_video_get_blit_format): Likewise.
33495 (grub_video_set_palette): Likewise.
33496 (grub_video_get_palette): Likewise.
33497 (grub_video_set_viewport): Likewise.
33498 (grub_video_get_viewport): Likewise.
33499 (grub_video_map_color): Likewise.
33500 (grub_video_map_rgb): Likewise.
33501 (grub_video_map_rgba): Likewise.
33502 (grub_video_fill_rect): Likewise.
33503 (grub_video_blit_glyph): Likewise.
33504 (grub_video_blit_bitmap): Likewise.
33505 (grub_video_blit_render_target): Likewise.
33506 (grub_video_scroll): Likewise.
33507 (grub_video_swap_buffers): Likewise.
33508 (grub_video_create_render_target): Likewise.
33509 (grub_video_delete_render_target): Likewise.
33510 (grub_video_set_active_render_target): Likewise.
33511
33512 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33513 Undefined.
33514 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33515
33516 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33517 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33518 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33519 instead of $(srcdir)/genkernsyms.sh.
33520
33521 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33522 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33523 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33524 instead of $(srcdir)/genkernsyms.sh.
33525
33526 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33527 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33528 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33529 instead of $(srcdir)/genkernsyms.sh.
33530
33531 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33532 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33533 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33534 instead of $(srcdir)/genkernsyms.sh.
33535
33536 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33537 genkernsyms.sh.
33538
33539 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33540 genkernsyms.sh.
33541 (gensymlist.sh): New target.
33542 (genkernsyms.sh): Likewise.
33543
33544 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33545 genkernsyms.sh.in and gensymlist.sh.in.
33546
33547 * genkernsyms.sh: Removed.
33548 * gensymlist.sh: Likewise.
f19dbdb7 33549
7b455f4d 33550 * genkernsyms.sh.in: New file.
33551 * gensymlist.sh.in: Likewise.
33552
1885bb27 335532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33554
33555 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33556 clobber "prefix", since we may have already set it manually.
33557
71538dff 335582006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33559
33560 * kern/misc.c (abort): New alias for grub_abort.
33561
2965c7cc 335622006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33563
33564 A new machine-specific function "grub_machine_set_prefix" is
33565 defined. This is called after loading modules, so that a prefix
33566 initialization can use modules. Also, this change adds an
33567 intensive debugging feature for the memory manager via the
33568 configure option "--enable-mm-debug".
f19dbdb7 33569
2965c7cc 33570 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33571 PART.LEN.
33572
33573 * kern/sparc64/ieee1275/init.c (abort): Removed.
33574 (grub_stop): Likewise.
33575 (grub_exit): New function.
33576 (grub_set_prefix): Renamed to ...
33577 (grub_machine_set_prefix): ... this.
33578 (grub_machine_init): Do not call grub_set_prefix.
33579
33580 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33581 (grub_machine_set_prefix): ... this.
33582 (grub_machine_init): Do not call grub_set_prefix.
33583
33584 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33585 (grub_machine_init): Do not set the prefix here.
33586
33587 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33588
33589 * kern/efi/init.c: Include grub/mm.h.
33590 (grub_efi_set_prefix): New function.
33591
33592 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33593 (grub_efi_get_filename): New function.
33594 (grub_print_device_path): Renamed to ...
33595 (grub_efi_print_device_path): ... this.
33596
33597 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33598 [MM_DEBUG] (grub_realloc): Likewise.
33599 [MM_DEBUG] (grub_free): Likewise.
33600 [MM_DEBUG] (grub_memalign): Likewise.
33601 [MM_DEBUG] (grub_mm_debug): New variable.
33602 [MM_DEBUG] (grub_debug_malloc): New function.
33603 [MM_DEBUG] (grub_debug_free): New function.
33604 [MM_DEBUG] (grub_debug_realloc): New function.
33605 [MM_DEBUG] (grub_debug_memalign): New function.
33606
33607 * kern/misc.c (grub_abort): Print a newline to distinguish
33608 the message.
33609
33610 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33611 grub_set_root_dev after loading modules. This is necessary when
33612 setting a prefix depends on modules.
33613
33614 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33615 (grub_efi_print_device_path): ... this.
33616 (grub_efi_get_filename): New prototype.
33617 (grub_efi_set_prefix): Likewise.
33618
33619 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33620 and grub/disk.h.
33621 (grub_efidisk_get_device_handle): New prototype.
33622 (grub_efidisk_get_device_name): Likewise.
33623
33624 * include/grub/mm.h: Include config.h.
33625 (MM_DEBUG): Removed.
33626 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33627 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33628 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33629 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33630 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33631 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33632 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33633 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33634 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33635
33636 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33637
33638 * disk/efi/efidisk.c: Include grub/partition.h.
33639 (iterate_child_devices): New function.
33640 (add_device): First, compare only last device path nodes, so that
33641 devices are sorted by the types.
33642 (grub_efidisk_get_device_handle): New function.
33643 (grub_efidisk_get_device_name): Likewise.
33644
33645 * configure.ac (--enable-mm-debug): New option to enable the
33646 memory manager debugging feature. This makes the binary much
33647 bigger, so is disabled by default.
33648
9cacaa17 336492006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33650
33651 Use grub_abort instead of grub_stop, and grub_exit must be
33652 define in each architecture now. Also, this change adds support
33653 for EFI disks.
f19dbdb7 33654
9cacaa17 33655 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33656 (grub_getkey): New function.
33657 (grub_term_get_current): Likewise.
33658
33659 * util/i386/pc/grub-setup.c: Include grub/term.h.
33660 (grub_getkey): New function.
33661 (grub_term_get_current): Likewise.
33662
33663 * util/misc.c (grub_stop): Renamed to ...
33664 (grub_exit): ... this.
33665
33666 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33667 (grub_exit): ... this.
33668 (grub_machine_init): Use grub_abort instead of abort.
33669 (grub_stop): Removed.
33670
33671 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33672 abort.
33673
33674 * kern/i386/pc/startup.S (grub_exit): New function.
33675 (cold_reboot): New label.
33676
33677 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33678 (grub_efi_init): Call grub_efidisk_init.
33679 (grub_efi_fini): Call grub_efidisk_fini.
33680
33681 * kern/efi/efi.c: Include grub/mm.h.
33682 (grub_efi_console_control_guid): Renamed to ...
33683 (console_control_guid): ... this.
33684 (grub_efi_loaded_image_guid): Renamed to ...
33685 (loaded_image_guid): ... this.
33686 (grub_efi_locate_handle): New function.
33687 (grub_efi_open_protocol): Likewise.
33688 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33689 GRUB_EFI_CONSOLE_CONTROL_GUID.
33690 (grub_efi_exit): Removed.
33691 (grub_stop): Likewise.
33692 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33693 (grub_exit): New function.
33694 (grub_print_device_path): Likewise.
33695
33696 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33697 (grub_enter_rescue_mode): Register "exit".
33698
33699 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33700 (grub_abort): New function.
33701
33702 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33703
33704 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
33705
33706 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
33707
33708 * include/grub/efi/efi.h (grub_efi_exit): Removed.
33709 (grub_print_device_path): New prototype.
33710 (grub_efi_locate_handle): Likewise.
33711 (grub_efi_open_protocol): Likewise.
33712
33713 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
33714 * disk/efi/efidisk.c: Likewise.
33715
33716 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
33717
33718 * include/grub/efi/console_control.h
33719 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
33720
33721 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
33722 last 8 bytes as an array.
33723 (GRUB_EFI_DISK_IO_GUID): New macro.
33724 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
33725 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
33726 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
33727 grub_uint8_t.
33728 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
33729 (struct grub_efi_device_path): Rename the member "sub_type" to
33730 "subtype".
33731 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
33732 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
33733 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
33734 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
33735 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
33736 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
33737 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
33738 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
33739 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
33740 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
33741 (struct grub_efi_pci_device_path): New structure.
33742 (grub_efi_pci_device_path_t): New type.
33743 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
33744 (struct grub_efi_pccard_device_path): New structure.
33745 (grub_efi_pccard_device_path_t): New type.
33746 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
33747 (struct grub_efi_memory_mapped_device_path): New structure.
33748 (grub_efi_memory_mapped_device_path_t): New type.
33749 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
33750 (struct grub_efi_vendor_device_path): New structure.
33751 (grub_efi_vendor_device_path_t): New type.
33752 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
33753 (struct grub_efi_controller_device_path): New structure.
33754 (grub_efi_controller_device_path_t): New type.
33755 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
33756 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
33757 (struct grub_efi_acpi_device_path): New structure.
33758 (grub_efi_acpi_device_path_t): New type.
33759 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
33760 (struct grub_efi_expanded_acpi_device_path): New structure.
33761 (grub_efi_expanded_acpi_device_path_t): New type.
33762 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
33763 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
33764 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
33765 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
33766 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
33767 (struct grub_efi_atapi_device_path): New structure.
33768 (grub_efi_atapi_device_path_t): New type.
33769 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
33770 (struct grub_efi_fibre_channel_device_path): New structure.
33771 (grub_efi_fibre_channel_device_path_t): New type.
33772 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
33773 (struct grub_efi_1394_device_path): New structure.
33774 (grub_efi_1394_device_path_t): New type.
33775 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
33776 (struct grub_efi_usb_device_path): New structure.
33777 (grub_efi_usb_device_path_t): New type.
33778 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
33779 (struct grub_efi_usb_class_device_path): New structure.
33780 (grub_efi_usb_class_device_path_t): New type.
33781 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
33782 (struct grub_efi_i2o_device_path): New structure.
33783 (grub_efi_i2o_device_path_t): New type.
33784 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
33785 (struct grub_efi_mac_address_device_path): New structure.
33786 (grub_efi_mac_address_device_path_t): New type.
33787 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
33788 (struct grub_efi_ipv4_device_path): New structure.
33789 (grub_efi_ipv4_device_path_t): New type.
33790 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
33791 (struct grub_efi_ipv6_device_path): New structure.
33792 (grub_efi_ipv6_device_path_t): New type.
33793 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
33794 (struct grub_efi_infiniband_device_path): New structure.
33795 (grub_efi_infiniband_device_path_t): New type.
33796 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
33797 (struct grub_efi_uart_device_path): New structure.
33798 (grub_efi_uart_device_path_t): New type.
33799 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
33800 (struct grub_efi_vendor_messaging_device_path): New structure.
33801 (grub_efi_vendor_messaging_device_path_t): New type.
33802 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
33803 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
33804 (struct grub_efi_hard_drive_device_path): New structure.
33805 (grub_efi_hard_drive_device_path_t): New type.
33806 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
33807 (struct grub_efi_cdrom_device_path): New structure.
33808 (grub_efi_cdrom_device_path_t): New type.
33809 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
33810 (struct grub_efi_vendor_media_device_path): New structure.
33811 (grub_efi_vendor_media_device_path_t): New type.
33812 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
33813 (struct grub_efi_file_path_device_path): New structure.
33814 (grub_efi_file_path_device_path_t): New type.
33815 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
33816 (struct grub_efi_protocol_device_path): New structure.
33817 (grub_efi_protocol_device_path_t): New type.
33818 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
33819 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
33820 (struct grub_efi_bios_device_path): New structure.
33821 (grub_efi_bios_device_path_t): New type.
33822 (struct grub_efi_disk_io): New structure.
33823 (grub_efi_disk_io_t): New type.
33824 (struct grub_efi_block_io_media): New structure.
33825 (grub_efi_block_io_media_t): New type.
33826 (struct grub_efi_block_io): New structure.
33827 (grub_efi_block_io_t): New type.
33828
33829 * include/grub/misc.h (grub_stop): Removed.
33830 (grub_exit): New prototype.
33831 (grub_abort): Likewise.
33832
33833 * include/grub/disk.h (enum grub_disk_dev_id): Added
33834 GRUB_DISK_DEVICE_EFIDISK_ID.
33835
33836 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
33837 disk/efi/efidisk.c.
33838 (kernel_syms.lst): Remove the target if an error occurs.
33839
49986a9f 338402006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
33841
33842 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
33843 as it was simply too buggy.
33844
970d3b8a 338452006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
33846
33847 * kern/misc.c (grub_lltoa): New function.
33848 (grub_vsprintf): Added support for the long long suffix,
33849 i.e. "ll".
33850
ff04ec24 338512006-04-20 Hollis Blanchard <hollis@penguinppc.org>
33852
33853 * Makefile.in (LDFLAGS): Add variable.
33854 (LD): Remove variable.
33855 * configure.ac: Add -m32 to LDFLAGS.
33856 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
33857 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
33858 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
33859 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
33860 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
33861 variables.
33862 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
33863 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
33864 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
33865
37e5e1a4 338662006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
33867
33868 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
33869 length for unknown glyph.
33870
c352d8dd 338712006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
33872
2eab1c0d 33873 Add support for pre-loaded modules into the EFI port.
f19dbdb7 33874
2eab1c0d 33875 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
33876 completely. Accept one more argument DIR. The caller has changed.
33877
33878 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
33879
33880 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
33881 (grub_efi_loaded_image_guid): New variable.
33882 (grub_efi_get_loaded_image): New function.
33883 (grub_arch_modules_addr): Likewise.
33884
33885 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
33886 prototype.
33887
33888 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
33889 (struct grub_efi_loaded_image): New structure.
33890 (grub_efi_loaded_image_t): New type.
33891
338922006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33893
c352d8dd 33894 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
33895 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
33896 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
33897
6d01d6b4 338982006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
33899
33900 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
33901
976a4ea0 339022006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
33903
33904 * DISTLIST: Added include/grub/efi/console.h,
33905 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
33906 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33907
33908 * include/grub/efi/console.h: New file.
33909 * include/grub/efi/time.h: Likewise.
33910 * include/grub/i386/efi/kernel.h: Likewise.
33911 * kern/efi/init.c: Likewise.
33912 * kern/efi/mm.c: Likewise.
33913 * term/efi/console.c: Likewise.
f19dbdb7 33914
976a4ea0 33915 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
33916 (grub_stop): Removed.
33917 (grub_get_rtc): Likewise.
33918 (grub_machine_init): Simply call grub_efi_init.
33919 (grub_machine_fini): Call grub_efi_fini.
33920
33921 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
33922 (grub_efi_output_string): Removed.
33923 (grub_efi_stall): New function.
33924 (grub_stop): Likewise.
33925 (grub_get_rtc): Likewise.
33926
33927 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
33928 (grub_efi_stall): New prototype.
33929 (grub_efi_allocate_pages): Likewise.
33930 (grub_efi_free_pages): Likewise.
33931 (grub_efi_get_memory_map): Likewise.
33932 (grub_efi_mm_init): Likewise.
33933 (grub_efi_mm_fini): Likewise.
33934 (grub_efi_init): Likewise.
33935 (grub_efi_fini): Likewise.
33936
33937 * include/grub/i386/efi/time.h: Do not include
33938 grub/symbol.h. Include grub/efi/time.h.
33939 (GRUB_TICKS_PER_SECOND): Removed.
33940 (grub_get_rtc): Likewise.
33941
33942 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
33943 Added padding. The EFI spec is buggy.
33944 (GRUB_EFI_BLACK): New macro.
33945 (GRUB_EFI_BLUE): Likewise.
33946 (GRUB_EFI_GREEN): Likewise.
33947 (GRUB_EFI_CYAN): Likewise.
33948 (GRUB_EFI_RED): Likewise.
33949 (GRUB_EFI_MAGENTA): Likewise.
33950 (GRUB_EFI_BROWN): Likewise.
33951 (GRUB_EFI_LIGHTGRAY): Likewise.
33952 (GRUB_EFI_BRIGHT): Likewise.
33953 (GRUB_EFI_DARKGRAY): Likewise.
33954 (GRUB_EFI_LIGHTBLUE): Likewise.
33955 (GRUB_EFI_LIGHTGREEN): Likewise.
33956 (GRUB_EFI_LIGHTCYAN): Likewise.
33957 (GRUB_EFI_LIGHTRED): Likewise.
33958 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33959 (GRUB_EFI_YELLOW): Likewise.
33960 (GRUB_EFI_WHITE): Likewise.
33961 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33962 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33963 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33964 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33965 (GRUB_EFI_BACKGROUND_RED): Likewise.
33966 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33967 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33968 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33969 (GRUB_EFI_TEXT_ATTR): Likewise.
33970
33971 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33972 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33973 (kernel_mod_HEADERS): Added efi/time.h.
33974
83709125 339752006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33976
33977 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33978 include/grub/efi/api.h, include/grub/efi/console_control.h,
33979 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33980 include/grub/i386/efi/time.h, kern/efi/efi.c,
33981 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33982 and util/i386/efi/grub-mkimage.c.
33983
33984 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33985
33986 * genmk.rb (PModule#rule): Do not export symbols if
33987 #{prefix}_EXPORTS is set to "no".
33988
33989 * conf/i386-efi.mk: New file.
33990 * conf/i386-efi.rmk: Likewise.
33991 * include/grub/efi/api.h: Likewise.
33992 * include/grub/efi/console_control.h: Likewise.
33993 * include/grub/efi/efi.h: Likewise.
33994 * include/grub/efi/pe32.h: Likewise.
33995 * include/grub/i386/efi/time.h: Likewise.
33996 * kern/efi/efi.c: Likewise.
33997 * kern/i386/efi/init.c: Likewise.
33998 * kern/i386/efi/startup.S: Likewise.
33999 * util/i386/efi/grub-mkimage.c: Likewise.
34000
340012006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 34002
34003 * include/grub/script.h: Include <grub/parser.h> and
34004 "grub_script.tab.h".
34005 (struct grub_lexer_param): New struct.
34006 (struct grub_parser_param): Likewise.
34007 (grub_script_create_arglist): Pass the state in an argument.
34008 (grub_script_add_arglist): Likewise.
34009 (grub_script_create_cmdline): Likewise.
34010 (grub_script_create_cmdblock): Likewise.
34011 (grub_script_create_cmdif): Likewise.
34012 (grub_script_create_cmdmenu): Likewise.
34013 (grub_script_add_cmd): Likewise.
34014 (grub_script_arg_add): Likewise.
34015 (grub_script_lexer_ref): Likewise.
34016 (grub_script_lexer_deref): Likewise.
34017 (grub_script_lexer_record_start): Likewise.
34018 (grub_script_lexer_record_stop): Likewise.
34019 (grub_script_mem_record): Likewise.
34020 (grub_script_mem_record_stop): Likewise.
34021 (grub_script_malloc): Likewise.
34022 (grub_script_yylex): Likewise.
34023 (grub_script_yyparse): Likewise.
34024 (grub_script_yyerror): Likewise.
34025 (grub_script_yylex): Likewise.
34026 (grub_script_lexer_init): Return the state.
34027
34028 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34029 (grub_script_lexer_done): Likewise.
34030 (grub_script_lexer_getline): Likewise.
34031 (grub_script_lexer_refs): Likewise.
34032 (script): Likewise.
34033 (newscript): Likewise.
34034 (record): Likewise.
34035 (recording): Likewise.
34036 (recordpos): Likewise.
34037 (recordlen): Likewise.
34038 (grub_script_lexer_init): Return the state instead of setting
34039 global variables.
34040 (grub_script_lexer_ref): Use the newly added argument for state
34041 instead of globals.
34042 (grub_script_lexer_deref): Likewise.
34043 (grub_script_lexer_record_start): Likewise.
34044 (grub_script_lexer_record_stop): Likewise.
34045 (recordchar): Likewise.
34046 (nextchar): Likewise.
34047 (grub_script_yylex2): Likewise.
34048 (grub_script_yylex): Likewise.
34049 (grub_script_yyerror): Likewise.
34050
34051 * normal/parser.y (func_mem): Removed variable.
34052 (menu_entry): Likewise.
34053 (err): Likewise.
34054 (%lex-param): New parser option.
34055 (%parse-param): Likewise.
34056 (script): Always return the AST.
34057 (argument): Pass the state around.
34058 (arguments): Likewise.
34059 (grubcmd): Likewise.
34060 (commands): Likewise.
34061 (function): Likewise.
34062 (menuentry): Likewise.
34063 (if_statement): Likewise.
34064 (if): Likewise.
34065
34066 * normal/script.c (grub_script_memused): Removed variable.
34067 (grub_script_parsed): Likewise.
34068 (grub_script_malloc): Added a state argument. Use that instead of
34069 global variables.
34070 (grub_script_mem_record): Likewise.
34071 (grub_script_mem_record_stop): Likewise.
34072 (grub_script_arg_add): Likewise.
34073 (grub_script_add_arglist): Likewise.
34074 (grub_script_create_cmdline): Likewise.
34075 (grub_script_create_cmdif): Likewise.
34076 (grub_script_create_cmdmenu): Likewise.
34077 (grub_script_add_cmd): Likewise.
34078 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34079
e2a8c904 340802006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34081
34082 * normal/command.c (grub_command_init): Remove the title command.
34083
34084 * normal/lexer.c (grub_script_yylex): Renamed from this...
34085 (grub_script_yylex2): ... to this.
34086 (grub_script_yylex): New function. Temporary
34087 introduced to filter some tokens.
34088 (grub_script_yyerror): Print a newline.
34089
34090 * normal/main.c (read_config_file): Output information about the
34091 lines that contain errors. Wait for a key after all lines have
34092 been processed. Don't return an empty menu.
34093
34094 * normal/parser.y (func_mem): Don't initialize.
34095 (menu_entry): Likewise.
34096 (err): New variable.
34097 (script): Don't return anything when an error was encountered.
34098 (ws, returns): Removed rules.
34099 (argument): Disabled concatenated variable support.
34100 (arguments): Remove explicit separators.
34101 (grubcmd): Likewise.
34102 (function): Likewise.
34103 (menuentry): Likewise.
34104 (if): Likewise.
34105 (commands): Likewise. Add error handling.
34106
34107 * normal/script.c (grub_script_create_cmdline): If
34108 `grub_script_parsed' is 0, assume the parser encountered an error.
34109
c9a86192 341102006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34111
34112 * configure.ac: Add support for EFI. Fix the typo
34113 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34114
70f3b243 341152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34116
34117 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34118 foreign multibyte characters should be shown correctly.
34119
65f201ad 341202006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34121
34122 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34123 calculation.
34124 (read_config_file): Made it to close file before returning.
34125
b4b93674 341262006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34127
34128 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34129 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34130 video/i386/pc/vbefill.c.
34131
34132 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34133 video/i386/pc/vbefill.c.
34134
34135 * include/grub/video.h (grub_video_blit_format): New enum.
34136 (grub_video_mode_info): Added new member blit_format.
34137 (grub_video_get_blit_format): New function prototype.
34138
34139 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34140 function prototype.
34141 (grub_video_vbe_map_rgb): Likewise.
34142 (grub_video_vbe_unmap_color): Likewise.
34143
34144 * include/grub/i386/pc/vbeblit.h: New file.
34145
34146 * include/grub/i386/pc/vbefill.h: New file.
34147
34148 * video/video.c (grub_video_get_blit_format): New function.
34149 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34150 (grub_video_vbe_map_rgb): Likewise.
34151 (grub_video_vbe_unmap_color): Likewise.
34152
34153 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34154 optimized fills.
34155 (grub_video_vbe_blit_render_target): Changed to use more optimized
34156 blits.
34157 (grub_video_vbe_setup): Added detection for optimized settings.
34158 (grub_video_vbe_create_render_target): Likewise.
34159
34160 * video/i386/pc/vbeblit.c: New file.
34161
34162 * video/i386/pc/vbefill.c: New file.
34163
c2379b9c 341642006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34165
34166 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34167 here...
34168
34169 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34170 parsing to support both hex and dec ranges. If filename was missing
34171 show usage information.
34172
bd0d7896 341732006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34174
34175 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34176 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34177
34178 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34179 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34180 (video_mod_SOURCES): Added.
34181 (video_mod_CFLAGS): Likewise.
34182 (video_mod_LDFLAGS): Likewise.
34183 (gfxterm_mod_SOURCES): Likewise.
34184 (gfxterm_mod_CFLAGS): Likewise.
34185 (gfxterm_mod_LDFLAGS): Likewise.
34186 (videotest_mod_SOURCES): Likewise.
34187 (videotest_mod_CFLAGS): Likewise.
34188 (videotest_mod_LDFLAGS): Likewise.
34189 (vesafb_mod_SOURCES): Removed.
34190 (vesafb_mod_CFLAGS): Likewise.
34191 (vesafb_mod_LDFLAGS): Likewise.
34192 (vga_mod_SOURCES): Likewise.
34193 (vga_mod_CFLAGS): Likewise.
34194 (vga_mod_LDFLAGS): Likewise.
34195
34196 * commands/videotest.c: New file.
34197
34198 * font/manager.c (fill_with_default_glyph): Modified to use
34199 grub_font_glyph.
34200 (grub_font_get_glyph): Likewise.
34201 (fontmanager): Renamed from this...
34202 (font_manager): ... to this.
34203
34204 * include/grub/font.h (grub_font_glyph): Added new structure.
34205 (grub_font_get_glyph): Modified to use grub_font_glyph.
34206
34207 * include/grub/misc.h (grub_abs): Added as inline function.
34208
34209 * include/grub/video.h: New file.
34210
34211 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34212 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34213 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34214 (grub_vbe_get_controller_info): Renamed from this...
34215 (grub_vbe_bios_get_controller_info): ... to this.
34216 (grub_vbe_get_mode_info): Renamed from this...
34217 (grub_vbe_bios_get_mode_info): ... to this.
34218 (grub_vbe_set_mode): Renamed from this...
34219 (grub_vbe_bios_set_mode): ... to this.
34220 (grub_vbe_get_mode): Renamed from this...
34221 (grub_vbe_bios_get_mode): ... to this.
34222 (grub_vbe_set_memory_window): Renamed from this...
34223 (grub_vbe_bios_set_memory_window): ... to this.
34224 (grub_vbe_get_memory_window): Renamed from this...
34225 (grub_vbe_bios_get_memory_window): ... to this.
34226 (grub_vbe_set_scanline_length): Renamed from this...
34227 (grub_vbe_set_scanline_length): ... to this.
34228 (grub_vbe_get_scanline_length): Renamed from this...
34229 (grub_vbe_bios_get_scanline_length): ... to this.
34230 (grub_vbe_set_display_start): Renamed from this...
34231 (grub_vbe_bios_set_display_start): ... to this.
34232 (grub_vbe_get_display_start): Renamed from this...
34233 (grub_vbe_bios_get_display_start): ... to this.
34234 (grub_vbe_set_palette_data): Renamed from this...
34235 (grub_vbe_bios_set_palette_data): ... to this.
34236 (grub_vbe_set_pixel_rgb): Removed.
34237 (grub_vbe_set_pixel_index): Likewise.
34238
34239 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34240 from this...
34241 (grub_vbe_bios_get_controller_info): ... to this.
34242 (grub_vbe_get_mode_info): Renamed from this...
34243 (grub_vbe_bios_get_mode_info): ... to this.
34244 (grub_vbe_set_mode): Renamed from this...
34245 (grub_vbe_bios_set_mode): ... to this.
34246 (grub_vbe_get_mode): Renamed from this...
34247 (grub_vbe_bios_get_mode): ... to this.
34248 (grub_vbe_set_memory_window): Renamed from this...
34249 (grub_vbe_bios_set_memory_window): ... to this.
34250 (grub_vbe_get_memory_window): Renamed from this...
34251 (grub_vbe_bios_get_memory_window): ... to this.
34252 (grub_vbe_set_scanline_length): Renamed from this...
34253 (grub_vbe_set_scanline_length): ... to this.
34254 (grub_vbe_get_scanline_length): Renamed from this...
34255 (grub_vbe_bios_get_scanline_length): ... to this.
34256 (grub_vbe_set_display_start): Renamed from this...
34257 (grub_vbe_bios_set_display_start): ... to this.
34258 (grub_vbe_get_display_start): Renamed from this...
34259 (grub_vbe_bios_get_display_start): ... to this.
34260 (grub_vbe_set_palette_data): Renamed from this...
34261 (grub_vbe_bios_set_palette_data): ... to this.
34262 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34263 getting corrupted after calling it. Added more pushes and pops.
34264 (grub_vbe_bios_set_mode): Likewise.
34265 (grub_vbe_bios_get_mode): Likewise.
34266 (grub_vbe_bios_get_memory_window): Likewise.
34267 (grub_vbe_bios_set_scanline_length): Likewise.
34268 (grub_vbe_bios_get_scanline_length): Likewise.
34269 (grub_vbe_bios_get_display_start): Likewise.
34270 (grub_vbe_bios_set_palette_data): Likewise.
34271
34272 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34273 (cl_insert): Likewise.
34274 (cl_delete): Likewise.
34275
34276 * term/gfxterm.c: New file.
34277
34278 * term/i386/pc/vesafb.c: Removed file.
34279
34280 * video/video.c: New file.
34281
34282 * video/i386/pc/vbe.c (real2pm): Added new function.
34283 (grub_video_vbe_draw_pixel): Likewise.
34284 (grub_video_vbe_get_video_ptr): Likewise.
34285 (grub_video_vbe_get_pixel): Likewise
34286 (grub_video_vbe_init): Likewise.
34287 (grub_video_vbe_fini): Likewise.
34288 (grub_video_vbe_setup): Likewise.
34289 (grub_video_vbe_get_info): Likewise.
34290 (grub_video_vbe_set_palette): Likewise.
34291 (grub_video_vbe_get_palette): Likewise.
34292 (grub_video_vbe_set_viewport): Likewise.
34293 (grub_video_vbe_get_viewport): Likewise.
34294 (grub_video_vbe_map_color): Likewise.
34295 (grub_video_vbe_map_rgb): Likewise.
34296 (grub_video_vbe_map_rgba): Likewise.
34297 (grub_video_vbe_unmap_color): Likewise.
34298 (grub_video_vbe_fill_rect): Likewise.
34299 (grub_video_vbe_blit_glyph): Likewise.
34300 (grub_video_vbe_blit_bitmap): Likewise.
34301 (grub_video_vbe_blit_render_target): Likewise.
34302 (grub_video_vbe_scroll): Likewise.
34303 (grub_video_vbe_swap_buffers): Likewise.
34304 (grub_video_vbe_create_render_target): Likewise.
34305 (grub_video_vbe_delete_render_target): Likewise.
34306 (grub_video_vbe_set_active_render_target): Likewise.
34307 (grub_vbe_set_pixel_rgb): Remove function.
34308 (grub_vbe_set_pixel_index): Likewise.
34309 (index_color_mode): Remove static variable.
34310 (active_mode): Likewise.
34311 (framebuffer): Likewise.
34312 (bytes_per_scan_line): Likewise.
34313 (grub_video_vbe_adapter): Added new static variable.
34314 (framebuffer): Likewise.
34315 (render_target): Likewise.
34316 (initial_mode): Likewise.
34317 (mode_in_use): Likewise.
34318 (mode_list): Likewise.
34319
5f97350b 343202006-03-10 Marco Gerards <marco@gnu.org>
34321
34322 * configure.ac (AC_INIT): Bumped to 1.93.
34323
34324 * DISTLIST: Added `include/grub/hfs.h'.
34325
a3c5c6f8 343262006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34327
34328 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34329 18H, which might help the BIOS falling back to next boot media.
34330
6de53d26 343312006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34332
34333 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34334 Poe Chen <poe.poechen@gmail.com>.
34335
77c4a393 343362006-01-17 Marco Gerards <marco@gnu.org>
34337
34338 * include/grub/normal.h: Include <grub/script.h>.
34339 (grub_command_list): Removed struct.
34340 (grub_command_list_t): Removed type.
34341 (grub_menu_entry): Remove members `num' and `command_list'. Add
34342 members `commands' and `sourcecode'.
34343 * include/grub/script.h: Add inclusion guards.
34344 (grub_script_cmd_menuentry): New struct.
34345 (grub_script_execute_menuentry): New prototype.
34346 (grub_script_lexer_record_start): Likewise.
34347 (grub_script_lexer_record_stop): Likewise.
34348 * normal/execute.c (grub_script_execute_menuentry): New function.
34349 * normal/lexer.c (record, recording, recordpos, recordlen): New
34350 variables.
34351 (grub_script_lexer_record_start): New function.
34352 (grub_script_lexer_record_stop): Likewise.
34353 (recordchar): Likewise.
34354 (nextchar): Likewise.
34355 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34356 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34357 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34358 (current_menu): New variable.
34359 (free_menu): Mainly rewritten.
34360 (grub_normal_menu_addentry): New function.
34361 (read_config_file): Rewritten.
34362 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34363 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34364 the menu entry.
34365 (run): Mainly rewritten.
34366 * normal/parser.y (menu_entry): New variable.
34367 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34368 (menuentry): New rule.
34369 (command): Add `menuentry'.
34370 (if_statement): Allow additional returns before `fi'.
34371 * normal/script.c (grub_script_create_cmdmenu): New function.
34372
144f1f98 343732006-01-03 Marco Gerards <marco@gnu.org>
34374
34375 * INSTALL: GNU Bison is required.
34376 * configure.ac: Rewritten the test to detect Bison.
34377 * Makefile.in (YACC): New variable. Reported by Xun Sun
34378 <xun.sun.cn@gmail.com>.
34379
af4b2d89 343802006-01-03 Marco Gerards <marco@gnu.org>
34381
34382 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34383 the HFS+ filesystem to filesystem blocks.
34384 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34385 GCC warning is silenced.
34386
15643b71 343872006-01-03 Marco Gerards <marco@gnu.org>
34388
34389 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34390 read from disk from big endian to host byte order.
34391
00905879 343922006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34393
34394 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34395 documentation.
34396 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34397 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34398 embedded HFS+ filesystem.
34399 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34400 (grub_hfs_sblock): Move from here...
34401 * include/grub/hfs.h: To here... New file.
34402 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34403 documentation.
34404 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34405 New macros.
34406 (grub_hfsplus_volheader): Change type of member `magic' to
34407 `grub_uint16_t'.
34408 (grub_hfsplus_data): Add new member `embedded_offset'.
34409 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34410 returned block.
34411 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34412 Calculate the offset.
34413
8899bc3e 344142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34415
34416 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34417 Removed.
34418 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34419
ae8c0277 344202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34421
34422 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34423 ENV->NAME is NULL after allocating ENV->VALUE.
34424
07084456 344252005-12-25 Marco Gerards <marco@gnu.org>
34426
34427 * kern/env.c (grub_env_set): Rewritten the error handling code.
34428
4750f5f1 344292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34430
34431 * geninit.sh: Made more robust, and more portable.
34432
50214199 344332005-12-25 Marco Gerards <marco@gnu.org>
34434
34435 Add support for Apple HFS+ filesystems.
f19dbdb7 34436
50214199 34437 * fs/hfsplus.c: New file.
34438
34439 * DISTLIST: Added `fs/hfsplus.c'.
34440
34441 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34442 (hfsplus_mod_SOURCES): New variable.
34443 (hfsplus_mod_CFLAGS): Likewise.
34444 (hfsplus_mod_LDFLAGS): Likewise.
34445 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34446 (grub_setup_SOURCES): Likewise.
34447 (grub_mkdevicemap_SOURCES): Likewise.
34448 (grub_emu_SOURCES): Likewise.
34449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34450
34451 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34452
34453 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34454
befaed6c 344552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34456
34457 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34458 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34459 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34460 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34461 normal/lexer.c, normal/parser.y, normal/script.c, and
34462 partmap/gpt.c.
34463 Removed kern/sparc64/cache.c.
34464
34465 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34466 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34467 grub_emu_init.c.
34468
34469 * configure.ac (AC_INIT): Bumped to 1.92.
34470
6a124103 344712005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34472
34473 * kern/err.c (grub_error_push): Added new function to support error
34474 stacks.
34475 (grub_error_pop): Likewise.
34476 (grub_error_stack_items): New local variable to support error stacks.
34477 (grub_error_stack_pos): Likewise.
34478 (grub_error_stack_assert): Likewise.
34479 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34480 stack depth.
34481 (grub_print_error): Added support to print errors from error stack.
34482
34483 * include/grub/err.h (grub_error_push): Added function prototype.
34484 (grub_error_pop): Likewise.
34485
be973c1b 344862005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34487
34488 * configure.ac: Accept `powerpc64' as host_cpu.
34489 (amd64): Rename to `biarch32'.
34490
34491 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34492 non-cacheline-aligned addresses.
34493
34494 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34495 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34496 if `size' is non-zero.
34497
b04216ab 344982005-12-03 Marco Gerards <mgerards@xs4all.nl>
34499
34500 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34501 and `cd' to make sure the filename is not prefixed with a
34502 directory name.
34503 (pkgdata_MODULES): Add `gpt.mod'.
34504 (gpt_mod_SOURCES): New variable.
34505 (gpt_mod_CFLAGS): Likewise.
34506 (gpt_mod_LDFLAGS): Likewise.
34507
34508 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34509
34510 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34511 New macro.
34512
34513 * partmap/gpt.c: New file.
34514
34515 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34516 GPT partition map is detected.
34517
41730ed9 345182005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34519
34520 * commands/i386/pc/play.c: New file.
34521 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34522 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34523 macros.
f19dbdb7 34524
95dc3643 345252005-11-27 Marco Gerards <mgerards@xs4all.nl>
34526
34527 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34528 ((unused))' to silence gcc warning.
34529
1569ec51 345302005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34531
34532 * configure.ac: Correct `AC_PROG_YACC' test.
34533
9abde152 345342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34535
34536 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34537 check before installing files.
34538
44b83271 345392005-11-22 Mike Small <smallm@panix.com>
34540
34541 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34542 number regex so multidigit numbers are recognized correctly.
34543
345442005-11-22 Mike Small <smallm@panix.com>
34545
34546 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34547 debugging message before attempting to claim memory.
34548 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34549 multiple addresses in case of failure.
34550
9c12956b 345512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34552
34553 * term/tparm.c (get_space): Remove empty `if' statement.
34554
34555 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34556
34557 * kern/parser.c (check_varstate): Rename `state' to 's'.
34558
aeaf81d9 345592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34560
34561 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34562 variable definitions to the beginning of each function. Sort stack
34563 variables by size.
34564 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34565 `buf' argument to `char *'.
34566
79bbb63f 345672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34568
34569 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34570 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34571 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34572 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34573 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34574 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34575 configfile.mod, search.mod, gzio.mod and test.mod.
34576 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34577 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34578 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34579 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34580 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34581 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34582 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34583 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34584 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34585 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34586 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34587 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34588 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34589 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34590 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34591 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34592 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34593 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34594 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34595 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34596 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34597 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34598 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34599
34600 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34601 `grep --include'.
34602 (pkgdata_MODULES): Add test.mod.
34603
233b1628 346042005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34605
34606 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34607 appending to variables with "+=".
34608 (PModule): Use full pathname to generate *.lst filenames.
34609
34610 * Makefile.in: Fixed list rules moved from genmk.rb.
34611 (.DELETE_ON_ERROR): New special target.
34612 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34613
34614 * conf/i386-pc.rmk: Include conf/common.mk.
34615 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34616 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 34617 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34618 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34619 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34620 configfile.mod, search.mod, gzio.mod and test.mod.
34621 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34622 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34623 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34624 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34625 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34626 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34627 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34628 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34629 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34630 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34631 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34632 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34633 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34634 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34635 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34636 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34637 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34638 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34639 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34640 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34641 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34642 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34643 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34644 here...
34645 * conf/common.rmk: ... to here. New file.
34646
34647 * conf/common.mk: New file.
34648
16f820c8 346492005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34650
34651 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34652 (grub_script.tab.c): ... here.
34653
34654 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34655 (grub_script.tab.c): ... here.
34656
34657 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34658 (grub_script.tab.c): ... here.
34659
34660 * normal/command.c (grub_command_find): Fixed a memory leak of
34661 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34662
63ba1554 346632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34664
34665 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34666 "@" which marks the start of a comment on ARM.
34667 (VARIABLE): Likewise.
34668
7f67dc13 346692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34670
79bbb63f 34671 Add support for Linux/ADFS partition tables.
7f67dc13 34672
34673 * partmap/acorn.c: New file.
34674
34675 * include/grub/acorn_filecore.h: Likewise.
34676
34677 * DISTLIST: Added `partmap/acorn.c' and
34678 `include/grub/acorn_filecore.h'.
f19dbdb7 34679
7f67dc13 34680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34681 `partmap/acorn.c'.
34682 (pkgdata_MODULES): Add `acorn.mod'.
34683 (acorn_mod_SOURCES): New variable.
34684 (acorn_mod_CFLAGS): Likewise.
34685
34686 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34687 `partmap/acorn.c'.
34688 (pkgdata_MODULES): Add `acorn.mod'.
34689 (acorn_mod_SOURCES): New variable.
34690 (acorn_mod_CFLAGS): Likewise.
34691
34692 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34693 (pkgdata_MODULES): Add `acorn.mod'.
34694 (acorn_mod_SOURCES): New variable.
34695 (acorn_mod_CFLAGS): Likewise.
34696 (acorn_mod_LDFLAGS): Likewise.
34697
34698 * include/types.h (grub_disk_addr_t): New typedef.
34699
6d099807 347002005-11-13 Marco Gerards <mgerards@xs4all.nl>
34701
34702 * geninit.sh: New file.
34703
34704 * geninitheader.sh: Likewise.
34705
34706 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
34707 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
34708 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
34709 * commands/configfile.c (grub_configfile_init)
34710 (grub_configfile_fini): Likewise.
34711 * commands/default.c (grub_default_init, grub_default_fini):
34712 Likewise.
34713 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
34714 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
34715 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
34716 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
34717 Likewise.
34718 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
34719 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
34720 Likewise.
34721 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 34722 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 34723 Likewise.
34724 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
34725 Likewise.
fe6b695a 34726 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 34727 Likewise.
34728 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
34729 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
34730 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
34731 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
34732 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
34733 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
34734 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
34735 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
34736 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
34737 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
34738 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
34739 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
34740 * partmap/amiga.c (grub_amiga_partition_map_init)
34741 (grub_amiga_partition_map_fini): Likewise.
34742 * partmap/apple.c (grub_apple_partition_map_init)
34743 (grub_apple_partition_map_fini): Likewise.
34744 * partmap/pc.c (grub_pc_partition_map_init)
34745 (grub_pc_partition_map_fini): Likewise.
34746 * partmap/sun.c (grub_sun_partition_map_init,
34747 grub_sun_partition_map_fini): Likewise.
34748 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
34749 Likewise.
34750
34751 * util/grub-emu.c: Include <grub_modules_init.h>.
34752 (main): Don't initialize and de-initialize any modules directly,
34753 use `grub_init_all' and `grub_fini_all' instead.
34754
34755 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
34756 `grub_vesafb_mod_init'.
34757 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
34758 all users.
34759 * term/i386/pc/vga.c (grub_vga_init): Renamed to
34760 `grub_vga_mod_init'. Updated all users.
34761 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 34762
6d099807 34763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
34764 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
34765 rules.
34766
34767 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
34768 Generate a function to initialize the module in utilities.
34769 Updated all callers.
34770 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
34771 initialize the module in utilities. Updated all callers.
34772
9046bcf0 347732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34774
34775 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
34776 escape sequence and a literal ^L to clear the screen.
34777
34778 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
34779 when returning from Open Firmware.
34780
d13ea639 347812005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34782
34783 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
34784 (grub_ofconsole_height): Likewise.
34785 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
34786 manually insert a '\n'.
34787 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
34788 `grub_ofconsole_height'. Return early if these are already set.
34789
a8fcf206 347902005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
34791
34792 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34793 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
34794 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
34795 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
34796 and `normal/script.c'.
34797 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34798 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34799 (test_mod_SOURCES): New variable.
34800 (test_mod_CFLAGS): Likewise.
34801 (test_mod_LDFLAGS): Likewise.
34802 (pkgdata_MODULES): Add `test.mod'.
34803 (grub_script.tab.c): New rule.
34804 (grub_script.tab.h): Likewise.
34805
b6b32745 348062005-11-07 Marco Gerards <mgerards@xs4all.nl>
34807
34808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34809 `commands/test.c', `normal/execute.c', `normal/lexer.c',
34810 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34811 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34812 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34813 (test_mod_SOURCES): New variable.
34814 (test_mod_CFLAGS): Likewise.
34815 (pkgdata_MODULES): Add `test.mod'.
34816 (grub_script.tab.c): New rule.
34817 (grub_script.tab.h): Likewise.
34818
daac212a 348192005-11-06 Marco Gerards <mgerards@xs4all.nl>
34820
34821 Add initial scripting support.
34822
34823 * commands/test.c: New file.
34824 * include/grub/script.h: Likewise.
34825 * normal/execute.c: Likewise.
34826 * normal/function.c: Likewise.
34827 * normal/lexer.c: Likewise.
34828 * normal/parser.y: Likewise.
34829 * normal/script.c: Likewise.
34830
34831 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 34832
daac212a 34833 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
34834 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
34835 `normal/function.c' and `normal/script.c'.
34836 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34837 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 34838 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
34839 variables.
daac212a 34840 (pkgdata_MODULES): Add `test.mod'.
34841 (grub_script.tab.c): New rule.
34842 (grub_script.tab.h): Likewise.
34843
34844 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
34845
34846 * include/grub/normal.h (grub_test_init): New prototype.
34847 (grub_test_fini): Likewise.
f19dbdb7 34848
daac212a 34849 * normal/command.c: Include <grub/script.h>.
34850 (grub_command_execute): Rewritten.
f19dbdb7 34851
daac212a 34852 * util/grub-emu.c (main): Call `grub_test_init' and
34853 `grub_test_fini'.
34854
77500b2b 348552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34856
34857 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
34858 to 0.
34859 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
34860 there are no pending characters.
34861
e45deb9e 348622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34863
34864 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
34865 `grub_strndup' to drop device arguments. Replace unnecessary
34866 `grub_strndup' with `grub_strdup'.
34867
4ce32619 348682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34869
34870 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
34871 `debug' environment variable has been set.
34872
348732005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34874
4ce32619 34875 * Makefile.in (install-local): Use $(DATA).
34876 (uninstall): Likewise.
34877 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
34878 (sbin_UTILITIES): ... to here.
34879 (sbin_SCRIPTS): New variable.
34880 (grub_install_SOURCES): New variable.
34881 * util/powerpc/ieee1275/grub-install.in: New file.
34882 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
34883 variable.
34884 (add_segments): Call `grub_util_get_path'.
34885
25fe6f03 348862005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34887
34888 From Timothy Baldwin:
34889 * commands/ls.c (grub_ls_list_files): Close FILE with
34890 grub_file_close.
34891 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
34892
04ccf3ec 348932005-10-24 Marco Gerards <mgerards@xs4all.nl>
34894
34895 * include/grub/parser.h: New file.
34896
34897 * kern/parser.c: Likewise.
34898
34899 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
34900 (grub_setup_SOURCES): Likewise.
34901 (grub_probefs_SOURCES): Likewise.
34902 (grub_emu_SOURCES): Likewise.
34903 (kernel_img_HEADERS): Add `parser.h'.
34904
34905 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34906 (grub_emu_SOURCES): Add `kern/parser.c'.
34907 (grubof_SOURCES): Likewise.
34908
34909 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34910 (grubof_SOURCES): Add `kern/parser.c'.
34911
34912 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
34913
34914 * kern/misc.c (grub_split_cmdline): Removed function.
34915
34916 * kern/rescue.c: Include <grub/parser.h>.
34917 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
34918 of `grub_split_cmdline'.
34919
34920 * normal/command.c: Include <grub/parser.h>.
34921 (grub_command_execute): Use `grub_parser_split_cmdline' instead
34922 of `grub_split_cmdline'.
34923
34924 * normal/completion.c: Include <grub/parser.h>.
34925 (cmdline_state): New variable.
34926 (iterate_dir): End the filename with a quote depending on the
34927 command line state.
34928 (get_state): new function.
34929 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
34930 split the arguments and determine the current argument. When the
34931 argument string is not quoted, escape all spaces.
34932
6d8f4b0e 349332005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34934
34935 * normal/sparc64/setjmp.S: New file.
34936
15cf03ed 349372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34938
34939 * include/grub/sparc64/libgcc.h: New file.
34940 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
34941 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
34942 normal/sparc64/setjmp.c.
34943
03e8661a 349442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34945
34946 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
34947 * kern/sparc64/cache.S: New file.
34948 * kern/sparc64/cache.c: Removed.
34949 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34950 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34951 -mtune=ultrasparc.
34952 (COMMON_LDFLAGS): Add -melf64_sparc.
34953 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34954 (grubof_SOURCES): Use cache.S instead of cache.c.
34955 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34956 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34957 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34958 commented though.
34959 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34960 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34961 (linux_mod_CFLAGS): Commented out.
34962 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34963 out because module isn't built.
34964 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34965 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34966 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34967 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34968 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34969 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34970 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34971 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34972 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34973 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34974 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34975 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34976 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34977 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34978
34eeec8a 349792005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34980
34981 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34982 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34983 longer, because HFS should not be used on PC.
34984
708367a3 349852005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34986
34987 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34988 consistently within the loop.
34989
6fa1251a 349902005-10-15 Marco Gerards <mgerards@xs4all.nl>
34991
34992 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34993 directory can not be read.
34994
4801580b 349952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34996
34997 * configure.ac (AC_INIT): Increase the version number to 1.91.
34998
34999 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35000 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35001 term/i386/pc/serial.c.
35002
219ad426 350032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35004
35005 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35006 file size must be permitted.
35007
35008 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35009 between %ah and %al.
35010
688e5699 350112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35012
35013 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35014 grub_uint64_t.
35015 Call the hook with a NUL-terminated filename.
35016 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35017 grub_cpu_to_be32.
35018
35019 * kern/term.c (cursor_state): New variable.
35020 (grub_term_set_current): Reset the cursor state on a new
35021 terminal.
35022 (grub_setcursor): Rewritten to use CURSOR_STATE.
35023 (grub_getcursor): New function.
35024
35025 * include/grub/term.h (grub_getcursor): New prototype.
35026
35027 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35028 integers on ARM. Reported by Timothy Baldwin
35029 <T.E.Baldwin99@members.leeds.ac.uk>.
35030
bb34586c 350312005-10-11 Marco Gerards <mgerards@xs4all.nl>
35032
35033 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35034 allocated.
35035 (grub_sfs_dir): Likewise.
35036
9a909877 350372005-10-09 Marco Gerards <mgerards@xs4all.nl>
35038
35039 Add support for the SFS filesystem.
35040
35041 * fs/sfs.c: New file.
35042
35043 * DISTLIST: Added `fs/sfs.c'.
35044
35045 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35046 (grub_probefs_SOURCES): Likewise.
35047 (grub_emu_SOURCES): Likewise.
35048 (pkgdata_MODULES): Add `sfs.mod'.
35049 (sfs_mod_SOURCES): New variable.
35050 (sfs_mod_CFLAGS): Likewise.
35051 (sfs_mod_LDFLAGS): Likewise.
35052
35053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35054 (pkgdata_MODULES): Add `sfs.mod'.
35055 (sfs_mod_SOURCES): New variable.
35056 (sfs_mod_CFLAGS): Likewise.
35057
35058 * util/grub-emu.c (main): Call `grub_sfs_init' and
35059 `grub_sfs_fini'.
35060
35061 * include/grub/fs.h (grub_sfs_init): New prototype.
35062 (grub_sfs_fini): Likewise.
35063
57bdbde3 350642005-10-07 Marco Gerards <mgerards@xs4all.nl>
35065
35066 Add support for the AFFS filesystem.
35067
35068 * fs/affs.c: New file.
35069
35070 * DISTLIST: Added `fs/affs.c'.
35071
35072 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35073 (grub_probefs_SOURCES): Likewise.
35074 (grub_emu_SOURCES): Likewise.
35075 (pkgdata_MODULES): Add `affs.mod'.
35076 (affs_mod_SOURCES): New variable.
35077 (affs_mod_CFLAGS): Likewise.
35078 (affs_mod_LDFLAGS): Likewise.
35079
35080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35081 (pkgdata_MODULES): Add `affs.mod'.
35082 (affs_mod_SOURCES): New variable.
35083 (affs_mod_CFLAGS): Likewise.
35084
35085 * util/grub-emu.c (main): Call `grub_affs_init' and
35086 `grub_affs_fini'.
35087
35088 * include/grub/fs.h (grub_affs_init): New prototype.
35089 (grub_affs_fini): Likewise.
35090
047b67e0 350912005-10-01 Marco Gerards <mgerards@xs4all.nl>
35092
35093 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35094
59b8208a 350952005-10-01 Marco Gerards <mgerards@xs4all.nl>
35096
35097 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35098 `-m32' to CFLAGS.
35099
35100 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35101 linking.
f19dbdb7 35102
59b8208a 35103 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35104 (COMMON_LDFLAGS): New variable.
35105 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35106 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35107 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35108 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35109 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35110 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35111 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35112 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35113 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35114 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35115 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35116 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35117 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35118 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35119 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35120 variables.
35121 (normal_mod_ASFLAGS): Add `-m32'.
35122
35123 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35124 (grub_host_size_t, grub_host_ssize_t): New types.
35125 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35126 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35127 `GRUB_HOST_SIZEOF_VOID_P'.
35128
35129 * include/grub/kernel.h (struct grub_module_header): Type of
35130 member offset changed to `grub_host_off_t'. Type of member size
35131 changed to `grub_host_size_t'.
35132 (struct grub_module_info): Type of member offset changed to
35133 `grub_host_off_t'. Type of member size changed to
35134 `grub_host_size_t'.
35135
b4093103 351362005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35137
35138 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35139
b4093103 35140 * kern/i386/pc/startup.S (multiboot_header): New label.
35141 (multiboot_entry): Likewise.
35142 (multiboot_trampoline): Likewise.
35143
35144 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35145 Increased to 0x4A0.
35146
35147 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35148 put parentheses after a question mark.
35149 [!GRUB_UTIL] (my_mod): New variable.
35150
35151 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35152
b2499b29 351532005-09-28 Marco Gerards <mgerards@xs4all.nl>
35154
35155 Adds support for the XFS filesystem. Btrees are not supported
35156 yet.
35157
35158 * fs/xfs.c: New file.
35159
35160 * DISTLIST: Added `fs/xfs.c'.
35161
35162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35163 (grub_probefs_SOURCES): Likewise.
35164 (grub_emu_SOURCES): Likewise.
35165 (pkgdata_MODULES): Add `xfs.mod'.
35166 (xfs_mod_SOURCES): New variable.
35167 (xfs_mod_CFLAGS): Likewise.
35168
35169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35170 (pkgdata_MODULES): Add `xfs.mod'.
35171 (xfs_mod_SOURCES): New variable.
35172 (xfs_mod_CFLAGS): Likewise.
35173
35174 * util/grub-emu.c (main): Call `grub_xfs_init' and
35175 `grub_xfs_fini'.
35176
35177 * include/grub/fs.h (grub_xfs_init): New prototype.
35178 (grub_xfs_fini): Likewise.
35179
f19dbdb7 35180
83d37a62 351812005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35182
35183 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35184 color modes, allow greater than 16 colors to be configured as
35185 a default palette.
35186
47d2d65e 351872005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35188
35189 * normal/completion.c (complete_arguments): Add the qualifier
35190 const into OPTIONS.
35191
35192 From Omniflux <omniflux+lists@omniflux.com>:
35193 * include/grub/terminfo.h: New file.
35194 * include/grub/tparm.h: Likewise.
35195 * include/grub/i386/pc/serial.h: Likewise.
35196 * term/terminfo.c: Likewise.
35197 * term/tparm.c: Likewise.
35198 * term/i386/pc/serial.c: Likewise.
35199 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35200 serial.mod.
35201 (terminfo_mod_SOURCES): New variable.
35202 (terminfo_mod_CFLAGS): Likewise.
35203 (serial_mod_SOURCES): Likewise.
35204 (serial_mod_CFLAGS): Likewise.
35205
48b671ff 352062005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35207
35208 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35209 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35210 and kern/powerpc/ieee1275/cmain.c, respectively.
35211
35212 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35213 * kern/powerpc/ieee1275/crt0.S: ... here.
35214
35215 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35216 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35217
48b671ff 35218 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35219 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35220 instead of boot/powerpc/ieee1275/crt0.S and
35221 boot/powerpc/ieee1275/cmain.c, respectively.
35222
35223 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35224 sectors. It was not used anyway.
35225
09fc77a7 352262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35227
35228 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35229 `unused parameter' warning.
35230
003789c7 352312005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35232
35233 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35234 function.
35235 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35236 getcharwidth.
35237
67f44c86 352382005-08-28 Marco Gerards <metgerards@student.han.nl>
35239
35240 * include/grub/normal.h (enum grub_completion_type): Added
35241 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35242
35243 * normal/cmdline.c (print_completion): Handle
35244 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35245 * normal/menu_entry.c (store_completion): Likewise.
35246
35247 * normal/completion.c (complete_arguments): New function.
35248 (grub_normal_do_completion): Call `complete_arguments' when the
35249 current words start with a dash.
35250
0b5abe02 352512005-08-27 Marco Gerards <metgerards@student.han.nl>
35252
35253 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35254 `gzio.mod' instead of `io.mod').
35255
d9864ee1 352562005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35257
35258 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35259 (DISTDIRS): Added io and video.
35260 Rewrite the search routine to make an output consistently.
35261
35262 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35263 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35264 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35265 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35266 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35267 util/powerpc/ieee1275/misc.c.
f19dbdb7 35268
d9864ee1 35269 * include/grub/gzio.h: New file.
35270 * io/gzio.c: Likewise.
f19dbdb7 35271
d9864ee1 35272 * kern/file.c (grub_file_close): Call grub_device_close only if
35273 FILE->DEVICE is not NULL.
35274
35275 * include/grub/mm.h [!NULL] (NULL): New macro.
35276
35277 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35278
35279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35280 (pkgdata_MODULES): Added gzio.mod.
35281 (gzio_mod_SOURCES): New variable.
35282 (gzio_mod_CFLAGS): Likewise.
35283
35284 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35285 (pkgdata_MODULES): Added gzio.mod.
35286 (gzio_mod_SOURCES): New variable.
35287 (gzio_mod_CFLAGS): Likewise.
35288
35289 * commands/cat.c: Include grub/gzio.h.
35290 (grub_cmd_cat): Use grub_gzfile_open instead of
35291 grub_file_open.
f19dbdb7 35292
d9864ee1 35293 * commands/cmp.c: Include grub/gzio.h.
35294 (grub_cmd_cmp): Use grub_gzfile_open instead of
35295 grub_file_open.
35296
35297 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35298 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35299 grub_file_open.
35300 (grub_rescue_cmd_module): Likewise.
35301
fa46f4b5 353022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35303
35304 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35305 kern/sparc64/ieee1275/init.c because it contains _start.
35306 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35307
e9211b5d 353082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35309
35310 * configure.ac: Add support for sparc64 host with ieee1275
35311 firmware.
35312 * configure: Generated from configure.ac.
35313 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35314 instead of int.
35315 (grub_ofdisk_read): Likewise.
35316 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35317 pointers as (void *) to remove a warning.
35318 (grub_ofdisk_close): Likewise.
35319 (grub_ofdisk_read): Likewise.
35320 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35321 returns, so make it return void to remove a warning.
35322 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35323 Corresponding prototype change.
35324 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35325 values, and cast the pointers as (void *) to remove a warning.
35326 (grub_mm_dump): Likewise.
35327 * conf/sparc64-ieee1275.mk: New file.
35328 * conf/sparc64-ieee1275.rmk: Likewise.
35329 * include/grub/sparc64/setjmp.h: Likewise.
35330 * include/grub/sparc64/types.h: Likewise.
35331 * include/grub/sparc64/ieee1275/console.h: Likewise.
35332 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35333 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35334 * include/grub/sparc64/ieee1275/time.h: Likewise.
35335 * kern/sparc64/cache.c: Likewise.
35336 * kern/sparc64/dl.c: Likewise.
35337 * kern/sparc64/ieee1275/init.c: Likewise.
35338 * kern/sparc64/ieee1275/openfw.c: Likewise.
35339
385c6a92 353402005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35341
35342 * util/console.c (grub_ncurses_putchar): If C is greater than
35343 0x7f, set C to a question mark.
35344 (grub_ncurses_getcharwidth): New function.
35345 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35346 getcharwidth.
35347
35348 * normal/menu.c (print_entry): Made aware of Unicode. First,
35349 convert TITLE to UCS-4, and predict the cursor position by
35350 grub_getcharwidth.
35351
35352 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35353 const to SRC.
35354 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35355
16ccb8b1 353562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35357
35358 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35359 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35360 grub_strcat.
35361
35362 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35363 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35364 grub_strcpy and grub_strlen. Take it into account that a space
35365 character is inserted as a delimiter.
35366
6a85ce79 353672005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35368
35369 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35370 invalid magic in the error.
6a85ce79 35371
35372 * commands/search.c: New file.
f19dbdb7 35373
6a85ce79 35374 * util/grub-emu.c (main): Call grub_search_init and
35375 grub_search_fini.
35376
35377 * kern/rescue.c (grub_rescue_print_disks): Removed.
35378 (grub_rescue_print_devices): New function.
35379 (grub_rescue_cmd_ls): Use grub_device_iterate with
35380 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35381 grub_rescue_print_disks.
35382
35383 * kern/partition.c (grub_partition_iterate): Return the result of
35384 PARTMAP->ITERATE instead of GRUB_ERRNO.
35385
35386 * kern/device.c: Include grub/partition.h.
35387 (grub_device_iterate): New function.
35388
35389 * include/grub/partition.h (grub_partition_iterate): Return int
35390 instead of grub_err_t.
35391
35392 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35393 prototype.
35394 [GRUB_UTIL] (grub_search_fini): Likewise.
35395
35396 * include/grub/device.h (grub_device_iterate): New prototype.
35397
35398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35399 commands/search.c.
35400 (pkgdata_MODULES): Added search.mod.
35401 (search_mod_SOURCES): New variable.
35402 (search_mod_CFLAGS): Likewise.
35403
35404 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35405 (pkgdata_MODULES): Added search.mod.
35406 (search_mod_SOURCES): New variable.
35407 (search_mod_CFLAGS): Likewise.
35408
35409 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35410 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35411 All callers changed.
35412
35413 * DISTLIST: Added commands/search.c.
35414
ef095434 354152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35416
35417 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35418 conversion.
35419 (grub_getcharwidth): New function.
35420
35421 * kern/misc.c (grub_utf8_to_ucs4): New function.
35422
35423 * include/grub/term.h (struct grub_term): Added a new member
35424 "getcharwidth".
35425 (grub_getcharwidth): New prototype.
35426
35427 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35428
35429 * term/i386/pc/console.c (map_char): New function. Segregated from
35430 grub_console_putchar.
35431 (grub_console_putchar): Use map_char.
35432 (grub_console_getcharwidth): New function.
35433 (grub_console_term): Specified grub_console_getcharwidth as
35434 getcharwidth.
35435
35436 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35437 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35438
35439 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35440 GRUB_ERRNO.
35441 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35442 on grub_strtoul completely.
35443 (write_char): Declare local variables in the beginning of the
35444 function.
35445 (grub_vesafb_getcharwidth): New function.
35446 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35447 getcharwidth.
35448
1f0a95e4 354492005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35450
35451 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35452 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35453 commands/i386/pc/vbetest.c.
35454
35455 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35456 call grub_vbe_get_controller_info again, because the returned
35457 information is volatile.
35458 (grub_vbe_set_video_mode): Mostly rewritten.
35459 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35460 grub_vbe_status_t correctly.
35461 (grub_vbe_get_video_mode_info): Likewise.
35462 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35463 several if statements.
35464
35465 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35466 * commands/i386/pc/vbeinfo.c: ... this.
35467
35468 * commands/i386/pc/vbe_test.c: Renamed to ...
35469 * commands/i386/pc/vbetest.c: ... this.
35470
35471 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35472 ...
35473 (grub_cmd_vbeinfo): ... this. Save video modes before
35474 iterating. Skip a video mode, if it is not available, not enough
35475 information is given or it is monochrome. Show the memory
35476 model. Leave the interpretation of MODEVAR to grub_strtoul
35477 completely.
35478 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35479 (GRUB_MOD_FINI): Likewise.
35480
35481 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35482 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35483 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35484 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35485 grub_strtoul completely.
35486 (real2pm): Removed.
35487 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35488 (GRUB_MOD_FINI): Likewise.
35489
35490 * normal/misc.c: Include grub/mm.h.
35491
35492 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35493 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35494 (vbe_list_modes_mod_SOURCES): Removed.
35495 (vbe_list_modes_mod_CFLAGS): Likewise.
35496 (vbe_test_mod_SOURCES): Likewise.
35497 (vbe_test_mod_CFLAGS): Likewise.
35498 (vbeinfo_mod_SOURCES): New variable.
35499 (vbeinfo_mod_CFLAGS): Likewise.
35500 (vbetest_mod_SOURCES): Likewise.
35501 (vbetest_mod_CFLAGS): Likewise.
35502
992ffbbe 355032005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35504
35505 * normal/misc.c: New file.
35506
35507 * DISTLIST: Added normal/misc.c.
f19dbdb7 35508
992ffbbe 35509 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35510 DISK to HOOK. Call HOOK with DISK.
35511 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35512 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35513 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35514
35515 * normal/menu_entry.c (struct screen): Added a new member
35516 "completion_shown".
35517 (completion_buffer): New global variable.
35518 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35519 (store_completion): New function.
35520 (complete): Likewise.
35521 (clear_completions): Likewise.
35522 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35523 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35524 a tab, call complete.
35525
35526 * normal/completion.c (disk_dev): Removed.
35527 (print_simple_completion): Likewise.
35528 (print_partition_completion): Likewise.
35529 (print_func): New global variable.
35530 (add_completion): Do not take the arguments WHAT or PRINT any
35531 longer. Added a new argument TYPE. Instead of printing directly,
35532 call PRINT_FUNC if not NULL.
35533 All callers changed.
35534 (complete_device): Use a local variable DEV instead of
35535 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35536 (grub_normal_do_completion): Take a new argument HOOK. Do not
35537 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35538 empty string, return NULL instead.
35539 All callers changed.
35540
35541 * normal/cmdline.c (print_completion): New function.
35542
35543 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35544 to HOOK.
35545 All callers changed.
35546
35547 * kern/disk.c (grub_print_partinfo): Removed.
35548
35549 * include/grub/partition.h (struct grub_partition_map): Add a new
35550 argument DISK into HOOK of ITERATE.
35551 (grub_partition_iterate): Add a new argument DISK to HOOK.
35552
35553 * include/grub/normal.h (enum grub_completion_type): New enum.
35554 (grub_completion_type_t): New type.
35555 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35556 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35557 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35558 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35559 (grub_normal_do_completion): Added a new argument HOOK.
35560 (grub_normal_print_device_info): New prototype.
35561
35562 * include/grub/disk.h (grub_print_partinfo): Removed.
35563
35564 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35565 (normal_mod_SOURCES): Likewise.
35566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35567 (normal_mod_SOURCES): Likewise.
35568
35569 * commands/ls.c (grub_ls_list_disks): Use
35570 grub_normal_print_device_info instead of grub_print_partinfo. Free
35571 PNAME.
35572 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35573 duplicating the code.
35574
0bd41162 355752005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35576
35577 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35578 follow GCS more precisely.
35579 * commands/i386/pc/vbe_test.c: Likewise.
35580 * include/grub/i386/pc/vbe.h: Likewise.
35581 * term/i386/pc/vesafb.c: Likewise.
35582 * video/i386/pc/vbe.c: Likewise.
0bd41162 35583
6323696a 355842005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35585
35586 * DISTLIST: Added term/i386/pc/vesafb.c
35587 DISTLIST: Added video/i386/pc/vbe.c
35588 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35589 DISTLIST: Added commands/i386/pc/vbe_test.c.
35590 * commands/i386/pc/vbe_list_modes.c: New file.
35591 * commands/i386/pc/vbe_test.c: Likewise.
35592 * term/i386/pc/vesafb.c: Likewise.
35593 * video/i386/pc/vbe.c: Likewise.
35594 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35595 (grub_vbe_probe) Added prototype.
35596 (grub_vbe_set_video_mode) Likewise.
35597 (grub_vbe_get_video_mode) Likewise.
35598 (grub_vbe_get_video_mode_info) Likewise.
35599 (grub_vbe_set_pixel_rgb) Likewise.
35600 (grub_vbe_set_pixel_index) Likewise.
35601 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35602 (pkgdata_MODULES): Added vesafb.mod.
35603 (pkgdata_MODULES): Added vbe_list_modes.mod.
35604 (pkgdata_MODULES): Added vbe_test.mod.
35605 (vbe_mod_SOURCES): Added.
35606 (vbe_mod_CFLAGS): Likewise.
35607 (vesafb_mod_SOURCES): Likewise.
35608 (vesafb_mod_CFLAGS): Likewise.
35609 (vbe_list_modes_mod_SOURCES): Likewise.
35610 (vbe_list_modes_mod_CFLAGS): Likewise.
35611 (vbe_test_mod_SOURCES): Likewise.
35612 (vbe_test_mod_CFLAGS): Likewise.
35613
0a74e62f 356142005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35615
0a74e62f 35616 * normal/command.c (grub_command_execute): If INTERACTIVE is
35617 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35618 CMDLINE. Disable the pager if INTERACTIVE is true.
35619 All callers are changed.
35620
35621 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35622 before reading a config file.
35623 * normal/main.c (read_config_file): Even if a command is not
35624 found, register it if it is within an entry.
35625
35626 * util/grub-emu.c: Include sys/types.h and unistd.h.
35627 (options): Added --hold.
35628 (struct arguments): Added a new member "hold".
35629 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35630 missing.
35631 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35632 cleared by a debugger, if it is not zero.
35633
35634 * include/grub/normal.h (grub_command_execute): Add an argument
35635 INTERACTIVE.
35636
e51f85ae 356372005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35638
35639 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35640
e9c6f39b 356412005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35642
35643 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35644 program with another one, because the old one didn't detect a bug
35645 in gcc-3.4. Always use regparm 2, because the new test is still
35646 not enough for gcc-4.0. Someone must investigate a simple test
35647 case which detects a bug in gcc-4.0.
35648
8de3495c 356492005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35650
35651 * DISTLIST: Added normal/completion.c.
35652
35653 * normal/completion.c: New file.
f19dbdb7 35654
8de3495c 35655 * term/i386/pc/console.c (grub_console_getwh): New function.
35656 (grub_console_term): Assign grub_console_getwh to getwh.
35657
35658 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35659 function is defined in normal/completion.c as
35660 grub_normal_do_completion.
35661 (grub_cmdline_get): Use grub_normal_do_completion instead of
35662 grub_tab_complete.
35663
35664 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35665 returns non-zero, otherwise return 0.
35666 (grub_partition_iterate): First, probe the partition map. Then,
35667 call ITERATE only for this partition map.
35668
35669 * kern/misc.c (grub_strncmp): Rewritten.
35670
35671 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35672 returns non-zero. Otherwise return 0.
35673
35674 * include/grub/partition.h (grub_partition_map_iterate): Return
35675 int instead of void.
35676
35677 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35678
35679 * include/grub/misc.h (grub_strncmp): Change the type of N to
35680 grub_size_t.
35681
35682 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35683 of void.
35684
35685 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 35686 unsigned explicitly before comparing it with I.
8de3495c 35687
35688 * kern/main.c (grub_env_write_root): Add the attribute unused into
35689 VAR.
35690
35691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35692 normal/completion.c.
35693 (normal_mod_SOURCES): Likewise.
35694 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35695 (normal_mod_SOURCES): Likewise.
35696
35697 * normal/command.c (grub_iterate_commands): If ITERATE returns
35698 non-zero, return one immediately.
35699
e85e144b 357002005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35701
35702 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35703 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35704 descriptions.
35705 (grub_vbe_get_controller_info): New function.
35706 (grub_vbe_get_mode_info): Likewise.
35707 (grub_vbe_set_mode): Likewise.
35708 (grub_vbe_get_mode): Likewise.
35709 (grub_vbe_set_memory_window): Likewise.
35710 (grub_vbe_get_memory_window): Likewise.
35711 (grub_vbe_set_scanline_length): Likewise.
35712 (grub_vbe_get_scanline_length): Likewise.
35713 (grub_vbe_set_display_start): Likewise.
35714 (grub_vbe_get_display_start): Likewise.
35715 (grub_vbe_set_palette_data): Likewise.
35716 * include/grub/i386/pc/vbe.h: New file.
35717
c46153d2 357182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35719
35720 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35721 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
35722 * DISTLIST: Likewise.
35723 * kern/ieee1275/of.c: Moved to ...
35724 * kern/ieee1275/ieee1275.c: ... here.
35725
0cb90c45 357262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35727
35728 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
35729 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
35730 Pass 0 as `end' parameter to grub_strtoul().
35731
a19fb360 357322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35733
35734 * include/grub/powerpc/ieee1275/console.h: Do not include
35735 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
35736 ifdef.
35737 (grub_console_cur_color): Remove i386-specific prototype.
35738 (grub_console_real_putchar): Likewise.
35739 (grub_console_checkkey): Likewise.
35740 (grub_console_getkey): Likewise.
35741 (grub_console_getxy): Likewise.
35742 (grub_console_gotoxy): Likewise.
35743 (grub_console_cls): Likewise.
35744 (grub_console_setcursor): Likewise.
35745 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
35746 Include <grub/machine/console.h>.
35747 * term/ieee1275/ofconsole.c: Likewise.
35748
4ac9bd04 357492005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
35750
35751 * Makefile.in (LIBLZO): New variable.
35752
35753 * configure.ac: Check for LZO version 2.
35754
35755 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
35756 lzo/lzo1x.h instead of lzo1x.h.
35757
35758 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
35759 of -llzo.
35760
35761 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
35762 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
35763
35764 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
35765 copying the data from PARTITION to P.
35766
f4917dfd 357672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35768
35769 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
35770 negative, unload the module.
35771
35772 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
35773 map is "pc_partition_map" but not "pc".
35774 (usage): Fix the description. The options are --boot-image and
35775 --core-image but not --boot-file or --core-file.
35776 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
35777 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
35778 DEFAULT_DIRECTORY.
35779
35780 * util/i386/pc/grub-install.in: Do not specify --boot-file or
35781 --core-file. Specify INSTALL_DEVICE as an argument.
35782
35783 * util/console.c: Include config.h.
35784 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
35785 [HAVE_NCURSES_H]: Include ncurses.h.
35786 [HAVE_CURSES_H]: Include curses.h.
35787 [!A_NORMAL] (A_NORMAL): Defined as zero.
35788 [!A_STANDOUT] (A_STANDOUT): Likewise.
35789
35790 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
35791 -lncurses.
35792 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
35793
35794 * configure.ac: Check for curses libraries and headers.
35795
35796 * Makefile.in (LIBCURSES): New variable.
35797
35798 * genmk.rb (Script::rule): Set the executable bits.
35799
35800 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
35801 name of the PC partition map is "pc_partition_map" but not "pc".
35802
0e143073 358032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35804
35805 * util/i386/pc/grub-install.in (grub_probefs): New variable.
35806 (modules): Likewise.
35807 (usage): Added descriptions for --modules and --grub-probefs.
35808 Handle --modules and --grub-probefs. Save the arguments in MODULES
35809 and GRUB_PROBEFS, respectively.
35810 Auto-detect a filesystem module against GRUBDIR. If the result is
35811 empty and modules are not specified explicitly, abort the
35812 installation. Add the result to MODULES.
35813
35814 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
35815 disk/powerpc/ieee1275/ofdisk.c,
35816 include/grub/powerpc/ieee1275/init.h and
35817 term/powerpc/ieee1275/ofconsole.c.
35818 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
35819 term/ieee1275/ofconsole.c.
35820
35821 * include/grub/powerpc/ieee1275/console.h: Resurrected.
35822
35823 * COPYING: Upgraded to the latest version. Only the address of the
35824 FSF office has changed.
f19dbdb7 35825
efd6e6d5 358262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35827
35828 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35829 kern/ieee1275.c with kern/ieee1275/of.c.
35830
35831 * kern/ieee1275.c: Moved to ...
35832 * kern/ieee1275/of.c: ... here.
35833
8ceafda2 358342005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
35835
35836 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 35837 readability.
8ceafda2 35838
35839 * config.guess: Updated to the latest version from gnulib.
35840 * config.sub: Likewise.
35841 * install.sh: Likewise.
35842 * mkinstalldirs: Likewise.
35843
35844 * include/grub/console.h: Removed. This file is arch-specific. Do
35845 not put this in include/grub.
35846
35847 * include/grub/i386/pc/console.h: Resurrected.
35848
35849 * util/console.c: Include grub/machine/console.h instead of
35850 grub/console.h.
35851 * util/grub-emu.c: Likewise.
35852
267f6cd9 358532005-08-04 Marco Gerards <metgerards@student.han.nl>
35854
35855 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
35856 hardcoded value.
f19dbdb7 35857
267f6cd9 35858 From Vincent Pelletier <subdino2004@yahoo.fr>
35859 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
35860 Redefined to use grub_getwh.
35861 (grub_term): New member named getwh.
35862 (grub_getwh): New prototype.
35863 * kern/term.c (grub_getwh): New function.
35864 * term/i386/pc/console.c (grub_console_getwh): New function.
35865 (grub_console_term): New member `getwh'.
35866 * term/i386/pc/vga.c (grub_vga_getwh): New function.
35867 (grub_vga_term): New member `getwh'.
0b5abe02 35868 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 35869 grub_ssize_t.
35870 (grub_ofconsole_getw): New function.
35871 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
35872 (grub_ofconsole_term): New field named getwh and new initial
35873 value.
35874
3be7266d 358752005-08-03 Hollis Blanchard <hollis@penguinppc.org>
35876
35877 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
35878 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
35879 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
35880 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
35881 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
35882 of <grub/machine/ieee1275.h>.
35883 * commands/ieee1275/reboot.c: Likewise.
35884 * boot/powerpc/ieee1275/ieee1275.c: Move ...
35885 * kern/ieee1275.c: ... to here. All users updated. Change all
35886 parameter structs to use new type `grub_ieee1275_cell_t'.
35887 * term/powerpc/ieee1275/ofconsole.c: Move ...
35888 * term/ieee1275/ofconsole.c: ... to here. All users updated.
35889 * disk/powerpc/ieee1275/ofdisk.c: Move ...
35890 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
35891 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
35892 to return int.
35893 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
35894 Remove unused prototypes. All users updated.
35895 * include/grub/powerpc/ieee1275/console.h: Removed.
35896 * include/grub/powerpc/ieee1275/ieee1275.h: Define
35897 `grub_ieee1275_cell_t'.
35898 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
35899 Cast comparisons with -1 to the correct type.
35900 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
35901 type to match `grub_ieee1275_entry_fn'.
35902
8b5f3938 359032005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
35904
35905 * DISTLIST: Added util/i386/pc/grub-probefs.c.
35906
35907 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
35908 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
35909 partmap/sun.c.
35910 (grub_probefs_SOURCES): New variable.
35911
35912 * util/i386/pc/grub-probefs.c: New file.
35913
35914 * util/i386/pc/grub-setup.c (main): Call
35915 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
35916 grub_hfs_init and grub_jfs_init to initialize the system. Call
35917 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
35918 grub_pc_partition_map_fini to finish the system.
35919
ea409713 359202005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
35921
35922 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
35923 function.
35924 (grub_multiboot_load_elf32): Likewise.
35925 (grub_multiboot_is_elf64): Likewise.
35926 (grub_multiboot_load_elf64): Likewise.
35927 (grub_multiboot_load_elf): Likewise.
35928 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
35929 an ELF32 or ELF64 file.
35930 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
35931
35932 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
35933 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
35934 NULL before calling FS->LABEL.
35935 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
35936 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
35937 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
35938 before calling FS->LABEL.
35939
141a288b 359402005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
35941
35942 * util/i386/pc/grub-install.in (datadir): New variable.
35943 (libdir): Removed.
35944 (pkgdatadir): New variable.
35945 (pkglibdir): Removed.
35946
0d5f8a54 359472005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
35948
35949 * DISTLIST: Added util/i386/pc/grub-install.in.
35950
35951 * util/i386/pc/grub-install.in: New file.
35952
35953 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35954 (grub_install_SOURCES): Likewise.
35955
35956 * genmk.rb: Added support for scripts.
35957 (Script): New class.
35958 (scripts): New variable.
35959
35960 * Makefile.in (install-local): Install sbin_SCRIPTS by
35961 INSTALL_SCRIPT.
35962 (uninstall): Remove sbin_SCRIPTS.
35963
35964 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35965 device, try to get a GRUB device by
35966 grub_util_biosdisk_get_grub_dev.
35967 Free DEST_DEV.
35968
35969 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35970 description for --device-map.
35971
5f968e1e 359722005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35973
35974 Change the semantics of variable hooks. They now return strings
35975 instead of error values.
f19dbdb7 35976
5f968e1e 35977 * util/i386/pc/grub-setup.c: Include grub/env.h.
35978 (setup): Use grub_device_set_root instead of grub_env_set.
35979
35980 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35981 grub_env_get instead of grub_device_set_root and
35982 grub_device_get_root, respectively.
35983
35984 * kern/main.c (grub_env_write_root): New function.
35985 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35986 grub_env_set instead of grub_device_set_root.
35987
35988 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35989 many variables.
35990 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35991 rather than calling ENV->WRITE_HOOK afterwards.
35992 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35993 passing a pointer of a pointer.
35994 (grub_register_variable_hook): Change the types of "read_hook" and
35995 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35996 respectively.
35997 Allocate the default empty string on the heap, because this string
35998 may be freed later.
35999
36000 * kern/device.c: Include grub/env.h.
36001 (grub_device_set_root): Removed.
36002 (grub_device_get_root): Likewise.
36003 (grub_device_open): Use grub_env_get instead of
36004 grub_device_get_root.
36005
36006 * include/grub/env.h (grub_env_read_hook_t): New type.
36007 (grub_env_write_hook_t): Likewise.
36008 (grub_env_var): Change the types of "read_hook" and "write_hook"
36009 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36010 (grub_register_variable_hook): Likewise.
36011
36012 * include/grub/device.h (grub_device_set_root): Removed.
36013 (grub_device_set_root): Likewise.
36014
36015 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36016 make sure that DIRNAME terminates with '/', so that
36017 grub_fat_find_dir will fail if PATH is not a directory.
36018
36019 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36020 from DIRNAME.
36021 Use the qualifier auto for print_files and print_files_long.
36022 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36023 as a regular file.
36024 Put a newline only if there is no error.
36025 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36026 used.
36027
896f0afd 360282005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36029
36030 * kern/partition.c (grub_partition_probe): Initialize PART to
36031 NULL. Otherwise, when no partition map is registered, this returns
36032 a garbage.
36033
b28b81b2 360342005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36035
36036 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36037 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36038 valid.
36039
5f3607e0 360402005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36041
36042 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36043 information on each device, if it does not have partitions. Print
36044 "Device" instead of "Disk", because this function is not specific
36045 to disk devices.
36046
36047 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36048 static to ensure that it is put on the memory rather than a
36049 register.
36050
502c87e8 360512005-07-17 Yoshinori Okuji <okuji@enbug.org>
36052
36053 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36054 (grub_cat_init): Likewise.
36055 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36056 (options): Likewise.
36057 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36058 (grub_configfile_init): Likewise.
36059 * font/manager.c (GRUB_MOD_INIT): Likewise.
36060 * commands/help.c (GRUB_MOD_INIT): Likewise.
36061 (grub_help_init): Likewise.
36062 * normal/command.c (grub_command_init): Likewise.
36063 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36064 * disk/loopback.c (grub_loop_init): Likewise.
36065 (GRUB_MOD_INIT): Likewise.
36066 * commands/ls.c (grub_ls_init): Likewise.
36067 (GRUB_MOD_INIT): Likewise.
36068 (options): Likewise.
36069 * commands/boot.c (grub_boot_init): Likewise.
36070 (GRUB_MOD_INIT): Likewise.
36071 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36072 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36073 (GRUB_MOD_INIT): Likewise.
36074 * commands/cmp.c (grub_cmp_init): Likewise.
36075 (GRUB_MOD_INIT): Likewise.
36076
36077 * normal/arg.c: Use <> instead of "" to include header files.
36078 (SHORT_ARG_HELP): New macro.
36079 (SHORT_ARG_USAGE): Likewise.
36080 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36081 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36082 descriptions.
36083 (find_short): Check if C is 'h' or 'u' explicitly.
36084 (grub_arg_show_help): Use space characters instead of tabs. Treat
36085 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36086 are shown with --help and --usage only if they are not used for
36087 the command itself.
36088 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36089 'h' and 'u'.
36090
36091 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36092 const into "longarg". Change the type of "shortarg" to int.
36093
f806d18e 360942005-07-17 Yoshinori Okuji <okuji@enbug.org>
36095
36096 * boot/i386/pc/boot.S (boot_drive_check): New label.
36097
36098 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36099 macro.
36100
36101 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36102 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36103
e293232b 361042005-07-17 Yoshinori Okuji <okuji@enbug.org>
36105
36106 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36107 When turning off Gate A20, skip the check and return immediately,
36108 because this is not fatal usually.
36109
ebedfd00 361102005-07-17 Yoshinori Okuji <okuji@enbug.org>
36111
36112 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36113 be 0x7C00 instead of 0x8000.
36114
36115 * boot/i386/pc/pxeboot.S: Rewritten.
36116
36117 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36118 EXT_C.
36119 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36120 result.
36121
654fc59f 361222005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36123
36124 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36125 robustness. This routine now supports a BIOS call and System
36126 Control Port A to modify the gate A20.
36127
36128 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36129 Increased to 0x440.
36130
09f9923f 361312005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36132
36133 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36134 device path and resulting ihandle.
36135 (grub_ofdisk_close): dprintf the ihandle being closed.
36136 (grub_ofdisk_read): dprintf function parameters.
36137 * kern/mm.c (grub_mm_init_region): Likewise.
36138 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36139 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36140 size, and boot arguments.
36141 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36142 before loading into memory.
36143 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36144 before loading into memory.
36145
7ef504d8 361462005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36147
36148 * kern/mm.c: Added much documentation.
36149 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36150 8, set to 5 instead of 8.
36151
e0f050c2 361522005-07-10 Yoshinori Okuji <okuji@enbug.org>
36153
36154 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36155
36156 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36157 (grub_mkdevicemap_SOURCES): New variable.
36158
36159 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36160 lib/device.c of GRUB Legacy.
36161
7224189a 361622005-07-10 Yoshinori Okuji <okuji@enbug.org>
36163
36164 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36165 instead of PATH is NULL.
36166
68c864eb 361672005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36168
36169 * commands/cmp.c (BUFFER_SIZE): New macro.
36170 (grub_cmd_cmp): Close the right file at the right time. Compare
36171 only data just read. Don't report files of different size as
36172 identical. Dynamically allocate buffers. Move variable
36173 declarations at the beginning of function.
36174
e6f3e614 361752005-07-09 Yoshinori Okuji <okuji@enbug.org>
36176
36177 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36178 reverse.
36179
f8f1559a 361802004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36181
36182 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36183 when backspace is pressed at beginning of line.
36184
39c9d41d 361852005-07-03 Yoshinori Okuji <okuji@enbug.org>
36186
36187 * DISTLIST: Added genfslist.sh.
36188
36189 * normal/main.c (fs_module_list): New variable.
36190 (autoload_fs_module): New function.
36191 (read_fs_list): Likewise.
36192 (grub_normal_execute): Call read_fs_list.
36193
36194 * kern/fs.c (grub_fs_autoload_hook): New variable.
36195 (grub_fs_probe): Added support for auto-loading.
36196
36197 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36198 (grub_fs_module_list_t): New type.
36199
36200 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36201 (grub_fs_autoload_hook): New prototype.
36202
36203 * genfslist.sh: New file.
f19dbdb7 36204
39c9d41d 36205 * genmk.rb: Added a rule to generate a filesystem list.
36206
121c1d83 362072005-06-30 Marco Gerards <metgerards@student.han.nl>
36208
36209 * configure.ac: Fix the test for cross-compiling.
36210
36211 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36212 define GRUB_UTIL anymore.
36213
36214 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36215 so this function works on other systems than just big endian.
36216 (load_modules): Likewise.
36217 (add_segments): Likewise.
36218
e75d76e1 362192005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36220
36221 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36222 contains `l' modifier, get a long from va_arg().
36223
50b5a0a7 362242005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36225
36226 * kern/mm.c (grub_free): If the next free block which is being
36227 merged is the first free block, set the first block to the block
36228 being freed.
36229 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36230
89371b20 362312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36232
36233 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36234 `grub_ieee1275_chosen'.
36235
168d6e58 362362005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36237
36238 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36239 (grub_ieee1275_chosen): New variable.
36240 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36241 `chosen'.
36242 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36243 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36244 Rename first argument to `phandle' for consistency.
36245 (grub_ieee1275_get_property_length): Likewise.
36246 (grub_ieee1275_next_property): Likewise. Change type of first argument
36247 to grub_ieee1275_phandle_t.
36248 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36249 Move export next to declaration.
36250 (grub_ieee1275_chosen): New variable.
36251 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36252 Correct cosmetic typo.
36253 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36254 `grub_ieee1275_chosen'.
36255 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36256 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36257 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36258 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36259 `grub_ieee1275_chosen'.
36260
ca5baa3f 362612005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36262
36263 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36264 /chosen/bootargs.
36265 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36266 /chosen/bootargs as "variable=value" pairs.
36267
708b345f 362682005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36269
36270 * include/grub/misc.h (grub_dprintf): New macro.
36271 (grub_real_dprintf): New prototype.
36272 (grub_strword): Likewise.
36273 (grub_iswordseparator): Likewise.
36274 * kern/misc.c (grub_real_dprintf): New function.
36275 (grub_strword): Likewise.
36276 (grub_iswordseparator): Likewise.
36277
f4c5e67c 362782005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36279
36280 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36281 (roundup): Remove macro.
36282 (grub_ieee1275_flags): Make static.
36283 (grub_ieee1275_realmode): Remove.
36284 (grub_ieee1275_test_flag): New function.
36285 (grub_ieee1275_set_flag): Likewise.
36286 (find_options): Rename to `grub_ieee1275_find_options'; update
36287 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36288 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36289 (cmain): New prototype.
36290 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36291 `grub_ieee1275_flags' directly.
36292 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36293 machine/biosdisk.h.
36294 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36295 Don't include grub/machine/init.h.
36296 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36297 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36298 Remove prototype.
36299 (grub_ieee1275_realmode): Likewise.
36300 (grub_ieee1275_flag): New enum.
36301 (grub_ieee1275_test_flag): New prototype.
36302 (grub_ieee1275_set_flag): New prototype.
36303 * include/grub/powerpc/ieee1275/init.h: Remove file.
36304 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36305 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36306 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36307 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36308 comment.
36309 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36310 `grub_ieee1275_test_flag'.
36311 (grub_ieee1275_encode_devname): Likewise.
36312
ed16607e 363132005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36314
36315 * include/grub/powerpc/ieee1275/ieee1275.h
36316 (grub_ieee1275_encode_devname): New prototype.
36317 (grub_ieee1275_get_filename): Likewise.
36318 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36319 function.
36320 (grub_set_prefix): Likewise.
36321 (grub_machine_init): Call grub_set_prefix.
36322 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36323 (grub_parse_type): New enum.
36324 (grub_ieee1275_get_devargs): New function.
36325 (grub_ieee1275_get_devname): Likewise.
36326 (grub_ieee1275_parse_args): Likewise.
36327 (grub_ieee1275_get_filename): Likewise.
36328 (grub_ieee1275_encode_devname): Likewise.
36329
be369920 363302005-03-30 Marco Gerards <metgerards@student.han.nl>
36331
36332 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36333 `grub_loader_unset'.
36334
a5ce3a4a 363352005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36336
36337 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36338 instead of grub_ieee1275_interpret.
36339 (grub_halt_init): New function.
36340 (grub_halt_fini): Likewise.
36341 (GRUB_MOD_INIT): Correct message grammar.
36342 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36343 instead of grub_ieee1275_interpret.
36344 (grub_reboot_init): New function.
36345 (grub_reboot_fini): Likewise.
36346 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36347 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36348 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36349 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36350 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36351 function.
36352 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36353 Add prototype.
36354 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36355 prototype.
36356 (grub_halt): Likewise.
36357 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36358 (cmain): Remove __attribute__((unused)).
36359 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36360 (grub_heap_len): Likewise.
36361 (grub_machine_fini): New function.
36362 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36363 (grub_halt): Likewise.
36364 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36365 function.
36366 * util/powerpc/ieee1275/misc.c: New file.
36367
0058f771 363682005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36369
36370 * DISTLIST: New file.
36371 * gendistlist.sh: Likewise.
f19dbdb7 36372
0058f771 36373 * Makefile.in (COMMON_DISTFILES): Removed.
36374 (BOOT_DISTFILES): Likewise.
36375 (CONF_DISTFILES): Likewise.
36376 (DISK_DISTFILES): Likewise.
36377 (FS_DISTFILES): Likewise.
36378 (INCLUDE_DISTFILES): Likewise.
36379 (KERN_DISTFILES): Likewise.
36380 (LOADER_DISTFILES): Likewise.
36381 (TERM_DISTFILES): Likewise.
36382 (UTIL_DISTFILES): Likewise.
36383 (DISTFILES): Likewise.
36384 (uninstall): Uninstall files in $(pkgdata_DATA).
36385 (DISTLIST): New target.
36386 (distdir): Use the contents of the file DISTLIST to get a list of
36387 distributed files.
36388
46b3b8a5 363892005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36390
36391 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36392 descriptor. This is ported from GRUB Legacy.
36393
36394 * gencmdlist.sh: Added an extra semicolon to make it work with
36395 old sed versions. Reported by Robert Bihlmeyer
36396 <robbe@orcus.priv.at>.
36397
5822ff87 363982005-03-08 Yoshinori Okuji <okuji@enbug.org>
36399
36400 Automatic loading of commands is supported.
f19dbdb7 36401
5822ff87 36402 * normal/main.c (read_command_list): New function.
36403 (grub_normal_execute): Call read_command_list.
36404
36405 * normal/command.c (grub_register_command): Return zero or CMD.
36406 Allocate CMD->NAME from the heap.
36407 Initialize CMD->MODULE_NAME to zero.
36408 Find the same name as well. If the same command is found and it is
36409 a dummy command, overwrite members. If it is not a dummy command,
36410 return zero.
36411 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36412 (grub_command_find): If a dummy command is found, load a module
36413 and retry to find a command only once.
36414
36415 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36416 make sure that each command is loaded.
36417
36418 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36419 macro.
36420 (struct grub_command): Remove const from the member `name'.
36421 Add a new member `module_name'.
36422 (grub_register_command): Return grub_command_t.
36423
36424 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36425 sure that each command is loaded.
36426
36427 * genmk.rb (PModule::rule): Specify a module name without the
36428 suffix ".mod" to gencmdlist.sh.
36429
7b1f4b57 364302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36431
36432 * gencmdlist.sh: New file.
f19dbdb7 36433
7b1f4b57 36434 * genmk.rb (PModule::rule): Generate a rule for a command list.
36435 Clean command.lst.
36436 Generate command.lst from $(COMMANDFILES).
36437
36438 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36439 (DATA): Added $(pkgdata_DATA).
36440 (install-local): Install files in $(pkgdata_DATA).
36441
062aaf39 364422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36443
36444 * term/i386/pc/vga.c (debug_command): Removed.
36445 (GRUB_MOD_INIT): Do not register the command "debug".
36446
36447 From Hollis Blanchard:
36448 * commands/configfile.c: New file.
36449 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36450 commands/configfile.c.
36451 (pkgdata_MODULES): Added configfile.mod.
36452 (configfile_mod_SOURCES): New variable.
36453 (configfile_mod_CFLAGS): Likewise.
36454 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36455 commands/configfile.c.
36456 (pkgdata_MODULES): Added configfile.mod.
36457 (configfile_mod_SOURCES): New variable.
36458 (configfile_mod_CFLAGS): Likewise.
36459 * util/grub-emu.c (main): Call grub_configfile_init and
36460 grub_configfile_fini.
36461 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36462 prototype.
36463 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36464
cee01aa6 364652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36466
36467 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36468 address.
36469
36470 * commands/help.c (grub_cmd_help): Do not print newlines after
36471 the last command in print_command_help.
36472
93f3a1d8 364732005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36474
36475 * commands/default.h: New file.
36476 * commands/timeout.h: Likewise.
36477 * normal/context.c: Likewise.
f19dbdb7 36478
93f3a1d8 36479 * util/misc.c: Do not include sys/times.h.
36480 Include sys/time.h and grub/machine/time.h.
36481 (grub_get_rtc): Rewritten with gettimeofday.
36482
36483 * util/grub-emu.c (main): Call grub_default_init and
36484 grub_timeout_init before grub_normal_init, and call
36485 grub_timeout_fini and grub_default_fini after grub_main.
36486
36487 * util/console.c (grub_ncurses_checkkey): Return the read
36488 character or -1.
36489
36490 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36491 timeouts.
36492
36493 * normal/main.c (read_config_file): Push MENU. If this fails,
36494 print an error and wait for a user input.
36495 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36496 If a menu is empty or an error occurs, pop MENU.
36497 (grub_normal_execute): Pop and free MENU after grub_menu_run
36498 returns.
36499
36500 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36501
36502 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36503 include time.h.
36504 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36505 without GRUB_UTIL.
36506 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36507 time.h.
36508 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36509 without GRUB_UTIL.
36510
36511 * include/grub/normal.h (struct grub_menu_list): New struct.
36512 (grub_menu_list_t): New type.
36513 (struct grub_context): New struct.
36514 (grub_context_t): New type.
36515 (grub_register_command): Got rid of EXPORT_FUNC.
36516 (grub_unregister_command): Likewise.
36517 (grub_context_get): New prototype.
36518 (grub_context_get_current_menu): Likewise.
36519 (grub_context_push_menu): Likewise.
36520 (grub_context_pop_menu): Likewise.
36521 [GRUB_UTIL] (grub_default_init): Likewise.
36522 [GRUB_UTIL] (grub_default_fini): Likewise.
36523 [GRUB_UTIL] (grub_timeout_init): Likewise.
36524 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36525
36526 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36527 commands/timeout.c and normal/context.c.
36528 (pkgdata_MODULES): Added default.mod and timeout.mod.
36529 (normal_mod_SOURCES): Added normal/context.c.
36530 (default_mod_SOURCES): New variable.
36531 (default_mod_CFLAGS): Likewise.
36532 (timeout_mod_SOURCES): Likewise.
36533 (timeout_mod_CFLAGS): Likewise.
36534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36535 conf/i386-pc.rmk.
36536 (pkgdata_MODULES): Added default.mod and timeout.mod.
36537 (normal_mod_SOURCES): Added normal/context.c.
36538 (default_mod_SOURCES): New variable.
36539 (default_mod_CFLAGS): Likewise.
36540 (timeout_mod_SOURCES): Likewise.
36541 (timeout_mod_CFLAGS): Likewise.
36542
36543 * Makefile.in (all-local): Added $(MKFILES).
36544
4ed2e1dd 365452005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36546
36547 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36548 (grub_emu_SOURCES): Likewise.
36549 (pkgdata_MODULES): Add `sun.mod'.
36550 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36552 `partmap/sun.c'.
36553 (pkgdata_MODULES): Add `sun.mod'.
36554 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36555 * include/grub/partition.h (grub_sun_partition_map_init): New
36556 prototype.
36557 (grub_sun_partition_map_fini): Likewise.
36558 * partmap/sun.c: New file.
36559 * util/grub-emu.c (main): Initialize and de-initialize the sun
36560 partitionmap support.
36561
4d4e372e 365622005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36563
36564 This implements an Emacs-like menu entry editor.
f19dbdb7 36565
4d4e372e 36566 * normal/menu_entry.c: New file.
f19dbdb7 36567
4d4e372e 36568 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36569 characters to ASCII.
36570 (saved_char): New variable.
36571 (grub_ncurses_checkkey): Rewritten completely.
36572 (grub_ncurses_getkey): Likewise.
36573 (grub_ncurses_init): Call raw instead of cbreak.
36574
36575 * normal/menu.c (print_entry): Do not put a space.
36576 (init_page): Renamed to ...
36577 (grub_menu_init_page): ... this. All callers changed.
36578 (edit_menu_entry): Removed.
36579 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36580
36581 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36582
36583 * kern/misc.c (grub_vprintf): Call grub_refresh.
36584
36585 * normal/menu.c (DISP_LEFT): Renamed to ...
36586 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36587 * normal/menu.c (DISP_UP): Renamed to ...
36588 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36589 * normal/menu.c (DISP_RIGHT): Renamed to ...
36590 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36591 * normal/menu.c (DISP_DOWN): Renamed to ...
36592 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36593 * normal/menu.c (DISP_HLINE): Renamed to ...
36594 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36595 * normal/menu.c (DISP_VLINE): Renamed to ...
36596 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36597 * normal/menu.c (DISP_UL): Renamed to ...
36598 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36599 * normal/menu.c (DISP_UR): Renamed to ...
36600 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36601 * normal/menu.c (DISP_LL): Renamed to ...
36602 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36603 * normal/menu.c (DISP_LR): Renamed to ...
36604 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36605 * normal/menu.c (TERM_WIDTH): Renamed to ...
36606 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36607 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36608 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36609 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36610 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36611 * normal/menu.c (TERM_MARGIN): Renamed to ...
36612 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36613 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36614 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36615 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36616 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36617 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36618 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36619 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36620 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36621 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36622 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36623 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36624 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36625 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36626 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36627 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36628 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36629 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36630 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36631 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36632 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36633 All callers changed.
36634
36635 * include/grub/normal.h: New prototype.
36636
36637 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36638 normal/menu_entry.c.
36639 (normal_mod_SOURCES): Likewise.
36640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36641 (normal_mod_SOURCES): Likewise.
36642
e6b92c8a 366432005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36644
36645 * include/grub/normal.h (grub_halt_init): New prototype.
36646 (grub_halt_fini): Likewise.
36647 (grub_reboot_init): Likewise.
36648 (grub_reboot_fini): Likewise.
36649
36650 * util/grub-emu.c: Include signal.h.
36651 (main_env): New global variable.
36652 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36653 catch C-c.
36654 (grub_machine_fini): New function.
36655 (main): Call grub_halt_init and grub_reboot_init before
36656 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36657 Call setjmp with MAIN_ENV to go back afterwards.
36658 Call grub_machine_fini right before return.
36659
36660 * include/grub/util/misc.h: Include setjmp.h.
36661 (main_env): New prototype.
36662
36663 * include/grub/kernel.h (grub_machine_fini): New prototype.
36664 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36665 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36666
36667 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36668 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36669 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 36670
e6b92c8a 36671 * util/i386/pc/misc.c: New file.
f19dbdb7 36672
e6b92c8a 36673 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36674 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36675 commands/i386/pc/reboot.c.
36676
c642636f 366772005-02-14 Guillem Jover <guillem@hadrons.org>
36678
36679 * include/grub/dl.h (grub_dl_check_header): New prototype.
36680 (grub_arch_dl_check_header): Change return type to grub_err_t,
36681 remove size parameter and export function. Update all callers.
36682 * kern/dl.c (grub_dl_check_header): New function.
36683 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36684 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36685 are inside the core.
36686 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36687 independent ELF header checks.
36688 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36689 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36690 `grub_dl_check_header' instead of explicit checks. Check for the
36691 ELF type.
36692 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36693 `grub_dl_check_header' instead of explicit checks. Remove arch
36694 specific ELF header checks.
36695
e6b92c8a 36696 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36697 argument SIZE.
36698
5eabe94b 366992005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36700
36701 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36702 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36703
1b14a681 367042005-02-12 Hollis Blanchard <hollis@penguinppc.org>
36705
36706 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 36707 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 36708 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 36709 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 36710 * partmap/amiga.c (amiga_partition_map_iterate): Return
36711 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
36712 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36713
aca108aa 367142005-02-01 Guillem Jover <guillem@hadrons.org>
36715
36716 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
36717 help info.
36718
c9f9c556 367192005-01-31 Marco Gerards <metgerards@student.han.nl>
36720
36721 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
36722 Removed prototype.
36723 (grub_rescue_cmd_linux): New prototype.
36724 (grub_rescue_cmd_initrd): Likewise.
36725 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
36726 `bi_rec'.
36727 (grub_linux_release_mem): Release the memory for the initrd.
36728 (grub_load_linux): Renamed from this...
36729 (grub_rescue_cmd_linux): ...To this. Changed all callers.
36730 Changed `entry' not to be static. Loop over memory regions to
36731 find another one when the default fails.
36732 (grub_rescue_cmd_initrd): New function.
36733 (grub_linux_init): Remove function.
36734 (grub_linux_fini): Likewise.
36735 (GRUB_MOD_INIT): Register `initrd'.
36736 (GRUB_MOD_FINI): Unregister `initrd'.
36737 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
36738 Function removed.
36739 (grub_linux_normal_fini): Likewise.
36740 (GRUB_MOD_INIT): Register `initrd'.
36741 (GRUB_MOD_FINI): Unregister `initrd'.
36742
990cf3aa 367432005-01-31 Marco Gerards <metgerards@student.han.nl>
36744
36745 * commands/help.c: New file.
36746 * normal/arg.c (show_help): Renamed to...
36747 (grub_arg_show_help): ... this.
36748 * commands/i386/pc/halt.c: New file.
36749 * commands/i386/pc/reboot.c: Likewise.
36750 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
36751 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
36752 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
36753 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
36754 variables.
36755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36756 `commands/help.c'.
36757 (pkgdata_MODULES): Add `help.mod'.
36758 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
36759 * grub/i386/pc/init.h (grub_reboot): New prototype.
36760 (grub_halt): Likewise.
36761 * include/grub/normal.h (grub_arg_show_help): New prototype.
36762 (grub_help_init): Likewise.
36763 (grub_help_fini): Likewise.
36764 * util/grub-emu.c (main): Initialize and deinitialize the help
36765 command.
36766
36767 * normal/cmdline.c (grub_cmdline_get): Doc fix.
36768
36769 * normal/command.c (grub_command_init): Fixed the description of
36770 the `set' and `unset' commands.
36771
367722005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 36773
36774 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
36775 function.
36776 * commands/ieee1275/halt.c: New file.
36777 * commands/ieee1275/reboot.c: Likewise.
36778 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
36779 `__attribute__ ((unused))'. Some GCS related fixed.
36780 (grub_suspend_init) [GRUB_UTIL]: Function removed.
36781 (grub_suspend_fini): Likewise.
36782 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
36783 and `halt.mod'.
36784 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
36785 (halt_mod_CFLAGS): New variables.
36786 * include/grub/powerpc/ieee1275/ieee1275.h
36787 (grub_ieee1275_interpret): New prototype.
36788
1ab09cc7 367892005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
36790
36791 * include/grub/misc.h (memmove): New prototype.
36792 (memcpy): Likewise.
36793
8b8cbdb2 367942005-01-22 Hollis Blanchard <hollis@penguinppc.org>
36795
36796 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
36797 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
36798
e3741a27 367992005-01-22 Marco Gerards <metgerards@student.han.nl>
36800
36801 * kern/misc.c (grub_strndup): Function rewritten.
36802
776bd780 368032005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
36804
36805 * normal/menu.c (TERM_WIDTH): Macro redefined.
36806 (TERM_TOP_BORDER_Y): Likewise.
36807 (draw_border): Replaced while-loop by a for-loop. Make the number
36808 of lines consistent with the number of lines displayed in
36809 print_entries. Added a margin below the rectangle.
36810 (print_entry): Make the entry fit in the rectangle.
36811 (print_entries): Display the scroll arrows next to the right
36812 border.
36813
78026bce 368142005-01-21 Marco Gerards <metgerards@student.han.nl>
36815
36816 * fs/minix.c (grub_minix_find_file): Reserve more space for
36817 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
36818 `grub_strncpy' to copy `path' into it.
36819
67bbaf0f 368202005-01-21 Marco Gerards <metgerards@student.han.nl>
36821
36822 Add the loopback device, a device via which files can be accessed
36823 as devices.
f19dbdb7 36824
67bbaf0f 36825 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
36826 (pkgdata_MODULES): Add loopback.mod.
36827 (loopback_mod_SOURCES): New variable.
36828 (loopback_mod_CFLAGS): Likewise.
36829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36830 `disk/loopback.c'.
36831 (pkgdata_MODULES): Add loopback.mod.
36832 (loopback_mod_SOURCES): New variable.
36833 (loopback_mod_CFLAGS): Likewise.
36834 * disk/loopback.c: new file.
36835 * include/grub/normal.h (grub_loop_init): New prototype.
36836 (grub_loop_fini): New prototype.
36837 * util/grub-emu.c (main): Initialize and de-initialize loopback
36838 support.
36839 * include/grub/disk.h (grub_disk_dev_id): Add
36840 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
36841
6f1c18bd 368422005-01-20 Hollis Blanchard <hollis@penguinppc.org>
36843
36844 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
36845 function.
36846 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
36847 (suspend_mod_SOURCES): New variable.
36848 (suspend_mod_CFLAGS): Likewise.
36849 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
36850 New prototype.
36851 * commands/ieee1275/suspend.c: New file.
36852
b38551da 368532005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36854
36855 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 36856 ((unused))' to `__attribute__ ((used))'.
b38551da 36857 (GRUB_MOD_FINI): Likewise.
36858 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
36859 * genmk.rb (PModule): Assign space to common symbols when linking
36860 modules.
36861
777aff39 368622005-01-20 Marco Gerards <metgerards@student.han.nl>
36863
36864 * include/grub/mm.h (grub_mm_init_region): Change the type of the
36865 `unsigned' arguments to `grub_size_t'.
36866 (grub_malloc): Likewise.
36867 (grub_realloc): Likewise.
36868 (grub_memalign): Likewise.
36869 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
36870 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36871 * util/misc.c (grub_malloc): Likewise.
36872 (grub_realloc): Likewise.
36873 * kern/mm.c (get_header_from_pointer): Change the casts to
36874 `unsigned' into a cast to `grub_size_t'.
36875
36876 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
36877 point to `currnode' when `currnode' is changed.
36878
36879 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
36880 Schottelius <nico-linux@schottelius.org>.
36881
d0ff18e1 368822005-01-09 Hollis Blanchard <hollis@penguinppc.org>
36883
36884 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
36885 (note_path): Remove variable.
36886 (GRUB_IEEE1275_NOTE_NAME): New macro.
36887 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
36888 (grub_ieee1275_note_hdr): New structure.
36889 (grub_ieee1275_note_desc): Likewise.
36890 (grub_ieee1275_note): Likewise.
36891 (load_note): Remove `dir' argument. All callers updated. Remove
36892 `note_img' and `path'. Do not load a file from `note_path'.
36893 Initialize a struct grub_ieee1275_note and write that to `out'.
36894 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
36895
4ca7004c 368962005-01-05 Marco Gerards <metgerards@student.han.nl>
36897
36898 * util/misc.c (grub_util_read_image): Revert last change. It
36899 called `grub_util_read_at', which seeks from the beginning of the
36900 file.
36901
0b412211 369022005-01-04 Hollis Blanchard <hollis@penguinppc.org>
36903
36904 * TODO: Add note about endianness in grub-mkimage.
36905 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
36906 section.
36907 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
36908 (grub_mkimage_SOURCES): New target.
36909 * include/grub/kernel.h (grub_start_addr): Remove variable.
36910 (grub_end_addr): Likewise.
36911 (grub_total_module_size): Likewise.
36912 (grub_kernel_image_size): Likewise.
36913 (GRUB_MODULE_MAGIC): New constant.
36914 (grub_module_info): New structure.
36915 (grub_arch_modules_addr): New prototype.
36916 (grub_get_end_addr): Remove prototype.
36917 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
36918 * include/grub/powerpc/ieee1275/kernel.h: New file.
36919 * include/grub/util/misc.h (grub_util_get_fp_size): New
36920 prototype.
36921 (grub_util_read_at): Likewise.
36922 (grub_util_write_image_at): Likewise.
36923 * kern/main.c (grub_get_end_addr): Remove function.
36924 (grub_load_modules): Call grub_arch_modules_addr instead of using
36925 grub_end_addr. Look for a grub_module_info struct in memory. Use
36926 the grub_module_info fields instead of calling grub_get_end_addr
36927 as loop conditions. Move grub_add_unused_region code here.
36928 (grub_add_unused_region): Remove function.
36929 * kern/i386/pc/init.c: Include grub/cache.h.
36930 (grub_machine_init): Remove call to grub_get_end_addr. Remove
36931 one call to add_mem_region.
36932 (grub_arch_modules_addr): New function.
36933 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
36934 (grub_total_module_size): Likewise.
36935 Include grub/machine/kernel.h.
36936 (grub_arch_modules_addr): New function.
36937 * util/grub-emu.c (grub_end_addr): Remove variable.
36938 (grub_total_module_size): Likewise.
36939 (grub_arch_modules_addr): New function.
36940 * util/misc.c: Include unistd.h.
36941 (grub_util_get_fp_size): New function.
36942 (grub_util_read_at): Likewise.
36943 (grub_util_write_image_at): Likewise.
36944 (grub_util_read_image): Call grub_util_read_at.
36945 (grub_util_write_image): Call grub_util_write_image_at.
36946 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
36947 additional memory in kernel_img for a struct grub_module_info.
36948 Fill in that grub_module_info.
36949 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36950
458786f8 369512005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36952
36953 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36954 New function.
36955 * include/grub/powerpc/ieee1275/ieee1275.h
36956 (grub_ieee1275_milliseconds): New prototype.
36957 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36958 Change to 1000.
36959 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36960 grub_ieee1275_milliseconds.
36961
ac507d1b 369622005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36963
36964 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36965 variable.
36966 (find_options): New function.
36967 (cmain): Call find_options.
36968 * include/grub/powerpc/ieee1275/ieee1275.h
36969 (grub_ieee1275_realmode): New extern variable.
36970 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36971 grub_map if grub_ieee1275_realmode is false.
36972
6b8fd1c4 369732004-12-29 Marco Gerards <metgerards@student.han.nl>
36974
36975 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36976 lines are inserted and make it work like readline. Reported by
36977 Vincent Pelletier <subdino2004@yahoo.fr>.
36978
8514a1e0 369792004-12-28 Marco Gerards <metgerards@student.han.nl>
36980
36981 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36982
36983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36984 `kern/powerpc/cache.S'.
36985
924b6140 369862004-12-27 Marco Gerards <metgerards@student.han.nl>
36987
36988 * genmk.rb: Handle the `Program' class in the main loop. Written
36989 by Johan Rydberg <jrydberg@gnu.org>.
36990 (Program): New class.
36991 (programs): New variable.
36992 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36993 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36994 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36995 (help_arch): Function removed.
36996 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36997 `powerpc/libgcc.h' and `loader.h'.
36998 (pkgdata_PROGRAMS): New variable.
36999 (sbin_UTILITIES): Variable removed.
37000 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37001 (grubof_SOURCES): Variable re-defined so it only includes the
37002 core functionality.
37003 (grubof_CFLAGS): Remove `-DGRUBOF'.
37004 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37005 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37006 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37007 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37008 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37009 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37010 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37011 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37012 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37013 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37014 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37015 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37016 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37017 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37018 (pc_mod_CFLAGS): New variables.
37019 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37020 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37021 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37022 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37023 Moved from here...
37024 * include/grub/i386/pc/init.h (grub_os_area_addr)
37025 (rub_os_area_size): ... to here.
37026 * include/grub/powerpc/ieee1275/ieee1275.h
37027 (grub_ieee1275_entry_fn): Export symbol.
37028 * include/grub/powerpc/ieee1275/init.h: New file.
37029 * include/grub/powerpc/libgcc.h: Likewise.
37030 * include/grub/cache.h: Likewise.
37031 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37032 <hollis@penguinppc.org>.
37033 * kern/dl.c: Include <grub/cache.h>.
37034 (grub_dl_flush_cache): New function.
37035 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37036 for this module.
37037 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37038 (grub_console_init): Removed prototypes.
37039 (grub_machine_init): Don't initialize the modules anymore.
37040 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37041 static.
37042 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37043 Macro undef removed.
37044 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37045 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37046 relocation `R_PPC_REL32'. Return an error when the relocation is
37047 unknown.
37048 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37049 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37050 * util/misc.c (grub_arch_sync_caches): Likewise.
37051
e4b47e0c 370522004-12-19 Marco Gerards <metgerards@student.han.nl>
37053
37054 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37055 `symlist.c', add `grubof_symlist.c'.
37056 (symlist.c): Variable removed.
37057 (grubof_HEADERS): Variable added.
37058 (grubof_symlist.c): New target.
37059 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37060 `kernel_img_HEADERS'.
37061 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37062 * kern/powerpc/dl.c: New file.
37063 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37064 Function removed.
37065 (grub_arch_dl_relocate_symbols): Likewise.
37066 (grub_register_exported_symbols): Likewise.
37067
4ceb3636 370682004-12-13 Marco Gerards <metgerards@student.han.nl>
37069
37070 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37071 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37072 to fail instead. Reported by Vincent Pelletier
37073 <subdino2004@yahoo.fr>.
37074
37075 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37076 it is not allocated. Reported by Vincent Pelletier
37077 <subdino2004@yahoo.fr>.
37078
37079 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37080 output so the output looks better.
f19dbdb7 37081
3f1578fe 370822004-12-04 Marco Gerards <metgerards@student.han.nl>
37083
37084 Modulize the partition map support and add support for the amiga
37085 partition map.
f19dbdb7 37086
3f1578fe 37087 * commands/ls.c: Include <grub/partition.h> instead of
37088 <grub/machine/partition.h>.
37089 * kern/disk.c: Likewise.
37090 * kern/rescue.c: Likewise.
37091 * loader/i386/pc/chainloader.c: Likewise.
37092 * normal/cmdline.c: Likewise.
37093 * kern/powerpc/ieee1275/init.c: Likewise.
37094 (grub_machine_init): Call `grub_pc_partition_map_init',
37095 `grub_amiga_partition_map_init' and
37096 `grub_apple_partition_map_init'.
37097 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37098 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37099 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37100 `partition.h' and `pc_partition.h'.
37101 (grub_setup_SOURCES): Remove
37102 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37103 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37104 (grub_emu_SOURCES): Likewise.
37105 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37106 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37107 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37109 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37110 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37111 (grubof_SOURCES): Likewise.
37112 * disk/i386/pc/partition.c: File removed.
37113 * disk/powerpc/ieee1275/partition.c: Likewise.
37114 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37115 * include/grub/i386/pc/partition.h: Likewise.
37116 * kern/partition.c: New file.
37117 * partmap/amiga.c: Likewise.
37118 * partmap/apple.c: Likewise.
37119 * partmap/pc.c: Likewise.
37120 * include/grub/partition.h: Likewise..
37121 * include/grub/pc_partition.h: Likewise.
37122 * util/grub-emu.c: Include <grub/partition.h> instead of
37123 <grub/machine/partition.h>.
37124 (main): Call `grub_pc_partition_map_init',
37125 `grub_amiga_partition_map_init' and
37126 `grub_apple_partition_map_init' and deinitialize afterwards.
37127 * util/i386/pc/biosdisk.c: Include `#include
37128 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37129 `<grub/machine/partition.h>'.
37130 * util/i386/pc/grub-setup.c: Likewise.
37131 * util/i386/pc/biosdisk.c: Likewise.
37132 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37133 partition information in case of a PC partition.
37134 * util/i386/pc/grub-setup.c: Include `#include
37135 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37136 `<grub/machine/partition.h>'.
37137 (setup): Only access the PC specific partition information in case
37138 of a PC partition.
37139
0ef4ced9 371402004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37141
0ef4ced9 37142 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37143 (grub_longjmp): Likewise.
37144 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37145 20.
37146 * normal/powerpc/setjmp.S: New file.
37147 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37148 `normal/powerpc/setjmp.S'.
37149 (grubof_CFLAGS): Add `-DGRUBOF'.
37150 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37151 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37152
19950e29 371532004-11-16 Marco Gerards <metgerards@student.han.nl>
37154
37155 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37156 property named `name'. Correctly handle the error returned by
37157 `grub_ieee1275_finddevice' if a device can not be opened.
37158
a2fea427 371592004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37160
37161 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37162 `actual' for negativity.
37163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37164 kern/fshelp.c.
37165
41ea0ea3 371662004-11-01 Marco Gerards <metgerards@student.han.nl>
37167
37168 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37169 (PAGE_OFFSET): New macro.
37170 (CRTC_ADDR_PORT): Likewise.
37171 (CRTC_DATA_PORT): Likewise.
37172 (START_ADDR_HIGH_REGISTER): Likewise.
37173 (START_ADDR_LOW_REGISTER): Likewise.
37174 (GRAPHICS_ADDR_PORT): Likewise.
37175 (GRAPHICS_DATA_PORT): Likewise.
37176 (READ_MAP_REGISTER): Likewise.
37177 (INPUT_STATUS1_REGISTER): Likewise.
37178 (INPUT_STATUS1_VERTR_BIT): Likewise.
37179 (page): New variable.
37180 (wait_vretrace): New function.
37181 (set_read_map): Likewise.
37182 (set_start_address): Likewise.
37183 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37184 the right page.
37185 (check_vga_mem): Take the page into account.
37186 (write_char): Likewise.
37187 (write_cursor): Likewise.
37188 (scroll_up): Likewise. Copy the page to the page that is not
37189 shown and switch between both pages.
37190 (grub_vga_putchar): Fix off by one error.
37191 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37192 account.
37193
ad0bd20b 371942004-11-01 Marco Gerards <metgerards@student.han.nl>
37195
37196 Add support for iso9660 (including rockridge).
f19dbdb7 37197
ad0bd20b 37198 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37199 (iso9660_mod_SOURCES): New variable.
37200 (iso9660_mod_CFLAGS): Likewise.
37201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37202 * include/grub/fs.h (grub_iso9660_init): New prototype.
37203 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37204 * fs/iso9660.c: New file.
37205
37206 * include/grub/misc.h (grub_strncat): New prototype.
37207 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37208
ad0bd20b 37209 * fs/hfs.c (grub_hfs_mount): Translate the error
37210 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37211 * fs/jfs.c (grub_jfs_mount): Likewise.
37212 * fs/ufs.c (grub_ufs_mount): Likewise.
37213
a5477a59 372142004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37215
37216 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37217 which initialized BAT registers.
37218 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37219 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37220 Move from here...
37221 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37222 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37223 ... to here.
37224 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37225 (grub_mapclaim): Likewise.
37226 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37227 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37228 hand.
37229
9304c1f8 372302004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37231
37232 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37233 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37234 -ffreestanding and -msoft-float.
37235
86f4ae25 372362004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37237
37238 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37239 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37240 set in grub_ieee1275_flags.
37241
38912228 372422004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37243
37244 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37245 prototype.
37246 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37247 grub_console_init first.
37248 Change the memory range used for grub_ieee1275_claim and
37249 grub_mm_init_region.
37250 Print an error message if the claim fails.
37251 Include <grub/misc.h>.
37252
d1923dc8 372532004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37254
37255 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37256 Call grub_children_iterate for device nodes of type `scsi',
37257 `ide', or `ata'.
37258 (grub_ofdisk_open): Remove manual device alias resolution.
37259 Fix memory leak when device cannot be opened.
f19dbdb7 37260 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37261 (grub_children_iterate): New prototype.
37262 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37263 New function.
37264 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37265 Return -1 if args.size was -1.
37266
4512e4f3 372672004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37268
37269 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37270 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37271 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37272 Open Firmware's memory for it; claim memory from _start to _end.
37273 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37274 (_end): New extern.
37275 (_start): Zero BSS from __bss_start to _end.
37276 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37277 New extern.
37278 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37279
4d61feb0 372802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37281
ad0bd20b 37282 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37283 -1 if args.base was -1.
4d61feb0 37284
026fa2f9 372852004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37286
37287 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37288 escape sequence instead of a literal ^L. Also call
37289 grub_ofconsole_gotoxy.
37290
9f2220ef 372912004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37292
37293 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37294 void * arguments to grub_addr_t. All callers updated. Also make
37295 the `result' argument optional.
37296 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37297 All callers updated.
37298
8a572cd7 372992004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37300
37301 * commands/ls.c (grub_ls_list_files): Use the string following the
37302 initial ')', if present, as the filesystem path.
37303 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37304
37305 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37306
18aa81f2 373072004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37308
37309 Make the source code of the menu interface more readable.
f19dbdb7 37310
18aa81f2 37311 * normal/menu.c: Include grub/mm.h.
37312 (TERM_WIDTH): New macro.
37313 (TERM_HEIGHT): Likewise.
37314 (TERM_INFO_HEIGHT): Likewise.
37315 (TERM_MARGIN): Likewise.
37316 (TERM_SCROLL_WIDTH): Likewise.
37317 (TERM_TOP_BORDER_Y): Likewise.
37318 (TERM_LEFT_BORDER_X): Likewise.
37319 (TERM_BORDER_WIDTH): Likewise.
37320 (TERM_MESSAGE_HEIGHT): Likewise.
37321 (TERM_BORDER_HEIGHT): Likewise.
37322 (TERM_NUM_ENTRIES): Likewise.
37323 (TERM_FIRST_ENTRY_Y): Likewise.
37324 (TERM_ENTRY_WIDTH): Likewise.
37325 (TERM_CURSOR_X): Likewise.
37326 (draw_border): Use macros instead of magic numbers.
37327 (print_entry): Likewise.
37328 (print_entries): Likewise.
37329 (run_menu): Likewise. Also, handle the key 'e'.
37330 (run_menu_entry): Ignore empty command lines.
37331 (print_message): Added a new argument EDIT. If EDIT is true,
37332 print a different message.
37333 (init_page): Likewise.
37334 (edit_menu_entry): New function. Not implemented yet.
37335
b47efe30 373362004-09-17 Marco Gerards <metgerards@student.han.nl>
37337
37338 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37339 can be loaded from normal mode.
f19dbdb7 37340
b47efe30 37341 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37342 `multiboot.mod'.
37343 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37344 (multiboot_mod_CFLAGS): New variables.
37345 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37346 * loader/i386/pc/multiboot_normal.c: Likewise.
37347
b47efe30 37348 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37349 attribute `unused'.
f19dbdb7 37350
b47efe30 37351 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37352 `fdiro' to read the mode information from instead of `diro'.
37353
37354 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37355 looking up a symlink.
37356
37357 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37358 macro.
37359 * normal/command.c (grub_command_execute): Don't parse the
37360 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37361 flags of the command.
37362
37363 * normal/menu.c (grub_menu_run): Fix typo.
37364
da75ac71 373652004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37366
37367 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37368
37369 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37370 `y + 1' instead of `y - 1'.
37371
37372 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37373
062b24c2 373742004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37375
37376 From Hollis Blanchard <hollis@penguinppc.org>:
37377 * kern/misc.c (memmove): New alias for grub_memmove.
37378 (memcmp): New alias for grub_memcmp.
37379 (memset): New alias for grub_memset.
f19dbdb7 37380 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37381 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37382 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37383 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37384
8ddad845 373852004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37386
37387 Added normal mode command `chainloader' as module chain.mod, which
37388 depends on normal.mod and _chain.mod.
f19dbdb7 37389
8ddad845 37390 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37391 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37392 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37393 Deleted prototype.
37394 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37395 but arguments parsing moved to ...
37396 (grub_chainloader_cmd): ... here. New function.
37397 * include/grub/i386/pc/chainloader.h: New file.
37398 * loader/i386/pc/chainloader_normal.c: Likewise.
37399
2c1f4ce3 374002004-09-11 Marco Gerards <metgerards@student.han.nl>
37401
37402 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37403 (grub_mkimage_LDFLAGS): Likewise.
37404 (grub_emu_SOURCES): Likewise.
37405 (kernel_img_HEADERS): Added fshelp.h.
37406 * fs/ext2.c: Include <grub/fshelp.h>.
37407 (FILETYPE_REG): New macro.
37408 (FILETYPE_INO_REG): Likewise.
37409 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37410 Changed all users.
37411 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37412 all users.
37413 (grub_fshelp_node): New struct.
37414 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37415 to a pointer.
37416 (grub_ext2_get_file_block): Removed function.
37417 (grub_ext2_read_block): New function.
37418 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37419 This function was written.
37420 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37421 (grub_ext2_find_file): Removed function.
37422 (grub_ext2_read_symlink): New function.
37423 (grub_ext2_iterate_dir): Likewise.
37424 (grub_ext2_open): Rewritten.
37425 (grub_ext2_dir): Rewritten.
37426 * include/grub/fshelp.h: New file.
37427 * fs/fshelp.c: Likewise.
37428
3c52136a 374292004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37430
37431 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37432 (print_message): Add a missing newline.
37433 (run_menu): Added timeout support.
37434 (run_menu_entry): New local function.
37435 (grub_menu_run): Added support for booting.
37436
37437 * kern/loader.c (grub_loader_is_loaded): New function.
37438
37439 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37440 (grub_get_rtc): Exported.
37441
37442 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37443 (grub_get_rtc): Exported.
37444
37445 * include/grub/normal.h (struct grub_command_list): Remove
37446 constant from the member `command'.
37447
37448 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37449
37450 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37451
37452 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37453
aa033560 374542004-08-28 Marco Gerards <metgerards@student.han.nl>
37455
37456 Add support for the JFS filesystem.
37457
37458 * fs/jfs.c: New file.
37459 * include/grub/fs.h (grub_jfs_init): New prototype.
37460 (grub_jfs_fini): New prototype.
37461 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37462 (grub_emu_SOURCES): Likewise.
37463 (pkgdata_MODULES): Add jfs.mod.
37464 (jfs_mod_SOURCES): New variable.
37465 (jfs_mod_CFLAGS): Likewise.
37466 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37467 (grubof_SOURCES): Likewise.
37468 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37469
37470 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37471 endian to the host endian.
37472 (grub_fat_utf16_to_utf8): Move function from there...
37473 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37474 the endianness of the source string anymore.
aa033560 37475 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37476
94bc45af 374772004-08-24 Marco Gerards <metgerards@student.han.nl>
37478
37479 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37480 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37481 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37482 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37483
94bc45af 37484 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37485 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37486 for `node_found' and `it_dir'.
37487 (grub_hfs_dir): Add prototype for `dir_hook'.
37488
37489 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37490 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37491 and `indir32' to silence a gcc warning.
37492
37493 * include/grub/fs.h (grub_hfs_init): New prototype.
37494 (grub_hfs_fini): Likewise.
f19dbdb7 37495
37496
97543f08 374972004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37498
37499 Each disk device has its own id now. This is useful to make use
37500 of multiple disk devices.
f19dbdb7 37501
97543f08 37502 * include/grub/disk.h (grub_disk_dev_id): New enum.
37503 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37504 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37505
37506 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37507 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37508
37509 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37510 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37511
37512 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37513 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37514
37515 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37516 "id" which is used by the cache manager.
37517
37518 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37519 of just "GRUB".
37520
64372eb4 375212004-08-18 Marco Gerards <metgerards@student.han.nl>
37522
37523 * fs/hfs.c: New file.
37524 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37525 (grub_emu_SOURCES): Likewise.
37526 (pkgdata_MODULES): Add hfs.mod.
37527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37528 (grubof_SOURCES): Likewise.
37529 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37530
37531 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37532 * kern/misc.c (grub_strncasecmp): Add function.
37533
cc61b58f 375342004-08-14 Marco Gerards <metgerards@student.han.nl>
37535
37536 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37537 with parentheses.
37538
37539 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37540 (grub_ext2_dir): In case the directory entry type is unknown, read
37541 it from the inode.
37542
0ef123f6 375432004-08-02 Peter Bruin <pjbruin@dds.nl>
37544
37545 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37546 grub_load_linux instead of grub_rescue_cmd_linux as second
37547 argument of grub_rescue_register_command.
37548
37549 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37550
a447c5df 375512004-07-27 Marco Gerards <metgerards@student.han.nl>
37552
37553 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37554 function.
37555 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37556 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37557 `loader/powerpc/ieee1275/linux.c',
37558 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37559 * include/grub/powerpc/ieee1275/ieee1275.h
37560 (grub_ieee1275_release): New prototype.
37561 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37562 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37563 normal, boot, linux and linux_normal.
37564 * loader/powerpc/ieee1275/linux.c: New file.
37565 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37566
5a9e3546 375672004-07-12 Marco Gerards <metgerards@student.han.nl>
37568
37569 * normal/arg.c (grub_arg_parse): Correct error handling after
37570 reallocating the argumentlist (check if `argl' is not null instead
37571 of checking if `args' is not null).
37572 * kern/mm.c (grub_realloc): Return the same pointer when using the
37573 same region, instead of returning the header address.
37574
e15199cb 375752004-07-11 Marco Gerards <metgerards@student.han.nl>
37576
37577 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37578 one block instead of two when looking for the initial partition.
37579 (grub_partition_probe): Initialize the local variable `p' with 0.
37580 Use base 10 for the grub_strtoul call.
37581 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37582 need for one local variable.
37583 (grub_strtoul): Don't add the new value to `num', instead of that
37584 just assign it.
37585
020616c2 375862004-07-11 Marco Gerards <metgerards@student.han.nl>
37587
37588 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37589 (pxeboot_img_SOURCES): New variable.
37590 (pxeboot_img_ASFLAGS): Likewise.
37591 (pxeboot_img_LDFLAGS): Likewise.
37592 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37593 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37594 <lode_leroy@hotmail.com>.
37595
6c51eb64 375962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37597
37598 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37599 there was no input.
37600
cfb12aff 376012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37602
37603 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37604 the history buffer logic.
37605
6eabba74 376062004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37607
37608 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37609 (FILETYPE_INO_SYMLINK): New macros.
37610 (grub_ext2_find_file): Check if the node is a directory using the
37611 inode stat information instead of using the filetype in the
37612 dirent. Exclude the first character of an absolute symlink.
37613 (grub_ext2_dir): Mask out the filetype part of the mode member of
37614 the inode.
37615
66e19ef8 376162004-05-24 Marco Gerards <metgerards@student.han.nl>
37617
37618 Add support for UFS version 1 and 2. Add support for the minix
37619 filesystem version 1 and 2, both the variants with 14 and 30 long
37620 filenames.
f19dbdb7 37621
66e19ef8 37622 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37623 fs/minix.c.
37624 (grub_emu_SOURCES): Likewise.
37625 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37626 (ufs_mod_SOURCES): New variable.
37627 (ufs_mod_CFLAGS): Likewise.
37628 (minix_mod_SOURCES): Likewise.
37629 (minix_mod_CFLAGS): Likewise.
37630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37631 fs/minix.c.
37632 (grubof_SOURCES): Likewise.
37633 * fs/ufs.c: New file.
37634 * fs/minix.c: New file.
37635 * include/grub/fs.h (grub_ufs_init): New prototype.
37636 (grub_ufs_fini): Likewise.
37637 (grub_minix_init): Likewise.
37638 (grub_minix_fini): Likewise.
37639 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37640 minix fs.
37641
cc2e748a 376422004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37643
37644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37645 commands/ls.c, commands/terminal.c, commands/boot.c,
37646 commands/cmp.c and commands/cat.c.
37647 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37648
37649 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37650 "env.h"
37651
4b13b216 376522004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37653
37654 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37655 and grub_, respectively. Because the conversion is trivial and
37656 mechanical, I omit the details here. Please refer to the CVS
37657 if you need more information.
37658
6a142551 376592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37660
37661 * include/pupa: Renamed to ...
37662 * include/grub: ... this.
37663 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37664 * util/i386/pc/grub-mkimage.c: ... this.
37665 * util/i386/pc/pupa-setup.c: Renamed to ...
37666 * util/i386/pc/grub-setup.c: ... this.
37667 * util/pupa-emu.c: Renamed to ...
37668 * util/grub-emu.c: ... this.
37669
e56cdf21 376702004-03-29 Marco Gerards <metgerards@student.han.nl>
37671
37672 Add support for the newworld apple macintosh (PPC). This has been
37673 tested on the powerbook 2000 only. It only adds support for
37674 generic ieee1275 functions, console and disk support. This should
37675 be easy to port to other architectures with support for Open
37676 Firmware.
f19dbdb7 37677
e56cdf21 37678 * configure.ac: Accept the powerpc as host_cpu. In the case of
37679 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37680 specific tests are only executed while building for the i386.
37681 Inverse test for crosscompile.
37682 * genmk.rb (Utility): Allow assembler files.
37683 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37684 * conf/powerpc-ieee1275.rmk: New file.
37685 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37686 * disk/powerpc/ieee1275/partition.c: Likewise.
37687 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37688 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37689 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37690 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37691 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37692 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37693 * include/pupa/powerpc/ieee1275/loader.h
37694 * include/pupa/powerpc/setjmp.h: Likewise.
37695 * include/pupa/powerpc/types.h: Likewise.
37696 * kern/powerpc/ieee1275/init.c: Likewise.
37697 * kern/powerpc/ieee1275/openfw.c: Likewise.
37698 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37699
37700 These files were written by Johan Rydberg
37701 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 37702
e56cdf21 37703 * boot/powerpc/ieee1275/cmain.c: New file.
37704 * boot/powerpc/ieee1275/crt0.S: Likewise.
37705 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
37706 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
37707
8c8cc205 377082004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
37709
37710 * Makefile.in: Update copyright.
37711 * genmodsrc.sh: Likewise.
37712 * gensymlist.sh: Likewise.
37713 * term/i386/pc/vga.c: Indent correctly.
37714
37715 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
37716 bugreporting address.
37717 * util/i386/pc/pupa-setup.c (usage): Likewise,
37718 (main): Call pupa_ext2_init and pupa_ext2_fini.
37719
f19dbdb7 37720 * fs/fat.c (log2): Renamed to ...
8c8cc205 37721 (fat_log2): ... this.
37722 All callers changed.
37723 * kern/misc.c (memcpy): Alias to pupa_memmove.
37724 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
37725 lvalue cast.
37726 * util/console.c (pupa_ncurses_fini): Return 0.
37727
37728 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
37729 Move fail label here.
37730 [__GNU__]: Don't warn when using stat.
37731 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
37732 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
37733 long int. Use strtol instead of strtoul.
f19dbdb7 37734
db1771cf 377352004-03-14 Marco Gerards <metgerards@student.han.nl>
37736
37737 * commands/boot.c: New file.
37738 * commands/cat.c: Likewise.
37739 * commands/cmp.c: Likewise.
37740 * commands/ls.c: Likewise.
37741 * commands/terminal.c: Likewise.
37742 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
37743 (pupa_register_command): Changed interface to match the new
37744 argument parser.
37745 (pupa_command_execute): Changed (almost rewritten) so it uses
37746 pupa_split_command. Added support for setting variables using the
37747 syntax `foo=bar'.
37748 (rescue_command): Changed to work with the new argument parser.
37749 (terminal_command): Moved from here to commands/terminal.c.
37750 (set_command): New function.
37751 (unset_command): New function.
37752 (insmod_command): New function.
37753 (rmmod_command): New function.
37754 (lsmod_command): New function.
37755 (pupa_command_init): Don't initialize the command terminal
37756 anymore. Initialize the commands set, unset, insmod, rmmod and
37757 lsmod.
37758 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
37759 (kernel_img_HEADERS): Add arg.h and env.h.
37760 (pupa_mkimage_LDFLAGS): Add kern/env.c.
37761 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
37762 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
37763 normal/arg.c.
37764 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
37765 terminal.mod.
37766 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
37767 (boot_mod_SOURCES): New variable.
37768 (terminal_mod_SOURCES): Likewise.
37769 (ls_mod_SOURCES): Likewise.
37770 (cmp_mod_SOURCES): Likewise.
37771 (cat_mod_SOURCES): Likewise.
37772
37773 * normal/arg.c: New file.
37774 * kern/env.c: Likewise.
37775 * include/pupa/arg.h: Likewise.
37776 * include/pupa/env.h: Likewise.
37777 * font/manager.c (font_command): Changed to match argument parsing
37778 interface changes.
37779 (PUPA_MOD_INIT): Likewise.
37780 * hello/hello.c (pupa_cmd_hello): Likewise.
37781 (PUPA_MOD_INIT): Likewise.
37782 * include/pupa/disk.h: Include <pupa/device.h>.
37783 (pupa_print_partinfo): New prototype.
37784 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
37785 (pupa_dl_get_prefix): Likewise.
37786 * include/pupa/misc.h: Include <pupa/err.h>.
37787 (pupa_isgraph): New prototype.
37788 (pupa_isdigit): Likewise.
37789 (pupa_split_cmdline): Likewise.
37790 * include/pupa/normal.h: Include <pupa/arg.h>.
37791 (pupa_command): Changed the prototype of the member `func' to
37792 match the argument parsing interface. Added member `options'.
37793 (pupa_register_command): Updated to match function.
37794 (pupa_arg_parse): New prototype.
37795 (pupa_hello_init) [PUPA_UTIL]: New prototype.
37796 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
37797 (pupa_ls_init) [PUPA_UTIL]: Likewise.
37798 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
37799 (pupa_cat_init) [PUPA_UTIL]: Likewise.
37800 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
37801 (pupa_boot_init) [PUPA_UTIL]: Likewise.
37802 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
37803 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
37804 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
37805 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
37806 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
37807 * kern/disk.c: Include <pupa/file.h>.
37808 (pupa_print_partinfo): New function.
37809 * kern/dl.c: Include <pupa/env.h>.
37810 (pupa_dl_dir): Variable removed.
37811 (pupa_dl_load): Use the environment variable `prefix' instead of
37812 the variable pupa_dl_dir.
37813 (pupa_dl_set_prefix): Function removed.
37814 (pupa_dl_get_prefix): Likewise.
37815 * kern/i386/pc/init.c: Include <pupa/env.h>.
37816 (pupa_machine_init): Use the environment variable `prefix' instead of
37817 using pupa_dl_set_prefix to set the prefix.
37818 * kern/main.c: Include <pupa/env.h>.
37819 (pupa_set_root_dev): Use the environment variable `prefix' instead of
37820 using pupa_dl_get_prefix to get the prefix.
37821 * kern/misc.c: Include <pupa/env.h>.
37822 (pupa_isdigit): New function.
37823 (pupa_isgraph): Likewise.
37824 (pupa_ftoa): Likewise.
37825 (pupa_vsprintf): Added support for printing values of the type
37826 `double'. Make it possible to format variable output when using
37827 formatting like `%1.2%f'.
37828 (pupa_split_cmdline): New function.
37829 * kern/rescue.c: Include <pupa/env.h>.
37830 (next_word): Removed function.
37831 (pupa_rescue_cmd_prefix): Likewise.
37832 (pupa_rescue_cmd_set): New function.
37833 (pupa_rescue_cmd_unset): New function.
37834 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
37835 split the command line instead of splitting it here. Added
37836 support for setting variables using the syntax `foo=bar'. Don't
37837 initialize the prefix command anymore. Initialized the set and
37838 unset commands.
37839 * normal/cmdline.c: Include <pupa/env.h>.
37840 (pupa_tab_complete): Added prototypes for print_simple_completion,
37841 print_partition_completion, add_completion, iterate_commands,
37842 iterate_dev, iterate_part and iterate_dir. Moved code to print
37843 partition information from here to kern/disk.c.
fe6b695a 37844 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 37845 * normal/main.c: Include <pupa/env.h>.
37846 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
37847 instead of using pupa_dl_get_prefix to get the prefix.
37848 * term/i386/pc/vga.c: Include <pupa/arg.h>.
37849 (check_vga_mem): Cast pointers to `void *' to silence a gcc
37850 warning.
37851 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
37852 (pupa_vga_setcolor): Declare unused variables with `__attribute__
37853 ((unused))' to silence a gcc warning.
37854 (pupa_vga_setcolor): Likewise.
37855 (debug_command): Changed to match argument parsing
37856 interface changes.
37857 * util/pupa-emu.c: Include <pupa/env.h>.
37858 (options): Added 0's for unused fields to silence a gcc warning.
37859 (argp): Likewise.
37860 (main): Use the environment variable `prefix' instead of using
37861 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
37862 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
37863 and terminal.
37864
37865 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
37866 * util/misc.c: Include <malloc.h>.
37867 (pupa_malloc): Rewritten so errors are correctly reported.
37868 (pupa_realloc): Likewise.
37869 (pupa_memalign): Likewise.
37870 (pupa_mm_init_region): Declare unused variables with
37871 `__attribute__ ((unused))' to silence a gcc warning.
37872 * normal/i386/setjmp.S: Remove tab at the end of the file to
37873 silence a gcc warning.
37874 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
37875 variables with `__attribute__ ((unused))' to silence a gcc
37876 warning.
37877 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
37878 local variable i unsigned to silence a gcc warning.
37879
37880 * kern/term.c: Include <pupa/misc.h>.
37881 (pupa_more_lines): New variable.
37882 (pupa_more): Likewise.
37883 (pupa_putcode): When the pager is active pause at the end of every
37884 screen.
37885 (pupa_set_more): New function.
37886 * include/pupa/term.h (pupa_set_more): New prototype.
37887
37888
3b1139cb 378892004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
37890
37891 Now this project is GRUB 2 rather than PUPA. The location of
37892 the CVS repository was moved to GRUB's.
f19dbdb7 37893
3b1139cb 37894 * configure.ac: Use bug-grub as the reporting address.
37895 Use GRUB instead of PUPA.
37896 Change the version number to 1.90.
37897
8367695c 378982004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
37899
37900 * genkernsyms.sh: Updated copyright information.
37901 * genmk.rb: Likewise.
37902 * genmodsrc.sh: Likewise.
37903 * gensymlist.sh: Likewise.
37904 * boot/i386/pc/boot.S: Likewise.
37905 * boot/i386/pc/diskboot.S: Likewise.
37906 * disk/i386/pc/biosdisk.c: Likewise.
37907 * disk/i386/pc/partition.c: Likewise.
37908 * font/manager.c: Likewise.
37909 * fs/ext2.c: Likewise.
37910 * fs/fat.c: Likewise.
37911 * include/pupa/boot.h: Likewise.
37912 * include/pupa/device.h: Likewise.
37913 * include/pupa/disk.h: Likewise.
37914 * include/pupa/dl.h: Likewise.
37915 * include/pupa/elf.h: Likewise.
37916 * include/pupa/err.h: Likewise.
37917 * include/pupa/file.h: Likewise.
37918 * include/pupa/font.h: Likewise.
37919 * include/pupa/fs.h: Likewise.
37920 * include/pupa/kernel.h: Likewise.
37921 * include/pupa/loader.h: Likewise.
37922 * include/pupa/misc.h: Likewise.
37923 * include/pupa/mm.h: Likewise.
37924 * include/pupa/net.h: Likewise.
37925 * include/pupa/normal.h: Likewise.
37926 * include/pupa/rescue.h: Likewise.
37927 * include/pupa/setjmp.h: Likewise.
37928 * include/pupa/symbol.h: Likewise.
37929 * include/pupa/term.h: Likewise.
37930 * include/pupa/types.h: Likewise.
37931 * include/pupa/i386/setjmp.h: Likewise.
37932 * include/pupa/i386/types.h: Likewise.
37933 * include/pupa/i386/pc/biosdisk.h: Likewise.
37934 * include/pupa/i386/pc/boot.h: Likewise.
37935 * include/pupa/i386/pc/console.h: Likewise.
37936 * include/pupa/i386/pc/init.h: Likewise.
37937 * include/pupa/i386/pc/kernel.h: Likewise.
37938 * include/pupa/i386/pc/linux.h: Likewise.
37939 * include/pupa/i386/pc/loader.h: Likewise.
37940 * include/pupa/i386/pc/memory.h: Likewise.
37941 * include/pupa/i386/pc/multiboot.h: Likewise.
37942 * include/pupa/i386/pc/partition.h: Likewise.
37943 * include/pupa/i386/pc/time.h: Likewise.
37944 * include/pupa/i386/pc/vga.h: Likewise.
37945 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
37946 * include/pupa/util/getroot.h: Likewise.
37947 * include/pupa/util/misc.h: Likewise.
37948 * include/pupa/util/resolve.h: Likewise.
37949 * kern/device.c: Likewise.
37950 * kern/disk.c: Likewise.
37951 * kern/dl.c: Likewise.
37952 * kern/err.c: Likewise.
37953 * kern/file.c: Likewise.
37954 * kern/fs.c: Likewise.
37955 * kern/loader.c: Likewise.
37956 * kern/main.c: Likewise.
37957 * kern/misc.c: Likewise.
37958 * kern/mm.c: Likewise.
37959 * kern/rescue.c: Likewise.
37960 * kern/term.c: Likewise.
37961 * kern/i386/dl.c: Likewise.
37962 * kern/i386/pc/init.c: Likewise.
37963 * kern/i386/pc/lzo1x.S: Likewise.
37964 * kern/i386/pc/startup.S: Likewise.
37965 * loader/i386/pc/chainloader.c: Likewise.
37966 * loader/i386/pc/linux.c: Likewise.
37967 * loader/i386/pc/multiboot.c: Likewise.
37968 * normal/cmdline.c: Likewise.
37969 * normal/command.c: Likewise.
37970 * normal/main.c: Likewise.
37971 * normal/menu.c: Likewise.
37972 * normal/i386/setjmp.S: Likewise.
37973 * term/i386/pc/console.c: Likewise.
37974 * term/i386/pc/vga.c: Likewise.
37975 * util/console.c: Likewise.
37976 * util/genmoddep.c: Likewise.
37977 * util/misc.c: Likewise.
37978 * util/pupa-emu.c: Likewise.
37979 * util/resolve.c: Likewise.
37980 * util/unifont2pff.rb: Likewise.
37981 * util/i386/pc/biosdisk.c: Likewise.
37982 * util/i386/pc/getroot.c: Likewise.
37983 * util/i386/pc/pupa-mkimage.c: Likewise.
37984 * util/i386/pc/pupa-setup.c: Likewise.
37985
e6eced71 379862004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37987
37988 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37989 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37990 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37991 reading and reset it after reading.
37992 (pupa_ext2_close): Return PUPA_ERR_NONE.
37993
37994 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37995 Correct value.
37996 (struct linux_kernel_header): Add kernel_version and
37997 initrd_addr_max.
37998 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37999 pupa_file_read succeeds.
38000 (pupa_rescue_cmd_initrd): Implement.
38001
5aded270 380022003-12-03 Marco Gerards <metgerards@student.han.nl>
38003
38004 * fs/ext2.c (pupa_ext2_label): New function.
38005 (pupa_ext2_fs): Added label.
38006 * fs/fat.c (pupa_fat_label): New function.
38007 (pupa_fat_fs): Added label.
38008 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38009
38010 * kern/misc.c (pupa_strndup): New function.
38011 * include/pupa/misc.h (pupa_strndup): New prototype.
38012
38013 * include/pupa/normal.h: Include <pupa/err.h>.
38014 (pupa_set_history): New prototype.
38015 (pupa_iterate_commands): New prototype.
38016 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38017 <pupa/disk.h>, <pupa/file.h>.
38018 (hist_size): New variable.
38019 (hist_lines): Likewise.
38020 (hist_end): Likewise.
38021 (hist_used): Likewise.
38022 (pupa_set_history): New function.
38023 (pupa_history_get): Likewise.
38024 (pupa_history_add): Likewise.
38025 (pupa_history_replace): Likewise.
38026 (pupa_tab_complete): Likewise.
38027 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38028 completion shows partitionnames while completing partitions, this
38029 feature was suggested by Jeff Bailey.
38030 * normal/command.c (pupa_iterate_commands): New function.
38031 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38032 (pupa_normal_init): Initialize history buffer.
38033 (PUPA_MOD_INIT): Likewise.
38034 (pupa_normal_fini): Free the history buffer.
38035 (PUPA_MOD_FINI): Likewise.
38036
38037 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38038 key.
38039
38040 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38041 * configure.ac [i386]: Check for regparam bug.
38042 (NESTED_FUNC_ATTR) [! i386]: Defined.
38043
1f7315a3 380442003-11-17 Marco Gerards <metgerards@student.han.nl>
38045
38046 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38047 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38048 (pupa_emu_SOURCES): New variable.
38049 (pupa_emu_LDFLAGS): Likewise.
38050 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38051 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38052 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38053 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38054 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38055 (pupa_jmp_buf): New typedef.
38056 (pupa_setjmp) [PUPA_UTIL]: New macro.
38057 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38058 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38059 (pupa_refresh): New prototype.
38060 * include/pupa/util/getroot.h: New file.
38061 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38062 it.
38063 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38064 (pupa_rescue_cmd_cat): Likewise.
38065 (pupa_rescue_cmd_ls): Likewise.
38066 (pupa_rescue_cmd_testload): Likewise.
38067 (pupa_rescue_cmd_lsmod): Likewise.
38068 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38069 * normal/menu.c (run_menu): Likewise.
38070 * kern/term.c (pupa_cls): Likewise.
38071 (pupa_refresh): New function.
38072 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38073 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38074 * util/console.c: New file.
f19dbdb7 38075
1f7315a3 38076 * util/i386/pc/getroot.c: New file.
38077 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38078 (pupa_putchar): New function.
38079 (pupa_refresh): Likewise.
38080 (xgetcwd): Function moved to ...
38081 (strip_extra_slashes): Likewise.
38082 (get_prefix): Likewise.
f19dbdb7 38083 * util/i386/pc/getroot.c: ... here.
1f7315a3 38084 (find_root_device): Function moved and renamed to...
38085 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38086 Changed all callers.
38087 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38088 and renamed to...
38089 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38090 Changed all callers.
38091 * util/misc.c (pupa_memalign): New function.
38092 (pupa_mm_init_region): Likewise.
38093 (pupa_register_exported_symbols): Likewise.
38094 (pupa_putchar): Function removed.
38095 * util/pupa-emu.c: New file.
38096
9a5c1ade 380972003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38098
38099 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38100 (_multiboot_mod_SOURCES): New variable.
38101 (_multiboot_mod_CFLAGS): Likewise.
38102 * loader/i386/pc/multiboot.c: New file.
38103 * include/pupa/i386/pc/multiboot.h: Likewise.
38104 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38105 (pupa_multiboot_real_boot): New function.
38106 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38107 (pupa_multiboot_real_boot): New prototype.
38108 (pupa_rescue_cmd_multiboot): Likewise
38109 (pupa_rescue_cmd_module): Likewise.
38110
38111 * kern/loader.c (pupa_loader_set): Continue when
38112 pupa_loader_unload_func() fails.
38113 (pupa_loader_unset): New function.
38114 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38115
38116 * kern/misc.c (pupa_stpcpy): New function.
38117 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38118
8e72a9c0 381192003-11-12 Marco Gerards <metgerards@student.han.nl>
38120
38121 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38122 for available extensions.
38123
38124 * include/pupa/i386/pc/time.h: New file.
38125 * kern/disk.c: Include <pupa/machine/time.h>.
38126 (PUPA_CACHE_TIMEOUT): New macro.
38127 (pupa_last_time): New variable.
38128 (pupa_disk_open): Flush the cache when there was a timeout.
38129 (pupa_disk_close): Reset the timer.
38130 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38131 pupa_currticks.
38132 * util/misc.c: Include <sys/times.h>
38133 (pupa_get_rtc): New function.
38134
c4adbd32 381352003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38136
38137 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38138 as blocks.
38139 (pupa_ext2_get_file_block): Use blocks member.
38140
38141 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38142 first block. Return -1 instead of pupa_errno on error.
38143
bfd30f06 381442003-10-27 Marco Gerards <metgerards@student.han.nl>
38145
38146 * README: In the pupa-mkimage example use _chain instead of chain
38147 and ext2 instead of fat.
38148 * TODO: Replace ext2fs with jfs as an example. Add an item for
38149 adding journal playback for ext2fs.
38150 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38151 (pkgdata_MODULES): Added ext2.mod.
38152 (ext2_mod_SOURCES): New variable.
38153 (ext2_mod_CFLAGS): Likewise.
38154 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38155 * include/pupa/misc.h (pupa_strncpy): New prototype.
38156 (pupa_strcat): Likewise.
38157 (pupa_strncmp): Likewise.
38158 * kern/misc.c (pupa_strcat): Enable function.
38159 (pupa_strncpy): New function.
38160 (pupa_strncmp): Likewise.
38161 * fs/ext2.c: New file.
f19dbdb7 38162
bfd30f06 38163 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38164 when the read failed before retrying.
38165 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38166 (_FILE_OFFSET_BITS): Likewise.
38167 * configure.ac: Added AC_SYS_LARGEFILE.
38168
98d15063 381692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38170
38171 * genmk.rb (PModule#rule): Make sure to get only symbol names
38172 from the output of nm.
59cad637 38173 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38174
18d9c7cd 381752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38176
38177 I forgot to check in these changes for a long time. This adds
38178 incomplete support for VGA console, and this is still very
38179 buggy. Also, a lot of consideration is required for I18N,
38180 UNICODE, and VGA font issues. Therefore, assume that this is
38181 such that "better than nothing".
f19dbdb7 38182
18d9c7cd 38183 * font/manager.c: New file.
38184 * include/pupa/font.h: Likewise.
38185 * include/pupa/i386/pc/vga.h: Likewise.
38186 * term/i386/pc/vga.c: Likewise.
38187 * util/unifont2pff.rb: Likewise.
38188
38189 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38190 (pkgdata_MODULES): Added vga.mod and font.mod.
38191 (vga_mod_SOURCES): New variables.
38192 (vga_mod_CFLAGS): Likewise.
38193 (font_mod_SOURCES): Likewise.
38194 (font_mod_CFLAGS): Likewise.
38195
38196 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38197
38198 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38199 (struct pupa_term): Added init and fini.
18d9c7cd 38200 Changed the argument of putchar to pupa_uint32_t.
38201
38202 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38203 (pupa_console_real_putchar): New prototype.
38204 (pupa_console_putchar): Removed.
38205 (pupa_console_checkkey): Exported.
38206 (pupa_console_getkey): Likewise.
38207
38208 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38209 characters.
38210
38211 * kern/term.c (pupa_term_set_current): Rewritten.
38212 (pupa_putchar): Likewise.
38213 (pupa_putcode): New function.
38214
38215 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38216 (pupa_console_real_putchar): ... this.
38217 (pupa_vga_set_mode): New function.
38218 (pupa_vga_get_font): Likewise.
38219
38220 * normal/command.c: Include pupa/term.h.
38221 (terminal_command): New function.
38222 (pupa_command_init): Register the command "terminal".
38223
38224 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38225 (DISP_UP): Likewise.
38226 (DISP_RIGHT): Likewise.
38227 (DISP_DOWN): Likewise.
38228 (DISP_HLINE): Likewise.
38229 (DISP_VLINE): Likewise.
38230 (DISP_UL): Likewise.
38231 (DISP_UR): Likewise.
38232 (DISP_LL): Likewise.
38233 (DISP_LR): Likewise.
38234
38235 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38236
977329f5 382372003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38238
38239 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38240 FIX. Reverse the path_list.
38241
38242 * include/pupa/normal.h: Export pupa_register_command and
38243 pupa_unregister_command.
38244
38245 * hello/hello.c (pupa_cmd_hello): New module.
38246 * conf/i386-pc.rmk: Added hello.mod.
38247
1f5ab428 382482003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38249
38250 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38251
1f5ab428 38252 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38253 (compress_kernel): New variable.
38254 (generate_image): Heavily modified to support compressing a
38255 large part of the core image.
38256
38257 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38258 leak.
38259 (pupa_util_load_image): New function.
38260
38261 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38262 (pupa_compressed_size): New variable.
38263 (codestart): Enable Gate A20 here.
38264 Decompress the compressed part of the core image.
38265 Rearrange the code to put functions and variables which are
38266 required for initialization in the non-compressed part.
38267 Include lzo1x.S.
38268
38269 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38270 here.
38271
38272 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38273
f19dbdb7 38274 * include/pupa/i386/pc/kernel.h
1f5ab428 38275 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38276 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38277 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38278 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38279 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38280
38281 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38282
38283 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38284 (Utility#rule): Likewise.
38285
38286 * configure.ac: Check if LZO is available.
38287
ce5bf700 382882003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38289
38290 * include/pupa/normal.h: New file.
38291 * include/pupa/setjmp.h: Likewise.
38292 * include/pupa/i386/setjmp.h: Likewise.
38293 * normal/cmdline.c: Likewise.
38294 * normal/command.c: Likewise.
38295 * normal/main.c: Likewise.
38296 * normal/menu.c: Likewise.
38297 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38298
ce5bf700 38299 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38300 (pupa_rescue_cmd_initrd): Likewise.
38301
38302 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38303 Likewise.
38304
38305 * kern/i386/pc/startup.S (translation_table): New variable.
38306 (translate_keycode): New function.
38307 (pupa_console_getkey): Call translate_keycode.
38308
38309 * kern/rescue.c (attempt_normal_mode): New function.
38310 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38311 it failed, print a message.
38312
38313 * kern/mm.c (pupa_real_malloc): Print more information when a
38314 free magic is broken.
38315 (pupa_free): If the first free header is not free actually, set
38316 it to P.
38317
38318 * kern/main.c (pupa_load_normal_mode): Just load the module
38319 "normal".
38320 (pupa_main): Don't print the message
38321 "Entering into rescue mode..." here.
38322
38323 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38324 Declared.
38325 (pupa_rescue_cmd_initrd): Likewise.
38326 (pupa_rescue_cmd_initrd): Likewise.
38327
38328 * include/pupa/symbol.h (FUNCTION): Specify the type.
38329 (VARIABLE): Likewise.
38330
38331 * include/pupa/err.h (pupa_err_t): Added
38332 PUPA_ERR_UNKNOWN_COMMAND.
38333
38334 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38335 (pupa_dl_get_prefix): Likewise.
38336
38337 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38338 Added _chain.mod and _linux.mod instead of chain.mod and
38339 linux.mod.
38340 (chain_mod_SOURCES): Renamed to ...
38341 (_chain_mod_SOURCES): ... this.
38342 (chain_mod_CFLAGS): Renamed to ...
38343 (_chain_mod_CFLAGS): ... this.
38344 (linux_mod_SOURCES): Renamed to ...
38345 (_linux_mod_SOURCES): ... this.
38346 (linux_mod_CFLAGS): Renamed to ...
38347 (_linux_mod_CFLAGS): ... this.
38348 (normal_mod_SOURCES): New variable.
38349 (normal_mod_CFLAGS): Likewise.
38350 (normal_mod_ASFLAGS): Likewise.
38351
383522003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38353
38354 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38355 possible.
38356
fe6b695a 38357 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38358 recursively.
38359 (pupa_dl_unref): Unrefer depending modules recursively.
38360 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38361 a module is unloaded before one depending on that module is
38362 unloaded.
38363 (pupa_dl_unload): Unload depending modules explicitly,
38364 if possible.
38365
c04da074 383662003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38367
38368 * include/pupa/i386/pc/linux.h: New file.
38369 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38370
c04da074 38371 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38372 Removed.
38373 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38374 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38375 of PUPA_CHAINLOADER_BOOT_SECTOR.
38376
38377 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38378 (pupa_linux_prot_size): New variable.
38379 (pupa_linux_tmp_addr): Likewise.
38380 (pupa_linux_real_addr): Likewise.
38381 (pupa_linux_boot_zimage): New function.
38382 (pupa_linux_boot_bzimage): Likewise.
38383
38384 * kern/i386/pc/init.c (struct mem_region): New structure.
38385 (MAX_REGIONS): New macro.
38386 (mem_regions): New variable.
38387 (num_regions): Likewise.
38388 (pupa_os_area_addr): Likewise.
38389 (pupa_os_area_size): Likewise.
38390 (pupa_lower_mem): Likewise.
38391 (pupa_upper_mem): Likewise.
38392 (add_mem_region): New function.
38393 (compact_mem_regions): Likewise.
38394 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38395 the size of the conventional memory and that of so-called upper
38396 memory (before the first memory hole).
38397 Instead of adding each found region to free memory, use
38398 add_mem_region and add them after removing overlaps.
38399 Also, add only 1/4 of the upper memory to free memory. The rest
38400 is used for loading OS images. Maybe this is ad hoc, but this
38401 makes it much easier to relocate OS images when booting.
38402
38403 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38404 (pupa_enter_rescue_mode): Don't register initrd and module.
38405
38406 * kern/mm.c: Include pupa/dl.h.
38407
38408 * kern/main.c: Include pupa/file.h and pupa/device.h.
38409
38410 * kern/loader.c (pupa_loader_load_module_func): Removed.
38411 (pupa_loader_load_module): Likewise.
38412
38413 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38414 ``.o''.
38415
38416 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38417 (pupa_linux_tmp_addr): Likewise.
38418 (pupa_linux_real_addr): Likewise.
38419 (pupa_linux_boot_zimage): Likewise.
38420 (pupa_linux_boot_bzimage): Likewise.
38421
38422 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38423 (pupa_upper_mem): Likewise.
38424 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38425 module is too dangerous.
38426
38427 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38428 (pupa_os_area_size): Likewise.
38429 (pupa_loader_set): Remove the first argument. Loader doesn't
38430 manage modules or initrd any longer.
38431 (pupa_loader_load_module): Removed.
38432
38433 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38434 (linux_mod_SOURCES): New variable.
38435 (linux_mod_CFLAGS): Likewise.
38436
a13f9237 384372003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38438
38439 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38440 the length of a blocklist correctly.
38441
38442 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38443 Use ioctl only if the OS file is a block device.
38444 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38445 not very useful for normal files.
38446
38447 * kern/main.c (pupa_set_root_dev): New function.
38448 (pupa_load_normal_mode): Likewise.
38449 (pupa_main): Call those above.
38450
38451 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38452 pupa_uint16_t.
38453
38454 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38455
a5ffe966 384562003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38457
38458 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38459 (setup): Configure the installed partition information and the
38460 dl prefix.
38461
38462 * loader/i386/pc/chainloader.c (my_mod): New variable.
38463 (pupa_chainloader_unload): New function.
38464 (pupa_rescue_cmd_chainloader): Refer itself.
38465 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38466
38467 * kern/i386/pc/startup.S (install_partition): Removed.
38468 (version_string): Likewise.
38469 (config_file): Likewise.
38470 (pupa_install_dos_part): New variable.
38471 (pupa_install_bsd_part): Likewise.
38472 (pupa_prefix): Likewise.
38473 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38474
38475 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38476 and pupa/misc.h.
38477 (make_install_device): New function.
38478 (pupa_machine_init): Set the dl prefix.
38479
38480 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38481 (buf): Renamed to ...
38482 (linebuf): ... this.
38483 (pupa_rescue_cmd_prefix): New function.
38484 (pupa_rescue_cmd_insmod): Likewise.
38485 (pupa_rescue_cmd_rmmod): Likewise.
38486 (pupa_rescue_cmd_lsmod): Likewise.
38487 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38488 rmmod and lsmod.
38489
38490 * kern/mm.c (pupa_memalign): If failed even after invalidating
38491 disk caches, unload unneeded modules and retry.
38492
38493 * kern/misc.c (pupa_memmove): New function.
38494 (pupa_memcpy): Removed.
38495 (pupa_strcpy): New function.
38496 (pupa_itoa): Made static.
38497
38498 * kern/dl.c (pupa_dl_iterate): New function.
38499 (pupa_dl_ref): Likewise.
38500 (pupa_dl_unref): Likewise.
38501 (pupa_dl_unload): Return if succeeded or not.
38502 (pupa_dl_unload_unneeded): New function.
38503 (pupa_dl_unload_all): Likewise.
38504 (pupa_dl_init): Renamed to ...
38505 (pupa_dl_set_prefix): ... this.
38506 (pupa_dl_get_prefix): New function.
38507
38508 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38509 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38510 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38511 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38512 (pupa_install_dos_part): Declared.
38513 (pupa_install_bsd_part): Likewise.
38514 (pupa_prefix): Likewise.
38515 (pupa_boot_drive): Likewise.
38516
38517 * include/pupa/types.h: Fix a typo.
38518
38519 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38520 pupa_memmove.
38521 (pupa_memmove): Declared.
38522 (pupa_strcpy): Likewise.
38523
38524 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38525 pupa_mod_init takes one argument, its own module.
38526 (pupa_dl_unload_unneeded): Declared.
38527 (pupa_dl_unload_all): Likewise.
38528 (pupa_dl_ref): Likewise.
38529 (pupa_dl_unref): Likewise.
38530 (pupa_dl_iterate): Likewise.
38531 (pupa_dl_init): Renamed to ...
38532 (pupa_dl_set_prefix): ... this.
38533 (pupa_dl_get_prefix): Declared.
38534
38535 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38536 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38537 unloaded.
38538 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38539 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38540
38541 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38542 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38543
012d7999 385442003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38545
38546 * util/i386/pc/pupa-setup.c (setup): Define the internal
38547 function find_first_partition_start at the top level, because GCC
38548 3.0.x cannot compile internal functions in deeper scopes
38549 correctly.
38550 (find_root_device): Use lstat instead of stat.
38551 Don't follow symbolic links.
38552 Fix the path-constructing code.
38553
38554 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38555 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38556 by a BLKGETSIZE ioctl first, because block devices don't fill
38557 the member st_mode of the structure stat on Linux.
38558 [__linux__] (linux_find_partition): Use a temporary buffer
38559 REAL_DEV for the working space. Copy it to DEV before returning.
38560 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38561 buffer cache consistent.
38562 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38563 strncmp. The previous value was merely wrong.
38564 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38565
38566 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38567 FAT size is 12. The previous value was merely wrong.
38568
38569 * kern/main.c (pupa_main): Don't split the starting message from
38570 newlines.
38571
38572 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38573 LF, because BIOS goes crazy about character attributes in this
38574 case.
38575
1cc73a62 385762003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38577
38578 * include/i386/pc/util/biosdisk.h: New file.
38579 * util/i386/pc/biosdisk.c: Likewise.
38580 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38581
1cc73a62 38582 * Makefile.in (INCLUDE_DISTFILES): Added
38583 include/pupa/i386/pc/util/biosdisk.h.
38584 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38585 directory util/i386/pc.
38586 (install-local): Added a rule for sbin_UTILITIES.
38587 (uninstall): Likewise.
38588
38589 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38590
38591 * util/misc.c (xrealloc): New function.
38592 (pupa_malloc): Likewise.
38593 (pupa_free): Likewise.
38594 (pupa_realloc): Likewise.
38595 (pupa_stop): Likewise.
38596 (pupa_putchar): Likewise.
38597
38598 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38599
38600 * include/pupa/util/misc.h (xrealloc): Declared.
38601
38602 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38603 macro.
38604 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38605 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38606
38607 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38608 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38609
38610 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38611 way should be implemented.
38612 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38613
38614 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38615 the size of NAME for safety.
38616 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38617 0x88.
38618
38619 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38620 (pupa_setup_SOURCES): Likewise.
38621
38622 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38623
08b70fe8 386242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38625
38626 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38627 bunch of pushl's from pusha, because this destroys the return
38628 value.
38629
62ddcc8f 386302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38631
38632 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38633 This means that any missing prototypes could be fatal. Also, you
38634 must take care when writing assembly code. See the comments at
38635 the beginning of startup.S, for more details.
f19dbdb7 38636
62ddcc8f 38637 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38638 compilation mechanism.
38639 (pupa_chainloader_real_boot): Likewise.
38640 (pupa_biosdisk_rw_int13_extensions): Likewise.
38641 (pupa_biosdisk_rw_standard): Likewise.
38642 (pupa_biosdisk_check_int13_extensions): Likewise.
38643 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38644 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38645 (pupa_get_memsize): Likewise.
38646 (pupa_get_mmap_entry): Likewise.
38647 (pupa_console_putchar): Likewise.
38648 (pupa_console_setcursor): Likewise.
38649 (pupa_getrtsecs): Use pushl instead of push.
38650
38651 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38652 memory instead of the stack for a mmap entry, because some
38653 BIOSes may ignore the maximum size and overflow.
38654
38655 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38656
38657 * genmk.rb (PModule#rule): Compile automatically generated
38658 sources with module-specific CFLAGS as well as other sources.
38659
9962ed99 386602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38661
38662 * configure.ac: Check ld.
38663 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38664 respectively, before checking endianness and sizes.
38665
38666 * Makefile.in (LD): New variable.
f19dbdb7 38667
abdfc3c5 386682002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38669
38670 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38671
6a161fa9 386722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38673
38674 * Changelog: New file.
38675