]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
[grub2.git] / ChangeLog
CommitLineData
6b68db81
VS
12011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
4 >= 6 drives.
5
28840fda
VS
62011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
9 Fix declaration.
10
8a5a3a5b
VS
112011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
12
13 Fix several memory leaks.
14
15 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
16 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
17 (grub_cpio_dir): Likewise.
18 * grub-core/fs/fat.c (grub_fat_label): Likewise.
19 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
20 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
21 (grub_romfs_label): Likewise.
22 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
23 (squash_unmount): New function.
24 (grub_squash_dir): Fix memory leak.
25 (grub_squash_open): Likewise.
26 (grub_squash_read): Likewise.
27 (grub_squash_mtime): Likewise.
28 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
29 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
30 * util/grub-fstest.c (fstest): Likewise.
31
57b01250
VS
322011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
35 avoid accessing beyond the array.
36
19e81ba7
VS
372011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
40
52b656c0
VS
412011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
42
43 Several AFFS fixes.
44
45 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
46 (GRUB_AFFS_FLAG_FFS): Removed.
47 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
48 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
49 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
50 (grub_fshelp_node): Make block 32-bit.
51 Add block_cache and last_block_cache.
52 (grub_affs_read_block): Fill and use block cache.
53 (grub_affs_read_file): Removed.
54 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
55 boot block.
56 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
57 safety.
58 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
59 space.
60 (grub_affs_close): Free block cache.
61 (grub_affs_read): Use grub_fshelp_read_file directly.
62
438a746a
VS
632011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
66 with no error set.
67
49a45021
VS
682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
71 used variable.
72 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
73 Likewise.
74
3ae17eb8
VS
752011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
76
77 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
78
79 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
80 byteswap when needed.
81
27610c38
VS
822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
83
84 Fix FreeBSD compilation.
85
86 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
87 to avoid circular dependency.
88 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
89 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
90 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
91
4a19b601
VS
922011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
93
94 Fix ZFS crypto error types.
95
96 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
97 (grub_gcm_decrypt): Likewise.
98 (grub_zfs_load_key_real): Fix error code type. Handle possible error
99 from PBKDF2.
100
958ee221
VS
1012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
102
103 Illumos support.
104
105 * Makefile.util.def (10_illumos): New script.
106 * configure.ac: Set COND_HOST_ILLUMOS.
107 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
108 Support Illumos calls.
109 (find_partition_start) [__sun__]: Likewise.
110 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
111 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
112 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
113 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
114 device.
115 * util/grub-probe.c (probe) [__sun__]: Do character check.
116 * util/grub.d/10_illumos.in: New file.
117
cac14fb6
VS
1182011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Support escaped commas in hostdisk.
121
122 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
123 (find_grub_drive): Use unescape_cmp.
124 (make_device_name): Escape commas.
125
78e08dc3
VS
1262011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
129
9f421dd1
VS
1302011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
133 variable.
134
ed64e9e2
VS
1352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Support trampoline jumps on powerpc.
138
139 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
140 __ia64__ path.
141 (grub_dl_load_segments): Set mod->sz.
142 (grub_dl_flush_cache): Flush whole space occupied by module, not just
143 segments.
144 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
145 (jump): Likewise.
146 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
147 function.
148 (trampoline): New struct.
149 (trampoline_template): New const.
150 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
151 * include/grub/dl.h (grub_dl): Add sz element.
152 [__powerpc__]: Follow __ia64__.
153 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
154 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
155 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
156 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
157
3084ede4
VS
1582011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
159
160 ZFS crypto support.
161
162 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
163 * grub-core/Makefile.core.def (zfscrypt): New module.
164 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
165 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
166 it. All users updated.
167 (grub_zfs_decrypt): New var.
168 (grub_zfs_load_key): Likewise.
169 (zio_checksum_functions): Add SHA256+MAC.
170 (zio_checksum_verify): Handle incomplete comparison due to MAC.
171 (zio_read): Handle encrypted blocks.
172 (zap_verify): Remove incorrect check.
173 (fzap_iterate): Handle non-standard fzap.
174 (zap_iterate): Likewise.
175 (zap_iterate_u64): New function.
176 (dnode_get_fullpath): Load keys.
177 * grub-core/fs/zfs/zfscrypt.c: New file.
178 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
179 (grub_crypto_ecb_encrypt): Make input const.
180 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
181 (grub_crypto_ecb_encrypt): Make input const.
182 (GRUB_CIPHER_AES): New macro.
183 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
184 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
185 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
186 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
187 prefix. All users updated.
188 (grub_zfs_add_key): New proto.
189 (grub_zfs_decrypt): Likewise.
190 (grub_zfs_load_key): Likewise.
191 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
192 * util/grub-fstest.c (options): Add -K option.
193 (argp_parser): Likewise.
194
b632b404
VS
1952011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
196
197 Support zle compression on ZFS.
198
199 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
200 (decomp_table): Add zle.
201 * include/grub/zfs/zio.h (zio_compress): Add zle.
202
c7ba4f69
VS
2032011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
204
205 Support BtrFS embedding.
206
207 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
208 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
209 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
210 * util/grub-setup.c (setup): Use fs embedding if available.
211 Add additional sanity check.
212
455377d9
VS
2132011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
214
215 * util/grub-install.in: Fix condition for config_opt.
216
c2fd16ca
VS
2172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
218
219 Support third redundancy strip on raidz3.
220
221 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
222 Return error on singularity. All users updated.
223 (read_device): Don't stop on 3rd failure on raidz3.
224
8622923b
VS
2252011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
226
227 Support case-insensitive ZFS subvolumes.
228
229 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
230 All users updated.
231 (zap_hash): Likewise.
232 (name_cmp): New function.
233 (zap_leaf_array_equal): New parameter case_insensitive.
234 All users updated.
235 (zap_leaf_lookup): Likewise.
236 (fzap_lookup): Likewise.
237 (zap_lookup): Likewise.
238 (dnode_get_path): New parameter case_insensitive. Retrieve case
239 sensitiviness of a volume. All users updated.
240 (dnode_get_fullpath): New parameter case_insensitive.
241 All users updated.
242 (grub_zfs_dir): Set info.case_insensitiveness.
243
95f2e860
VS
2442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
245
246 Support second redundancy strip on raidz(2,3).
247
248 * grub-core/fs/zfs/zfs.c (powx): New array.
249 (powx_inv): Likewise.
250 (poly): New const.
251 (xor_out): New function.
252 (gf_mul): Likewise.
253 (recovery): Likewise.
254 (read_device): Use second redundancy strip.
255
11ee4389
VS
2562011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
257
258 Use a power of generator representation of GF(256) multiplication group
259 to save space time and complexity.
260
261 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
262 (raid6_table2): Likewise.
263 (powx): New array.
264 (powx_inv): Likewise.
265 (poly): New const.
266 (grub_raid_block_mul): Replace with ...
267 (grub_raid_block_mulx): ...this.
268 (grub_raid6_init_table): Rewritten.
269 (grub_raid6_recover): Use power of generator representation.
270
09e2763f
VS
2712011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
274 for the right device.
275
8bec9a28
VS
2762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
279 expected by grub-mkimage and it's more clear since there is no implicit
280 padding.
281
dbd3a32e
VS
2822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
283
284 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
285 disk.
286 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
287
182c872a
PMH
2882011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
289
290 * util/grub-mkrescue.in: Fix handling xorriso option.
291
1e51cabd
VS
2922011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
295 NULL.
296
9cc3581d 2972011-11-03 crocket <crockabiscuit@gmail.com>
298
299 * util/grub.d/10_linux.in: Add Slackware initrd naming.
300
158dc1ea
VS
3012011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
302
303 XZ CRC64 and SHA256 support.
304
305 * Makefile.util.def (libgrubmods): Add crc64.c.
306 * grub-core/Makefile.core.def (crc64): New module.
307 * grub-core/lib/crc64.c: New file.
308 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
309 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
310 Fix the type.
311 (MAX_HASH_SIZE): New define.
312 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
313 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
314 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
315 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
316 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
317 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
318 Handle non-crc32 hashes.
319 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
320 (dec_stream_header): Handle non-crc32 hashes.
321 (dec_stream_footer): Likewise.
322 (dec_block_header): Likewise.
323 (dec_main): Likewise.
324 (xz_dec_init): Likewise.
325 (xz_dec_reset): Likewise.
326 (xz_dec_end): Likewise.
327 * util/import_gcry.py: Add CRC64 line.
328
9d9b3d2f
VS
3292011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
332 as well.
333
7d0ac931
VS
3342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Make reiserfs label retrieval similar to other *_label functions.
337
338 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
339 (REISERFS_MAX_LABEL_LENGTH): Removed.
340 (REISERFS_LABEL_OFFSET): Likewise.
341 (grub_reiserfs_label): Rewritten.
342
3432011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
344
345 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
346 field.
347
cf5ba824
VS
3482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
349
350 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
351
17744004
VS
3522011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
355 drive failure on both raidz and raidz2.
356
aca5aefc
VS
3572011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
358
359 Fix RAIDZ(2) for >= 5 devices.
360
361 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
362 asize argument. All users updated.
363
ce8ca56e
VS
3642011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
365
366 Fix RAIDZ(2).
367
368 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
369 (fill_vdev_info_real): Set ashift.
370 (read_device): Rewrite RAIDZ part based on reverse engineering.
371
7c01e783
VS
3722011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
375 don't report potentially unavialiable fields in debug output.
376 (find_path): Fix double-free and memory leak.
377
ce109e84
VS
3782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
379
380 Read label on UFS1.
381
382 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
383 (grub_ufs_fs): Always set .label.
384
87661123
VS
3852011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
386
387 Use shifts in UFS.
388
389 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
390 (grub_ufs_data): New field log2_blksz.
391 (grub_ufs_read_file): Use shifts.
392 (grub_ufs_mount): Check block size and logarithm it.
393
46bc1dc2
VS
3942011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
397 long symlinks.
398
19ee2987
VS
3992011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
400
401 Handle symlinks and long names on tar and cpio.
402
403 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
404 (ATTR_FILE): Likewise.
405 (ATTR_DIR): Likewise.
406 (ATTR_LNK): Likewise.
407 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
408 (grub_cpio_find_file): Fill mode, handle linkname field as well as
409 L and K entries.
410 (grub_cpio_mount): Zero-fill data.
411 (handle_symlink): New function.
46bc1dc2
VS
412 (grub_cpio_dir): Handle symlinks.
413 (grub_cpio_open): Likewise.
414 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 415
c83a08d8
VS
4162011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
417
418 Fix iso9660 filename limitations and fix memory leaks.
419
420 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
421 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
422
45cdd3ea
VS
4232011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
424
425 Fix JFS file name length limitations.
426
427 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
428 (grub_jfs_diropen): Fix maximum filename length.
429 (grub_jfs_getent): Fix filename length.
430 (grub_jfs_lookup_symlink): Fix size checks.
431
94ef05c2
VS
4322011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
435 string.
436
785ab8c7
VS
4372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
438
eb0b6b45
VS
439 Leverage BFS implementation to read AFS.
440
441 * Makefile.util.def (libgrubmods): Add afs.c.
442 * grub-core/Makefile.core.def (afs): New module
443 * grub-core/fs/afs.c: New file.
444 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
445
4462011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 449
c4a1628f
VS
4502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/fs/bfs.c: Run indent.
453
5825b379
VS
4542011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
455
456 BFS implementation based on the specification.
457
458 * grub-core/fs/bfs.c: New file.
459 * Makefile.util.def (libgrubmods): Add bfs.c.
460 * grub-core/Makefile.core.def (bfs): New module.
461
42b2a706
VS
4622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * util/grub-fstest.c (cmd_cp): Clarify error message.
465 (cmd_cmp): Likewise.
466
61b99bfc
YB
4672011-10-30 Yves Blusseau <blusseau@zetam.org>
468
469 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
470 and befs_be.
471
faba3d16
VS
4722011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
473
474 Remove afs and befs because of copyright problem.
475
476 * grub-core/fs/afs.c: Removed.
477 * grub-core/fs/afs_be.c: Removed.
478 * grub-core/fs/befs.c: Removed.
479 * grub-core/fs/befs_be.c: Removed.
480 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
481 * grub-core/Makefile.core.def (afs): Removed.
482 (afs_be): Likewise.
483 (befs): Likewise.
484 (befs_be): Likewise.
485
c39224b0
VS
4862011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Prefer rockridge over Joliet.
489
490 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
491 to ...
492 (set_rockridge): ... here.
493 (grub_iso9660_mount): Check rockridge on the primary label when
494 discovering. Ignore Joliet if Rockridge is present.
495
e551115a
VS
4962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Use shifts in nilfs2.
499
500 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
501 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
502 (grub_nilfs2_palloc_entries_per_group): Replace with ...
503 (grub_nilfs2_log_palloc_entries_per_group): ... this.
504 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
505 (grub_nilfs2_entries_per_block): Replaced with ...
506 (grub_nilfs2_log_entries_per_block_log): ... this.
507 (grub_nilfs2_blocks_per_group): Replaced with ...
508 (grub_nilfs2_blocks_per_group_log): ... this.
509 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
510 (grub_nilfs2_blocks_per_desc_block_log): ... this.
511 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
512 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
513 (grub_nilfs2_palloc_entry_offset): Replaced ...
514 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
515 (grub_nilfs2_dat_translate): Use shifts.
516 (grub_nilfs2_read_inode): Likewise.
517 (GRUB_MOD_INIT): Ensure that logs are correct.
518
564dd58c
VS
5192011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Use shifts in minix filesystem.
522
523 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
524 (GRUB_MINIX_ZONE2SECT): Likewise.
525 (grub_minix_data): Replace block_size with log_block_size.
526 (grub_minix_read_file): Use shifts.
527 (grub_minix_mount): Check block size and take a logarithm.
528
ed9ba06d
VS
5292011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Use shifts in squash4.
532
533 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
534 (squash_mount): Check block size and take logarithm.
535 (direct_read): Use shifts.
536
ad03fe76
VS
5372011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Correct befs block counting logic.
540
541 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
542 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
543 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
544 (grub_afs_read_inode): Use block_shift.
545 (RANGE_SHIFT): New definition.
546 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
547 unexpected conditions, use shifts and appropriate types.
548 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
549
6563f63d
VS
5502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/disk/raid.c (scan_devices): Check partition.
553 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
554
5b1ae25f
VS
5552011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
556
557 Support BFS (befs) UUID.
558
559 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
560 (grub_afs_small_data_element_header): New struct.
561 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
562 (grub_afs_read_attribute) [MODE_BFS]: New function.
563 (grub_afs_iterate_dir): Allocate for complete inode.
564 (grub_afs_mount): Likewise.
565 (grub_afs_uuid) [MODE_BFS]: New function.
566 (grub_afs_fs) [MODE_BFS]: Add .uuid.
567
f8d82408
VS
5682011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
571 (zfs_unmount): Fix memory leak.
572
5773fb64
VS
5732011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
574
575 Support NTFS reparse points.
576
577 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
578 (symlink_descriptor): New struct.
579 (grub_ntfs_read_symlink): New function.
580 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
581 (grub_ntfs_open): Likewise.
582
91c3fdde
VS
5832011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
586
3be82e10
VS
5872011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
588
589 fstest xnu_uuid subcommand.
590
591 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
592 grub-core/commands/xnu_uuid.c.
593 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
594 (fstest): Handle xnu_uuid.
595 (options): Document xnu_uuid.
596 (argp_parser): Parse xnu_uuid.
597
8e32442e
VS
5982011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
601 -l argument. Add newline at the end if printing.
602 (GRUB_MOD_INIT): Document -l.
603
52a05075
VS
6042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
605
606 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
607
1869edb5
VS
6082011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
609
610 ZFS multi-device and version 33 support.
611
612 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
613 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
614 (grub_zfs_data): Add multidev-ice-related fields.
615 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
616 (dva_get_offset): Make dva const.
617 (zfs_fetch_nvlist): New function.
618 (fill_vdev_info_real): Likewise.
619 (fill_vdev_info): Likewise.
620 (check_pool_label): Likewise.
621 (scan_disk): Likewise.
622 (scan_devices): Likewise.
623 (read_device): Likewise.
624 (read_dva): Likewise.
625 (zio_read_gang): Use read_dva.
626 (zio_read_data): Likewise.
627 (zap_leaf_lookup): Add missing endian conversion.
628 (zap_verify): Add missing endian conversion. All users updated.
629 (fzap_lookup): Likewise.
630 (fzap_iterate): Likewise.
631 (dnode_get_path): Handle SA bonus.
632 (nvlist_find_value): Make input const. All users updated.
633 (unmount_device): New function.
634 (zfs_unmount): Use unmount_device.
635 (zfs_mount): Use scan_disk.
636 (zfs_mtime): New function.
637 (grub_zfs_open): Handle system attributes.
638 (fill_fs_info): Likewise.
639 (grub_zfs_dir): Likewise.
640 (grub_zfs_fs): Add mtime.
641 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
642 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
643 (SA_MTIME_OFFSET): Likewise.
644 (SA_SYMLINK_OFFSET): Likewise.
645 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
646 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
647 (fstest): Support zfsinfo.
648 (argp_parser): Likewise.
649
186b4028
VS
6502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
653 error.
654
6552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
656
657 ZFS fixes.
658
659 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
660 sharing the same block. Iterate over correct number of indices.
661 (dnode_get_path): Handle symlinks correctly.
662
c0584900
VS
6632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
666
67e2bd71
VS
6672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
668
669 Read label on HFS+.
670
671 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
672 (grub_hfsplus_btree_search): Fix types.
673 (grub_hfsplus_label): Implement.
674
e9cc6b7b
VS
6752011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
678
19832ddb
VS
6792011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
682
66b40850
VS
6832011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Fix symlink handling on iso9660.
686
687 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
688 All users updated.
689 (grub_iso9660_susp_iterate): Accept zero-size iterate.
690 (grub_iso9660_read_symlink): Moved most of code ...
691 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
692
db821363
VS
6932011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
696 Use union to avoid breaking strict-aliasing rules.
697
e1211949
VS
6982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
699
700 Support multi-extent iso files.
701
702 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
703 Add node.
704 (grub_fshelp_node): Revamp. All users updated.
705 (FLAG_*): New enum.
706 (read_node): New function.
707 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
708 All users updated.
709 (grub_iso9660_mount): Don't attempt to read sua when there is none.
710 (get_node_size): New function.
711 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
712 entries.
713 Fix memory leak on . and ..
714 (grub_iso9660_read): Use read_node.
715 (grub_iso9660_close): Free node.
716
d4888031
VS
7172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
718
719 Fix tar 4G limit and handle paths containing dot.
720
721 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
722 (canonicalize): New function.
723 (grub_cpio_find_file): Use canonicalize. Store offs in
724 grub_disk_addr_t.
725 (grub_cpio_dir): Use grub_disk_addr_t.
726 (grub_cpio_open): Likewise.
727
9f12e664
VS
7282011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
729
730 Fix handling of uncompressed blocks on squashfs and break 4G limit.
731
732 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
733 unused flags.
734 (grub_squash_inode): Add long_file and block_size.
735 (grub_squash_cache_inode): New struct.
736 (grub_squash_dirent): Make types into enum.
737 (SQUASH_TYPE_LONG_REGULAR): New type.
738 (grub_squash_frag_desc): Add field size.
739 (SQUASH_BLOCK_FLAGS): New enum.
740 (grub_squash_data): Use grub_squash_cache_inode.
741 (grub_fshelp_node): Make ino_chunk 64-bit.
742 (read_chunk): Minor argument change. All users updated.
743 (squash_mount): Use correct le_to_cpu.
744 (grub_squash_open): Handle LONG_REGULAR.
745 (direct_read): New function.
746 (grub_squash_read_data): Handle blocks correctly.
747
9f326fba
VS
7482011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
751
f4d9b64b
VS
7522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
755
5bbd28b8
VS
7562011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
757
758 Fix 2G limit on ZFS.
759
760 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
761 types.
762 (uberblock_verify): Likewise.
763 (dmu_read): Likewise.
764 (grub_zfs_read): Likewise. Remove invalid cast.
765
68c72069
VS
7662011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
769 (grub_jfs_blkno): Fix incorrect shift.
770 (grub_jfs_read_file): Use more appropriate types.
771
6e536dc8
VS
7722011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
773
774 Support triple indirect on minix2 and minix3.
775
776 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
777 Declare triple_indir_zone.
778 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
779 indirect.
780
e0864e7a
VS
7812011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
782
783 Minix FS fixes.
784
785 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
786 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
787 Rename ctime to mtime. All users updated.
788 (grub_minix_get_file_block): Fix types and double indirect computations.
789
89481cab
VS
7902011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
793 if no label is found.
794 (grub_fat_iterate_dir): Fix file size type.
795 (grub_fat_iterate_dir): Likewise.
796
f646e143
VS
7972011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
800 save some space.
801 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
802 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
803
534d769e
VS
8042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
807
e084ba18
VS
8082011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * util/import_gcry.py: Accept space between # and include.
811
3471ecdf
VS
8122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
815
124df5f6
VS
8162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
817
818 Fine grainely disable warnings on lexer. Remove Wno-error on it.
819
820 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
821 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
822 yylex_strncpy.
823 * grub-core/script/yylex.l: Add fine-grained #pragma.
824
4defb8d5
VS
8252011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
828 New inline function.
829 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
830 Likewise.
831 (memset) [GRUB_UTIL]: Likewise.
832 (memcmp) [GRUB_UTIL]: Likewise.
833
4e94ae65
VS
8342011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
837 inline function rather than a define.
838
18c575e5
VS
8392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * util/grub-setup.c: Add missing include.
842
f8bc22a8
VS
8432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * util/ieee1275/grub-ofpathname.c: Add missing include.
846
3ce69fc9
VS
8472011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
850 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
851 Likewise.
852
d1e293bb
VS
8532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
856 grub_memcmp usage.
857
7a5c54a4
VS
8582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * util/grub-install.in: Add datarootdir as per automake manual
861 suggestion.
862 * util/grub-mknetdir.in: Likewise.
863
8642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
865
866 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
867 suggestion.
868 * util/grub.d/10_kfreebsd.in: Likewise.
869 * util/grub.d/10_linux.in: Likewise.
870 * util/grub.d/10_netbsd.in: Likewise.
871 * util/grub.d/10_windows.in: Likewise.
872 * util/grub.d/20_linux_xen.in: Likewise.
873
766f7d08
VS
8742011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Remove redundant grub_kernel_image_size.
877
878 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
879 _edata and _start.
880 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
881 the small code. It moves it only by few bytes but simplifies the code.
882 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
883 _start.
884 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
885 (grub_kernel_image_size): Removed.
886 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
887 (grub_kernel_image_size): Removed.
888 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
889 compiled with Apple toolchain.
890 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
891 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
892 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
893 (grub_total_module_size): Likewise.
894 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
895 Removed.
896 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
897 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
898 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
899 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
900 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
901 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
902 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
903 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
904 Removed.
905 (grub_total_module_size): Removed.
906 * util/grub-mkimage.c (image_target_desc): Remove image_size.
907 (image_targets): Likewise.
908 Set .compressed_size to no field on sparc.
909 (generate_image): Remove kernel_image_size handling.
910
fcf1d672
SJ
9112011-10-19 Szymon Janc <szymon@janc.net.pl>
912
913 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
914 NULL pointer dereference.
915
de9c615e
VS
9162011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
917
918 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
919 done with a dedicated section.
920
921 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
922 Ensure the correct position of boot_path.
923 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
924 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
925 other fields.
926 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
927 * include/grub/boot.h: Removed. All references removed.
928 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
929 Removed.
930 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
931
e55599dc
VS
9322011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
935 name.
936
36dd20ad
VS
9372011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
940
f8f72eb8
VS
9412011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
944 Don't add the bogus brackets.
945
a374751b
VS
9462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
947
948 ExFAT support.
949
950 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
951 * grub-core/Makefile.core.def (exfat): New module.
952 * grub-core/fs/exfat.c: New file.
953 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
954 (GRUB_FAT_ATTR_*): Make into an enum.
955 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
956 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
957 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
958 (GRUB_FAT_MAXFILE): Removed.
959 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
960 (grub_current_fat_bpb_t): New type.
961 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
962 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
963 (grub_fat_dir_node_t): New type.
964 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
965 (fat_log2) [MODE_EXFAT]: Removed.
966 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
967 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
968 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
969 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
970 (grub_fat_label) [MODE_EXFAT]: New function.
971 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
972 reserved_first_sector to 0.
973
544c2487
VS
9742011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
975
976 Move grub_reboot out of the kernel.
977
978 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
979 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
980 * grub-core/lib/efi/reboot.c: ... here.
981 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
982 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
983 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
984 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
985 * grub-core/lib/i386/reboot_trampoline.S: ... here.
986 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
987 * grub-core/lib/ieee1275/reboot.c: ... here.
988 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
989 * grub-core/lib/mips/arc/reboot.c: ... here.
990 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
991 * grub-core/lib/mips/loongson/reboot.c: ...here.
992 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
993 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
994 * include/grub/emu/misc.h (grub_reboot): New function declaration.
995 * include/grub/i386/reboot.h: New file.
996 * include/grub/mips/loongson/ec.h: Fix includes.
997 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
998 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
999 * grub-core/lib/i386/reboot.c: New file.
1000
a97501d2
VS
10012011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 Make grub_prefix into module to fix the arbitrary limit and save
1004 some space.
1005
1006 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1007 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1008 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1009 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1010 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1011 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1012 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1013 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1014 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1015 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1016 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1017 * include/grub/ia64/efi/kernel.h: Removed.
1018 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1019 (grub_prefix): Removed.
1020 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1021 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1022 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1023 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1024 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1025 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1026 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1027 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1028 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1029 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1030 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1031 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1032 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1033 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1034 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1035 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1036 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1037 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1038 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1039 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1040 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1041 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1042 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1043 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1044 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1045 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1046 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1047 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1048 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1049 from module.
1050 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1051 prefix_end.
1052 (image_targets): Likewise.
1053 (generate_image): Put prefix as a module.
1054
39705fad
VS
10552011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 Replace grub_module_iterate with FOR_MODULES.
1058
1059 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1060 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1061 (grub_efi_modules_addr): ...this.
1062 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1063 (grub_efi_init): Set grub_modbase.
1064 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1065 (grub_modbase): New variable.
1066 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1067 (grub_modbase): New variable.
1068 (grub_machine_init): Set grub_modbase.
1069 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1070 (grub_modbase): New variable.
1071 (grub_machine_init): Set grub_modbase.
1072 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1073 (grub_modbase): New variable.
1074 (grub_machine_init): Set grub_modbase.
1075 * grub-core/kern/main.c (grub_module_iterate): Remove.
1076 (grub_modules_get_end): Use grub_modbase.
1077 (grub_load_modules): Use FOR_MODULES.
1078 (grub_load_config): Likewise.
1079 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1080 (grub_modbase): New variable.
1081 (grub_machine_init): Set grub_modbase.
1082 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1083 (grub_modbase): New variable.
1084 (grub_machine_init): Set grub_modbase.
1085 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1086 Removed.
1087 (grub_modbase): New variable.
1088 (grub_machine_init): Set grub_modbase.
1089 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1090 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1091 (grub_module_iterate): Likewise.
1092 (grub_modbase): New variable declaration.
1093 (FOR_MODULES): New macro.
1094
2afb7f6c
VS
10952011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1096
1097 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1098 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1099
366e34fa
VS
11002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 Fix few obvious type discrepancies.
1103
1104 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1105 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1106 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1107 variable.
1108 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1109 and connected types.
1110 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1111 offset.
1112 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1113 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1114 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1115 and connected types.
1116
177b960e
VS
11172011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 Fix python 3.x incompatibilities.
1120
1121 * gentpl.py: Put brackets around print strings.
1122 * util/import_gcry.py: Open explicitly as utf-8.
1123 Use in instead of has_key.
1124
3b619ae1
VS
11252011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1128 (GRUB_XFS_INO_AGBITS): Make into inline function.
1129 (GRUB_XFS_INO_INOINAG): Likewise.
1130 (GRUB_XFS_INO_AG): Likewise.
1131 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1132 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1133 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1134 (GRUB_XFS_EXTENT_SIZE): Likewise.
1135 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1136 (GRUB_XFS_NEXT_DIRENT): Likewise.
1137 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1138 (grub_xfs_read_file): Fix offset type.
1139
8bcebcb8
RM
11402011-10-15 Robert Millan <rmh@gnu.org>
1141
1142 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1143
0017e5ef
RM
11442011-10-15 Robert Millan <rmh@gnu.org>
1145
1146 Fix build problem on FreeBSD and GNU/kFreeBSD.
1147
1148 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1149
d8919552
VS
11502011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1153
1154 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1155 types.
1156 (grub_hfsplus_btree_recoffset): Likewise.
1157 (grub_hfsplus_btree_recptr): Likewise.
1158 (grub_hfsplus_find_block): Likewise.
1159 (grub_hfsplus_btree_search): Likewise.
1160 (grub_hfsplus_read_block): Likewise.
1161 (grub_hfsplus_read_file): Likewise.
1162 (grub_hfsplus_mount): Likewise.
1163 (grub_hfsplus_btree_iterate_node): Likewise.
1164 (grub_hfsplus_btree_search): Likewise.
1165 (grub_hfsplus_iterate_dir): Likewise.
1166 (grub_hfsplus_read): A small code simplification.
1167
c81296b6
VS
11682011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/kern/emu/hostdisk.c
1171 (convert_system_partition_to_system_disk): Don't assume that children
1172 of mapper nodes are mapper nodes.
1173
0eb8ffb1
VS
11742011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1177 * include/grub/misc.h (grub_isxdigit): New function.
1178 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1179 switched to grub_isxdigit.
1180 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1181 number starting with a letter.
1182
a98f4a08
RM
11832011-10-09 Robert Millan <rmh@gnu.org>
1184
1185 LVM support for FreeBSD and GNU/kFreeBSD.
1186
1187 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1188 GNU/kFreeBSD.
1189 (LVM_DEV_MAPPER_STRING): Move from here ...
1190 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1191 * util/getroot.c: Include `<grub/util/lvm.h>'.
1192 (grub_util_get_dev_abstraction): Enable
1193 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1194 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1195 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1196 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1197 support it.
1198 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1199 GNU/kFreeBSD.
1200 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1201 when LVM abstraction is required for ${GRUB_DEVICE}.
1202
050e8e90
SJ
12032011-10-06 Szymon Janc <szymon@janc.net.pl>
1204
1205 Add support for LZO compression in GRUB:
1206 - import of minilzo library,
1207 - LZO decompression for btrfs,
1208 - lzop files decompression.
1209
1210 * grub-core/io/lzopio.c: New file.
1211 * grub-core/lib/adler32.c: Likewise.
1212 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1213 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1214 * grub-core/lib/minilzo/minilzo.c: Likewise.
1215 * grub-core/lib/minilzo/minilzo.h: Likewise.
1216 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1217 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1218 grub-core/lib/minilzo/minilzo.c to common.
1219 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1220 cflags in cppflags.
1221 * grub-core/Makefile.core.def (btrfs): Likewise.
1222 * grub-core/Makefile.core.def (lzopio): New module.
1223 (adler32): Likewise.
1224 * grub-core/fs/btrfs.c: Include minilzo.h.
1225 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1226 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1227 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1228 (grub_btrfs_lzo_decompress): New function.
1229 (grub_btrfs_extent_read): Add support for LZO compression type.
1230 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1231 (GRUB_USHRT_MAX): Likewise.
1232 (GRUB_UINT_MAX): Likewise.
1233 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1234 (UINT_MAX): Likewise.
1235 (CHAR_BIT): Likewise.
1236 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1237 grub-core/lib/posix_wrap/limits.h
1238 (UCHAR_MAX): Likewise.
1239 * include/grub/file.h (grub_file_filter_id): New compression filter
1240 GRUB_FILE_FILTER_LZOPIO.
1241 * include/grub/file.h (grub_file_filter_id): Set
1242 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1243 * include/grub/types.h (grub_get_unaligned16): New function.
1244 (grub_get_unaligned32): Likewise.
1245 (grub_get_unaligned64): Likewise.
1246 * util/import_gcry.py (cryptolist): Add adler32.
1247
0eb8ffb1
VS
12482011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1251 in perspective decreases the complexity of build system and fixes
1252 compilation right now.
1253
ce79cc99 12542011-10-01 Ales Nesrsta <starous@volny.cz>
1255
1256 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1257 (fixed problem related to using UHCI with coreboot).
1258
8667a314
BC
12592011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1260
1261 * gentpl.py: Use Autogen macros so that the output template file
1262 (Makefile.tpl) size is reduced.
1263
fc5efcc0
MK
12642011-09-29 Mads Kiilerich <mads@kiilerich.com>
1265
1266 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1267 extra_dist.
1268
d1ab689d
ML
12692011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1270
1271 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1272 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1273
c05de032
ML
12742011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1275
1276 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1277 _fullpath.
1278
cca7ccd8
ML
12792011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1280
1281 Remove extra declaration of sleep for mingw32.
1282
1283 * util/misc.c (sleep) [__MINGW32__]: Removed.
1284 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1285
e0b0dc83
GS
12862011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1287
1288 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1289 type and packname.
1290 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1291 Resurrected.
1292 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1293 (grub_netbsd_btinfo_bootwedge): New struct.
1294 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1295 New function.
1296 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1297
91a1a164
TH
12982011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1299
1300 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1301 loader.
1302
2ded951e
AB
13032011-09-28 Andreas Born <futur.andy@googlemail.com>
1304
1305 Fix incorrect identifiers in bash-completion.
1306
1307 * util/bash-completion.d/grub-completion.bash.in
1308 (_grub_mkpasswd-pbkdf2): Rename to ...
1309 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1310 (_grub_script-check): Rename to ...
1311 (_grub_script_check): ... this. All users updated.
1312
69915030
VS
13132011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1316 Return 0 if disk isn't biosdisk.
1317
20fd15f9
GS
13182011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1319
1320 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1321 on NetBSD.
1322 * Makefile.util.def (grub-fstest): Likewise.
1323
1a7d7db9
GS
13242011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1325
1326 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1327 Get sector size from disk label.
1328
2221ab6c
CW
13292011-09-05 Colin Watson <cjwatson@ubuntu.com>
1330
1331 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1332 */README* as well as README*.
1333 Reported by: Axel Beckert.
1334
ca51c4a0
VS
13352011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1338 case of less than 256 MiB of RAM.
1339
ab80f326
VS
13402011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * grub-core/commands/wildcard.c (make_regex): Handle @.
1343
4155e697
VS
13442011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1347
ab178c08
SJ
13482011-08-21 Szymon Janc <szymon@janc.net.pl>
1349
1350 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1351 AC_LANG_CONFTEST macros.
1352
7dc3c686
SJ
13532011-08-20 Szymon Janc <szymon@janc.net.pl>
1354
1355 Add grub-fstest option to uncompress data for commands.
1356
1357 * util/grub-fstest.c (uncompress): New var.
1358 (options): New option -u.
1359
fe8d4a7b
SJ
13602011-08-20 Szymon Janc <szymon@janc.net.pl>
1361
1362 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1363 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1364
a5219af1
SJ
13652011-08-20 Szymon Janc <szymon@janc.net.pl>
1366
1367 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1368 file type was not recognized correctly (not gzip or corrupted).
1369
f87abff5
VS
13702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1371
1372 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1373 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1374
d94497ea
VS
13752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1376
1377 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1378 loongson.
1379 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1380 video_radeon_fuloong2e.
1381 * grub-core/video/radeon_fuloong2e.c: New file.
1382 * include/grub/video.h (grub_video_id_t): Add new ID
1383 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1384
0d1fd011
VS
13852011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1388 define.
1389 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1390 that PRID matches the detected subplatform and reset the subplatform
1391 if it doesn't.
1392
84beb0ee
VS
13932011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1396
1227c133
VS
13972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Fix PCI iterating on functions >= 4.
1400
1401 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1402 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1403 Removed.
1404 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1405 (grub_pci_read): Fix bitmask.
1406 (grub_pci_read_word): Likewise.
1407 (grub_pci_read_byte): Likewise.
1408 (grub_pci_write): Likewise.
1409 (grub_pci_write_word): Likewise.
1410 (grub_pci_write_byte): Likewise.
1411
9594c689
VS
14122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1415 can still be specified in TARGET_CFLAGS)
1416
14a2562c
VS
14172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1420
1421 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1422 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1423 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1424 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1425 (FULOONG): Rename to ...
1426 (FULOONG2F): ... this. All users updated.
1427 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1428 (machtype_fuloong2f_str): ... this.
1429 (machtype_fuloong2e_str): New string.
1430 Check for machtype_fuloong2e_str.
1431 * grub-core/loader/mips/linux.c (loongson_machtypes)
1432 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1433 * grub-core/term/serial.c (loongson_defserial)
1434 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1435 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1436 loongson_defserial.
1437 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1438 Rename to ...
1439 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1440 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1441 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1442 to IMAGE_FULOONG2F_FLASH. All users updated.
1443 (image_targets): Rename images.
1444 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1445
b526cbb6
SJ
14462011-08-19 Szymon Janc <szymon@janc.net.pl>
1447
1448 Make enable of disk cache statistics code configurable.
1449
1450 * configure.ac: --enable-cache-stats added.
1451 * config.h.in (DISK_CACHE_STATS): New define.
1452 * grub-core/Makefile.core.def (cacheinfo): New command.
1453 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1454 * grub-core/commands/cacheinfo.c: New file.
1455 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1456 moved to cacheinfo.c.
1457 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1458 debug code.
1459 * include/grub/disk.h: Likewise.
1460
fb739ccd
SJ
14612011-08-19 Szymon Janc <szymon@janc.net.pl>
1462
1463 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1464 * grub-core/Makefile.am: Likewise.
1465
2bba8cfd
VS
14662011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1469 non-zero pull.
1470
43526629
VS
14712011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1474 All users updated.
1475 (grub_jfs_lookup_symlink): Use correct starting inode.
1476
5c144cc8
VS
14772011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * util/grub-setup.c (main): Add missing gcry initialisation.
1480
b1257f65
VS
14812011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Don't accept text modes on EFI when booting Linux.
1484
1485 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1486 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1487
828bc390
ML
14882011-08-15 Mario Limonciello <mario_limonciello@dell.com>
14892011-08-15 Colin Watson <cjwatson@ubuntu.com>
1490
1491 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1492 use of "/path/.." as in grub-install for EFI as well as handling
1493 symlinks correctly.
1494 Fixes Debian bug #637768.
1495
5f60ccac
CW
14962011-08-15 Colin Watson <cjwatson@ubuntu.com>
1497
1498 * util/grub-probe.c: Remove duplicate #include.
1499
6dc212f9
RM
15002011-08-10 Robert Millan <rmh@gnu.org>
1501
1502 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1503
1504 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1505 function.
1506 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1507 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1508
66816d85
RM
15092011-08-03 Robert Millan <rmh@gnu.org>
1510
1511 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1512 la_array as packed.
1513 Reported by: Zachary Bedell
1514
20168fca
CW
15152011-07-26 Colin Watson <cjwatson@ubuntu.com>
1516
1517 * configure.ac: The Loongson port requires grub-mkfont due to its
1518 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1519 be built.
1520
303b6246
CW
15212011-07-26 Colin Watson <cjwatson@ubuntu.com>
1522
1523 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1524 processing arguments (otherwise help2man fails when GRUB has not yet
1525 been installed).
1526
6795300e
VS
15272011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1528
41aa28ea
VS
1529 New script grub-mkstandalone.
1530
1531 * Makefile.util.def (grub-mkstandalone): New script.
1532 * docs/man/grub-mkstandalone.h2m: New file.
1533 * util/grub-mkstandalone.in: Likewise.
1534
15352011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 Support ATA disks with 4K sectors.
6795300e
VS
1538
1539 * include/grub/ata.h (grub_ata): New member log_sector_size.
1540 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1541 (grub_ata_identify): Read sector size.
1542 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1543
92227597
VS
15442011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * util/grub-install.in: Don't use uhci outside of x86.
1547
c77069f5
VS
15482011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * util/grub-mkrescue.in: Add missing quotes.
1551
15522011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1553
1554 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1555 dereference.
1556
583168a2
VS
15572011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1560
6be1c01f
VS
15612011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * include/grub/video.h: add missing EXPORT_FUND on
1564 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1565
a1167439
VS
15662011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * include/grub/mips/kernel.h: Fix define conflict.
1569
bf66054f
VS
15702011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1573 all four ways.
1574
8fc4fa45
CW
15752011-07-21 Colin Watson <cjwatson@ubuntu.com>
1576
1577 Preferred resolution detection for VBE.
1578
1579 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1580 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1581 the Flat Panel extension, in line with the X.org VESA driver.
1582 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1583 New function.
1584 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1585 (grub_vbe_bios_read_edid): Likewise.
1586 (grub_vbe_get_preferred_mode): Likewise.
1587 (grub_video_vbe_setup): When the mode is "auto", try to get the
1588 preferred mode from VBE, and use the largest mode that is no larger
1589 than the preferred mode (some BIOSes expose a preferred mode that is
1590 not in their mode list!). If this fails, fall back to 640x480 as a
1591 safe conservative choice.
1592 (grub_video_vbe_get_edid): New function.
1593 (grub_video_vbe_adapter): Add get_edid.
1594 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1595 (struct grub_video_adapter): Add get_edid.
1596 (grub_video_edid_checksum): Add prototype.
1597 (grub_video_edid_preferred_mode): Likewise.
1598 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1599 structure.
1600
1601 * grub-core/commands/videoinfo.c (print_edid): New function.
1602 (grub_cmd_videoinfo): Print EDID if available.
1603
1604 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1605 is more appropriate on a wider range of platforms than 640x480.
1606 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1607 documentation.
1608
ca5572a9
VS
16092011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1612
e4bcf625
VS
16132011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * po/POTFILES.in: Regenerate.
1616
c4edd548
VS
16172011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1620 incorrect memory usage.
1621
16a2bab0
VS
16222011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * util/grub-install.in: Source grub-mkconfig_lib.
1625
2e418de6
VS
16262011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 Remove getroot.c from core on emu platform.
1629
1630 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1631 kern/emu/raid.c.
1632 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1633 useless.
1634 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1635 * util/getroot.c (get_win32_path): ... here.
1636 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1637 * util/getroot.c (fini_libzfs): ... here.
1638 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1639 * util/getroot.c (grub_get_libzfs_handle): ... here.
1640 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1641 Moved from here...
1642 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1643 * grub-core/kern/emu/misc.c
1644 (grub_make_system_path_relative_to_its_root): Moved from here...
1645 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1646 * grub-core/kern/emu/getroot.c: Moved from here ...
1647 * util/getroot.c: ... here. All users updated.
1648 * grub-core/kern/emu/raid.c: Moved from here ...
1649 * util/raid.c: ... here. All users updated.
1650
def9832a
VS
16512011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * po/POTFILES.in: Regenerate.
1654
cd8fe79a
VS
16552011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1656
1657 Fix compilation on GNU/Linux.
1658
1659 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1660 Disable geli.
1661 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1662 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1663 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1664
a251b719
VS
16652011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16662011-07-07 Michael Gorven <michael@gorven.za.net>
16672011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1668
1669 LUKS and GELI support.
1670
1671 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1672 grub-core/disk/luks.c, grub-core/disk/geli.c,
1673 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1674 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1675 grub-core/lib/arg.c.
1676 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1677 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1678 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1679 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1680 (grub-bin2h): Add libgcry.a.
1681 (grub-mkimage): Likewise.
1682 (grub-mkrelpath): Likewise.
1683 (grub-script-check): Likewise.
1684 (grub-editenv): Likewise.
1685 (grub-mkpasswd-pbkdf2): Likewise.
1686 (grub-pe2elf): Likewise.
1687 (grub-fstest): Likewise.
1688 (grub-mkfont): Likewise.
1689 (grub-mkdevicemap): Likewise.
1690 (grub-probe): Likewise.
1691 (grub-ofpath): Likewise.
1692 (grub-mklayout): Likewise.
1693 (example_unit_test): Likewise.
1694 (grub-menulst2cfg): Likewise.
1695 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1696 * grub-core/Makefile.core.def (cryptodisk): New module.
1697 (luks): Likewise.
1698 (geli): Likewise.
1699 * grub-core/disk/AFSplitter.c: New file.
1700 * grub-core/disk/cryptodisk.c: Likewise.
1701 * grub-core/disk/geli.c: Likewise.
1702 * grub-core/disk/luks.c: Likewise.
1703 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
1704 grub_util_is_lvm.
1705 (grub_util_get_dm_abstraction): New function.
1706 (grub_util_follow_gpart_up): Likewise.
1707 (grub_util_get_geom_abstraction): Likewise.
1708 (grub_util_get_dev_abstraction): Use new functions.
1709 (grub_util_pull_device): Pull GELI and LUKS.
1710 (grub_util_get_grub_dev): Handle LUKS and GELI.
1711 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
1712 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
1713 (follow_geom_up): Removed.
1714 (grub_util_fd_seek): New function.
1715 (open_device): Use grub_util_fd_seek.
1716 (nread): Rename to ..
1717 (grub_util_fd_read): ... this. All users updated.
1718 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
1719 (grub_crypto_cbc_decrypt): Likewise.
1720 (grub_crypto_hmac_write): Likewise.
1721 (grub_crypto_hmac_buffer): Likewise.
1722 (grub_password_get): Extend to util.
1723 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
1724 New member modname.
1725 (gcry_md_spec) [GRUB_UTIL]: Likewise.
1726 * include/grub/cryptodisk.h: New file.
1727 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
1728 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
1729 LUKS and GELI.
1730 (grub_util_follow_gpart_up): New proto.
1731 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
1732 (grub_util_fd_read): Likewise.
1733 (grub_cryptodisk_cheat_mount): Likewise.
1734 (grub_util_cryptodisk_print_uuid): Likewise.
1735 (grub_util_get_fd_sectors): Likewise.
1736 * util/grub-fstest.c (mount_crypt): New var.
1737 (fstest): Mount crypto if requested.
1738 (options): New option -C.
1739 (argp_parser): Parse -C.
1740 (main): Init and fini gcry.
1741 * util/grub-install.in: Support cryptodisk install.
1742 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
1743 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
1744 cryptodisk.
1745 (prepare_grub_to_access_device): Likewise.
1746 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
1747 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
1748 (probe_cryptodisk_uuid): New function.
1749 (probe_abstraction): Likewise.
1750 (probe): Use new functions.
1751 * util/import_gcry.py: Create Makefile.utilgcry.def.
1752 Add modname member.
1753
9bfdcbbc
VS
17542011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 Lazy device scanning.
1757
1758 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
1759 (grub-setup): Remove util/raid.c.
1760 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
1761 * grub-core/disk/lvm.c (scan_depth): New variable.
1762 (grub_lvm_iterate): Rescan if necessary.
1763 (find_lv): New function based on grub_lvm_open.
1764 (grub_lvm_open): Use find_lv. Rescan on error.
1765 (is_node_readable): New function.
1766 (is_lv_readable): Likewise.
1767 (grub_lvm_scan_device): Skip already found disks.
1768 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
1769 Stop if searched device is found and readable.
1770 * grub-core/disk/raid.c (inscnt): New variable.
1771 (scan_depth): Likewise.
1772 (scan_devices): New function based on grub_raid_register. Abort if
1773 looked for device is found.
1774 (grub_raid_iterate): Rescan if needed.
1775 (find_array): NEw function based on -grub_raid_open.
1776 (grub_raid_open): Use find_array and rescan.
1777 (insert_array): Set became_readable_at.
1778 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
1779 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
1780 New function.
1781 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
1782 (grub_util_pull_device): New function.
1783 (grub_util_get_grub_dev): Call grub_util_pull_device.
1784 * util/raid.c: Moved to ..
1785 * grub-core/kern/emu/raid.c: ... here.
1786 (grub_util_raid_getmembers): New parameter "bootable".
1787 All users updated. Support 1.x.
1788 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
1789 All users updated.
1790 * include/grub/disk.h (grub_disk_pull_t): New enum.
1791 (grub_disk_dev): Change iterate prototype.
1792 All users updated.
1793 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
1794 New proto.
1795 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
1796 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
1797 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
1798 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
1799 All users updated.
1800 * include/grub/util/raid.h: Removed.
1801
1c358e59
VS
18022011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * po/POTFILES.in: Regenerate.
1805
abee94ed
VS
18062011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 Unify sparc init with other ieee1275.
1809
1810 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
1811 instead of kern/sparc64/ieee1275/init.c.
1812 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
1813 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
1814 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
1815 grub/machine/kernel.h.
1816 (grub_ieee1275_original_stack) [__sparc__]: New variable.
1817 (grub_claim_heap) [__sparc__]: Use sparc version.
1818 (grub_machine_init): Moved args parsing to
1819 (grub_parse_cmdline): ...this.
1820 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
1821 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
1822 New definition.
1823 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
1824
1825 Move BOOTP to separate file.
1826
1827 * grub-core/Makefile.core.def (net): Add net/bootp.c.
1828 * grub-core/net/net.c: Move all BOOTP functions to
1829 * grub-core/net/bootp.c: ... here.
1830
1831 Use frame interface on PXE.
1832
1833 * grub-core/Makefile.core.def (pxecmd): Removed.
1834 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
1835 * grub-core/commands/i386/pc/pxecmd.c: Removed.
1836 * grub-core/i386/pc/pxe.c: Moved from here ...
1837 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
1838 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
1839 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
1840
1841 EFI network support.
1842
1843 * grub-core/Makefile.core.def (efinet): New module.
1844 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
1845 here...
1846 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
1847 All users updated.
1848 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
1849 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
1850 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
1851 * grub-core/net/drivers/efi/efinet.c: New file.
1852 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
1853 (grub_efi_net_config): New extern var.
1854
1855 Various cleanups and bugfixes.
1856
1857 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
1858 error.
1859 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
1860 disk declared as partition.
1861 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
1862 leak on failure.
1863 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
1864 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
1865 (grub_debug_zalloc): Likewise.
1866 (grub_debug_realloc): Likewise.
1867 (grub_debug_memalign): Likewise.
1868 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
1869 Check that target is IPv4.
1870 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
1871 local-mac-address as fallback.
1872 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
1873 memory leak.
1874 * grub-core/net/ip.c (ipchksum): Rename to ...
1875 (grub_net_ip_chksum): ... this. All users updated.
1876 (grub_net_recv_ip_packets): Special handling for DHCP.
1877 * util/grub-mkimage.c (generate_image): Zero-out aout header.
1878
1879 Unify prefix handling
1880
1881 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
1882 (grub_machine_get_bootlocation): ... this.
1883 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
1884 (grub_machine_get_bootlocation): ... this.
1885 (grub_prefix): New variable.
1886 (prefix): Removed.
1887 (root_dev): New variable.
1888 (dir): Likewise.
1889 (main): Use new variables.
1890 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
1891 Revamped into ...
1892 (grub_machine_get_bootlocation): ... this.
1893 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
1894 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
1895 (grub_machine_get_bootlocation): ... this.
1896 (grub_machine_set_prefix): Removed.
1897 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
1898 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
1899 Revamped into ...
1900 (grub_machine_get_bootlocation): ... this.
1901 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
1902 (grub_set_prefix_and_root): ... this. All users updated.
1903 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
1904 Revamped into ...
1905 (grub_machine_get_bootlocation): ... this.
1906 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
1907 (grub_machine_get_bootlocation): New proto.
1908 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
1909
1910 Less intrusive and more reliable seek on network implementation.
1911
1912 * grub-core/kern/file.c (grub_file_net_seek): Removed.
1913 (grub_file_seek): Don't call grub_file_net_seek.
1914 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
1915 (grub_net_fs_read_real): .. this.
1916 (grub_net_seek_real): Use net->offset.
1917 (grub_net_fs_read): Seek if necessary.
1918
1919 Unify IEEE1275 netwotk config with the other platforms.
1920
1921 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
1922 New variable.
1923 (grub_machine_get_bootlocation): Support network.
1924 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1925 Support type and device parsing.
1926 (grub_ieee1275_get_device_type): New function.
1927 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
1928 into ...
1929 (grub_ieee1275_net_config_real): ... this.
1930 (grub_ofnet_probecards): Removed.
1931 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
1932 * include/grub/ieee1275/ofnet.h: Removed.
1933 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
1934 extern var.
1935 (grub_ieee1275_get_device_type): New function.
1936
1937 Unify network device closing across platforms and make more robust.
1938
1939 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
1940 grub_grubnet_fini.
1941 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
1942 already.
1943 * grub-core/net/net.c (grub_net_network_level_interface_register):
1944 Update num_ifaces.
1945 (grub_net_card_unregister): Close all interfaces.
1946 (receive_packets): Don't poll if no iterfaces are registered.
1947 Open if necessary.
1948 (grub_net_fini_hw): New function.
1949 (grub_net_restore_hw): Likewise.
1950 (fini_hnd): New variable.
1951 (GRUB_MOD_INIT): Register preboot hook.
1952 (GRUB_MOD_FINI): Run and unregister preboot hook.
1953
1954 Poll network cards when idle.
1955
1956 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1957 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1958 * grub-core/net/net.c (receive_packets): Save last poll time.
1959 (grub_net_poll_cards_idle_real): New function.
1960 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1961 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1962 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1963
1964 Rename ofnet interfaces.
1965
1966 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1967 (grub_ofnet_findcards): Use ofnet_%s names.
1968
1969 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1970
1971 Cleanup socket opening.
1972
1973 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1974 (grub_net_fs_close): Likewise.
1975 (grub_net_fs_read_real): Use eof member.
1976 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1977 (+grub_net_udp_close): New inline function.
1978
1979 * include/grub/net/tftp.h: Moved to the top of ...
1980 * grub-core/net/tftp.c: ... here.
1981 * include/grub/net/ip.h: Moved mostly to the top of ...
1982 * grub-core/net/ip.c: ... here.
1983 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1984 * grub-core/net/ethernet.c: ... here.
1985
1986 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1987
1988 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1989 FS name.
1990
1991 * include/grub/net/ip.h (ipv4_ini): Removed.
1992 (ipv4_fini): Likewise.
1993
1994 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
1995 (grub_net_send_ip_packets): Likewise.
1996
cf1337aa
VS
19972011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2000 grub_read_cmos prototype.
2001
93c06ff9
VS
20022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 VGA text support in qemu-mips
2005
2006 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2007 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2008 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2009 text.
2010 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2011 * grub-core/kern/vga_init.c: ... this.
2012 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2013 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2014 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2015 Adjust.
2016 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2017 GRUB_MACHINE_PCI_IO_BASE.
2018
748ccabe
VS
20192011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 MIPS qemu flash support.
2022
2023 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2024 magic.
2025 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2026 (grub_machine_init): Probe memory if its size isn't known.
2027 * util/grub-mkimage.c (image_targets): Add flash targets.
2028 (generate_image): Handle flash targets.
2029
d7345994
VS
20302011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 MIPS qemu at_keyboard support.
2033
2034 * gentpl.py (videoinkernel): Add qemu-mips.
2035 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2036 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2037 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2038 modules.
2039 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2040 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2041 * grub-core/term/serial.c (grub_serial_register)
2042 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2043
a07a81b3
VS
20442011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 CMOS support on sparc.
2047
2048 * gentpl.py (cmos): Add powerpc and sparc.
2049 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2050 powerpc and sparc.
2051 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2052 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2053 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2054 grub_set_datetime_cmos.
2055 * grub-core/lib/ieee1275/cmos.c: New file.
2056 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2057 (find_rtc): Set no_ieee1275_rtc on error.
2058 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2059 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2060 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2061 fail. Move value to argument. All users updated
2062 (grub_cmos_write): Likewise.
2063 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2064 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2065 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2066 grub_get_datetime_cmos and grub_set_datetime_cmos.
2067
77546584
GS
20682011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2069
2070 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2071 sourcing grub-mkconfig_lib.
2072 * util/update-grub_lib.in: Likewise.
2073 * util/grub.d/00_header.in: Likewise.
2074 * util/grub.d/10_hurd.in: Likewise.
2075 * util/grub.d/10_kfreebsd.in: Likewise.
2076 * util/grub.d/10_linux.in: Likewise.
2077 * util/grub.d/10_netbsd.in: Likewise.
2078 * util/grub.d/10_windows.in: Likewise.
2079 * util/grub.d/20_linux_xen.in: Likewise.
2080 * util/grub.d/30_os-prober.in: Likewise.
2081
54894791
CW
20822011-06-28 Colin Watson <cjwatson@ubuntu.com>
2083
2084 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2085 default_bg_color rather than black.
2086 (grub_gfxterm_fullscreen): Likewise.
2087 (grub_gfxterm_background_color_cmd): Save new background color in
2088 default_bg_color.
2089
8d5d8444
VS
20902011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2093
5afeb5bd
VS
20942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2097 mismerge.
2098
ba7df45e
VS
20992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Chainloading on coreboot support.
2102
2103 * grub-core/Makefile.core.def (chain): Add coreboot.
2104 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2105
d0b526b2
VS
21062011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2109 if it happens.
2110
5ff1d945
VS
21112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 Implement time command.
2114
2115 * grub-core/Makefile.core.def (time): New module.
2116 * grub-core/commands/time.c: New file.
2117 * grub-core/script/parser.y: Remove "time" keyword.
2118 * grub-core/script/yylex.l: Likewise.
2119
5ebaad7e
VS
21202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2123
bdea3798
VS
21242011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2127 when handling leftovers.
2128
b28c5655
VS
21292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2130
2131 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2132 so that help2man doesn't fail.
2133
b6f945dc
VS
21342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2137 type in pointers on sparc64.
2138 (get_card_packet): Likewise.
2139
f9b75e8a
CW
21402011-06-27 Colin Watson <cjwatson@ubuntu.com>
2141
2142 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2143 with `*'.
2144 (grub_cmd_videoinfo): Fetch current video mode.
2145
1e3d9b86
VS
21462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2149 because of underlying system restrictions.
2150
efff4b1c
VS
21512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2154 necessary.
2155
9fc9ce37
VS
21562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 Coreboot video support.
2159
2160 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2161 (vbe): Likewise.
2162 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2163 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2164 here ...
2165 * grub-core/kern/i386/int.S: ... here.
2166 * grub-core/video/i386/pc/vbe.c: Updated includes.
2167 * grub-core/video/i386/pc/vga.c: Likewise.
2168 * include/grub/i386/coreboot/memory.h
2169 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2170 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2171 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2172 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2173 Disable interrupts.
2174 * include/grub/i386/pc/vga.h: Removed. All users updated.
2175
41bec7fe
VS
21762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2179 definitions for dprintf.
2180 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2181
ca80309d
VS
21822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2185 prototype.
2186 (get_card_packet): Likewise.
2187
9e322ce8
YB
21882011-06-26 Yves Blusseau <blusseau@zetam.org>
2189
2190 Display the path of the file when file is not found
2191
2192 * grub-core/fs/fat.c: Display the filename when file is not found.
2193 * grub-core/fs/fshelp.c: Likewise.
2194 * grub-core/fs/hfs.c: Likewise.
2195 * grub-core/fs/jfs.c: Likewise.
2196 * grub-core/fs/minix.c: Likewise.
2197 * grub-core/fs/ufs.c: Likewise.
2198 * grub-core/fs/btrfs.c: Likewise.
2199 * grub-core/commands/i386/pc/play.c: Likewise.
2200
cbf597af
SJ
22012011-06-26 Szymon Janc <szymon@janc.net.pl>
2202
2203 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2204 pointer checks before calling grub_free().
2205 * grub-core/commands/wildcard.c (match_devices): Likewise.
2206 * grub-core/commands/wildcard.c (match_files): Likewise.
2207 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2208 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2209 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2210 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2211 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2212 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2213 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2214 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2215 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2216
6295b32f
P
22172011-06-25 Patrick <p55@mailinator.com>
2218
2219 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2220
77c0840b
VS
22212011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2224 (grub_pxe_send): Likewise.
2225 (GRUB_MOD_INIT): Fix types.
2226
40ea05de
SJ
22272011-06-24 Szymon Janc <szymon@janc.net.pl>
2228
2229 * grub-core/io/xzio.c: Fix code style issues
2230
90162423
MRA
22312011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
22322011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2233
2234 Network infrastructure.
2235 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2236
2237 * include/grub/net/arp.h: New file.
90162423
MRA
2238 * include/grub/net/device.h: Likewise.
2239 * include/grub/net/ethernet.h: Likewise.
2240 * include/grub/net/ip.h: Likewise.
2241 * include/grub/net/netbuff.h: Likewise.
2242 * include/grub/net/tftp.h: Likewise.
2243 * include/grub/net/udp.h: Likewise.
2244 * include/grub/ieee1275/ofnet.h: Likewise.
2245 * include/grub/emu/export.h: Likewise.
2246 * include/grub/net.h: Likewise.
2247 * grub-core/net/arp.c: Likewise.
2248 * grub-core/net/ethernet.c: Likewise.
2249 * grub-core/net/ip.c: Likewise.
2250 * grub-core/net/udp.c: Likewise.
2251 * grub-core/net/tftp.c: Likewise.
2252 * grub-core/net/netbuff.c: Likewise.
2253 * grub-core/net/net.c: Likewise.
2254 * grub-core/net/drivers/emu/emunet.c: Likewise.
2255 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2256 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2257 export.h.
2258 * grub-core/Makefile.core.def (net): New module.
2259 (tftp): Likewise.
2260 (ofnet): Likewise.
2261 (emunet): Likewise.
2262 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2263 network protocols.
2264 * grub-core/kern/device.c (grub_net_open) : New variable.
2265 (grub_device_open): Handle network device.
2266 (grub_device_close): Likewise.
2267 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2268 (grub_grubnet_fini): Likewise.
2269 (grub_file_seek): Seek in network device.
2270 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2271 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2272 network root.
2273 (grub_machine_fini): Call grub_grubnet_fini.
2274 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2275 network.
2276 (grub_ieee1275_get_aliasdevname): New function.
2277 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2278 Add unofficial Solaris network info.
2279 (grub_multiboot_make_mbi): Likewise.
2280 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2281 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2282 * include/grub/device.h (grub_fs): Removed.
2283 * include/grub/err.h (grub_err_t): Add network-related values.
2284 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2285 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2286 (grub_ieee1275_get_aliasdevname): New proto.
2287 * include/grub/net.h: Rewritten.
423a1849 2288
031f22a0
VS
22892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2292 names.
2293
4388ca72
VS
22942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2297 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2298 it truncates the output.
2299 Reported by: Ximin Luo.
2300
98e2f506
VS
23012011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2304
2a5e94d8
VS
23052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2308 partmap before abstraction.
2309
535c1910
AK
23102011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2311
2312 * util/grub-mkconfig_lib.in: Add missing quotes.
2313
bc09e1a2
VS
23142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2317 old method if mountinfo would return /dev/root and /dev/root doesn't
2318 exist.
2319
290766fb
VS
23202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 ZFS zlib support
2323
2324 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2325 (decomp_table): Add zlib entries.
2326 (zio_read): USe 8 bits for compression function rather than 3.
2327 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2328
23292011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 * grub-core/disk/ahci.c: Add missing license statements.
2332 * grub-core/fs/romfs.c: Likewise.
2333 * grub-core/lib/ia64/setjmp.S: Likewise.
2334 * grub-core/loader/i386/pc/freedos.c: Likewise.
2335 * grub-core/loader/ia64/efi/linux.c: Likewise.
2336 * grub-core/video/colors.c: Likewise.
2337 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2338
5ab3f48a
VS
23392011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2340
2341 AHCI support.
2342
2343 * grub-core/Makefile.core.def (ata_pthru): Removed.
2344 (ahci): New module.
2345 (pata): Likewise.
2346 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2347 on unload.
2348 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2349 readwrite.
2350 (grub_hdparm_do_check_powermode_cmd): Likewise.
2351 (grub_hdparm_do_smart_cmd): Likewise.
2352 (grub_hdparm_set_val_cmd): Likewise.
2353 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2354 * grub-core/disk/ahci.c: New file.
2355 * grub-core/disk/ata.c: Factor out the low-level part into ...
2356 * grub-core/disk/pata.c: ... here.
2357 * grub-core/disk/ata_pthru.c: Contents moved to ...
2358 * grub-core/disk/pata.c: ... here.
2359 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2360 (grub_scsi_iterate): Use grub_scsi_names.
2361 (grub_scsi_open): Likewise.
2362 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2363 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2364 (grub_ata_regs_t): New struct.
2365 (grub_disk_ata_pass_through_parms): Likewise.
2366 (grub_ata_device): Renamed to ...
2367 (grub_ata): ... this.
2368 (grub_ata_dev): New struct.
2369 Removed all low-level inline functions.
2370 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2371 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2372 iterate hooks and open. All users updated.
2373 * util/grub-install.in: Handle AHCI disk module.
2374
c31dc5f5
SJ
23752011-06-23 Szymon Janc <szymon@janc.net.pl>
2376
2377 Add support for DRI and RSTn markers in JPEG files.
2378
2379 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2380 (JPEG_MARKER_RST0): Likewise.
2381 (JPEG_MARKER_RST1): Likewise.
2382 (JPEG_MARKER_RST2): Likewise.
2383 (JPEG_MARKER_RST3): Likewise.
2384 (JPEG_MARKER_RST4): Likewise.
2385 (JPEG_MARKER_RST5): Likewise.
2386 (JPEG_MARKER_RST6): Likewise.
2387 (JPEG_MARKER_RST7): Likewise.
2388 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2389 (grub_jpeg_decode_dri): New function.
2390 (grub_jpeg_decode_sos): Move image data related part into
2391 grub_jpeg_decode_data function.
2392 (grub_jpeg_decode_data): New function.
2393 (grub_jpeg_reset): New function.
2394 (grub_jpeg_decode_jpeg): Handle new markers.
2395
fe12fd5b
VS
23962011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/ieee1275/ofpath.c (check_sas): Close fd.
2399 (main): Free of_path.
2400 Reported by: David Volgyes <dvolgyes>.
2401
03147f46
VS
24022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2405 Reported by: David Volgyes <dvolgyes>.
2406
cad3237f
VS
24072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2410 file after stat.
2411 Reported by: David Volgyes <dvolgyes>.
2412
13548d26
VS
24132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2416
2417 Reported by: David Volgyes <dvolgyes>.
2418
e061a1b5
VS
24192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2422 Prevent memory leak.
2423
1abe47dc
VS
24242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2427 (main): Close file.
e061a1b5 2428 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2429
fbc62666
VS
24302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2433 to continue if allocation is failed.
2434
2435 Reported by: David Volgyes <dvolgyes>.
2436
e98c83e9
DV
24372011-06-23 David Volgyes <dvolgyes>
2438
2439 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2440 dereference.
2441
a199a8cd
VS
24422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Fix spurious warning.
2445
2446 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2447 (acorn_partition_map_find): Use .bin member.
2448
e2d1dba0
VS
24492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2452 /dev/root as a valid device.
2453
8a5d6919
JM
24542011-06-23 Jim Meyering <meyering@redhat.com>
2455
e2d1dba0
VS
2456 Avoid NULL deref in grub_device_open.
2457
8a5d6919
JM
2458 * grub-core/kern/device.c (grub_device_open): Don't dereference
2459 a NULL pointer upon failed grub_env_get.
2460
f7db6f4a
VS
24612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Support non-512B sectors and agglomerate reads.
2464
2465 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2466 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2467 (disk_io_guid): Removed.
2468 (make_devices): Locate solely by BlockIO.
2469 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2470 (grub_efidisk_read): Use read_blocks.
2471 (grub_efidisk_write): Use write_blocks.
2472 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2473 log_sector_size.
2474 (get_safe_sectors): Handle non-512B sectors.
2475 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2476 sectors.
2477 (grub_biosdisk_write): Handle non-512B sectors.
2478 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2479 (grub_scsi_read): Remove special non-512B block handling (now handled
2480 one level up).
2481 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2482 and do sanity checks.
2483 (grub_disk_adjust_range): Handle non-512B sectors.
2484 (transform_sector): New function.
2485 (grub_disk_read_small): Likewise.
2486 (grub_disk_read): Rewritten.
2487 (grub_disk_write): Handle non-512B sectors.
2488 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2489 log_sector_size.
2490 (open_device): Use log_sector_size.
2491 (grub_util_biosdisk_read): Likewise.
2492 (grub_util_biosdisk_write): Likewise.
2493 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2494 non-512B sectors.
2495 (pc_partition_map_embed): Likewise.
2496 * include/grub/disk.h (grub_disk): New field log_sector_size.
2497 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2498 (GRUB_DISK_CACHE_BITS): Increased to 6.
2499 * util/grub-fstest.c (fstest): New command testload.
2500 (argp_parser): Likewise.
2501
881ac815
RM
25022011-06-16 Robert Millan <rmh@gnu.org>
2503
2504 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2505 `ata' driver on kernel of FreeBSD 9.
2506
2507 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2508 (get_ataraid_disk_name): New functions.
2509 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2510 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2511 get_ataraid_disk_name() and get_ada_disk_name().
2512
1e9aef7d
CW
25132011-06-13 Colin Watson <cjwatson@ubuntu.com>
2514
2515 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2516 input format.
2517
351c7c8a
CW
25182011-05-29 Colin Watson <cjwatson@ubuntu.com>
2519
2520 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2521 `ftp.gnu.org' for `alpha.gnu.org'.
2522
6b4e6430
CW
25232011-05-27 Colin Watson <cjwatson@ubuntu.com>
2524
2525 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2526 partitions under /dev/disk/by-id/.
2527
c64db050
CW
25282011-05-27 Colin Watson <cjwatson@ubuntu.com>
2529
2530 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2531 after ten consecutive open failures. Scanning all the way up to
2532 10000 is excessive and can cause serious performance problems in
2533 some configurations.
2534 Fixes Ubuntu bug #787461.
2535
245f4aba
VS
25362011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2539 opening new one.
2540
f767c929
VS
25412011-05-21 Colin Watson <cjwatson@ubuntu.com>
25422011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 Don't stat devices unless we have to.
2545
2546 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2547 dir == /dev/mapper.
2548 (grub_guess_root_device): Use already known os_dev if possible.
2549 * grub-core/kern/emu/hostdisk.c
2550 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2551 if device is known to be a dm one.
2552
f35fa3a6
CW
25532011-05-20 Colin Watson <cjwatson@ubuntu.com>
2554
2555 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2556 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2557 Reported by: Pawel Tecza.
2558
9a79fcf2
VS
25592011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2562 (lsefisystab): Likewise.
2563 (lssal): Likewise.
2564 (lsefimmap): Likewise.
2565 (hdparm): Enable on qemu-mips.
2566 (setjmp): Add ia64 nodist.
2567 (serial): Simplify tags.
2568
63e3eea9
CW
25692011-05-18 Colin Watson <cjwatson@ubuntu.com>
2570
2571 * Makefile.util.def (grub-ofpathname): Install manual page.
2572
09728256
CW
25732011-05-18 Colin Watson <cjwatson@ubuntu.com>
2574
2575 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2576
8b63a142
CW
25772011-05-18 Colin Watson <cjwatson@ubuntu.com>
2578
2579 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2580
e775d8ed
VS
25812011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2584 into dprintf.
2585
bf947d36
VS
25862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Use full 64-bit division.
2589
2590 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2591 (grub_divmod64): ... this.
2592 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2593 version.
2594
b84f26c5
CW
25952011-05-18 Colin Watson <cjwatson@ubuntu.com>
2596
2597 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2598 `source'.
2599
5626056f
CW
26002011-05-18 Colin Watson <cjwatson@ubuntu.com>
2601
2602 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2603 to avoid accidents when debugging with 'sh -x'.
2604 * grub-core/gensyminfo.sh.in: Likewise.
2605 * tests/example_scripted_test.in: Likewise.
2606 * tests/grub_cmd_regexp.in: Likewise.
2607 * tests/grub_script_blanklines.in: Likewise.
2608 * tests/grub_script_dollar.in: Likewise.
2609 * tests/grub_script_expansion.in: Likewise.
2610 * tests/grub_script_final_semicolon.in: Likewise.
2611 * tests/partmap_test.in: Likewise.
2612 * tests/util/grub-shell-tester.in: Likewise.
2613 * tests/util/grub-shell.in: Likewise.
2614
e2965f4a
CW
26152011-05-18 Colin Watson <cjwatson@ubuntu.com>
2616
2617 Move gfxmenu color handling to video, so that gfxterm can use it
2618 too.
2619
2620 * grub-core/gfxmenu/named_colors.c: Move to ...
2621 * grub-core/video/colors.c: ... here. Rename
2622 grub_gui_get_named_color to grub_video_get_named_color.
2623 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2624 * grub-core/video/colors.c (my_isxdigit): ... here.
2625 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2626 Move to ...
2627 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2628 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2629 to ...
2630 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2631
2632 * include/grub/gui.h (grub_gui_color_t): Move to ...
2633 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2634 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2635 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2636 * include/grub/gui.h (grub_gui_map_color): Move to ...
2637 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2638 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2639 to ...
2640 * include/grub/video.h (grub_video_get_named_color): ... here.
2641 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2642 * include/grub/video.h (grub_video_parse_color): ... here.
2643
2644 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2645 video/colors.c.
2646 (gfxmenu): Remove gfxmenu/named_colors.c.
2647 (video) [videomodules]: Add video/colors.c.
2648
2649 Add a background_color command.
2650
2651 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2652 function.
2653 (GRUB_MOD_INIT): Register background_color command.
2654 (GRUB_MOD_FINI): Unregister background_color command.
2655 (redraw_screen_rect): Allow blend/replace of text layer to be
2656 controlled independently from whether there is a background bitmap.
2657 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2658 changing bitmap.
2659
1e4b4390
VS
26602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2661
26618ff0
VS
2662 Patch BPB in ntldr and chainloader --bpb.
2663
1e4b4390
VS
2664 * grub-core/fs/fat.c: Include grub/fat.h.
2665 (grub_fat_bpb): Moved to ...
2666 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2667 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2668 grub/ntfs.h.
2669 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2670 Moved from here...
2671 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2672 here.
2673 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2674 New function.
2675 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2676 (GRUB_MOD_INIT): Show --bpb.
2677 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2678 * grub-core/normal/main.c (features): New variable.
2679 (GRUB_MOD_INIT): Set feature_* variables.
2680 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2681 proto.
2682 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2683
cf02731e
VS
26842011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2687 for cleanness.
2688
e3a1073f
VS
26892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 FreeDOS direct loading support.
2692
2693 * docs/grub.texi (Supported OS): Add FreeDOS.
2694 * grub-core/Makefile.core.def (freedos): New module.
2695 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2696 variable.
2697 (grub_relocator16_boot): Handle %ebx.
2698 * grub-core/lib/i386/relocator16.S: Likewise.
2699 * grub-core/loader/i386/pc/freedos.c: New file.
2700
05caa461
VS
27012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 Long Linux command line support.
2704
2705 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2706 (maximal_cmdline_size): New variable.
2707 (allocate_pages): Use maximal_cmdline_size.
2708 (grub_cmd_linux): Set and use maximal_cmdline_size.
2709 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2710 (allocate_pages): Use maximal_cmdline_size.
2711 (grub_cmd_linux): Set and use maximal_cmdline_size.
2712 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
2713 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
2714 and cmdline_size.
2715
a2491e23
VS
27162011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
27172011-05-18 Colin Watson <cjwatson@ubuntu.com>
2718
2719 Improve devmapper support
2720
2721 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
2722 (grub_util_is_lvm): New function.
2723 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
2724 than lvm if not dmraid.
2725 Handle mapped md nodes.
2726 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
2727 (grub_util_device_is_mapped): ... this. Make always available. All users
2728 updated.
2729 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
2730 (convert_system_partition_to_system_disk): Handle lvm, mpath and
2731 dmraid nodes.
2732 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
2733
6ad6223e
VS
27342011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
2737
2738 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
2739 * grub-core/modinfo.sh.in: New file.
2740 * grub-core/Makefile.core.def (modinfo.sh): New script.
2741 * util/grub-mknetdir.in: Use modinfo.sh.
2742 * util/grub-mkrescue.in: Likewise.
2743
543a8f6e
VS
27442011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2747 Fix potential usage of Elf32 instead of Elf64 when compiling on
2748 32-bit architecture. Add endianness macros while on it.
2749
4959e111
VS
27502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2751
2752 Use mipsel- rather than mips- in directories involving mipsel ports to
2753 allow both endiannesses coexist.
2754
2755 * configure.ac: proparate target_cpu=mipsel rather than resetting to
2756 mips. All conditions adjusted.
2757 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
2758 variable.
2759 * util/grub-install.in: Adjust conditions to take renaming into account.
2760 * util/grub-mkimage.c (image_targets): Likewise. New target
2761 mips-qemu_mips-elf for bigendian mips.
2762
35341bbc
VS
27632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 Avoid unnecessary copying on MIPS.
2766
2767 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
2768 early if src == dest.
2769 * util/grub-mkimage.c (generate_image): Arange for src == dest if
2770 compression is none.
2771
b772baed
VS
27722011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 Reduce memory footprint on SGI by putting modules before the kernel
2775 as opposed to after.
2776
2777 * grub-core/Makefile.core.def (kernel): Increase linking address.
2778 (none_decompress): Likewise.
2779 (xz_decompress): Likewise.
2780 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
2781 address.
2782 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
2783 layout change.
2784 (grub_arch_modules_addr): New function.
2785 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
2786 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
2787 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
2788 here.
2789 * grub-core/kern/mips/startup.S (total_size): Rename to ...
2790 (grub_total_modules_size): ... this. Make global.
2791 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
2792 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
2793 New definition.
2794 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
2795 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
2796 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
2797 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
2798 * util/grub-mkimage.c (image_target_desc): New flag
2799 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
2800 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
2801 (generate_image): Handle images with modules before kernel.
2802
566a1917
VS
28032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 Prevent potential loss of memory map by overwrite on qemu-mips.
2806
2807 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2808 Save ram size in $s4.
2809 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
2810 All users changed to grub_arch_memsize.
2811 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
2812 Loongson.
2813 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
2814 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
2815 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
2816 external variable.
2817
5d420cd9
CW
28182011-05-17 Colin Watson <cjwatson@ubuntu.com>
2819
2820 * .bzrignore: Remove grub-dumpbios.
2821
d064b830
CW
28222011-05-17 Colin Watson <cjwatson@ubuntu.com>
2823
2824 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
2825 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
2826 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
2827 existing options which append).
2828 * docs/grub.texi (Simple configuration): Document new options.
2829 Reported by: Ian Jackson. Fixes Debian bug #617538.
2830
3ca2b466
CW
28312011-05-17 Colin Watson <cjwatson@ubuntu.com>
2832
2833 * util/grub-fstest.c (cmd_cat): New function.
2834 (fstest): Handle CMD_CAT.
2835 (options): Add cat.
2836 (argp_parser): Handle cat.
2837
24c9143a
CW
28382011-05-17 Colin Watson <cjwatson@ubuntu.com>
2839
2840 * Makefile.util.def (grub-bin2h): Don't install.
2841 * docs/man/grub-bin2h.h2m: Remove.
2842
90f7ac19
VS
28432011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
2846 place.
2847
8d4a5178
VS
28482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 Reenable qemu-mips port.
2851
2852 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
2853 Fix small arc bug while on it.
2854 * gentpl.py: Handle qemu_mips.
2855 * grub-core/Makefile.am: Likewise.
2856 * grub-core/Makefile.core.def: Likewise.
2857 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
2858 inappropriate includes.
2859 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
2860 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
2861 * grub-core/kern/main.c (grub_modules_get_end)
2862 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
2863 * grub-core/kern/mips/qemu-mips: Moved to ..
2864 * grub-core/kern/mips/qemu_mips: ... this.
2865 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
2866 (grub_machine_init): Call terminfo_init and serial_init.
2867 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
2868 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2869 New variable.
2870 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
2871 parameter passing.
2872 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
2873 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
2874 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2875 * include/grub/mips/qemu_mips/cmos.h: New file.
2876 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
2877 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
2878 Removed.
2879 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
2880 Use correct mips-style address.
2881 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
2882 (GRUB_TICKS_PER_SECOND): Removed.
2883 (grub_get_rtc): Likewise.
2884 (grub_cpu_idle): Likewise.
2885 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
2886 New definition.
2887 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
2888 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
2889 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
2890 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
2891 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2892 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2893 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
2894 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
2895
400b9371
VS
28962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 SGI ARCS port.
2899
2900 * Makefile.util.def (libgrubmods.a): Add dvh.c.
2901 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
2902 platforms.
2903 * configure.ac: New target mips-arc.
2904 * gentpl.py: Likewise.
2905 * grub-core/Makefile.am: Likewise.
2906 * grub-core/Makefile.core.def: Likewise.
2907 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
2908 (none_decompress): Likewise.
2909 (lsdev): New module.
2910 (datetime): Use lib/arc/datetime.c on ARC.
2911 (part_dvh): New module.
2912 * grub-core/commands/arc/lsdev.c: New file.
2913 * grub-core/disk/arc/arcdisk.c: Likewise.
2914 * grub-core/kern/mips/arc/init.c: Likewise.
2915 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
2916 aligned addresses.
2917 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
2918 support.
2919 (grub_arch_dl_relocate_symbols): Likewise.
2920 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
2921 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
2922 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
2923 platforms.
2924 * grub-core/lib/arc/datetime.c: New file.
2925 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
2926 pci.h on non-loongson.
2927 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
2928 (grub_linux_boot): Set unused registers to 0.
2929 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
2930 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
2931 * grub-core/mmap/mips/uppermem.c: ...here.
2932 * grub-core/partmap/dvh.c: New file.
2933 * grub-core/term/arc/console.c: Likewise.
2934 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
2935 (grub_terminfo_set_current): Add terminal "arc".
2936 (grub_terminfo_readkey): Support ARC sequences.
2937 * include/grub/arc/arc.h: New file.
2938 * include/grub/arc/console.h: Likewise.
2939 * include/grub/disk.h (grub_disk_dev_id): Add
2940 GRUB_DISK_DEVICE_ARCDISK_ID.
2941 * include/grub/mips/arc/kernel.h: New file.
2942 * include/grub/mips/arc/memory.h: Likewise.
2943 * include/grub/mips/arc/time.h: Likewise.
2944 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2945 * include/grub/mips/kernel.h (grub_halt): ... here.
2946 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2947 here...
2948 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2949 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2950 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2951 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2952 proto.
2953 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2954 from here ...
2955 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2956 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2957 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2958 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2959 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2960 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2961 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2962 (grub_phys_addr_t): Moved from here ...
2963 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2964 (grub_vtop): Moved from here ...
2965 * include/grub/mips/memory.h (grub_vtop): ... here.
2966 (grub_map_memory): Moved from here ...
2967 * include/grub/mips/memory.h (grub_map_memory): ... here.
2968 (grub_unmap_memory): Moved from here ...
2969 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2970 (grub_machine_mmap_iterate): Moved from here ...
2971 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2972 (grub_mmap_get_lower): Moved from here ...
2973 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2974 (grub_mmap_get_upper): Moved from here ...
2975 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2976 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2977 here ...
2978 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2979 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2980 here ...
2981 * include/grub/mips/time.h (grub_get_rtc): ... here.
2982 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2983 here ...
2984 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2985 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2986 here ...
2987 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2988 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2989 definition.
2990 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2991 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2992 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2993 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2994 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2995 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2996 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
2997 (GRUB_MACHINE_LINK_ADDR): Likewise.
2998 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
2999 to 6.
3000 * util/grub-install.in: Run dvhtool on ARC.
3001 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3002 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3003
c8ecc840
VS
30042011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3007 blocks.
3008
153a4b55
VS
30092011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3012 after enabling port.
3013
ff44d107
VS
30142011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 Skip incorrect USB devices.
3017
3018 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3019 configcnt == 0.
3020 * include/grub/usb.h (grub_usb_err_t): New enum value
3021 GRUB_USB_ERR_BADDEVICE.
3022
638dbe4f
VS
30232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 Fuloong video init support.
3026
3027 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3028 well.
3029 (grub_vga_read_arx): New function.
3030 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3031 definition.
3032 (framebuffer): New members io, mmioptr and mmiobase.
3033 (read_sis_cmd): New function.
3034 (write_sis_cmd): Likewise.
3035 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3036 rather than 640x400.
3037 * grub-core/video/sis315_init.c: New file.
3038
c3fc520c
VS
30392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3042 non-loongson.
3043 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3044 to grub_dl_register_symbol.
3045
67b1e5c9
VS
30462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3047
3048 Fix compilation errors.
3049
3050 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3051 potentially unused.
3052 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3053 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3054 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3055 to loongson machines.
3056
b756f75f
VS
30572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Several FS mtime support.
3060
3061 * grub-core/fs/affs.c (grub_affs_time): New struct.
3062 (grub_affs_file): New field mtime.
3063 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3064 type. Removed 'size'. New field 'di'. All users updated.
3065 (grub_affs_mount): Simplify checsum checking.
3066 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3067 (grub_affs_dir): Handle mtime.
3068 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3069 (grub_cpio_dir): Likewise.
3070 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3071 (grub_hfs_filerec): New field mtime.
3072 (grub_hfs_dir): Handle mtime.
3073 (grub_hfs_mtime): New function.
3074 (grub_hfs_fs): Register grub_hfs_mtime.
3075 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3076 (grub_iso9660_dir): New field mtime.
3077 (grub_fshelp_node): New field dirent.
3078 (iso9660_to_unixtime): New function.
3079 (iso9660_to_unixtime2): Likewise.
3080 (grub_iso9660_read_symlink): Use node->dirent.
3081 (grub_iso9660_iterate_dir): Likewise.
3082 (grub_iso9660_dir): Set mtime.
3083 (grub_iso9660_mtime): New function.
3084 (grub_iso9660_fs): Register grub_iso9660_mtime.
3085 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3086 (grub_jfs_inode): New fields atime, ctime and mtime.
3087 (grub_jfs_dir): Set mtime.
3088 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3089 * grub-core/fs/ntfs.c (list_file): Set mtime.
3090 (grub_ntfs_dir): Likewise.
3091 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3092 (grub_reiserfs_iterate_dir): Set mtime.
3093 (grub_reiserfs_dir): Likewise.
3094 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3095 (grub_fshelp_node): Likewise.
3096 (grub_sfs_iterate_dir): Set mtime.
3097 (grub_sfs_dir): Likewise.
3098 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3099 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3100 (grub_xfs_inode): New fields atime, mtime, ctime.
3101 (grub_xfs_dir): Set mtime.
3102 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3103 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3104 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3105
3106 Support UDF symlinks.
3107
3108 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3109 (grub_ufs_read_symlink): New function. All users updated.
3110
3111 Check amiga partmap checksum.
3112
3113 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3114 (grub_amiga_partition): Likewise.
3115 (amiga_partition_map_checksum): New function.
3116 (amiga_partition_map_iterate): Check checksum.
3117
5470225d
VS
31182011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 ROMFS support.
3121
3122 * Makefile.util.def (libgrubmods.a): Add romfs.
3123 * grub-core/Makefile.core.def (romfs): New module.
3124 * grub-core/fs/romfs.c: New file.
3125
d4680a35
VS
31262011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Squashfs v4 support.
3129
3130 * Makefile.util.def (libgrubmods.a): Add squash4.
3131 * grub-core/Makefile.core.def (squash4): New module.
3132 * grub-core/fs/squash4.c: New file.
3133 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3134 disk_input_start, disk_input.
3135 (get_byte): Handle disk_input.
3136 (grub_zlib_disk_read): New function.
3137 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3138
bcb18e74
FZ
31392011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
31402011-05-15 Feiran Zheng <famcool@gmail.com>
3141
3142 * Makefile.util.def (libgrubmods.a): Add minix3.
3143 * grub-core/Makefile.core.def (minix3): New module.
3144 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3145 (GRUB_MINIX_BSIZE): Removed.
3146 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3147 (grub_minix_ino_t): New type.
3148 (grub_minix_le_to_cpu_ino): New macro.
3149 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3150 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3151 (grub_minix_data): New field block_size.
3152 (grub_minix_read_file): Handle 64-bit correctly.
3153 * grub-core/fs/minix3.c: New file.
3154
32297d5f
TG
31552011-05-15 Tristan Gingold <gingold@free.fr>
31562011-05-15 Robert Millan <rmh.grub@aybabtu.com>
31572011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 IA64 support.
3160
3161 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3162 * configure.ac: Add ia64-efi target.
3163 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3164 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3165 * gentpl.py: Add ia64_efi platform.
3166 Rename x86_efi to efi and Add ia64-efi. All users updated.
3167 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3168 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3169 Remove kern/generic/rtc_get_time_ms.c on EFI.
3170 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3171 kern/ia64/dl_helper.c on ia64-efi.
3172 Add kern/emu/cache.c on emu.
3173 (linux): Use on loader/ia64/efi/linux.c on ia64.
3174 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3175 whether symbol is a function.
3176 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3177 (grub_symbol): New field 'isfunc'.
3178 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3179 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3180 (grub_dl_load_segments): Place all sections into the same region.
3181 [__ia64__]: Create trampolines and got.
3182 [GRUB_MACHINE_EMU]: Call mprotect.
3183 (grub_dl_resolve_symbols): Resolve symbol type as well.
3184 [__ia64__]: Create function descriptors.
3185 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3186 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3187 (grub_get_rtc): New function.
3188 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3189 * grub-core/kern/emu/cache.S: Renamed to ...
3190 * grub-core/kern/emu/cache_s.S: ... this.
3191 [__ia64__]: Add a nop.
3192 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3193 [__ia64__]: New function.
3194 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3195 * grub-core/kern/ia64/dl.c: New file.
3196 * grub-core/kern/ia64/dl_helper.c: Likewise.
3197 * grub-core/kern/ia64/efi/init.c: New file.
3198 * grub-core/kern/ia64/efi/startup.S: Likewise.
3199 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3200 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3201 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3202 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3203 * grub-core/loader/ia64/efi/linux.c: New file.
3204 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3205 (GRUB_MOD_DEP): Likewise.
3206 (grub_dl) [__ia64__]: New fields got and tramp.
3207 (grub_dl): New field 'base'.
3208 (grub_dl_register_symbol): New argument isfunc. All users updated.
3209 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3210 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3211 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3212 (grub_ia64_dl_get_tramp_got_size): New proto.
3213 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3214 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3215 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3216 * include/grub/efi/api.h: Skip call wrappers on ia64.
3217 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3218 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3219 * include/grub/elf.h (ELF_ST_INFO): New definition.
3220 * include/grub/ia64/efi/kernel.h: New file.
3221 * include/grub/ia64/efi/memory.h: Likewise.
3222 * include/grub/ia64/efi/time.h: Likewise.
3223 * include/grub/ia64/kernel.h: Likewise.
3224 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3225 * include/grub/ia64/time.h: New file.
3226 * include/grub/ia64/types.h: Likewise.
3227 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3228 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3229 New protos.
3230 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3231 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3232 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3233 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3234 All users updated.
3235 (EFI64_HEADER_SIZE): New definition. All users updated.
3236 (image_targets): Add ia64-efi.
3237 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3238 jumpers_addr. All users updated.
3239 Create function descriptors.
3240 (count_funcs): New function.
3241 (unaligned_uint32): New struct.
3242 (MASK20): New definition.
3243 (MASK19): Likewise.
3244 (MASKF21): Likewise.
3245 (add_value_to_slot_20b): New function.
3246 (add_value_to_slot_21_real): Likewise.
3247 (add_value_to_slot_21): Likewise.
3248 (ia64_kernel_trampoline): New struct.
3249 (nopm): New variable.
3250 (jump): Likewise.
3251 (make_trampoline): New function.
3252 (relocate_addresses): Handle ia64.
3253 (make_reloc_section): Likewise.
3254 (load_image): Likewise.
3255
983b414d
VS
32562011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3259 warning. Move variables before code while on it.
3260
5d063cdc
VS
32612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 Fuloong support.
3264
3265 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3266 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3267 * grub-core/boot/mips/loongson/fuloong.S: New file.
3268 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3269 Explicitly init CS5536.
3270 [FULOONG]: Don't use serial until CS5536 is available.
3271 Set GPIO based on dumps.
3272 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3273 [FULOONG]: Handle GPIO and memory controller differences.
3274 Parse machine type in $a2.
3275 * grub-core/boot/mips/startup_raw.S: Determine and save the
3276 architecture.
3277 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3278 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3279 init on architecture type.
3280 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3281 SIS315E. Don't init at_keyboard on fuloong.
3282 (grub_halt): Support Fuloong.
3283 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3284 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3285 (loongson_machtypes): New array.
3286 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3287 type.
3288 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3289 config. All users updated. Handle CS5536 serial.
3290 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3291 default port on machine type. Register serial as inactive.
3292 * grub-core/video/sis315pro.c: New file.
3293 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3294 definition.
3295 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3296 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3297 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3298 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3299 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3300 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3301 to ...
3302 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3303 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3304 definition.
3305 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3306 (grub_arch_machine): New extern var.
3307 * include/grub/mips/loongson/serial.h
3308 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3309 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3310 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3311 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3312 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3313 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3314 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3315 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3316 * include/grub/term.h (grub_term_register_input_inactive): New inline
3317 function.
3318 (grub_term_register_output_inactive): Likewise.
3319 * include/grub/video.h (grub_video_driver_id): New value
3320 GRUB_VIDEO_DRIVER_SIS315PRO.
3321 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3322 New field "names". All users updated.
3323 New field value IMAGE_FULOONG_FLASH.
3324 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3325
6ada82d1
JU
33262011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3327
3328 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3329 and add some clarification.
3330
90c571a4
VS
33312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3334 platforms if kernel is compressed.
3335
de04eecf
VS
33362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3339 unused modules since currently referrence counter isn't reliable and
3340 there isn't much memory to recover there anyway.
3341
57688121
VS
33422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3345 rather than resetting it to allow modules to reference themselves
3346 in init.
3347
3d2c7e35
VS
33482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3349
3350 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3351 counter on dependencies since grub_dl_unref already handles this.
3352
b25db218
VS
33532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3356 on error if not already done.
3357
25a45338
VS
33582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 Fix few potential memory misusage.
3361
3362 * grub-core/font/font.c (load_font_index): Don't free char_index to
3363 avoid double free.
b25db218
VS
3364 (grub_font_load): Zero-fill font at alloc for safety.
3365 Close file on error.
3366 (free_font): Free bmp_idx.
25a45338 3367
0cac83df
VS
33682011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * docs/grub.texi (Installation): Fix several outdated claims.
3371
2217a143
VS
33722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 Handle module_license on windows.
3375
3376 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3377 sections shifted.
3378 (insert_string): Make argument const char * instead of char *.
3379 (write_section_data): Handle long section names.
3380 Handle module_license.
3381
d4de6b01
VS
33822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3385 handle class-free menuentries.
3386 (grub_normal_add_menu_entry): Add a check to be sure.
3387
4c2a3b43
VS
33882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3389
3390 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3391 PgUp and PgDown.
3392
85c6210f
VS
33932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * configure.ac: Bump version to 1.99.
3396
36084912
VS
33972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3398
3399 Give ATA device a bit more time on first try in order to allow disks
3400 to spin up.
3401
3402 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3403 if dev->present is 1. Reset dev->present on failure.
3404 (grub_ata_device_initialize): Set dev->present to 1.
3405 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3406 (grub_ata_device): New member 'present'.
3407
bda0e219
VS
34082011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * util/grub-mkimage.c (generate_image): Update hash.
3411
19e1c41b
VS
34122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 Flush caches on DMA memory.
3415
3416 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3417 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3418 (grub_dma_free): Likewise.
3419 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3420
91bbcc0c
VS
34212011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3424 to avoid asm treating ld and sd as macros.
3425
60ddfad3
VS
34262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3429 decompressor.
3430
a298aa04
VS
34312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3434 grub_decompress_core since later would fail if grub_decompress_core
3435 is too far.
3436
9b44feca
VS
34372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3440 R_MIPS_JALR since it's used by newer compiler.
3441
56dbe7b4
VS
34422011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3445
52856af2
VS
34462011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3449 file_path to 0 for surety.
3450 (grub_chainloader_boot): Set exit_data to NULL.
3451 Unset the loader once done.
3452 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3453
9c9bfc6d
VS
34542011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3457 unknown key into a dprintf.
3458
dd94a3df
VS
34592011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3462 on first non-existant partition.
3463
fa68d99c
VS
34642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3467 openning fails.
3468 Reported by: Mark Korenberg.
3469
157effb7
VS
34702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3471
3472 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3473 overflow.
3474
ea75312f
VS
34752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3478 before closing to ensure that it will be readable by grub-setup.
3479
072b5d31
VS
34802011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3483 (devpath_1): Use MAKE_PIWG_PATH.
3484 (devpath_2): Likewise.
3485 (devpath_3): Likewise.
3486 (devpath_4): Likewise.
3487 (devpath_5): Likewise.
3488 (devpath_6): Likewise.
3489
3490 The appleldr.mod was checked that to be binary identical to previous
3491 version.
3492
7fae0051
Z
34932011-05-05 Zach <mikezackles>
3494
3495 Support 2010 Macbooks.
3496
3497 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3498 (devs): Add devpath_6.
3499
7c515bee
VS
35002011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3503 /dev/random. /dev/urandom is good enough for our purposes (salting).
3504
ed660bd8
VS
35052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3508
ee5614b7
VS
35092011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3512 hexadecimal.
3513
664889a6
VS
35142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3517 and not 0 on failure.
3518
bd405bbc
CW
35192011-05-03 Colin Watson <cjwatson@ubuntu.com>
3520
3521 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3522 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3523 disk; otherwise grub_fs_probe will not fall back to the next
3524 filesystem.
3525 (grub_pxefs_open): Likewise, for consistency.
3526 Reported and tested by: Ezekiel Grave.
3527
4ebff753
CW
35282011-05-03 Colin Watson <cjwatson@ubuntu.com>
3529
3530 * tests/partmap_test.in: Don't hardcode path to parted.
3531 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3532
8f942553
CW
35332011-05-01 Colin Watson <cjwatson@ubuntu.com>
3534
3535 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3536 of `ls' to find out which devices are available.
3537
3c62402d
VS
35382011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3541 than source address for efi mmap buffer.
3542
723f63f2
VS
35432011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3546 wrong action on non-detecting the magic.
3547
68797f92
VS
35482011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3551 already supplied by another part of the module (fixes compilation on
3552 FreeBSD).
3553
6be8715d
VS
35542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3557 match the one used by mdadm.
3558
e91dba5b
CW
35592011-04-21 Colin Watson <cjwatson@ubuntu.com>
3560
3561 * po/README: Add instructions for creating po/LINGUAS.
3562
c85140b3
CW
35632011-04-21 Colin Watson <cjwatson@ubuntu.com>
3564
3565 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3566 #551428.
3567
3568 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3569 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3570 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3571 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3572 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3573 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3574 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3575 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3576 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3577 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3578 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3579 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3580 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3581 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3582 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3583 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3584 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3585 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3586 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3587 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3588 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3589 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3590
92051871
CW
35912011-04-21 Colin Watson <cjwatson@ubuntu.com>
3592
3593 * grub-core/kern/emu/getroot.c
3594 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3595 test that was incorrectly reintroduced in r3214.
3596 Reported by: Ian Dall. Fixes Savannah bug #33133.
3597
b13f79a4
CW
35982011-04-21 Colin Watson <cjwatson@ubuntu.com>
3599
3600 Fix stack pointer handling in 16-bit relocator.
3601
3602 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3603 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3604 Fixes Ubuntu bug #683904.
3605
9b710a88
VS
36062011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * configure.ac: Bump version to 1.99~rc2.
3609
d97e7b59
VS
36102011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3613 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3614 * grub-core/lib/x86_64/setjmp.S: Likewise.
3615 * grub-core/lib/mips/setjmp.S: Likewise.
3616 * grub-core/lib/powerpc/setjmp.S: Likewise.
3617 * grub-core/lib/sparc64/setjmp.S: Likewise.
3618
0624551c
VS
36192011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3620
3621 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3622 * grub-core/lib/efi/datetime.c: Likewise.
3623
e8f28d4c
VS
36242011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3627 New function.
3628 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3629 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3630 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3631
bba79a15
VS
36322011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3635 bitmap.
3636 (grub_gfxterm_term_init): Likewise.
3637
abc474ef
VS
36382011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3639
3640 Take into account the decorations the computing menu entry width.
3641
3642 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3643 (grub_gfxmenu_create_box): Register get_border_width.
3644 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3645 if available.
3646 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3647 get_border_width.
3648
e74b3947
EP
36492011-04-18 Endres Puschner <code@e7p.de>
3650
3651 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3652 Don't skip first class.
3653
34faa595
VS
36542011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3657 chunks.
3658 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3659
93a777e3
VS
36602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 Complete 64-bit division support.
3663
3664 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3665 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3666 * include/grub/misc.h (grub_divmod64): Rename to ...
3667 (grub_divmod64_full): ... this.
3668 (grub_divmod64): New inline function.
3669
a5102d94
VS
36702011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3673
f3fb7b36
VS
36742011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3677 performing the necessary test.
3678
9ac718b0
VS
36792011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3682 (kfreebsd.elf): Likewise.
3683 (pc-chainloader.elf): Likewise.
3684 (ntldr.elf): Likewise.
3685
50d2cc5a
VS
36862011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 Identify RAID by its UUID rather than (guessed) name.
3689
3690 * grub-core/disk/raid.c (ascii2hex): New function.
3691 (grub_raid_open): Accept mduuid/%s specification.
3692 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3693 (get_mdadm_uuid): ... this.
3694 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3695
e03f7bea
VS
36962011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3699 to negative size.
3700
e74c3112
CW
37012011-04-13 Colin Watson <cjwatson@ubuntu.com>
3702
3703 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
3704 btrfs subvolume.
3705 * util/grub.d/20_linux_xen.in: Likewise.
3706
78fa584f
CW
37072011-04-13 Colin Watson <cjwatson@ubuntu.com>
3708
3709 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
3710 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
3711
3712 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3713 Build a list of relevant visible mounts using the mnt_id and
3714 parent_mnt_id fields, and then scan that list at the end.
3715
9d5f8162
CW
37162011-04-12 Colin Watson <cjwatson@ubuntu.com>
3717
3718 * docs/grub.texi (normal): New section.
3719 (normal_exit): New section.
3720 (Embedded configuration): Add reference to normal.
3721 (GRUB only offers a rescue shell): Likewise.
3722 * docs/grub-dev.texi (Error Handling): Fix typo.
3723
09a9d66f
CW
37242011-04-12 Colin Watson <cjwatson@ubuntu.com>
3725
3726 * NEWS: Drop obsolete entry about probe-only btrfs support.
3727
0c676933
CW
37282011-04-12 Colin Watson <cjwatson@ubuntu.com>
3729
3730 * util/import_gcry.py: Fix typo.
3731
ec9f5e0d
VS
37322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * NEWS: Add btrfs support.
3735
fe6b2cba
VS
37362011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
37372011-04-11 Colin Watson <cjwatson@ubuntu.com>
3738
3739 BtrFS support. Written by me (Vladimir) with important bugfixes and
3740 even more important testing by Colin.
3741
3742 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
3743 * grub-core/Makefile.core.def (btrfs): Add crc.c.
3744 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
3745 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
3746 mem_input_off and mem_input. All users updated to accept in-RAM input.
3747 (gzio_seek): New function.
3748 (test_zlib_header): Likewise.
3749 (grub_gzio_read): Likewise.
3750 (grub_zlib_decompress): Likewise.
3751 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
3752 Accept partial and non-virtual mounts.
3753 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
3754 avoid receiving /dev/dm-X as device.
3755 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
3756 Handle bind and partial mounts.
3757 * grub-core/lib/crc.c: New file.
3758 * include/grub/deflate.h: Likewise.
3759 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
3760 proto.
3761 * include/grub/lib/crc.h: New file.
3762
e745cf0c
VS
37632011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 Implement automatic module license checking according to new GNU
3766 guidelines.
3767
3768 * grub-core/kern/dl.c (grub_dl_check_license): New function.
3769 (grub_dl_load_core): Use grub_dl_check_license.
3770 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
3771 (GRUB_MOD_LICENSE): Likewise.
3772 (GRUB_MOD_DUAL_LICENSE): Likewise.
3773 All modules updated.
3774
2a9bc016
CW
37752011-04-11 Colin Watson <cjwatson@ubuntu.com>
3776
3777 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
3778 reserved_first_sector to 1. btrfs reserves plenty of space for boot
3779 loaders.
3780 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
3781
8a3bc88e
VS
37822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3783
3784 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
3785
af869a4a
VS
37862011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3787
3788 * util/grub-fstest.c (read_file): Report GRUB error if file opening
3789 failed.
3790
9ee8d94f
VS
37912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3792
3793 * grub-core/kern/file.c (grub_file_open): Don't take into account the
3794 parenthesis in the middle of the filename.
3795
b01abe3e
VS
37962011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
3799 rather than trying to put initrd way too high.
3800 Reported by: Ryan Lortie <desrt@desrt.ca>
3801
335bda1e
VS
38022011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
3805 improperly removed string.
3806
5ca1a64d
VS
38072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
3810 is_disk.
3811 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
3812 (open_device) Likewise.
3813 (grub_util_biosdisk_close): Likewise.
d8ce9995 3814 Reported by: Mark Korenberg.
5ca1a64d 3815
cbac5b1e
AK
38162011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
3817
3818 * util/grub-mkconfig_lib.in: Add missing quotes.
3819
088cdb65
CW
38202011-04-10 Colin Watson <cjwatson@ubuntu.com>
3821
3822 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
3823 is NULL.
3824
8b8a81fa
VS
38252011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 Dynamically count the number of lines for the lower banner.
3828
3829 * grub-core/normal/menu_entry.c (per_term_screen): New member
3830 num_entries.
3831 (print_down): Use num_entries.
3832 (update_screen): Likewise.
3833 (grub_menu_entry_run): Set num_entries.
3834 * grub-core/normal/menu_text.c (menu_viewer_data): New member
3835 num_entries.
3836 (grub_print_message_indented): Move real part to ...
3837 (grub_print_message_indented_real): ... here. Additional argument
3838 dry_run.
3839 (draw_border): Additional argument num_entries.
3840 (print_message): Additional argument dry_run.
3841 (print_entries): Receive menu viewer data.
3842 (grub_menu_init_page): New argment num_entries.
3843 (menu_text_set_chosen_entry): Use num_entries.
3844 (grub_menu_try_text): Likewise.
3845 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
3846 All users updated.
3847 (grub_ucs4_count_lines): New function.
3848 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
3849 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
3850 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
3851 (grub_term_border_height): Likewise.
3852 (grub_term_num_entries): Likewise.
3853
277f955b
VS
38542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
3857 Remove now unused string.
3858
536ce85a
CW
38592011-04-09 Colin Watson <cjwatson@ubuntu.com>
3860
3861 * docs/grub-dev.texi (Finding your way around): Update for 1.99
3862 build system.
3863 (Getting started): GRUB is developed in Bazaar now, not Subversion.
3864
3865 (Comment): Fix typo.
3866 (Getting started): General copy-editing.
3867 (Typical Development Experience): Likewise.
3868 (Error Handling): Likewise.
3869 (Video API): Likewise.
3870
2cf09e32
CW
38712011-04-09 Colin Watson <cjwatson@ubuntu.com>
3872
3873 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
3874 throughout.
3875
1ec652f4
VS
38762011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 * util/grub-mkimage.c (main): Handle special naming of yeeloong
3879 directory.
3880
2c583728
CW
38812011-04-08 Colin Watson <cjwatson@ubuntu.com>
3882
3883 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
3884 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
3885 "development".
3886
d7a565e9
VS
38872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3888
3889 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
3890 grub_strcpy since the lines aren't necessarily 0-terminated.
3891
7c2e4909
VS
38922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
3895 root on legacy.
3896
34c09785
VS
38972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/commands/probe.c (options): Argument to set isn't optional.
3900 (GRUB_MOD_INIT): DEVICE isn't optional.
3901
6a6f8058
VS
39022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
3905 word on new line if it's too long anyway. Fixes a hang.
3906
2e335e90
VS
39072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
3910 const.
3911 * util/grub-setup.c (main): Reuse md device name if available.
3912 * util/raid.c (grub_util_raid_getmembers): Receive device name and
3913 not GRUB name as argument.
3914 Based on patch by: Florian Wagner <fwagner>.
3915
10a7a867
VS
39162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3919 Place mbi on low memory for better compatibility.
3920
7a3d6cd9
VS
39212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
3924
18dd6b47
VS
39252011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
39262011-04-08 Colin Watson <cjwatson@ubuntu.com>
3927
3928 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 3929 * conf/Makefile.common: Likewise.
18dd6b47 3930
3c0e3f14
VS
39312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3932
f7148863
VS
3933 * grub-core/normal/menu.c: Add missing include.
3934
39352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3936
3937 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 3938
6d1fa41f
MZ
39392011-04-08 Martin Zuther <mzuther@mzuther.de>
3940
3941 * util/grub-mkconfig.in: Ignore emacsen backup.
3942
478182a8
VS
39432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3946 on open.
3947 (grub_util_biosdisk_close): Likewise.
3948
72a89a54
VS
39492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3952 const attribute and use grub_isdigit.
3953
b5ebecfa
A
39542011-04-06 Andrey <dev_null@ukr.net>
3955
3956 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3957 gcc warning.
3958
7755f66e
VS
39592011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3962 useful grub_dprintf's.
3963
461121ff
VS
39642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3967
2a961775
VS
39682011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3971
adf594cc
VS
39722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 Output errors if theme loading failed.
3975
3976 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3977 grub_gfxterm_fullscreen on error paths to ...
3978 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3979 theme loading error.
3980
665900a3
VS
39812011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3984 space for older compilers.
3985 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3986
a562b479
VS
39872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3990 and report them as not RAID members since they are useless for GRUB.
3991 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3992
850e9373
VS
39932011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Increase LVM implementation robustness in order not to crash on
3996 configurations like pvmove. Previously code assumed that in some places
3997 only lvs or only pvs are used whereas it seems that they are used
3998 interchangeably.
3999
4000 * grub-core/disk/lvm.c (read_node): New function.
4001 (read_lv): Use read_node.
4002 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4003 Match volumes only at the end when all lvs are found. Take both
4004 pvs (first) and lvs (second) into account.
4005 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4006 mirror_* into node_*. All users updated.
4007 (grub_lvm_stripe): Merge this ...
4008 (grub_lvm_mirror): ... and this ...
4009 (grub_lvm_node): ... into this. All users updated.
4010
6f332153
VS
40112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4014 of function to allow further scanning for LVMs.
4015
829ea451
VS
40162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4019 on failed seek as it breaks open fd reusage.
4020
09ceb9a5
VS
40212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * util/grub-install.in: Add a recommendation to use --recheck before
4024 reporting bugs.
4025
67e11623
VS
40262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4029 are obtained.
4030
caee5efd
VS
40312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 GRUB developper manual based on existing Internals section and
4034 contributions by the various authors with active copyright assignment.
4035
4036 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4037 * docs/font_char_metrics.png: New file.
4038 * docs/font_char_metrics.txt: Likewise.
4039 * docs/grub-dev.texi: Likewise.
4040 * docs/grub.texi (Internals): Move from here ...
4041 * docs/grub-dev.texi: ... here.
4042
2cccc747
CW
40432011-04-01 Colin Watson <cjwatson@ubuntu.com>
4044
4045 Store the loopback device as data on loopback grub_disk structures,
4046 rather than the file it points to. This fixes use of freed memory
4047 if an existing loopback device is replaced.
4048
4049 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4050 disk->data, not dev->file.
4051 (grub_loopback_read): Adjust file assignment to match.
4052 Fixes Ubuntu bug #742967.
4053
186ae367
CW
40542011-04-01 Colin Watson <cjwatson@ubuntu.com>
4055
4056 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4057 when replacing an existing device.
4058
cfed2ad0
VS
40592011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4062 memory corruptions.
4063
4064 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4065 unsigned.
4066 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4067 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4068 (grub_jfs_read_inode): Likewise.
4069 (grub_jfs_opendir): Likewise. Remove now useless casts.
4070 (grub_jfs_getent): Likewise.
4071 Make ino a grub_uint32_t rather than int.
4072 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4073 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4074 division and module with bit operations.
4075 (grub_jfs_find_file): Make ino a grub_uint32_t.
4076 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4077
05d2ed32
CW
40782011-04-01 Colin Watson <cjwatson@ubuntu.com>
4079
4080 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4081 warning. (This was in fact always initialised before use, but GCC
4082 wasn't smart enough to prove that.)
4083 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4084
91dc6073
VS
40852011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4086
4087 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4088 stack alignment.
4089 (efi_wrap_1): Likewise.
4090 (efi_wrap_2): Likewise.
4091 (efi_wrap_3): Likewise.
4092 (efi_wrap_4): Likewise.
4093 (efi_wrap_5): Likewise.
4094 (efi_wrap_6): Likewise.
4095 (efi_wrap_10): Likewise.
4096 Based on information by: Red Hat/Peter Jones.
4097
a8afc1d1
CW
40982011-03-31 Colin Watson <cjwatson@ubuntu.com>
4099
4100 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4101 set-but-not-used variable.
4102
a826cc7d
CW
41032011-03-31 Colin Watson <cjwatson@ubuntu.com>
4104
4105 * docs/grub.texi (Simple configuration): Be more explicit about
4106 GRUB_DEFAULT, and add an example.
4107 Reported by: Leslie Rhorer.
4108
875b67ba
CW
41092011-03-30 Colin Watson <cjwatson@ubuntu.com>
4110
4111 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4112 shell".
4113
fd7cd914
AS
41142011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4115
4116 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4117 * util/grub.d/20_linux_xen.in: Likewise.
4118
090b1b6a
VS
41192011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 * util/grub.d/10_linux.in: Try alternative config filenames where
4122 we parse config file.
4123 * util/grub.d/20_linux_xen.in: Likewise.
4124
baad885c
AS
41252011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4126
4127 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4128 * util/grub.d/20_linux_xen.in: Likewise.
4129
241e41f5
VS
41302011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * grub-core/disk/raid.c (insert_array): Add few potentially
4133 useful grub_util_info.
4134 (grub_raid_register): Likewise.
4135
56445fb2
VS
41362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4139 Preserve partition number in mdadm code path.
4140
c871b1c6
VS
41412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4144 few potentially useful grub_util_info.
4145
5e631b4f
CW
41462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4147
4148 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4149
2d5d0333
CW
41502011-03-30 Colin Watson <cjwatson@ubuntu.com>
4151
4152 * docs/grub.texi (default): Use @example rather than nested
4153 itemized lists to avoid breaking gendocs.
4154
3d7ed04e
CW
41552011-03-30 Colin Watson <cjwatson@ubuntu.com>
4156
4157 * docs/grub.texi (Future): Update.
4158
abf04200 41592011-03-30 Colin Watson <cjwatson@ubuntu.com>
4160
4161 * docs/grub.texi (Environment): New chapter.
4162 (Changes from GRUB Legacy): Link to "Environment block" section for
4163 details of limitations.
4164 (Simple configuration): Likewise. Link to documentation of gfxmode
4165 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4166 respectively.
4167 (Shell-like scripting): Note that normal variables are stored in the
4168 environment.
4169 (gettext): Link to documentation of lang and locale_dir.
4170 (list_env): New section.
4171 (load_env): New section.
4172 (save_env): New section.
4173
4174 (Reporting bugs): Fix typo.
4175
e1ad0edd
VS
41762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4179 the example.
4180
5d803174
VS
41812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/term/at_keyboard.c (set_scancodes)
4184 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4185
2a2da1d0
CW
41862011-03-30 Colin Watson <cjwatson@ubuntu.com>
4187
4188 * docs/grub.texi (Menu-specific commands): Remove some semantics
4189 that were true in GRUB Legacy but not in GRUB 2.
4190 (submenu): New section.
4191 (false): New section.
4192 (read): New section.
4193 (true): New section.
4194
a7527639
CW
41952011-03-30 Colin Watson <cjwatson@ubuntu.com>
4196
4197 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4198
41992011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4200
4201 * docs/grub.texi (Simple configuration): Explain some of the
4202 current limitations of grub-mkconfig.
8a748df2 4203 Reported by: Leslie Rhorer.
e30af029 4204
fc858482
VS
42052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Old macs search for boot.efi rather than for bootia32.efi.
4208
4209 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4210 * util/grub-mkrescue.in: Likewise.
4211 Suggested by: Peter Jones.
4212
e1eb511d
VS
42132011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4216
70e75364
VS
42172011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4218
4219 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4220 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4221 (grub_lvm_mirror): New struct.
4222 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4223 (grub_lvm_iterate): Iterate only visible volumes.
4224 (grub_lvm_read): Factor out to ..
4225 (read_lv): ... this. Support mirrors.
4226 (grub_lvm_read): New wrapper function.
4227 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4228 stripped or mirrored.
4229
fc18f6a3
VS
42302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4233
5c650f4c
CW
42342011-03-29 Colin Watson <cjwatson@ubuntu.com>
4235
4236 * docs/grub.texi (loopback): New section.
4237
61d7156b
CW
42382011-03-29 Colin Watson <cjwatson@ubuntu.com>
4239
4240 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4241 removed -p option.
4242
994b8264
CW
42432011-03-29 Colin Watson <cjwatson@ubuntu.com>
4244
4245 * docs/grub.texi (BIOS installation): New section, partly based on
4246 previous text in other sections.
4247 (Installing GRUB using grub-install): Replace BIOS discussion with a
4248 cross-reference.
4249 (Images): Likewise.
4250
9e4d19e0
VS
42512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4254 [HAVE_DIOCGDINFO]: Add safety checks.
4255
a307c0b2
VS
42562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4259 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4260
b4db4f39
CW
42612011-03-29 Colin Watson <cjwatson@ubuntu.com>
4262
4263 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4264 real_sb->size is zero (e.g. RAID-0), get the disk size from
4265 real_sb->data_size instead.
4266 Fixes Ubuntu bug #743136.
4267
35e5f84c
VS
42682011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4271 printf clauses for printing size and start.
4272
d2e29d81
VS
42732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4274
4275 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4276 Reported and tested by: Timothy Nikkel.
4277
ed5587af
VS
42782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4279
4280 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4281 (dirty_region_add_real): ... this.
4282 (dirty_region_add): Don't discard margin refresh when performing
4283 scheduled repaint.
4284
a1dc717c
VS
42852011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 * grub-core/lib/relocator.c (allocate_regstart)
4288 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4289 terminals are capabple of malloc-free operation.
4290 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4291 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4292
9f3677d3
VS
42932011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4294
4295 * util/grub-setup.c: Copy the partition table zone if floppy support
4296 is disabled, even if no partition table is found.
4297
4298 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4299 during POST if an invalid partition table is contained in the PBR
4300 of the active partition when GRUB is installed to a partition.
4301
24148725
CW
43022011-03-28 Colin Watson <cjwatson@debian.org>
4303
4304 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4305 comment.
4306
f329eda7
CW
43072011-03-28 Colin Watson <cjwatson@debian.org>
4308
4309 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4310 to be specific about what kind of RAID device we're scanning for.
4311
c482ad98
SG
43122011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4313
4314 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4315 return freed string.
4316
5ee04984
VS
43172011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4320
f4727da9
VS
43212011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Use libgeom on FreeBSD to detect partitions.
4324
4325 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4326 (grub-mkrelpath): Likewise.
4327 (grub-script-check): Likewise.
4328 (grub-editenv): Likewise.
4329 (grub-mkpasswd-pbkdf2): Likewise.
4330 (grub-fstest): Likewise.
4331 (grub-mkfont): Likewise.
4332 (grub-mkdevicemap): Likewise.
4333 (grub-probe): Likewise.
4334 (grub-setup): Likewise.
4335 (grub-ofpathname): Likewise.
4336 (grub-mklayout): Likewise.
4337 (example_unit_test): Likewise.
4338 (grub-menulst2cfg): Likewise.
4339 * grub-core/Makefile.core.def (grub-emu): Likewise.
4340 (grub-emu-lite): Likewise.
4341 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4342 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4343 define HAVE_DIOCGDINFO.
4344 (follow_geom_up) [FreeBSD]: New function.
4345 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4346 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4347 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4348 unconditionally of HAVE_DIOCGDINFO.
4349
82fe6c75
VS
43502011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 Fix FreeBSD compilation problem.
4353
4354 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4355 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4356
4c6c9431
CW
43572011-03-24 Colin Watson <cjwatson@ubuntu.com>
4358
4359 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4360 Switch back to page zero before loading a kernel, since some kernel
4361 drivers expect that.
4362 Thanks to: Felix Kuehling.
4363
c7064d94
VS
43642011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4365
4366 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4367 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4368 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4369
3f71cded
VS
43702011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4371
4372 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4373 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4374
ef6de21a
VS
43752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4378 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4379 malloc is disabled.
4380
8bc66a2c
VS
43812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4384 for modules headers when counting the needed allocation size.
4385
5657722c
VS
43862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4389 if no ASCII character is found to prevent crash.
4390
41a85f55
AK
43912011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4392
4393 * grub-core/video/bitmap.c (match_extension): Ignore case.
4394
59e1e5f1
VS
43952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4398
bd4d051a
VS
43992011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/script/parser.y: Declare "time" as valid argument.
4402
bae7fcc1
PJ
44032011-03-23 Peter Jones <pjones@redhat.com>
4404
4405 Fix incorrect assert failure reporting.
4406
4407 * grub-core/tests/example_functional_test.c (example_test): Add
4408 a failure comment.
4409 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4410 (failure_start): ...this. Check that malloc succeeded.
4411 Don't call xvasprintf. Return failure struct.
4412 (failure_append_vtext): New function.
4413 (failure_append_text): Likewise.
4414 (add_failure): Likewise.
4415 (grub_test_assert_helper): Likewise.
4416 * include/grub/test.h (grub_test_assert_helper): New declaration.
4417 (grub_test_assert): Macro rewritten.
4418
537dc9be
VS
44192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4422
fa3e01bf
VS
44232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4426
b1d28404
VS
44272011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4430 into GRUB-style one.
4431
2e3e2e09
VS
44322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4435 error and not grub_errno.
4436 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4437
ed57e557
VS
44382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4441 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4442
d1611f01
VS
44432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 * grub-core/efiemu/i386/pc/cfgtables.c
4446 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4447 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4448 (grub_xnu_unlock): Likewise.
4449 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4450
7d4e39d6
VS
44512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4454 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4455 * grub-core/commands/hashsum.c (aliases): Likewise.
4456 * grub-core/commands/setpci.c (pci_registers): Likewise.
4457 * grub-core/disk/usbms.c (attach_hook): Likewise.
4458 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4459 (zio_checksum_table): Likewise.
4460 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4461 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4462 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4463 * grub-core/lib/relocator.c (leftovers): Likewise.
4464 (extra_blocks): Likewise.
4465 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4466 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4467 (modules_last): Likewise.
4468 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4469 (devices): Likewise.
4470 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4471 (modules_last): Likewise.
4472 * grub-core/normal/auth.c (users): Likewise.
4473 * grub-core/normal/context.c (initial_menu): Likewise.
4474 (current_menu): Likewise.
4475 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4476 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4477 (grub_serial_terminfo_input_template): Likewise.
4478 (grub_serial_terminfo_output_template): Likewise.
4479 (grub_serial_terminfo_input): Likewise.
4480 (grub_serial_terminfo_output): Likewise.
4481 (registered): Likewise.
4482 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4483
40fc4659
VS
44842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4485
4486 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4487 grub_video_mode_type_t.
4488 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4489 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4490 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4491
2da48d28
VS
44922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * util/grub-install.in: Correct the x86-64 name as x86_64.
4495
9b43bf39
CW
44962011-03-11 Colin Watson <cjwatson@ubuntu.com>
4497
4498 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4499 initial chunk read from the kernel always includes GRUB's multiboot
4500 header, which is now outside the first sector.
4501
be1a7ce0
CW
45022011-03-09 Colin Watson <cjwatson@ubuntu.com>
4503
4504 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4505 cached mmap_size, so that this works correctly when called multiple
4506 times.
4507 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4508
83a3c48d
CW
45092011-03-09 Colin Watson <cjwatson@ubuntu.com>
4510
4511 * docs/grub.texi (Simple configuration): Tidy up formatting.
4512
57d75699
SJ
45132011-03-07 Szymon Janc <szymon@janc.net.pl>
4514
4515 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4516 Set-but-not-used variable removed.
4517
028501a0
VS
45182011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 Workaround yet another IEEE1275 bug.
4521
4522 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4523 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4524 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4525 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4526 is set.
4527 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4528 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4529
d998657d
VS
45302011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4533 error.
4534
fee7cdd4
CW
45352011-02-11 Colin Watson <cjwatson@ubuntu.com>
4536
4537 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4538 empty, since in that case we can only generate either nothing or a
4539 syntactically invalid configuration file.
4540 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4541
97286eb5
CW
45422011-02-09 Colin Watson <cjwatson@ubuntu.com>
4543
4544 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4545 (Making a GRUB bootable CD-ROM): Likewise.
4546 (Invoking grub-mkrescue): New section.
4547 Reported by: Yann Dirson. Fixes Debian bug #612585.
4548
22b28eb3
CW
45492011-02-09 Colin Watson <cjwatson@ubuntu.com>
4550
4551 * util/grub-install.in: Remove unnecessary brackets from tr
4552 arguments.
4553 * util/grub.d/10_hurd.in: Likewise.
4554 * util/grub.d/10_kfreebsd.in: Likewise.
4555 * util/grub.d/10_linux.in: Likewise.
4556 * util/grub.d/20_linux_xen.in: Likewise.
4557 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4558
7e735e43
CW
45592011-02-08 Colin Watson <cjwatson@ubuntu.com>
4560
4561 * include/grub/file.h (not_easly_seekable): Rename to ...
4562 (not_easily_seekable): ... this. Update all users.
4563
800f1881
CW
45642011-01-28 Colin Watson <cjwatson@ubuntu.com>
4565
4566 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4567 grub-mkrescue.
4568
3281d3d6
VS
45692011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * util/grub-mkimage.c (generate_image): Refuse to create the images
4572 bigger than the actual flash (512K) in Loongson machines. 512K is also
4573 the biggest chip supported by them.
4574
3533413c
VS
45752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4576
4577 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4578
73ae4f4f
VS
45792011-01-22 Anthony DeRobertis <anthony@derobert.net>
4580
4581 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4582 super_offset field.
4583
37f4f608
VS
45842011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * util/grub-install.in: Ignore install device on platforms
4587 where it doesn't make sense. Always use UUIDs except on pc, efi and
4588 sparc64.
4589 Reported by: Daniel Kahn Gillmor.
4590
03a4ccb5
VS
45912011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4594
ffc8f4d8
VS
45952011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4598 (iterate_real): Don't rely on partition being non-NULL.
4599
80f23be7
VS
46002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4603 supported platforms. Put a compile time assert for this rather than
4604 generate a warning with 32-bit shift.
4605
5d4f4dd5
VS
46062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4609 logical expression more readable.
4610
e489601a
VS
46112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4614 even if some elements have a name.
4615 Reported by: Alexander GQ Gerasiov.
4616
96e0a6ea
CW
46172011-01-22 Colin Watson <cjwatson@ubuntu.com>
4618
4619 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4620 path unreadable if `grub-probe -t abstraction' fails, for example if
4621 memberlist fails on an LVM volume group.
4622 Reported by: Darius Jahandarie.
4623
81431e2b
CW
46242011-01-22 Colin Watson <cjwatson@ubuntu.com>
4625
4626 * docs/grub.texi (Simple configuration): Document
4627 GRUB_PRELOAD_MODULES.
4628
5e79d66a
CW
46292011-01-17 Colin Watson <cjwatson@ubuntu.com>
4630
4631 * .bzrignore: Remove nonexistent grub-pbkdf2.
4632
646ada34
VS
46332011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * configure.ac: Bump version to 1.99~rc1.
4636
04360337
VS
46372011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4640 for safety.
4641
46c9db88
VS
46422011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4645 module.
4646
46472011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
4648
4649 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4650
4fbf1852
VS
46512011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4654 diskdevid.
4655
f1632d4d
VS
46562011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 Fix compilation on cygwin.
4659
4660 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4661 -R .drectve on cygwin.
4662 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4663 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4664 (COND_CYGWIN): New condition.
4665 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4666 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4667 not @TARGET_OBJ2ELF@.
4668 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4669 type to determine whether aux is to be used.
4670
0b5e127b
VS
46712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4674 realpath'ed device string.
4675 Handle floppy (somewhat).
4676 Issue error in unknown case rather than garbage.
4677 Reported by: Axel Beckert.
4678
173b71e9
VS
46792011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 * util/grub.d/00_header.in (load_video): Handle the case when no video
4682 drivers available.
4683 Thanks to: Axel Beckert.
4684
f8f479db
VS
46852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4686
4687 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4688 variable. Fixes problem on big endian platforms.
4689
8fc0a245
VS
46902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4693 It doesn't work well there.
4694
b8494fbe
VS
46952011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4698 warning.
4699 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
4700 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
4701 counter.
4702
b44a558c
VS
47032011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Use alias->path rather than buggy "canon".
4706
4707 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
4708 (ofdisk_hash_add): New argument curcan. All users updated.
4709
51fa856c
CW
47102011-01-11 Colin Watson <cjwatson@ubuntu.com>
4711
4712 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
4713
9da068a5
VS
47142011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
4717 loadmask before doing any calculations. Use correct type for offset.
4718 (grub_linux_load64): Likewise.
4719
86205c94
CW
47202011-01-11 Colin Watson <cjwatson@ubuntu.com>
4721
4722 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
4723 with NULL.
4724 (console_grub_equivalences_unshift): Likewise.
4725 Reported by: Daniel Dehennin.
4726
4531a206
VS
47272011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
4730 (set_env_limn_ro): Likewise.
4731 (GRUB_MOD_INIT): Likewise.
4732 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
4733 ARRAY_SIZE while on it.
4734 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
4735 * grub-core/normal/context.c (grub_env_export): Move from here ...
4736 * grub-core/kern/env.c (grub_env_export): ... here.
4737 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
4738 prefix.
4739 * grub-core/kern/main.c (grub_main): Export root and prefix.
4740 * include/grub/env.h (grub_env_export): Export.
4741 Reported by: Seth Goldberg.
4742
45146057
VS
47432011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4746 Take into account space used by ELF sections and multiboot palette.
4747 Reported by: Grégoire Sutre.
4748
f093110b
VS
47492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 * BUGS: New file.
4752
3395fe52
VS
47532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Pass more appropriate video id to Linux.
4756
4757 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
4758 grub_video_get_driver_id and variable gfxpayloadforcelfb to
4759 fill have_vga.
4760 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
4761 shift params->lfb_size.
4762 * include/grub/i386/linux.h: Make an enume out of have_vga values.
4763
c2fa6cbb
VS
47642011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * util/grub-menulst2cfg.c: Add missing include of misc.h.
4767
b3ff6ff0
VS
47682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
4771 separator and pass bootpath/devid even if only one of them is available.
4772 Reported by: Seth Goldberg.
4773
ae67942e
VS
47742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
4777 implementations bug on them.
4778
4779 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
4780 memory.
4781 (filter_memory_map): Likewise.
4782
d570097a
VS
47832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
4786 Reported by: nebuchadnezzar.
4787
a508e776
VS
47882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
4791 Reported by: nebuchadnezzar.
4792
dcb883b1
VS
47932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 Submenu default support.
4796
4797 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
4798 auto_boot. All users updated.
4799 Declared static.
4800 Handle chosen and default with submenus.
4801 (grub_menu_execute_with_fallback): Declared static.
4802 Don't notify failure if autobooted. Upper level does it.
4803 (menuentry_eq): New function.
4804 (get_entry_number): Use menuentry_eq.
4805 (show_menu): New parameter "autobooted". All users updated.
4806 (grub_show_menu): Likewise.
4807 * include/grub/normal.h (grub_show_menu): Likewise.
4808 * include/grub/menu.h (grub_menu_execute_entry): Removed.
4809 (grub_menu_execute_with_fallback): Likewise.
4810
6fef99b4
VS
48112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * util/grub-mklayout.c (usage): Update help text.
4814
47a77af5
VS
48152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
4818
ce6bb3ee
VS
48192011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * util/grub-menulst2cfg.c (main): Trim the line.
4822
db87be2a
VS
48232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
4826 (grub_machine_init): Don't check amount of low memory as reportedly
4827 INT 12h can be broken and if low memory is too low we wouldn't have
4828 gotten into grub_machine_init anyway.
4829
c49849cc
VS
48302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
4833 (grub_machine_mmap_iterate): Take low memory into account
4834
b1969b30
VS
48352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4838 badfs.
4839 Reported by: TiCPU.
4840
cf0eaf13
VS
48412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
4844 members errors.
4845
1f060f39
GS
48462011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4847
4848 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
4849 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
4850
a21e5672
GS
48512011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4852
4853 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
4854 openbsd and netbsd types being in part_bsd module.
4855
c88172fa
VS
48562011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
4859 (_FILE_OFFSET_BITS): Likewise.
4860 Reported by: Seth Goldberg.
4861
53798c4b
GS
48622011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4863
4864 * configure.ac: Check for libdevmapper header.
4865
e7121b69
VS
48662011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4867
4868 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
4869 avoid aliasing.
4870 (fzap_lookup): Likewise.
4871 (dnode_get): Likewise.
4872 (make_mdn): Likewise.
4873 (zfs_mount): Likewise.
4874 (fzap_iterate): Use temporary pointer to avoid aliasing.
4875 (grub_zfs_read): Likewise.
4876 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
4877 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
4878 pointers to avoid aliasing.
4879 (grub_cmd_xnu_kernel64): Likewise.
4880 (grub_xnu_load_driver): Likewise.
4881
fc836af9
VS
48822011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4883
4884 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
4885 aliasing warning.
4886 (grub_cmd_terminal_output): Likewise.
4887 Reported and tested by: Grégoire Sutre.
4888
f9f37648
VS
48892011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
4892 warning.
4893 Reported and tested by: Grégoire Sutre.
4894
ec1dfd63
VS
48952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * configure.ac: Do CPU substitution even if it's specified explicitly.
4898 Reported and tested by: Alain Greppin.
4899
9462775a
VS
49002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
4903 Reported and tested by: Alain Greppin.
4904
0fd48e35
VS
49052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 Satisfy some bison versions need for inttypes.h.
4908
4909 * grub-core/lib/posix_wrap/inttypes.h: New file.
4910 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
4911 (int16_t): Likewise.
4912 (int32_t): Likewise.
4913 (int64_t): Likewise.
4914 Reported and tested by: Alain Greppin.
4915
43f1bc83
VS
49162011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
4919 Silence spurious warning.
4920 Reported and tested by: Alain Greppin.
4921
64d1f041
SJ
49222011-01-07 Szymon Janc <szymon@janc.net.pl>
4923
4924 * docs/grub.texi (Support automatic decompression): Update with xz
4925 decompression support.
4926
25953e10
SJ
49272011-01-07 Szymon Janc <szymon@janc.net.pl>
4928
4929 Improve loaders' kernel command line handling.
4930
4931 * grub-core/lib/cmdline.c: New file.
4932 * include/grub/lib/cmdline.h: Likewise.
4933 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
4934 grub_create_loader_cmdline to create kernel command line.
4935 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4936 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
4937 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
4938 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
4939 (linux): Add lib/cmdline.c on common.
4940
e72d259f
VS
49412011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
4944 inopos might be unaligned.
4945
c0cf26da
VS
49462011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4947
4948 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4949 endian transformations.
4950 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4951 Based on report by: Doug Nazar.
4952
0ca09e6c
DN
49532011-01-07 Doug Nazar <nazard.michi@gmail.com>
4954
4955 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4956 array->members[i].start_sector.
4957 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4958
014b6806
VS
49592011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4960
4961 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4962 Reported and tested by: Grégoire Sutre.
4963
415502c2
CW
49642011-01-06 Colin Watson <cjwatson@ubuntu.com>
4965
4966 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4967 avoid causing test failures by clearing the screen.
4968
71b6a2b7
CW
49692011-01-06 Colin Watson <cjwatson@ubuntu.com>
4970
4971 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4972 Fix prefix check to handle the case where dir ends with a slash
4973 (most significantly, "/" itself).
4974 Reported by: Michael Vogt.
4975
b3f8d28a
VS
49762011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 Run terminfo_cls on initing terminfo output to clear the screen and
4979 move the cursor to (0,0).
4980
4981 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4982 Call grub_terminfo_output_init.
4983 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4984 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4985 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4986
4c3e4f37
VS
49872011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4990 only when needed.
4991
488f71f1
VS
49922011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4995 CTRL.
4996
18a38098
VS
49972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4998
4999 The E820 type 5 is BADRAM, not EXEC_CODE.
5000
5001 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5002 (GRUB_E820_BADRAM): New define.
5003 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5004 into reserved. Propagate BADRAM.
5005 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5006 (GRUB_E820_BADRAM): New define.
5007
9eae2084
VS
50082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5011 Ignore the memory post-4G.
5012 (grub_relocator_firmware_alloc_region): Additional debug statement.
5013
ebc71d28
VS
50142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5017 names.
5018 Reported by: David Pravec.
5019
446fa400
VS
50202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5023 BIOSes.
5024
a0159f37
VS
50252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5028 Prevent overflow.
5029 (grub_reed_solomon_recover): Likewise.
5030
e5146ca1
VS
50312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5032
5033 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5034
50352011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5036
5037 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5038 variable.
5039
5b1bdf12
CW
50402011-01-04 Colin Watson <cjwatson@ubuntu.com>
5041
5042 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5043 descriptions of extract_legacy_entries_source and
5044 extract_legacy_entries_configfile.
5045 Reported by: Seung Soo, Ha.
5046
99d925aa
CW
50472011-01-03 Colin Watson <cjwatson@ubuntu.com>
5048
5049 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5050 on devices that do not implement function 0.
5051
4af0504b
DV
50522011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5053
5054 * grub-core/fs/hfsplus.c: Make parent unsigned.
5055 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5056 overflows.
5057 (grub_hfsplus_cmp_extkey): Likewise
5058
469ee10a
VS
50592011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 * util/grub-install.in: Correctly use bootloader_id and not
5062 GRUB_DISTRIBUTOR on efibootmgr line.
5063
323a8e9c
VS
50642011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5067
1b394975
IC
50682010-12-31 Ian Campbell <ijc@hellion.org.uk>
5069
5070 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5071 Xen and reorder menu item wording to make it clearer that this entry
5072 will launch Xen. Print separate messages when loading Xen and
5073 Linux.
5074
275bff5f
VS
50752010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5078 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5079 loop in case of incorrect amiga partmap.
5080
307806cb
VS
50812010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5084 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5085 Reported by:EHeM.
5086
b12b923e
VS
50872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5090 spurious warning.
5091 Reported by: crocket
5092
14b48a19
VS
50932010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5096 Preload EFIemu.
5097 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5098
693db2df
VS
50992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5102 is loaded
5103 (grub_cmd_xnu_kextdir): Likewise.
5104 (grub_cmd_xnu_splash): Likewise.
5105
c7638645
VS
51062010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 Avoid using Reed-Solomon with 0 redundancy.
5109
5110 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5111 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5112 or 0 redundancy.
5113 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5114 (grub_reed_solomon_recover): Likewise.
5115
25dd4780
VS
51162010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 Don't use disk subsystem in freebsd_boot.
5119
5120 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5121 (freebsd_biosdev): Likewise.
5122 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5123 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5124
0b2db943
VS
51252010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 Handling of files of unknown size is currently limited. They can't be
5128 used e.g. for initrd or modules. Moreover gzip handling of not
5129 easily seekable files is buggy. Disable unknown file size for now. May
5130 be inefficient but works.
5131
5132 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5133 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5134
5c408d0f
MP
51352010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5136
5137 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5138 floppy probe.
5139
190a011a
JD
51402010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5141
5142 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5143
022d01b8
SL
51442010-12-25 Shea Levy <shlevy>
5145
5146 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5147
c4855fdc
VS
51482010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5151 Windows Server 2008.
5152 Reported by: Devin Giddings.
5153
0354b867
VS
51542010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5157 writing an error message because of async power management.
5158 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5159 (grub_reboot): Likewise.
5160
ab66c69f
JU
51612010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5162
5163 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5164 keep unit tests from failing when they shouldn't.
5165
1426ef35
CW
51662010-12-21 Colin Watson <cjwatson@ubuntu.com>
5167
5168 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5169 previous patch increased the size of the RS code by 20 bytes (at
5170 least with gcc-4.4), so increase this by 20 bytes to match.
5171 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5172
20641b6b
CW
51732010-12-21 Colin Watson <cjwatson@ubuntu.com>
5174
5175 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5176 scratch area. Make sure to initialise chosen in standalone mode as
5177 well as non-standalone.
5178 Reported by: Robert Hooker and Andy Whitcroft.
5179 Tested by: Andy Whitcroft.
5180
d060ad60
CW
51812010-12-21 Colin Watson <cjwatson@ubuntu.com>
5182
5183 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5184 constructing a new unescaped string and passing it to grub_xputs in
5185 one go, rather than passing characters to grub_printf one at a time.
5186
b889cfad
CW
51872010-12-21 Colin Watson <cjwatson@ubuntu.com>
5188
5189 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5190 initialising utf16.
5191
4e01b6c8
CW
51922010-12-21 Colin Watson <cjwatson@ubuntu.com>
5193
5194 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5195 comment. Add an extra layer of quotation, requiring the output of
5196 this function to be used in a printf format string.
5197 (gettext_printf): New function.
5198 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5199 Extract translatable strings from here-documents and use a temporary
5200 variable instead, so that xgettext can find them.
5201 * util/grub.d/10_kfreebsd.in: Likewise.
5202 * util/grub.d/10_linux.in: Likewise.
5203 * util/grub.d/20_linux_xen.in: Likewise.
5204
5205 * po/grub.d.sed: New file.
5206 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5207 arguments. Set c-format flags on all strings extracted from
5208 util/grub.d/ (xgettext refuses to include these itself for strings
5209 it extracted from a shell file, but these really are c-format).
5210
5318fe98
VS
52112010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5214 Avoid next pointing to nowhere.
5215
6c85b743
VS
52162010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5219 rather than assuming than rootblock is exactly in the middle.
5220 (grub_affs_label): Likewise.
5221
a2a08a35
VS
52222010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5225 reserved_first_sector to 0.
5226 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5227 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5228 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5229
7059d1ec
VS
52302010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 Fix handling of UTF-16 UDF labels.
5233
5234 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5235 (read_string): .. here.
5236 (grub_udf_label): Use read_string.
5237
30aff4cb
BC
52382010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5239
5240 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5241 editor under argument scope.
5242 Reported by: Jordan Uggla
5243
5cf86f4b
VS
52442010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5245
5246 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5247
32570200
CW
52482010-12-18 Colin Watson <cjwatson@ubuntu.com>
5249
5250 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5251 line, and other keys scroll an entire page (previous handling was
5252 for \r and \n to scroll a page and other keys to scroll two lines).
5253
e1dffcf2
VS
52542010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5257 Set ptrdest to correct get_physical_target_address rather than
5258 incorrect get_virtual_current_address.
5259
b04298cf 52602010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5261
5262 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5263 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5264
5367ecd3
CW
52652010-12-10 Colin Watson <cjwatson@ubuntu.com>
5266
5267 * .bzrignore: Ignore grub-core/rs_decoder.S.
5268
1fb430f8
CW
52692010-12-10 Colin Watson <cjwatson@ubuntu.com>
5270
5271 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5272 .mo/.mo.gz opening sequence to ...
5273 (grub_mofile_open_lang): ... here.
5274 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5275 * util/grub.d/00_header.in (grub_lang): Include country part of
5276 locale.
5277 Reported by: Mario Limonciello.
5278
a94a6671
RM
52792010-12-09 Robert Millan <rmh@gnu.org>
5280
5281 * NEWS: Document addition of ZFS support.
5282
24b7938b
CW
52832010-12-04 Colin Watson <cjwatson@ubuntu.com>
5284
5285 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5286 rather than `/ 2', as the latter requires -Wa,--divide which would
5287 require bumping our minimum binutils version.
5288
bddc3ef6
BC
52892010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5290
5291 * util/grub-script-check.c (main): Print script line number on
5292 error.
5293
bf78d5b2
RM
52942010-12-01 Robert Millan <rmh@gnu.org>
5295
5296 * grub-core/fs/zfs/zfs.c: New file.
5297 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5298 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5299 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5300 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5301
5302 * include/grub/zfs/dmu.h: Likewise.
5303 * include/grub/zfs/dmu_objset.h: Likewise.
5304 * include/grub/zfs/dnode.h: Likewise.
5305 * include/grub/zfs/dsl_dataset.h: Likewise.
5306 * include/grub/zfs/dsl_dir.h: Likewise.
5307 * include/grub/zfs/sa_impl.h: Likewise.
5308 * include/grub/zfs/spa.h: Likewise.
5309 * include/grub/zfs/uberblock_impl.h: Likewise.
5310 * include/grub/zfs/vdev_impl.h: Likewise.
5311 * include/grub/zfs/zap_impl.h: Likewise.
5312 * include/grub/zfs/zap_leaf.h: Likewise.
5313 * include/grub/zfs/zfs.h: Likewise.
5314 * include/grub/zfs/zfs_acl.h: Likewise.
5315 * include/grub/zfs/zfs_znode.h: Likewise.
5316 * include/grub/zfs/zil.h: Likewise.
5317 * include/grub/zfs/zio.h: Likewise.
5318 * include/grub/zfs/zio_checksum.h: Likewise.
5319
5320 * Makefile.util.def: Build ZFS into libgrubmods.
5321 * grub-core/Makefile.core.def: Build zfs.mod.
5322
3f0f3831
SJ
53232010-11-30 Szymon Janc <szymon@janc.net.pl>
5324
5325 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5326 variable.
5327 * grub-core/commands/wildcard.c (match_files): Likewise.
5328
3a4253b2
RM
53292010-11-30 Robert Millan <rmh@gnu.org>
5330
5331 * grub-core/loader/i386/bsd.c
5332 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5333 whether kernel is loaded using grub_loader_is_loaded(), rather
5334 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5335 certain error conditions.
5336
8c317b27
RM
53372010-11-30 Robert Millan <rmh@gnu.org>
5338
c5c9cd3e
RM
5339 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5340 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5341
49d3ab46
VS
53422010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 Avoid using tricks for initialising endian variables.
5345
5346 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5347 Make const.
5348 (GRUB_MOD_INIT): Don't byte-swap.
5349 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5350 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5351 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5352 (grub_swap_bytes32_compile_time): Likewise.
5353 (grub_cpu_to_le32_compile_time): Likewise.
5354 (grub_cpu_to_le16_compile_time): Likewise.
5355
f420a804
VS
53562010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * util/grub-setup.c (setup): Stop recommending --force. People who
5359 understand the dangers of blocklists are able to find this option
5360 anyway and the ones who don't shouldn't use it anyway.
5361
4e7db17b
RM
53622010-11-26 Robert Millan <rmh@gnu.org>
5363
5364 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5365 Update all users.
5366
9be57a0d
CW
53672010-11-26 Colin Watson <cjwatson@ubuntu.com>
5368
5369 Fix LVM-on-RAID probing.
5370
5371 * util/grub-probe.c (probe): Remember which disk was detected as
5372 RAID (perhaps an LVM physical volume). Use that disk's raidname
5373 rather than that of the top-level disk.
5374
2c7859b3 53752010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5376
d7647bb6
BC
5377 Fix cmdline argument quotes for setparams command of menuentry
5378 definitions.
7e623b0d
BC
5379
5380 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5381 quotes for arguments.
f866fe80 5382 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5383 grub_strchrsub function instead.
f866fe80 5384
7955bea0 5385 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5386
74f72a64
CW
53872010-11-24 Colin Watson <cjwatson@ubuntu.com>
5388
5389 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5390 effort by skipping "." and ".." entries up-front.
5391 Suggested by: Michael Lazarev.
5392
5a407278
CW
53932010-11-24 Colin Watson <cjwatson@ubuntu.com>
5394
5395 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5396 ldflags to ldadd, to fix link line ordering.
5397 (none_decompress): Likewise.
5398
3030d8ec
CW
53992010-11-24 Colin Watson <cjwatson@ubuntu.com>
5400
5401 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5402 platforms.
5403 (grub-emu-lite): Remove kern/emu/cache.S.
5404
b7fbac12
CW
54052010-11-23 Colin Watson <cjwatson@ubuntu.com>
5406
5407 * util/deviceiter.c (compare_devices): If the by-id link for a
5408 device couldn't be resolved, fall back to sorting by the by-id link
5409 rather than segfaulting.
5410 Reported and tested by: Daniel Mierswa.
5411
5225f328
CW
54122010-11-23 Colin Watson <cjwatson@ubuntu.com>
5413
5414 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5415 ldflags, to fix link line ordering.
5416
038b3ce8
CW
54172010-11-23 Colin Watson <cjwatson@ubuntu.com>
5418
5419 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5420 linkers are picky about this.
5421
bf16e98e
CW
54222010-11-23 Colin Watson <cjwatson@ubuntu.com>
5423
5424 * grub-core/Makefile.am (command.lst): Adjust sed expression
5425 ordering so that extended and priority commands aren't treated as
5426 ordinary commands.
5427
7242bab6
CW
54282010-11-23 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5431 Remove byte-swapping function calls, which are not valid in
5432 structure initialisers.
5433 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5434 non-const.
5435 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5436 grub_gpt_partition_type_bios_boot.
5437
14e8b279
CW
54382010-11-22 Colin Watson <cjwatson@ubuntu.com>
5439
5440 Fix test program build on GNU/kFreeBSD.
5441
5442 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5443 $(LIBNVPAIR)' library dependencies.
5444
e6f63338 54452010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5446
5447 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5448
cf8ffc38
CW
54492010-11-22 Colin Watson <cjwatson@ubuntu.com>
5450
5451 * util/grub-install.in: Remove excessive quoting that broke
5452 installations to RAID devices.
5453
7f8b0fd7
VS
54542010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5457 bootloader version instead of 0.
5458
dfd240b1
VS
54592010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5462 warning.
5463
7b61e609
VS
54642010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5467 retrieve the metadat sector if size isn't known.
5468 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5469
9dfe92d0
RM
54702010-11-18 Robert Millan <rmh@gnu.org>
5471
5472 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5473 with grub_memcmp().
5474
41cc919e
VS
54752010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5478 arrow.
5479 Reported by: Jordan Uggla.
5480
1afcc914
VS
54812010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 Make better UTF compliant.
5484
5485 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5486 sequences as incorrect.
5487 (grub_is_valid_utf8): Likewise.
5488 (grub_utf8_to_ucs4): Likewise.
5489 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5490 (grub_ucs4_to_utf8_alloc): Likewise.
5491 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5492
f1808884
VS
54932010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 Make legacy_source behave like source.
5496
5497 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5498 grub_show_menu.
5499 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5500
24ec575b
CW
55012010-11-16 Colin Watson <cjwatson@debian.org>
5502
5503 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5504 (-Wunused implies -Wunused-parameter, but not vice versa).
5505
72b7c7aa
CW
55062010-11-16 Colin Watson <cjwatson@ubuntu.com>
5507
5508 * configure.ac: Make error messages less confusing by testing for
5509 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5510 accepted, but produces a diagnostic if something else is wrong).
5511
e98937aa
VS
55122010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5515 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5516 (now unused).
5517 (grub_keyboard_controller_init)
5518 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5519 read the initial state since controller isn't inited yet.
5520
f6bbabc3
VS
55212010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5522
5523 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5524 allocate_regbeg may need to create new chunk header.
5525
22e7dbb2
VS
55262010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 Fix quoting in legacy parser.
5529
5530 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5531 single quotes.
5532 (grub_legacy_parse): Likewise.
5533 Reported by: Jordan Uggla.
5534 Tested by: Jordan Uggla.
5535
03f80960
VS
55362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 Don't add -lgcc on i386 and x86_64.
5539
5540 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5541 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5542 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5543
779dc15b
VS
55442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * configure.ac: Add -Wno-trampolines when supported.
5547
d20a3b37
MV
55482010-11-14 Modestas Vainius <modax@debian.org>
5549
5550 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5551 fakeraid.
5552
e5360933
GC
55532010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5554
5555 Add generic logical block size support for UDF.
5556
5557 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5558 (GRUB_UDF_BLKSZ): Removed.
5559 (struct grub_udf_data): New field "lbshift" to hold the logical block
5560 size of the file system in log2 format. All users updated.
5561 (sblocklist): Change type to unsigned.
5562 (grub_udf_mount): Change type of "sblklist" to unsigned.
5563 Move AVDP search before VRS recognition, because the latter requires
5564 knowledge of the logical block size, which is detected during the
5565 former.
5566 Detect and validate logical block size during AVDP search, adding
5567 support for block sizes 512, 1024 and 4096.
5568 Make VRS recognition independent of block size.
5569
cb0229c5
GC
55702010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5571
5572 Properly handle deleted files on UDF.
5573
5574 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5575 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5576 set.
5577
406858a8
GC
55782010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5579
5580 Support reading files larger than 2 GiB.
5581
5582 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5583 "offset" to grub_off_t.
5584 (grub_udf_read_file): Likewise for parameter "pos".
5585
130da6a7
VS
55862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5589 unavailable.
5590 (Simple configuration): Refer to Changes from GRUB Legacy about
5591 save_env availability.
5592
65e93f6b
VS
55932010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * util/grub-install.in: Ignore empty partition table detection
5596 instead of trying to include part_ module.
5597
1fd08bf1
VS
55982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5601 LVM on RAID support.
5602
de1a024f
VS
56032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 Properly define WORDS_BIGENDIAN in wrapped environments.
5606
5607 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5608 definition.
5609 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5610
5611 Reported by: Manoel Rebelo Abranches.
5612 Tested by: Manoel Rebelo Abranches.
5613
bc5dd0b9
VS
56142010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * util/grub-mkconfig.in: Fix quoting.
5617
58c184be
VS
56182010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5619
5620 Support big ext2 files.
5621
5622 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5623 (grub_ext2_read_block): Support triple indirect blocks.
5624 (grub_ext2_read_file): Use 64-bit types and read size_high.
5625 (grub_ext2_open): Read size_high.
5626 Reported by: Ximin Luo.
5627 Tested by: Manoel Rebelo Abranches.
5628
5f0c02b3
VS
56292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 * util/grub-install.in: Handle filenames containing spaces.
5632 Reported by: Jordan Uggla.
5633 Tested by: Jordan Uggla.
5634
4417aae6
VS
56352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5636
5637 * util/grub-mkconfig.in (grub_script_check): New variable.
5638 Use grub_script_check instead of grub-script-check.
5639 Reported by: Barry Jackson.
5640
7625a68e
VS
56412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5642
5643 * docs/grub.texi (menu): Correct the order.
5644 Reported by: D. Hugh Redelmeier.
5645
10001ac5
VS
56462010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5649 jump.
5650
9c4cf53b
MRA
56512010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5652
10001ac5
VS
5653 * include/grub/elfload.h (grub_elf32_size): New parameter.
5654 All users updated.
9c4cf53b
MRA
5655 Return maximum segments alignment.
5656 (grub_elf64_size): Likewise.
5657 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5658 Return maximum segments alignment.
5659 (grub_elf64_size): Likewise.
5660 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
5661 (grub_linux_claimmap_iterate): New function. Uses the
5662 "available" property in the "memory" node for memory allocation
5663 for kernel in the PowerPC loader.
9c4cf53b
MRA
5664 (grub_linux_load32): Correctly find linux entry point offset.
5665 (grub_linux_load64): Likewise.
5666
d2bf06bf
RM
56672010-11-07 Robert Millan <rmh@gnu.org>
5668
5669 On mips-yeeloong, build with -march=loongson2f when this flag is
5670 available (GCC >= 4.4).
5671 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5672 `-march=mips3'.
5673 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5674 or otherwise add -march=mips3.
5675
898c99a2
BC
56762010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5677
87220a68
BC
5678 Suppress shell expansion on echo '*' and echo "*" like cases.
5679 Reported by: Jordan Uggla.
898c99a2
BC
5680
5681 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5682 string arguments before shell expansion.
5683 * tests/grub_cmd_echo.in: New testcases.
5684
4f9b406a
RM
56852010-11-07 Robert Millan <rmh@gnu.org>
5686
5687 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5688 transition.
5689
80c6d25e
VS
56902010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/kern/emu/hostdisk.c
5693 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5694
4a1a0153
VS
56952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5698 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5699 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
5700
34706ddc
VS
57012010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5702
5703 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
5704
6972dea9
VS
57052010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * util/grub-install.in: Replace useless recomendation to pass
5708 --modules with a recomendation to report a bug.
5709
9c693bd6
VS
57102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 Properly register serial terminfo.
5713 Reported by: Jordan Uggla
5714
5715 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
5716 const.
5717 (grub_serial_terminfo_output_template): Likewise.
5718 (grub_cmd_serial): Register "serial" with terminfo.
5719 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
5720 grub_serial_terminfo_output.
5721
6c9e4c0c
RM
57222010-11-05 Robert Millan <rmh@gnu.org>
5723
5724 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
5725 needed).
5726
b9b3839f
RM
57272010-11-05 Robert Millan <rmh@gnu.org>
5728
5729 On Yeeloong, pass machine type information to Linux.
5730
5731 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
5732 (LOONGSON_MACHTYPE): New macro, set to
5733 "machtype=lemote-yeeloong-2f-8.9inches".
5734 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
5735 additional argument to Linux.
5736
1a3aaff4
RM
57372010-11-04 Robert Millan <rmh@gnu.org>
5738
5739 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
5740 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
5741 (its SATA disks are detected as slaveless IDE master drives on
5742 kFreeBSD).
5743 Reported by Carsten Aulbert.
5744
a75f4f62
CW
57452010-11-02 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * util/bin2h.c (main): Fix spelling error in generated output.
5748
33b4b0c6
GS
57492010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
5750
5751 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
5752
2b36fbf4
VS
57532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
5756 vga= option is supplied.
5757
74aaf558
VS
57582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
5761 * util/grub.d/10_kfreebsd.in: Likewise.
5762 * util/grub.d/10_linux.in: Likewise.
5763 * util/grub.d/20_linux_xen.in: Likewise.
5764
6428dec3
VS
57652010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
5768 argument as an argument to no-argument option.
5769
f8729d98
VS
57702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * util/grub.d/10_linux.in: Add missing load_video with explicit
5773 GRUB_GFXPAYLOAD_LINUX.
5774
89d68fa6
VS
57752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
5778
3a1197cd
VS
57792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
5782 elements with invlid index.
5783 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5784 * grub-core/disk/raid.c (insert_array): Automatically reallocate
5785 members.
5786 * include/grub/raid.h (grub_raid_member): New struct.
5787 (grub_raid_array): Transform devices and start_sector into usage of
5788 grub_raid_member. All users updated
5789 (allocated_devs): New member.
5790
71574288
VS
57912010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5792
5793 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
5794 is modified
5795
8d40ec65
BC
57962010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
5797
5798 NetBSD build fix for getline function conflict from gnulib.
5799
5800 * Makefile.util.def (libgrubkern.a): New library for grub kernel
5801 components that depend on gnulib headers.
5802 (libgrubmods.a): Renamed from earlier libgrub.a.
5803 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
5804
95b9257e
VS
58052010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
5808 install rather than creating a broken install.
5809
26c53dc6
VS
58102010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * util/grub-setup.c (argp): Remove misleading example of installing to
5813 a partition.
5814
4171b3c5
VS
58152010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5816
5817 * util/grub-setup.c (setup): Clarify the error message.
5818
18568d18
VS
58192010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
5822
4f6a2e21
VS
58232010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5824
5825 * grub-core/kern/emu/misc.c
5826 (grub_make_system_path_relative_to_its_root)
5827 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
5828
58292010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
5830
5831 * grub-core/kern/emu/misc.c
5832 (grub_make_system_path_relative_to_its_root): Revert r2882.
5833
e138c458
VS
58342010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
5837 useless field head. All users updated.
5838 (free_subchunk): Correct handling of IN_REGION subchunk.
5839
0cbcdf0e
CW
58402010-10-22 Colin Watson <cjwatson@ubuntu.com>
5841
5842 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
5843 (Supported kernels): Likewise.
5844
b65ea155
GS
58452010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5846
5847 Make mktemp invocations portable.
5848
5849 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
5850 exit if mktemp fails.
5851 * tests/grub_script_blockarg.in: Likewise.
5852 * tests/partmap_test.in: Likewise.
5853 * tests/util/grub-shell-tester.in: Likewise.
5854 * tests/util/grub-shell.in: Likewise.
5855 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5856 * Makefile.am: Likewise, and chain shell commands with `&&'
5857 instead of ';'.
5858 * util/grub-mkrescue.in: Use the same explicit template as above, and
5859 exit if mktemp fails.
5860
05f43cdd
BC
58612010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
5862
5863 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
5864 Linux kernel, reported by Dennis Schridde.
5865
800e6a9b
SJ
58662010-10-17 Szymon Janc <szymon@janc.net.pl>
5867
5868 * grub-core/normal/auth.c (grub_auth_check_authentication):
5869 Set-but-not-used variable removed.
5870
d82df574
VS
58712010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * docs/grub.texi (GNU/Linux): Document APM unavailability with
5874 32-bit linux protocol.
5875
7bced458
VS
58762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
5879 cursor shape for sanity.
5880
5b027690
VS
58812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * docs/grub.texi (Installation): Document buggy BIOS install.
5884
ba5f65cf
VS
58852010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * docs/grub.texi (Installation): Indent.
5888
fdf2ec9c
VS
58892010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * util/grub-setup.c (setup): New parameter allow_floppy.
5892 (arguments): New member allow_floppy.
5893 (argp_parser): Handle --allow-floppy.
5894 (main): Pass allow_floppy.
5895 * util/grub-install.in: New option --allow-floppy passed though to
5896 grub-setup.
5897
861dfd4c
VS
58982010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * util/grub-install.in: Handle partitionless disks.
5901
f77a8c24
VS
59022010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * util/grub-setup.c (setup): Don't clean blocklists before readability
5905 verfification.
5906
27d9ee32
VS
59072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * docs/grub.texi (Installation): Document embedding zone. Remove
5910 obsolete grub-install example.
5911
6bdda8f8
SJ
59122010-10-16 Szymon Janc <szymon@janc.net.pl>
5913
5914 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5915 Set-but-not-used variable ifdef'ed.
5916 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
5917 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
5918 variable removed.
5919 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
5920 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
5921 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5922 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
5923 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
5924 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5925 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
5926 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
5927 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5928 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
5929 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
5930 Likewise.
5931
e19b016b
VS
59322010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
5935 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
5936 enum value.
5937
6c8d3002
VS
59382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
5941 synonym to _S5_. Needed for some DSDTs.
5942
c32b51c9
VS
59432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 Userspace ACPI parser debugging.
5946
5947 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5948 headers and add relevant defines. Don't include standard headers.
5949 (main) [GRUB_DSDT_TEST]: New function.
5950 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5951 Don't declare functions.
5952
fbfbeb39
VS
59532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 Remove dead grub_efi_mm_fini.
5956
5957 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5958 (ALLOCATED_PAGES_SIZE): Likewise.
5959 (MAX_ALLOCATED_PAGES): Likewise.
5960 (allocated_pages): Likewise.
5961 (grub_efi_allocate_pages): Don't record allocated pages.
5962 (grub_efi_free_pages): Likewise.
5963 (grub_efi_mm_init): Likewise.
5964 (grub_efi_mm_fini): Removed.
5965
65f7ed7c
VS
59662010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5969 (grub_efi_mm_init): Take into account the memory map size increase.
5970
24977b44
VS
59712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5974 (serial_hw_put): Wait based on real time rather than port reads. Don't
5975 roken ports.
5976 * include/grub/serial.h (grub_serial_port): New field broken.
5977
1eb01cd2
RM
59782010-10-16 Robert Millan <rmh@gnu.org>
5979
5980 * grub-core/kern/emu/misc.c
5981 (grub_make_system_path_relative_to_its_root): Fix premature return
5982 when processing non-root ZFS filesystems.
5f8b440b 5983 Reported by Sergio Talens-Oliag.
1eb01cd2 5984
2d5fed60
RM
59852010-10-15 Robert Millan <rmh@gnu.org>
5986
5987 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5988 guarantee compressed ones are processed first.
5989
d0f4c1ea
VS
59902010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5993 grub_efiemu_autocore.
5994
d87c681f
VS
59952010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
5998 rather than 0x1b.
5999 (grub_console_getkey): Use correct jae opcode rather than ja.
6000
219b3564
RM
60012010-10-12 Robert Millan <rmh@gnu.org>
6002
6003 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6004 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6005 variable. All references updated.
6006
6007 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6008
20c6bb7e
VS
60092010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Correctly distinguish mdraid flavours.
6012
6013 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6014 (insert_array): New argument raid.
6015 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6016 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6017 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6018
74baff84
VS
60192010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6022 handling of special keys.
6023
3ef068df 60242010-10-02 Aleš Nesrsta <starous@volny.cz>
6025
c7980ad9
VS
6026 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6027 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6028
a9455194 60292010-10-02 Aleš Nesrsta <starous@volny.cz>
6030
c7980ad9
VS
6031 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6032 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6033 users updated.
a9455194 6034 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6035 Use right endpoint when querying descriptor.
a9455194 6036
441cfe65
VS
60372010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Clear out 0x80 color bit on EFI.
6040 Tested by: decoder
6041 Reported by: decoder and meta tech.
6042
6043 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6044 (grub_console_setcolorstate): Clear out 0x80 bit.
6045 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6046 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6047 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6048
bf26bcc4
VS
60492010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6052 Set to "auto".
6053
6e3c515d
VS
60542010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6057 mo_file after freeing.
6058
e6d983ba
VS
60592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6062
74ccb5b5
VS
60632010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6066 flags.
6067
17821956
VS
60682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6069
6070 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6071 usage.
6072
ee74fa48
VS
60732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6076
6077 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6078 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6079 and terminfo.h when needed.
6080 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6081 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6082 (terminfo): Enable only on terminfokernel.
6083 (extcmd): Likewise.
6084 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6085 * include/grub/lib/arg.h: Likewise.
6086 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6087 incorrect usage of ->.
6088
aa438e68
VS
60892010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6092 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6093
57994012
VS
60942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 Fix coreboot compilation.
6097
6098 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6099 Take VBE info into account even if only text is supported.
6100 (fill_vbe_info): Take into account the case when only VGA text
6101 is supported.
6102 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6103 on coreboot, multiboot and qemu.
6104
2a406611
VS
61052010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6108 debug messages.
6109 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6110
d33613fc
VS
61112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6114 parameters.
6115
44a1b432
VS
61162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6117
6118 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6119 if they were BSD-style.
6120
edde54e6
VS
61212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/boot/i386/pc/lnxboot.S: Replace
6124 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6125 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6126
b65830fa
VS
61272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 Write embedding zone using Reed-Solomon.
6130
6131 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6132 * grub-core/Makefile.am (rs_decoder.S): New target.
6133 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6134 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6135 (multiboot): Move to RS part.
6136 (post_reed_solomon): New label.
6137 (grub_boot_drive): Move to non-RS part since it's modified in memory
6138 on boot.
6139 Include rs_decoder.S.
6140 * grub-core/lib/reed_solomon.c: New file.
6141 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6142 New definition.
6143 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6144 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6145 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6146 * include/grub/partition.h (grub_partition_map): Change prototype of
6147 embed to allow returning additional sectors.
6148 * include/grub/reed_solomon.h: New file.
6149 * util/grub-setup.c (setup): Handle Reed-Solomon.
6150
0b4b227f
CW
61512010-09-28 Colin Watson <cjwatson@ubuntu.com>
6152
6153 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6154 i386 and x86-64 definedness tests.
6155
f772623b
YB
61562010-09-27 Yves Blusseau <blusseau@zetam.org>
6157
6158 Fix generation of kernel_syms.lst
6159
6160 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6161 ASM_PREFIX
6162
8e57a6ca
RM
61632010-09-26 Robert Millan <rmh@gnu.org>
6164
6165 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6166
6167 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6168 the pool is an array of devices, iterate through it and return the
6169 first device that passes a stat() test (instead of blindly returning
6170 the first one).
6171
f9130836
RM
61722010-09-26 Robert Millan <rmh@gnu.org>
6173
6174 Build fixes for GNU/kFreeBSD.
6175
6176 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6177 to programs that require ZFS conversion.
6178 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6179 kernels that don't have FLOPPY_MAJOR.
6180
96510faf
BC
61812010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6182
6183 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6184
449333eb
BC
61852010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6186
6187 Fix grub-emu build.
6188
6189 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6190 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6191 mdraid09 and mdraid1x.
6192
e1fd1939
CW
61932010-09-24 Colin Watson <cjwatson@ubuntu.com>
6194
6195 Re-enable grub-extras.
6196
6197 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6198 avoid confusing Automake. Run autogen only twice, once for the top
6199 level and once for grub-core. Add Makefile.util.def and
6200 Makefile.core.def from extra modules to the appropriate autogen
6201 invocations. If Makefile.common exists in an extra module, include
6202 it in both Makefile.util.am and grub-core/Makefile.core.am;
6203 similarly, include any Makefile.util.common file in Makefile.util.am
6204 and any Makefile.core.common file in grub-core/Makefile.core.am.
6205 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6206 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6207 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6208 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6209
6210 * gentpl.py (gvar_add): Turn GVARS into a set.
6211 (global_variable_initializers): Sort global variables on output.
6212 (vars_init): New function.
6213 (first_time): Likewise.
6214 (library): Ensure that non-global variable initialisations are
6215 emitted before the first time we emit code for a library block.
6216 Append to variables rather than setting them. Only emit
6217 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6218 each conditional path.
6219 (program): installdir() emits an Autogen macro, so must be passed to
6220 var_add rather than gvar_add.
6221 (data): Likewise.
6222 (script): Likewise.
6223 (rules): New function, centralising handling for different target
6224 types. Set up Guile association lists for first_time and vars_init,
6225 and send most output to a diversion so that variable initialisations
6226 can be emitted first.
6227 (module_rules): Use new rules function.
6228 (kernel_rules): Likewise.
6229 (image_rules): Likewise.
6230 (library_rules): Likewise.
6231 (program_rules): Likewise.
6232 (script_rules): Likewise.
6233 (data_rules): Likewise.
6234
6235 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6236
6237 * .bzrignore: Add contrib and grub-core/contrib. Remove
6238 grub-core/Makefile.gcry.am.
6239
1d12cf29
YB
62402010-09-24 Yves Blusseau <blusseau@zetam.org>
6241
6242 * grub-core/lib/LzFind.c: Add missing include.
6243 * grub-core/lib/LzmaEnc.c: Likewise.
6244 * grub-core/script/lexer.c: Likewise.
6245 * grub-core/script/yylex.l: Likewise.
6246 * util/grub-macho2img.c: Likewise.
6247 * util/grub-menulst2cfg.c: Likewise.
6248 * util/grub-mklayout.c: Likewise.
6249 * util/grub-mkpasswd-pbkdf2.c
6250 * util/grub-mkrelpath.c: Likewise.
6251 * util/resolve.c: Likewise.
6252
dd363028
BC
62532010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6254
6255 * Makefile.util.def (example_unit_test): Add
6256 grub-core/gnulib/libgnu.a.
6257
f5a109e2
GS
62582010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6259
6260 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6261
6d0fa83c
VS
62622010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 Support xz compression on yeeloong.
6265
6266 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6267 * configure.ac: Check for LZMA.
6268 * grub-core/Makefile.core.def (xz_decompress): New target.
6269 (none_decompress): Likewise.
6270 * grub-core/boot/decompressor/minilib.c: New file.
6271 * grub-core/boot/decompressor/none.c: Likewise.
6272 * grub-core/boot/decompressor/xz.c: Likewise.
6273 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6274 * grub-core/kern/mips/cache_flush.S: Likewise.
6275 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6276 * grub-core/kern/mips/startup.S: Move first stage to ...
6277 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6278 nomacro.
6279 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6280 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6281 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6282 Allocate statically.
6283 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6284 Allocate statically or use scratch. Don't check CRC32.
6285 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6286 Allocate statically. Don't check CRC32.
6287 * include/grub/decompressor.h: New file.
6288 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6289 Removed.
6290 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6291 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6292 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6293 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6294 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6295 * util/grub-mkimage.c (grub_compression_t): New type.
6296 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6297 (image_target_desc): New field default_compression.
6298 (image_targets): Adjust yeeloong targets.
6299 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6300 (compress_kernel): New parameter comp.
6301 (generate_image): Likewise. Handle new compression case.
6302 (options): New option --compression
6303 (help): Likewise.
6304 (main): Handle new option.
6305
1b655af6
GS
63062010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6307
6308 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6309
8f03f0b5
CW
63102010-09-22 Colin Watson <cjwatson@ubuntu.com>
6311
6312 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6313 typo in __i386__ conditional.
6314
7835dfd3
VS
63152010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6318 include.
6319
e255597e
VS
63202010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6321
6d0fa83c 6322 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6323
6324 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6325 new tags as supported.
6326 (acpiv2_size): New function.
6327 (grub_multiboot_get_mbi_size): Take new tags into account.
6328 (grub_multiboot_make_mbi): Add new tags.
6329 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6330
6cc14051 63312010-09-21 Aleš Nesrsta <starous@volny.cz>
6332
6333 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6334 Added missing configuration of USB device.
6335
df7769d8
CW
63362010-09-21 Colin Watson <cjwatson@ubuntu.com>
6337
6338 * grub-core/normal/menu_entry.c (run): Make sure we always return
6339 a value.
6340
b031012d
CW
63412010-09-21 Colin Watson <cjwatson@ubuntu.com>
6342
6343 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6344 NumberOfPages is UINT64 according to the UEFI specification, not
6345 UINTN. Fix printf format.
6346
174de8f3
CW
63472010-09-21 Colin Watson <cjwatson@ubuntu.com>
6348
6349 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6350 `err' to grub_usb_err_t.
6351 Reported and tested by: KESHAV P.R.
6352
d7dbe923
CW
63532010-09-21 Colin Watson <cjwatson@ubuntu.com>
6354
6355 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6356 tpart non-const, so that we can assign to it. (Since this is a
6357 typedef, the constness refers to the pointer rather than what it
6358 points to.)
6359
8d5e2af3
CW
63602010-09-21 Colin Watson <cjwatson@ubuntu.com>
6361
6362 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6363 $(top_srcdir)/grub-core/gnulib as well as
6364 $(top_builddir)/grub-core/gnulib.
6365 Reported by: KESHAV P.R.
6366
5c527783
CW
63672010-09-21 Colin Watson <cjwatson@ubuntu.com>
6368
6369 * util/grub-install.in: Fix the bootloader ID option to be
6370 consistently --bootloader-id, not --bootloader_id.
6371 Reported by: KESHAV P.R.
6372
d309a16e
CW
63732010-09-21 Colin Watson <cjwatson@ubuntu.com>
6374
6375 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6376 check hash checksum." consistently translatable.
6377
b830cd16
YB
63782010-09-21 Yves Blusseau <blusseau@zetam.org>
6379
6380 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6381 $(top_builddir).
6382
c4fe27a8
CW
63832010-09-21 Colin Watson <cjwatson@ubuntu.com>
6384
6385 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6386 (GRUB_MOD_INIT): Register sha1sum command.
6387 (GRUB_MOD_FINI): Unregister sha1sum command.
6388
a4c1d277
YB
63892010-09-21 Yves Blusseau <blusseau@zetam.org>
6390
6391 Keep boot and grub directory names in sync with utils scripts
6392
6393 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6394 * config.h.in: Add previous macros.
6395 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6396 * util/grub-install.in: Use $bootdir and $grubdir variables.
6397
4eff79d2
CW
63982010-09-21 Colin Watson <cjwatson@ubuntu.com>
6399
6400 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6401 convert partition names to disk names if the new `convert' parameter
6402 is set.
6403 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6404 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6405 disk in its own right. This can happen with Xen disk images.
6406
934d7e44
YB
64072010-09-21 Yves Blusseau <blusseau@zetam.org>
6408
6409 * util/grub-editenv.c: Update strings to avoid warnings when generating
6410 grub.pot file.
6411 * util/grub-setup.c: Likewise.
934d7e44 6412
df3367cc
VS
64132010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * configure.ac: Change version to 1.99~beta0.
6416
77a94e98
VS
64172010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6420 Add BADRAM.
6421 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6422 Likewise.
6423 * include/multiboot.h: Resynced with specification.
6424 * include/multiboot2.h: Likewise.
6425
269004c1
CW
64262010-09-21 Colin Watson <cjwatson@ubuntu.com>
6427
6428 Fix po directory handling.
6429
6430 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6431 * grub-core/gnulib/Makefile.am: Import gettext module.
6432 * m4/gnulib-cache.m4: Likewise.
6433 * m4/gnulib-comp.m4: Likewise.
6434 * m4/gettext.m4: New file, from gnulib.
6435 * m4/glibc2.m4: Likewise.
6436 * m4/iconv.m4: Likewise.
6437 * m4/intdiv0.m4: Likewise.
6438 * m4/intl.m4: Likewise.
6439 * m4/intldir.m4: Likewise.
6440 * m4/intlmacosx.m4: Likewise.
6441 * m4/intmax.m4: Likewise.
6442 * m4/inttypes-pri.m4: Likewise.
6443 * m4/lcmessage.m4: Likewise.
6444 * m4/lib-ld.m4: Likewise.
6445 * m4/lib-link.m4: Likewise.
6446 * m4/lib-prefix.m4: Likewise.
6447 * m4/lock.m4: Likewise.
6448 * m4/nls.m4: Likewise.
6449 * m4/po.m4: Likewise.
6450 * m4/printf-posix.m4: Likewise.
6451 * m4/progtest.m4: Likewise.
6452 * m4/threadlib.m4: Likewise.
6453 * m4/uintmax_t.m4: Likewise.
6454 * m4/visibility.m4: Likewise.
6455 * po/Makefile.am: Remove.
6456 * po/Makefile.in.in: New file, from gettext.
6457 ($(DOMAIN).pot-update): Support POTFILES-shell.
6458 * po/Makevars: New file.
6459 * po/POTFILES-shell: Rename to ...
6460 * po/POTFILES-shell.in: ... this. Update.
6461 * po/POTFILES: Rename to ...
6462 * po/POTFILES.in: ... this. Update.
6463 * po/Rules-quot: New file, from gettext.
6464 * po/boldquot.sed: Likewise.
6465 * po/en@boldquot.header: Likewise.
6466 * po/en@quot.header: Likewise.
6467 * po/insert-header.sin: Likewise.
6468 * po/quot.sed: Likewise.
6469 * po/remove-potcdate.sin: Likewise.
6470
3e0fa5d0
VS
64712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6474
ade9bd66
VS
64752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * util/grub.d/20_linux_xen.in: Use submenus.
6478
fc55cc4c
VS
64792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 Support submenus.
6482
6483 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6484 parameter submenu. All users updated.
6485 * grub-core/normal/main.c (free_menu): Rename to ...
6486 (grub_normal_free_menu): ... this. Made global.
6487 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6488 if requested.
6489 * grub-core/normal/menu_entry.c (screen): New field submenu.
6490 (make_screen): Set submenu.
6491 (run): Open new context if requested.
6492 * include/grub/menu.h (grub_menu_entry): New field submenu.
6493 * include/grub/normal.h (grub_normal_free_menu): New proto.
6494
600cedf7
VS
64952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 Menu entries extractor.
6498
6499 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6500 variants.
6501 (GRUB_MOD_INIT): Register new variants.
6502 (GRUB_MOD_FINI): Unregister new variants.
6503 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6504 into grub_cmd_legacy_source.
6505 (grub_cmd_legacy_source): Implement extractor variants.
6506 (GRUB_MOD_INIT): Register new variants.
6507 (GRUB_MOD_FINI): Unregister new variants.
6508 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6509 as an extractor.
6510 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6511 search as an extractor.
6512 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6513 test as an extractor.
6514 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6515 as an extractor.
6516 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6517 (grub_env_new_context): New function.
6518 (grub_env_context_open): Likewise.
6519 (grub_env_extractor_open): Likewise.
6520 (grub_env_extractor_close): Likewise.
6521 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6522 grub_extractor_level.
6523 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6524 * include/grub/env.h (grub_env_extractor_open): New proto.
6525 (grub_env_extractor_close): Likewise.
6526 * include/grub/normal.h (grub_extractor_level): New external variable.
6527
7bda3a87
VS
65282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 Make cutmem accept a region specification.
6531 Suggested by: Samuel Thibault
6532
6533 * grub-core/mmap/mmap.c (parsemem): New function.
6534 (grub_cmd_cutmem): Handle new arguments.
6535
2ea57f88
VS
65362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 New command cutmem.
6539
6540 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6541 (GRUB_MOD_INIT): Register new command.
6542 (GRUB_MOD_FINI): Unregister new command.
6543
74342e31
VS
65442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 Support some annoying BSD and Minix subpartitions.
6547
6548 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6549 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6550 Properly handle concatenation.
6551 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6552 * grub-core/normal/completion.c (iterate_partition): Likewise.
6553 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6554 contain partition. All users updated.
6555 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6556 struct.
6557 (grub_openbsdlabel_partition_map): Likewise.
6558 (bsdlabel_partition_map_iterate): Rename to ..
6559 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6560 (bsdlabel_partition_map_iterate): New function.
6561 (netopenbsdlabel_partition_map_iterate): Likewise.
6562 (netbsdlabel_partition_map_iterate): Likewise.
6563 (openbsdlabel_partition_map_iterate): Likewise.
6564 (GRUB_MOD_INIT): Register new partmaps.
6565 (GRUB_MOD_FINI): Unregister new partmaps.
6566 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6567 (grub_partition_msdos_iterate): ... this. All users updated.
6568 Don't support embedding other than in a minix partition.
6569 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6570 proto.
6571 * include/grub/partition.h (grub_partition): New field msdostype.
6572 * util/grub-install.in: Handle openbsd and netbsd types being in
6573 part_bsd module.
6574
1e8d555b
VS
65752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6578
6579 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6580 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6581 (mdraid09): ... this.
6582 (mdraid1x): New module.
6583 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6584 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6585
899d8af4
VS
65862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6589 vsprintf.
6590
40901acd
CW
65912010-09-20 Colin Watson <cjwatson@ubuntu.com>
6592
6593 * grub-core/commands/efi/lsefimmap.c: Correct header.
6594 * NEWS: Update.
6595
dfe3b247
CW
65962010-09-20 Colin Watson <cjwatson@ubuntu.com>
6597
6598 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6599 as printf format strings; the translations might contain '%' which
6600 could cause a crash.
6601 (main): Likewise.
6602 * util/grub-fstest.c (argp_parser): Likewise.
6603 * util/grub-setup.c (argp_parser): Likewise.
6604 (main): Likewise.
6605
3286a4b4
VS
66062010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 Use argp in grub-fstest.
6609
6610 * util/grub-fstest.c: Don't include getopt.h.
6611 Include argp.h.
6612 (root): New variable.
6613 (args_count): Likewise.
6614 (nparm): Likewise.
6615 (num_disks): Likewise.
6616 (images): Likewise.
6617 (cmd): Likewise.
6618 (debug_str): Likewise.
6619 (args): Likewise.
6620 (options): Transformed to argp.
6621 (usage): Removed.
6622 (main): Split argument parsing into ...
6623 (argp_parser): ... this. Changed to argp format.
6624 (argp): New variable.
6625 (main): Use argp_parse.
6626
3dccbe4b
TG
66272010-09-20 Tristan Gingold <gingold@free.fr>
66282010-09-20 Robert Millan <rmh.grub@aybabtu.com>
66292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6630
6631 * grub-core/commands/efi/lsefimmap.c: New file.
6632 * grub-core/Makefile.core.def (lsefimmap): New module.
6633 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6634
38c259a7
VS
66352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 Pause the execution (10s max) if any errors are displayed so the user
6638 has a chance to see them.
6639
6640 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6641 (grub_print_error): Increment grub_err_printed_errors.
6642 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6643 execution if any errors were displayed.
6644 (show_menu): Remove old code for pause.
6645 * grub-core/normal/menu_entry.c (run): Likewise.
6646 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6647 users updated.
6648 (grub_normal_get_char_counter): Likewise.
6649 * include/grub/err.h (grub_err_printed_errors): New external variable.
6650 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6651
f218b09c
VS
66522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 Support multiboot VBE info.
6655
6656 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6657 Take VBE info into account.
6658 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6659 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6660 Call fill_vbe_info when appropriate.
6661 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6662 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6663 as supported.
6664 (grub_multiboot_get_mbi_size): Take new tags into account.
6665 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6666 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6667 Call fill_vbe_tag when appropriate.
6668 (grub_multiboot_make_mbi): Properly align tags.
6669 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6670 function.
6671 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6672 proto.
6673 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6674
a9cc5438
VS
66752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Suport manual terminal geometry specification.
6678
6679 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6680 Save state in grub_ofconsole_terminfo_output.
6681 (grub_ofconsole_term): Use grub_terminfo_getwh.
6682 (grub_ofconsole_getwh): Removed.
6683 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6684 (grub_serial_term): Use grub_terminfo_getwh.
6685 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6686 (options): New struct.
6687 (OPTION_*): New enum.
6688 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6689 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6690 width and height.
6691 (grub_terminfo_getwh): New proto.
6692 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6693
1a8fed20
VS
66942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 Handle legacy "terminal" command.
6697
6698 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6699 and FLAG_TERMINAL.
6700 (legacy_commands): Add terminal and title.
6701 (grub_legacy_parse): Handle terminal. Simplify title handling.
6702
41e9c57d
VS
67032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
6706 parameters overflow.
6707
61c874c5
CW
67082010-09-20 Colin Watson <cjwatson@ubuntu.com>
6709
6710 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
6711 widthspec.h.
6712
6713 * docs/grub.texi (Shell-like scripting): Document `!'.
6714 (Network): Simplify using new i386-pc-pxe format. Mention
6715 grub-mknetdir.
6716
6717 * NEWS: Update.
6718
943682b4
CW
67192010-09-20 Colin Watson <cjwatson@ubuntu.com>
6720
6721 * Makefile.am (SUBDIRS): Restore "."; it's important to force
6722 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
6723 when needed.
6724
6d3d698d
CW
67252010-09-20 Colin Watson <cjwatson@ubuntu.com>
6726
6727 * grub-core/commands/efi/lsefisystab.c: Correct header.
6728 * grub-core/commands/efi/lssal.c: Likewise.
6729 * grub-core/commands/testload.c: Likewise.
6730
c982589f
CW
67312010-09-20 Colin Watson <cjwatson@ubuntu.com>
6732
6733 * util/grub-mkrescue.in: Add explicit root argument to --set to
6734 prevent the UUID being interpreted as an argument to --set (matches
6735 previous change to prepare_grub_to_access_device).
6736
a63c31b6
CW
67372010-09-20 Colin Watson <cjwatson@ubuntu.com>
6738
6739 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
6740 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
6741 the verbosity of later #ifs.
6742 (find_partition_start): Define this function on FreeBSD too.
6743 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
6744 function.
6745 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
6746 on FreeBSD.
6747
6439b8ee
YB
67482010-09-20 Yves Blusseau <blusseau@zetam.org>
6749
6750 * util/grub-editenv.c: Use argp instead of getopt.
6751
c5930ec8
YB
67522010-09-20 Yves Blusseau <blusseau@zetam.org>
6753
6754 * util/grub-setup.c: Use argp instead of getopt.
6755
15c69261
YB
67562010-09-20 Yves Blusseau <blusseau@zetam.org>
6757
6758 Use gnulib-tool to create gnulib source files.
6759
6760 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
6761 grub-core/gnulib directories
6762 * .bzignore: Add **/.deps and autogenerated gnulib files
6763 * configure.ac: Assign auxiliary directory to build-aux, add invocation
6764 of gnulib macros, add grub-core/gnulib/Makefile
6765 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
6766 include m4 directory to aclocal.
6767 * Makefile.util.def: Remove direct compilation of gnulib source files
6768 and use the new grub-core/gnulib/libgnu.a.
6769 * build-aux/config.rpath: move config.rpath from top directory to
6770 build-aux
6771 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
6772 in gnulib headers
6773 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
6774 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
6775 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
6776 header.
6777 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
6778 string.
6779
e511c9f5
YB
67802010-09-20 Yves Blusseau <blusseau@zetam.org>
6781
6782 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
6783 grub-core/genmod.sh and grub-core/gensyminfo.sh
6784
c2dede05
BC
67852010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
6786
6787 Add a test for echo command options.
6788
6789 * tests/grub_cmd_echo.in: New test.
6790 * Makefile.util.def: Rules for new test.
6791
c55f5018
SJ
67922010-09-20 Szymon Janc <szymon@janc.net.pl>
6793
6794 Remove crc.mod and move crc command to hashsum.mod.
6795 Remove lib/crc.c - users updated to use gcrypt implementation.
6796
6797 * grub-core/commands/crc.c: Removed.
6798 * grub-core/Makefile.core.def (crc): Module removed.
6799 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
6800 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
6801 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
6802 * grub-core/lib/crc.c: Removed.
6803 * include/grub/lib/crc.h: Removed.
6804 * Makefile.util.def (crc): Remove lib/crc.c
6805 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
6806 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
6807 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
6808 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
6809 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
6810 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
6811
e0337366
VS
68122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
6815
742f9232
VS
68162010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 Split config.h for util and core.
6819
6820 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
6821 (ADDR32): Likewise.
6822 (DATA32): Likewise.
6823 (BSS_START_SYMBOL): Likewise.
6824 (END_SYMBOL): Likewise.
6825 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
6826 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
6827 * config.h.in: New file.
6828 * configure.ac: Use config-util.h as config define file.
6829 Rename MACHINE into GRUB_MACHINE. All users updated.
6830 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
6831 updated.
6832 (NESTED_FUNC_ATTR): Likewise.
6833 Substitue new variables.
6834 (COND_HAVE_ASM_USCORE): New conditional.
6835 * grub-core/Makefile.am (ASM_PREFIX): New variable.
6836 (kernel_syms.lst): Use ASM_PREFIX.
6837 * grub-core/kern/emu/console.c: Include config-util.h.
6838 * grub-core/kern/emu/misc.c: Likewise.
6839 * grub-core/kern/emu/mm.c: Likewise.
6840 * include/grub/emu/misc.h: Likewise.
6841 * include/grub/libgcc.h: Likewise.
6842
39feb0e8
VS
68432010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
6846 constants usage.
6847 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
6848 Fix GRUB_TERM_KEY_* constants usage.
6849 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
6850
9af6dac3
VS
68512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
6854 print pointer.
6855 * grub-core/bus/usb/uhci.c: Remove empty define.
6856 (grub_uhci_check_transfer): Add missing cast.
6857 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
6858 print pointer.
6859 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
6860 PRIuGRUB_SIZE.
6861 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
6862
d6d94820
VS
68632010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/Makefile.core.def (legacycfg): Add
6866 lib/i386/pc/vesa_modes_table.c on emu.
6867
3572f2b6
BC
68682010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6869
6870 Reduce number of temporary files generated by build system.
6871
6872 * grub-core/gencmdlist.sh: Removed.
6873 * grub-core/genfslist.sh: Removed.
6874 * grub-core/genhandlerlist.sh: Removed.
6875 * grub-core/genmodsrc.sh: Removed.
6876 * grub-core/genpartmaplist.sh: Removed.
6877 * grub-core/genparttoollist.sh: Removed.
6878 * grub-core/gentermiinallist.sh: Removed.
6879 * grub-core/genvideolist.sh: Removed.
6880
6881 * grub-core/genmod.sh.in: New file.
6882 * grub-core/gensyminfo.sh.in: New file.
6883
6884 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
6885 * conf/Makefile.extra-dist: Update with new files.
6886 * gentpl.py: Remove rules related to unnecessary temporary files.
6887 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
6888 and und-* files.
6889 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
6890 genmod.sh scripts.
6891 * grub-core/bus/usb/uhci.c: Remove empty #define.
6892 * grub-core/genmoddep.awk: Updated with new syminfo format.
6893 * util/bash-completion.d/Makefile.am: Add config.log to
6894 CLEANFILES.
6895
c836b030
YB
68962010-09-19 Yves Blusseau <blusseau@zetam.org>
6897
6898 * Makefile.util.def: Add forgotten $(LIBINTL) library.
6899
2f4e8053
BC
69002010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6901
6902 * util/grub-mkconfig.in: Check the config script for syntax errors
6903 before saving.
6904
75831c34
CW
69052010-09-19 Colin Watson <cjwatson@ubuntu.com>
69062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * Makefile.util.def (grub-install): Use util/grub-install.in on all
6909 platforms.
6910 * util/grub-install.in: Add EFI and IEEE1275 support.
6911 * util/i386/efi/grub-install.in: Removed.
6912 * util/ieee1275/grub-install.in: Likewise.
6913
eaf41b25
VS
69142010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
6917 (grub_cmd_cmosclean): Likewise.
6918 (GRUB_MOD_INIT): Register command cmosclean.
6919 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
6920 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
6921
1a9130dd
CPE
69222010-09-18 Carles Pina i Estany <carles@pina.cat>
69232010-09-18 Aleš Nesrsta <starous@volny.cz>
69242010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 Add keyboard layouts support.
6927
6928 * Makefile.util.def (grub-mklayout): New file.
6929 (grub-kbdcomp): New script.
6930 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
6931 Add keyboard_layouts.h.
6932 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
6933 commands/boot.c on yeeloong.
6934 (keylayouts): New module.
6935 * grub-core/bus/usb/ohci.c
6936 * grub-core/bus/usb/uhci.c
6937 * grub-core/bus/usb/usbhub.c (rescan): New variable.
6938 (grub_usb_add_hub): Poll interrupt pipe for device handling.
6939 (attach_root_port): Likewise.
6940 (poll_nonroot_hub): Likewise.
6941 (grub_usb_poll_devices): Likewise.
6942 (detach_device): Close transfer.
6943 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
6944 function.
6945 (grub_usb_bulk_setup_readwrite): Likewise.
6946 (grub_usb_bulk_finish_readwrite): Likewise.
6947 * grub-core/commands/keylayouts.c: New file.
6948 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6949 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6950 aliases.
6951 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6952 support scancode 2.
6953 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6954 * include/grub/keyboard_layouts.h: New file.
6955 * util/grub-mklayout.c: New file.
6956 * util/grub-kbdcomp.in: Likewise.
6957
a1d84a5e
VS
69582010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 Unify memory types.
6961
6962 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6963 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6964 types.
6965 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6966 (grub_upper_mem): Likewise.
6967 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6968 * include/grub/memory.h (grub_memory_type_t): New enum.
6969 All users updated.
6970
9696382e
VS
69712010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/Makefile.core.def (lsapm): New module.
6974 * grub-core/commands/i386/pc/lsapm.c: New file.
6975 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6976 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6977 Likewise.
6978 * include/grub/i386/pc/apm.h: New file.
6979 * include/multiboot.h (multiboot_apm_info): New struct.
6980
69812010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 GRUB-legacy configuration file support.
6984
6985 * Makefile.util.def (grub-menulst2cfg): New util.
6986 * docs/man/grub-menulst2cfg.h2m: New file.
6987 * grub-core/Makefile.core.def (legacycfg): New module.
6988 * grub-core/commands/legacycfg.c: New file.
6989 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6990 (grub_normal_add_menu_entry): ... this.
6991 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6992 (grub_normal_set_password): ...this.
6993 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6994 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
6995 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
6996 * grub-core/lib/legacy_parse.c: New file.
6997 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
6998 * include/grub/i386/pc/vesa_modes_table.h: New file.
6999 * include/grub/legacy_parse.h: Likewise.
7000 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7001 * util/grub-menulst2cfg.c: New file.
7002
bf8d1338
CW
70032010-09-17 Colin Watson <cjwatson@ubuntu.com>
7004
7005 * grub-core/kern/emu/hostdisk.c
7006 (convert_system_partition_to_system_disk): Initialise node.
7007
9c0bad2e
CW
70082010-09-17 Colin Watson <cjwatson@ubuntu.com>
7009
7010 * grub-core/kern/emu/hostdisk.c
7011 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7012 leak.
7013 Reported and based on patch by: Modestas Vainius.
7014
a939d135
CW
70152010-09-17 Colin Watson <cjwatson@ubuntu.com>
7016
7017 Fix DM-RAID probing with recent versions of device-mapper udev
7018 rules.
7019
7020 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7021 canonicalise device paths under /dev/mapper/.
7022 (convert_system_partition_to_system_disk): Compare the
7023 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7024 path, since device nodes under /dev/mapper/ are often symlinks.
7025
0f7ee3c9
YB
70262010-09-17 Yves Blusseau <blusseau@zetam.org>
7027
7028 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7029
10854d0d
YB
70302010-09-16 Yves Blusseau <blusseau@zetam.org>
7031
7032 * configure.ac: Avoid some annoying error messages if freetype-config
7033 program is not found.
7034
108538d8
CW
70352010-09-16 Colin Watson <cjwatson@ubuntu.com>
7036
7037 Support RAID on virtio devices, and others.
7038
7039 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7040 Rename to ...
7041 [__MINGW32__] (grub_find_device): ... this.
7042 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7043 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7044 reasonable default if dir is NULL.
7045 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7046 ...
7047 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7048 (grub_guess_root_device): Update callers.
7049 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7050
7051 * util/raid.c (grub_util_getdiskname): Remove.
7052 (grub_util_raid_getmembers): Use grub_find_device rather than
7053 grub_util_getdiskname.
7054
e5bfc130
CW
70552010-09-16 Colin Watson <cjwatson@ubuntu.com>
7056
7057 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7058 needing to be compiled with serial support.
7059 (ls): Indicate that multiple files are accepted.
7060 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7061 indicate that multiple files are accepted.
7062
be458ae2
CW
70632010-09-16 Colin Watson <cjwatson@ubuntu.com>
7064
7065 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7066 libgrub_a_init.c, and util/bash-completion.d/grub.
7067
cb731b5e
VS
70682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * util/grub-setup.c (setup): Fix incorrect container semantics.
7071
35139e8a
VS
70722010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7073
7074 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7075 misusage.
7076 Reported by: J. Nick Terry
7077
e50fca4a
VS
70782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 Move embedding routines to partmap sources files.
7081
7082 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7083 [GRUB_UTIL]: New variable.
7084 (gpt_partition_map_iterate): Set part.parent.
7085 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7086 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7087 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7088 New function.
7089 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7090 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7091 (grub_partition_map) [GRUB_UTIL]: New field embed.
7092 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7093 (setup): Use ->embed.
7094
f00478b7
VS
70952010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7098 function.
7099 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7100 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7101
2b94e3ff
YB
71022010-09-15 Yves Blusseau <blusseau@zetam.org>
7103
7104 Add function to get completions from usage.
7105
7106 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7107 completions from usage. Use LC_ALL=C to get options properly.
7108
2e04a006
VS
71092010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/gnulib/basename-lgpl.c: Imported.
7112 * grub-core/gnulib/basename.c: Likewise.
7113 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7114 * grub-core/gnulib/dirname.c: Likewise.
7115 * grub-core/gnulib/dirname.h: Likewise.
7116 * grub-core/gnulib/stripslash.c: Likewise.
7117
5dcdf93a
VS
71182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/gnulib/error.c: Resynced.
7121 * grub-core/gnulib/getopt.c: Likewise.
7122 * grub-core/gnulib/getopt_int.h: Likewise.
7123 * grub-core/gnulib/regex.h: Likewise.
7124 * grub-core/gnulib/regex_internal.c: Likewise.
7125 * grub-core/gnulib/regex_internal.h: Likewise.
7126
014f47b7
SJ
71272010-09-15 Szymon Janc <szymon@janc.net.pl>
7128
7129 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7130 CRC calculations and validity checks.
7131 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7132 calculations.
7133
dd521a4a
SJ
71342010-09-15 Szymon Janc <szymon@janc.net.pl>
7135
7136 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7137
79c4eeb9
VS
71382010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 Fix incorrect echo options handling.
7141 Reported by: Yves Blusseau.
7142
7143 * include/grub/command.h (grub_command_flags_t): New flags
7144 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7145 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7146 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7147
ed80f7d5
VS
71482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7151 users updated.
7152 (GRUB_COMMAND_FLAG_MENU): Likewise.
7153 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7154 (GRUB_COMMAND_FLAG_TITLE): Removed.
7155 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7156 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7157 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7158 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7159 (grub_command_flags_t): New enum. All users updated.
7160
5fe7620a
SG
71612010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7162
7163 Fix solaris compilation.
7164
7165 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7166 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7167 (grub-emu-list): Likewise.
7168
545b752f
VS
71692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Remove deprecated root command.
7172
7173 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7174 updated.
7175
6c1a338c
VS
71762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * util/i386/pc/grub-setup.c: Merge this ...
7179 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7180 * util/grub-setup.c: ... into this.
7181 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7182 New struct.
7183
71842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7187 possible.
7188
d2ea4551
VS
71892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7192 allocate p.
7193
3c3b5040
VS
71942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7197 explicit root argument to set to prevent UUID to be interpreted as
7198 argument to set.
7199
b71c3fae
VS
72002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7203
275433e6
VS
72042010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 Don't export grub_gate_a20.
7207
7208 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7209 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7210 to ...
7211 (grub_gate_a20): ... this. All users updated.
7212 * include/grub/i386/pc/init.h: Removed. All users updated.
7213
a5dbb1f1
VS
72142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 Create euro.pf2 which supports most European languages.
7217
7218 * Makefile.am (grubdata_DATA): Add euro.pf2.
7219 (euro.pf2): New target.
7220 (CLEANFILES): Add euro.pf2.
7221
62a747cb
VS
72222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * configure.ac: Disable emu-usb by default to prevent inadvertent
7225 device takeover.
7226
608e43b1
VS
72272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7228
7229 Disable usbserial on grub-emu since our libusb code isn't good enough
7230 yet.
7231
7232 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7233 (usbserial_pl2303): Likewise.
7234 (usbserial_ftdi): Likewise.
7235
94564f81
VS
72362010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * include/grub/disk.h (grub_disk): Remove has_partitions.
7239 All users updated.
7240 * disk/loopback.c (grub_loopback): Remove has_partitions.
7241 All users updated.
7242 (options): Remove partitions. All users updated.
7243 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7244 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7245 actual partition table is found.
7246
3352800b
VS
72472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7248
7249 Remove readability checks (too many false negatives).
7250
7251 * util/grub-install.in: Remove readability checks.
7252 * util/grub-mkconfig.in: Likewise.
7253 * util/grub.d/10_hurd.in: Likewise.
7254 * util/grub.d/10_kfreebsd.in: Likewise.
7255 * util/grub.d/10_linux.in: Likewise.
7256 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7257 way.
7258
2419f17a
VS
72592010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 Enable acpi shutdown on all ACPI platforms.
7262
7263 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7264 on coreboo, multiboot and EFI.
7265 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7266 (grub_acpi_halt): Likewise.
7267 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7268 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7269 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7270 * grub-core/lib/i386/halt.c (grub_halt)
7271 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7272
0575c7c3
VS
72732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7276 context.
7277
54ac3cd1
VS
72782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7281 * grub-core/video/efi_uga.c: Likewise.
7282
b2a30ac5
VS
72832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 Filter devaliases and never open same device twice.
7286
7287 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7288 (last_ihandle): Likewise.
7289 (ofdisk_hash_ent): New member shortest.
7290 (ofdisk_hash_add): Add canonical path too.
7291 (scan): New function.
7292 (grub_ofdisk_iterate): Iterate over hashed entries.
7293 (compute_dev_path): Don't add :0.
7294 (grub_ofdisk_open): Don't really open the disk.
7295 (grub_ofdisk_close): Avoid closing unrelated disk.
7296 (grub_ofdisk_read): Implement reopen logic.
7297 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7298 New function.
7299 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7300 New proto.
7301
fb53b340
VS
73022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7303
7304 Fix sparc64.
7305
7306 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7307 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7308 right address. Add sparc64_ieee1275_ldflags.
7309 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7310 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7311 to grub_host_to_target_addr
7312 (load_image): Likewise.
7313
f452b040
VS
73142010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7315
7316 * grub-core/normal/completion.c (complete_file): Handle device
7317 containing slash.
7318 Fix based on patch by Doug Nazar.
7319
9b5b2541
VS
73202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 grub-mknetdir script.
7323
7324 * Makefile.util.def (grub-mknetdir): New module.
7325 * tests/util/grub-shell.in: Support boot=net
7326 * util/grub-mknetdir.in: New file.
7327
9d2be652
VS
73282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 videoinfo on non-vbe.
7331
7332 * grub-core/Makefile.core.def (vbeinfo): Removed.
7333 (vbetest): Removed.
7334 (videoinfo): New module.
7335 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7336 * grub-core/commands/i386/pc/vbetest.c: Removed.
7337 * grub-core/commands/videoinfo.c: New file.
7338 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7339 specification.
7340 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7341 as vbetest.
7342 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7343 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7344 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7345 mode_number. New parameter mode. All users updated.
7346 (grub_video_gop_iterate): New function.
7347 (grub_video_efi_gop): New member iterate.
7348 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7349 (grub_vbe_set_video_mode): Remove setting useless fields.
7350 (vbe2videoinfo): New function.
7351 (grub_video_vbe_iterate): Likewise.
7352 (grub_video_vbe_setup): Use vbe2videoinfo.
7353 (grub_video_vbe_print_adapter_specific_info): New function.
7354 (grub_video_vbe_adapter): New fields iterate and
7355 print_adapter_specific_info.
7356 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7357 All users updated.
7358 (grub_video_mode_info): New field mode_number.
7359 (grub_video_adapter): New fields iterate and
7360 print_adapter_specific_info.
7361
179503f5
TG
73622010-09-13 Tristan Gingold <gingold@free.fr>
73632010-09-13 Robert Millan <rmh.grub@aybabtu.com>
73642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7365
7366 * grub-core/commands/efi/lsefisystab.c: New file.
7367 * grub-core/commands/efi/lssal.c: Likewise.
7368 * grub-core/Makefile.core.def (lsacpi): New module.
7369 (lsefisystab): Likewise.
7370 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7371 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7372 (grub_efi_sal_system_table): New struct.
7373 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7374 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7375 (grub_efi_sal_system_table_platform_features): Likewise.
7376 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7377 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7378 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7379 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7380
cf9827de
VS
73812010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 Support explicit user claim that a device is BIOS-visible.
7384
7385 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7386 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7387 * grub-core/kern/emu/hostdisk.c
7388 (convert_system_partition_to_system_disk): Support mdX.
7389 (find_system_device): New parameter add. All users updated.
7390 (grub_util_biosdisk_is_present): New function.
7391 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7392 proto.
7393
53f0eb1f
VS
73942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Search hints support.
7397
7398 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7399 All users updated.
7400
b23ffd70
YB
74012010-09-13 Yves Blusseau <blusseau@zetam.org>
7402
7403 Bash completion script for util commands
7404
7405 * Makefile.am: Add util/bash-completion.d directory
7406 * configure.ac: Likewise.
7407 * util/bash-completion.d/Makefile.am: New file.
7408 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7409
d547dc28
VS
74102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7411
7412 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7413 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7414 Reported by: Yves Blusseau.
7415
2fc8ccb9
VS
74162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7419 partition size and offset.
7420
d8a84076
VS
74212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7424
84fb3b3d
VS
74252010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7428
768ec2e2
VS
74292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7432 (grub_xvasprintf): Likewise.
7433
4870900f
VS
74342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7437
faca6bec
VS
74382010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7441 args ending with NULL.
7442
74432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7444
7445 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7446 pointer.
7447
3c70f225
SJ
74482010-09-11 Szymon Janc <szymon@janc.net.pl>
7449
7450 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7451
4df7996d
VS
74522010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 Shutdown using ACPI.
7455
7456 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7457 * grub-core/commands/acpihalt.c: New file.
7458 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7459 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7460 (grub_acpi_halt): New proto.
7461 (GRUB_ACPI_SLP_EN): New const.
7462 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7463 (GRUB_ACPI_OPCODE_*): New enum.
7464 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7465
126b4c32
TG
74662010-09-11 Tristan Gingold <gingold@free.fr>
74672010-09-11 Robert Millan <rmh.grub@aybabtu.com>
74682010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * commands/lsacpi.c: New file.
7471 * grub-core/Makefile.core.def (lsacpi): New module.
7472 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7473 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7474 (grub_acpi_madt_entry_header): New struct.
7475 (grub_acpi_madt): Likewise.
7476 (grub_acpi_madt_entry_interrupt_override): Likewise.
7477 (grub_acpi_madt_entry_sapic): Likewise.
7478 (grub_acpi_madt_entry_lsapic): Likewise.
7479 (grub_acpi_madt_entry_platform_int_source): Likewise.
7480 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7481 (PRIuGRUB_UINT32_T): Likewise.
7482 (PRIxGRUB_UINT64_T): Likewise.
7483
1aa4fe88
VS
74842010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 Implement loading palette on ieee1275_fb.
7487
7488 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7489 (have_setcolors): Likewise.
7490 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7491 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7492 (grub_video_ieee1275_set_palette): Implement.
7493
25761e13
VS
74942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
74952010-09-11 Colin Watson <cjwatson@ubuntu.com>
7496
7497 * util/grub-install.in (grub_partition): New variable.
7498 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7499 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7500 Fixes a bug reported by Yves Blusseau.
7501
050abaea
VS
75022010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7503
7504 Fix emu on mipsel.
7505
7506 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7507 =grub_cpu_flush_cache on all mips and not only yeeloong.
7508 * configure.ac (COND_mips): New conditional.
7509 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7510 platforms.
7511 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7512 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7513 [GRUB_LINKER_HAVE_INIT]: New function.
7514 (grub_emu_post_init): Likewise.
7515 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7516 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7517 * include/grub/cache.h (_mips): Include mips/cache.h.
7518 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7519 LVM and RAID prototypes.
7520 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7521 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7522 function.
7523
5ed7d816
CW
75242010-09-10 Colin Watson <cjwatson@ubuntu.com>
7525
7526 * util/grub-install.in: Don't try to verify core.img until after
7527 running grub-mkimage to create it.
7528
90367e04
RM
75292010-09-10 Robert Millan <rmh@gnu.org>
7530
7531 * util/grub.d/10_hurd.in: Add misc readability checks.
7532 * util/grub.d/10_kfreebsd.in: Likewise.
7533 * util/grub.d/10_linux.in: Likewise.
7534
c452fa66
CW
75352010-09-10 Colin Watson <cjwatson@ubuntu.com>
7536
7537 * util/grub-install.in: ${imgext} won't be defined here until the
7538 install branch is merged. For the meantime, only verify core.img on
7539 i386-pc and sparc64-ieee1275 platforms.
7540
c38fe9f4
RM
75412010-09-10 Robert Millan <rmh@gnu.org>
7542
7543 Solaris support in grub_find_zpool_from_dir(). Thanks
7544 Seth Goldberg for referring to getextmntent() facility.
7545
7546 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7547 `sys/mkdev.h'.
7548 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7549 `<sys/mnttab.h>'.
7550 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7551 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7552 method for finding zpool name.
7553
905f7773
CW
75542010-09-10 Colin Watson <cjwatson@ubuntu.com>
7555
7556 grub-fstest needs the host and hostfs modules while other utilities
7557 actively require those modules to be absent, so grub-fstest needs
7558 its own initialisation and finalisation code.
7559
7560 * Makefile.am (grub_fstest.pp): New target.
7561 (grub_fstest_init.lst): Likewise.
7562 (grub_fstest_init.c): Likewise.
7563 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7564
fb90b546
RM
75652010-09-10 Robert Millan <rmh@gnu.org>
7566
7567 * configure.ac: Check for `struct statfs.f_fstypename' and
7568 `struct statfs.f_mntfromname'.
7569
7570 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7571 kFreeBSD-specific code.
7572
66d4bea5
RM
75732010-09-10 Robert Millan <rmh@gnu.org>
7574
7575 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7576 on ZFS. Now non-main filesystems are supported as / too.
7577
b6a690ee
CW
75782010-09-09 Colin Watson <cjwatson@ubuntu.com>
7579
7580 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7581 and grub-core/disk/host.c to ...
7582 (grub-fstest): ... here. Having the host disk implementation
7583 present confuses grub-probe and other utility programs.
7584
7585 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7586 when writing to a file, not when writing to stdout.
7587
8901b00c 75882010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7589
7590 * tests/partmap_test.in: New test for partitions.
7591 * Makefile.util.def: Rules for new test.
7592
7bf45fdd
RM
75932010-09-09 Robert Millan <rmh@gnu.org>
7594
7595 * util/grub-probe.c (probe): Fix a pair of unhandled error
7596 conditions.
7597
4dfbc574
RM
75982010-09-09 Robert Millan <rmh@gnu.org>
7599
7600 Basic Btrfs support (detection and UUID).
7601
7602 * grub-core/fs/btrfs.c: New file.
7603 * Makefile.util.def (library): Register btrfs.c.
7604 * grub-core/Makefile.core.def: Likewise.
7605
6b8e78ae
RM
76062010-09-08 Robert Millan <rmh@gnu.org>
7607
7608 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7609 with (optional) parameters to specify device and relative path.
7610 * util/grub-install.in: Use is_path_readable_by_grub() to
7611 verify readability of a few critical files.
7612 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7613 verify readability of grub.cfg.new.
7614
27f21a8b
VS
76152010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 Split minix.mod into minix.mod and minix2.mod.
7618
7619 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7620 * grub-core/Makefile.core.def (minix2): New module.
7621 * grub-core/fs/minix.c: Use definitions instead of runtime version
7622 checking.
7623 * grub-core/fs/minix2.c: New file.
7624
c0e53ea5
YB
76252010-09-08 Yves Blusseau <blusseau@zetam.org>
7626
7627 Add new --boot-directory option to replace --root-directory
7628
7629 * util/grub-install.in: Add new --boot-directory option
7630 * util/grub-reboot.in: Likewise.
7631 * util/grub-set-default.in: Likewise.
7632
b9fe6ea2
YB
76332010-09-08 Yves Blusseau <blusseau@zetam.org>
7634
7635 * util/grub-mkconfig.in: Use new variable.
7636
d87aedff
YB
76372010-09-08 Yves Blusseau <blusseau@zetam.org>
7638
7639 * configure.ac: Define some useful variables.
7640
e55e8495
VS
76412010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7644 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7645 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7646 Use terminfo and don't use cursor-on/cursor-off unless it's known
7647 to work.
7648 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7649 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7650
6fa6d675
CW
76512010-09-08 Colin Watson <cjwatson@ubuntu.com>
7652
7653 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7654 starts with "(,", fill the drive containing the loaded image in
7655 between those two characters, but expect that a full partition
7656 specification including partition map names will follow.
7657
92f2aef0
RM
76582010-09-08 Robert Millan <rmh@gnu.org>
7659
7660 * configure.ac: Remove `--enable-grub-fstest' option.
7661 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7662
7663 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7664 `grub-fstest' instead of `grub-probe' for readability verification.
7665 * util/grub-probe.c (probe): Remove readability verification kludge.
7666
99fd620d
RM
76672010-09-08 Robert Millan <rmh@gnu.org>
7668
7669 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7670 initializing `GRUB_FS'.
7671
058e30ac 76722010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7673
7674 Not command (!) support to GRUB script.
7675
7676 * tests/grub_script_not.in: New test.
7677 * Makefile.util.def: Rules for new test.
7678
7679 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7680 ! command as a special case.
7681 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7682
b61d05ed 76832010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7684
058e30ac 7685 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7686 grub_free.
b61d05ed 7687
4d69c786 76882010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7689
7690 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7691
aa3119c4 76922010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7693
7694 * docs/grub.texi (Shell-like scripting): Documentation for break,
7695 continue, shift and return commands.
7696
db0f7e3d
VS
76972010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 Rename CD-ROM to cd on BIOS.
7700
7701 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
7702 "cd".
7703 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
7704
88b87c93
VS
77052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
7708 * util/grub-probe.c (main): Likewise.
7709 * util/i386/pc/grub-setup.c (main): Likewise.
7710 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7711 Reported and debugged by: alexxy
7712
294f324d
VS
77132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7714
7715 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
7716 diagnostic info.
7717
d7ee3441
JS
77182010-09-05 Jo Shields <directhex@apebox.org>
7719
7720 * util/grub.d/30_os-prober.in: Add missing classes.
7721
d7e06c1f
VS
77222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7723
7724 * docs/grub.texi (Theme file format): Document new position format.
7725
fc157e53
VS
77262010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7727
7728 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
7729 a table. Use @code instead of @verbatim.
7730
506e9a1c
CB
77312010-09-05 Colin D Bennett <colin@gibibit.com>
7732
7733 Gfxmenu documentation.
7734
7735 * docs/grub.texi (Theme file format): New chapter.
7736
f0aff67c
SJ
77372010-09-05 Szymon Janc <szymon@janc.net.pl>
7738
7739 * grub-core/Makefile.core.def (xzio): New module.
7740 * grub-core/io/xzio.c: New file.
7741 * grub-core/lib/xzembed/xz.h: New file (from xembed).
7742 * grub-core/lib/xzembed/xz_config.h: Likewise.
7743 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
7744 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
7745 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
7746 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
7747 * grub-core/lib/xzembed/xz_private.h: Likewise.
7748 * grub-core/lib/xzembed/xz_stream.h: Likewise.
7749 * include/grub/file.h (grub_file_filter_id): New compression filter
7750 GRUB_FILE_FILTER_XZIO.
7751
82a85062
VS
77522010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
7755 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
7756 size.
7757
3579415d
VS
77582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
7761 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
7762
5124ae6d
VS
77632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7764
7765 Uncompressed checksum support.
7766
7767 * grub-core/commands/hashsum.c (options): Add option --uncompress.
7768 (check_list): New parameter uncompress.
7769 (grub_cmd_hashsum): Handle --uncompress.
7770
9aadb3d1
VS
77712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 Reintroduce testload.
7774
7775 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
7776 from here ...
7777 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
7778 (GRUB_MOD_INIT): New function.
7779 (GRUB_MOD_FINI): Likewise.
7780 * grub-core/Makefile.core.def (testload): New module.
7781
a17792c3
SJ
77822010-09-05 Szymon Janc <szymon@janc.net.pl>
7783
7784 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
7785 (uint8_t): New type.
7786 (uint16_t): Likewise.
7787 (uint32_t): Likewise.
7788 (uint64_t): Likewise.
7789
b81e40a3
SJ
77902010-09-05 Szymon Janc <szymon@janc.net.pl>
7791
7792 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
7793
fc2ef117
VS
77942010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
7797 Made static.
7798 (grub_gzfile_open): Removed. All users updated.
7799 (GRUB_MOD_INIT): New function.
7800 (GRUB_MOD_FINI): Likewise.
7801 * grub-core/kern/file.c (grub_file_filters_all): New variable.
7802 (grub_file_filters_enabled): Likewise.
7803 (grub_file_open): Handle filters.
7804 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
7805 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
7806 * include/grub/file.h (grub_file_filter_id_t): New type.
7807 (grub_file_filter_t): Likewise.
7808 (grub_file_filters_all): New extern variable.
7809 (grub_file_filters_enabled): Likewise.
7810 (grub_file_filter_register): New inline function.
7811 (grub_file_filter_unregister): Likewise.
7812 (grub_file_filter_disable): Likewise.
7813 (grub_file_filter_disable_compression): Likewise.
7814 * include/grub/gzio.h: Removed.
7815
35ee15e0
BC
78162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7817
7818 Filename expansion support for wildcards in GRUB script.
7819
7820 * tests/grub_script_expansion.in: New test.
7821 * Makefile.util.def: Rule for new test.
7822
7823 * grub-core/commands/wildcard.c: New file, implements filename
7824 expansion support for GRUB script.
7825 * grub-core/Makefile.core.def: Rule update for regexp.mod.
7826 * grub-core/script/argv.c: Cosmetic changes.
7827 * grub-core/script/execute.c (grub_script_arglist_to_argv):
7828 Refactored to perform wildcard expansion on arguments.
7829 * include/grub/script_sh.h (grub_script_wildcard_translator): New
7830 struct.
7831
7832 * tests/util/grub-shell.in: Fix quoting for read input.
7833
5f0c4aca
BC
78342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7835
7836 Support for updating environment variables with matched substrings
7837 of regexp.
7838
7839 * tests/grub_cmd_regexp.in: New test.
7840 * Makefile.util.def: Rule for new test.
7841
7842 * grub-core/commands/regexp.c: New option -s to update environment
7843 variables with regexp matches.
7844
3759a35f
SJ
78452010-09-04 Szymon Janc <szymon@janc.net.pl>
7846
7847 * include/grub/file.h (grub_file): New member not_easly_seekable.
7848 (grub_file_seekable): New inline function.
7849 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
7850 easily seekable.
7851 (grub_gzio_open): Set not_easly_seekable.
7852 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
7853 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
7854
ed8c6dec
BC
78552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7856
7857 Support for options to appear multiple times on cmdline.
7858
7859 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
7860 * grub-core/commands/extcmd.c: Support for repeatable option.
7861 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
7862 repeatable option support.
7863
7864 Refactor menuentry into a regular command.
7865
7866 * grub-core/commands/menuentry.c: New file, menuentry command
7867 implementation.
7868 * grub-core/Makefile.core.def: Rule update for normal.mod.
7869 * grub-core/normal/main.c: Moved menuentry creation to
7870 grub-core/commands/menuentry.c.
7871 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
7872 (grub_menu_execute_entry_real): Removed.
7873 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
7874 function.
7875 (grub_script_execute_menuentry): Removed.
7876 * grub-core/script/parser.y (menuentry): Removed.
7877 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
7878 * grub-core/script/yylex.l (menuentry): Removed.
7879 * include/grub/menu.h (grub_menu_init): New prototype.
7880 (grub_menu_fini): New prototype.
7881 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
7882 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
7883 (grub_script_execute_sourcecode): New prototype.
7884
dacd0cf0
BC
78852010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7886
7887 "return" command for GRUB script functions.
7888
7889 * tests/grub_script_return.in: New test.
7890 * Makefile.util.def: Rules for new test.
7891
7892 * grub-core/script/execute.c (grub_script_return): New function.
7893 * grub-core/script/main.c: Register/unregister return commaond.
7894 * include/grub/script_sh.h (grub_script_return): New prototype.
7895
52e72f9d
BC
78962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7897
7898 "setparams" command to update positional parameters.
7899
7900 * tests/grub_script_setparams.in: New test.
7901 * Makefile.util.def: Rules for new test.
7902
7903 * grub-core/script/argv.c (grub_script_argv_make): New function.
7904 * grub-core/script/execute.c (replace_scope): New function.
7905 (grub_script_setparams): New function.
7906 * grub-core/script/lexer.c: Remove unused variables.
7907 * grub-core/script/main.c: Register/unregister setparams command.
7908 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
7909 (grub_script_setparams): New prototype.
7910
25b60c91
BC
79112010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7912
7913 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
7914 grub_free order.
7915
37e7bf68
BC
79162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7917
7918 Support for passing block of commands as an argument to extcmds.
7919
7920 * Makefile.util.def: Rules for new test.
7921 * tests/grub_script_blockarg.in: New test.
7922 * grub-core/tests/test_blockarg.c: New file, block argument
7923 command used in the test.
7924
7925 * include/grub/extcmd.h (grub_extcmd_context): New struct.
7926 (grub_register_extcmd_prio): New function prototype.
7927 (grub_extcmd_dispatcher): New function prototype.
7928 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
7929 type.
7930 * include/grub/script_sh.h (struct grub_script): New members
7931 `children', `next_siblings' and `refcnt' for block arguments and
7932 reference counting.
7933 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
7934 (grub_script_arg): New member `script' for block argument.
7935 (grub_script_argv): New member `script' for block argument.
7936 (grub_parser_param): New member `scripts' for block argument.
7937 (grub_script_mem_free): New extern function prototype.
7938 (grub_script_ref): New function prototype.
7939 (grub_script_unref): New function prototype.
7940
7941 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
7942 extcmd form to support block arguments.
7943 * grub-core/script/argv.c: Block arguments support.
7944 * grub-core/script/execute.c: Likewise.
7945 * grub-core/script/lexer.c: Likewise.
7946 * grub-core/script/main.c: Likewise.
7947 * grub-core/script/script.c: Likewise.
7948 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7949 non-terminals.
7950
7951 * grub-core/commands/acpi.c: Update extcmd implementations with
7952 grub_extcmd_context_t.
7953 * grub-core/commands/cat.c: Likewise.
7954 * grub-core/commands/echo.c: Likewise.
7955 * grub-core/commands/extcmd.c: Likewise.
7956 * grub-core/commands/hashsum.c: Likewise.
7957 * grub-core/commands/hdparm.c: Likewise.
7958 * grub-core/commands/help.c: Likewise.
7959 * grub-core/commands/hexdump.c: Likewise.
7960 * grub-core/commands/i386/cpuid.c: Likewise.
7961 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7962 * grub-core/commands/i386/pc/halt.c: Likewise.
7963 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7964 * grub-core/commands/iorw.c: Likewise.
7965 * grub-core/commands/keystatus.c: Likewise.
7966 * grub-core/commands/loadenv.c: Likewise.
7967 * grub-core/commands/ls.c: Likewise.
7968 * grub-core/commands/lspci.c: Likewise.
7969 * grub-core/commands/memrw.c: Likewise.
7970 * grub-core/commands/probe.c: Likewise.
7971 * grub-core/commands/search_wrap.c: Likewise.
7972 * grub-core/commands/setpci.c: Likewise.
7973 * grub-core/commands/sleep.c: Likewise.
7974 * grub-core/disk/loopback.c: Likewise.
7975 * grub-core/hello/hello.c: Likewise.
7976 * grub-core/loader/i386/bsd.c: Likewise.
7977 * grub-core/loader/xnu.c: Likewise.
7978 * grub-core/term/gfxterm.c: Likewise.
7979 * grub-core/term/serial.c: Likewise.
7980 * grub-core/tests/lib/functional_test.c: Likewise.
7981
888d1500
BC
79822010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7983
7984 Multi-line quoted strings support.
7985
7986 * grub-core/script/lexer.c (append_newline): Removed.
7987 (grub_script_lexer_yywrap): Refactored.
7988 (grub_script_lexer_init): Refactored.
7989 * grub-core/script/yylex.l (yywrap): New function.
7990 (grub_lexer_resplit): New function.
7991 (grub_lexer_unput): New function.
7992 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7993 and resplit.
7994 * tests/grub_script_echo1.in: Added few more testcases.
7995
dda060dd
VS
79962010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/kern/misc.c: Don't add abort alias in utils.
7999 Reported by: echoline.
8000
6556eba9
BC
80012010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8002
8003 Add missing files into "make dist" tarball for other platforms.
8004
8005 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8006 * conf/Makefile.common (dist_noinst_DATA): New variable.
8007 * conf/Makefile.extra-dist: Added missing make dist files.
8008 * grub-core/Makefile.core.def: Likewise.
8009
c8e7bf5f
VS
80102010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 Compress grub_prefix.
8013
8014 * grub-core/boot/i386/pc/lnxboot.S: Use
8015 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8016 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8017 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8018 GRUB_MACHINE_PREFIX_END. All users updated.
8019 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8020 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8021 + 0x40.
8022 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8023 * util/grub-mkimage.c (image_target_desc): Change data_end to
8024 prefix_end. All users updated.
8025
a7c00cdb
VS
80262010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8029 value.
8030 (grub_openbsd_boot): Likewise.
8031 (grub_netbsd_boot): Likewise.
8032 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8033 (grub_xnu_boot): Likewise.
8034
9f915872
VS
80352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8036
8037 * configure.ac: Clean LIBS variable after tests.
8038
efa1bee7
CW
80392010-09-02 Colin Watson <cjwatson@ubuntu.com>
8040
8041 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8042
61d720e5
VS
80432010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8046 echo if libdevmapper will be used.
8047
ef8e0ec8
IT
80482010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8049
8050 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8051 constant for the same file.
8052
03e261d8
VS
80532010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8056
c2a4eba6
CW
80572010-09-02 Colin Watson <cjwatson@ubuntu.com>
8058
8059 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8060 grub-core/*.pp.
8061
9056cbf3
CW
80622010-09-02 Colin Watson <cjwatson@ubuntu.com>
8063
8064 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8065 required by the boot protocol.
8066
8067 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8068 ebp and edi members.
8069 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8070 state.ebp and state.edi.
8071 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8072 %ebp and %edi according to grub_relocator32_ebp and
8073 grub_relocator32_edi respectively.
8074 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8075 and state.edi.
8076
529cc99a
VS
80772010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8078
8079 Add i386-pc-pxe image target.
8080
8081 * util/grub-mkimage.c (image_target_desc): New enum value
8082 IMAGE_I386_PC_PXE.
8083 (image_targets): New target i386-pc-pxe.
8084 (generate_image): Handle i386-pc-pxe image.
8085
9a093920
VS
80862010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 Fix grub_pxe_scan.
8089
8090 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8091 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8092 All users updated.
8093 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8094 (grub_pxe_pxenv): Correct type.
8095
f9cefc4e
CW
80962010-09-01 Colin Watson <cjwatson@ubuntu.com>
8097
8098 * NEWS: Document most of the important changes since 1.98.
8099
4066f57f
CW
81002010-09-01 Colin Watson <cjwatson@ubuntu.com>
8101
8102 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8103 generated manual page) a little.
8104
da2891f9
CW
81052010-09-01 Colin Watson <cjwatson@ubuntu.com>
8106
8107 * docs/grub.texi: Add myself as an author.
8108
ad717fae
VS
81092010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * Makefile.util.def (libgrub.a): Add missing sunpc.
8112 Reported by: Seth Goldberg.
8113
eefe8abd
VS
81142010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 Interrupt wrapping and code simplifications.
8117
9494ef9a
VS
8118 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8119 x86_noieee1275 which are functionaly equivalent in this case.
8120 (grub-install): Make source on each platform explicit. Enable on
8121 all noemu.
8122 * gentpl.py (x86_efi_pc): Removed group.
8123 (x86_noefi): Likewise.
8124 (i386_noefi): Likewise.
8125 (x86_noieee1275): Likewise.
8126 (i386_noieee1275): Likewise.
8127 (i386_noefi_noieee1275): Likewise.
8128 (i386_pc_qemu_coreboot): Likewise.
8129 (i386_coreboot_multiboot): Likewise.
8130 (i386_pc_coreboot_multiboot_qemu): Likewise.
8131 (x86_noefi_mips): Likewise.
8132 (noieee1275): Likewise.
8133 (ieee1275_mips): Likewise.
8134 (noemu_noieee1275): Likewise.
8135 (cmos): New group.
8136 (usb): Likewise.
8137 (videoinkernel): Likewise.
8138 (videomodules): Likewise.
eefe8abd 8139 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8140 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8141 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8142 include/grub/loader.h, include/grub/msdos_partition.h,
8143 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8144 include/grub/machine/console.h, include/grub/machine/vga.h,
8145 include/grub/machine/vbe.h, include/grub/machine/init.h,
8146 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8147 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8148 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8149 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8150 * grub-core/Makefile.core.def (kernel): Explicit the source for
8151 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8152 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8153 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8154 Use videoinkernel tag.
8155 (usb): Enable on all usb.
8156 (usbserial_common): Likewise.
8157 (usbserial_pl2303): Likewise.
8158 (usbserial_ftdi): Likewise.
8159 (uhci): Enable on all x86.
8160 (ohci): Enable on all pci.
8161 (cmostest): Enable on all CMOS.
8162 (acpi): Include commands/acpi.c on all platforms.
8163 (halt): Add relevant lib/*/halt.c.
8164 (hdparm): Enable on all pci.
8165 (lspci): Likewise.
8166 (usbtest): Enable on all usb.
8167 (ata): Enable on all pci.
8168 (ata_pthru): Likewise.
8169 (usbms): Enable on all usb.
8170 (usb_keyboard): Likewise.
8171 (font): Use tag videomodules.
8172 (bufio): Likewise.
8173 (datetime): Use tag cmos. Enable on all noemu.
8174 (mmap): Use tags common and x86.
8175 (gfxterm): Use tag videomodules.
8176 (bitmap): Likewise.
8177 (bitmap_scale): Likewise.
8178 (video_fb): Likewise.
8179 (video): Likewise.
8180 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8181 adjust padding accordingly. All users updated.
8182 (grub_ohci_transaction): Fix bad format specification.
8183 (GRUB_MOD_INIT): Add asserts for struct size.
8184 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8185 (grub_alloc_td): Likewise.
8186 (grub_free_queue): Likewise.
8187 (grub_uhci_transfer): Likewise.
8188 (grub_uhci_transaction): Fix bad format specification.
8189 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8190 (grub_usb_bulk_readwrite): Likewise.
8191 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8192 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8193 Made static.
8194 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8195 Made static.
8196 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8197 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8198 Transformed into C.
8199 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8200 Moved from here ...
8201 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8202 ... here. Transformed into C. Made static.
8203 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8204 Moved from here ...
8205 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8206 ... here. Transformed into C. Made static.
8207 * grub-core/kern/i386/pc/startup.S
8208 (grub_biosdisk_check_int13_extensions): Moved from here ...
8209 * grub-core/disk/i386/pc/biosdisk.c
8210 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8211 Made static.
8212 * grub-core/kern/i386/pc/startup.S
8213 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8214 * grub-core/disk/i386/pc/biosdisk.c
8215 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8216 Transformed into C. Made static.
8217 * grub-core/kern/i386/pc/startup.S
8218 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8219 * grub-core/disk/i386/pc/biosdisk.c
8220 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8221 Transformed into C. Made static.
8222 * grub-core/kern/i386/pc/startup.S
8223 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8224 * grub-core/disk/i386/pc/biosdisk.c
8225 (grub_biosdisk_get_diskinfo_standard): ... here.
8226 Transformed into C. Made static.
8227 * grub-core/kern/i386/pc/startup.S
8228 (grub_biosdisk_get_num_floppies): Moved from here ...
8229 * grub-core/disk/i386/pc/biosdisk.c
8230 (grub_biosdisk_get_num_floppies): ... here.
8231 Transformed into C. Made static.
8232 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8233 New function.
8234 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8235 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8236 Transformed into C. Made static.
8237 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8238 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8239 Transformed into C. Made static.
8240 * grub-core/kern/i386/ieee1275/init.c: Removed.
8241 * grub-core/kern/i386/misc.S: Likewise.
8242 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8243 Splitted from here ...
8244 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8245 Transformed into C. Made static. All users updated.
8246 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8247 Transformed into C. Made static. All users updated.
8248 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8249 Moved from here...
8250 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8251 Transformed into C. Made static. All users updated.
8252 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8253 Moved from here...
8254 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8255 Transformed into C. Made static. All users updated.
8256 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8257 Removed (replaced by C version).
8258 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8259 Moved from here...
8260 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8261 Transformed into C. Made static.
8262 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8263 Moved from here...
8264 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8265 ... here. Transformed into C.
8266 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8267 Moved from here...
8268 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8269 ... here. Transformed into C.
8270 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8271 Moved from here...
8272 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8273 ... here. Transformed into C. Made static.
8274 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8275 Moved from here...
8276 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8277 ... here. Transformed into C.
21ed554b
VS
8278 * grub-core/kern/i386/pc/startup.S
8279 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8280 * grub-core/video/i386/pc/vbe.c
8281 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8282 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8283 Moved from here...
8284 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8285 ... here. Transformed into C.
8286 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8287 Moved from here...
8288 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8289 ... here. Transformed into C.
8290 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8291 Moved from here...
8292 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8293 ... here. Transformed into C.
8294 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8295 Moved from here...
8296 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8297 ... here. Transformed into C.
8298 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8299 Moved from here...
8300 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8301 ... here. Transformed into C. Made static.
8302 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8303 Moved from here...
8304 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8305 ... here. Transformed into C. Made static.
8306 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8307 Moved from here...
8308 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8309 ... here. Transformed into C. Made static.
8310 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8311 pxe_rm_entry as third argument.
8312 (grub_bios_interrupt): New function.
8313 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8314 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8315 of calling grub_stop.
8316 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8317 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8318 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8319 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8320 * grub-core/lib/i386/halt.c: Moved from here ...
8321 * grub-core/lib/i386/halt.c: ... here.
8322 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8323 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8324 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8325 grub_stop_floppy.
8326 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8327 * include/grub/i386/coreboot/init.h: Removed.
8328 * include/grub/i386/multiboot/init.h: Likewise.
8329 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8330 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8331 * include/grub/i386/pc/int.h: New file.
8332 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8333 (grub_pxe_scan): Removed.
8334 (grub_pxe_call): Update prototype.
8335 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8336 prototypes.
8337 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8338 * include/grub/i386/qemu/init.h: Removed.
8339 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8340 noreturn.
8341 (grub_halt): Likewise.
8342 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8343 (grub_reboot): Likewise.
8344 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8345 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8346 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8347
215dd471
RM
83482010-08-30 Robert Millan <rmh@gnu.org>
8349
8350 * NEWS: Document addition of ZFS support in `grub-install' and
8351 `grub-mkconfig'.
8352
ebd65b82
BC
83532010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8354
8355 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8356 dprintf output.
8357
11721d19
VS
83582010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8359
8360 Remove leftover embedding of font objects.
8361
8362 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8363 * util/grub-install.in (font): Removed.
8364 * util/grub-mkimage.c (generate_image): Remove font support. All users
8365 updated.
8366
37837d4e
VS
83672010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8368
8369 Remove leftover embedding of font objects.
8370
8371 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8372 * util/grub-install.in (font): Removed.
8373 * util/grub-mkimage.c (generate_image): Remove font support. All users
8374 updated.
8375
b4c1aae0
VS
83762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8379 Reported by: Ian Turner
b4c1aae0 8380
8920a08d
VS
83812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8384 timeout to avoid indefinite boot stalling.
8385
f21db033
VS
83862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8389 (grub_env_write_color_highlight): Likewise.
8390
9a9de209
VS
83912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8392
8393 * grub-core/normal/term.c (print_more): Return to normal and not
8394 to standard state after printing "---MORE---".
8395
3dca01d7
VS
83962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8399 Mask out the bit 0x80 since it has other meaning that specifiing color.
8400
0b986c40
VS
84012010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 New relocator. Allows for more kernel support and more straightforward
8404 loader writing.
8405
8406 * Makefile.am (BOOTTARGET): New variable.
8407 (QEMU32): Likewise.
8408 (linux.init.x86_64): New target.
8409 (linux.init.i386): Likewise.
8410 (multiboot.elf): Likewise.
8411 (kfreebsd.elf): Likewise.
8412 (kfreebsd.aout): Likewise.
8413 (pc-chainloader.elf): Likewise.
8414 (pc-chainloader.bin): Likewise.
8415 (ntldr.elf): Likewise.
8416 (ntldr.bin): Likewise.
8417 (multiboot2.elf): Likewise.
8418 (kfreebsd.init.x86_64): Likewise.
8419 (kfreebsd.init.i386): Likewise.
8420 (knetbsd.init.i386): Likewise.
8421 (kopenbsd.init.i386): Likewise.
8422 (knetbsd.init.x86_64): Likewise.
8423 (kopenbsd.init.x86_64): Likewise.
8424 (linux-initramfs.i386): Likewise.
8425 (linux-initramfs.x86_64): Likewise.
8426 (kfreebsd-mfsroot.i386.img): Likewise.
8427 (knetbsd.image.i386): Likewise.
8428 (kopenbsd.image.i386): Likewise.
8429 (kopenbsd.image.x86_64): Likewise.
8430 (knetbsd.miniroot-image.i386.img): Likewise.
8431 (kfreebsd-mfsroot.x86_64.img): Likewise.
8432 (knetbsd.image.x86_64): Likewise.
8433 (knetbsd.miniroot-image.x86_64.img): Likewise.
8434 (kfreebsd-mfsroot.i386.gz): Likewise.
8435 (bootcheck-kfreebsd-i386): Likewise.
8436 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8437 (bootcheck-kfreebsd-x86_64): Likewise.
8438 (knetbsd.miniroot-image.i386.gz): Likewise.
8439 (bootcheck-knetbsd-i386): Likewise.
8440 (bootcheck-kopenbsd-i386): Likewise.
8441 (bootcheck-kopenbsd-x86_64): Likewise.
8442 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8443 (bootcheck-knetbsd-x86_64): Likewise.
8444 (bootcheck-linux-i386): Likewise.
8445 (bootcheck-linux-x86_64): Likewise.
8446 (bootcheck-linux16-i386): Likewise.
8447 (bootcheck-linux16-x86_64): Likewise.
8448 (bootcheck-multiboot): Likewise.
8449 (bootcheck-multiboot2): Likewise.
8450 (bootcheck-kfreebsd-aout): Likewise.
8451 (bootcheck-pc-chainloader): Likewise.
8452 (bootcheck-ntldr): Likewise.
8453 (CLEANFILES): Add new targets.
8454 (BOOTCHECKS): New variable.
8455 (.PHONY): Add bootchecks.
8456 (SUCCESSFUL_BOOT_STRING): New variable.
8457 (BOOTCHECK_TIMEOUT): Likewise.
8458 (bootcheck): New target
8459 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8460 * configure.ac: Correct efiemu excuse.
8461 * docs/grub.texi (Supported kernels): New chapter.
8462 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8463 include/grub/mm_private.h. Simplify inclusion of
8464 include/grub/boot.h, include/grub/loader.h
8465 and include/grub/msdos_partition.h
8466 (KERNEL_HEADER_FILES) [i386_coreboot]:
8467 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8468 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8469 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8470 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8471 include/grub/machine/loader.h.
8472 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8473 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8474 extra_dist.
8475 (pci.mod): Enable on i386-multiboot.
8476 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8477 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8478 i386-qemu.
8479 (relocator.mod): Rewritten.
8480 (aout.mod): Enable on all x86.
8481 (bsd.mod): Likewise.
8482 (ntldr.mod): New module.
8483 (linux.mod): Use loader/i386/linux.c on all x86.
8484 (xnu.mod): Enable on all x86.
8485 (vga_text.mod): disable on EFI and QEMU.
8486 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8487 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8488 * grub-core/efiemu/loadcore.c: Likewise.
8489 * grub-core/efiemu/main.c: Likewise.
8490 (grub_efiemu_exit_boot_services): Removed.
8491 (grub_efiemu_finish_boot_services): Likewise.
8492 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8493 function.
8494 * grub-core/efiemu/i386/nocfgtables.c: New file.
8495 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8496 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8497 (grub_efi_finish_boot_services): Moved from here ...
8498 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8499 Fille finish memory map and related data.
8500 (finish_mmap_buf): New variable.
8501 (grub_efi_uintn_t finish_mmap_size): Likewise.
8502 (grub_efi_uintn_t finish_key): Likewise.
8503 (grub_efi_uintn_t finish_desc_size): Likewise.
8504 (grub_efi_uint32_t finish_desc_version): Likewise.
8505 (grub_efi_is_finished): Likewise.
8506 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8507 finished.
8508 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8509 (grub_elf64_phdr_iterate): Likewise.
8510 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8511 (grub_os_area_size): Likewise.
8512 (grub_machine_init): Don't reserve os area.
8513 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8514 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8515 * grub-core/kern/i386/loader.S: Removed.
8516 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8517 (grub_os_area_size): Likewise.
8518 (grub_machine_init): Don't reserve os area.
8519 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8520 Don't call grub_dl_unload_all.
8521 Don't include loader.S.
8522 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8523 Declare the memory after _end as available.
8524 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8525 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8526 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8527 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8528 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8529 * include/grub/mm_private.h (grub_mm_header): ... here.
8530 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8531 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8532 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8533 (grub_mm_region): ..here. Removed addr. Added pre_size.
8534 All users updated.
8535 * grub-core/kern/mm.c (base): Renamed to ...
8536 (grub_mm_base): ... this. Made global.
8537 (grub_real_malloc): Alloc from end of region.
8538 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8539 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8540 * grub-core/kern/powerpc/cache_flush.S: ... here.
8541 * grub-core/lib/efi/relocator.c: New file.
8542 * grub-core/lib/i386/relocator.c: Rewritten.
8543 * grub-core/lib/i386/relocator16.S: New file.
8544 * grub-core/lib/i386/relocator32.S: Likewise.
8545 * grub-core/lib/i386/relocator64.S: Likewise.
8546 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8547 * grub-core/lib/i386/relocator_common.S: New file.
8548 * grub-core/lib/ieee1275/relocator.c: Likewise.
8549 * grub-core/lib/mips/relocator.c: Rewritten.
8550 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8551 stylistic adjustments.
8552 * grub-core/lib/powerpc/relocator.c: New file.
8553 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8554 * grub-core/lib/relocator.c: Rewritten.
8555 * grub-core/lib/x86_64/relocator_asm.S: New file.
8556 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8557 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8558 (bsd_tag): New struct.
8559 (tags): New variable.
8560 (tags_last): Likewise.
8561 (netbsd_module): New struct.
8562 (netbsd_mods): New variable.
8563 (netbsd_mods_last): Likewise.
8564 (openbsd_opts): New parameter "serial".
8565 (OPENBSD_SERIAL_ARG): New definition.
8566 (netbsd_opts): New parameter "serial".
8567 (NETBSD_SERIAL_ARG): New definition.
8568 (grub_freebsd_add_meta): Reorganised into ...
8569 (grub_bsd_add_meta): ...this. All users updated.
8570 (grub_freebsd_add_mmap): Reorganised into ...
8571 (generate_e820_mmap): ...this...
8572 (grub_bsd_add_mmap): ...and this. All users updated.
8573 (grub_freebsd_list_modules): Use tags.
8574 (grub_netbsd_add_meta_module): New function.
8575 (grub_netbsd_list_modules): Likewise.
8576 (grub_freebsd_boot): Use relocator and finish EFI.
8577 (grub_openbsd_boot): Likewise.
8578 (grub_netbsd_setup_video): New function.
8579 (grub_netbsd_add_modules): Likewise.
8580 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8581 and finish EFI.
8582 (grub_bsd_unload): Unload tags.
8583 (grub_bsd_load_aout): Use relocator.
8584 (grub_bsd_elf32_size_hook): New function.
8585 (grub_bsd_elf32_hook): Use relocator.
8586 (grub_bsd_elf64_size_hook): New function.
8587 (grub_bsd_elf64_hook): Use relocator.
8588 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8589 (grub_bsd_load): Zero-out openbsd_ramdisk.
8590 (grub_bsd_load): Use relocator.
8591 (grub_cmd_openbsd): Support serial.
8592 (grub_cmd_netbsd): Support modules.
8593 (grub_cmd_freebsd_module): Use relocator.
8594 (grub_netbsd_module_load): New function.
8595 (grub_cmd_netbsd_module): Likewise.
8596 (grub_cmd_openbsd_ramdisk): Likewise.
8597 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8598 kopenbsd_ramdisk.
8599 (GRUB_MOD_FINI): Unregister new commands.
8600 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8601 (grub_freebsd_load_elfmodule_obj): Use relocator.
8602 (grub_freebsd_load_elfmodule): Likewise.
8603 (grub_freebsd_load_elf_meta): Likewise.
8604 (grub_netbsd_load_elf_meta): New function.
8605 (grub_openbsd_find_ramdisk): Likewise.
8606 * grub-core/loader/i386/bsd_helper.S: Removed.
8607 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8608 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8609 * grub-core/loader/i386/efi/linux.c: Likewise.
8610 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8611 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8612 (DEFAULT_VIDEO_MODE): Likewise.
8613 (real_mode_target): New variable.
8614 (prot_mode_target): Likewise.
8615 (initrd_mem_target): Likewise.
8616 (relocator): Likewise.
8617 (efi_mmap_buf): Likewise.
8618 (efi_mmap_size): Likewise.
8619 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8620 (free_pages): Use relocator.
8621 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8622 (grub_linux_setup_video): Return error.
8623 (grub_linux_trampoline_start): Removed.
8624 (grub_linux_trampoline_end): Likewise.
8625 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8626 andd video parameters depending on firmware.
8627 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8628 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8629 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8630 (grub_cmd_initrd): Use relocator.
8631 * grub-core/loader/i386/linux_trampoline.S: Removed.
8632 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8633 (elf_sec_entsize): Likewise.
8634 (elf_sec_shstrndx): Likewise.
8635 (elf_sections): Likewise.
8636 (grub_multiboot_load): Use relocator.
8637 (grub_multiboot_get_mbi_size): Account for sections.
8638 (grub_multiboot_make_mbi): Use relocator and support sections.
8639 (grub_multiboot_add_elfsyms): New function.
8640 (grub_multiboot_free_mbi): Free sections.
8641 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8642 (grub_linux_real_target): Likewise.
8643 (grub_linux_real_chunk): Likewise.
8644 (grub_linux16_prot_size): Likewise.
8645 (grub_linux16_boot): Use relocator.
8646 (grub_linux_unload): Unload relocator.
8647 (grub_cmd_linux): Use relocator.
8648 (grub_cmd_initrd): Likewise.
8649 * grub-core/loader/i386/pc/ntldr.c: New file.
8650 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8651 Don't try to guess CPU frequency.
8652 (grub_xnu_set_video): Stretch bitmap.
8653 (grub_xnu_boot): Use relocator.
8654 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8655 (grub_linux_unload): Free relocator.
8656 (grub_linux_load32): Use relocator.
8657 (grub_linux_load64): Likewise.
8658 (grub_cmd_initrd): Likewise.
8659 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8660 (grub_multiboot_unload): Unload relocator.
8661 (grub_cmd_multiboot): Use relocator.
8662 (grub_cmd_module): Likewise.
8663 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8664 Use relocator and support sections.
8665 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8666 (elf_sec_entsize): Likewise.
8667 (elf_sec_shstrndx): Likewise.
8668 (elf_sections): Likewise.
8669 (grub_multiboot_load): Use relocator.
8670 (grub_multiboot_get_mbi_size): Account for sections.
8671 (grub_multiboot_make_mbi): Use relocator and support sections.
8672 (grub_multiboot_add_elfsyms): New function.
8673 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8674 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8675 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8676 Prototype changed. All users updated.
8677 (grub_xnu_align_heap): Simplified.
8678 (grub_xnu_writetree_toheap): Likewise.
8679 (grub_xnu_unload): Unload relocator.
8680 (grub_cmd_xnu_kernel): Use relocator.
8681 (grub_cmd_xnu_kernel64): Likewise.
8682 (grub_xnu_register_memory): Simplified.
8683 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
8684 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8685 EFI is finished.
8686 (grub_console_checkkey): Likewise.
8687 (grub_console_getkey): Likewise.
8688 (grub_console_getwh): Likewise.
8689 (grub_console_getxy): Likewise.
8690 (grub_console_gotoxy): Likewise.
8691 (grub_console_cls): Likewise.
8692 (grub_console_setcolorstate): Likewise.
8693 (grub_console_setcursor): Likewise.
8694 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8695 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8696 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8697 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8698 * grub-core/tests/boot/kernel-8086.S: Likewise.
8699 * grub-core/tests/boot/kernel-i386.S: Likewise.
8700 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
8701 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
8702 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
8703 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
8704 * grub-core/tests/boot/knetbsd.cfg: Likewise.
8705 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
8706 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
8707 * grub-core/tests/boot/linux.cfg: Likewise.
8708 * grub-core/tests/boot/linux.init-i386.S: Likewise.
8709 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
8710 * grub-core/tests/boot/linux16.cfg: Likewise.
8711 * grub-core/tests/boot/multiboot.cfg: Likewise.
8712 * grub-core/tests/boot/multiboot2.cfg: Likewise.
8713 * grub-core/tests/boot/ntldr.cfg: Likewise.
8714 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
8715 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
8716 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
8717 New definition.
8718 * include/grub/dl.h (grub_dl_unload_all): Removed.
8719 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
8720 (grub_efi_finish_boot_services): Change prototype.
8721 (grub_efi_is_finished): New variable.
8722 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
8723 Changed prototype.
8724 (grub_efiemu_finish_boot_services): Removed.
8725 (grub_machine_efiemu_init_tables): New prototype.
8726 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
8727 (grub_elf64_phdr_iterate): Likewise.
8728 * include/grub/i386/bsd.h: Include relocator.h.
8729 (freebsd_tag_header): New struct.
8730 (grub_openbsd_bios_mmap): Removed.
8731 (grub_unix_real_boot): Removed.
8732 (grub_freebsd_load_elfmodule32): Changed prototype.
8733 (grub_freebsd_load_elfmodule_obj64): Likewise.
8734 (grub_freebsd_load_elf_meta32): Likewise.
8735 (grub_freebsd_load_elf_meta64): Likewise.
8736 (grub_freebsd_add_meta): Removed.
8737 (grub_netbsd_load_elf_meta32): New prototype.
8738 (grub_netbsd_load_elf_meta64): Likewise.
8739 (grub_bsd_add_meta): Likewise.
8740 (grub_openbsd_ramdisk_descriptor): New struct.
8741 (grub_openbsd_find_ramdisk32): New prototype.
8742 (grub_openbsd_find_ramdisk64): Likewise.
8743 * include/grub/i386/coreboot/loader.h: Removed.
8744 * include/grub/i386/efi/loader.h: Likewise.
8745 * include/grub/i386/ieee1275/loader.h: Likewise.
8746 * include/grub/i386/linux.h (linux_kernel_header): Change void *
8747 to grub_uint32_t.
8748 * include/grub/i386/loader.h: Removed.
8749 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
8750 value.
8751 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
8752 (grub_phys_addr_t): New type.
8753 (grub_vtop): New inline function.
8754 (grub_map_memory): Likewise.
8755 (grub_unmap_memory): Likewise.
8756 * include/grub/i386/multiboot/loader.h: Removed.
8757 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
8758 (NETBSD_BTINFO_CONSOLE): New definition.
8759 (NETBSD_BTINFO_SYMTAB): Likewise.
8760 (NETBSD_BTINFO_MODULES): Likewise.
8761 (NETBSD_BTINFO_FRAMEBUF): Likewise.
8762 (grub_netbsd_bootinfo): New struct.
8763 (grub_netbsd_btinfo_common): Use explicit bitsize.
8764 (grub_netbsd_btinfo_mmap_entry): Removed.
8765 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
8766 (grub_netbsd_btinfo_bootdisk): New struct.
8767 (grub_netbsd_btinfo_symtab): Likewise.
8768 (grub_netbsd_btinfo_serial): Likewise.
8769 (grub_netbsd_btinfo_modules): Likewise.
8770 (grub_netbsd_btinfo_framebuf): Likewise.
8771 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
8772 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
8773 Likewise.
8774 (grub_openbsd_bootargs): Use explicit bitsize.
8775 (grub_openbsd_bootarg_console): New struct.
8776 (GRUB_OPENBSD_COM_MAJOR): New definition.
8777 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
8778 * include/grub/i386/pc/efiemu.h: Removed.
8779 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
8780 * include/grub/i386/qemu/loader.h: Removed.
8781 * include/grub/i386/relocator.h: Rewritten.
8782 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
8783 * include/grub/mips/memory.h: New file.
8784 * include/grub/mips/multiboot.h: Rewritten.
8785 * include/grub/mips/relocator.h: Rewritten.
8786 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
8787 (grub_vtop): New function.
8788 (grub_map_memory): Likewise.
8789 (grub_unmap_memory): Likewise.
8790 * include/grub/misc.h (ALIGN_DOWN): New definition.
8791 * include/grub/mm.h (grub_mm_check_real): New proto.
8792 (GRUB_MM_CHECK): New definition.
8793 * include/grub/mm_private.h: New file.
8794 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
8795 (grub_multiboot_get_mbi_size): Removed.
8796 (grub_multiboot_make_mbi): Change prottype.
8797 (grub_multiboot_set_accepts_video): New proto.
8798 (grub_multiboot_add_elfsyms): Likewise.
8799 (grub_multiboot_payload_eip): New variable.
8800 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
8801 New prototype.
8802 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
8803 New definition.
8804 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
8805 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
8806 * include/grub/powerpc/ieee1275/loader.h: Removed.
8807 * include/grub/powerpc/memory.h: New file.
8808 * include/grub/powerpc/relocator.h: Likewise.
8809 * include/grub/relocator.h: Likewise.
8810 * include/grub/relocator_private.h: Likewise.
8811 * include/grub/sparc64/ieee1275/loader.h: Removed.
8812 * include/grub/x86_64/memory.h: New file.
8813 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
8814 (grub_xnu_heap_malloc): Likewise.
8815 (grub_xnu_heap_real_start): Removed.
8816 (grub_xnu_heap_start): Likewise.
8817 (grub_xnu_relocator): New variable.
8818 (grub_xnu_heap_target_start): Likewise.
8819 * tests/util/grub-shell.in: Support non-pc.
8820 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 8821
5303b85d
VS
88222010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8823
8824 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
8825 on malloc error.
8826 (grub_bidi_logical_to_visual): Check that malloc succeded.
8827 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
8828 puts.
8829 (grub_xputs_normal): Likewise.
8830
d768d159
VS
88312010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
8834 extra_dist.
8835
88362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 * grub-core/efiemu/runtime/efiemu.sh: Removed.
8839
5bf84df4
VS
88402010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
8843
3626810e
VS
88442010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
8847 dprintf.
8848
a7363f53
BC
88492010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
8850
8851 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
8852
902f75f6
VS
88532010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8854
8855 * grub-core/normal/term.c (print_more): Fix a memory leak.
8856 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
8857 (grub_xputs_normal): Likewise.
8858
3c707967
VS
88592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
8862 the begining of the string
8863
2053cc07
VS
88642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/script/script.c (grub_script_parse): Free parsed on
8867 failure.
8868
46422ebf
VS
88692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
8872 on failure.
8873
9e0fa3f6
VS
88742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
8877 return.
8878
3393cf16
VS
88792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
8882 (scroll_up): Fix a memory leak.
8883
b17540cb
VS
88842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8885
8886 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
8887 errors.
8888
67140446
VS
88892010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
8890
8891 Handle USB pendrives exposed as floppies.
8892
8893 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
8894 floppy.
8895 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8896 Check for partitions on all devices.
8897
e35e46fc
VS
88982010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8899
8900 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
8901 (readkey): Likewise.
8902
d24c6190
BC
89032010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8904
8905 Multiple variable names support to "export" command.
8906
8907 * normal/context.c (grub_cmd_export): "export" command supports
8908 multiple variable names.
8909
04ddcc6a
ST
89102010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
8911
8912 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
8913 --target=drive output to Mach device name.
8914
0c8b61d8
BC
89152010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8916
8917 New Automake based build system for GRUB.
8918
8919 * ABOUT-NLS: New file.
8920 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
8921 in Makefile.util.def file.
8922 * Makefile.util.def: New file. Autogen build definitions file for
8923 GRUB host utils.
8924 * conf/Makefile.common: New file. Common variables for GRUB host
8925 utils and target modules.
8926 * conf/Makefile.extra-dist: New file. Extra files for make dist.
8927 * docs/Makefile.am: New file. Automake file for docs.
8928 * gentpl.py: New file. Python script to generate Autogen
8929 template.
8930 * grub-core/Makefile.am: New file. GRUB target modules' rules
8931 that doesn't fit in Makefile.core.def file.
8932 * grub-core/Makefile.core.def: New file. Autogen build
8933 definitions file for GRUB target modules.
8934 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
8935 specific setjmp.S file.
8936 * po/Makefile.am: New file.
8937
8938 * .bzrignore: New ignores.
8939 * INSTALL: New requirements, without Ruby.
8940 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
8941 * autogen.sh: Updated to invoke autogen as necessary.
8942 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
8943 and defines for Automake conditionals.
8944 * geninit.sh: Refactoring.
8945
8946 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8947 necessary.
8948 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8949 New prototype.
8950
8951 * include/grub/test.h: Fix functional test modules' naming.
8952 * grub-core/tests/example_functional_test.c: Fix test module name.
8953
8954 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8955 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8956 * util/grub-editenv.c: Likewise.
8957 * util/grub-fstest.c: Likewise.
8958 * util/grub-mkdevicemap.c: Likewise.
8959 * util/grub-mkfont.c: Likewise.
8960 * util/grub-mkimage.c: Likewise.
8961 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8962 * util/grub-probe.c: Likewise.
8963 * util/grub-script-check.c: Likewise.
8964 * util/i386/pc/grub-setup.c: Likewise.
8965 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8966
8967 * tests/util/grub-shell.in: Fix override directory path.
8968 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8969 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8970
8971 * util/lvm.c: Update #includes.
8972 * util/raid.c: Likewise.
8973 * util/resolve.c: Likewise.
8974 * grub-core/bus/emu/pci.c: Likewise.
8975 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8976 * grub-core/lib/posix_wrap/string.h: Likewise.
8977 * grub-core/kern/emu/main.c: Likewise.
8978
8979 * grub-core/gensymlist.sh: New file. Script for generating kernel
8980 symbols file.
8981 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8982
8983 * grub-core/gentrigtables.c: Fix unused variable warnings.
8984
8985 * Makefile.in: Removed.
8986 * conf/any-emu.rmk: Removed.
8987 * conf/common.rmk: Removed.
8988 * conf/i386-coreboot.rmk: Removed.
8989 * conf/i386-efi.rmk: Removed.
8990 * conf/i386-ieee1275.rmk: Removed.
8991 * conf/i386-multiboot.rmk: Removed.
8992 * conf/i386-pc.rmk: Removed.
8993 * conf/i386-qemu.rmk: Removed.
8994 * conf/i386.rmk: Removed.
8995 * conf/mips-yeeloong.rmk: Removed.
8996 * conf/mips.rmk: Removed.
8997 * conf/powerpc-ieee1275.rmk: Removed.
8998 * conf/sparc64-ieee1275.rmk: Removed.
8999 * conf/tests.rmk: Removed.
9000 * conf/x86-efi.rmk: Removed.
9001 * conf/x86_64-efi.rmk: Removed.
9002 * gendistlist.sh: Removed.
9003 * geninitheader.sh: Removed.
9004 * genkernsyms.sh.in: Removed.
9005 * genmk.rb: Removed.
9006 * gensymlist.sh.in: Removed.
9007 * mkinstalldirs: Removed.
9008 * boot: Moved ...
9009 * grub-core/boot: ... to here.
9010 * bus: Moved ...
9011 * grub-core/bus: ... to here.
9012 * commands: Moved ...
9013 * grub-core/commands: ... to here.
9014 * disk: Moved ...
9015 * grub-core/disk: ... to here.
9016 * efiemu: Moved ...
9017 * grub-core/efiemu: ... to here.
9018 * font: Moved ...
9019 * grub-core/font: ... to here.
9020 * fs: Moved ...
9021 * grub-core/fs: ... to here.
9022 * gencmdlist.sh: Moved ...
9023 * grub-core/gencmdlist.sh: ... to here.
9024 * genemuinit.sh: Moved ...
9025 * grub-core/genemuinit.sh: ... to here.
9026 * genemuinitheader.sh: Moved ...
9027 * grub-core/genemuinitheader.sh: ... to here.
9028 * genfslist.sh: Moved ...
9029 * grub-core/genfslist.sh: ... to here.
9030 * genhandlerlist.sh: Moved ...
9031 * grub-core/genhandlerlist.sh: ... to here.
9032 * genmoddep.awk: Moved ...
9033 * grub-core/genmoddep.awk: ... to here.
9034 * genmodsrc.sh: Moved ...
9035 * grub-core/genmodsrc.sh: ... to here.
9036 * genpartmaplist.sh: Moved ...
9037 * grub-core/genpartmaplist.sh: ... to here.
9038 * genparttoollist.sh: Moved ...
9039 * grub-core/genparttoollist.sh: ... to here.
9040 * genterminallist.sh: Moved ...
9041 * grub-core/genterminallist.sh: ... to here.
9042 * gentrigtables.c: Moved ...
9043 * grub-core/gentrigtables.c: ... to here.
9044 * genvideolist.sh: Moved ...
9045 * grub-core/genvideolist.sh: ... to here.
9046 * gettext: Moved ...
9047 * grub-core/gettext: ... to here.
9048 * gfxmenu: Moved ...
9049 * grub-core/gfxmenu: ... to here.
9050 * gnulib: Moved ...
9051 * grub-core/gnulib: ... to here.
9052 * hello: Moved ...
9053 * grub-core/hello: ... to here.
9054 * hook: Moved ...
9055 * grub-core/hook: ... to here.
9056 * io: Moved ...
9057 * grub-core/io: ... to here.
9058 * kern: Moved ...
9059 * grub-core/kern: ... to here.
9060 * lib: Moved ...
9061 * grub-core/lib: ... to here.
9062 * loader: Moved ...
9063 * grub-core/loader: ... to here.
9064 * mmap: Moved ...
9065 * grub-core/mmap: ... to here.
9066 * normal: Moved ...
9067 * grub-core/normal: ... to here.
9068 * partmap: Moved ...
9069 * grub-core/partmap: ... to here.
9070 * parttool: Moved ...
9071 * grub-core/parttool: ... to here.
9072 * script: Moved ...
9073 * grub-core/script: ... to here.
9074 * term: Moved ...
9075 * grub-core/term: ... to here
9076 * tests/example_functional_test.c: Moved ...
9077 * grub-core/tests/example_functional_test.c: ... to here.
9078 * tests/lib/functional_test.c: Moved ...
9079 * grub-core/tests/lib/functional_test.c: ... to here.
9080 * tests/lib/test.c: Moved ...
9081 * grub-core/tests/lib/test.c: ... to here.
9082 * video: Moved ...
9083 * grub-core/video: ... to here.
9084
645586e6
BC
90852010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9086
9087 Replace --enable-grub-emu-modules with grub-emu-lite.
9088
9089 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9090 cache.S.
9091
9092 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9093 * kern/emu/full.c: New file. For grub-emu specific initialization.
9094 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9095 * kern/emu/main.c: Call initialization function grub_emu_init.
9096
9097 * Makefile.in: Include grub-emu-lite in install.
9098 * commands/parttool.c: Use grub_no_autoload to differentiate
9099 between grub-emu and grub-emu-lite.
9100 * include/grub/misc.h: New variable grub_no_autoload.
9101
9102 * conf/any-emu.rmk: New rules for grub-emu-lite.
9103 * configure.ac: Remove --enable-grub-emu-modules.
9104 * genmk.rb: Cleanup unnecessary rules.
9105 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9106
9107 * normal/main.c: Don't load list files on grub-emu-lite.
9108 * util/misc.c (grub_arch_sync_caches): Removed.
9109
f86a4030
CW
91102010-08-23 Colin Watson <cjwatson@ubuntu.com>
9111
9112 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9113 grub-mkimage rather than grub-mkelfimage.
9114 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9115
06776944
VS
91162010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9119 a key after CapsLock or NumLock. It's just a qemu bug.
9120
df262419
VS
91212010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9122
9123 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9124 needed by libusb wrapper.
9125
b40ea81b
ST
91262010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9127
9128 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9129
dee50575
VS
91302010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9133 --nounzip is passed.
9134
fb1d7b79
VS
91352010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 USB hotunplugging and USB serial support.
9138
9139 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9140 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9141 (grub_uhci_transfer): Respect timeout and set *actual.
9142 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9143 non-standard length.
9144 (grub_usb_device_attach): Autoload modules.
9145 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9146 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9147 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9148 users updated.
9149 (grub_usb_add_hub): Fill nports and children.
9150 (attach_root_port): Receive hub instead of controller.
9151 All users updated. Fill hub->devices.
9152 (grub_usb_root_hub): Allocate hub->devices.
9153 (detach_device): New function.
9154 (poll_nonroot_hub): Fill children and detach devices.
9155 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9156 actual arguments. All users updated.
9157 (grub_usb_bulk_read_extended): New function.
9158 * bus/usb/serial/common.c: New file.
9159 * bus/usb/serial/ftdi.c: Likewise.
9160 * bus/usb/serial/pl2303.c: Likewise.
9161 * commands/terminal.c (handle_command): Support wildcard.
9162 * commands/usbtest.c: Output "Unknown" instead of empty string.
9163 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9164 (usbserial_common_mod_SOURCES): New variable.
9165 (usbserial_common_mod_CFLAGS): Likewise.
9166 (usbserial_common_mod_LDFLAGS): Likewise.
9167 (pkglib_MODULES): Add usbserial_pl2303.mod.
9168 (usbserial_pl2303_mod_SOURCES): New variable.
9169 (usbserial_pl2303_mod_CFLAGS): Likewise.
9170 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9171 (pkglib_MODULES): Add usbserial_ftdi.mod.
9172 (usbserial_ftdi_mod_SOURCES): New variable.
9173 (usbserial_ftdi_mod_CFLAGS): Likewise.
9174 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9175 (pkglib_MODULES): Add serial.mod.
9176 (serial_mod_SOURCES): New variable.
9177 (serial_mod_CFLAGS): Likewise.
9178 (serial_mod_LDFLAGS): Likewise.
9179 * conf/i386-pc.rmk: Likewise.
9180 * conf/mips-yeeloong.rmk: Likewise.
9181 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9182 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9183 * disk/usbms.c (first_available_slot): New variable.
9184 (grub_usbms_attach): Don't reuse free slots due to potential cache
9185 problems.
9186 * include/grub/serial.h: Moved to ..
9187 * include/grub/ns8250.h: ...this.
9188 * include/grub/serial.h: New file.
9189 * include/grub/term.h (grub_term_poll_usb): New variable.
9190 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9191 readkey. All users updated.
9192 (grub_terminfo_output_state): Pass term to put.
9193 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9194 (grub_usb_controller_dev): Add timeout and actual arguments to
9195 transfer. All users updated.
9196 (grub_usb_interface): New field detach_data.
9197 (grub_usb_device): New fields children and nports.
9198 (grub_usb_ep_type_t): New type.
9199 (grub_usb_get_ep_type): New function.
9200 (grub_usb_bulk_read_extended): Likewise.
9201 * include/grub/usbdesc.h (grub_usb_desc): New type.
9202 * include/grub/usbserial.h: New file.
9203 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9204 * kern/term.c (grub_term_poll_usb): New variable.
9205 (grub_getkey): Call grub_term_poll_usb if set.
9206 (grub_checkkey): Likewise.
9207 (grub_getkeystatus): Likewise.
9208 * term/serial.c: Moved controller-specific parts to ...
9209 * term/ns8250.c: ... here.
9210 * term/serial.c: Mostly rewritten.
9211 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9212 according to spec.
9213
21a313de
RM
92142010-08-20 Robert Millan <rmh@gnu.org>
9215
9216 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9217 a separate module and maybe other interesting combinations.
9218
9219 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9220 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9221 (kfreebsd_entry): Add generic filesystem module load routine.
9222 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9223
63c734a6
CW
92242010-08-20 Colin Watson <cjwatson@ubuntu.com>
9225
9226 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9227 "numcenter" (I misunderstood the purpose of this entry).
9228 * docs/grub.texi (sendkey): Likewise.
9229
c4d16542
CW
92302010-08-20 Colin Watson <cjwatson@ubuntu.com>
9231
9232 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9233 status flag options; simply omitting the option is equivalent and
9234 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9235 (keysym_table): Rename "num5numlock" to "numlock".
9236 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9237 can uniformly say that only the last of multiple `sendkey'
9238 invocations has any effect.
9239 * docs/grub.texi (sendkey): New section.
9240
93541d66
CW
92412010-08-19 Colin Watson <cjwatson@ubuntu.com>
9242
9243 * commands/i386/pc/sendkey.c (options): Fix three typos.
9244
b4ece5e1
VS
92452010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 Implement sendkey support.
9248
9249 * commands/i386/pc/sendkey.c: New file.
9250 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9251 (sendkey_mod_SOURCES): New variable.
9252 (sendkey_mod_CFLAGS): Likewise.
9253 (sendkey_mod_LDFLAGS): Likewise.
9254
51f1f5af
CW
92552010-08-18 Colin Watson <cjwatson@ubuntu.com>
9256
9257 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9258 fix warnings from Autoconf.
9259
9da94e05
CW
92602010-08-18 Colin Watson <cjwatson@ubuntu.com>
9261
9262 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9263 to avoid false positives with some assemblers that output things
9264 like "someprefix_func" as part of their output.
9265
729a0f2e
RM
92662010-08-15 Robert Millan <rmh@gnu.org>
9267
9268 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9269 errors.
9270 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9271 grub_get_libzfs_handle() errors.
9272
f3710e08
RM
92732010-08-14 Robert Millan <rmh@gnu.org>
9274
9275 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9276 filesystem is not ZFS.
9277
7a3c13de
BC
92782010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9279
9280 Fix for misspelled color names defaulting to black/black (bug
9281 reported by Doug Nazar)
9282
9283 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9284 status to prototype.
9285 * normal/color.c (grub_parse_color_name_pair): Return failure
9286 status.
9287 (grub_env_write_color_normal): Ignore bad color names.
9288 (grub_env_write_color_highlight): Likewise.
9289 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9290
ab8ba50d
BC
92912010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9292
9293 "shift" command support to GRUB script.
9294
9295 * include/grub/script_sh.h (grub_script_shift): New prototype.
9296 * script/execute.c (grub_script_shift): New function.
9297 * script/main.c (grub_script_init): Register shift command.
9298 (grub_script_fini): Unregister shift command.
9299 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9300
9301 * tests/grub_script_shift.in: New testcase.
9302 * conf/tests.rmk: Rules for new testcase.
9303
4d61999e
BC
93042010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9305
9306 "continue" command support to GRUB script.
9307
9308 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9309 (grub_script_break): Continue support.
9310 * script/main.c (grub_script_init): Register continue command.
9311 (grub_script_fini): Unregister continue command.
9312
9313 * tests/grub_script_continue.in: New testcase.
9314 * conf/tests.rmk: Rules for new testcase.
9315
4df51e00
BC
93162010-08-12 BVK Chaitanya <bvk@dbook>
9317
9318 "break" command support to GRUB script.
9319
9320 * conf/common.rmk: Rule updates to grub-script-check.
9321 * include/grub/misc.h (grub_min): New function.
9322 * include/grub/script_sh.h (grub_script_init): New prototype.
9323 (grub_script_fini): New prototype.
9324 (grub_script_break): New prototype.
9325 * script/main.c (grub_script_init): New function.
9326 (grub_script_fini): New function.
9327 * script/execute.c (grub_script_break): New function.
9328 * normal/main.c: Calls to grub_script_{init,fini}.
9329 * util/grub-script-check.c (grub_script_break): New function.
9330
9331 * tests/grub_script_break.in: New testcase.
9332 * conf/tests.rmk: Rules for new test case.
9333
f12c8420
BC
93342010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9335
9336 Function parameters support to GRUB script.
9337
9338 * script/yylex.l (VARIABLE): Regular expression update.
9339 * script/function.c (grub_script_function_call): Moved ...
9340 * script/execute.c (grub_script_function_call): ... to here.
9341 (grub_script_execute_arglist_to_argv): Removed.
9342 (grub_script_arglist_to_argv): New function.
9343 * script/argv.c: New file.
9344 (grub_script_argv_free): New function.
9345 (grub_script_argv_next): Likewise.
9346 (grub_script_argv_append): Likewise.
9347 (grub_script_argv_split_append): Likewise.
9348 * include/grub/script_sh.h (grub_script_argv): New struct.
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
9354 * conf/common.rmk (normal.mod): New source script/argv.c.
9355
9356 * tests/grub_script_echo1.in: More tests.
9357 * tests/grub_script_vars1.in: Likewise.
9358 * tests/grub_script_functions.in: New test case.
9359 * conf/tests.rmk: Rules for new testcase.
9360
8022b748
BC
93612010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9362
9363 Remove grub_script_cmdblock struct.
9364
9365 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9366 * script/parser.y: Likewise.
9367 * script/execute.c: Rename cmdblock suffix to cmdlist.
9368 * script/script.c: Likewise.
9369 * util/grub-script-check.c: Likewise.
9370
79a6ba61
YB
93712010-08-11 Yves Blusseau <blusseau@zetam.org>
9372
9373 * .bzrignore: add grub-macho2img
9374
d04b9414
VS
93752010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9378
f947ab49
VS
93792010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 Remove the dump of sm712 initialisation sequence.
9382
9383 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9384 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9385 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9386 (GRUB_VGA_CR_*): Added many registers.
9387 (GRUB_VGA_SR_*): Likewise.
9388 (GRUB_VGA_GR_*): Likewise.
9389 (grub_vga_write_arx): New function.
9390 (grub_video_hw_config): New struct.
9391 (grub_vga_set_geometry): New function.
9392 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9393 GRUB_PCI_CLASS_SUBCLASS_VGA.
9394 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9395 * video/sm712.c (grub_sm712_write_reg): New function
9396 (grub_sm712_read_reg): Likewise.
9397 (grub_sm712_sr_write): Likewise.
9398 (grub_sm712_gr_write): Likewise.
9399 (grub_sm712_cr_write): Likewise.
9400 (grub_sm712_write_arx): Likewise.
9401 (grub_sm712_cr_shadow_write): Likewise.
9402 (grub_sm712_write_dda_lookup): Likewise.
9403 (grub_video_sm712_setup): Initialise the video rather then
9404 blindly replay the dump.
9405 (main) [TEST]: Add a routine to be able to compile as standalone for
9406 tests.
9407 * video/sm712_init.c (sm712_init): Removed.
9408 (sm712_sr_seq1): New array.
9409 (sm712_sr_seq2): Likewise.
9410
f0206638
VS
94112010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * include/grub/vga.h: Add missing grub/pci.h include.
9414
2764da3b
YB
94152010-08-10 Yves Blusseau <blusseau@zetam.org>
9416
9417 * util/grub-macho2img.c (main): fix typo
9418
cf0c775e
VS
94192010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9422 (grub_vga_gr_read): Likewise.
9423 (grub_vga_cr_write): Likewise.
9424 (grub_vga_cr_read): Likewise.
9425 (grub_vga_sr_write): Likewise.
9426 (grub_vga_sr_read): Likewise.
9427 (grub_vga_palette_read): Likewise.
9428 (grub_vga_palette_write): Likewise.
9429 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9430 (grub_sm712_sr_read): New function.
9431 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9432 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9433
07f360e9
RM
94342010-08-09 Robert Millan <rmh@gnu.org>
9435
9436 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9437 out unused variables on non-ZFS build.
9438
346c2072
RM
94392010-08-08 Robert Millan <rmh@gnu.org>
9440
9441 Fix path generation for sub-filesystems in ZFS.
9442
9443 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9444 missing slash.
9445
71175420
RM
94462010-08-08 Robert Millan <rmh@gnu.org>
9447
9448 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9449
0d8286f3
RM
94502010-08-08 Robert Millan <rmh@gnu.org>
9451
9452 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9453 exist, issue a proper error message (rely on `ls' for translated
9454 strings).
9455
55dd2924
RM
94562010-08-08 Robert Millan <rmh@gnu.org>
9457
9458 Fix grub-probe invocation.
9459
9460 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9461
d3dd9e80
RM
94622010-08-04 Robert Millan <rmh@gnu.org>
9463
9464 * configure.ac: Remove checks for getfsstat() and getmntany().
9465 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9466 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9467 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9468 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9469 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9470 function.
9471 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9472 via find_mount_point_from_dir() and getfsstat() / getmntany().
9473
0de22aa9
RM
94742010-08-04 Robert Millan <rmh@gnu.org>
9475
9476 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9477 (grub_find_zpool_from_mount_point): Merge into ...
9478 (grub_find_zpool_from_dir): ... this.
9479 * kern/emu/misc.c: Likewise.
9480
9481 * kern/emu/misc.c
9482 (grub_make_system_path_relative_to_its_root): Replace
9483 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9484 with grub_find_zpool_from_dir().
9485 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9486
62858144
RM
94872010-08-04 Robert Millan <rmh@gnu.org>
9488
9489 Support OpenSolaris in ZFS device resolution.
9490
9491 * configure.ac: Check for getmntany().
9492 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9493 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9494 support.
9495
9dd6fd50
RM
94962010-08-03 Robert Millan <rmh@gnu.org>
9497
9498 Fix grub-emu build.
9499
9500 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9501 * include/grub/emu/misc.h: ... here.
9502
9503 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9504 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9505
9506 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9507 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9508 (grub_get_libzfs_handle): Move to ...
9509 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9510 (grub_get_libzfs_handle): ... here.
9511
c9f7ff97
BC
95122010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9513
9514 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9515 as command name case.
9516
a870a783
CW
95172010-08-02 Colin Watson <cjwatson@ubuntu.com>
9518
9519 * disk/raid.c (insert_array): Select unique numbers for named arrays
9520 as well, for use as keys in the disk cache.
9521
c7db243b
RM
95222010-08-01 Robert Millan <rmh@gnu.org>
9523
9524 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9525 kFreeBSD device name, except on ZFS where the filesystem label is
9526 used.
9527 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9528 `/boot/zfs/zpool.cache'.
9529 Set mountfrom kernel variable using ${kfreebsd_device}.
9530
f7abdefb
RM
95312010-08-01 Robert Millan <rmh@gnu.org>
9532
9533 Make it even harder to use uninitialized `libzfs_handle' (and
9534 make the interface a bit simpler).
9535
9536 * include/grub/util/misc.h (grub_util_init_libzfs)
9537 (libzfs_handle): Remove.
9538 (grub_get_libzfs_handle): New prototype.
9539
9540 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9541 attribute.
9542 (grub_util_init_libzfs): Remove.
9543 (grub_get_libzfs_handle): New function.
9544
9545 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9546 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9547 accessing `libzfs_handle' directly.
9548
c882acc0
RM
95492010-08-01 Robert Millan <rmh@gnu.org>
9550
9551 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9552 (grub_find_zpool_from_mount_point): New function prototypes.
9553
9554 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9555 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9556
9557 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9558 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9559 `static' attribute.
9560
9561 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9562 finding zpool from mount point into ...
9563 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9564
9565 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9566 requested path is part of a ZFS pool, use
9567 grub_find_zpool_from_mount_point() to detect its filesystem name,
9568 and generate a path with `/fsname@path' syntax.
9569
8bfe31d8
CW
95702010-08-01 Colin Watson <cjwatson@ubuntu.com>
9571
9572 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9573 (void) rather than () so that this is a proper prototype.
9574
553df63d
VS
95752010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9578
8687cf07
VS
95792010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9582 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9583
ea9be8ea
CW
95842010-08-01 Colin Watson <cjwatson@ubuntu.com>
9585
9586 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9587
6eea041a
CW
95882010-08-01 Colin Watson <cjwatson@ubuntu.com>
9589
9590 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9591
2cfb45df
CW
95922010-08-01 Colin Watson <cjwatson@ubuntu.com>
9593
9594 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9595 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9596 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9597 disable gfxpayload.
9598 (Shell-like scripting): Add real content.
9599 (Serial terminal): Suggest `terminal_input serial; terminal_output
9600 serial' rather than putting the two commands on separate lines,
9601 since console input will be inoperative after the first command.
9602 (menuentry): Document --class, --users, and --hotkey options.
9603 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9604 Vladimir Serbinenko).
9605
7decd202
VS
96062010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
96072010-08-01 Colin Watson <cjwatson@ubuntu.com>
9608
9609 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9610
c882acc0
RM
96112010-08-01 Robert Millan <rmh@gnu.org>
9612
9613 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9614 (grub_find_zpool_from_mount_point): New function prototypes.
9615
9616 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9617 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9618
9619 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9620 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9621 `static' attribute.
9622
9623 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9624 finding zpool from mount point into ...
9625 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9626
9627 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9628 requested path is part of a ZFS pool, use
9629 grub_find_zpool_from_mount_point() to detect its filesystem name,
9630 and generate a path with `/fsname@path' syntax.
9631
deb0caa3
RM
96322010-08-01 Robert Millan <rmh@gnu.org>
9633
9634 Prevent accidental use of uninitialized libzfs_handle.
9635
9636 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9637 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9638 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9639
ce04ef47
CW
96402010-08-01 Colin Watson <cjwatson@ubuntu.com>
9641
9642 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9643 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9644
ebf53056
RM
96452010-08-01 Robert Millan <rmh@gnu.org>
9646
9647 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 9648
3710bb6b
RM
96492010-07-31 Robert Millan <rmh@gnu.org>
9650
9651 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9652
8072efeb
RM
96532010-07-31 Robert Millan <rmh@gnu.org>
9654
9655 * kern/emu/misc.c: Add missing license header.
9656
3169f4c7
RM
96572010-07-31 Robert Millan <rmh@gnu.org>
9658
9659 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9660
9661 * include/grub/util/libnvpair.h: Include `<config.h>'.
9662 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9663 declaring libnvpair prototypes ourselves.
9664 * include/grub/util/libzfs.h: Include `<config.h>'.
9665 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9666 declaring libzfs prototypes ourselves.
9667
9668 (libzfs_handle): Moved to ...
9669 * include/grub/util/misc.h (libzfs_handle): ... here.
9670 Include `<grub/util/libzfs.h>'.
9671
c9a00aee
RM
96722010-07-30 Robert Millan <rmh@gnu.org>
9673
9674 * include/grub/emu/misc.h: Add missing license header.
9675
a184f9c8
RM
96762010-07-30 Robert Millan <rmh@gnu.org>
9677
9678 Enable `grub-probe -t device' resolution on ZFS.
9679
9680 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9681 * include/grub/util/libnvpair.h: New file.
9682 * include/grub/util/libzfs.h: New file.
9683
9684 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9685 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9686 `<grub/util/libnvpair.h>'.
9687 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9688
9689 (find_mount_point_from_dir): New static function.
9690 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9691 function.
9692 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9693 find_root_device_from_libzfs() before ressorting to find_root_device().
9694
9695 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9696 prototype.
9697 * util/misc.c: Include `<grub/util/libzfs.h>'.
9698 (grub_util_init_libzfs): New function.
9699 [HAVE_LIBZFS] (libzfs_handle): New global variable.
9700 [HAVE_LIBZFS] (fini_libzfs): New static function.
9701 (grub_util_init_libzfs): New function.
9702 * util/grub-probe.c (main): Call grub_util_init_libzfs().
9703
f7790cdd
RM
97042010-07-30 Robert Millan <rmh@gnu.org>
9705
9706 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
9707 (xmalloc, xrealloc, xstrdup, xasprintf): Add
9708 `warn_unused_result' attribute.
9709 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
9710 (grub_xasprintf, grub_xvasprintf): Likewise.
9711 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9712
0806b63c
RM
97132010-07-29 Robert Millan <rmh@gnu.org>
9714
9715 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
9716 (probe): Handle `PRINT_FS_LABEL'.
9717 (main): Handle `-t fs_label'.
9718
9f841f5c
RM
97192010-07-29 Robert Millan <rmh@gnu.org>
9720
9721 * configure.ac: Remove grub-mkisofs checks.
9722
46371121
VS
97232010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * util/ieee1275/grub-install.in: Don't use empty grub_device.
9726 Reported by: Lennart Sorensen.
9727
97282010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
9731 prior to terminal_input/terminal_output separation. It's been over 1.5
9732 years and those versions weren't widely deployed.
9733
a9600892
CW
97342010-07-22 Colin Watson <cjwatson@ubuntu.com>
9735
9736 * disk/raid.c (insert_array): Don't count named arrays when looking
9737 for unused array numbers.
697e053c 9738 Reported and tested by: Michael Guntsche.
a9600892 9739
c03507df
CW
97402010-07-20 Colin Watson <cjwatson@ubuntu.com>
9741
9742 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
9743 implementation of this so that grub-emu links again, with a note
9744 that this should support hotplugging in the future.
9745
b26f1c11
CW
97462010-07-20 Colin Watson <cjwatson@ubuntu.com>
9747
9748 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9749
efc9d7f1
CW
97502010-07-20 Colin Watson <cjwatson@ubuntu.com>
9751
9752 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
9753 handle on failure.
9754 (grub_loopback_close): Remove empty function.
9755 (grub_loopback_dev): Remove close method.
9756
dd8ff5c9
CW
97572010-07-20 Colin Watson <cjwatson@ubuntu.com>
9758
9759 Disable EFI cursor when the EFI console becomes inactive.
9760
9761 * term/efi/console.c (grub_efi_console_init): New function.
9762 (grub_efi_console_fini): New function.
9763 (grub_console_term_output): Register init and fini methods.
9764
5e3bec67
VS
97652010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9766
9767 * tests/util/grub-shell-tester.in: Remove bashism and declare as
9768 sh script.
9769
afaec079
VS
97702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * disk/loopback.c (grub_loopback): Replace filename with file.
9773 (delete_loopback): Handle new semantics.
9774 (grub_cmd_loopback): Likewise.
9775 (grub_loopback_iterate): Likewise.
9776 (grub_loopback_close): Likewise.
9777
a6a11f3c
VS
97782010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9779
9780 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
9781 with -p "".
9782 Reported by: Tito Keitel.
9783
64a638b0
VS
97842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * docs/grub.texi (Naming convention): Document new naming convention.
9787
ab8ba957
VS
97882010-07-20 Vadim Solomin <vadic052@gmail.com>
97892010-07-20 Colin Watson <cjwatson@ubuntu.com>
9790
9791 Generate device.map in something closer to the old ordering.
9792
9793 * util/deviceiter.c (struct device): New declaration.
9794 (compare_file_names): Rename to ...
9795 (compare_devices): ... this. Sort by kernel name in preference to
9796 the stable by-id name, but keep the latter as a fallback comparison.
9797 Update header comment.
9798 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
9799 of `struct device' rather than of plain file names.
9800
a29d6a4b
TF
98012010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
9802
9803 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
9804 on i386.
9805
39d824e8
VS
98062010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9807
9808 * commands/acpi.c (setup_common_tables): Use sizeof instead of
9809 hardcoding size.
9810 (setv1table): Likewise.
9811
f058276b
FZ
98122010-07-20 Colin Watson <cjwatson@ubuntu.com>
9813
9814 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
9815 removing the homehost if present.
9816 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
9817 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
9818 removing the homehost if present.
9819 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
9820 if possible.
9821 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
9822
9823 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
9824 parameter. Set its pointer target to 0.
9825 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
9826 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
9827 `data_offset' value from the superblock for 1.x metadata.
9828 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
9829 data on the device.
9830 (insert_array): Record the start sector of data on the device.
9831 (grub_raid_register): Pass start_sector parameters to
9832 grub_raid_list->detect and insert_array.
9833 * include/grub/raid.h (struct grub_raid_array): Add start_sector
9834 member.
9835 (struct grub_raid): Add start_sector parameter to `detect'.
9836
9837 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
9838 __attribute__ ((packed)), leaving a comment.
9839 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
9840 (grub_mdraid_detect_09): ... here and ...
9841 (grub_mdraid_detect_1x): ... here.
9842
98432010-07-20 Peter Henn <peter.henn@web.de>
9844
9845 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
9846 chunk size and disk size, which are already given as sector counts
9847 as distinct from the 0.90 units. Fetch the correct device number
9848 from the role table instead of using the table index.
9849
98502010-07-20 Felix Zielcke <fzielcke@z-51.de>
9851
9852 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
9853 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
9854 (WriteMostly1): New macro.
9855 Set array->name to NULL for metadata format 0.90. Add support for
9856 metadata 1.x. Fix some comments.
9857 * disk/raid.c (): Add support for name based RAID arrays. Fix a
9858 few comments.
9859 * util/getroot.c (grub_util_get_grub_dev): Add support for
9860 /dev/md/name style devices.
9861
4b761da9
CW
98622010-07-20 Colin Watson <cjwatson@ubuntu.com>
9863
9864 * .bzrignore: Ignore 20_linux_xen.
9865
5771289a
CW
98662010-07-17 Colin Watson <cjwatson@ubuntu.com>
9867
9868 * util/import_unicode.py: Remove unnecessary imports.
9869
5dab68df
AN
98702010-07-17 Aleš Nesrsta <starous@volny.cz>
9871
9872 Hotplugging and USB hub support.
9873
9874 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
9875 (grub_ohci): Likewise.
9876 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
9877 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
9878 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
9879 (GRUB_OHCI_CTRL_EDS): Likewise.
9880 (GRUB_OHCI_BULK_EDS): Likewise.
9881 (GRUB_OHCI_TDS): Likewise.
9882 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
9883 (grub_ohci_ed_phys2virt): New function.
9884 (grub_ohci_virt_to_phys): Likewise.
9885 (grub_ohci_td_phys2virt): Likewise.
9886 (grub_ohci_td_virt2phys): Likewise.
9887 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
9888 attachment.
9889 (grub_ohci_find_ed): New function.
9890 (grub_ohci_alloc_td): Likewise.
9891 (grub_ohci_free_td): Likewise.
9892 (grub_ohci_free_tds): Likewise.
9893 (grub_ohci_transfer): Use previously allocated memory.
9894 (grub_ohci_portstatus): Reset status changed bit.
9895 (grub_ohci_detect_dev): Supply status changed.
9896 (grub_ohci_fini_hw): Free memory.
9897 (grub_ohci_restore_hw): Reallocate memory.
9898 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
9899 Reset status change.
9900 (grub_uhci_detect_dev): Supply status_change.
9901 * bus/usb/usb.c (attach_hooks): New var.
9902 (grub_usb_device_attach): New function.
9903 (grub_usb_register_attach_hook_class): Likewise.
9904 (grub_usb_unregister_attach_hook_class): Likewise.
9905 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
9906 (grub_usb_add_hub): Reset connection changed bit.
9907 (attach_root_port): New function.
9908 (grub_usb_root_hub): Likewise.
9909 (poll_nonroot_hub): Likewise.
9910 (grub_usb_poll_devices): Likewise.
9911 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
9912 * disk/usbms.c (grub_usbms_open): Use device hooks.
9913 (grub_usbms_iterate) :Poll devices.
9914 (grub_usbms_finddevs): Split into ...
9915 (grub_usbms_attach): ... this ...
9916 (grub_usbms_attach): ... and this.
9917 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
9918 in detect_dev.
9919 (grub_usb_interface): New fields attached and detach_hook.
9920 (grub_usb_attach_hook_class): New type.
9921 (grub_usb_attach_desc): New struct.
9922 (grub_usb_register_attach_hook_class): New function.
9923 (grub_usb_unregister_attach_hook_class): Likewise.
9924 (grub_usb_poll_devices): Likewise.
9925 (grub_usb_device_attach): Likewise.
9926 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
9927 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
9928
3222efaf
VS
99292010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9930
9931 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
9932 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
9933 delta determination style. Works with most NetBSD partitions too.
9934
139b714a
VS
99352010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
9938 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
9939
986aad56
VS
99402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9941
9942 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
9943
99be513c
AB
99442010-07-14 Anton Blanchard <anton@samba.org>
9945
9946 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9947 ET_DYN files.
9948
18075f62
GS
99492010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9950
9951 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9952
8d9a5b15
GS
99532010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9954
9955 * kern/partition.c (grub_partition_check_containment): New function to
9956 check that a partition is physically contained in a parent. Since
9957 offsets are relative (and non-negative), this reduces to checking that
9958 the partition ends before its parent.
9959 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9960 (grub_partition_iterate): Likewise.
9961 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9962 comments.
9963 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9964 partitions that start before their parent, and add debug printfs.
9965
19563c25
CW
99662010-07-13 Colin Watson <cjwatson@ubuntu.com>
9967
9968 * Makefile.in (.SUFFIX): Spell correctly, as ...
9969 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9970 bare module name without `.mod', e.g. `test') tried to invoke a
9971 Modula-2 compiler.
9972
1a1f1e67
CW
99732010-07-13 Colin Watson <cjwatson@ubuntu.com>
9974
9975 * README: Point to the Info manual.
9976
811b0dca
JS
99772010-07-13 Jiro SEKIBA <jir@unicus.jp>
9978
9979 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9980 2nd superblock position from partition size.
9981
e4f4eafc
CW
99822010-07-10 Colin Watson <cjwatson@ubuntu.com>
9983
9984 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9985 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9986 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9987 outputs.
9988
4274c30f
VS
99892010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 Restructure SCSI .id handling.
9992 Reported and tested by: Aleš Nesrsta.
9993
9994 * disk/ata.c (grub_atapi_close): Removed. All users updated.
9995 (grub_atapi_dev): Changed .name to "ata". New field .id.
9996 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
9997 (grub_usbms_dev): New field .id.
9998 * disk/scsi.c (grub_scsi_iterate): Generate name.
9999 (grub_scsi_open): Parse name.
10000 * include/grub/scsi.h (grub_make_scsi_id): New function.
10001 (grub_scsi_dev): Change iterate and open to number instead of naming
10002 busses. All users updated.
10003 (grub_scsi): Remove name. Add .bus.
10004
5bc24388
VS
100052010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * commands/help.c (grub_cmd_help): Fix a typo.
10008
249975ba
VS
100092010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10010
10011 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10012 Reported and tested by: Colin Watson.
10013
3eaac1a1
VS
100142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10015
10016 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10017 in this context.
10018
becce1b1
VS
100192010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10022
f7bf0918
CW
100232010-07-07 Colin Watson <cjwatson@ubuntu.com>
10024
10025 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10026 indentation.
10027
0b0f9620
CW
100282010-07-06 Colin Watson <cjwatson@ubuntu.com>
10029
10030 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10031 and disk/raid6_recover.c.
10032 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10033 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10034
1e545469
CW
100352010-07-06 Colin Watson <cjwatson@ubuntu.com>
10036
10037 * term/gfxterm.c (repaint_schedulded): Rename to ...
10038 (repaint_scheduled): ... this. Update all callers.
10039 (repaint_was_schedulded): Rename to ...
10040 (repaint_was_scheduled): ... this. Update all callers.
10041
5357687a
CW
100422010-07-06 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10045 which we expect to be handled by upper layers.
10046
29d7e783
BC
100472010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10048
10049 * bus/usb/usbhub.c: #include time.h header.
10050
37582066
CW
100512010-07-06 Colin Watson <cjwatson@ubuntu.com>
10052
10053 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10054 entry_name also for entries without stat blocks (e.g. ".."); fixes
10055 corruption of the first entry in a directory.
10056
c8c06953
CW
100572010-07-06 Colin Watson <cjwatson@ubuntu.com>
10058
10059 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10060 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10061 doesn't work otherwise.
10062
e75056f1
CW
100632010-07-05 Colin Watson <cjwatson@ubuntu.com>
10064
10065 * docs/grub.texi (Features): Update list of supported file systems.
10066 (GNU/Linux): Update for GRUB 2.
10067 (Serial terminal): Remove mention of --disable-serial, which was a
10068 GRUB Legacy configure option. Update instructions to use
10069 `terminal_input' and `terminal_output' rather than `terminal'.
10070 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10071 configuration' and `Installing GRUB using grub-install'.
10072 (Menu entry editor): Update for GRUB 2.
10073 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10074 Document new -a, -u, and -v options.
10075 (initrd): New section.
10076 (initrd16): New section.
10077 (linux): New section.
10078 (linux16): New section.
10079 (search): The `var' argument to `--set' is optional.
10080 (GRUB only offers a rescue shell): Go into a little more detail on
10081 drive ordering.
10082
5cf69151
CW
100832010-07-05 Colin Watson <cjwatson@ubuntu.com>
10084
10085 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10086
e3f90044
CW
100872010-07-05 Colin Watson <cjwatson@ubuntu.com>
10088
10089 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10090 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10091
38d8f4f3
CW
100922010-07-05 Colin Watson <cjwatson@ubuntu.com>
10093
10094 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10095 install_prefix, in line with install_dos_part and install_bsd_part.
10096 Add new prefix variable, which is copied to install_prefix after
10097 comparing core.img in memory with the one read from disk in the
10098 no-embedding case, and use that rather than overwriting
10099 install_prefix immediately when installing to a partition.
10100 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10101 Bicakci.
10102
57ebd41e
GS
101032010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10104
10105 * configure.ac: Avoid == in test command, it's not portable.
10106 * util/grub.d/30_os-prober.in: Likewise.
10107
cb7f64b2
CW
101082010-07-04 Colin Watson <cjwatson@ubuntu.com>
10109
10110 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10111
6b654bb0
GS
101122010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10113
10114 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10115 multiple (top-level) partmaps.
10116
72a2026d
VS
101172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10118
10119 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10120 Reported by: Tino Keitel.
72a2026d 10121
df3eb88f
VS
101222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10123
10124 Bidi and diacritics support.
10125
10126 * Makefile.in (widthspec.bin): New target.
10127 (widthspec.h): Likewise.
10128 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10129 * autogen.sh: Generate unidata.c.
10130 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10131 * commands/ls.c (grub_ls_list_devices): Likewise.
10132 (grub_ls_list_files): Likewise.
10133 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10134 (grub_mini_cmd_lsmod): Likewise.
10135 * commands/read.c: Likewise.
10136 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10137 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10138 * lib/arg.c (grub_arg_show_help): Likewise.
10139 * lib/crypto.c (grub_password_get): Likewise.
10140 * normal/auth.c (grub_username_get): Likewise.
10141 * normal/misc.c (grub_normal_print_device_info): Likewise.
10142 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10143 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10144 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10145 (normal/charset.c_DEPENDENCIES): New variable.
10146 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10147 (pkglib_MODULES): Remove charset.mod.
10148 (charset_mod_SOURCES): Removed.
10149 (charset_mod_CFLAGS): Likewise.
10150 (charset_mod_LDFLAGS): Likewise.
10151 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10152 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10153 and term/tparm.c.
10154 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10155 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10156 (kernel_img_HEADERS): Add terminfo.h.
10157 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10158 Fill ->font. Reverse ascii bitmaps.
10159 (grub_font_get_xheight): New function.
10160 * font/font.c (grub_font_get_string_width): Moved from here ...
10161 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10162 * font/font.c (grub_font_draw_string): Moved from here ...
10163 * gfxmenu/font.c (grub_font_draw_string): ... here.
10164 * font/font.c (grub_font_dup_glyph): New function.
10165 (grub_font_blit_glyph): Likewise.
10166 (grub_font_blit_glyph_mirror): Likewise.
10167 (blit_comb): Likewise.
10168 (grub_font_construct_dry_run): Likewise.
10169 (grub_font_get_constructed_device_width): Likewise.
10170 (grub_font_construct_glyph): Likewise.
10171 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10172 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10173 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10174 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10175 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10176 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10177 (grub_font_get_xheight): New proto.
10178 (grub_font_get_constructed_device_width): Likewise.
10179 (grub_font_construct_glyph): Likewise.
10180 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10181 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10182 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10183 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10184 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10185 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10186 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10187 (grub_console_getcharwidth): Likewise.
10188 * include/grub/misc.h (grub_xputs): New proto.
10189 (grub_puts): Inlined.
10190 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10191 (grub_normal_get_line_counter): Removed.
10192 (grub_install_newline_hook): Likewise.
10193 (grub_normal_get_char_counter): New proto.
10194 (grub_normal_reset_more): Likewise.
10195 (grub_xputs_normal): Likewise.
10196 * include/grub/powerpc/ieee1275/console.h: Removed.
10197 * include/grub/sparc64/ieee1275/console.h: Likewise.
10198 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10199 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10200 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10201 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10202 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10203 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10204 (grub_term_input): Pass reference to self. All users updated.
10205 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10206 Pass reference to self. New fields normal_color, highlight_color and
10207 data. All users updated.
10208 (grub_putchar): Removed.
10209 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10210 (grub_unicode_estimate_width): New function.
10211 (grub_term_getcharwidth): Add defaults.
10212 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10213 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10214 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10215 (grub_cls): Remove EXPORT_FUNC.
10216 (grub_setcolorstate): Inline.
10217 (grub_newline_hook): Removed.
10218 * include/grub/terminfo.h: Rewritten. All users updated.
10219 * include/grub/unicode.h: New file.
10220 * include/grub/video.h (grub_video_signed_rect): New type.
10221 * kern/emu/console.c (grub_console_highlight_color): Removed.
10222 (grub_console_normal_color): Likewise.
10223 (grub_console_standard_color): Made static.
10224 (grub_ncurses_putchar): Remove mapping.
10225 (grub_ncurses_getcharwidth): Removed.
10226 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10227 (grub_ncurses_setcolor): Removed.
10228 (grub_ncurses_getcolor): Likewise.
10229 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10230 (grub_console_putchar): ... this.
10231 (grub_console_putchar): Handle argument difference.
10232 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10233 console_init_early and console_init_lately.
10234 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10235 * kern/misc.c (grub_puts): Removed.
10236 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10237 (grub_vsnprintf_real): Remove str = NULL support.
10238 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10239 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10240 * kern/term.c (grub_putcode): Renamed to ...
10241 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10242 (grub_putchar): Removed.
10243 (grub_xputs_dumb): New function.
10244 (grub_xputs): New variable.
10245 * lib/charset.c: Move from here ...
10246 * normal/charset.c: ... to here.
10247 (grub_ucs4_to_utf8): New function.
10248 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10249 (join_types): New variable.
10250 (unpack_join): New function.
10251 (bidi_types): New variable.
10252 (unpack_bidi): New function.
10253 (get_bidi_type): Likewise.
10254 (get_join_type): Likewise.
10255 (is_mirrored): Likewise.
10256 (grub_unicode_get_comb_type): Likewise.
10257 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10258 (is_type_after): Likewise.
10259 (grub_unicode_aglomerate_comb): Likewise.
10260 (bidi_line_wrap): Likewise.
10261 (grub_bidi_line_logical_to_visual): Likewise.
10262 (grub_bidi_logical_to_visual): Likewise.
10263 (grub_unicode_mirror_code): Likewise.
10264 (grub_unicode_shape_code): Likewise.
10265 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10266 Don't use grub_putchar.
10267 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10268 (grub_normal_reader_init): Likewise.
10269 (grub_xputs_saved): New variable.
10270 (GRUB_MOD_INIT): Set grub_xputs.
10271 (GRUB_MOD_FINI): Restore grub_xputs.
10272 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10273 (menu_init): Avoid printing gfxmenu error.
10274 (show_menu): Use grub_normal_get_char_counter.
10275 * normal/menu_entry.c (update_screen): Fix out-of-array.
10276 (complete): Avoid NULL dereferencing.
10277 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10278 * normal/menu_text.c (print_spaces): Removed.
10279 (grub_print_ucs4): Likewise.
10280 (grub_print_message_indented): Use grub_print_ucs4.
10281 (print_message): Use grub_putcode.
10282 (print_entry): Hanlde diacritics.
10283 * normal/term.c (term_state): New type.
10284 (grub_more_lines): Removed.
10285 (term_states): New variable.
10286 (grub_normal_line_counter): Renamed to ..
10287 (grub_normal_char_counter): ...this. All users updated.
10288 (grub_normal_get_line_counter): Renamed to ...
10289 (grub_normal_get_char_counter): ... this.
10290 (grub_normal_reset_more): New function.
10291 (process_newline): Removed.
10292 (print_more): New function.
10293 (grub_install_newline_hook): Removed.
10294 (map_code): New function.
10295 (grub_puts_terminal): Use grub_print_ucs4.
10296 (putglyph): New function.
10297 (putcode_real): Likewise.
10298 (grub_putcode): Use putcode_real.
10299 (get_maxwidth): New function.
10300 (get_startwidth): Likewise.
10301 (print_ucs4_terminal): Likewise.
10302 (find_term_state): Likewise.
10303 (put_glyphs_terminal): Likewise.
10304 (print_backlog): Likewise.
10305 (print_ucs4_real): Likewise.
10306 (grub_print_ucs4): Likewise.
10307 (grub_xputs_normal): Likewise.
10308 * term/efi/console.c (grub_console_putchar): Output diacritics.
10309 (grub_console_getcharwidth): Removed.
10310 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10311 * term/gfxterm.c (clear_char): Free chars.
10312 (scroll_up): Avoid leaking memory.
10313 (grub_gfxterm_putchar): Support diacritics.
10314 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10315 * term/i386/pc/console.c (grub_console_term_output): Declare as
10316 GRUB_TERM_CODE_TYPE_VGA.
10317 * term/i386/pc/vga.c (grub_vga_term): Declare as
10318 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10319 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10320 GRUB_TERM_CODE_TYPE_VGA.
10321 * term/i386/vga_common.c (map_char): Removed.
10322 (grub_console_putchar): Likewise.
10323 (grub_console_getcharwidth): Likewise.
10324 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10325 (colors): Reordered to match terminfo.
10326 (grub_ofconsole_normal_color): Removed.
10327 (grub_ofconsole_writeesc): Likewise.
10328 (grub_ofconsole_highlight_color): Likewise.
10329 (grub_ofconsole_getcharwidth): Likewise.
10330 (grub_ofconsole_setcolorstate): Likewise.
10331 (grub_ofconsole_setcolor): Likewise.
10332 (grub_ofconsole_getcolor): Likewise.
10333 (grub_ofconsole_readkey): Renamed to ...
10334 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10335 key.
10336 (grub_ofconsole_checkkey): Removed.
10337 (grub_ofconsole_getkey): Likewise.
10338 (grub_ofconsole_getxy): Likewise.
10339 (grub_ofconsole_gotoxy): Likewise.
10340 (grub_ofconsole_cls): Likewise.
10341 (grub_ofconsole_refresh): Likewise.
10342 (grub_ofconsole_terminfo_input): New struct.
10343 (grub_ofconsole_terminfo_output): Likewise.
10344 (grub_ofconsole_term_input): Use terminfo.
10345 (grub_ofconsole_term_output): Likewise.
10346 (grub_console_init): Split into ...
10347 (grub_console_init_early): ...this and ...
10348 (grub_console_init_lately): ...this. Use terminfo.
10349 (grub_ofconsole_putchar): Renamed to ...
10350 (put): ... this. Remove mapping.
10351 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10352 * term/serial.c: Simplify using terminfo.
10353 (xpos): Removed.
10354 (ypos): Likewise.
10355 (keep_track): Likewise.
10356 (registered): Likewise.
10357 (input_buf): Likewise.
10358 (npending): Likewise.
10359 (serial_translate_key_sequence): Likewise.
10360 (fill_input_buf): Likewise.
10361 (grub_serial_checkkey): Likewise.
10362 (grub_serial_getkey): Likewise.
10363 (grub_serial_getxy): Likewise.
10364 (grub_serial_gotoxy): Likewise.
10365 (grub_serial_putchar): Likewise.
10366 (grub_serial_cls): Likewise.
10367 (grub_serial_setcolorstate): Likewise.
10368 (grub_serial_setcursor): Likewise.
10369 (serial_hw_init): Use serial_hw_fetch.
10370 (grub_serial_terminfo_input): New variable.
10371 (grub_serial_terminfo_output): Likewise.
10372 (grub_serial_term_input): Use terminfo.
10373 (grub_serial_term_output): Likewise.
10374 * term/terminfo.c (putstr): Use put.
10375 (grub_terminfo_all_free): New function
10376 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10377 (grub_terminfo_output_register): New function.
10378 (grub_terminfo_output_unregister): Likewise.
10379 (grub_terminfo_getxy): Likewise.
10380 (grub_terminfo_readkey): Likewise.
10381 (grub_terminfo_checkkey): Likewise.
10382 (grub_terminfo_getkey): Likewise.
10383 (grub_terminfo_input_init): Likewise.
10384 (print_terminfo): Likewise.
10385 (grub_cmd_terminfo): Handle encoding.
10386 (grub_terminfo_gotoxy): Track position.
10387 (grub_terminfo_cls): Likewise.
10388 (grub_terminfo_putchar): Likewise.
10389 (grub_terminfo_setcolorstate): Handle colors
10390 (grub_terminfo_cursor_on): This ...
10391 (grub_terminfo_cursor_off): ... and this merged into ...
10392 (grub_terminfo_setcursor): ... this.
10393 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10394 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10395 * unicode/BidiMirroring.txt: Likewise.
10396 * unicode/UnicodeData.txt: Likewise.
10397 * unicode/COPYING: Likewise.
10398 * util/grub-editenv.c (grub_putchar): Removed.
10399 (grub_xputs_real): New function.
10400 (grub_xputs): New variable.
10401 * util/grub-fstest.c (grub_putchar): Removed.
10402 (grub_xputs_real): New function.
10403 (grub_xputs): New variable.
10404 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10405 (grub_xputs_real): New function.
10406 (grub_xputs): New variable.
10407 * util/grub-probe.c (grub_putchar): Removed.
10408 (grub_xputs_real): New function.
10409 (grub_xputs): New variable.
10410 * util/grub-script-check.c (grub_putchar): Removed.
10411 (grub_xputs_real): New function.
10412 (grub_xputs): New variable.
10413 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10414 (grub_xputs_real): New function.
10415 (grub_xputs): New variable.
10416 * util/import_unicode.py: New file.
10417 * util/grub-mkfont.c (ft_errmsgs): New array.
10418 (grub_glyph_info): Make bitmap a pointer.
10419 (file_formats): New type WIDTH_SPEC.
10420 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10421 (options): Add width-spec.
10422 (help): Likewise.
10423 (add_char): Renamed to ...
10424 (add_glyph): ... this.
10425 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10426 (glyph_replace): New type.
10427 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10428 (add_char): New function.
10429 (add_subst): Likewise.
10430 (process_cursive): Likewise.
10431 (add_font): Handle GSUB.
10432 (write_font_width_spec): New function.
10433 (main): Sort glyphs.
10434 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10435 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10436 * kern/term.c (grub_cls): Moved from here...
10437 * normal/term.c (grub_cls): ... here.
10438
50f0bcda
CW
104392010-07-02 Colin Watson <cjwatson@ubuntu.com>
10440
10441 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10442 suitable for using within the format argument of printf when
10443 converting grub_size_t.
10444 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10445 "x" to convert grub_size_t arguments.
10446
40372103
VS
104472010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10450 too long captions.
10451 (list_get_minimal_size): Take selection box into account.
10452
942a10c7
VS
104532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10454
10455 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10456 NULL font.
10457
2bdb2892
CW
104582010-07-02 Colin Watson <cjwatson@ubuntu.com>
10459
10460 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10461 devices when iterating over /dev/disk/by-id; they will be handled
10462 later if appropriate, which they aren't always (e.g. LVM).
10463
e03ed6c1
CW
104642010-07-02 Colin Watson <cjwatson@ubuntu.com>
10465
10466 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10467 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10468 fails.
10469 (grub_halt): Likewise.
10470 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10471 reset-all fails.
10472 (grub_halt): Don't return, even if all of shut-down, power-off, and
10473 poweroff fail.
10474
47695765
CW
104752010-07-02 Colin Watson <cjwatson@ubuntu.com>
10476
10477 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10478 arguments, not three.
10479
507736c8
CW
104802010-07-02 Colin Watson <cjwatson@ubuntu.com>
10481
10482 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10483 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10484 LVM-on-RAID is handled correctly.
10485
e3c8cd37
CW
104862010-07-02 Colin Watson <cjwatson@ubuntu.com>
10487
10488 * docs/grub.texi (Changes from GRUB Legacy): New section.
10489 (Future): Fix typo.
10490
8d4a2fec
CW
104912010-07-02 Colin Watson <cjwatson@ubuntu.com>
10492
10493 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10494 grub.d/README accidentally ends up executable for one reason or
10495 another. Ignore it.
10496
1c4827be
VS
104972010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10498
10499 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10500 (gpt_partition_map_iterate): Support non-512B sectors.
10501
d9a0c941
VS
105022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10503
10504 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10505 Tested by: Seth Goldberg.
10506
48f27e87
VS
105072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10508
10509 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10510 Properly align mbi.
10511 Reported by: Seth Goldberg.
10512
b0c4f956
VS
105132010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10514
10515 * util/grub-mkrescue.in: Avoid module duplication.
10516
105a2e8c
SF
105172010-07-01 Sean Finney <seanius@seanius.net>
10518
10519 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10520
5944958c
SF
105212010-07-01 Sean Finney <seanius@seanius.net>
10522
10523 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10524
105252010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * disk/lvm.c (grub_lvm_checkvalue): New function.
10528 (grub_lvm_check_flag): Likewise.
10529
b79889ba
RM
105302010-07-01 Robert Millan <rmh@gnu.org>
10531
10532 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10533 Support 'p' as partition separator on kernel of FreeBSD (used
10534 with GPT labels).
10535 (grub_util_biosdisk_get_grub_dev): Likewise.
10536
ec1d04f1
VS
105372010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Yeeloong firmware port.
10540
10541 * boot/mips/yeeloong/fwstart.S: New file.
10542 * bus/cs5536.c (gpiodump): New const.
10543 (set_io_space): New function.
10544 (set_iod): Likewise.
10545 (set_p2d): Likewise.
10546 (grub_cs5536_init_geode): Likewise.
10547 * commands/mips/yeeloong/lsspd.c: New file.
10548 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10549 (serial_mod_SOURCES): New variable.
10550 (serial_mod_CFLAGS): Likewise.
10551 (serial_mod_LDFLAGS): Likewise.
10552 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10553 term/terminfo.c and term/tparm.c.
10554 (pkglib_IMAGES): Add fwstart.img.
10555 (fwstart_img_SOURCES): New variable.
10556 (fwstart_img_CFLAGS): Likewise.
10557 (fwstart_img_ASFLAGS): Likewise.
10558 (fwstart_img_LDFLAGS): Likewise.
10559 (fwstart_img_FORMAT): Likewise.
10560 (pkglib_MODULES): Add lsspd.mod.
10561 (lsspd_mod_SOURCES): New variable.
10562 (lsspd_mod_CFLAGS): Likewise.
10563 (lsspd_mod_LDFLAGS): Likewise.
10564 (pkglib_MODULES): Add halt.mod.
10565 (halt_mod_SOURCES): New variable.
10566 (halt_mod_CFLAGS): Likewise.
10567 (halt_mod_LDFLAGS): Likewise.
10568 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10569 (serial_mod_SOURCES): Removed.
10570 (serial_mod_CFLAGS): Likewise.
10571 (serial_mod_LDFLAGS): Likewise.
10572 * disk/ata.c (check_device): New function.
10573 (grub_ata_device_initialize): Use check_device.
10574 (grub_ata_iterate): Recheck devices.
10575 (grub_ata_open): Likewise.
10576 (grub_atapi_iterate): Likewise.
10577 (grub_atapi_open): Likewise.
10578 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10579 (GRUB_ATA_CH1_PORT1): Likewise.
10580 (GRUB_ATA_CH0_PORT2): Likewise.
10581 (GRUB_ATA_CH1_PORT2): Likewise.
10582 * include/grub/mips/loongson.h: New file.
10583 * include/grub/mips/yeeloong/ec.h: Likewise.
10584 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10585 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10586 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10587 * include/grub/misc.h (grub_halt): Declare as noreturn.
10588 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10589 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10590 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10591 (UART_ENABLE_DTRRTS): Likewise.
10592 (UART_ENABLE_MODEM): Removed.
10593 (UART_ENABLE_OUT2): New const.
10594 * include/grub/term.h (grub_term_register_input_active): New function.
10595 (grub_term_register_output_active): Likewise.
10596 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10597 argument.
10598 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10599 (init_pci): New function.
10600 (grub_machine_init): Execute platform init when firmware. Init serial.
10601 (grub_halt): Implement.
10602 (grub_exit): Likewise.
10603 (grub_reboot): Likewise.
10604 * term/serial.c (serial_hw_init): Update macros.
10605 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10606 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10607 (image_targets): New target mipsel-yeeloong-flash.
10608 (generate_image): Support IMAGE_YEELOONG_FLASH.
10609 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10610 (grub_video_sm712_setup): Init card.
10611 (grub_video_sm712_set_palette): Removed.
10612 * video/sm712_init.c: New file.
10613
ff4a70d2
CW
106142010-06-30 Colin Watson <cjwatson@ubuntu.com>
10615
10616 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10617 PATH when running help2man and then run it on the unadorned
10618 executable names, rather than passing $(builddir)/* paths to
10619 help2man. This avoids the build directory ending up in generated
10620 manual pages.
10621
1246efeb
CW
106222010-06-29 Colin Watson <cjwatson@ubuntu.com>
10623
10624 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10625 to avoid accidents when debugging with 'sh -x'.
10626 * util/grub-mkrescue.in: Likewise.
10627 * util/grub.d/00_header.in: Likewise.
10628 * util/grub.d/10_hurd.in: Likewise.
10629 * util/grub.d/10_kfreebsd.in: Likewise.
10630 * util/grub.d/10_linux.in: Likewise.
10631 * util/grub.d/10_netbsd.in: Likewise.
10632 * util/grub.d/10_windows.in: Likewise.
10633 * util/grub.d/20_linux_xen.in: Likewise.
10634 * util/grub.d/30_os-prober.in: Likewise.
10635 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10636
1ba9b889
CW
106372010-06-29 Colin Watson <cjwatson@ubuntu.com>
10638
10639 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10640 last character in the buffer.
10641 Reported by: Vladimir Serbinenko.
10642
dccaf99d
RM
106432010-06-29 Robert Millan <rmh@gnu.org>
10644
10645 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10646 (Command-line and menu entry commands): Document `badram' command.
10647
d500ed12
RM
106482010-06-28 Robert Millan <rmh@gnu.org>
10649
10650 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10651 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10652 command using ${GRUB_BADRAM} as parameter.
10653
20bc84a6
CW
106542010-06-28 Colin Watson <cjwatson@ubuntu.com>
10655
10656 * docs/grub.texi (Device map): New section.
10657 (Themes): New section (stub).
10658 * Makefile.in (docs/grub.info): The info documentation now builds
10659 without errors. Make sure it stays that way.
10660
4045dee1
VS
106612010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 Use normal parser for menu entries.
10664 Reported by: Thomas Frauendorfer
10665
10666 * include/grub/parser.h (grub_parser_execute): Don't export.
10667 * normal/menu.c (grub_menu_execute_entry_real): New function.
10668 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10669
bca58c7b
CW
106702010-06-28 Colin Watson <cjwatson@ubuntu.com>
10671
10672 * docs/grub.texi (Embedded configuration): New section (replacing
10673 old "Preset Menu" stub).
10674 (Images): New section.
10675 (configfile): Note that any menu entries defined in `file' are shown
10676 immediately.
10677
dec53e63
JT
106782010-06-28 Josh Triplett <josh@joshtriplett.org>
10679
10680 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10681
c06e40f7
CW
106822010-06-28 Colin Watson <cjwatson@ubuntu.com>
10683
10684 * util/grub-install.in: Add --debug-image= option.
10685
cb88052b
CW
106862010-06-28 Colin Watson <cjwatson@ubuntu.com>
10687
10688 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10689 possible on Linux.
10690
10691 * util/deviceiter.c (check_device): Rename to ...
10692 (check_device_readable_unique): ... this. Update all callers.
10693 Maintain and check a list of which devices (by canonicalized name)
10694 have already been seen.
10695 (clear_seen_devices): New function.
10696 (compare_file_names) [__linux__]: New function.
10697 (grub_util_iterate_devices): Clear the list of seen devices on exit
10698 and (just in case) on entry.
10699 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
10700 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
10701 seen-devices list, superseded by general code in check_device.
10702
bbe34652
CW
107032010-06-28 Colin Watson <cjwatson@ubuntu.com>
10704
10705 * commands/cat.c (options): New variable.
10706 (grub_cmd_cat): Parse options. If the --dos option is given, print
10707 DOS-style "\r\n" line endings as simple newlines (Debian bug
10708 #586358).
10709 (GRUB_MOD_INIT): Use extcmd.
10710 (GRUB_MOD_FINI): Likewise.
10711 * docs/grub.texi (cat): Document --dos.
10712
412e09f3
VS
107132010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 XEN with Linux grub-mkconfig support.
10716
10717 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
10718 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
10719 GRUB_CMDLINE_XEN_DEFAULT.
10720 * util/grub.d/20_linux_xen.in: New file.
10721
53f3ef38 107222010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
10723
10724 Initialise VGA video on qemu ourselves.
10725
10726 * boot/i386/qemu/boot.S: Don't call 0xc000.
10727 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
10728 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
10729 (kernel_img_HEADERS): Add pci.h.
10730 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
10731 * configure.ac: Force unifont on qemu and yeeloong.
10732 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
10733 (grub_vga_palette_write): Use correct register.
10734 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
10735 Call grub_qemu_init_cirrus.
10736 * kern/i386/qemu/init.c: New file.
10737 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
10738
10739 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
10740
c75be4fb
PR
107412010-06-26 Pavel Roskin <proski@gnu.org>
10742
10743 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
10744 13.
10745
d8034603
CW
107462010-06-26 Colin Watson <cjwatson@ubuntu.com>
10747
10748 * docs/grub.texi (Simple configuration): Explain that
10749 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10750 set to `true' to disable their respective recovery entries, not
10751 merely set.
10752
3fa06487
CW
107532010-06-26 Colin Watson <cjwatson@ubuntu.com>
10754
10755 Make the `source' command slightly faster.
10756
10757 * normal/main.c (grub_normal_execute): Don't re-read list files when
10758 nested.
10759
e9b29642
CW
107602010-06-23 Colin Watson <cjwatson@ubuntu.com>
10761
10762 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
10763 field position and mask size to red fields from mode_info, not
10764 green.
10765 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
10766 Remove redundant tag->common.framebuffer_type assignment.
10767 Reported by: Seth Goldberg.
10768
e726542f
CW
107692010-06-23 Colin Watson <cjwatson@ubuntu.com>
10770
10771 Sync up other versions of the Linux loader with Robert Millan's
10772 change of 2010-01-09, "Make loader output a bit more user-friendly".
10773
10774 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
10775 grub_dprintf().
10776 (grub_cmd_linux): Likewise.
10777 (grub_cmd_initrd): Likewise.
10778 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
10779 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10780
d6e98a17
CW
107812010-06-21 Colin Watson <cjwatson@ubuntu.com>
10782
10783 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
10784 larger than MEMORY_MAP_SIZE.
10785
14d3f08e
BC
107862010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
10787
10788 Fix parallel build.
10789
10790 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
10791 dependency.
10792 * script/parser.y: #include grub_script.tab.h header.
10793
4f9613a3
VS
107942010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 Support >3GiB and <16MiB RAM in i386-qemu.
10797
10798 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
10799 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
10800 (grub_lower_mem): Removed.
10801 (grub_upper_mem): Likewise.
10802 (mem_size): Made static.
10803 (above_4g): New variable.
10804 (grub_machine_mmap_init): Detect small mem_size and above_4g.
10805 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
10806 support.
10807
05e51879
VS
108082010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Cirrus 5446 and Bochs video cards support.
10811
10812 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
10813 video_bochs.mod
10814 (video_cirrus_mod_SOURCES): New variable.
10815 (video_cirrus_mod_CFLAGS): Likewise.
10816 (video_cirrus_mod_LDFLAGS): Likewise.
10817 (video_bochs_mod_SOURCES): Likewise.
10818 (video_bochs_mod_CFLAGS): Likewise.
10819 (video_bochs_mod_LDFLAGS): Likewise.
10820 * include/grub/vga.h: New file.
10821 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
10822 (grub_video_fb_set_page_t): New type.
10823 (grub_video_fb_setup): New prototype.
10824 (grub_video_fb_swap_buffers): Likewise.
10825 (grub_video_fb_get_info_and_fini): Likewise.
10826 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
10827 (CRTC_DATA_PORT): Likewise.
10828 (CRTC_CURSOR): Likewise.
10829 (CRTC_CURSOR_ADDR_HIGH): Likewise.
10830 (CRTC_CURSOR_ADDR_LOW): Likewise.
10831 (CRTC_CURSOR_DISABLE): Likewise.
10832 (update_cursor): Use grub_vga_cr_write.
10833 (grub_vga_text_setcursor): Likewise.
10834 * video/bochs.c: New file.
10835 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
10836 (palette): Likewise.
10837 (palette_size): Likewise.
10838 (framebuffer): New variable.
10839 (grub_video_fb_init): Use 'framebuffer'.
10840 (grub_video_fb_fini): Likewise.
10841 (grub_video_fb_get_info): Likewise.
10842 (grub_video_fb_get_palette): Likewise.
10843 (grub_video_fb_set_palette): Likewise.
10844 (grub_video_fb_set_viewport): Likewise.
10845 (grub_video_fb_get_viewport): Likewise.
10846 (grub_video_fb_map_color): Likewise.
10847 (grub_video_fb_map_rgb): Likewise.
10848 (grub_video_fb_map_rgba): Likewise.
10849 (grub_video_fb_unmap_color): Likewise.
10850 (grub_video_fb_unmap_color_int): Likewise.
10851 (grub_video_fb_fill_rect): Likewise.
10852 (grub_video_fb_blit_bitmap): Likewise.
10853 (grub_video_fb_blit_render_target): Likewise.
10854 (grub_video_fb_scroll): Likewise.
10855 (grub_video_fb_create_render_target): Likewise.
10856 (grub_video_fb_doublebuf_blit_init): Likewise.
10857 (grub_video_fb_set_active_render_target): Handle doublebuffering.
10858 (doublebuf_pageflipping_update_screen): New function.
10859 (doublebuf_pageflipping_init): Likewise.
10860 (grub_video_fb_setup): Likewise.
10861 (grub_video_fb_swap_buffers): Likewise.
10862 (grub_video_fb_get_info_and_fini): Likewise.
10863 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
10864 All users updated.
10865 (doublebuf_pageflipping_commit): Restructured into ...
10866 (doublebuf_pageflipping_set_page): ... this.
10867 (doublebuf_pageflipping_update_screen): Removed.
10868 (doublebuf_pageflipping_init): Likewise.
10869 (double_buffering_init): Likewise.
10870 (grub_video_vbe_setup): Use grub_video_fb_setup.
10871 (grub_video_vbe_swap_buffers): Removed.
10872 (grub_video_vbe_set_active_render_target): Likewise.
10873 (grub_video_vbe_get_active_render_target): Likewise.
10874 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
10875 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
10876 grub_video_fb_set_active_render_target and
10877 grub_video_fb_get_active_render_target.
10878 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
10879 (SEQUENCER_DATA_PORT): Likewise.
10880 (MAP_MASK_REGISTER): Likewise.
10881 (CRTC_ADDR_PORT): Likewise.
10882 (CRTC_DATA_PORT): Likewise.
10883 (START_ADDR_HIGH_REGISTER): Likewise.
10884 (START_ADDR_LOW_REGISTER): Likewise.
10885 (GRAPHICS_ADDR_PORT): Likewise.
10886 (GRAPHICS_DATA_PORT): Likewise.
10887 (READ_MAP_REGISTER): Likewise.
10888 (INPUT_STATUS1_REGISTER): Likewise.
10889 (INPUT_STATUS1_VERTR_BIT): Likewise.
10890 (get_map_mask): Use grub_vga_sr_read.
10891 (set_map_mask): Use grub_vga_sr_write.
10892 (set_read_map): Use grub_vga_gr_write.
10893 (set_start_address): Use grub_vga_cr_write.
10894 * video/sm712.c (framebuffer): Remove leftover fields.
10895
4321c64a
CW
108962010-06-20 Colin Watson <cjwatson@ubuntu.com>
10897
10898 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
10899 setting GRUB_VIDEO_BACKEND. Make it available as a user override
10900 instead. Replace the gfxterm backend check with a check that
10901 ${GRUB_PREFIX}/video.lst is non-empty.
10902 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
10903 again.
10904 (load_video): New generated function. Call it before loading
10905 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
10906 * util/grub.d/10_linux.in (linux_entry): Call load_video.
10907 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
10908 * docs/grub.texi (Simple configuration): Document
10909 GRUB_VIDEO_BACKEND.
10910
109112010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10912
10913 Use video functions in linux and xnu loaders.
10914
10915 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
10916 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
10917 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
10918 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
10919 loader/i386/pc/linux.c.
10920 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
10921 (find_line_len): Removed.
10922 (find_framebuf): Likewise.
10923 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
10924 * loader/i386/efi/xnu.c: Removed.
10925 * loader/i386/pc/xnu.c: Moved from here...
10926 * loader/i386/xnu.c: ...here.
10927
10928 Enable priorities in video drivers.
10929
10930 * include/grub/video.h (grub_video_adapter_prio_t): New type.
10931 (grub_video_adapter): New field prio.
10932 (grub_video_register): Respect prio when inserting.
10933 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
10934 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
10935 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
10936 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
10937 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
10938 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
10939 * video/sm712.c (grub_video_sm712_adapter): Likewise.
10940
10941 Fix SDL driver ID.
10942
10943 * include/grub/video.h (grub_video_driver_id_t): New value
10944 GRUB_VIDEO_DRIVER_SDL.
10945 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10946
7d24e434
CW
109472010-06-17 Colin Watson <cjwatson@ubuntu.com>
10948
10949 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10950 argument to printf.
10951 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10952
c88a83f6
CW
109532010-06-17 Colin Watson <cjwatson@ubuntu.com>
10954
10955 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10956 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10957
094dfb69
CW
109582010-06-17 Colin Watson <cjwatson@ubuntu.com>
10959
10960 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10961 directly, and recommend grub-install instead.
10962 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10963
2164da6b
CW
109642010-06-17 Colin Watson <cjwatson@ubuntu.com>
10965
10966 Fix i386-pc prefix handling with nested partitions (Debian bug
10967 #585068). Note that the case where the core image is booted using
10968 multiboot and relocated from its original location still requires
10969 more work.
10970
10971 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10972 with "(,", fill the boot drive in between those two characters, but
10973 expect that a full partition specification including partition map
10974 names will follow.
10975 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10976 specified, write a prefix without the drive name but including a
10977 full partition specification.
10978
044e2e60
CW
109792010-06-16 Colin Watson <cjwatson@ubuntu.com>
10980
10981 * util/grub-mkconfig.in: Ignore non-option arguments, for
10982 compatibility with older versions (before 2010-06-12) which did the
10983 same. In particular, this makes it easier to ship an update-grub
10984 wrapper which is compatible with that used with GRUB Legacy (Debian
10985 bug #586056).
10986
5591324f
GS
109872010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10988
10989 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10990 for manual page generation.
10991
662e24d5
GS
109922010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10993
10994 * po/POTFILES: Remove leftover commands/handler.c.
10995
8d70754e
CW
109962010-06-14 Colin Watson <cjwatson@ubuntu.com>
10997
10998 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
10999 left this script non-functional.
11000
41160e2e
CW
110012010-06-14 Colin Watson <cjwatson@ubuntu.com>
11002
11003 * docs/man/grub-emu.h2m: New file.
11004
b5309cc1
CW
110052010-06-13 Colin Watson <cjwatson@ubuntu.com>
11006
11007 * docs/grub.texi (Commands): Document reduced command set in rescue
11008 mode.
11009 (cpuid): New section.
11010
fcb2d090
GS
110112010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11012
11013 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11014 new partition naming style.
11015 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11016
96e5c556
BC
110172010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11018
11019 Add "-o grub.iso" like cmdline options support.
11020
11021 * util/grub-install.in: Improve cmdline option parsing.
11022 * util/grub-mkconfig.in: Likewise.
11023 * util/grub-mkrescue.in: Likewise.
11024 * util/grub-reboot.in: Likewise.
11025 * util/grub-set-default.in: Likewise.
11026 * util/i386/efi/grub-install.in: Likewise.
11027 * util/ieee1275/grub-install.in: Likewise.
11028 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11029
c16be99b
CW
110302010-06-12 Colin Watson <cjwatson@ubuntu.com>
11031
11032 * .bzrignore: Ignore 41_custom.
11033
ce08a9fb
TS
110342010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11035
11036 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11037
7beac90c
CW
110382010-06-12 Colin Watson <cjwatson@ubuntu.com>
11039
11040 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11041 prototype declarations.
11042
11043 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11044 generating fs, partmap, and video lists.
11045 * include/grub/fs.h (grub_fs_register): Omit prototype if
11046 GRUB_LST_GENERATOR is defined.
11047 * include/grub/partition.h (grub_partition_map_register): Likewise.
11048 * include/grub/video.h (grub_video_register): Likewise.
11049
1c8f0f8d
JM
110502010-06-12 Javier Martín <lordhabbit@gmail.com>
11051
11052 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11053
a6085973
TS
110542010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11055
11056 * util/grub-mkrescue.in: Support --xorriso argument.
11057
25c56d29
VS
110582010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11059
11060 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11061 Suggested by: Thomas Schmitt.
11062
e03e4b24
VS
110632010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11064
11065 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11066 Suggested by: Thomas Schmitt.
11067
57711df6
VS
110682010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 custom.cfg support.
11071
11072 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11073 * util/grub.d/41_custom.in: New file.
11074
ee62c427
CW
110752010-06-12 Colin Watson <cjwatson@ubuntu.com>
11076
11077 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11078 been merged back into normal.
11079
283af07a
CW
110802010-06-11 Colin Watson <cjwatson@ubuntu.com>
11081
11082 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11083 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11084
56a0d956
CW
110852010-06-11 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11088 when generating manual pages.
11089 * docs/man/grub-bin2h.h2m: New file.
11090 * docs/man/grub-editenv.h2m: New file.
11091 * docs/man/grub-fstest.h2m: New file.
11092 * docs/man/grub-install.h2m: New file.
11093 * docs/man/grub-macho2img.h2m: New file.
11094 * docs/man/grub-mkconfig.h2m: New file.
11095 * docs/man/grub-mkdevicemap.h2m: New file.
11096 * docs/man/grub-mkfont.h2m: New file.
11097 * docs/man/grub-mkimage.h2m: New file.
11098 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11099 * docs/man/grub-mkrelpath.h2m: New file.
11100 * docs/man/grub-mkrescue.h2m: New file.
11101 * docs/man/grub-ofpathname.h2m: New file.
11102 * docs/man/grub-pe2elf.h2m: New file.
11103 * docs/man/grub-probe.h2m: New file.
11104 * docs/man/grub-reboot.h2m: New file.
11105 * docs/man/grub-script-check.h2m: New file.
11106 * docs/man/grub-set-default.h2m: New file.
11107 * docs/man/grub-setup.h2m: New file.
11108
3a37e322
VS
111092010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 Use FOR_* macros instead of *_iterate whenever possible.
11112
11113 * commands/handler.c: Removed.
11114 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11115 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11116 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11117 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11118 (grub_probe_SOURCES): Remove kern/parser.c.
11119 (util/grub-script-check.c_DEPENDENCIES): Removed.
11120 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11121 and grub_script_check_init.c.
11122 (grub_script_check_init.lst): Removed.
11123 (grub_script_check_init.h): Likewise.
11124 (grub_script_check_init.c): Likewise.
11125 (pkglib_MODULES): Remove handler.mod and sh.mod.
11126 (handler_mod_SOURCES): Removed.
11127 (handler_mod_CFLAGS): Likewise.
11128 (handler_mod_LDFLAGS): Likewise.
11129 (normal_mod_SOURCES): Remove normal/handler.c.
11130 Add script/main.c, script/script.c, script/execute.c,
11131 script/function.c, script/lexer.c, grub_script.tab.c
11132 and grub_script.yy.c.
11133 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11134 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11135 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11136 (grub_setup_SOURCES): Remove kern/parser.c.
11137 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11138 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11139 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11140 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11141 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11142 (grub_setup_SOURCES): Remove kern/parser.c.
11143 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11144 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11145 * include/grub/command.h (grub_command_iterate): Removed.
11146 (FOR_COMMANDS): New macro.
11147 * include/grub/dl.h (grub_dl): New member next.
11148 (grub_dl_iterate): Removed.
11149 (grub_dl_head): New variable declaration.
11150 (FOR_DL_MODULES): New macro.
11151 * include/grub/fs.h: Include list.h.
11152 (grub_fs): Make next first element.
11153 (grub_fs_list): New variable declaration.
11154 (grub_fs_register): Make inline.
11155 (grub_fs_unregister): Likewise.
11156 (grub_fs_iterate): Removed.
11157 (FOR_FILESYSTEMS): New macro.
11158 * include/grub/handler.h: Removed.
11159 * include/grub/list.h (grub_list_hook_t): Removed.
11160 (grub_list_test_t): Likewise.
11161 (grub_list_pop): Likewise.
11162 (grub_list_iterate): Likewise.
11163 (grub_list_insert): Likewise.
11164 (FOR_LIST_ELEMENTS): New macro.
11165 * include/grub/parser.h (grub_parser_class): Removed.
11166 (grub_parser_register): Likewise.
11167 (grub_parser_unregister): Likewise.
11168 (grub_parser_get_current): Likewise.
11169 (grub_parser_set_current): Likewise.
11170 (grub_register_rescue_parser): Likewise.
11171 (grub_rescue_parse_line): New function.
11172 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11173 * include/grub/script_sh.h (grub_script_function_list): New variable
11174 declaration.
11175 (FOR_SCRIPT_FUNCTIONS): New macro.
11176 (grub_script_function_iterate): Removed.
11177 (grub_normal_parse_line): New prototype.
11178 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11179 (FOR_DISABLED_TERM_INPUTS): Likewise.
11180 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11181 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11182 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11183 element.
11184 (grub_video_register): Inline.
11185 (grub_video_unregister): Likewise.
11186 (grub_video_adapter_list): New variable declaration.
11187 (grub_video_iterate): Removed.
11188 (FOR_VIDEO_ADAPTERS): New macro.
11189 * kern/dl.c (grub_dl_list): Removed. All users updated.
11190 (grub_dl_iterate): Removed.
11191 * kern/fs.c (grub_fs_list): Make global.
11192 (grub_fs_register): Removed.
11193 (grub_fs_unregister): Likewise.
11194 (grub_fs_iterate): Likewise.
11195 * kern/handler.c: Removed.
11196 * kern/list.c (grub_list_pop): Removed.
11197 (grub_list_iterate): Likewise.
11198 (grub_list_insert): Likewise.
11199 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11200 (grub_prio_list_insert): Don't use grub_list_insert.
11201 * kern/main.c (grub_register_rescue_parser): Don't call
11202 grub_register_rescue_parser.
11203 * kern/parser.c (grub_parser_class): Removed.
11204 (grub_parser_execute): Use grub_rescue_parse_line.
11205 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11206 (grub_rescue_parser): Removed.
11207 (grub_register_rescue_parser): Likewise.
11208 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11209 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11210 (grub_auth_check_authentication): Likewise.
11211 * normal/completion.c (iterate_command): Removed.
11212 (grub_normal_do_completion): Use FOR_COMMANDS.
11213 * normal/handler.c: Removed.
11214 * normal/main.c (read_config_file): Remove parser changing.
11215 (grub_normal_execute): Don't call read_handler_list.
11216 (grub_normal_read_line_real): Statically allocate prompt.
11217 (grub_cmdline_run): Use grub_normal_parse_line.
11218 (GRUB_MOD_FINI): Don't call free_handler_list.
11219 * normal/menu_entry.c (run): Likewise.
11220 * script/function.c (grub_script_function_list): Make global.
11221 (grub_script_function_iterate): Removed.
11222 * script/main.c (grub_normal_parse_line): Make global.
11223 (grub_sh_parser): Removed.
11224 (GRUB_MOD_INIT): Likewise.
11225 (GRUB_MOD_FINI): Likewise.
11226 * tests/lib/functional_test.c (grub_functional_test): Use
11227 FOR_LIST_ELEMENTS.
11228 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11229 (grub_test_run): Use FOR_LIST_ELEMENTS.
11230 * tests/lib/unit_test.c (main): Likewise.
11231 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11232 grub_list_pop.
11233 * util/grub-fstest.c (grub_term_input_class): Removed.
11234 (grub_term_output_class): Likewise.
11235 * util/grub-probe.c: Likewise.
11236 * util/i386/pc/grub-setup.c: Likewise.
11237 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11238 * util/grub-script-check.c (main): Don't call grub_init_all and
11239 grub_fini_all.
11240 * video/video.c (grub_video_adapter_list): Make global.
11241 (grub_video_register): Removed.
11242 (grub_video_unregister): Likewise.
11243 (grub_video_iterate): Likewise.
11244
6289c3a7
VS
112452010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11248 reported by Henrique Ferreiro.
11249
91460247
RM
112502010-06-09 Robert Millan <rmh@gnu.org>
11251
11252 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11253 ones, when both are available.
11254
0ea7c4f9
GS
112552010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11256
11257 Make --version uniform and avoid hard-coded program name.
11258
11259 * util/grub-mkimage.c (main): Use `program_name' instead of
11260 hard-coded string.
11261 * util/i386/pc/grub-setup.c (main): Likewise.
11262 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11263 * util/grub-install.in: Save the basename of $0 in $self, and use the
11264 latter in informational messages. Use the same format for --version
11265 as the binary programs.
11266 * util/grub-mkconfig.in: Likewise.
11267 * util/grub-mkrescue.in: Likewise.
11268 * util/grub-reboot.in: Likewise.
11269 * util/grub-set-default.in: Likewise.
11270 * util/i386/efi/grub-install.in: Likewise.
11271 * util/ieee1275/grub-install.in: Likewise.
11272 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11273
e8a6f3b6
GS
112742010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11275
11276 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11277 embedding area. Use <= instead of == when checking for non-emptiness.
11278
f4d095d7
GS
112792010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11280
11281 * configure.ac: Add `.' to the directories searched for unifont.
11282
50e532ca
CW
112832010-06-08 Colin Watson <cjwatson@ubuntu.com>
11284
11285 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11286 grub_script.yy.h.
11287
d39f3dec
CW
112882010-06-08 Colin Watson <cjwatson@ubuntu.com>
11289
11290 * docs/grub.texi (History): Expand to cover GRUB 2.
11291 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11292 commands, not `terminal'.
11293 (serial): Likewise.
11294 (terminal_input): New section.
11295 (terminal_output): New section.
11296 (uppermem): New section (stub).
11297 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11298
6ef0ddb4
CW
112992010-06-08 Colin Watson <cjwatson@ubuntu.com>
11300
11301 * docs/grub.texi (Security): Menu entries are unrestricted by
11302 default, not restricted to superusers as I had previously thought.
11303 Reword to account for this.
11304
e0f4c438
CW
113052010-06-07 Colin Watson <cjwatson@ubuntu.com>
11306
11307 * kern/emu/misc.c (device_mapper_null_log): New function.
11308 (grub_device_mapper_supported): New function.
11309 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11310 prototype.
11311 * kern/emu/hostdisk.c (find_partition_start): Check whether
11312 device-mapper is supported before trying to use it.
11313 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11314
da908200
CW
113152010-06-07 Colin Watson <cjwatson@ubuntu.com>
11316
11317 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11318 (File name syntax): Likewise.
11319 (help): --all is no longer supported in GRUB 2. Be more precise
11320 about pattern matching.
11321
fb55c3ac
CW
113222010-06-07 Colin Watson <cjwatson@ubuntu.com>
11323
11324 * normal/completion.c (grub_normal_do_completion): When completing
11325 arguments to "set" and the current word contains an equals sign,
11326 skip to after the equals sign before starting completion.
11327
258c2573
CW
113282010-06-07 Colin Watson <cjwatson@ubuntu.com>
11329
11330 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11331
ee75515e
CW
113322010-06-07 Colin Watson <cjwatson@ubuntu.com>
11333
11334 * docs/grub.texi (Network): New section.
11335 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11336 `(nd)' as in GRUB Legacy.
11337 (pxe_unload): New section.
11338
a6a700aa
CW
113392010-06-07 Colin Watson <cjwatson@ubuntu.com>
11340
11341 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11342 in the rescue shell, so recommend using `set' instead. Thanks,
11343 Jordan Uggla.
11344
4003dd38
CW
113452010-06-07 Colin Watson <cjwatson@ubuntu.com>
11346
11347 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11348 (password): New section.
11349 (password_pbkdf2): New section.
11350 (search): New section.
11351 (Security): New section.
11352 (Troubleshooting): New section, currently very incomplete.
11353 (Invoking grub-mkpasswd-pbkdf2): New section.
11354 (Internals): New section, currently very incomplete.
11355
e1cbcc40
CW
113562010-06-07 Colin Watson <cjwatson@ubuntu.com>
11357
11358 * util/grub.d/00_header.in: Add some more quoting (of
11359 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11360 work again.
11361 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11362
db8fa1ad
CW
113632010-06-07 Colin Watson <cjwatson@ubuntu.com>
11364
11365 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11366 to `count', fixing variable shadowing that broke the -c option.
11367
113682010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11369
11370 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11371 in case they contain spaces.
11372
f28a9212
CW
113732010-06-04 Colin Watson <cjwatson@ubuntu.com>
11374
11375 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11376 "part_" to partmap module names, in line with grub-install.
11377 Reported by: Jindřich Makovička (Debian bug #584426).
11378
9cdfe32f
CW
113792010-06-04 Colin Watson <cjwatson@ubuntu.com>
11380
11381 * util/grub-mkimage.c: Make target-related error messages slightly
11382 more helpful; -O talks about "format". Explicitly point to the use
11383 of -O if no target is specified.
11384 Reported by: Didier Raboud (Debian bug #584415).
11385
795b593a
CW
113862010-06-03 Colin Watson <cjwatson@ubuntu.com>
11387
11388 * INSTALL: Document several build requirements for optional features
11389 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11390
9d9b5833
GS
113912010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11392
11393 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11394 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11395 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11396
0819fec8
CW
113972010-06-02 Colin Watson <cjwatson@ubuntu.com>
11398
11399 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11400 Thanks to Jordan Uggla for spotting this.
11401
49396b4f
VS
114022010-06-02 Aleš Nesrsta <starous@volny.cz>
11403
11404 Finally make USB usable.
11405
11406 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11407 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11408 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11409 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11410 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11411 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11412 (GRUB_OHCI_FSMPS): Likewise.
11413 (GRUB_OHCI_PERIODIC_START): Likewise.
11414 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11415 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11416 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11417 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11418 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11419 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11420 (grub_ohci_transaction): Likewise.
11421 (grub_ohci_transfer): Improve condition detection algorithms.
11422 Handle toggle property. Program the transactions correctly.
11423 Improve error handling. Various important fixups.
11424 (grub_ohci_portstatus): Put register writes in right order.
11425 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11426 (grub_uhci_transfer): Don't show "failed" message on success.
11427 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11428 array.
11429 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11430 determine its size.
11431 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11432 before initialization is completed. Use IN direction for empty
11433 transfers. Use last_trans and compute toggle.
11434 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11435 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11436 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11437 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11438 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11439 (grub_usb_device): Increase toggle to 256.
11440 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11441 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11442 GRUB_USBMS_SUBCLASS_SFF8070.
11443 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11444 (grub_scsi_inquiry): New member page and alloc_length.
11445 (grub_scsi_request_sense): New structure.
11446 (grub_scsi_request_sense_data): Likewise.
11447 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11448 control.
11449 * disk/scsi.c (grub_scsi_request_sense): New function.
11450 (grub_scsi_test_unit_ready): Likewise.
11451 (grub_scsi_inquiry): Fill new fields.
11452 (grub_scsi_read_capacity): Likewise.
11453 (grub_scsi_read10): Add request sense at the end.
11454 (grub_scsi_read12): Likewise.
11455 (grub_scsi_write10): Likewise.
11456 (grub_scsi_write12): Likewise.
11457 (grub_scsi_open): Add Test Unit Ready.
11458 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11459 Support additional subclasses. Con't clear halt yet. Activate the
11460 proper config. Calculate LUNs correctly.
11461 (grub_usbms_transfer): Various important fixups.
11462
114632010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11464
11465 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11466 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11467 (grub_ohci_fini_hw): New function.
11468 (grub_ohci_restore_hw): Likewise.
11469 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11470 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11471 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11472
114732010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11474
11475 Dedicated DMA allocations.
11476
11477 * bus/pci.c (grub_memalign_dma32): New function
11478 (grub_dma_free): Likewise.
11479 (grub_dma_get_virt): Likewise.
11480 (grub_dma_get_phys): Likewise.
11481 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11482 (grub_ohci_pci_iter): Use dma32_alloc.
11483 (grub_ohci_transfer): Likewise.
11484 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11485 (grub_usb_bulk_readwrite): Likewise.
11486 * include/grub/pci.h: Add declarations.
11487
114882010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11489
11490 CS5536 support.
11491
11492 * bus/cs5536.c: New file.
11493 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11494 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11495 (cs5536_mod_SOURCES): New variable.
11496 (cs5536_mod_CFLAGS): Likewise.
11497 (cs5536_mod_LDFLAGS): Likewise.
11498 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11499 machine/pci.h.
11500 (kernel_img_SOURCES): Add bus/cs5536.c.
11501 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11502 usb_keyboard.mod.
11503 (usb_mod_SOURCES): New variable.
11504 (usb_mod_CFLAGS): New variable.
11505 (usb_mod_LDFLAGS): New variable.
11506 (usbtest_mod_SOURCES): New variable.
11507 (usbtest_mod_CFLAGS): New variable.
11508 (usbtest_mod_LDFLAGS): New variable.
11509 (ohci_mod_SOURCES): New variable.
11510 (ohci_mod_CFLAGS): New variable.
11511 (ohci_mod_LDFLAGS): New variable.
11512 (usbms_mod_SOURCES): New variable.
11513 (usbms_mod_CFLAGS): New variable.
11514 (usbms_mod_LDFLAGS): New variable.
11515 (usb_keyboard_mod_SOURCES): New variable.
11516 (usb_keyboard_mod_CFLAGS): New variable.
11517 (usb_keyboard_mod_LDFLAGS): New variable.
11518 * include/grub/smbus.h: New file.
11519 * include/grub/cs5536.h: New file.
11520
0b35b2a9
CW
115212010-06-02 Colin Watson <cjwatson@ubuntu.com>
11522
11523 * util/grub.d/00_header.in: Add safety check to make sure that
11524 ${locale_dir} exists before trying to probe it.
11525
ca0afd5b
CW
115262010-06-02 Colin Watson <cjwatson@ubuntu.com>
11527
11528 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11529 per the GNU Coding Standards; this is now too obscure to be worth
11530 documenting.
11531 (QNX): Likewise.
11532 (chainloader): Remove cross-reference to `SCO UnixWare'.
11533
1c41aa78
CW
115342010-06-02 Colin Watson <cjwatson@ubuntu.com>
11535
11536 * docs/grub.texi (Chain-loading): New section.
11537 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11538 adjusted for GRUB 2.
11539 (SCO UnixWare): Likewise.
11540 (QNX): Likewise.
11541 (chainloader): Add reference to `Block list syntax'.
11542 (drivemap): New section.
11543 (parttool): New section.
11544
bb8ea0f5
CW
115452010-06-02 Colin Watson <cjwatson@ubuntu.com>
11546
11547 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11548 the grub shell'.
11549 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11550 (Installing GRUB using grub-install): Remove reference to the grub
11551 shell; mention `grub-mkimage' and `grub-setup' instead.
11552 (Invoking grub-install): Likewise.
11553 (Interface): Add reference to `Menu entry editor'.
11554 (serial): Remove `--device' option.
11555
288dd6ed
CW
115562010-06-02 Colin Watson <cjwatson@ubuntu.com>
11557
11558 * docs/grub.texi (Configuration): New section, documenting
11559 configuration file generation using grub-mkconfig. I've left a slot
11560 for documenting the full shell scripting format but have not yet
11561 started on writing that up.
11562 (Invoking grub-mkconfig): New section.
11563
34c9f0e9
CW
115642010-06-02 Colin Watson <cjwatson@ubuntu.com>
11565
11566 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11567 (GNU GRUB manual): Likewise.
11568 (General commands): Update description of `terminfo' for GRUB 2.
11569
9121567e
CW
115702010-06-02 Colin Watson <cjwatson@ubuntu.com>
11571
11572 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11573 (GRUB_MOD_INIT): Fix capitalisation.
11574 * docs/grub.texi (Command-line and menu entry commands): Document
11575 gettext and gptsync commands.
11576
ab631611
CW
115772010-06-02 Colin Watson <cjwatson@ubuntu.com>
11578
11579 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11580 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11581
bde4a9ac
CW
115822010-06-01 Colin Watson <cjwatson@ubuntu.com>
11583
11584 Add btrfs probing support, currently only in the single-device case.
11585
11586 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11587 function.
11588 (grub_guess_root_device): Call find_root_device_from_mountinfo
11589 before looking in /dev.
11590
b1d17e10
VS
115912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11594 GRUB_DISK_SIZE_UNKNOWN.
11595 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11596
dfbfe004
JS
115972010-05-31 Jiro SEKIBA <jir@unicus.jp>
11598
11599 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11600 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11601 corrupted or not synced properly.
11602
c2ffc8e9
VS
116032010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11604
11605 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11606 Reported by: Seth Goldberg.
11607
56293166
VS
116082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11609
11610 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11611 addition of dest.
11612 Reported by: Seth Goldberg.
11613
7620e7de
VS
116142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11615
11616 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11617 Reported by: Seth Goldberg.
11618
c837af3f
VS
116192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11622 64-bit address as signed on MIPS.
11623
c7c75cf4
CW
116242010-05-28 Colin Watson <cjwatson@ubuntu.com>
11625
11626 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11627 to the empty string.
11628
fa4b8490
BC
116292010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11630
11631 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11632
11633 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11634 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11635 * kern/misc.c (__enable_execute_stack): Disable on
11636 GRUB_MACHINE_EMU.
11637
a33075b9
CW
116382010-05-28 Colin Watson <cjwatson@ubuntu.com>
11639
11640 Make grub-probe work with symbolic links under /dev/mapper as well
11641 as with real block devices. The Linux world seems to be (at best)
11642 in transition here, and GRUB shouldn't get caught in the middle.
11643
11644 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11645 /dev/mapper.
11646
d8708134
CW
116472010-05-27 Colin Watson <cjwatson@ubuntu.com>
11648
11649 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11650 input files (in which case exit zero).
11651
db2102a0
CW
116522010-05-27 Colin Watson <cjwatson@ubuntu.com>
11653
11654 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11655 return NULL for various reasons even if it has a maximum-length
11656 buffer: for example, there might be a symlink loop, or the path
11657 might exceed PATH_MAX. If this happens, return NULL.
11658
5fdba519
RM
116592010-05-27 Robert Millan <rmh@gnu.org>
11660
11661 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11662 partmap module to handle cross-partmap setups.
11663 Reported by Orestes Mas. Gràcies!
11664
d1d368e4
CW
116652010-05-27 Colin Watson <cjwatson@ubuntu.com>
11666
11667 * util/grub-mkrescue.in: Initialise override_dir rather than
11668 assuming that it's unset or empty in the environment.
11669
95ac3c73
GS
116702010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11671
11672 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11673 variable index into p_index to suppress a warning with -Wshadow.
11674
7d8c0213
BC
116752010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11676
11677 * INSTALL: Added flex >= 2.5.35 requirement.
11678
db4d5813
VS
116792010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11682
f24f4300
VS
116832010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11684
11685 cmostest support.
11686
11687 * commands/i386/cmostest.c: New file.
11688 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11689 (cmostest_mod_SOURCES): New variable.
11690 (cmostest_mod_CFLAGS): Likewise.
11691 (cmostest_mod_LDFLAGS): Likewise.
11692 * conf/i386-pc.rmk: Likewise.
11693 * docs/grub.texi (Vendor power-on keys): New section.
11694 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11695 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11696 and GRUB_BUTTON_CMOS_ADDRESS.
11697 * util/grub.d/00_header.in: Handle powering-on by separate button.
11698
ad603f61
VS
116992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11700
11701 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
11702 Removed drawing_scrollbar argument. All users updated
11703 Fixes #29792.
11704 Reported by Jo Shields
11705
3ecb080a
VS
117062010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
11709 buffer since gfxterm handles double repaint.
11710
5f2316c1
VS
117112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11712
11713 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
11714 * term/gfxterm.c (real_scroll): Likewise.
11715
9a25f885
VS
117162010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
11719 before calling BIOS.
11720
39fbb79a
VS
117212010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11722
11723 * include/grub/i18n.h: Always enable grub_gettext.
11724
228cfa97
VS
117252010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
11728 partition naming style.
11729
21717c8f
CW
117302010-05-21 Colin Watson <cjwatson@ubuntu.com>
11731
11732 * util/grub-mkconfig.in: Fix handling of -o so that it works when
11733 not the first option.
11734
c0f48e65
CW
117352010-05-20 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
11738
96779aec
CW
117392010-05-20 Colin Watson <cjwatson@ubuntu.com>
11740
11741 * util/misc.c: Move inclusion of <limits.h> to ...
11742 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
11743
fa9d256e
GS
117442010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
11745
11746 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
11747 Fix merge error in NetBSD code.
11748 (find_partition_start) [__NetBSD__]: Likewise.
11749
123b7a85
BC
117502010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
11751
11752 Fix grub-mkrescue usage unit testing.
11753
11754 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
11755
74276c0d
CF
117562010-05-18 Christian Franke <franke@computer.org>
11757
11758 * util/grub.d/10_windows.in: Use path names instead of
11759 drive letters to prevent warning from Cygwin 1.7.
11760 Add drivemap command to menuentry if needed.
11761
c4f7b523
ST
117622010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
11763
11764 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
11765 gnumach and gnumach.gz.
11766
95b97950
VS
117672010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 * include/grub/i18n.h (gettext): Inline instead of using #define.
11770 (grub_gettext): Likewise.
11771 (_): Likewise.
11772
01b8d2d7
VS
117732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
11776 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
11777 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
11778 (main): Add a slash after pkglibdirroot.
11779
654e1d1e
VS
117802010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * util/grub-install.in: Add missing "in" keyword.
11783
26966aeb
VS
117842010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11785
11786 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
11787 Reported by: Seth Goldberg.
11788
75006747
VS
117892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11790
11791 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
11792
74cbf5bd
CW
117932010-05-18 Colin Watson <cjwatson@ubuntu.com>
11794
11795 * configure.ac: Check for Linux device-mapper support.
11796
11797 * util/hostdisk.c (device_is_mapped): New function.
11798 (find_partition_start): New function, partly broken out from
11799 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
11800 device-mapper support added.
11801 (linux_find_partition): Use find_partition_start.
11802 (convert_system_partition_to_system_disk): Add `st' argument.
11803 Support Linux /dev/mapper/* devices if device-mapper support is
11804 available; only DM-RAID devices are understood at present.
11805 (find_system_device): Add `st' argument. Pass it to
11806 convert_system_partition_to_system_disk.
11807 (grub_util_biosdisk_get_grub_dev): Pass stat result to
11808 find_system_device and convert_system_partition_to_system_disk. Use
11809 find_partition_start.
11810
11811 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
11812 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
11813 * util/deviceiter.c [__linux__]: Define MINOR.
11814 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
11815 * util/mkdevicemap.c (grub_putchar): New function.
11816 (grub_getkey): New function.
11817 (grub_refresh): New function.
11818 (main): Set debug=all if -v -v is used.
11819
355b51e9
CW
118202010-05-18 Colin Watson <cjwatson@ubuntu.com>
11821
11822 Fix build with non-GNU libcs.
11823
11824 * util/misc.c (canonicalize_file_name): Move to ...
11825 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
11826 grub_make_system_path_relative_to_its_root.
11827
7fb5c25f
CW
118282010-05-18 Colin Watson <cjwatson@ubuntu.com>
11829
11830 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
11831 we handle finding grub-mkimage. Default to finding grub-mkimage in
11832 ${bindir} with program_transform_name applied, and provide a
11833 --grub-mkimage option to override this.
11834
1d3293d6
VS
118352010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11836
11837 Remove grub-mkisofs.
11838
11839 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
11840 (grub_mkisofs_SOURCES): Removed.
11841 (grub_mkisofs_CFLAGS): Removed.
11842 * util/mkisofs/defaults.h: Removed.
11843 * util/mkisofs/eltorito.c: Likewise.
11844 * util/mkisofs/exclude.h: Likewise.
11845 * util/mkisofs/hash.c: Likewise.
11846 * util/mkisofs/include/: Likewise.
11847 * util/mkisofs/include/fctldefs.h: Likewise.
11848 * util/mkisofs/include/mconfig.h: Likewise.
11849 * util/mkisofs/include/prototyp.h: Likewise.
11850 * util/mkisofs/include/statdefs.h: Likewise.
11851 * util/mkisofs/iso9660.h: Likewise.
11852 * util/mkisofs/joliet.c: Likewise.
11853 * util/mkisofs/match.c: Likewise.
11854 * util/mkisofs/match.h: Likewise.
11855 * util/mkisofs/mkisofs.c: Likewise.
11856 * util/mkisofs/mkisofs.h: Likewise.
11857 * util/mkisofs/msdos_partition.h: Likewise.
11858 * util/mkisofs/multi.c: Likewise.
11859 * util/mkisofs/name.c: Likewise.
11860 * util/mkisofs/rock.c: Likewise.
11861 * util/mkisofs/tree.c: Likewise.
11862 * util/mkisofs/write.c: Likewise.
11863
5dde9afe
VS
118642010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 Unify grub-mkimage accross platforms.
11867
11868 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
11869 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
11870 (grub_mkelfimage_SOURCES): Removed.
11871 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
11872 (util/grub-mkimage.c_DEPENDENCIES): .. this.
11873 (bin_UTILITIES): Add grub-mkimage.
11874 (grub_mkimage_SOURCES): New variable.
11875 (kernel_img_HEADERS): Remove machine/kernel.h.
11876 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
11877 (pkglib_PROGRAMS): Add kernel.img.
11878 (kernel_img_HEADERS): Add machine/kernel.h.
11879 (kernel_img_FORMAT): Removed.
11880 (bin_UTILITIES): Remove grub-mkimage.
11881 (grub_mkimage_SOURCES): Removed.
11882 (grub_mkimage_CFLAGS): Likewise.
11883 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11884 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
11885 (pkglib_PROGRAMS): Add kernel.img.
11886 (bin_UTILITIES): Remove grub-mkimage.
11887 (grub_mkimage_SOURCES): Removed.
11888 (grub_mkimage_CFLAGS): Likewise.
11889 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11890 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
11891 (pkglib_PROGRAMS): Add kernel.img.
11892 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
11893 (pkglib_PROGRAMS): Add kernel.img.
11894 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
11895 (grub_mkimage_SOURCES): Removed.
11896 (grub_mkimage_CFLAGS): Likewise.
11897 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11898 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
11899 (pkglib_PROGRAMS): Add kernel.img.
11900 (bin_UTILITIES): Remove grub-mkimage.
11901 (grub_mkimage_SOURCES): Removed.
11902 (grub_mkimage_CFLAGS): Likewise.
11903 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11904 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
11905 (grub_mkimage_SOURCES): Removed.
11906 (grub_mkimage_CFLAGS): Likewise.
11907 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11908 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
11909 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
11910 (grub_pe32_optional_header): ... this.
11911 (grub_pe64_optional_header): ... and this. All users updated.
11912 (GRUB_PE32_PE32_MAGIC): Split into ..
11913 (GRUB_PE32_PE32_MAGIC): .. this.
11914 (GRUB_PE32_PE64_MAGIC): .. and this.
11915 (GRUB_PE32_SIGNATURE_SIZE): New definition.
11916 * include/grub/elf.h (PT_GNU_STACK): New definition.
11917 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
11918 * include/grub/i386/efi/kernel.h: Likewise.
11919 * include/grub/i386/kernel.h: Likewise.
11920 * include/grub/i386/pc/kernel.h: Likewise.
11921 * include/grub/i386/qemu/boot.h: Likewise.
11922 * include/grub/mips/kernel.h: Likewise.
11923 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11924 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11925 * include/grub/powerpc/kernel.h: Likewise.
11926 * include/grub/sparc64/ieee1275/boot.h: Likewise.
11927 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11928 * include/grub/sparc64/kernel.h: Likewise.
11929 * include/grub/x86_64/efi/kernel.h: Likewise.
11930 * include/grub/x86_64/kernel.h: Likewise.
11931 * include/grub/offsets.h: New file.
11932 * include/grub/kernel.h (grub_module_info): Split into ...
11933 (grub_module_info32): ... this.
11934 (grub_module_info64): ... and this.
11935 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
11936 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
11937 (grub_boot_blocklist): Moved from here ...
11938 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
11939 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
11940 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
11941 * include/grub/types.h (grub_target_to_host16): Removed.
11942 (grub_target_to_host32): Likewise.
11943 (grub_target_to_host64): Likewise.
11944 (grub_host_to_target16): Likewise.
11945 (grub_host_to_target32): Likewise.
11946 (grub_host_to_target64): Likewise.
11947 (grub_host_to_target_addr): Likewise.
11948
11949 Support grub-mkrescue for efi, coreboot and qemu.
11950
11951 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11952 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11953 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11954 * util/grub-mkrawimage.c: Moved from here ...
11955 * util/grub-mkimage.c: ... here. All users updated.
11956 (ALIGN_ADDR): Use image_target.
11957 (TARGET_NO_FIELD): New const.
11958 (image_target_desc): New type.
11959 (image_targets): New array.
11960 (grub_target_to_host64): Use image_target.
11961 (grub_target_to_host32): Likewise.
11962 (grub_target_to_host16): Likewise.
11963 (grub_host_to_target64): Likewise.
11964 (grub_host_to_target32): Likewise.
11965 (grub_host_to_target16): Likewise.
11966 (grub_host_to_target_addr): Likewise.
11967 (generate_image): Handle multiimage.
11968 (main): Require -O parameter. All users updated.
11969 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11970 util/efi/grub-mkimage.c
11971 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11972 New option --rom-directory.
11973 Use xorriso.
11974 * util/i386/efi/grub-mkimage.c: Removed.
11975 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11976 (grub_target_to_host32): Likewise.
11977 (grub_target_to_host64): Likewise.
11978 (grub_host_to_target16): Likewise.
11979 (grub_host_to_target32): Likewise.
11980 (grub_host_to_target64): Likewise.
11981 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11982 (grub_target_to_host32): Likewise.
11983 (grub_target_to_host64): Likewise.
11984 (grub_host_to_target16): Likewise.
11985 (grub_host_to_target32): Likewise.
11986 (grub_host_to_target64): Likewise.
11987
f4fc97d0
BC
119882010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11989
11990 Source tree is reorganized for emu build.
11991
11992 * include/grub/util/console.h: Move from here...
11993 * include/grub/emu/console.h: ...to here.
11994 * include/grub/util/getroot.h: Move from here...
11995 * include/grub/emu/getroot.h: ...to here.
11996 * include/grub/util/hostdisk.h: Move from here...
11997 * include/grub/emu/hostdisk.h: ...to here.
11998 * util/console.c: Move from here...
11999 * kern/emu/console.c: ...to here.
12000 * util/getroot.c: Move from here...
12001 * kern/emu/getroot.c: ...to here.
12002 * util/grub-emu.c: Move from here...
12003 * kern/emu/main.c: ...to here.
12004 * util/hostdisk.c: Move from here...
12005 * kern/emu/hostdisk.c: ...to here.
12006 * util/hostfs.c: Move from here...
12007 * kern/emu/hostfs.c: ...to here.
12008 * util/mm.c: Move from here...
12009 * kern/emu/mm.c: ...to here.
12010 * util/pci.c: Move from here...
12011 * bus/emu/pci.c: ...to here.
12012 * util/sdl.c: Move from here...
12013 * video/emu/sdl.c: ...to here.
12014 * util/time.c: Move from here...
12015 * kern/emu/time.c: ...to here.
12016 * util/usb.c: Move from here...
12017 * bus/usb/emu/usb.c: ...to here.
12018
12019 * include/grub/emu/misc.h: New header for grub-emu functions.
12020 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12021
12022 * conf/any-emu.rmk: Rule updates for above renames.
12023 * conf/common.rmk: Likewise.
12024 * conf/i386-pc.rmk: Likewise.
12025 * conf/i386-qemu.rmk: Likewise.
12026 * conf/mips.rmk: Likewise.
12027 * conf/sparc64-ieee1275.rmk: Likewise.
12028 * conf/x86-efi.rmk: Likewise.
12029
12030 * disk/lvm.h: #include updates for above renames.
12031 * util/grub-mkrelpath.c: Likewise.
12032 * util/grub-probe.c: Likewise.
12033 * util/i386/pc/grub-setup.c: Likewise.
12034 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12035 * kern/emu/console.c: Likewise.
12036 * kern/emu/getroot.c: Likewise.
12037 * kern/emu/hostdisk.c: Likewise.
12038 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12039
12040 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12041 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12042 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12043 * util/misc.c: Remove grub-emu functions.
12044
cced9145
VS
120452010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 Fix gfxmenu crash.
12048 Reported by: Thorsten Grützmacher.
12049
12050 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12051 timeout hook.
12052 (circprog_set_property): Register and unregister timeout hook.
12053 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12054 (label_destroy): Free template. and unregister hook.
12055 (label_set_state): New function.
12056 (label_set_property): Handle templates and hooks.
12057 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12058 timeout hook.
12059 (progress_bar_set_property): Register and unregister timeout hook.
12060 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12061 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12062 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12063 (update_timeout_visit): Removed.
12064 (update_timeouts): New function.
12065 (redraw_timeouts): Likewise.
12066 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12067 (grub_gfxmenu_clear_timeout): Likewise.
12068 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12069 (grub_gfxmenu_timeout_notify): Likewise.
12070 (grub_gfxmenu_timeout_notifications): New external variable.
12071 (grub_gfxmenu_timeout_register): New function.
12072 (grub_gfxmenu_timeout_unregister): Likewise.
12073
c6e5caab
VS
120742010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 Transform (broken) vga terminal into (working) vga video driver.
12077
12078 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12079 video/i386/pc/vga.c.
12080 * include/grub/video.h (grub_video_driver_id):
12081 Add GRUB_VIDEO_DRIVER_VGA.
12082 * term/i386/pc/vga.c: Renamed to ...
12083 * video/i386/pc/vga.c: ...this
12084 (DEBUG_VGA): Removed.
12085 (CHAR_WIDTH): Likewise.
12086 (CHAR_HEIGHT): Likewise.
12087 (TEXT_WIDTH): Likewise.
12088 (TEXT_HEIGHT): Likewise.
12089 (DEFAULT_FG_COLOR): Likewise.
12090 (DEFAULT_BG_COLOR): Likewise.
12091 (colored_char): Likewise.
12092 (xpos): Likewise.
12093 (ypos): Likewise.
12094 (cursor_state): Likewise.
12095 (fg_color): Likewise.
12096 (bg_color): Likewise.
12097 (text_buf): Likewise.
12098 (page): Likewise.
12099 (font): Likewise.
12100 (framebuffer): New variable.
12101 (set_read_map): Disabled.
12102 (setup): New variable.
12103 (is_target): Likewise.
12104 (grub_vga_mod_init): Likewise.
12105 (grub_vga_mod_fini): Likewise.
12106 (check_vga_mem): Likewise.
12107 (write_char): Likewise.
12108 (write_cursor): Likewise.
12109 (scroll_up): Likewise.
12110 (grub_vga_putchar): Likewise.
12111 (grub_vga_getcharwidth): Likewise.
12112 (grub_vga_getwh): Likewise.
12113 (grub_vga_getxy): Likewise.
12114 (grub_vga_gotoxy): Likewise.
12115 (grub_vga_cls): Likewise.
12116 (grub_vga_setcolorstate): Likewise.
12117 (grub_vga_setcursor): Likewise.
12118 (grub_video_vga_init): New function.
12119 (grub_video_vga_setup): Likewise.
12120 (grub_video_vga_fini): Likewise.
12121 (update_target): Likewise.
12122 (grub_video_vga_blit_bitmap): Likewise.
12123 (grub_video_vga_blit_render_target): Likewise.
12124 (grub_video_vga_set_active_render_target): Likewise.
12125 (grub_video_vga_get_active_render_target): Likewise.
12126 (grub_video_vga_swap_buffers): Likewise.
12127 (grub_video_vga_set_palette): Likewise.
12128 (grub_video_vga_get_info_and_fini): Likewise.
12129 (grub_vga_term): Removed.
12130 (grub_video_vga_adapter): New variable.
12131 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12132 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12133
2bf61a98
VS
121342010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * video/readers/jpeg.c: Indented.
12137
09ddcd11
VS
121382010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 Various jpeg cleanups.
12141
12142 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12143 (grub_jpeg_decode_quan_table): Use sizeof.
12144 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12145
e5507505
PH
121462010-05-05 Peter Hurley <No e-mail available> (tiny change)
12147
12148 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12149 tables. Ignore non-last ac bit.
12150 (grub_jpeg_decode_quan_table): Likewise.
12151
7e720a9b
VS
121522010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12155 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12156 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12157 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12158 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12159 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12160
a7fc080b
VS
121612010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12164 error.
12165
2bf6012d
VS
121662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12169
265d68cd
VS
121702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12171
12172 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12173 condition.
12174
121752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12176
12177 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12178 part.
12179
265d68cd 121802010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12181
12182 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12183 pointers.
12184
265d68cd 121852010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12186
12187 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12188
d1b61374
CF
121892010-05-01 Christian Franke <franke@computer.org>
12190
12191 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12192 Remove broken Cygwin path conversion.
12193 * util/misc.c: [__CYGWIN__] Add include and define.
12194 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12195 for Cygwin 1.7.
12196 (make_system_path_relative_to_its_root): Simplify loop, replace early
12197 return by break.
12198 [__CYGWIN__] Add conversion to win32 path.
12199 Include "/" case in trailing slash removal.
12200
3558c6e9
VS
122012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12202
12203 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12204 Reported by: Seth Goldberg
12205
f5f3ff93
VS
122062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12207
12208 * commands/help.c (grub_cmd_help): Fix a typo.
12209 Reported by: Seth Goldberg
12210
d8b5cd40
VS
122112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12212
12213 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12214 name and add N_.
12215 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12216 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12217 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12218 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12219 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12220 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12221 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12222 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12223 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12224 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12225 * normal/context.c (GRUB_MOD_INIT): Likewise.
12226 * normal/main.c (GRUB_MOD_INIT): Likewise.
12227 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12228 * term/serial.c (GRUB_MOD_INIT): Likewise.
12229 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12230
88c14915
VS
122312010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12234 extra == 0.
12235
165134bc
VS
122362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12237
12238 * commands/iorw.c: New file.
12239 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12240 (iorw_mod_SOURCES): New variable.
12241 (iorw_mod_CFLAGS): Likewise.
12242 (iorw_mod_LDFLAGS): Likewise.
12243
c5ac9b32
VS
122442010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12245
12246 Hotkey support
12247
12248 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12249 * normal/main.c (hotkey_aliases): New variable.
12250 (grub_normal_add_menu_entry): Parse "--hotkey".
12251 * normal/menu_text.c (run_menu): Handle hotkeys.
12252
ce60689c
VS
122532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * kern/i386/coreboot/init.c (grub_machine_init): Call
12256 grub_machine_mmap_init on qemu.
12257
0359d006
VS
122582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12259
12260 * boot/i386/qemu/boot.S: Add a missing .code16.
12261
7819a456
VS
122622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12263
12264 Use LBIO on coreboot.
12265
12266 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12267 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12268 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12269 New declaration.
12270 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12271 grub_machine_mmap_init on coreboot.
12272 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12273 GRUB_LINUXBIOS_MEMBER_LINK.
12274 (grub_machine_mmap_iterate): Fix declaration.
12275 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12276
7210dca9
VS
122772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12278
12279 Split coreboot and multiboot ports.
12280
12281 * conf/i386-multiboot.rmk: New file.
12282 * configure.ac: Add multiboot port.
12283 * include/grub/i386/multiboot/boot.h: New file.
12284 * include/grub/i386/multiboot/console.h: Likewise.
12285 * include/grub/i386/multiboot/init.h: Likewise.
12286 * include/grub/i386/multiboot/kernel.h: Likewise.
12287 * include/grub/i386/multiboot/loader.h: Likewise.
12288 * include/grub/i386/multiboot/memory.h: Likewise.
12289 * include/grub/i386/multiboot/serial.h: Likewise.
12290 * include/grub/i386/multiboot/time.h: Likewise.
12291 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12292 * loader/multiboot.c: Likewise.
12293 * loader/multiboot_mbi2.c: Likewise.
12294 * util/grub-mkrescue.in: Generate multiboot rescue.
12295
6f8aaf68
VS
122962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12297
3080f7a7
VS
12298 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12299
123002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12301
12302 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12303
12304 * commands/terminal.c (abstract_terminal): New struct.
12305 (handle_command): New function. Based on grub_cmd_terminal_input.
12306 (grub_cmd_terminal_input): Use handle_command.
12307 (grub_cmd_terminal_output): Use handle_command.
12308
a8ebb841
BC
123092010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12310
12311 Fix comment handling.
12312
12313 * tests/grub_script_comments.in: New testcase.
12314 * conf/tests.rmk: Rules for new testcase.
12315 * script/yylex.l: Updated flex rules.
12316
bb06ba08
ST
123172010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12318
12319 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12320 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12321 if argc is 1.
bb06ba08 12322
cc9d2425
VS
123232010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12326 autogen issues.
12327
460d8402
CF
123282010-04-26 Christian Franke <franke@computer.org>
12329
12330 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12331 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12332 (grub_get_prefix): Remove function.
12333 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12334 make_system_path_relative_to_its_root ().
12335 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12336
553c01f9
CF
123372010-04-24 Christian Franke <franke@computer.org>
12338
12339 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12340 (kernel_img_LDFLAGS): Remove -static-libgcc.
12341
2aec1692
CF
123422010-04-24 Christian Franke <franke@computer.org>
12343
12344 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12345 and CHECK_END_SYMBOL if grub-emu is built.
12346 Unset TARGET_OBJ2ELF if grub-emu is built
12347 without module support.
12348
f67dc308
JS
123492010-04-24 Jiro SEKIBA <jir@unicus.jp>
12350
12351 Nilfs2 support.
12352
12353 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12354 (grub_fstest_SOURCES): Likewise.
12355 (pkglib_MODULES): Add nilfs2.mod.
12356 (nilfs2_mod_SOURCES): New variable.
12357 (nilfs2_mod_CFLAGS): Likewise.
12358 (nilfs2_mod_LDFLAGS): Likewise.
12359 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12360 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12361 * fs/nilfs2.c: New file.
12362
4ba8d354
VS
123632010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12366 is not supported.
12367
0d2c20c6
GS
123682010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12369
12370 Add grub-mkconfig support for NetBSD.
12371
12372 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12373 * util/grub-mkconfig.in: export new NetBSD specific variables.
12374 * po/POTFILES-shell: added 10_netbsd.in.
12375 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12376
bc4a2d83
BC
123772010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12378
12379 Fix emu build with grub-emu-pci and grub-emu-modules.
12380
12381 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12382 functions.
12383 * include/grub/libpciaccess.h: New file.
12384 * conf/any-emu.rmk: Update kernel headers for emu build.
12385
f48c87aa
VS
123862010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12389
18959385
VS
123902010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12393
0037de3f
VS
123942010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12397 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12398 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12399 util/ieee1275/ofpath.c.
12400 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12401 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12402 * include/grub/sparc64/ieee1275/boot.h
12403 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12404 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12405 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12406 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12407 const char *.
12408 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12409 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12410 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12411 install.
12412
38e55e90
GS
124132010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12414
12415 * util/grub-mkconfig.in: Corrected two == equality tests.
12416 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12417 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12418 expect a number appended to it.
12419 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12420 expects a number appended to it.
12421
a9e6ff28
VS
124222010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12425
0b830b8f
VS
124262010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * util/hostdisk.c (make_device_name): Change to new partition naming.
12429
0973daeb
VS
124302010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12433
460d8402 124342010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12435
12436 * Makefile.in: Add missing localedir setting.
12437
0b456309
CW
124382010-04-14 Colin Watson <cjwatson@ubuntu.com>
12439
12440 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12441 mistake in r2156. Noticed by Anthony Fok.
12442
12443 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12444 @localedir@.
12445 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12446
08f46d62
BC
124472010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12448
12449 Fix a spurious, uninitialized variable warning.
12450
12451 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12452 Initialize variable, shdr.
12453 (grub_freebsd_load_elfmodule): Likewise.
12454 (grub_freebsd_load_elf_meta): Likewise.
12455
8c4a72d4
BC
124562010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12457
12458 Fix for escaped dollar in double quoted strings.
12459
12460 * script/yylex.l: Updated flex rules.
12461 * conf/tests.rmk: Rule for new testcase.
12462 * tests/grub_script_dollar.in: New testcase.
12463
ce44826e
CPE
124642010-04-13 Carles Pina i Estany <carles@pina.cat>
124652010-04-13 Colin Watson <cjwatson@ubuntu.com>
12466
12467 Enclose all translated strings in grub.cfg in single quotes, and
12468 escape them appropriately (Ubuntu bug #552921).
12469
12470 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12471 * util/grub.d/10_hurd.in: Use it.
12472 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12473 * util/grub.d/10_linux.in (linux_entry): Likewise.
12474
4b0cd8f8
VS
124752010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 Fix cygwin compilation.
12478
12479 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12480 * include/grub/misc.h (__register_frame_info)
12481 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12482 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12483 * kern/misc.c (__register_frame_info)
12484 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12485 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12486
01fcf061
VS
124872010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12488
12489 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12490
5d04b11e
VS
124912010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12492
12493 Unify libgcc processing.
12494
12495 * Makefile.in (kernel_img_LDFLAGS): New variable.
12496 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12497 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12498 overwriting.
12499 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12500 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12501 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12502 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12503 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12504 overwriting. Remove -lgcc and -static-libgcc
12505 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12506 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12507 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12508 (kernel_img_LDFLAGS): Append instead of overwriting.
12509 Remove -lgcc and -static-libgcc
12510 * conf/sparc64-ieee1275.rmk: Likewise.
12511 * include/grub/powerpc/libgcc.h: Move to ...
12512 * include/grub/libgcc.h: .. this.
12513 * include/grub/libgcc.h: Don't export most of the function on x86.
12514 (__bswapsi2): New export.
12515 (__bswapdi2): Likewise.
12516 * include/grub/mips/libgcc.h: Removed.
12517 * include/grub/sparc64/libgcc.h: Likewise.
12518
b7f3ac29
VS
125192010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12520
12521 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12522 disk_info_msg (conflicts with gettexting into languages with cases).
12523
2c7031b1
GS
125242010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12525
12526 Add grub-probe support for NetBSD.
12527
12528 * util/getroot.c (find_root_device): Convert block device to
12529 character device on NetBSD.
12530 * util/probe.c (probe): Require character device on NetBSD.
12531 * util/hostdisk.c: NetBSD specific headers.
12532 (configure_device_driver): new function to tune device driver
12533 parameters (currently only for NetBSD floppy driver).
12534 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12535 via disklabel ioctl).
12536 (open_device): call configure_device_driver on NetBSD.
12537 (convert_system_partition_to_system_disk): NetBSD specific code.
12538 (device_is_wholedisk): Likewise.
12539 (grub_util_biosdisk_get_grub_dev): Likewise.
12540 (make_device_name): Fixed a typo in bsd_part_str.
12541 * configure.ac: check for opendisk() and getrawpartition() on
12542 NetBSD and set LIBUTIL.
12543 * Makefile.in: add LIBUTIL to LIBS.
12544
f516290c
BC
125452010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12546
12547 Documentation fix.
12548
12549 * util/grub-script-check.c: Better help message.
12550
d8dcc0df
BC
125512010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12552
12553 Fix FreeBSD build.
12554
12555 * configure.ac: Flex version check.
12556 * conf/common.rmk: Add -Wno-error to sh.mod.
12557 * script/yylex.l: Remove all #pragma.
12558
6734334a
VS
125592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12560
12561 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12562 prototype.
12563 Reported by: Seth Goldberg.
12564
daea6abd
VS
125652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12566
12567 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12568 Rename "module" to "module2".
12569 Reported by: Seth Goldberg.
12570
f2fd9d2b
VS
125712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12572
12573 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12574 EXPORT_FUNC.
12575 Reported by: Seth Goldberg.
12576
be124579
VS
125772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * lib/posix_wrap/locale.h: Add missing file.
12580 Reported by: Seth Goldberg.
12581
ef5da797
VS
125822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 grub-emu module load support.
12585
12586 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12587 NO_DYNAMIC_MODULES switched to this.
12588 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12589 (CFLAGS): Likewise.
12590 * conf/any-emu.rmk: Generate symlist.
12591 (kernel_img_HEADERS): Add util/datetime.h.
12592 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12593 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12594 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12595 kern/$(target_cpu)/cache.S.
12596 * configure.ac (grub-emu-modules): New option.
12597 * genmk.rb: Handle multiple source lists.
12598 * include/grub/sdl.h: New file.
12599 * include/grub/libusb.h: Likewise.
12600 * util/grub-emu.c (main): Hanle (host) root.
12601 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12602 GRUB_ERR_UNKNOWN_DEVICE.
12603 * util/misc.c: Move mm functions to ...
12604 * util/mm.c: ... here. All users updated.
12605
47822096
VS
126062010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12609 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12610 missing files.
12611 (maintainer-clean): Remove libgcrypt-grub.
12612
5d7e7445
VS
126132010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12614
12615 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12616
25f4e252
EC
126172010-04-09 EFI Coder <eficoder@hotmail.com>
12618
12619 * normal/menu_text.c (print_message): Clean up the message and show
12620 the Fn information when on EFI
12621 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12622
027de555
VS
126232010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12626 All users updated.
12627 * normal/crypto.c (read_crypto_list): Likewise.
12628 * normal/dyncmd.c (read_command_list): Likewise.
12629 * normal/term.c (read_terminal_list): Likewise.
12630 * normal/main.c (read_lists): Use explicit prefix.
12631 (read_lists_hook): Use read_lists.
12632 (grub_normal_execute): Likewise.
12633
47779711
VS
126342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12637 Reported by: Thomas Schmitt.
12638 Add -no-emul-boot to grub-mkisofs parameters.
12639
1118c32e
VS
126402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * font/font.c: Indented.
12643
7d652447
BC
126442010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12645
12646 Elif support to GRUB script (by Deepak Vankadaru).
12647
12648 * tests/grub_script_if.in: New testcase.
12649 * conf/tests.rmk: Rule for new testcase.
12650 * script/parser.y: Grammar rules for elif.
12651
34bb22df
BC
126522010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12653
12654 While and until loops support to GRUB script.
12655
12656 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12657 (grub_script_create_cmdwhile): New function prototype.
12658 (grub_script_execute_cmdwhile): New function prototype.
12659 * script/execute.c (grub_script_execute_cmdwhile): New function.
12660 * script/parser.y (command): New commands.
12661 (whilecmd): New grammar rule.
12662 (untilcmd): New grammar rule.
12663 * script/script.c (grub_script_create_cmdwhile): New function.
12664 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12665 function.
12666
12667 * tests/grub_script_while1.in: New testcase.
12668 * conf/tests.rmk: Rule for new testcase.
12669
e215d8e0
VS
126702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12673 as *.jpg.
12674
d7c43ba1
MV
126752010-04-09 Mario Vazquez <mariovazq@gmail.com>
12676
12677 GRUB_BACKGROUND support.
12678
12679 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12680 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12681
d64795c0
VS
126822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 12685 Idea by: Mario Vazquez
d64795c0
VS
12686
12687 * util/grub.d/00_header.in: Load pf2 and image modules.
12688
f267f83a
VS
126892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12690
12691 grub-mkconfig multiple terminal support.
12692
12693 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12694 * util/grub.d/00_header.in: Likewise.
12695
b7841ceb
VS
126962010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12699 we use cd $(srcdir).
12700
df60998c
CW
127012010-04-08 Colin Watson <cjwatson@ubuntu.com>
12702
12703 * util/grub.d/10_linux.in: Only use the first word of
12704 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
12705 spaces in GRUB_DISTRIBUTOR.
12706 * util/grub.d/10_kfreebsd.in: Likewise.
12707 * util/grub.d/10_hurd.in: Likewise.
12708
fa09c82e
BC
127092010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
12710
14e18ae3 12711 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12712
12713 * tests/util/grub-shell.in: Remove -serial stdio option.
12714
daf892b3
BC
127152010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12716
12717 POSIX header file wrappers.
12718
12719 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
12720 equivalents.
12721 * lib/posix_wrap/ctype.h: Likewise.
12722 * lib/posix_wrap/errno.h: Likewise.
12723 * lib/posix_wrap/langinfo.h: Likewise.
12724 * lib/posix_wrap/limits.h: Likewise.
12725 * lib/posix_wrap/localcharset.h: Likewise.
12726 * lib/posix_wrap/stdint.h: Likewise.
12727 * lib/posix_wrap/stdio.h: Likewise.
12728 * lib/posix_wrap/stdlib.h: Likewise.
12729 * lib/posix_wrap/string.h: Likewise.
12730 * lib/posix_wrap/sys/types.h: Likewise.
12731 * lib/posix_wrap/unistd.h: Likewise.
12732 * lib/posix_wrap/wchar.h: Likewise.
12733 * lib/posix_wrap/wctype.h: Likewise.
12734 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
12735 (grub_script.yy.h): Likewise.
12736 * script/yylex.l: Remove POSIX emulation #defines.
12737 * Makefile.in (POSIX_CFLAGS): New variable.
12738 (GNULIB_UTIL_CFLAGS): Likewise.
12739
12740 Regexp support.
12741
12742 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
12743 (regexp_mod_SOURCES): New variable.
12744 (regexp_mod_CFLAGS): Likewise.
12745 (regexp_mod_LDFLAGS): Likewise.
12746 * commands/regexp.c: New file.
12747 * gnulib/regcomp.c: New file. Imported from gnulib.
12748 * gnulib/regex.c: Likewise.
12749 * gnulib/regex_internal.c: Likewise.
12750 * gnulib/regex_internal.h: Likewise.
12751 * gnulib/regexec.c: Likewise.
12752 * gnulib/regex.h: Likewise.
12753
974ac4f7
VS
127542010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
12757 unsupported video mode types.
12758
2622c3ff
VS
127592010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
12762
064cb524
VS
127632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
12766 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
12767
a8c3b552
VS
127682010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 Remove unused grub_vga_get_font.
12771
12772 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
12773 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
12774
187bbe3d
GS
127752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12776
12777 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
12778 * include/grub/misc.h: Likewise.
12779
b9396631
GS
127802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12781
12782 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
12783 for which failure is fatal.
12784
50479feb
GS
127852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12786
12787 * util/grub-install.in: Use mkdir -p to create grub directory.
12788 * util/i386/efi/grub-install.in: Likewise.
12789 * util/ieee1275/grub-install.in: Likewise.
12790
b1654fdf
GS
127912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12792
12793 * Makefile.in (LEX): new variable.
12794
bd5a6415
GS
127952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12796
12797 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
12798 `=' and added double quotes on operands of this equality test.
12799
3db3a82b
VS
128002010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12801
12802 * Makefile.in (uninstall): Remove a leftover debug echo.
12803 Reported by: Grégoire Sutre
12804
38023412
VS
128052010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12806
12807 MIPS multiboot2 support.
12808
12809 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
12810 (multiboot2_mod_SOURCES): New variable.
12811 (multiboot2_mod_CFLAGS): Likewise.
12812 (multiboot2_mod_LDFLAGS): Likewise.
12813 (multiboot2_mod_ASFLAGS): Likewise.
12814 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
12815 definition.
12816 (MULTIBOOT_ENTRY_REGISTER): Likewise.
12817 (MULTIBOOT_MBI_REGISTER): Likewise.
12818 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
12819 (MULTIBOOT_ELF32_MACHINE): Likewise.
12820 (MULTIBOOT_ELF64_MACHINE): Likewise.
12821 * include/grub/mips/multiboot.h: New file.
12822 * include/grub/video.h (grub_video_driver_id): New type
12823 GRUB_VIDEO_DRIVER_SM712.
12824 (grub_video_get_info_and_fini): Export.
12825 (grub_video_get_palette): Likewise.
12826 (grub_video_get_driver_id): Likewise.
12827 * include/multiboot2.h: Resynced with spec.
12828 * loader/i386/multiboot.c: Moved from here ...
12829 * loader/multiboot.c: ... here. All users updated.
12830 (grub_multiboot_boot): Use platform-specific macros.
12831 * loader/i386/multiboot_elfxx.c: Moved from here ...
12832 * loader/multiboot_elfxx.c: ... here. All users updated.
12833 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
12834 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
12835 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
12836
47674667
VS
128372010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12838
12839 Import gnulib argp module.
12840
12841 * gnulib/argp-ba.c: New file.
12842 * gnulib/argp-eexst.c: Likewise.
12843 * gnulib/argp-fmtstream.c: Likewise.
12844 * gnulib/argp-fmtstream.h: Likewise.
12845 * gnulib/argp-fs-xinl.c: Likewise.
12846 * gnulib/argp-help.c: Likewise.
12847 * gnulib/argp-namefrob.h: Likewise.
12848 * gnulib/argp-parse.c: Likewise.
12849 * gnulib/argp-pin.c: Likewise.
12850 * gnulib/argp-pv.c: Likewise.
12851 * gnulib/argp-pvh.c: Likewise.
12852 * gnulib/argp-version-etc.c: Likewise.
12853 * gnulib/argp-version-etc.h: Likewise.
12854 * gnulib/argp-xinl.c: Likewise.
12855 * gnulib/argp.h: Likewise.
12856
495442ed
VS
128572010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * kern/device.c (grub_device_iterate): Clear errors after failed
12860 opening device.
12861
f9fd65df
VS
128622010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12863
12864 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
12865 returned by firmware.
12866
af09641e
VS
128672010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12868
12869 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
12870 compilation on coreboot and qemu
12871
016883a5
VS
128722010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * include/multiboot2.h: Resync with spec.
12875
f97e1f7d
VS
128762010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12877
12878 Multiboot2 tag support
12879
12880 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
12881 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
12882 Remove loader/multiboot_loader.c.
12883 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
12884 (grub_multiboot2_real_boot): Likewise.
12885 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
12886 (grub_get_multiboot_mmap_count): New proto.
12887 (grub_fill_multiboot_mmap): Likewise.
12888 (grub_multiboot_set_video_mode): Likewise.
12889 (grub_multiboot_set_console): Likewise.
12890 (grub_multiboot_load): Likewise.
12891 (grub_multiboot_load_elf): Likewise.
12892 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
12893 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
12894 * include/multiboot.h: Resynced with specification.
12895 * include/multiboot2.h: Resynced with specification.
12896 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
12897 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
12898 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
12899 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
12900 users updated.
12901 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
12902 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
12903 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
12904 Removed.
12905 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
12906 Moved from here...
12907 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
12908 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12909 Moved from here...
12910 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
12911 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
12912 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
12913 All users updated.
12914 * loader/i386/multiboot_mbi2.c: New file.
12915
3506b90b
VS
129162010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 Resync with gnulib.
12919
12920 * Makefile.in (GNULIB_CFLAGS): New variable.
12921 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
12922 (grub_script_check_CFLAGS): New variable.
12923 * gnulib/alloca.h: Resync with gnulib.
12924 * gnulib/error.c: Likewise.
12925 * gnulib/error.h: Likewise.
12926 * gnulib/fnmatch.c: Likewise.
12927 * gnulib/fnmatch_loop.c: Likewise.
12928 * gnulib/getdelim.c: Likewise.
12929 * gnulib/getline.c: Likewise.
12930 * gnulib/getopt.c: Likewise.
12931 * gnulib/getopt1.c: Likewise.
12932 * gnulib/getopt_int.h: Likewise.
12933 * gnulib/gettext.h: Likewise.
12934 * gnulib/progname.c: Likewise.
12935 * gnulib/progname.h: Likewise.
12936
394a3120
GS
129372010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
12938
12939 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
12940 which is the case with --disabled-nls.
12941
12942 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
12943 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
12944 * util/misc.c: Likewise.
12945 * util/mkisofs/mkisofs.c: Likewise.
12946 * util/mkisofs/mkisofs.h: Likewise.
12947
969d1c78
VS
129482010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 Simplify Apple CC support.
12951
12952 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12953 Add 0 byte at the end not to have a symbol with empty target.
12954 * mmap/i386/pc/mmap_helper.S: Likewise.
12955 * genmk.rb: Ignore errors 2030 and 2050.
12956 * kern/i386/pc/startup.S: Use LOCAL when possible.
12957
8d2977bb
BC
129582010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12959
12960 Testcase and the fix for final semicolon on cmdline.
12961
12962 * tests/grub_script_final_semicolon.in: New testcase.
12963 * conf/tests.rmk: Rules for the new testcase.
12964 * script/parser.y: Grammar fix.
12965
a7bd6915
BC
129662010-03-26 BVK Chaitanya <bvk@localhost>
12967
12968 Blank lines testcase for GRUB script.
12969
12970 * tests/grub_script_blanklines.in: New testcase.
12971 * conf/tests.rmk: Rules for the new testcase.
12972
e4ff6628
VS
129732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 Don't use __FILE__.
12976
12977 * genmk.rb: Add -DGRUB_FILE to all C targets.
12978 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12979 * include/grub/list.h: Likewise.
12980 * include/grub/misc.h: Likewise.
12981 * include/grub/mm.h: Likewise.
12982 * include/grub/test.h: Likewise.
12983 * kern/mm.c: Likewise.
12984 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12985
6a5cf6b6
VS
129862010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 Sunpc partitions support.
12989
12990 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12991 (grub_fstest_SOURCES): Likewise.
12992 (pkglib_MODULES): Add part_sunpc.mod.
12993 (part_sunpc_mod_SOURCES): New variable.
12994 (part_sunpc_mod_CFLAGS): Likewise.
12995 (part_sunpc_mod_LDFLAGS): Likewise.
12996 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
12997 * partmap/sunpc.c: New file.
12998
746d9045
BC
129992010-03-26 BVK Chaitanya <bvk@localhost>
13000
13001 For loop support to GRUB script.
13002
13003 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13004 (grub_script_create_cmdfor): New function prototype.
13005 (grub_script_execute_cmdfor): New function prototype.
13006 * script/execute.c (grub_script_execute_cmdfor): New function.
13007 * script/parser.y (command): New for command.
13008 (forcmd): New grammar rule.
13009 * script/script.c (grub_script_create_cmdfor): New function.
13010 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13011 function.
13012 * tests/grub_script_for1.in: New testcase.
13013 * conf/tests.rmk: Rules for new testcase.
13014
18486b18
VS
130152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 Nested partitions
13018
13019 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13020 'partition' is NULL, grub_partition_get_start already does that.
13021 * commands/loadenv.c (check_blocklists): Likewise.
13022 (write_blocklists): Likewise.
13023 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13024 (grub_fstest_SOURCES): Likewise.
13025 (pkglib_MODULES): Add part_bsd.mod.
13026 (part_bsd_mod_SOURCES): New variable.
13027 (part_bsd_mod_CFLAGS): Likewise.
13028 (part_bsd_mod_LDFLAGS): Likewise.
13029 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13030 (grub_emu_SOURCES): Likewise.
13031 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13032 * include/grub/bsdlabel.h: New file.
13033 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13034 'get_name'.
13035 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13036 (grub_partition_map_list): New variable.
13037 (grub_partition_map_register): Inline.
13038 (grub_partition_map_unregister): Likewise.
13039 (FOR_PARTITION_MAPS): New macro.
13040 (grub_partition_map_iterate): Removed.
13041 (grub_partition_get_start): Handle nested partitions.
13042 * include/grub/msdos_partition.h: Remove bsd-related entries.
13043 (grub_pc_partition): Remove.
13044 * kern/disk.c (grub_disk_close): Free partition data.
13045 (grub_disk_adjust_range): Handle nested partitions.
13046 * kern/partition.c (grub_partition_map_probe): New function.
13047 (grub_partition_probe): Parse name to number, handle subpartitions.
13048 (get_partmap): New function.
13049 (grub_partition_iterate): Handle subpartitions.
13050 (grub_partition_get_name): Likewise.
13051 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13052 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13053 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13054 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13055 Set 'number'.
13056 (acorn_partition_map_probe): Remove.
13057 (acorn_partition_map_get_name): Likewise.
13058 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13059 Set 'number'.
13060 Set 'index' to 0 since there can be only one partition entry per sector.
13061 (amiga_partition_map_probe): Remove.
13062 (amiga_partition_map_get_name): Likewise.
13063 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13064 Set 'number'.
13065 Set 'offset' and 'index' to real positions of partitions.
13066 (apple_partition_map_probe): Remove.
13067 (apple_partition_map_get_name): Likewise.
13068 * partmap/bsdlabel.c: New file.
13069 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13070 Set 'number'.
13071 Allocate 'data' so it can be correctly freed.
13072 Set 'index' to offset inside sector.
13073 (gpt_partition_map_probe): Remove.
13074 (gpt_partition_map_get_name): Likewise.
13075 * partmap/msdos.c (grub_partition_parse): Remove.
13076 (pc_partition_map_iterate): Don't force raw access.
13077 Set 'number'.
13078 Make 'ext_offset' a local variable.
13079 (pc_partition_map_probe): Remove.
13080 (pc_partition_map_get_name): Remove.
13081 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13082 Set 'number'.
13083 (sun_partition_map_probe): Remove.
13084 (sun_partition_map_get_name): Likewise.
13085 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13086 (grub_pcpart_type): Likewise.
13087 * util/hostdisk.c (open_device): Handle new numbering scheme.
13088 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13089 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13090 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13091 * util/grub-install.in: Insert all subpartition modules.
13092 * util/ieee1275/grub-install.in: Likewise.
13093
a3940f88
AG
130942010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13095
13096 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13097 grammar.
13098
21b99926 130992010-03-24 Colin Watson <cjwatson@ubuntu.com>
13100
13101 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13102
bed1d352
CW
131032010-03-21 Colin Watson <cjwatson@ubuntu.com>
13104
13105 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13106 match where 'make install' puts them.
13107 * util/i386/efi/grub-install.in: Likewise.
13108
c9f58427
CW
131092010-03-19 Colin Watson <cjwatson@ubuntu.com>
13110
13111 * .bzrignore: Add gentrigtables, grub-script-check,
13112 grub_script_check_init.c, grub_script_check_init.h, and
13113 trigtables.c.
13114
f84afb27
VS
131152010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * kern/parser.c: Indented.
13118
ed0e3d30
VS
131192010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13122
0ea81d98
VS
131232010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13124
13125 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13126 alpha_mask_size == 0 case.
13127
0cdc2a09
BC
131282010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13129
13130 GRUB shell lexer and parser improvements.
13131
13132 * conf/any-emu.rmk: Build rule updates.
13133 * conf/common.rmk: Likewise.
13134 * conf/i386-coreboot.rmk: Likewise.
13135 * conf/i386-efi.rmk: Likewise.
13136 * conf/i386-ieee1275.rmk: Likewise.
13137 * conf/i386-pc.rmk: Likewise.
13138 * conf/powerpc-ieee1275.rmk: Likewise.
13139 * conf/x86_64-efi.rmk: Likewise.
13140
13141 * configure.ac: Configure check for flex.
13142
13143 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13144 types.
13145 (grub_lexer_param): Struct member updates.
13146 (grub_parser_param): Likewise.
13147 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13148 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13149 (grub_script_lexer_init): Prototype update.
13150 (grub_script_lexer_record_start): Likewise.
13151 (grub_script_lexer_record_stop): Likewise.
13152 (grub_script_lexer_yywrap): New function prototype.
13153 (grub_script_lexer_fini): Likewise.
13154 (grub_script_execute_argument_to_string): Removed by...
13155 (grub_script_execute_argument_to_argv): ...better version.
13156
13157 * script/execute.c (ROUND_UPTO): New macro.
13158 (grub_script_execute_cmdline): Out of memory fixes.
13159 (grub_script_execute_menuentry): Likewise.
13160 (grub_script_execute_argument_to_string): Removed. Update all
13161 users by...
13162 (grub_script_execute_argument_to_argv): ...better version.
13163 * script/function.c (grub_script_function_create): Use
13164 grub_script_execute_argument_to_argv instead of
13165 grub_script_execute_argument_to_string.
13166
13167 * script/lexer.c (check_varstate): Removed.
13168 (check_textstate): Removed.
13169 (grub_script_lexer_record_start): Likewise.
13170 (grub_script_lexer_record_stop): Likewise.
13171 (recordchar): Replaced with...
13172 (grub_script_lexer_record): ...new function.
13173 (nextchar): Removed.
13174 (grub_script_lexer_init): Rewritten.
13175 (grub_script_yylex): Rewritten.
13176 (append_newline): New function.
13177 (grub_script_lexer_yywrap): New function.
13178 (grub_script_lexer_fini): New function.
13179 (grub_script_yyerror): Sets error flag.
13180
13181 * script/yylex.l: New file.
13182 (grub_lexer_yyfree): Wrapper for flex yyffre.
13183 (grub_lexer_yyalloc): Likewise.
13184 (grub_lexer_yyrealloc): Likewise.
13185 * script/parser.y: Refactored.
13186
13187 * script/script.c (grub_script_arg_add): Out of memory fixes.
13188 (grub_script_add_arglist): Likewise.
13189 (grub_script_create_cmdline): Likewise.
13190 (grub_script_create_cmdmenu): Likewise.
13191 (grub_script_add_cmd): Likewise.
13192 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13193 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13194 unnecessary code.
13195
13196 * tests/grub_script_echo1.in: New testcase.
13197 * tests/grub_script_vars1.in: New testcase.
13198 * tests/grub_script_echo_keywords.in: New testcase.
13199
1d63a066
VS
132002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 Remove some redundancy in build system.
13203
13204 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13205 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13206 (TARGET_LDFLAGS): Add -nostdlib.
13207 (TARGET_IMG_LDFLAGS): Likewise.
13208 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13209 anything since mmap isn't available.
13210 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13211 Add util/time.c.
13212 (pkglib_MODULES): Remove reboot.mod.
13213 (reboot_mod_SOURCES): Removed.
13214 (reboot_mod_CFLAGS): Likewise.
13215 (reboot_mod_LDFLAGS): Likewise.
13216 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13217 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13218 (DEFSYMFILES): Add kernel_syms.lst.
13219 (kernel_img_HEADERS): Add common headers.
13220 (symlist.c): New target.
13221 (kernel_syms.lst): Likewise.
13222 (pkglib_MODULES): Add memdisk.mod.
13223 (memdisk_mod_SOURCES): New variable.
13224 (memdisk_mod_CFLAGS): Likewise.
13225 (memdisk_mod_LDFLAGS): Likewise.
13226 (pkglib_MODULES): Add reboot.mod.
13227 (reboot_mod_SOURCES): New variable.
13228 (reboot_mod_CFLAGS): Likewise.
13229 (reboot_mod_LDFLAGS): Likewise.
13230 (pkglib_MODULES): Add date.mod.
13231 (date_mod_SOURCES): New variable.
13232 (date_mod_CFLAGS): Likewise.
13233 (date_mod_LDFLAGS): Likewise.
13234 (pkglib_MODULES): Add datehook.mod.
13235 (datehook_mod_SOURCES): New variable.
13236 (datehook_mod_CFLAGS): Likewise.
13237 (datehook_mod_LDFLAGS): Likewise.
13238 (pkglib_MODULES): Add lsmmap.mod.
13239 (lsmmap_mod_SOURCES): New variable.
13240 (lsmmap_mod_CFLAGS): Likewise.
13241 (lsmmap_mod_LDFLAGS): Likewise.
13242 (pkglib_MODULES): Add boot.mod.
13243 (boot_mod_SOURCES): New variable.
13244 (boot_mod_CFLAGS): Likewise.
13245 (boot_mod_LDFLAGS): Likewise.
13246 * conf/i386-coreboot.rmk: Removed redundant parts.
13247 * conf/i386-ieee1275.rmk: Likewise.
13248 * conf/i386-pc.rmk: Likewise.
13249 * conf/mips-yeeloong.rmk: Likewise.
13250 * conf/mips.rmk: Likewise.
13251 * conf/powerpc-ieee1275.rmk: Likewise.
13252 * conf/sparc64-ieee1275.rmk: Likewise.
13253 * conf/x86_64-efi.rmk: Likewise.
13254 * conf/i386-coreboot.rmk: Moved qemu parts ..
13255 * conf/i386-qemu.rmk: ... here
13256 * conf/i386-efi.rmk: Moved common parts to...
13257 * conf/x86-efi.rmk: ... here.
13258 * conf/i386.rmk: Added modules common to all x86 variants.
13259 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13260 * disk/memdisk.c: Remove grub/machine/kernel.h.
13261 * gensymlist.sh.in: Include symbol.h.
13262 * hook/datehook.c: Correct module name.
13263 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13264 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13265 * include/grub/i386/efi/serial.h: New file.
13266 * include/grub/x86_64/efi/serial.h: Likewise.
13267 * util/time.c: Likewise.
13268 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13269
463ac55f
CK
132702010-03-14 Colin King <colin.king@ubuntu.com>
132712010-03-14 Colin Watson <cjwatson@ubuntu.com>
13272
13273 Shrink the pre-partition-table part of boot.img by eight bytes.
13274
13275 * boot/i386/pc/boot.S (ERR): New macro.
13276 (chs_mode): Use ERR.
13277 (geometry_error): Likewise.
13278 (hd_probe_error): Remove. This is only used once, so we wrwite
13279 it inline instead.
13280 (read_error): Instead of printing read_error_string, just set up
13281 %si and fall through to ...
13282 (error_message): ... this new function, also used by ERR.
13283
08e46ede
CW
132842010-03-14 Colin Watson <cjwatson@ubuntu.com>
13285
13286 Speed up consecutive hostdisk operations on the same device.
13287
13288 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13289 (grub_util_biosdisk_open): Initialise disk->data.
13290 (struct linux_partition_cache): New structure.
13291 (linux_find_partition): Cache partition start positions; these are
13292 expensive to compute on every read and write.
13293 (open_device): Cache open file descriptor in disk->data, so that we
13294 don't have to reopen it and flush the buffer cache for consecutive
13295 operations on the same device.
13296 (grub_util_biosdisk_close): New function.
13297 (grub_util_biosdisk_dev): Set `close' member.
13298
13299 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13300 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13301 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13302 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13303 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13304
4a6d2d06
VS
133052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 Compile parts of grub-emu as modules.
13308
13309 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13310 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13311 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13312 (all-local): Add $(GRUB_EMU).
13313 (install-local): Install $(GRUB_EMU).
13314 (uninstall): Uninstall $(GRUB_EMU).
13315 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13316 * kern/dl.c: Likewise.
13317 * commands/sleep.c: Not include machine/time.h.
13318 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13319 (COMMON_CFLAGS): Likewise.
13320 (sbin_UTILITIES): Remove grub-emu.
13321 (grub_emu_SOURCES): Removed.
13322 (kernel_img_RELOCATABLE): New variable.
13323 (pkglib_PROGRAMS): Add kernel.img.
13324 (kernel_img_SOURCES): New variable
13325 (kernel_img_CFLAGS): Likewise.
13326 (kernel_img_LDFLAGS): Likewise.
13327 (TARGET_NO_STRIP): Likewise.
13328 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13329 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13330 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13331 (grub-emu): New target.
13332 (GRUB_EMU): New variable.
13333 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13334 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13335 * loader/xnu.c: Likewise.
13336 * include/grub/pci.h: Likewise.
13337 * genemuinit.sh: New file.
13338 * genemuinitheader.sh: Likewise.
13339 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13340 Support TARGET_NO_DYNAMIC_MODULES.
13341 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13342 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13343 * disk/loopback.c: Likewise.
13344 * font/font_cmd.c: Likewise.
13345 * partmap/acorn.c: Likewise.
13346 * partmap/amiga.c: Likewise.
13347 * partmap/apple.c: Likewise.
13348 * partmap/gpt.c: Likewise.
13349 * partmap/msdos.c: Likewise.
13350 * partmap/sun.c: Likewise.
13351 * parttool/msdospart.c: Likewise.
13352 * term/gfxterm.c: Likewise.
13353 * video/bitmap.c: Likewise.
13354 * video/readers/jpeg.c: Likewise.
13355 * video/readers/png.c: Likewise.
13356 * video/readers/tga.c: Likewise.
13357 * video/video.c: Likewise.
13358 * util/grub-emu.c (read_command_list): Removed.
13359 (main): Don't call util_init_nls.
13360 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13361 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13362
91fdd2ed
VS
133632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13366 date.mod, datehook.mod.
13367 (datetime_mod_SOURCES): New variable.
13368 (datetime_mod_CFLAGS): Likewise.
13369 (datetime_mod_LDFLAGS): Likewise.
13370 (date_mod_SOURCES): Likewise.
13371 (date_mod_CFLAGS): Likewise.
13372 (date_mod_LDFLAGS): Likewise.
13373 (datehook_mod_SOURCES): Likewise.
13374 (datehook_mod_CFLAGS): Likewise.
13375 (datehook_mod_LDFLAGS): Likewise.
13376 * conf/sparc64-ieee1275.rmk: Likewise.
13377 * lib/ieee1275/datetime.c: New file.
13378
873ccae6
VS
133792010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13380
13381 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13382 (ieee1275_fb_mod_SOURCES): New variable.
13383 (ieee1275_fb_mod_CFLAGS): Likewise.
13384 (ieee1275_fb_mod_LDFLAGS): Likewise.
13385 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13386 New proto.
13387 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13388 (HEAP_MAX_ADDR): Likewise.
13389 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13390 type.
13391 Correct stop condition.
13392 (grub_ieee1275_devices_iterate): New function.
13393 * video/ieee1275.c: New file.
13394
601c97c0
VS
133952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13398
13399 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13400 as scratch.
13401 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13402 SCRATCH_PAD_DISKBOOT as scratch.
13403 (bootit): Pass Openfirmware pointer in %o4.
13404 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13405 of 0x200000.
13406 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13407 with util/grub-mkrawimage.c.
13408 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13409 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13410 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13411 (grub_aout_load) [GRUB_UTIL]: Likewise.
13412 * include/grub/kernel.h (grub_modules_get_end): New proto.
13413 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13414 (SCRATCH_PAD_BOOT): New definition.
13415 (SCRATCH_PAD_DISKBOOT): Likewise.
13416 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13417 * include/grub/sparc64/ieee1275/ieee1275.h
13418 (grub_ieee1275_original_stack): New variable
13419 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13420 New definition
13421 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13422 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13423 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13424 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13425 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13426 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13427 (grub_platform_image_format_t): New type.
13428 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13429 * kern/main.c (grub_modules_get_end)
13430 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13431 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13432 (codestart): Switch stacks.
13433 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13434 variable.
13435 (grub_heap_init): Use grub_modules_get_end.
13436 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13437 stack.
13438 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13439 (main): Likewise.
13440 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13441
d68b491e
TG
134422010-03-14 Thorsten Glaser <tg@mirbsd.org>
13443
13444 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13445
4e02ed50
MK
134462010-03-08 Matt Kraai <kraai@ftbfs.org>
13447
13448 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13449 bug #559005).
13450
1f15fc1e
VS
134512010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 * genmoddep.awk: Output all missing symbols and not only first.
13454
fce5d8ff
VS
134552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 * NEWS: Put the date of 1.98 release.
13458
d1e8a02f
VS
134592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13462 ft2build.h.
13463
696fd607
VS
134642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13467 completition in the middle of string.
13468
33e2e6f3
VS
134692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * util/grub-mkrescue.in: Use mktemp with explicit template.
13472
b1f6d291
VS
134732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13476
2ac227c7
VS
134772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13480 right pointer.
13481
8f9a632b
VS
134822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 Fix FreeBSD compilation.
13485
13486 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13487 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13488
60b03859
VS
134892010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13492
48a5a769
VS
134932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13496
3ab4bd77
VS
134972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13500
d116e0d8
RM
135012010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13502
13503 Support relative image path in theme file.
13504
13505 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13506 (image_set_property): Handle theme_dir and relative path.
13507
c7ef54aa
VS
135082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13509
13510 * configure.ac: Alias amd64 to x86_64.
13511
fcee14ed
VS
135122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * NEWS: mention multiboot on EFI.
13515
d0780363
VS
135162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13517
13518 * kern/main.c (grub_load_modules): Handle errors from init functions of
13519 embeded modules.
13520
41168ea4
VS
135212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 * normal/autofs.c (autoload_fs_module): Handle errors.
13524
b54d93ac
VS
135252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 Disable linux.mod on qemu-mips since it's not functional and leads
13528 to compilation failure.
13529
13530 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13531 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13532 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13533 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13534 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13535 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13536 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13537 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13538 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13539 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13540 Reported by: BVK Chaitanya
13541
fc8345da
JU
135422010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13543
13544 * INSTALL: Add gettext as a dependency and add qemu to a new section
13545 "Prerequisites for make-check".
13546
4760f979
CF
135472010-03-04 Christian Franke <franke@computer.org>
13548
13549 * util/grub-pe2elf.c: Add missing include "progname.h".
13550
f209b5b2
VS
135512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 * normal/crypto.c (read_crypto_list): Fix a typo.
13554 Reported by: Seth Goldberg.
13555
b4b7be98
VS
135562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13557
13558 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13559 Reported by: Seth Goldberg.
b4b7be98 13560
c0ee0385
VS
135612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13564 ascii.bitmaps.
13565
a8efbf64
VS
135662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13569 Reported by: Seth Goldberg.
a8efbf64 13570
08dcd913
VS
135712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * util/i386/efi/grub-install.in: Copy gettext files.
13574
c4d0b332
VS
135752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13578
c6f2fe52
VS
135792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13580
13581 Wait for user entry basing on presence of output rather than on errors.
13582
13583 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13584 (grub_install_newline_hook): Likewise.
13585 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13586 * normal/menu.c (show_menu): Check line_counter to determine presence
13587 of output.
13588 * normal/term.c (grub_normal_line_counter): New variable.
13589 (grub_normal_get_line_counter): New function.
13590 (grub_install_newline_hook): Likewise.
13591
5382b1e4
VS
135922010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13593
13594 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13595
5519963b
VS
135962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13597
13598 * configure.ac: Update version to 1.98.
13599
72b28631
VS
136002010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * util/grub.d/10_linux.in (linux_entry): Don't default to
13603 gfxpayload=keep if Linux doesn't support video handover.
13604
c140a180
VS
136052010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Don't compile video modules on yeeloong since video subsystem is part
13608 of kernel.
13609
13610 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13611 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13612 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13613 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13614 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13615 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13616 * include/grub/bitmap_scale.h: Likewise.
13617 * include/grub/bufio.h: Likewise.
13618 * include/grub/font.h: Likewise.
13619 * include/grub/gfxterm.h: Likewise.
13620 * include/grub/video.h: Likewise.
13621 * include/grub/vbe.h: Don't include video_fb.h.
13622 * video/i386/pc/vbe.c: Include video_fb.h.
13623 * commands/i386/pc/vbetest.c: Include video.h.
13624
a0ca21c2
CW
136252010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13626
13627 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13628 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13629 default entry if GRUB_SAVEDEFAULT=true. This allows using
13630 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13631 saving a new default on every boot.
13632
4a8a763c
VS
136332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13636 * normal/term.c (read_terminal_list): Likewise.
13637 * normal/main.c (grub_normal_init_page): Likewise.
13638 (grub_normal_read_line_real): Likewise.
13639
607ffde2
VS
136402010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13641
13642 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13643 memory leak.
13644 Reported by: Seth Goldberg.
13645
2b8fa975
CW
136462010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13647
13648 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13649 duplicate declaration of `start'.
13650
618307dd
VS
136512010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13654 filename.
13655 Reported by: Georgy Buranov
13656
7dd05b96 136572010-02-20 Carles Pina i Estany <carles@pina.cat>
13658
13659 * util/grub-mkrawimage.c (usage): Change string formatting to
13660 improve gettext.
13661
d1484a42
MRA
136622010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13663
13664 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13665 backspace keys.
13666
42b1d186
VS
136672010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13670 Reported by: Michael Suchanek.
13671
136722010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
13673
13674 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13675 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13676
d9f31a41
VS
136772010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13678
13679 Remove any reference to non-free fonts.
13680
13681 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13682 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13683 uses non-free components.
13684 * font/font.c (grub_font_get_name): Remove example name.
13685 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13686 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13687 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13688 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13689
2793c71e
GB
136902010-02-16 Georgy Buranov <gburanov@gmail.com>
13691
13692 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13693
402e3779
VS
136942010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13695
13696 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13697 Double divisor.
13698 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13699 features.
13700 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
13701
0dd1e0dd
VS
137022010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * gensymlist.sh.in: Use TARGET_CC instead of CC.
13705
6fa7cfce
ST
137062010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13707
13708 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
13709 * docs/grub.texi (Command-line and menu entry commands): Document play
13710 command.
13711
37c8483b
ST
137122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13713
13714 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
13715 parse arguments as inline tempo and notes. Move code for playing notes
13716 to...
13717 (play): ... new function.
13718
14da0fb7
ST
137192010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13720
13721 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
13722 grub_uint16_t instead of short.
13723 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
13724 disk from little endian to cpu endianness.
13725
04459e70
ST
137262010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
13727
13728 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
13729 GRUB_TICKS_PER_SECOND instead of 120.
13730
a0876943
VS
137312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13732
13733 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
13734 escape sequence after \e.
13735
e29f95dc
VS
137362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
13739 non-ASCII characters.
13740
d27859b2
VS
137412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
13744 set root in single quotes to prevent \, from being unescaped.
13745
bc028f2f
VS
137462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 Prevent unknown commands from stopping menuentry execution.
13749
13750 * script/execute.c (grub_script_execute_cmdline): Print error after
13751 unknown command.
13752
095f5f82
VS
137532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
13756 Reported by: Pavel Pisa.
13757
8c717950
VS
137582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13759
13760 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
13761
904935c3
VS
137622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13763
13764 Merge grub_ieee1275_map_physical into grub_map and rename to
13765 grub_ieee1275_map
13766
13767 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
13768 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
13769 Remove.
13770 * kern/ieee1275/openfw.c (grub_map): Rename to ...
13771 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
13772 necessary.
13773 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
13774
5b59a4e3
VS
137752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13776
13777 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
13778 opening and not after.
13779
69e137e8
VS
137802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
13783 constants.
13784
2c0fcc36
VS
137852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
13788 (alloc_phys): Use ALIGN_UP instead of align_addr.
13789
8c6052ce
VS
137902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13791
13792 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
13793
17cec782
VS
137942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13795
13796 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
13797
e0128bbd
VS
137982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13799
13800 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
13801 verbose dprintf.
13802
ca62070b
VS
138032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 Fix over-4GiB seek on sparc64.
13806
13807 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
13808 Replace pos_i and pos_lo with pos. All users updated.
13809 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13810 New constant.
13811 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13812 Likewise.
13813 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
13814 and pos_lo.
13815
bdca2607
VS
138162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * util/grub-mkrawimage.c (main): Call set_program_name.
13819
da278c4d
VS
138202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 Properly align 64-bit targets.
13823
13824 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
13825 (generate_image): Use ALIGN_ADDR.
13826
b274d734
VS
138272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13828
13829 Properly create cross-endian images.
13830
13831 * include/grub/types.h (grub_host_to_target_addr): New macro
13832 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
13833
82da2062
VS
138342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13835
13836 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
13837
7cae4377
VS
138382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
13841
13842 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
13843 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
13844 (grub_linux_boot): Divide by 64K when on VESA.
13845
65a533e7
VS
138462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13847
13848 Support GRUB_GFXPAYLOAD_LINUX.
13849
13850 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
13851 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
13852
dd01d397
VS
138532010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13854
13855 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
13856 to show messages instead of discarding them.
13857 Process errors after executing command and not before. Keep old method
13858 too as precaution.
13859
660960d6
VS
138602010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * configure.ac: Check for ft2build.h.
13863
62509f04
VS
138642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
13867
473df63d
VS
138682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 * genkernsyms.sh.in: Use TARGET_CC.
13871
c98d2a13
CW
138722010-02-07 Colin Watson <cjwatson@ubuntu.com>
13873
13874 * NEWS: Update.
13875
6e14234c
VS
138762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
13879 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
13880 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 13881
b255e9cf
YB
138822010-02-07 Yves Blusseau <blusseau@zetam.org>
13883
6e14234c 13884 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 13885
98e6959d
VS
138862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 Fix warnings in grub-emu when compiling with maximum warning options.
13889
13890 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
13891 (grub_arch_modules_addr): Return 0 and not NULL.
13892 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 13893 (xstrdup): Use newstr instead of dup.
f88d801b
VS
13894 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
13895 of disk to dsk to avoid shadowing.
74e4934e
VS
13896 (find_free_slot): Fix prototype.
13897 * util/getroot.c (grub_util_is_dmraid): Make static.
13898 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
13899 Add missing prototype.
13900 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 13901
74e31b5c
VS
139022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13903
13904 * loader/i386/linux.c (grub_linux_setup_video): Handle error
13905 appropriately.
13906
6b2ad14b
VS
139072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13908
13909 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
13910 code out.
13911
8f891adc
VS
139122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
13915 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
13916 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
13917 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
13918 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
13919 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
13920
74b45184
VS
139212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * include/grub/err.h (grub_err_printf): Don't export.
13924
a4bced77
VS
139252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13926
13927 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
13928
007d0695
VS
139292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13930
13931 * include/grub/i18n.h (grub_gettext_dummy): Removed.
13932 * kern/misc.c (grub_gettext_dummy): Make static.
13933
b6c0d9c2
VS
139342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13935
13936 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
13937 by non-valid ones.
13938 * kern/term.c (grub_putchar): Likewise.
13939
f51a90d0
VS
139402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
13943 buggy hook call and memory leak.
13944
6846cec5
VS
139452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13948
468d69fe
VS
139492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13952
51906b8c
VS
139532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13954
13955 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13956 modevar.
13957 Return grub_errno on allocation error.
13958
09706ce5
VS
139592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13960
13961 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13962
911df80c
YB
139632010-02-06 Yves Blusseau <blusseau@zetam.org>
13964
13965 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13966 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13967
3746a6bc
VS
139682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13971 non-pxe disk.
13972 (grub_pxefs_open): Likewise.
13973
09706ce5
VS
139742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13975
13976 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13977 * util/grub.d/10_kfreebsd.in: Likewise.
13978 * util/grub.d/10_linux.in: Likewise.
13979
7cc192d9
VS
139802010-02-06 Colin D Bennett <colin@gibibit.com>
13981
13982 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13983 (gfxmenu_mod_SOURCES): New variable.
13984 (gfxmenu_mod_CFLAGS): Likewise.
13985 (gfxmenu_mod_LDFLAGS): Likewise.
13986 * include/grub/term.h (grub_term_set_current_output): Declare
13987 argument as const.
13988 * docs/gfxmenu-theme-example.txt: New file.
13989 * gfxmenu/gfxmenu.c: Likewise.
13990 * gfxmenu/gui_box.c: Likewise.
13991 * gfxmenu/gui_canvas.c: Likewise.
13992 * gfxmenu/gui_circular_progress.c: Likewise.
13993 * gfxmenu/gui_image.c: Likewise.
13994 * gfxmenu/gui_label.c: Likewise.
13995 * gfxmenu/gui_list.c: Likewise.
13996 * gfxmenu/gui_progress_bar.c: Likewise.
13997 * gfxmenu/gui_string_util.c: Likewise.
13998 * gfxmenu/gui_util.c: Likewise.
13999 * gfxmenu/icon_manager.c: Likewise.
14000 * gfxmenu/model.c: Likewise.
14001 * gfxmenu/named_colors.c: Likewise.
14002 * gfxmenu/theme_loader.c: Likewise.
14003 * gfxmenu/view.c: Likewise.
14004 * gfxmenu/widget-box.c: Likewise.
14005 * include/grub/gfxmenu_model.h: Likewise.
14006 * include/grub/gfxmenu_view.h: Likewise.
14007 * include/grub/gfxwidgets.h: Likewise.
14008 * include/grub/gui.h: Likewise.
14009 * include/grub/gui_string_util.h: Likewise.
14010 * include/grub/icon_manager.h: Likewise.
14011
140122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 Agglomerate scrolling in gfxterm.
14015
14016 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14017 (grub_virtual_screen_setup): Initialise 'total_screen'.
14018 (write_char): Split to ...
14019 (paint_char): ... this ...
14020 (write_char): ... and this.
14021 (paint_char): Handle delayed scrolling.
14022 (draw_cursor): Likewise.
14023 (scroll_up): Split to ...
14024 (real_scroll): ... this ...
14025 (scroll_up): ... and this.
14026 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14027 characters.
14028 (grub_gfxterm_refresh): Call real_scroll.
14029
140302010-02-06 Colin D Bennett <colin@gibibit.com>
14031
14032 * include/grub/misc.h (grub_iscntrl): New inline function.
14033 (grub_isalnum): Likewise.
14034 (grub_strtol): Likewise.
14035
140362010-02-06 Colin D Bennett <colin@gibibit.com>
14037
14038 * normal/menu_text.c (get_entry_number): Move from here ...
14039 * normal/menu.c (get_entry_number): ... moved here.
14040 * include/grub/menu.h (grub_menu_get_default_entry_index):
14041 New prototype.
14042 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14043 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14044 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14045 (grub_menu_viewer_should_return): Likewise.
14046 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14047 * normal/menu_text.c (run_menu): Enable menu switching.
14048 * normal/menu_viewer.c (should_return): New variable.
14049 (menu_viewer_changed): Likewise.
14050 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14051 (grub_menu_viewer_should_return): New function.
14052 (menuviewer_write_hook): Likewise.
14053 (grub_menu_viewer_init): Likewise.
14054
140552010-02-06 Colin D Bennet <colin@gibibit.com>
140562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14057
14058 Support for gfxterm in a window.
14059
14060 * include/grub/gfxterm.h: New file.
14061 * include/grub/video.h (struct grub_video_rect): New declaration.
14062 (grub_video_rect_t): Likewise.
14063 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14064 (refcount): New variable.
14065 (render_target): Likewise.
14066 (window): Likewise.
14067 (repaint_callback): Likewise.
14068 (grub_virtual_screen_setup): Use 'render_target'.
14069 (init_window): New function.
14070 (grub_gfxterm_init_window): Likewise.
14071 (grub_gfxterm_init): Check reference counter.
14072 Use init_window.
14073 (destroy_window): New function.
14074 (grub_gfxterm_destroy_window): Likewise.
14075 (grub_gfxterm_fini): Check reference counter.
14076 Use destroy_window.
14077 (redraw_screen_rect): Restore viewport.
14078 Use 'render_target' and 'window'.
14079 Call 'repaint_callback'.
14080 (write_char): Use 'render_target'.
14081 (draw_cursor): Likewise.
14082 (scroll_up): Restore viewport.
14083 Use 'render_target' and 'window'.
14084 Call 'repaint_callback'.
14085 (grub_gfxterm_cls): Likewise.
14086 (grub_gfxterm_refresh): Use 'window'.
14087 (grub_gfxterm_set_repaint_callback): New function.
14088 (grub_gfxterm_background_image_cmd): Use 'window'.
14089 (grub_gfxterm_get_term): New function.
14090 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14091
140922010-02-06 Colin D Bennett <colin@gibibit.com>
14093
14094 Bitmap scaling support.
14095
14096 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14097 (bitmap_scale_mod_SOURCES): New variable.
14098 (bitmap_scale_mod_CFLAGS): Likewise.
14099 (bitmap_scale_mod_LDFLAGS): Likewise.
14100 * include/grub/bitmap_scale.h: New file.
14101 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14102 (background_image_cmd_options): New variable.
14103 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14104 (cmd): Rename and change type to ...
14105 (background_image_cmd_handle): ... this. All users updated.
14106 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14107 * video/bitmap_scale.c: New file.
14108
141092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14110
14111 SDL support.
14112
14113 * Makefile.in (LIBSDL): New variable.
14114 (enable_grub_emu_sdl): Likewise.
14115 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14116 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14117 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14118 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14119 * util/sdl.c: New file.
14120
141212010-02-06 Colin D Bennett <colin@gibibit.com>
141222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 Double buffering support.
14125
14126 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14127 * include/grub/video.h: Update comment.
14128 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14129 New type.
14130 (grub_video_fb_doublebuf_blit_init): New prototype.
14131 * term/gfxterm.c (scroll_up): Support double buffering.
14132 (grub_gfxterm_refresh): Likewise.
14133 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14134 (grub_video_fb_doublebuf_blit_init): Likewise.
14135 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14136 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14137 'displayed_page', 'render_page' and 'update_screen'.
14138 (grub_video_vbe_fini): Free offscreen buffer.
14139 (doublebuf_pageflipping_commit): New function.
14140 (doublebuf_pageflipping_update_screen): Likewise.
14141 (doublebuf_pageflipping_init): Likewise.
14142 (double_buffering_init): Likewise.
14143 (grub_video_vbe_setup): Enable doublebuffering.
14144 (grub_video_vbe_swap_buffers): Implement.
14145 (grub_video_vbe_set_active_render_target): Handle double buffering.
14146 (grub_video_vbe_get_active_render_target): Likewise.
14147 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14148 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14149 (grub_video_vbe_enable_double_buffering): Likewise.
14150 (grub_video_vbe_swap_buffers): Use update_screen.
14151 (grub_video_set_mode): Use double buffering.
14152
141532010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14154
14155 * maintainance/gentrigtables.py: Remove.
14156 * lib/trig.c: Likewise.
14157
14158 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14159
14160 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14161 `trigtables.c'.
14162 (trigtables.c): New rule.
14163 (gentrigtables): Likewise.
14164 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14165
141662010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14167
14168 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14169 integer constants.
14170
141712010-02-06 Colin D Bennet <colin@gibibit.com>
14172
14173 Trigonometry support.
14174
14175 * include/grub/trig.h: New file.
14176 * lib/trig.c: Likewise.
14177 * maintainance/gentrigtables.py: Likewise.
14178 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14179 (trig_mod_SOURCES): New variable.
14180 (trig_mod_CFLAGS): Likewise.
14181 (trig_mod_LDFLAGS): Likewise.
14182
5562834e
VS
141832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14186 disk devices.
14187
4f8528fc
VS
141882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14189
14190 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14191 error.
14192
2b4068e9
VS
141932010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14194
14195 * util/hostdisk.c (open_device): Don't use partition device when reading
14196 before the partition.
14197 (grub_util_biosdisk_read): Don't read from partition and before the
14198 partition in single operation.
14199 (grub_util_biosdisk_write): Don't write to partition and before the
14200 partition in single operation.
14201
399f6e4d
TL
142022010-02-03 Torsten Landschoff <torsten@debian.org>
14203
14204 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14205 last sectors.
14206
996649b0
VS
142072010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14210 CDROM reads.
14211 (grub_biosdisk_write): Refuse to write to CDROM.
14212
3b205d4d
VS
142132010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14216
61e89d9d
VS
142172010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * font/font.c (find_glyph): Check that bmp_idx is available before
14220 using it.
14221 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14222 with (font == NULL).
14223
bf7fcba2
CS
142242010-01-28 Christian Schmitt <chris@ilovelinux.de>
14225
14226 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14227
f45d2663
BC
142282010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14229
14230 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14231 * util/grub-script-check.c (getline): Fix empty lines case.
14232
ec1444e6
RM
142332010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14234
14235 * Makefile.in (check): Exit with fail status when one of the tests
14236 fails.
14237 * tests/example_functional_test.c (example_test): Fix reversed assert.
14238 * tests/example_unit_test.c (example_test): Likewise.
14239
2e1cb9bb
CW
142402010-01-28 Colin Watson <cjwatson@ubuntu.com>
14241
14242 * util/grub.d/10_linux.in: This script does not use any of the
14243 contents of gettext.sh, only the external command `gettext', so stop
14244 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14245 the same prefix as GRUB.)
14246 * util/grub.d/10_kfreebsd.in: Likewise.
14247
63533ab0
VS
142482010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14249
14250 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14251 of the line.
14252
989e1f93
VS
142532010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14256 last sectors.
14257
e709ebe2
VS
142582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14259
14260 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14261 having a 4KiB and not 32KiB buffer size.
14262
27dea7ed
RM
142632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14264
14265 * util/hostfs.c: Include `<errno.h>'.
14266 (grub_hostfs_read): Handle errors from fseeko() and fread().
14267
67667b9c
RM
142682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14269
14270 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14271 loop when using read hooks on files whose size isn't sector-aligned.
14272
c294d9d8
RM
142732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14274
14275 Remove unused parameter.
14276
14277 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14278 (grub_iso9660_open): Remove initialization of `data->length'.
14279
af75a9f1
RM
142802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14281
14282 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14283 memleak conditions.
14284
254e2ce5 142852010-01-27 Carles Pina i Estany <carles@pina.cat>
14286
14287 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14288 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14289
b510928c 142902010-01-26 Carles Pina i Estany <carles@pina.cat>
14291
14292 * util/bin2h.c (usage): Fix warning (space after backslash).
14293
aa2f9dd2 142942010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14295
14296 * font/font.c: Include `grub/fontformat.h.
14297 Remove font file format constants.
14298 (grub_font_load): Use the new macros.
14299 * include/grub/fontformat.h: New file.
14300 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14301 (write_font_pf2): Use the new macros.
14302
94e7e712
RM
143032010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14304
14305 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14306 does.
14307
3973a59a
RM
143082010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14309
14310 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14311
14312 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14313 (_start): Macroify `0x7F'.
14314
14315 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14316 (make_install_device): Use "(pxe)" as fallback prefix when booting
14317 via PXE.
14318
42e0cba3
GS
143192010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * configure.ac: Reset LIBS after check for libgcc symbols.
14322
847effd8
CW
143232010-01-25 Colin Watson <cjwatson@ubuntu.com>
14324
14325 * util/hostdisk.c (open_device): Add trailing newline to debug
14326 message.
14327
ea4a7e35
GS
143282010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14329
14330 * configure.ac: Check for `limits.h'.
14331 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14332
67951a53
RM
143332010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14334
14335 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14336 capitalize error strings.
14337
c273d4ce
ST
143382010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14339
14340 * util/grub.d/10_hurd.in: Add a recovery mode.
14341
69be5b74
VS
143422010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 * configure.ac: Check for libgcc symbols with -nostdlib.
14345
fc9e5810
BC
143462010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14347
14348 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14349
4b358c0a
VS
143502010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14351
14352 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14353 stack since heap may be unavailable at that point.
14354 (grub_ofconsole_gotoxy): Likewise.
14355
454fcd1c
VS
143562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * configure.ac: Check for _restgpr_14_x.
14359 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14360 and _savegpr_* prototypes.
14361
566863ca
RM
143622010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14363
14364 Use generic grub_reboot() for i386-efi.
14365
14366 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14367 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14368 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14369
bf86e59a
VS
143702010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14373 presence of "prefix" variable as it breaks when normal.mod is
14374 embedded.
14375
d645e0f8
VS
143762010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14379 stack since heap is unavailable at that point.
14380
f9ab2e25
VS
143812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14384 (grub_freebsd_bootinfo): Rewritten.
14385 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14386
01fc7054
VS
143872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14388
14389 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14390
caab4fd6
RM
143912010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14392
14393 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14394 domain now.
14395
67eb1427
FZ
143962010-01-20 Felix Zielcke <fzielcke@z-51.de>
14397
14398 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14399 around for handling "/" to the correct fix. Fix a memory leak. Use
14400 xstrdup instead of strdup.
14401
a9ed4ff3
VS
144022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14403
14404 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14405
144062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14407
14408 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14409
14410 * font/font.c (struct grub_font): New member 'bmp_idx'.
14411 (font_init): Initialise 'bmp_idx'.
14412 (load_font_index): Fill 'bmp_idx'.
14413 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14414
48209f4f
VS
144152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14418 unnecessary calls.
14419
9f0a4bb7
VS
144202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 Move context handling out of the kernel.
14423
14424 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14425 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14426 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14427 * conf/i386-efi.rmk: Likewise.
14428 * conf/i386-ieee1275.rmk: Likewise.
14429 * conf/i386-pc.rmk: Likewise.
14430 * conf/powerpc-ieee1275.rmk: Likewise.
14431 * conf/sparc64-ieee1275.rmk: Likewise.
14432 * conf/x86_64-efi.rmk: Likewise.
14433 * include/grub/env.h: Include grub/menu.h.
14434 (grub_env_var_type): Removed.
14435 (grub_env_var): Replaced field 'type' with 'global'.
14436 (grub_env_find): New prototype.
14437 (grub_env_context_open): Remove EXPORT_FUNC.
14438 (grub_env_context_close): Likewise.
14439 (grub_env_export): Likewise.
14440 (grub_env_set_data_slot): Removed.
14441 (grub_env_get_data_slot): Likewise.
14442 (grub_env_unset_data_slot): Likewise.
14443 (grub_env_unset_menu): New prototype.
14444 (grub_env_set_menu): Likewise.
14445 (grub_env_get_menu): Likewise.
14446 * include/grub/env_private.h: New file.
14447 * include/grub/normal.h (grub_context_init): New prototype.
14448 (grub_context_fini): Likewise.
14449 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14450 * normal/context.c (grub_cmd_export): ... to here.
14451 * kern/env.c: Include env_private.h.
14452 (HASHSZ): Moved to include/grub/env_private.h.
14453 (grub_env_context): Likewise.
14454 (grub_env_sorted_var): Likewise.
14455 (current_context): Renamed from this ...
14456 (grub_current_context): ...to this. 'static' removed. All users updated.
14457 (grub_env_find): Removed 'static'.
14458 (grub_env_context_open): Moved to normal/context.c.
14459 (grub_env_context_close): Likewise.
14460 (grub_env_export): Likewise.
14461 (mangle_data_slot_name): Removed.
14462 (grub_env_set_data_slot): Likewise.
14463 (grub_env_get_data_slot): Likewise.
14464 (grub_env_unset_data_slot): Likewise.
14465 * kern/main.c (grub_set_root_dev): Don't export root.
14466 It will be done later.
14467 (grub_main): Don't export prefix.
14468 It will be done later.
14469 * normal/context.c: New file.
14470 * normal/main.c (free_menu): Use grub_env_unset_menu.
14471 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14472 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14473 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14474 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14475
8dd35b8c
VS
144762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14477
14478 setpci support.
14479
14480 * commands/setpci.c: New file.
14481 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14482 (setpci_mod_SOURCES): New variable.
14483 (setpci_mod_CFLAGS): Likewise.
14484 (setpci_mod_LDFLAGS): Likewise.
14485
449193d5
VS
144862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14487
14488 Byte-addressable PCI configuration space.
14489
14490 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14491 dword address.
14492 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14493 GRUB_PCI_REG_CACHELINE.
14494 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14495 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14496 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14497 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14498 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14499 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14500 grub_pci_make_address.
14501 (lock_rom_area): Likewise.
14502 * commands/lspci.c (grub_lspci_iter): Use macroses
14503 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14504 of grub_pci_make_address.
14505 * disk/ata.c (grub_ata_pciinit): Likewise.
14506 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14507 (GRUB_PCI_REG_VENDOR): Likewise.
14508 (GRUB_PCI_REG_DEVICE): Likewise.
14509 (GRUB_PCI_REG_COMMAND): Likewise.
14510 (GRUB_PCI_REG_STATUS): Likewise.
14511 (GRUB_PCI_REG_REVISION): Likewise.
14512 (GRUB_PCI_REG_CLASS): Likewise.
14513 (GRUB_PCI_REG_CACHELINE): Likewise.
14514 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14515 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14516 (GRUB_PCI_REG_BIST): Likewise.
14517 (GRUB_PCI_REG_ADDRESSES): Likewise.
14518 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14519 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14520 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14521 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14522 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14523 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14524 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14525 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14526 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14527 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14528 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14529 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14530 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14531 (GRUB_PCI_REG_MIN_GNT): Likewise.
14532 (GRUB_PCI_REG_MAX_LAT): Likewise.
14533 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14534 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14535 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14536 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14537 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14538 space.
14539
96d73208
RM
145402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14541
14542 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14543 can be reliably determined to be supported.
14544
d4484482
RM
145452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14546
14547 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14548 that VESA is supported.
14549 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14550 supported.
14551
00308ecf
VS
145522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14555
f66924a4
RM
145562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14557
14558 * util/misc.c (make_system_path_relative_to_its_root): Work around
14559 special-casing of "/", as previous incarnation of this routine did.
14560
cbca0ada
VS
145612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 Fix any-emu compilation.
14564
14565 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14566 * grub_bin2h_SOURCES: New variable.
14567
34a66d99
RM
145682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14569
14570 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14571
94fabf58
RM
145722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14573
14574 * util/grub.d/00_header.in: Fix handling of locale_dir.
14575
02cf98ca
VS
145762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14577
14578 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14579 as possible unifont location (Gentoo).
14580 Reported by: Alexander Brüning
14581
327dbcd7
VS
145822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 Don't try to generate lists for kernel.img.
14585
14586 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14587 (pkglib_MODULES): Remove kernel.img.
14588 (kernel_img_EXPORTS): Removed.
14589 (kernel_img_RELOCATABLE): New variable.
14590 * conf/x86_64-efi.rmk: Likewise.
14591 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14592
ca467290
VS
145932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14594
14595 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14596 grub_xasprintf or grub_snprintf.
14597 (grub_vsprintf): Likewise.
14598 (grub_snprintf): New proto.
14599 (grub_vsnprintf): Likewise.
14600 (grub_xasprintf): Likewise.
14601 (grub_xvasprintf): Likewise.
14602 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14603 (grub_sprintf): Removed.
14604 (grub_vsnprintf): New function.
14605 (grub_snprintf): Likewise.
14606 (grub_xvasprintf): Likewise.
14607 (grub_xasprintf): Likewise.
14608 (grub_vsprintf): Renamed to ...
14609 (grub_vsnprintf_real): ...this. New argument max_len.
14610
aca655fd
BC
146112010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14612
14613 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14614 fix grub-script-check warning.
14615
7ee92c32
VS
146162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 * include/grub/font.h (grub_font_load): Fix prototype.
14619
f80927ca
VS
146202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14621
14622 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14623
119c50ea
VS
146242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14625
14626 * include/grub/x86_64/at_keyboard.h: New file.
14627
47d5f3c1
VS
146282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * loader/mips/linux.c: Include missing grub/i18n.h.
14631
55ff5266
RM
146322009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14633
14634 * normal/menu.c (notify_execution_failure): Clarify error message.
14635
c893cc87
RM
146362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14637
14638 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14639 return value (and revert all return statements). Update users.
14640
917dd370
CW
146412010-01-20 Dan Merillat <debian@dan.merillat.org>
14642
14643 * kern/device.c (grub_device_iterate): Allocate new part_ent
14644 structure based on sizeof (*p) rather than sizeof (p->next), to
14645 account for structure padding.
14646
14647 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14648 disk is NULL, which might happen for LVM physical volumes with no
14649 LVM signature.
14650
d4a4ee57
RM
146512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14652
14653 * loader/mips/linux.c (grub_cmd_initrd)
14654 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14655
146562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14657
14658 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14659 (grub_video_video_init, grub_video_bitmap_init)
14660 (grub_font_manager_init, grub_term_gfxterm_init)
14661 (grub_at_keyboard_init): New extern declarations.
14662 (grub_machine_init): Initialize gfxterm and at_keyboard.
14663
14664 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14665
14666 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14667 `gfxterm.mod' into core image.
14668
14669 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14670 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14671 (kernel_img_FORMAT): Copy to ...
14672
14673 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14674 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14675 (kernel_img_FORMAT): ... here, and ...
14676
14677 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14678 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14679 (kernel_img_FORMAT): ... here.
14680
14681 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14682 and input (at_keyboard) terminals in kernel.
14683 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14684
14685 (pkglib_MODULES): Remove `pci.mod'.
14686 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14687 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14688 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14689 (at_keyboard_mod_LDFLAGS): Remove variables.
14690
146912010-01-11 Felix Zielcke <fzielcke@z-51.de>
14692
14693 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14694
146952009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14696
14697 * include/grub/mips/libgcc.h: Only export symbols for functions
14698 that libgcc provides.
14699
147002009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
14701
14702 MIPS support.
14703
14704 * bus/bonito.c: New file.
14705 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
14706 GRUB_PCI_NUM_DEVICES.
14707 * term/i386/pc/serial.c: Move to ...
14708 * term/serial.c: ... here. All users updated.
14709 * util/i386/pc/grub-mkimage.c: Move to ...
14710 * util/grub-mkrawimage.c: ... here. All users updated.
14711 * term/i386/pc/at_keyboard.c: Move to ...
14712 * term/at_keyboard.c: ... here. All users updated.
14713 * conf/mips-qemu-mips.rmk: New file.
14714 * conf/mips-yeeloong.rmk: Likewise.
14715 * conf/mips.rmk: Likewise.
14716 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
14717 mipsel-qemu-mips.
14718 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
14719 to port addresses.
14720 (grub_ata_pciinit): Support CS5536.
14721 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
14722 * font/font_cmd.c (loadfont_command): Open file before passing it to
14723 grub_font_load.
14724 (pseudo_file_read): New function.
14725 (pseudo_file_close): Likewise.
14726 (pseudo_fs): New structure.
14727 (load_font_module): New function.
14728 (GRUB_MOD_INIT(font_manager)): Load embedded font.
14729 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
14730 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
14731 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
14732 * include/grub/i386/at_keyboard.h: Split into ...
14733 * include/grub/at_keyboard.h: ... this ...
14734 * include/grub/i386/at_keyboard.h: ... and this.
14735 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
14736 New prototype.
14737 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
14738 updated.
14739 (grub_elf64_size): Likewise.
14740 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
14741 filename.
14742 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
14743 * include/grub/i386/coreboot/serial.h: Rewritten.
14744 * include/grub/i386/ieee1275/serial.h: Include
14745 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
14746 * include/grub/i386/pc/serial.h: Moved from here ...
14747 * include/grub/serial.h: ... to here. All users updated.
14748 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
14749 (GRUB_PCI_NUM_BUS): Likewise.
14750 (GRUB_PCI_NUM_DEVICES): Likewise.
14751 (grub_pci_device_map_range): Add missing volatile keyword.
14752 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
14753 * include/grub/mips/at_keyboard.h: New file.
14754 * include/grub/mips/cache.h: Likewise.
14755 * include/grub/mips/io.h: Likewise.
14756 * include/grub/mips/kernel.h: Likewise.
14757 * include/grub/mips/libgcc.h: Likewise.
14758 * include/grub/mips/pci.h: Likewise.
14759 * include/grub/mips/qemu-mips/boot.h: Likewise.
14760 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14761 * include/grub/mips/qemu-mips/loader.h: Likewise.
14762 * include/grub/mips/qemu-mips/memory.h: Likewise.
14763 * include/grub/mips/qemu-mips/serial.h: Likewise.
14764 * include/grub/mips/qemu-mips/time.h: Likewise.
14765 * include/grub/mips/relocator.h: Likewise.
14766 * include/grub/mips/time.h: Likewise.
14767 * include/grub/mips/types.h: Likewise.
14768 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
14769 * include/grub/mips/yeeloong/boot.h: Likewise.
14770 * include/grub/mips/yeeloong/kernel.h: Likewise.
14771 * include/grub/mips/yeeloong/loader.h: Likewise.
14772 * include/grub/mips/yeeloong/memory.h: Likewise.
14773 * include/grub/mips/yeeloong/pci.h: Likewise.
14774 * include/grub/mips/yeeloong/serial.h: Likewise.
14775 * include/grub/mips/yeeloong/time.h: Likewise.
14776 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
14777 * kern/elf.c (grub_elf32_size): New parameter. All users
14778 updated.
14779 (grub_elf64_size): Likewise.
14780 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
14781 Load modules before saying "Welcome to GRUB!".
14782 Call grub_refresh after saying "Welcome to GRUB!".
14783 * kern/mips/cache.S: New file.
14784 * kern/mips/cache_flush.S: Likewise.
14785 * kern/mips/dl.c: Likewise.
14786 * kern/mips/init.c: Likewise.
14787 * kern/mips/qemu-mips/init.c: Likewise.
14788 * kern/mips/startup.S: Likewise.
14789 * kern/mips/yeeloong/init.c: Likewise.
14790 * kern/term.c (grub_putcode): Handle NULL terminal.
14791 (grub_getcharwidth): Likewise.
14792 (grub_getkey): Likewise.
14793 (grub_checkkey): Likewise.
14794 (grub_getkeystatus): Likewise.
14795 (grub_getxy): Likewise.
14796 (grub_getwh): Likewise.
14797 (grub_gotoxy): Likewise.
14798 (grub_cls): Likewise.
14799 (grub_setcolorstate): Likewise.
14800 (grub_setcolor): Likewise.
14801 (grub_getcolor): Likewise.
14802 (grub_refresh): Likewise.
14803 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
14804 (write_jump): Add hatch nop.
14805 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
14806 * lib/mips/setjmp.S: New file.
14807 * loader/mips/linux.c: Likewise.
14808 * term/i386/pc/at_keyboard.c: Move from here ...
14809 * term/at_keyboard.c: ... to here.
14810 * term/i386/pc/serial.c: Moved from here ...
14811 * term/serial.c: ... to here. All users updated.
14812 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
14813 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
14814 (serial_translate_key_sequence): Avoid deadlock.
14815 (grub_serial_getkey): Handle backspace.
14816 (grub_serial_putchar): Fix newline handling.
14817 * util/i386/pc/grub-mkimage.c: Move from here ...
14818 * util/grub-mkrawimage.c: ... to here. All users updated.
14819 (generate_image): New parameters 'font_path' and 'format'.
14820 Support embedding font.
14821 Use grub_host_to_target* instead of grub_cpu_to_le*.
14822 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
14823 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
14824 (options): New option "--font".
14825 (usage): Likewise.
14826 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
14827 (main): Handle "--font".
14828 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
14829 (grub_virtual_screen_setup): Set bg_color_display.
14830 (redraw_screen_rect): Use bg_color_display instead of incorrect
14831 bg_color.
14832 (grub_gfxterm_cls): Likewise.
14833 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
14834 Support embedding config file.
14835 (add_segments): Likewise.
14836 (options): New option "--config".
14837 (main): Handle "--config".
14838 * video/sm712.c: New file.
14839
25c2b5b3
RM
148402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14841
14842 Fix parallel builds.
14843
14844 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
14845 font.c depend on ascii.h).
14846
148472010-01-12 Carles Pina i Estany <carles@pina.cat>
14848
14849 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
14850
148512010-01-11 Carles Pina i Estany <carles@pina.cat>
14852
14853 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
14854 By default: disabled.
14855 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
14856 parameter.
14857
148582010-01-10 Carles Pina i Estany <carles@pina.cat>
14859
14860 * font/font.c: Update copyright years.
14861 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
14862
148632010-01-10 Carles Pina i Estany <carles@pina.cat>
14864
14865 * font/font.c: Include `ascii.h'.
14866 (ASCII_BITMAP_SIZE): New macro.
14867 (ascii_font_glyph): Define.
14868 (ascii_glyph_lookup): New function.
14869 (grub_font_get_string_width): Change comment. If glyph not found, use
14870 ascii_glyph_lookup.
14871 (grub_font_get_glyph_with_fallback): If glyph not available returns
14872 ascii_glyph_lookup.
14873 * util/grub-mkfont.c (file_formats): New enum.
14874 (options): Add `ascii-bitmaps' new option.
14875 (usage): Add `asii-bitmaps' new option.
14876 (write_font_ascii_bitmap): New function.
14877 (write_font): Rename to ...
14878 (write_font_p2): ... this. Remove print_glyphs call.
14879 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
14880 used. Call print_glyphs.
14881 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
14882
148832010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14884
14885 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
14886 (grub_bin2h_SOURCES): New variable.
14887 * util/bin2h.c: New file.
14888
915fc1b8
VS
148892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14890
14891 * include/multiboot.h: Resynced with spec.
14892 * include/multiboot2.h: Likewise.
14893 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
14894 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
14895
9444b678
RM
148962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14897
14898 * include/grub/term.h (grub_term_register_input,
14899 grub_term_register_output): Check return of terminal init()
14900 routines, and abort if errors are raised.
14901
14902 * commands/terminal.c: Update copyright year.
14903
cba98e8d
RM
149042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14905
14906 * commands/terminal.c (grub_cmd_terminal_input)
14907 (grub_cmd_terminal_output): Check return of terminal init()
14908 routines, and abort if errors are raised.
14909
6f7db5d6
VS
149102010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * include/grub/i386/bsd.h: Fix include pathes.
14913
262bff8d
VS
149142010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 Add missing *BSD copyright headers.
14917
14918 * include/grub/aout.h: Add BSD licence.
14919 * include/grub/i386/bsd.h: Parts under different licences moved to ...
14920 * include/grub/i386/freebsd_linker.h: ... here,
14921 * include/grub/i386/freebsd_reboot.h: ... here,
14922 * include/grub/i386/netbsd_bootinfo.h: ... here,
14923 * include/grub/i386/netbsd_reboot.h: ... here,
14924 * include/grub/i386/openbsd_bootarg.h: ... here,
14925 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
14926 licence to each file.
14927
b2cab848
RM
149282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14929
14930 * acinclude.m4: Remove `nop' assembly instruction; it's not
14931 implemented by all architectures.
14932
2cb6be4b
RM
149332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14934
14935 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
14936 ELILO. This is no longer necessary.
14937
a2eaee15
BC
149382010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
14939
14940 Added new tool, grub-scrit-check to verify grub.cfg syntax.
14941
14942 * util/grub-script-check.c: grub-script-check tool.
14943 * conf/common.rmk: Make rules for grub-script-check.
14944
88d17012
RM
149452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14946
14947 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14948 spotting it back in 2008. Shame on me for forgetting he did.
14949
14950 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14951
8040619d
RM
149522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14953
14954 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14955 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14956 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14957 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14958 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14959 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14960
a0c2a0f6
RM
149612010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14962
14963 * include/grub/test.h: Add license header.
14964 * tests/example_functional_test.c: Likewise.
14965 * tests/example_unit_test.c: Likewise.
14966 * tests/lib/functional_test.c: Likewise.
14967 * tests/lib/test.c: Likewise.
14968 * tests/lib/unit_test.c: Likewise.
14969
b0b13907
VS
149702010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 Use flag-based instead of hook-based video mode selection and "auto"
14973 keyword.
14974
14975 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14976 (grub_video_set_mode): Changed prototype. All users updated.
14977 (grub_video_check_mode_flag): New inline function.
14978 * video/video.c (parse_modespec): New function.
14979 (grub_video_set_mode): Parse flags and keywords.
14980
ea379330 149812010-01-17 Carles Pina i Estany <carles@pina.cat>
14982
14983 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14984 fprintf call.
14985
e15c215e
FZ
149862010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14987
14988 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14989
409ae1c9 149902010-01-16 Carles Pina i Estany <carles@pina.cat>
14991
14992 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14993 string.
14994 * util/grub-emu.c (usage): Likewise.
14995 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
14996 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14997 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14998 * util/i386/pc/grub-setup.c (usage): Likewise.
14999
70a14d3d 150002010-01-16 Carles Pina i Estany <carles@pina.cat>
15001
15002 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15003 the message.
15004 (grub_util_info): Likewise.
15005 (grub_util_error): Likewise.
15006 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15007 and/or new lines in `grub_util_warna', `grub_util_info',
15008 `grub_util_error' calls.
15009 * util/getroot.c: Likewise.
15010 * util/grub-editenv.c: Likewise.
15011 * util/grub-emu.c: Likewise.
15012 * util/grub-fstest.c: Likewise.
15013 * util/grub-mkdevicemap.c: Likewise.
15014 * util/grub-mkfont.c: Likewise.
15015 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15016 * util/grub-mkrelpath.c: Likewise.
15017 * util/grub-pe2elf.c: Likewise.
15018 * util/grub-probe.c: Likewise.
15019 * util/hostdisk.c: Likewise.
15020 * util/i386/efi/grub-mkimage.c: Likewise.
15021 * util/i386/pc/grub-mkimage.c: Likewise.
15022 * util/i386/pc/grub-setup.c: Likewise.
15023 * util/ieee1275/ofpath.c: Likewise.
15024 * util/mkisofs/eltorito.c: Likewise.
15025 * util/mkisofs/rock.c: Likewise.
15026 * util/mkisofs/write.c: Likewise.
15027 * util/raid.c: Likewise.
15028 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15029 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15030
a0b766fc
VS
150312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 Enable multiboot on non-pc.
15034
15035 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15036 multiboot.mod and multiboot2.mod to ...
15037 * conf/i386.rmk (pkglib_MODULES): ... here.
15038 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15039 Moved to ...
15040 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15041 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15042 Moved to ...
15043 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15044 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15045 Moved to ...
15046 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15047 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15048 Moved to ...
15049 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15050 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15051 relocator.mod.
15052 (ata_mod_SOURCES): Removed.
15053 (ata_mod_CFLAGS): Likewise.
15054 (ata_mod_LDFLAGS): Likewise.
15055 (relocator_mod_SOURCES): Removed.
15056 (relocator_mod_CFLAGS): Likewise.
15057 (relocator_mod_ASFLAGS): Likewise.
15058 (relocator_mod_LDFLAGS): Likewise.
15059 Include i386.mk.
15060 * include/grub/x86_64/multiboot.h: New file.
15061 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15062 Terminate EFI.
15063
884ade56
VS
150642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15065
15066 Video multiboot support.
15067
15068 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15069 New prototype.
15070 * include/multiboot.h: Resynced with multiboot specification.
15071 * include/multiboot2.h: Likewise.
15072 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15073 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15074 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15075 (HAS_VGA_TEXT): Likewise.
15076 (accepts_video): New variable.
15077 (grub_multiboot_set_accepts_video): New function.
15078 (grub_multiboot_get_mbi_size): Account for video structures.
15079 (set_video_mode): New function.
15080 (retrieve_video_parameters): Likewise.
15081 (grub_multiboot_make_mbi): Fill video fields.
15082
0d90e8a6
VS
150832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 Video driver ids.
15086
15087 * include/grub/video.h (grub_video_driver_id): New type.
15088 (grub_video_adapter): New member 'id'. All users updated.
15089 (grub_video_get_driver_id): New proto.
15090 * video/video.c (grub_video_get_driver_id): New function.
15091
5c71db1b 150922010-01-14 Carles Pina i Estany <carles@pina.cat>
15093
15094 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15095 `var=val'.
15096
cca15b52 150972010-01-14 Carles Pina i Estany <carles@pina.cat>
15098
15099 * normal/cmdline.c (print_completion): Gettextizze.
15100
c586fbb2 151012001-01-14 Carles Pina i Estany <carles@pina.cat>
15102
15103 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15104
ba2f6848 151052010-01-14 Carles Pina i Estany <carles@pina.cat>
15106
15107 * gettext/gettext.c (grub_gettext_translate): Push and pop
15108 grub_errno.
15109 (grub_gettext_delete_list): Change comment style.
15110 * kern/err.c (grub_error): Gettextizze.
15111 (grub_fatal): Gettextizze.
15112
0a46429a
RM
151132010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15114
15115 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15116 (grub_linux16_real_boot): ... this.
15117 * kern/i386/loader.S: Likewise.
15118 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15119 (grub_linux16_boot): New function. Switches to text mode and calls
15120 grub_linux16_real_boot().
15121
15122 * loader/i386/bsd.c: Include `<grub/video.h>'.
15123 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15124 text mode before calling grub_unix_real_boot().
15125
15126 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15127 (grub_multiboot_boot): Switch to text mode before calling
15128 grub_relocator32_boot().
15129
15130 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15131 (grub_chainloader_boot): Switch to text mode before calling
15132 grub_chainloader_real_boot().
15133
d6f93a66
RM
151342010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151352010-01-05 Colin Watson <cjwatson@ubuntu.com>
15136
15137 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15138 non-empty value.
15139
151402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151412010-01-05 Colin Watson <cjwatson@ubuntu.com>
15142
15143 * util/grub.d/00_header.in: Define a "savedefault" function for use
15144 in menu entries.
15145 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15146
151472010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
151482010-01-05 Colin Watson <cjwatson@ubuntu.com>
15149
15150 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15151 saved_entry if boot_once is unset.
15152 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15153 previous saved entry (i.e. grub-reboot).
15154
151552009-12-08 Colin Watson <cjwatson@ubuntu.com>
15156
15157 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15158
151592009-12-08 Colin Watson <cjwatson@ubuntu.com>
15160
15161 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15162 `var=val'.
15163 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15164
151652009-12-08 Colin Watson <cjwatson@ubuntu.com>
15166
15167 * util/grub-reboot.in: Fix --version output.
15168 * util/grub-set-default.in: Likewise.
15169
151702009-12-08 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15173 blocks.
15174
151752009-12-08 Colin Watson <cjwatson@ubuntu.com>
15176
15177 * util/grub.d/00_header.in: Quote the value assigned to `default',
15178 in case it contains spaces.
15179
151802009-12-08 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15183 `save_default_entry' call from the macosx case to the linux case.
15184
151852009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
151862009-10-25 Colin Watson <cjwatson@ubuntu.com>
15187
15188 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15189 in `chosen' environment variable.
15190 * normal/menu_text.c (get_entry_number): Check if the variable
15191 matches the title of a menu entry.
15192 (run_menu): Pass menu to get_entry_number.
15193
15194 * util/grub-reboot.in: New file.
15195 * util/grub-set-default.in: New file.
15196 * conf/common.rmk (grub-reboot): New utility.
15197 (grub-set-default): New utility.
15198
15199 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15200 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15201 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15202 move it to `saved_entry' for the next boot. Load environment on
15203 initialisation.
15204 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15205 * util/grub.d/10_hurd.in: Likewise.
15206 * util/grub.d/10_linux.in (linux_entry): Likewise.
15207 * util/grub.d/10_windows.in: Likewise.
15208 * util/grub.d/30_os-prober.in: Likewise.
15209
15210 * util/grub-install.in: Create environment block.
15211 * util/i386/efi/grub-install.in: Likewise.
15212 * util/ieee1275/grub-install.in: Likewise.
15213 * util/sparc64/ieee1275/grub-install.in: Likewise.
15214
0934d184
BC
152152010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15216
15217 Unit testing framework for GRUB.
15218
15219 * Makefile.in: Test framework build rules for 'make check'.
15220 * conf/tests.rmk: Build rules for individual tests and framework.
15221
15222 * include/grub/test.h: Header file for whitebox tests.
15223 * tests/lib/functional_test.c: Framework support for whitebox
15224 functional tests.
15225 * tests/lib/test.c: Common whitebox testing code for unit and
15226 functional tests.
15227 * tests/lib/unit_test.c: Framework support for whitebox unit
15228 tests.
15229
15230 * tests/util/grub-shell-tester.in: Support utility for grub-script
15231 tests.
15232 * tests/util/grub-shell.in: Utility to execute grub-script
15233 commands in a Qemu instance.
15234
15235 * tests/example_functional_test.c: Example whitebox functional
15236 test.
15237 * tests/example_grub_script_test.in: Example grub-script test.
15238 * tests/example_scripted_test.in: Example scripted test.
15239 * tests/example_unit_test.c: Example whitebox unit test.
15240
9c4ffeeb
VS
152412010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15242
15243 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15244 Add loader/i386/multiboot_mbi.c.
15245 (multiboot2_mod_SOURCES): Likewise.
15246 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15247 (multiboot2_mod_SOURCES): Likewise.
15248 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15249 (grub_multiboot_make_mbi): Likewise.
15250 (grub_multiboot_free_mbi): Likewise.
15251 (grub_multiboot_init_mbi): Likewise.
15252 (grub_multiboot_add_module): Likewise.
15253 (grub_multiboot_set_bootdev): Likewise.
15254 * loader/i386/multiboot.c (mbi): Removed.
15255 (mbi_dest): Likewise.
15256 (alloc_mbi): New variable.
15257 (grub_multiboot_payload_size): Removed. All users updated.
15258 (grub_multiboot_pure_size): New variable.
15259 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15260 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15261 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15262 (grub_fill_multiboot_mmap): Likewise.
15263 (grub_multiboot_get_bootdev): Likewise.
15264 (grub_multiboot): Use multiboot_mbi functions.
15265 * loader/i386/multiboot_mbi.c: New file.
15266
17383dfe
VS
152672010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15270 it would result in module crash.
15271
c1f28820
VS
152722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15275 (grub_ofconsole_getwh): Split to ...
15276 (grub_ofconsole_getwh): ... this.
15277 (grub_ofconsole_dimensions): ...and this.
15278 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15279
58655a16
RM
152802010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15281
15282 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15283
10891398
VS
152842010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15285
15286 * loader/i386/pc/multiboot2.c: Removed stalled file.
15287
0b8a223c
VS
152882010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15291 Reported by: Grégoire Sutre
15292
92ab12b0
RM
152932010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15294
15295 * util/misc.c (canonicalize_file_name): New function.
15296 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15297 instead of realpath().
15298
a788afb6
CW
152992010-01-11 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15302 and make it clearer that it's optional. Based on confusion
15303 witnessed on IRC.
15304
ffa8e3d2
VS
153052010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15306
15307 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15308 in premature implicit newline.
15309
e9060a9d
VS
153102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15311
15312 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15313 which resulted in garbled command line at the end of screen.
15314
f0d0c0b7
RM
153152010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15316
15317 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15318 initialization with similar approach as with other Linux loaders.
15319
0e60bae7
RM
153202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15321
15322 Fix i386-ieee1275 build.
15323
15324 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15325 and grub_term_height() for video_{width,height} initialization.
15326
153272010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15328
15329 Fix grub-emu build.
15330
15331 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15332
cdb3f378
RM
153332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
153342010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15335
15336 Support for multiple terminals.
15337
15338 * Makefile.in (pkglib_DATA): terminal.lst.
15339 (terminal.lst): New target.
15340 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15341 (GRUB_MOD_INIT(handler)): Likewise.
15342 (GRUB_MOD_FINI(handler)): Likewise.
15343 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15344 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15345 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15346 (grub_cmd_sleep): Use grub_term_save_pos.
15347 * commands/terminal.c: New file.
15348 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15349 commands/terminal.c and lib/charset.c.
15350 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15351 (pkglib_MODULES): Add terminal.mod.
15352 (terminal_mod_SOURCES): New variable.
15353 (terminal_mod_CFLAGS): Likewise.
15354 (terminal_mod_LDFLAGS): Likewise.
15355 * genhandlerlist.sh: Don't handle terminals.
15356 * genmk.rb: Generate terminal-*.lst.
15357 * genterminallist.sh: New file.
15358 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15359 (grub_is_valid_utf8): Likewise.
15360 (grub_utf8_to_ucs4_alloc): Likewise.
15361 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15362 (grub_menu_register_viewer): Changed argument.
15363 (grub_menu_try_text): New proto.
15364 (grub_gfxmenu_try_hook): New declaration.
15365 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15366 (grub_menu_init_page): Additional argument term.
15367 (grub_normal_init_page): Likewise.
15368 (grub_cmdline_get): Arguments simplified.
15369 (grub_utf8_to_ucs4_alloc): Removed.
15370 (grub_print_ucs4): Additional argument term.
15371 (grub_getstringwidth): Likewise.
15372 (grub_print_message_indented): Likewise.
15373 (grub_menu_text_register_instances): New proto.
15374 (grub_show_menu): Likewise.
15375 (read_terminal_list): Likewise.
15376 (grub_set_more): Likewise.
15377 * include/grub/parser.h: Include handler.h.
15378 * include/grub/reader.h: Rewritten.
15379 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15380 (GRUB_TERM_WIDTH): Changed to function.
15381 (GRUB_TERM_HEIGHT): Likewise.
15382 (GRUB_TERM_BORDER_WIDTH): Likewise.
15383 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15384 (GRUB_TERM_NUM_ENTRIES): Likewise.
15385 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15386 (GRUB_TERM_CURSOR_X): Likewise.
15387 (grub_term_input_class): Likewise.
15388 (grub_term_output_class): Likewise.
15389 (grub_term_outputs_disabled): New declaration.
15390 (grub_term_inputs_disabled): Likewise.
15391 (grub_term_outputs): Likewise.
15392 (grub_term_inputs): Likewise.
15393 (grub_term_register_input): Rewritten.
15394 (grub_term_register_output): Likewise.
15395 (grub_term_unregister_input): Likewise.
15396 (grub_term_unregister_output): Likewise.
15397 (FOR_ACTIVE_TERM_INPUTS): New macro.
15398 (FOR_DISABLED_TERM_INPUTS): Likewise.
15399 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15400 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15401 * include/grub/terminfo.h: Add oterm argument to all protypes.
15402 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15403 Use grub_rescue_run.
15404 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15405 All users updated.
15406 * kern/reader.c: Removed. All users updated.
15407 * kern/rescue_reader.c (grub_rescue_init): Removed.
15408 (grub_rescue_reader): Likewise.
15409 (grub_register_rescue_reader): Likewise.
15410 (grub_rescue_run): New function based on kern/reader.c.
15411 * kern/term.c: Adapted for multiterm.
15412 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15413 (grub_is_valid_utf8): Likewise.
15414 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15415 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15416 right terminal.
15417 * loader/i386/linux.c (grub_linux_boot): Likewise.
15418 * normal/auth.c (grub_username_get): New function.
15419 (grub_auth_check_authentication): Use grub_username_get.
15420 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15421 * normal/color.c: Adapt for multiterm.
15422 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15423 (grub_normal_init_page): Additional argument term.
15424 (read_lists): Call read_terminal_lists.
15425 (grub_enter_normal_mode): Call grub_cmdline_run.
15426 Handle grub_normal_exit_level.
15427 (grub_cmd_normal): Make reentrant.
15428 (grub_cmd_normal_exit): New function.
15429 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15430 * normal/menu.c: Adapt for multiterm.
15431 * normal/menu_entry.c: Likewise.
15432 * normal/menu_text.c: Likewise.
15433 * normal/menu_viewer.c: Removed. All users updated.
15434 * normal/term.c: New file.
15435 * util/console.c: Change order of includes to workaround a bug in
15436 ncurses headers.
15437 * term/terminfo.c: New argument oterm on all exported functions.
15438 All users updated.
15439 * util/grub-editenv.c (grub_term_input_class): Removed.
15440 (grub_term_output_class): Likewise.
15441
1a064917
RM
154422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15443
15444 Make loader output a bit more user-friendly.
15445
15446 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15447 is being loaded. Likewise for the Hurd.
15448
15449 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15450 that kernel of FreeBSD ${version} is being loaded.
15451
15452 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15453 grub_dprintf().
15454 (grub_cmd_initrd): Likewise.
15455 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15456 that Linux ${version} is being loaded. Likewise for initrd.
15457
5ce0a83a 154582010-01-09 Carles Pina i Estany <carles@pina.cat>
15459
15460 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15461
809bbfeb 154622010-01-08 Carles Pina i Estany <carles@pina.cat>
15463
15464 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15465 (GRUB_MOD_INIT): Gettextizze.
15466 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15467 (GRUB_MOD_INIT): Gettextizze.
15468 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15469 (grub_cmd_linux): Capitalise Linux.
15470 (GRUB_MOD_INIT): Gettextizze.
15471 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15472 (grub_cmd_linux): Capitalise Linux.
15473 (GRUB_MOD_INIT): Gettextizze.
15474 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15475 (grub_cmd_linux): Capitalise Linux.
15476 (GRUB_MOD_INIT): Gettextizze.
15477 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15478 (GRUB_MOD_INIT): Gettextizze.
15479 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15480 (grub_cmd_linux): Capitalise Linux.
15481 (GRUB_MOD_INIT): Gettextizze.
15482 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15483 (grub_cpu_xnu_init): Gettextizze.
15484 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15485 (GRUB_MOD_INIT): Gettextizze.
15486 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15487 (GRUB_MOD_INIT): Gettextizze.
15488 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15489 (grub_linux_load64): Capitalise Linux.
15490 (GRUB_MOD_INIT): Gettextizze.
15491 * loader/xnu.c: Include `<grub/i18n.h>'.
15492 (GRUB_MOD_INIT): Gettextizze.
15493 * po/POTFILES: Add `loader/efi/appleloader.c',
15494 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15495 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15496 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15497 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15498 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15499 and `loader/xnu.c'.
15500
b394b2ca
RM
155012010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15502
15503 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15504
155052010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15506
15507 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15508 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15509 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15510
bc8b32b3
RM
155112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15512
15513 Reset Multiboot 2 support. New loader implements the draft in
15514 /branches/multiboot2 and shares as much code as possible with the
15515 production Multiboot 1 implementation.
15516
15517 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15518 * loader/multiboot2.c: Likewise.
15519 * loader/i386/multiboot_helper.S: Likewise.
15520 * include/multiboot2.h: Replace with latest version from the draft
15521 in /branches/multiboot2.
15522
15523 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15524 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15525 and `loader/multiboot2.c'.
15526 (pkglib_MODULES): Add `multiboot2.mod'.
15527 (multiboot2_mod_SOURCES): New variable.
15528 (multiboot2_mod_LDFLAGS): Likewise.
15529 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15530
15531 * conf/i386-pc.rmk: Likewise.
15532
15533 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15534 (multiboot_mod_SOURCES): Remove variable.
15535 (multiboot_mod_LDFLAGS): Likewise.
15536 (multiboot_mod_CFLAGS): Likewise.
15537
15538 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15539 `<multiboot2.h>' instead of `<multiboot.h>'.
15540 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15541 (MULTIBOOT_HEADER_MAGIC): New macros.
15542
15543 * loader/multiboot_loader.c (module_version_status): Remove variable.
15544 (find_multi_boot2_header): Remove function.
15545 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15546 logic. Always check for the Multiboot version we're compiling for.
15547 (grub_cmd_module_loader): Likewise.
15548 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15549 command instead of `multiboot'.
15550
5d2c52b8
RM
155512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15552
15553 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15554 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15555 all users.
15556
53108d92
RM
155572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
155582010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 Fix breakage introduced with previous commit.
15561
15562 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15563 commands.
15564 * normal/handler.c (read_handler_list): Revert part of previous commit
15565 affecting this file.
15566 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15567 (grub_normal_execute): ... here.
15568
e2e936b2
RM
155692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15570
15571 Merge prefix-redefinition-fix branch.
15572
15573 * normal/autofs.c (read_fs_list): Make function capable of being
15574 run multiple times, gracefuly replacing the previous data
15575 structures.
15576 * normal/dyncmd.c (read_command_list): Likewise.
15577 * normal/handler.c (read_handler_list): Likewise.
15578 * normal/main.c (read_lists): New function. Calls all the
15579 list reading functions.
15580 (grub_normal_execute): Use read_lists() instead of calling all
15581 list reading functions explicitly. Register read_lists() as a
15582 variable hook attached to ${prefix}.
15583
607a3701
VS
155842010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 Merge crypto branch.
15587
15588 * Makefile.in (pkglib_DATA): Add crypto.lst.
15589 (crypto.lst): New target.
15590 * commands/hashsum.c: New file.
15591 * commands/password.c (check_password): Use grub_crypto_memcmp.
15592 * commands/password_pbkdf2.c: New file.
15593 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15594 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15595 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15596 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15597 -I$(srcdir)/lib/libgcrypt_wrap.
15598 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15599 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15600 password_pbkdf2.mod.
15601 (crypto_mod_SOURCES): New variable.
15602 (crypto_mod_CFLAGS): Likewise.
15603 (crypto_mod_LDFLAGS): Likewise.
15604 (hashsum_mod_SOURCES): New variable.
15605 (hashsum_mod_CFLAGS): Likewise.
15606 (hashsum_mod_LDFLAGS): Likewise.
15607 (pbkdf2_mod_SOURCES): New variable.
15608 (pbkdf2_mod_CFLAGS): Likewise.
15609 (pbkdf2_mod_LDFLAGS): Likewise.
15610 (password_pbkdf2_mod_SOURCES): New variable.
15611 (password_pbkdf2_mod_CFLAGS): Likewise.
15612 (password_pbkdf2_mod_LDFLAGS): Likewise.
15613 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15614 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15615 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15616 Include conf/gcry.rmk.
15617 * include/grub/auth.h: Rewritten.
15618 * include/grub/crypto.h: New file.
15619 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15620 * include/grub/normal.h (read_crypto_list): New prototype.
15621 * lib/crypto.c: New file.
15622 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15623 * lib/pbkdf2.c: Likewise.
15624 * normal/auth.c (grub_auth_strcmp): Removed.
15625 (grub_iswordseparator): Likewise.
15626 (grub_auth_strword): Likewise.
15627 (is_authenticated): Use grub_strword.
15628 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15629 and grub_strword. Pass entered password to authentication callback.
15630 * normal/crypto.c: New file.
15631 * normal/main.c: Call read_crypto_list.
15632 * util/grub-mkpasswd-pbkdf2.c: New file.
15633 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15634
42841caa
VS
156352010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15636
15637 Fix descent and ascent calculation.
15638
15639 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15640 (options): New option "asce".
15641 (usage): Likewise.
15642 (add_char): Ignore invalid glyphs for descent calculation.
15643 Calculate ascent from actual content.
15644 (print_glyphs): Use 'asce'.
15645 (write_font): Likewise. Allow ascent override.
15646 (main): Handle "asce" option.
15647
e7730de7 156482010-01-06 Carles Pina i Estany <carles@pina.cat>
15649
15650 * kern/err.c: Include `<grub/i18n.h>'.
15651 (grub_print_error): Add full stop. Gettextizze.
15652 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15653 (grub_bsd_load_elf): Capitalise ELF.
15654 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15655 (grub_cmd_freebsd_module): Likewise.
15656 (grub_cmd_freebsd_module_elf): Likewise.
15657 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15658
40e3a41f 156592010-01-06 Carles Pina i Estany <carles@pina.cat>
15660
15661 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15662 * commands/search_file.c (HELP_MESSAGE): New macro.
15663 * commands/search_label.c (HELP_MESSAGE): Likewise.
15664 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15665 * po/POTFILES: Add `commands/search_file.c',
15666 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15667 `commands/search.c'.
15668
83507e68
RM
156692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15670
15671 * config.rpath: Update from Gnulib.
15672
465c787b
YB
156732010-01-05 Yves Blusseau <blusseau@zetam.org>
15674
15675 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15676
6581dd3a
YB
156772010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15678
15679 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15680
3bff18c5
CW
156812010-01-05 Colin Watson <cjwatson@ubuntu.com>
15682
15683 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15684 arguments to fread so that we get a return value in bytes, rather
15685 than something that will normally be rounded down to 0.
15686 Adjust error handling to avoid producing garbage when size_t is not
15687 the same size as long long.
15688
a1368118
CW
156892010-01-05 Colin Watson <cjwatson@ubuntu.com>
15690
15691 * util/mkisofs/write.c (padblock_write): Check return value of
15692 fread.
15693
7c302978
RM
156942010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15695
15696 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15697 floppy images now.
15698
15699 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
15700
e33ace06
RM
157012010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15702
15703 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
15704 instead of manual alignment.
15705 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
15706 verbose). Avoid attempts to read past end of the device
15707 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
15708 but GRUB_DISK_CACHE_SIZE may exceed that).
15709
4b856776
RM
157102010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15711
15712 * commands/crc.c (grub_cmd_crc): Abort on read errors.
15713 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
15714 it to upper layer.
15715
52c2d97f
VS
157162010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
15719 New constant.
15720 (grub_efi_piwg_device_path): New structure
15721 (grub_efi_piwg_device_path_t): New type.
15722 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
15723 (devpath_1): Transform to a structure. All users updated.
15724 (devpath_2): Likewise.
15725 (devpath_3): Likewise.
15726 (devpath_4): Likewise.
15727 (devpath_5): Likewise.
15728
98ff6a54
VS
157292010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 * loader/efi/appleloader.c: Restored. Update all users.
15732
3a73dcb6
RM
157332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15734
15735 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
15736
15737 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
15738 (struct boot_blocklist): Move from here ...
15739 * include/grub/i386/pc/boot.h [ASM_FILE]
15740 (struct grub_boot_blocklist): ... to here. Update all users.
15741 (setup): Only initialize `start' member of `first_block'
15742 structure. Add assert() calls to verify the other members.
15743
15744 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
15745 (generate_image): Fix broken blocklist length initialization.
15746 Add assert() call to verify blocklist `segment' field.
15747
ab0eeb0c
RM
157482010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15749
15750 * loader/efi/appleloader.c: Remove. Update all users.
15751
58bc8bd5
RM
157522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15753
15754 * boot/i386/pc/boot.S: Update copyright year.
15755 * boot/i386/pc/cdboot.S: Likewise.
15756 * boot/i386/pc/diskboot.S: Likewise.
15757 * boot/i386/pc/lnxboot.S: Likewise.
15758 * boot/i386/pc/pxeboot.S: Likewise.
15759 * bus/pci.c: Likewise.
15760 * commands/cmp.c: Likewise.
15761 * commands/help.c: Likewise.
15762 * commands/hexdump.c: Likewise.
15763 * commands/i386/pc/halt.c: Likewise.
15764 * commands/i386/pc/play.c: Likewise.
15765 * commands/i386/pc/vbeinfo.c: Likewise.
15766 * commands/ls.c: Likewise.
15767 * commands/test.c: Likewise.
15768 * disk/dmraid_nvidia.c: Likewise.
15769 * disk/i386/pc/biosdisk.c: Likewise.
15770 * disk/ieee1275/nand.c: Likewise.
15771 * disk/ieee1275/ofdisk.c: Likewise.
15772 * disk/lvm.c: Likewise.
15773 * disk/raid.c: Likewise.
15774 * disk/raid6_recover.c: Likewise.
15775 * disk/scsi.c: Likewise.
15776 * fs/affs.c: Likewise.
15777 * fs/cpio.c: Likewise.
15778 * fs/ext2.c: Likewise.
15779 * fs/hfs.c: Likewise.
15780 * fs/iso9660.c: Likewise.
15781 * fs/ntfs.c: Likewise.
15782 * fs/sfs.c: Likewise.
15783 * fs/udf.c: Likewise.
15784 * fs/ufs.c: Likewise.
15785 * fs/xfs.c: Likewise.
15786 * gencmdlist.sh: Likewise.
15787 * genmk.rb: Likewise.
15788 * include/grub/disk.h: Likewise.
15789 * include/grub/efi/api.h: Likewise.
15790 * include/grub/efi/efi.h: Likewise.
15791 * include/grub/efi/pe32.h: Likewise.
15792 * include/grub/elf.h: Likewise.
15793 * include/grub/fs.h: Likewise.
15794 * include/grub/i386/at_keyboard.h: Likewise.
15795 * include/grub/i386/pc/memory.h: Likewise.
15796 * include/grub/i386/pc/vbe.h: Likewise.
15797 * include/grub/i386/pci.h: Likewise.
15798 * include/grub/i386/tsc.h: Likewise.
15799 * include/grub/ieee1275/ieee1275.h: Likewise.
15800 * include/grub/ntfs.h: Likewise.
15801 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15802 * include/grub/sparc64/libgcc.h: Likewise.
15803 * include/grub/symbol.h: Likewise.
15804 * include/grub/types.h: Likewise.
15805 * include/multiboot2.h: Likewise.
15806 * io/gzio.c: Likewise.
15807 * kern/device.c: Likewise.
15808 * kern/disk.c: Likewise.
15809 * kern/efi/efi.c: Likewise.
15810 * kern/efi/mm.c: Likewise.
15811 * kern/elf.c: Likewise.
15812 * kern/file.c: Likewise.
15813 * kern/i386/dl.c: Likewise.
15814 * kern/i386/pc/init.c: Likewise.
15815 * kern/i386/pc/startup.S: Likewise.
15816 * kern/ieee1275/ieee1275.c: Likewise.
15817 * kern/ieee1275/init.c: Likewise.
15818 * kern/main.c: Likewise.
15819 * kern/mm.c: Likewise.
15820 * kern/powerpc/dl.c: Likewise.
15821 * kern/sparc64/dl.c: Likewise.
15822 * kern/x86_64/dl.c: Likewise.
15823 * lib/hexdump.c: Likewise.
15824 * loader/efi/appleloader.c: Likewise.
15825 * loader/i386/ieee1275/linux.c: Likewise.
15826 * loader/i386/pc/chainloader.c: Likewise.
15827 * loader/i386/pc/linux.c: Likewise.
15828 * loader/i386/pc/multiboot2.c: Likewise.
15829 * loader/ieee1275/multiboot2.c: Likewise.
15830 * loader/multiboot2.c: Likewise.
15831 * loader/multiboot_loader.c: Likewise.
15832 * loader/powerpc/ieee1275/linux.c: Likewise.
15833 * normal/completion.c: Likewise.
15834 * normal/menu_entry.c: Likewise.
15835 * partmap/apple.c: Likewise.
15836 * util/grub.d/10_hurd.in: Likewise.
15837 * util/hostfs.c: Likewise.
15838 * video/readers/png.c: Likewise.
15839
e2d70b5c
CW
158402010-01-03 Colin Watson <cjwatson@ubuntu.com>
15841
15842 * include/grub/misc.h (GNUC_PREREQ): New macro.
15843 (ATTRIBUTE_ERROR): New macro.
15844 * include/grub/list.h (grub_bad_type_cast_real): Use
15845 ATTRIBUTE_ERROR.
15846
a173283f 158472010-01-03 Carles Pina i Estany <carles@pina.cat>
15848
15849 * normal/menu_text.c (print_message): Change messages.
15850
7fa7ff74 158512010-01-03 Carles Pina i Estany <carles@pina.cat>
15852
15853 * normal/menu_entry.c (store_completion): Gettextizze.
15854
136d24f6 158552010-01-03 Carles Pina i Estany <carles@pina.cat>
15856
15857 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
15858
f936862e 158592010-01-03 Carles Pina i Estany <carles@pina.cat>
15860
15861 * po/POTFILES: Sort correctly.
15862
29c44ad1 158632010-01-03 Carles Pina i Estany <carles@pina.cat>
15864
15865 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
15866 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
15867 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
15868 full stop.
15869 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
15870 summary. Gettextizze the strings.
15871 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
15872 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
15873 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
15874 full stop.
15875 (GRUB_MOD_INIT): Remove command name from summary.
15876 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
15877 summary.
15878 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
15879 * term/i386/pc/serial.c (options): Add full stops.
15880 (GRUB_MOD_INIT): Remove command name from the summary.
15881
77a79592 158822010-01-03 Carles Pina i Estany <carles@pina.cat>
15883
15884 * commands/acpi.c: Gettextizze help strings and/or options. Include
15885 `grub/i18n.h' if needed.
15886 * commands/blocklist.c: Likewise.
15887 * commands/boot.c: Likewise.
15888 * commands/cat.c: Likewise.
15889 * commands/cmp.c: Likewise.
15890 * commands/configfile.c: Likewise.
15891 * commands/crc.c: Likewise.
15892 * commands/date.c: Likewise.
15893 * commands/echo.c: Likewise.
15894 * commands/efi/fixvideo.c: Likewise.
15895 * commands/efi/loadbios.c: Likewise.
15896 * commands/gptsync.c: Likewise.
15897 * commands/halt.c: Likewise.
15898 * commands/handler.c: Likewise.
15899 * commands/hdparm.c: Likewise.
15900 * commands/hexdump.c: Likewise.
15901 * commands/i386/cpuid.c: Likewise.
15902 * commands/i386/pc/drivemap.c: Likewise.
15903 * commands/i386/pc/halt.c: Likewise.
15904 * commands/i386/pc/pxecmd.c: Likewise.
15905 * commands/i386/pc/vbeinfo.c: Likewise.
15906 * commands/i386/pc/vbetest.c: Likewise.
15907 * commands/ieee1275/suspend.c: Likewise.
15908 * commands/keystatus.c: Likewise.
15909 * commands/loadenv.c: Likewise.
15910 * commands/ls.c: Likewise.
15911 * commands/lsmmap.c: Likewise.
15912 * commands/lspci.c: Likewise.
15913 * commands/memrw.c: Likewise.
15914 * commands/minicmd.c: Likewise.
15915 * commands/parttool.c: Likewise.
15916 * commands/password.c: Likewise.
15917 * commands/probe.c: Likewise.
15918 * commands/read.c: Likewise.
15919 * commands/reboot.c: Likewise.
15920 * commands/search.c: Likewise.
15921 * commands/sleep.c: Likewise.
15922 * commands/test.c: Likewise.
15923 * commands/true.c: Likewise.
15924 * commands/usbtest.c: Likewise.
15925 * commands/videotest.c: Likewise.
15926 * commands/xnu_uuid.c: Likewise.
15927 * disk/loopback.c: Likewise.
15928 * hello/hello.c: Likewise.
15929 * loader/i386/bsd.c: Likewise.
15930 * term/i386/pc/serial.c: Likewise.
15931 * po/POTFILES: Add new files.
15932
da8d5c53
CW
159332010-01-02 Colin Watson <cjwatson@ubuntu.com>
15934
15935 * term/i386/pc/at_keyboard.c
15936 (keyboard_controller_wait_untill_ready): Rename to ...
15937 (keyboard_controller_wait_until_ready): ... this. Update all users.
15938
33937904 159392010-01-01 Carles Pina i Estany <carles@pina.cat>
15940
15941 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
15942 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
15943 string using string width.
15944 * normal/menu_text.c (grub_print_message_indented): Use
15945 grub_print_spaces and not print_spaces.
15946 (print_timeout): Likewise.
15947 (print_spaces): Move to...
15948 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15949
3fd3b8d8
RM
159502010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15951
15952 Import from Gnulib.
15953
15954 * gnulib/getdelim.c: New file.
15955 * gnulib/getline.c: Likewise.
15956
33433555
VS
159572009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15958
15959 * include/grub/list.h (grub_assert_fail): Removed.
15960 (grub_bad_type_cast_real): New function.
15961 (grub_bad_type_cast): New macro.
15962 (GRUB_AS_LIST): Use grub_bad_type_cast.
15963 (GRUB_AS_LIST_P): Likewise.
e44721e8 15964 (GRUB_AS_NAMED_LIST): Likewise.
33433555 15965 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 15966 (GRUB_AS_PRIO_LIST): Likewise.
33433555 15967 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 15968 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 15969
f5a51306
VS
159702009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15973 Fix syntax error.
15974
90d1e879
RM
159752009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15976
15977 * configure.ac: Check for TARGET_CFLAGS initialization before we
15978 initialize it ourselves (sigh).
15979 Move a few modifications to TARGET_CFLAGS to be unconditional
15980 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15981 eh_frame)
15982
15983 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15984 * term/i386/pc/at_keyboard.c
15985 (keyboard_controller_wait_untill_ready): Likewise.
15986 (keyboard_controller_led): Rename `led_status' paramter to avoid
15987 name conflict.
15988
465b5a81 159892009-12-28 Carles Pina i Estany <carles@pina.cat>
15990
15991 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15992 quotes.
15993
c181849b
VS
159942009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
15997
9c8739a4
VS
159982009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 * normal/menu_text.c (grub_print_message_indented): Prevent
16001 past-the-end-of-array dereference.
16002
3e74249c
VS
160032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16006 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16007
64fd18ed 160082009-12-27 Carles Pina i Estany <carles@pina.cat>
16009
16010 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16011 * normal/main.c (grub_normal_read_line): Remove a space from the
16012 default prompt.
16013
714af9b9 160142009-12-27 Carles Pina i Estany <carles@pina.cat>
16015
16016 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16017 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16018 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16019 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16020 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16021 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16022 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16023
82f3e412 160242009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16025
16026 * video/readers/jpeg.c (cmd): Declare.
16027 (grub_cmd_jpegtest): Use `grub_command_t' type.
16028 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16029 Assign to `cmd'.
16030 (GRUB_MOD_FINI): Use `cmd' to unregister.
16031 * video/readers/png.c (cmd): Declare.
16032 (grub_cmd_pngtest): 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/tga.c (cmd): Declare.
16037 (grub_cmd_tgatest): 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
82f3e412 160422009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16043
16044 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16045 stops.
16046 * kern/corecmd.c (grub_register_core_commands): Likewise.
16047 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16048 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16049 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16050 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16051 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16052 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16053 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16054 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16055 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16056 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16057 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16058 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16059 * normal/handler.c (insert_handler): Likewise.
16060 * normal/main.c (GRUB_MOD_INIT): Likewise.
16061 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16062
fdcdbb66 160632009-12-26 Carles Pina i Estany <carles@pina.cat>
16064
16065 * commands/help.c (grub_cmd_help): Print the command name before the
16066 summary.
16067 (GRUB_MOD_INIT): Remove command name from the summary.
16068 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16069 string as summary.
fdcdbb66 16070 * lib/arg.c (find_long): Print the command name before the summary.
16071 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16072 summary.
16073 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16074 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16075 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16076 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16077 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16078 * commands/date.c (GRUB_MOD_INIT): Likewise.
16079 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16080 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16081 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16082 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16083 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16084 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16085 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16086 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16087 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16088 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16089 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16090 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16091 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16092 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16093 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16094 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16095 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16096 * commands/password.c (GRUB_MOD_INIT): Likewise.
16097 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16098 * commands/read.c (GRUB_MOD_INIT): Likewise.
16099 * commands/search.c (GRUB_MOD_INIT): Likewise.
16100 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16101 * commands/test.c (GRUB_MOD_INIT): Likewise.
16102 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16103 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16104 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16105 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16106 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16107 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16108 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16109 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16110 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16111 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16112 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16113 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16114 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16115 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16116
9c288be2
VS
161172009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 Use search command for preliminar UUID search.
16120
16121 * commands/search.c: Split into ...
16122 * commands/search_wrap.c: ...this
16123 * commands/search.c: ...and this.
16124 * commands/search_file.c: New file.
16125 * commands/search_label.c: New file.
16126 * commands/search_uuid.c: New file.
16127 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16128 Add commands/search_wrap.c, commands/search_file.c,
16129 commands/search_label.c and commands/search_uuid.c.
16130 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16131 (search_mod_SOURCES): Set to commands/search_wrap.c.
16132 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16133 search_label.mod.
16134 (search_fs_file_mod_SOURCES): New variable.
16135 (search_fs_file_mod_CFLAGS): Likewise.
16136 (search_fs_file_mod_LDFLAGS): Likewise.
16137 (search_label_mod_SOURCES): Likewise.
16138 (search_label_mod_CFLAGS): Likewise.
16139 (search_label_mod_LDFLAGS): Likewise.
16140 (search_fs_uuid_mod_SOURCES): New variable.
16141 (search_fs_uuid_mod_CFLAGS): Likewise.
16142 (search_fs_uuid_mod_LDFLAGS): Likewise.
16143 (fs_file_mod_SOURCES): Removed.
16144 (fs_file_mod_CFLAGS): Likewise.
16145 (fs_file_mod_LDFLAGS): Likewise.
16146 (fs_uuid_mod_SOURCES): Removed.
16147 (fs_uuid_mod_CFLAGS): Likewise.
16148 (fs_uuid_mod_LDFLAGS): Likewise.
16149 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16150 Set to util/grub-install.in.
16151 * disk/fs_file.c: Removed.
16152 * disk/fs_uuid.c: Likewise.
16153 * include/grub/search.h: New file.
16154 * util/grub-install.in: Handle sparc64.
16155 Create and use load.cfg.
16156 * util/sparc64/ieee1275/grub-install.in: Removed.
16157
db943399
VS
161582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16161 Ignore return status if CF is cleared.
16162 (grub_biosdisk_get_diskinfo_standard): Likewise.
16163
3fdae612
RM
161642009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16165
16166 * term/i386/pc/at_keyboard.c
16167 (keyboard_controller_wait_untill_ready): New function.
16168 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16169 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16170 for keyboard polling, rather than duplicate the same loop. This
16171 saves a few bytes in code size.
16172
7ebaa2b4
VS
161732009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 Support for (pxe[:server[:gateway]]) syntax and
16176 use environment variable for PXE.
16177
16178 * commands/i386/pc/pxecmd.c (options): Removed.
16179 (print_ip): Removed.
16180 (grub_cmd_pxe): Removed
16181 (grub_cmd_pxe_unload): New function.
16182 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16183 (grub_pxe_your_ip): Made static.
16184 (grub_pxe_default_server_ip): Likewise.
16185 (grub_pxe_default_gateway_ip): Likewise.
16186 (grub_pxe_blksize): Likewise.
16187 (parse_ip): New function.
16188 (grub_pxe_open): Support server and gateway specification.
16189 (grub_pxe_close): Free disk->data.
16190 (grub_pxefs_open): Use disk->data.
16191 (grub_pxefs_read): Likewise.
16192 (grub_env_write_readonly): New function.
16193 (set_mac_env): Likewise.
16194 (set_env_limn_ro): Likewise.
16195 (parse_dhcp_vendor): Likewise.
16196 (grub_pxe_detect): Set the environment variables.
16197 (set_ip_env): New function.
16198 (write_ip_env): Likewise.
16199 (grub_env_write_pxe_default_server): Likewise.
16200 (grub_env_write_pxe_default_gateway): Likewise.
16201 (grub_env_write_pxe_blocksize): Likewise.
16202 (GRUB_MOD_INIT(pxe)): Set environment variables.
16203 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16204 (grub_pxe_mac_addr_t): ... this. All users updated.
16205 (grub_pxe_your_ip): Removed.
16206 (grub_pxe_server_ip): Likewise.
16207 (grub_pxe_gateway_ip): Likewise.
16208 (grub_pxe_blksize): Likewise.
16209
ec5f98ab 162102009-12-25 Carles Pina i Estany <carles@pina.cat>
16211
16212 * commands/help.c: Include `<grub/i18n.h>'.
16213 (grub_cmd_help): Gettextizze.
16214 (GRUB_MOD_INIT): Likewise.
16215 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16216 (GRUB_MOD_INIT): Gettextizze.
16217 * commands/search.c: Include `<grub/i18n.h>'.
16218 (options): Gettextizze.
16219 (GRUB_MOD_INIT): Gettextizze.
16220 * lib/arg.c: Include `<grub/i18n.h>'.
16221 (help_options): Gettextizze.
16222 (find_long): Likewise.
16223 (grub_arg_show_help): Likewise.
16224 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16225 (read_command_list): Gettextizze.
16226 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16227 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16228
22815526
RM
162292009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16230
16231 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16232 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16233 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16234 (led_status): New variable.
16235 (keyboard_controller_led): New function.
16236 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16237 update led status for caps lock, num lock and scroll lock.
16238
0ad46fd7
FZ
162392009-12-25 Felix Zielcke <fzielcke@z-51.de>
16240
16241 * util/hostdisk.c (open_device): Fix a comment.
16242
d0e158c2
RM
162432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16244
16245 * util/grub-install.in (host_os): New variable.
16246 * util/i386/efi/grub-install.in (host_os): Likewise.
16247
401c0ad6
RM
162482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16249
16250 * util/mkisofs/write.c (padblock_write): Abort when given an
16251 excedingly large embed image, instead of silently truncating it.
16252
d14d3370
RM
162532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16254
16255 * include/multiboot.h: Indentation fixes.
16256
eeed10b4
RM
162572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16258
16259 * include/multiboot.h (struct multiboot_aout_symbol_table)
16260 (struct multiboot_elf_section_header_table): New structure
16261 declarations (stolen from GRUB Legacy).
16262 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16263 table information.
16264
16265 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16266 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16267 type aliases.
16268
681c70ab
RM
162692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16270
16271 * include/multiboot.h: Make comments src2texi-friendly.
16272
e4d47d8d
RM
162732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16274
16275 For consistency with [multiboot]/docs/boot.S.
16276
16277 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16278 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16279 (MULTIBOOT_MAGIC2): Rename from this ...
16280 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16281
a0b70bda
RM
162822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16283
16284 * include/multiboot.h: Remove `<grub/types.h>'.
16285 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16286 types. Update all users.
16287
61ba42be 162882009-12-25 Carles Pina i Estany <carles@pina.cat>
16289
16290 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16291 `couldn't' and `can not' by `cannot'.
16292 * commands/i386/pc/drivemap.c: Likewise.
16293 * disk/ata.c: Likewise.
16294 * disk/ieee1275/nand.c: Likewise.
16295 * fs/affs.c: Likewise.
16296 * fs/fat.c: Likewise.
16297 * fs/hfs.c: Likewise.
16298 * fs/hfsplus.c: Likewise.
16299 * fs/iso9660.c: Likewise.
16300 * fs/jfs.c: Likewise.
16301 * fs/minix.c: Likewise.
16302 * fs/reiserfs.c: Likewise.
16303 * fs/sfs.c: Likewise.
16304 * fs/udf.c: Likewise.
16305 * fs/ufs.c: Likewise.
16306 * fs/xfs.c: Likewise.
16307 * loader/powerpc/ieee1275/linux.c: Likewise.
16308 * loader/sparc64/ieee1275/linux.c: Likewise.
16309 * util/grub-probe.c: Likewise.
16310 * util/misc.c: Likewise.
16311
7fd0baee 163122009-12-24 Carles Pina i Estany <carles@pina.cat>
16313
16314 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16315 grub_errno calls.
16316 * commands/acpi.c: Likewise.
16317 * commands/blocklist.c: Likewise.
16318 * commands/efi/loadbios.c: Likewise.
16319 * commands/i386/pc/drivemap.c: Likewise.
16320 * commands/loadenv.c: Likewise.
16321 * commands/memrw.c: Likewise.
16322 * commands/password.c: Likewise.
16323 * commands/videotest.c: Likewise.
16324 * disk/ata.c: Likewise.
16325 * disk/ata_pthru.c: Likewise.
16326 * disk/dmraid_nvidia.c: Likewise.
16327 * disk/ieee1275/nand.c: Likewise.
16328 * disk/ieee1275/ofdisk.c: Likewise.
16329 * disk/loopback.c: Likewise.
16330 * disk/lvm.c: Likewise.
16331 * disk/mdraid_linux.c: Likewise.
16332 * disk/raid.c: Likewise.
16333 * disk/raid6_recover.c: Likewise.
16334 * disk/scsi.c: Likewise.
16335 * efiemu/main.c: Likewise.
16336 * efiemu/mm.c: Likewise.
16337 * efiemu/pnvram.c: Likewise.
16338 * efiemu/symbols.c: Likewise.
16339 * font/font.c: Likewise.
16340 * fs/cpio.c: Likewise.
16341 * fs/hfsplus.c: Likewise.
16342 * fs/iso9660.c: Likewise.
16343 * fs/jfs.c: Likewise.
16344 * fs/minix.c: Likewise.
16345 * fs/ntfs.c: Likewise.
16346 * fs/ntfscomp.c: Likewise.
16347 * fs/reiserfs.c: Likewise.
16348 * fs/ufs.c: Likewise.
16349 * fs/xfs.c: Likewise.
16350 * gettext/gettext.c: Likewise.
16351 * include/grub/auth.h: Likewise.
16352 * kern/elf.c: Likewise.
16353 * kern/file.c: Likewise.
16354 * kern/ieee1275/init.c: Likewise.
16355 * kern/ieee1275/mmap.c: Likewise.
16356 * kern/ieee1275/openfw.c: Likewise.
16357 * kern/powerpc/dl.c: Likewise.
16358 * kern/sparc64/dl.c: Likewise.
16359 * lib/arg.c: Likewise.
16360 * loader/i386/bsd.c: Likewise.
16361 * loader/i386/bsdXX.c: Likewise.
16362 * loader/i386/efi/linux.c: Likewise.
16363 * loader/i386/efi/xnu.c: Likewise.
16364 * loader/i386/ieee1275/linux.c: Likewise.
16365 * loader/i386/linux.c: Likewise.
16366 * loader/i386/multiboot.c: Likewise.
16367 * loader/i386/pc/linux.c: Likewise.
16368 * loader/i386/pc/multiboot2.c: Likewise.
16369 * loader/i386/xnu.c: Likewise.
16370 * loader/ieee1275/multiboot2.c: Likewise.
16371 * loader/macho.c: Likewise.
16372 * loader/machoXX.c: Likewise.
16373 * loader/multiboot2.c: Likewise.
16374 * loader/multiboot_loader.c: Likewise.
16375 * loader/powerpc/ieee1275/linux.c: Likewise.
16376 * loader/sparc64/ieee1275/linux.c: Likewise.
16377 * loader/xnu.c: Likewise.
16378 * loader/xnu_resume.c: Likewise.
16379 * mmap/i386/pc/mmap.c: Likewise.
16380 * normal/menu_viewer.c: Likewise.
16381 * partmap/acorn.c: Likewise.
16382 * partmap/amiga.c: Likewise.
16383 * partmap/apple.c: Likewise.
16384 * script/lexer.c: Likewise.
16385 * term/gfxterm.c: Likewise.
16386 * term/i386/pc/serial.c: Likewise.
16387 * term/i386/pc/vga.c: Likewise.
16388 * term/ieee1275/ofconsole.c: Likewise.
16389 * term/terminfo.c: Likewise.
16390 * video/bitmap.c: Likewise.
16391 * video/efi_gop.c: Likewise.
16392 * video/efi_uga.c: Likewise.
16393 * video/fb/video_fb.c: Likewise.
16394 * video/i386/pc/vbe.c: Likewise.
16395 * video/readers/tga.c: Likewise.
16396 * video/video.c: Likewise.
16397
0ad46fd7 163982009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16399
16400 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16401 * commands/lspci.c: Likewise.
16402 * commands/probe.c: Likewise.
16403 * commands/xnu_uuid.c: Likewise.
16404 * conf/i386-coreboot.rmk: Likewise.
16405 * conf/i386-efi.rmk: Likewise.
16406 * conf/i386-ieee1275.rmk: Likewise.
16407 * conf/i386-pc.rmk: Likewise.
16408 * conf/powerpc-ieee1275.rmk: Likewise.
16409 * conf/sparc64-ieee1275.rmk: Likewise.
16410 * conf/x86_64-efi.rmk: Likewise.
16411 * fs/i386/pc/pxe.c: Likewise.
16412 * gettext/gettext.c: Likewise.
16413 * include/grub/efi/graphics_output.h: Likewise.
16414 * include/grub/i386/pc/memory.h: Likewise.
16415 * kern/env.c: Likewise.
16416 * kern/i386/qemu/startup.S: Likewise.
16417 * lib/i386/pc/biosnum.c: Likewise.
16418 * lib/i386/relocator.c: Likewise.
16419 * lib/i386/relocator_asm.S: Likewise.
16420 * lib/relocator.c: Likewise.
16421 * loader/i386/bsd.c: Likewise.
16422 * loader/i386/multiboot.c: Likewise.
16423 * loader/i386/pc/chainloader.c: Likewise.
16424 * loader/i386/xnu.c: Likewise.
16425 * loader/xnu.c: Likewise.
16426 * normal/main.c: Likewise.
16427 * normal/menu_text.c: Likewise.
16428 * util/getroot.c: Likewise.
16429 * util/grub-mkconfig_lib.in: Likewise.
16430 * util/grub.d/00_header.in: Likewise.
16431 * util/i386/pc/grub-mkimage.c: Likewise.
16432 * util/mkisofs/eltorito.c: Likewise.
16433 * util/mkisofs/exclude.h: Likewise.
16434 * util/mkisofs/hash.c: Likewise.
16435 * util/mkisofs/iso9660.h: Likewise.
16436 * util/mkisofs/joliet.c: Likewise.
16437 * util/mkisofs/mkisofs.c: Likewise.
16438 * util/mkisofs/mkisofs.h: Likewise.
16439 * util/mkisofs/multi.c: Likewise.
16440 * util/mkisofs/name.c: Likewise.
16441 * util/mkisofs/rock.c: Likewise.
16442 * util/mkisofs/tree.c: Likewise.
16443 * util/mkisofs/write.c: Likewise.
16444 * video/efi_gop.c: Likewise.
16445
009ec743
VS
164462009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16447
16448 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16449 size counting.
16450
0ad46fd7 164512009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16452
16453 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16454 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16455
d3d30ea0
VS
164562009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16459 (GRUB_MOD_INIT(memrw)): Update help line.
16460
a34f5c70
VS
164612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16464 Use grub_extcmd_t. All users updated.
16465 (options): New variable.
16466 (grub_cmd_read): Restructure for readability. Support "-v" option.
16467 (grub_cmd_write): Restructure for readability.
16468
0ad46fd7 164692009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16470
16471 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16472
0ad46fd7 164732009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16474
16475 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16476 with the actual contents of the correspondending make variable.
16477 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16478 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16479 specifying `*.lst' and `efiemu??.o'
16480
0ad46fd7 164812009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16482
16483 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16484 after function name.
16485 Noticed by Rene Engelhard <rene@debian.org>.
16486
dc77a799
VS
164872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16488
16489 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16490 (options): New variable.
16491 (iospace): Likewise.
16492 (grub_lspci_iter): List IO spaces if "-i" was given.
16493 (grub_cmd_lspci): Parse options.
16494 (GRUB_MOD_INIT(lspci)): Use extcmd.
16495 (GRUB_MOD_FINI(lspci)): Likewise.
16496
0ad46fd7 164972009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16498
16499 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16500 `function' keyword.
16501 Patch by Tony Mancill <tmancill@debian.org>.
16502
b5d5993b
VS
165032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16506 (grub_uhci_portstatus): Likewise.
16507 (grub_uhci_portstatus): Add necessary delay.
11d18281 16508 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16509
941903f2 165102009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16511
941903f2 16512 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16513 (GRUB_MOD_INIT): Likewise.
16514 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16515 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16516 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16517 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16518 (enable_rom_area): Likewise.
16519 (GRUB_MOD_INIT): Likewise.
16520 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16521 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16522 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16523 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16524 * commands/hexdump.c (options): Likewise.
16525 * commands/i386/cpuid.c (options): Likewise.
16526 (GRUB_MOD_INIT): Likewise.
16527 * commands/i386/pc/drivemap.c (options): Likewise.
16528 (GRUB_MOD_INIT): Likewise.
16529 * commands/i386/pc/halt (options): Likewise.
16530 (GRUB_MOD_INIT): Likewise.
16531 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16532 * commands/i386/pc/pxecmd.c (options): Likewise.
16533 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16534 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16535 * commands/keystatus.c (options): Likewise.
16536 (GRUB_MOD_INIT): Likewise.
16537 * commands/loadenv.c (options): Likewise.
16538 * commands/ls.c (options): Likewise.
16539 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16540 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16541 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16542 * commands/parttool.c (helpmsg): Likewise.
16543 * commands/probe.c (options): Likewise.
16544 * commands/read.c (GRUB_MOD_INIT): Likewise.
16545 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16546 * commands/search.c (options): Likewise.
16547 * commands/sleep.c (options): Likewise.
16548 * commands/test.c (GRUB_MOD_INIT): Likewise.
16549 * commands/true.c (GRUB_MOD_INIT): Likewise.
16550 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16551 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16552 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16553 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16554 `$(XGETTEXT)'.
98a50553 16555 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16556
0ad46fd7 165572009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16558
ef3c2c3a 16559 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16560 instead of specifying them explicit.
16561
7922f68b
RM
165622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16563
16564 * NEWS: Add grub-probe support for GNU/Hurd.
16565
537ce47f
RM
165662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16567
16568 * NEWS: gettext was added after 1.97.
16569
9b214e3a
RM
165702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16571
16572 * util/mkisofs/msdos_partition.h: New file (based on
16573 include/grub/msdos_partition.h).
16574 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16575 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16576 (ld_options, main): Recognize --protective-msdos-label.
16577 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16578 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16579 (padblock_write): If `use_protective_msdos_label' is set, patch a
16580 protective DOS-style label in the output image.
16581
16582 * util/grub-mkrescue.in: Use --protective-msdos-label.
16583
e9309813
RM
165842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16585
16586 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16587 boot.
16588
0ae56929
RM
165892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16590
16591 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16592 variables.
16593 (ld_options, main): Recognize `--embedded-boot'.
16594 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16595 declarations.
16596 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16597 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16598 (padblock_write): Likewise. Rewrite to support embedded boot image.
16599
16600 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16601 for BIOS-based disk boot instead of only ElTorito.
16602
b15937b1
RM
166032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16604
16605 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16606 build (not needed for bootstrap).
16607
52cc3ce0
RM
166082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16609
16610 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16611 from i386-pc build (not needed for bootstrap).
16612 Rewrite a pair of strings.
16613
36f5ff04
RM
166142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16615
16616 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16617
973c6c85 166182009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
16619
16620 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16621
05d21547
AB
166222009-12-21 Andreas Born <futur.andy@googlemail.com>
16623
16624 * kern/env.c (grub_env_context_open): Mark exported variable for
16625 reexport.
16626
0175d51f
AB
166272009-12-21 Andreas Born <futur.andy@googlemail.com>
16628
16629 * kern/env.c (grub_env_export): Create nonexistent variables before
16630 exporting.
16631
7f39d92f 166322009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 16633
7f39d92f 16634 * include/grub/auth.h: Include `<grub/i18n.h>'.
16635 (GRUB_GET_PASSWORD): Gettextizze string.
16636 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16637 menu_text.c.
16638 (grub_utf8_to_ucs4_alloc): Fix indentation.
16639 (grub_print_ucs4): Likewise.
16640 (grub_getstringwidth): Likewise.
16641 (print_message_indented): New declaration.
16642 * normal/auth.c: Include `<grub/i18n.h>'.
16643 (grub_auth_check_authentication): Gettexttize string.
16644 * normal/cmdline.c: Include `<grub/i18n.h>'.
16645 (grub_cmdline_get): Gettextizze.
16646 * normal/color.c: Include `<grub/i18n.h>'.
16647 (grub_parse_color_name_pair): Gettexttize strings.
16648 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16649 string (use `print_message_indented').
16650 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16651 `include/grub/normal.h'.
16652 (print_message_indented): Renamed to ...
16653 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16654 used in normal/main.c).
16655 (print_message): Use `grub_print_message_indented' instead of
16656 `print_message_indented'.
16657 (print_timeout): Likewise.
16658 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16659 (grub_normal_print_device_info): Gettexttize strings.
16660 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16661
3041d898
VS
166622009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16663
16664 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16665 of arguments. Return number of tokens and not arguments. All users
16666 updated.
16667
de15bf8e
VS
166682009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16669
16670 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16671 non-MSDOS paritions.
16672
e0a6ca52
VS
166732009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16674
16675 * include/grub/types.h (UNUSED): Removed since it conflicts with
16676 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16677 Reported by Grégoire Sutre.
16678
b99518d1 166792009-12-19 Carles Pina i Estany <carles@pina.cat>
16680
16681 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16682 (grub_print_ucs4_alloc): Likewise.
16683 (grub_getstringwidth): Likewise.
16684 * normal/main.c (grub_normal_init_page): Gettextize version string.
16685 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16686 (getstringwidth): Renamed to ...
16687 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16688 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16689 (grub_print_ucs4): Remove `static' qualifer (now used in
16690 normal/main.c).
16691 * po/POTFILES: Add normal/main.c.
16692
bfd5e52b 166932009-12-19 Carles Pina i Estany <carles@pina.cat>
16694
16695 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16696 (print_message_indented): Add `margin_left' and `margin_right'
16697 parameters.
16698 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16699 strings.
16700 (print_timeout): Use `print_message_indented' to print the message.
16701 Deletes `second_stage' parameter.
16702 (run_menu): Update `print_timeout' calls.
16703
5a1ad2b9
VS
167042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16705
16706 Fix console palette on OpenFirmware.
16707
16708 * term/ieee1275/ofconsole.c (MAX): Removed.
16709 (colors): Redone based on VGA palette.
16710 (grub_ofconsole_setcolor): Discard brightness bit since only 8
16711 colors are supported.
16712 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
16713
b045f00a
VS
167142009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 Fix potential EfiEmu double prepare.
16717
16718 * efiemu/main.c (prepared): New variable
16719 (grub_efiemu_unload): Set prepare to '0'.
16720 (grub_efiemu_prepare): Return if already prepared. Set prepared.
16721
16722 set_virtual_address_map support.
16723
16724 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
16725 prototype.
16726 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
16727 prototype.
16728 (grub_efiemu_crc32): Likewise.
16729 (grub_efiemu_crc64): Likewise.
16730 (grub_efiemu_set_virtual_address_map): Likewise.
16731 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
16732 New definition.
16733 (grub_autoefi_set_virtual_address_map): Likewise.
16734 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
16735 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
16736 Restructure flow to accomodate it.
16737 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
16738 (grub_efiemu_crc): Recompute CRC32.
16739 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
16740 (efiemu_ptv_relocated): ... this. Made global. All users updated.
16741 * efiemu/symbols.c (relocated_handle): New variable.
16742 (grub_efiemu_free_syms): Free relocated_handle.
16743 (grub_efiemu_alloc_syms): Allocate relocated_handle.
16744 (grub_efiemu_write_sym_markers): New function.
16745 (grub_efiemu_set_virtual_address_map): Likewise.
16746
16747 Newer XNU parameters.
16748
16749 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
16750 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
16751 (grub_xnu_fill_devicetree): New prototype.
16752 (grub_xnu_heap_real_start): New variable.
16753 * loader/xnu.c (get_name_ptr): New function.
16754 (grub_xnu_load_driver): Fill namelen and name.
16755
16756 64-bit xnu support.
16757
16758 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
16759 and 'loader/macho64.c'.
16760 * conf/i386-pc.rmk: Likewise.
16761 * conf/x86_64-efi.rmk: Likewise.
16762 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
16763 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
16764 * include/grub/macho.h (grub_macho_segment64): New structure.
16765 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
16766 (grub_macho_size32): ... to this.
16767 (grub_macho32_get_entry_point): Renamed from ...
16768 (grub_macho_get_entry_point32): ... to this.
16769 (grub_macho_contains_macho64): New prototype.
16770 (grub_macho_size64): Likewise.
16771 (grub_macho_get_entry_point64): Likewise.
16772 (grub_macho32_load): Renamed from ...
16773 (grub_macho_load32): ... to this.
16774 (grub_macho32_filesize): Renamed from ...
16775 (grub_macho_filesize32): ... to this.
16776 (grub_macho32_readfile): Renamed from ...
16777 (grub_macho_readfile32): ... to this.
16778 (grub_macho_filesize64): New prototype.
16779 (grub_macho_readfile64): Likewise.
16780 (grub_macho_parse32): Likewise.
16781 (grub_macho_parse64): Likewise.
16782 * loader/macho.c: Split into ...
16783 * loader/machoXX.c: ... and this. Replace 32 with XX.
16784 * loader/macho32.c: New file.
16785 * loader/macho64.c: Likewise.
16786 * loader/xnu.c (grub_xnu_is_64bit): New variable.
16787 (grub_cmd_xnu_kernel): Make 32-bit only.
16788 (grub_cmd_xnu_kernel64): New function.
16789 (grub_xnu_load_driver): Support Mach-O 64.
16790 (grub_cmd_xnu_mkext): Likewise.
16791 * util/grub.d/30_os-prober.in (osx_entry): New function.
16792 Generate entries for 64-bit boot too.
16793
16794 Eliminate ad-hoc tree format in XNU and EfiEmu.
16795
16796 * efiemu/main.c (grub_efiemu_prepare): Update comment.
16797 * efiemu/pnvram.c: Rewritten to use environment variables.
16798 All users updated.
16799
16800 Inline utf16_to_utf8.
16801
16802 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
16803 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
16804 All users updated.
16805 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
16806
16807 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
16808 * commands/usbtest.c (grub_usb_get_string): ... move here.
16809 (usb_print_str): Fix error handling.
16810 * include/grub/usb.h (grub_usb_get_string): Remove.
16811
16812 UTF-8 to UTF-16 transformation.
16813
16814 * conf/common.rmk (pkglib_MODULES): Add charset.mod
16815 (charset_mod_SOURCES): New variable.
16816 (charset_mod_CFLAGS): Likewise.
16817 (charset_mod_LDFLAGS): Likewise.
16818 * include/grub/utf.h: New file.
16819 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
16820
16821 Support for device properties.
16822
16823 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
16824 (grub_xnu_devprop_device_header): Likewise.
16825 (grub_xnu_devprop_device_descriptor): Likewise.
16826 (grub_xnu_devprop_add_device): New prototype.
16827 (grub_xnu_devprop_remove_device): Likewise.
16828 (grub_xnu_devprop_remove_property): Likewise.
16829 (grub_xnu_devprop_add_property_utf8): Likewise.
16830 (grub_xnu_devprop_add_property_utf16): Likewise.
16831 (grub_cpu_xnu_init): Likewise.
16832 (grub_cpu_xnu_fini): Likewise.
16833 (grub_cpu_xnu_unload): Likewise.
16834 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
16835 (property_descriptor): Likewise.
16836 (devices): New variable.
16837 (grub_xnu_devprop_remove_property): New function.
16838 (grub_xnu_devprop_add_device): Likewise.
16839 (grub_xnu_devprop_remove_device): Likewise.
16840 (grub_xnu_devprop_add_property): Likewise.
16841 (grub_xnu_devprop_add_property_utf8): Likewise.
16842 (grub_xnu_devprop_add_property_utf16): Likewise.
16843 (hextoval): Likewise.
16844 (grub_cpu_xnu_fill_devprop): Likewise.
16845 (grub_cmd_devprop_load): Likewise.
16846 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
16847 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
16848 (cmd_devprop_load): New variable.
16849 (grub_cpu_xnu_init): New function.
16850 (grub_cpu_xnu_fini): Likewise.
16851 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
16852 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
16853 (grub_cmd_xnu_devtree): Likewise.
16854 (hextoval): New function.
16855 (unescape): Likewise.
16856 (grub_xnu_fill_devicetree): Likewise.
16857
16858 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
16859 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
16860
0945f181
VS
168612009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 Workaround for broken ATI VBE.
16864
16865 * video/i386/pc/vbe.c (last_set_mode): New variable.
16866 (grub_vbe_set_video_mode): Set 'last_set_mode'.
16867 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
16868 (grub_video_vbe_setup): Don't check for reserved flag.
16869
0ad46fd7 168702009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
16871
16872 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
16873 the `find' command.
16874
c179ebe4
VS
168752009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
16876
16877 UUID support for HFS.
16878
16879 * fs/hfs.c (grub_hfs_uuid): New function.
16880 (grub_hfs_fs): New value .uuid.
16881 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
16882
0ad46fd7 168832009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
16884
16885 Fix a segfault with parsing unknown long options.
16886
16887 * util/grub-mkrelpath.c (options): Zero terminate it.
16888
c4a3e41a
CPE
168892009-12-13 Carles Pina i Estany <carles@pina.cat>
16890
16891 * include/grub/misc.h (grub_puts): New declaration.
16892 (grub_puts_): Likewise.
a22008a6 16893 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
16894 (grub_puts_): Likewise.
16895
2e8a7602
RM
168962009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16897
16898 * util/grub-probe.c (probe): Improve error message.
16899
b50b77b9
RM
169002009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16901
16902 * loader/i386/multiboot_elfxx.c
16903 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
16904 initialization.
16905
169062009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16907
16908 Relocator framework
16909
16910 * loader/i386/xnu_helper.S: Removed. All users updated.
16911 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
16912 (relocator_mod_SOURCES): New variable.
16913 (relocator_mod_CFLAGS): Likewise.
16914 (relocator_mod_LDFLAGS): Likewise.
16915 (relocator_mod_ASFLAGS): Likewise.
16916 * conf/x86_64.rmk: Likewise.
16917 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
16918 (grub_multiboot_payload_entry_offset): Likewise.
16919 (grub_multiboot_forward_relocator): Likewise.
16920 (grub_multiboot_forward_relocator_end): Likewise.
16921 (grub_multiboot_backward_relocator): Likewise.
16922 (grub_multiboot_backward_relocator_end): Likewise.
16923 (grub_multiboot_payload_eip): New variable.
16924 (grub_multiboot_payload_orig): Likewise.
16925 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
16926 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
16927 * include/grub/i386/memory.h
16928 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
16929 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
16930 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
16931 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
16932 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
16933 * include/grub/i386/relocator.h: New file.
16934 * include/grub/x86_64/relocator.h: Likewise.
16935 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
16936 (XNU_RELOCATOR): New macro.
16937 (grub_xnu_launcher_start): Remove.
16938 (grub_xnu_launcher_end): Likewise.
16939 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
16940 (grub_xnu_heap_real_start): Remove.
16941 (grub_xnu_heap_start): Change to void *. All users updated.
16942 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
16943 * lib/i386/relocator.c: New file.
16944 * lib/i386/relocator_asm.S: Likewise.
16945 * lib/i386/relocator_backward.S: Likewise.
16946 * lib/mips/relocator.c: Likewise.
16947 * lib/mips/relocator_asm.S: Likewise.
16948 * lib/relocator.c: Likewise.
16949 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16950 (entry): Removed.
16951 (playground): Likewise.
16952 (grub_multiboot_payload_orig): New variable.
16953 (grub_multiboot_payload_dest): Likewise.
16954 (grub_multiboot_payload_size): Likewise.
16955 (grub_multiboot_payload_eip): Likewise.
16956 (grub_multiboot_payload_esp): Likewise.
16957 (grub_multiboot_boot): Use grub_relocator32_boot.
16958 (grub_multiboot_unload): Free relocators.
16959 (grub_multiboot): Setup stack. Use relocators.
16960 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16961 (grub_multiboot_load_elfXX): Use relocators.
16962 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16963 (grub_multiboot_payload_size): Likewise.
16964 (grub_multiboot_payload_dest): Likewise.
16965 (grub_multiboot_payload_entry_offset): Likewise.
16966 (grub_multiboot_forward_relocator): Likewise.
16967 (grub_multiboot_backward_relocator): Likewise.
16968 (grub_multiboot_real_boot): Likewise.
16969 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16970 (grub_xnu_entry_point): Likewise.
16971 (grub_xnu_arg1): Likewise.
16972 (grub_xnu_stack): Likewise.
16973 (grub_xnu_launch): Removed.
16974 (grub_xnu_boot_resume): New function.
16975 (grub_xnu_boot): Use relocators.
16976 * loader/i386/xnu_helper.S: Removed.
16977 * loader/xnu.c (grub_xnu_heap_start): New variable.
16978 (grub_xnu_heap_size): Likewise.
16979 (grub_xnu_heap_malloc): Use relocators.
16980 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16981
29eb90c6
VS
169822009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16983
16984 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16985 anything.
16986
31027430
CPE
169872009-12-13 Carles Pina i Estany <carles@pina.cat>
16988
16989 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16990 GRUB_ERR_NONE before calling grub_env_set.
16991
dc0c71d9
RM
169922009-12-12 Robert Millan <rmh@aybabtu.com>
16993
16994 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
16995 * genmk.rb (video): New variable.
16996 (CLEANFILES, VIDEOFILES): Add #{video}.
16997 (#{video}): New target rule.
16998 * genvideolist.sh: New file.
16999 * Makefile.in (pkglib_DATA): Add video.lst.
17000 (video.lst): New target rule.
17001 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17002 `video.lst'.
17003 * util/grub.d/30_os-prober.in: Replace `vbe' with
17004 ${GRUB_VIDEO_BACKEND}.
17005
2a4bfcf0
RM
170062009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17007
17008 * THANKS: Add David Miller.
17009
2a3aa4d5
RM
170102009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17011
17012 libpciaccess support.
17013
17014 * Makefile.in (LIBPCIACCESS): New variable.
17015 (enable_grub_emu_pci): Likewise.
17016 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17017 util/pci.c and commands/lspci.c.
17018 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17019 * configure.ac (grub-emu-pci): New option.
17020 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17021 (grub_pci_device_unmap_range): Likewise.
17022 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17023 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17024 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17025 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17026 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17027 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17028 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17029 * include/grub/pciutils.h: New file.
17030 * util/pci.c: Likewise.
17031
0ad46fd7 170322009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17033
17034 * util/misc.c: Don't include <errno.h> twice.
17035
0ad46fd7 170362009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17037
17038 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17039 name in an error message.
17040 (grub_biosdisk_rw): Likewise.
17041
2e59983c
VS
170422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17043
17044 Eliminate NTFS 4Gib barrier.
17045
17046 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17047 (read_run_data): Likewise.
17048 (grub_ntfs_read_run_list): Likewise.
17049 (grub_ntfs_read_block): Likewise.
17050 (grub_ntfs_iterate_dir): Likewise.
17051 (read_mft): Likewise.
17052 (read_data): Likewise.
17053 Use COM_LOG_LEN.
17054 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17055 to avoid 64-bit division
17056 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17057 (grub_ntfs_rlst): Use grub_disk_addr_t.
17058
71ee178a
VS
170592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17060
17061 Eliminate grub-fstest 4Gib barrier.
17062
17063 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17064 (read_file): Fix error reporting.
17065
2520d4b8
VS
170662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17067
17068 Eliminate hexdump 4Gib barrier.
17069
17070 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17071 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17072
e1f27065
VS
170732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17074
17075 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17076 Fixes amarsh bug.
17077
1a0f7f45
RM
170782009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17079
17080 Remove miscellaneous files in distclean target.
17081
17082 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17083
c631d9fb
CW
170842009-12-09 Colin Watson <cjwatson@ubuntu.com>
17085
17086 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17087 if they're already set. This resolves the conflict between my
17088 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17089 fixing the --grub-probe option again.
17090 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17091 change on 2009-10-06, so that we now once again source
17092 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17093
7c7b6106
RM
170942009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17097 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17098 `util/devicemap.c'.
17099
e3069ec1
CPE
171002009-12-08 Carles Pina i Estany <carles@pina.cat>
17101
17102 * include/grub/misc.h (grub_printf_): New declaration.
17103 * kern/misc.c (grub_printf_): New definition.
17104 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17105 instead of `grub_printf' and `_'.
17106 * normal/menu_entry.c (store_completion): Likewise.
17107 (run): Likewise.
17108 (grub_menu_entry_run): Likewise.
17109 * normal/menu_text.c (grub_wait_after_message): Likewise.
17110 (notify_booting): Likewise.
17111 (notify_fallback): Likewise.
17112 (notify_execution_failure): Likewise.
17113
d6ceebf1
CW
171142009-12-07 Colin Watson <cjwatson@ubuntu.com>
17115
17116 * configure.ac: Check for vasprintf.
17117 * util/misc.c (asprintf): Move allocation from here ...
17118 (vasprintf): ... to here. New function.
17119 (xasprintf): New function.
17120 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17121 prototypes.
17122 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17123 * util/grub-mkfont.c (write_font): Likewise.
17124 * util/grub-probe.c (probe): Likewise.
17125 * util/hostdisk.c (make_device_name): Likewise.
17126
de6daa8b
DM
171272009-12-06 David S. Miller <davem@sunset.davemloft.net>
17128
17129 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17130 anything even prefixed with 'cdrom' as a cdrom.
17131
0ad46fd7 171322009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17133
17134 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17135 mount points.
17136
98d3dc02
CPE
171372009-12-05 Carles Pina i Estany <carles@pina.cat>
17138
17139 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17140 grub_gettext_msg_list.
17141 (grub_gettext_gettranslation_from_position): Return const char *
17142 and not char *.
a2c1332b 17143 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17144 returns from the list if existing there.
17145 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17146 (grub_gettext_delete_list): Delete the list.
17147 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17148 lang environment variable is changed.
17149 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17150
b283f108
VS
171512009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 Rename kernel.mod to kernel.img.
17154
17155 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17156 (kernel_mod_EXPORTS): Rename to ...
17157 (kernel_img_EXPORTS): ... this.
17158 (kernel_mod_SOURCES): Rename to ...
17159 (kernel_img_SOURCES): ... this.
17160 (kernel_mod_HEADERS): Rename to ...
17161 (kernel_img_HEADERS): ... this. All users updated.
17162 (kernel_mod_CFLAGS): Rename to ...
17163 (kernel_img_CFLAGS): ... this.
17164 (kernel_mod_ASFLAGS): Rename to ...
17165 (kernel_img_ASFLAGS): ... this.
17166 (kernel_mod_LDFLAGS): Rename to ...
17167 (kernel_img_LDFLAGS): ... this.
17168 * conf/x86_64-efi.rmk: Likewise.
17169 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17170 (read_kernel_image): ... this. All users updated.
17171 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17172
69055f8a
CPE
171732009-12-05 Carles Pina i Estany <carles@pina.cat>
17174
17175 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17176 (print_spaces): New function.
17177 (grub_print_ucs4): New function.
17178 (getstringwidth): New function.
17179 (print_message_indented): New function.
17180 (print_message): Gettexttize strings using print_message_indented.
17181 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17182 width.
17183 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17184 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17185 Gettextize.
17186 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17187 string.
17188 (run): Likewise.
17189 (grub_menu_entry_run): Likewise.
17190 * PO/POTFILES: Add normal/menu_entry.c.
17191
f616f51c
VS
171922009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17195
57bbe3be
CPE
171962009-12-05 Carles Pina i Estany <carles@pina.cat>
17197
17198 * util/grub-install.in: Install gettext .mo files.
17199 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17200
013d67a1
CPE
172012009-12-05 Carles Pina i Estany <carles@pina.cat>
17202
17203 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17204 grub_dprintf.
17205
fb954db0
RM
172062009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17207
17208 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17209 non-firmware-dependant one in realmode.S takes precedence.
17210
6b8474f8
RM
172112009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17212
17213 * commands/halt.c: Replace misc arch-specific headers with
17214 `<grub/misc.h>'.
17215 * commands/reboot.c: Likewise.
17216 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17217 `<grub/misc.h>'.
17218 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17219 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17220 (kernel_img_SOURCES): ... to here.
17221
17222 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17223 * include/grub/i386/pc/init.h: Likewise.
17224 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17225 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17226
17227 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17228
17229 * include/grub/i386/halt.h: Remove.
17230 * include/grub/i386/reboot.h: Likewise.
17231
17232 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17233
4b2e6ca2
DM
172342009-12-03 David S. Miller <davem@sunset.davemloft.net>
17235
17236 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17237 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17238 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17239 "progname.h"
17240 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17241 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17242 (usage): Add missing comma in printf.
17243
5239348f
RM
172442009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17245
17246 Use the same reboot approach on i386 coreboot and qemu as we do on
17247 BIOS.
17248
17249 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17250 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17251 * kern/i386/reboot.c: Remove.
17252 * include/grub/i386/reboot.h (grub_reboot): Export function.
17253 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17254 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17255 0xf000:0xfff0 instead of 0xffff:0x0000.
17256 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17257 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17258
ef34cbd4
RM
172592009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17260
17261 Fix $srcdir != $objdir build.
17262
17263 * Makefile.in (po/%.po): Rewrite as ...
17264 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17265
dc9837ea
ST
172662009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17267
17268 Fix GNU/Hurd grub-install crash.
17269 * util/grub-probe.c (probe): Try to access `path' only when it is not
17270 NULL.
17271
2f857f98
VS
172722009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17273
17274 Correct module naming.
17275
17276 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17277 (GRUB_MOD_INIT(efi_uga)): ... to this
17278 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17279 (GRUB_MOD_FINI(efi_uga)): ... to this
17280 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17281 (GRUB_MOD_INIT(efi_gop)): ... to this
17282 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17283 (GRUB_MOD_FINI(efi_gop)): ... to this
17284
c5448046
RM
172852009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17286
17287 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17288 translatable.
17289 (usage): Translate `arg' strings using gettext().
17290 Thanks to Jordi Mallach for the suggestion.
17291
c85184ad
VS
172922009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17293
17294 GOP support. Based on patch from Bean
17295 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17296
17297 * video/efi_gop.c: New file.
17298 * include/grub/efi/graphics_output.h: Likewise.
17299 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17300 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17301 variables.
17302 * conf/x86_64-efi.rmk: Likewise.
17303
8a4c48d8
VS
173042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17305
17306 Rename efi_fb to efi_uga.
17307
17308 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17309 'efi_uga.mod'.
17310 (efi_fb_mod_SOURCES): Rename this ...
17311 (efi_uga_mod_SOURCES): ... to this.
17312 (efi_fb_mod_CFLAGS): Rename this ...
17313 (efi_uga_mod_CFLAGS): ... to this.
17314 (efi_fb_mod_LDFLAGS): Rename this ...
17315 (efi_uga_mod_LDFLAGS): ... to this.
17316 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17317 'efi_uga.mod'.
17318 (efi_fb_mod_SOURCES): Rename this ...
17319 (efi_uga_mod_SOURCES): ... to this.
17320 (efi_fb_mod_CFLAGS): Rename this ...
17321 (efi_uga_mod_CFLAGS): ... to this.
17322 (efi_fb_mod_LDFLAGS): Rename this ...
17323 (efi_uga_mod_LDFLAGS): ... to this.
17324 * video/efi_fb.c: Move this ...
17325 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17326
fb6c1a7b
RM
173272009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17328
17329 * po/README: New file. Explain our PO file workflow.
17330
3bc7896c
RM
173312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17332
17333 * po/ChangeLog: Remove. Move relevant entries back to ...
17334 * ChangeLog: ... here.
17335 * po/ca.po: Remove (now handled by TLP).
17336 * po/id.po: Likewise.
17337 * po/zh_CN.po: Likewise.
17338 * Makefile.in (LINGUAS): Initialize in a way that supports
17339 empty set.
17340
9ed4841d
RM
173412009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17342
17343 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17344 reliing on po/LINGUAS.
17345 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17346 (po/%.po): ... this.
17347
0ad46fd7 173482009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17349
17350 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17351 (main): Use `program_name' instead of nonexistent `progname'.
17352
e30dd392
FZ
173532009-11-26 Felix Zielcke <fzielcke@z-51.de>
17354
17355 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17356 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17357
7656de4f
RM
173582009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17359
17360 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17361 commit.
17362 * conf/i386-efi.rmk: Likewise.
17363 * conf/i386-ieee1275.rmk: Likewise.
17364 * conf/powerpc-ieee1275.rmk: Likewise.
17365 * conf/sparc64-ieee1275.rmk: Likewise.
17366 * conf/x86_64-efi.rmk: Likewise.
17367
db77c4d4
FZ
173682009-11-26 Felix Zielcke <fzielcke@z-51.de>
17369
17370 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17371
a755bb04
FZ
173722009-11-26 Felix Zielcke <fzielcke@z-51.de>
17373
17374 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17375
8a4c07fd
RM
173762009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17377
17378 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17379 (grub_mkdevicemap_SOURCES): New variable.
17380 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17381 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17382 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17383 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17384 (grub_mkdevicemap_SOURCES): Remove.
17385 * conf/i386-efi.rmk: Likewise.
17386 * conf/i386-ieee1275.rmk: Likewise.
17387 * conf/i386-pc.rmk: Likewise.
17388 * conf/powerpc-ieee1275.rmk: Likewise.
17389 * conf/sparc64-ieee1275.rmk: Likewise.
17390 * conf/x86_64-efi.rmk: Likewise.
17391 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17392 (usage): Fix strings to use `program_name'.
17393 (main): Initialize gettext.
17394 * util/grub-editenv.c: Likewise.
17395 * util/grub-emu.c: Likewise.
17396 * util/grub-fstest.c: Likewise.
17397 * util/grub-mkdevicemap.c: Likewise.
17398 * util/grub-mkfont.c: Likewise.
17399 * util/grub-mkrelpath.c: Likewise.
17400 * util/grub-pe2elf.c: Likewise.
17401 * util/grub-probe.c: Likewise.
17402 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17403 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17404 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17405
17406 * util/misc.c: Include `"progname.h"'.
17407 (progname): Remove variable.
17408 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17409
6f61ed55
FZ
174102009-11-25 Felix Zielcke <fzielcke@z-51.de>
17411
17412 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17413 printf and print a newline after the menuentry header line.
17414 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17415
f022876b
FZ
174162009-11-25 Felix Zielcke <fzielcke@z-51.de>
17417
17418 autoconf >= 2.60 support $(localedir).
17419
17420 * INSTALL: Note that autoconf 2.60 is required.
17421 * configure.ac (AC_PREREQ): Bump to 2.60.
17422 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17423 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17424
6717926e
YB
174252009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17426
17427 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17428 aclocal is run.
17429
08806a54
RM
174302009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17431
17432 * normal/main.c (grub_normal_read_line): Fix off-by-one
17433 buffer overflow.
17434
13b33fba
RM
174352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17436
17437 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17438 "parser.grub" in grub_command_execute() call.
17439
4a8572e9
CPE
174402009-11-24 Carles Pina i Estany <carles@pina.cat>
17441
17442 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17443 * conf/i386-efi.rmk: Likewise.
17444 * conf/i386-ieee1275.rmk: Likewise.
17445 * conf/i386-pc.rmk: Likewise.
17446 * conf/powerpc-ieee1275.rmk: Likewise.
17447 * conf/sparc64-ieee1275.rmk: Likewise.
17448 * conf/x86_64-efi.rmk: Likewise.
17449 * gettext/gettex.c: Include <grub/i18n.h>.
17450 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17451 here ...
17452 * include/grub/i18n.h: ... to here
17453 * include/grub/i18n.h: ... to here.
17454 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17455 (grub_gettext_dummy): Move above user.
4a8572e9 17456
bee48093
FZ
174572009-11-24 Felix Zielcke <fzielcke@z-51.de>
17458
17459 * util/Makefile.in (install-local): Convert a `for' into a normal
17460 shell expansion.
17461
a031e91c
RM
174622009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17463
17464 * autogen.sh: Add automake call.
17465 * config.guess: Remove.
17466 * config.sub: Likewise.
17467 * install-sh: Likewise.
17468
26bec39d
FZ
174692009-11-24 Felix Zielcke <fzielcke@z-51.de>
17470
17471 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17472
8e2532fd
FZ
174732009-11-24 Felix Zielcke <fzielcke@z-51.de>
17474
17475 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17476 function to a normal shell `for'.
17477
fefa1b7d
FZ
174782009-11-24 Felix Zielcke <fzielcke@z-51.de>
17479
17480 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17481
4501250b
FZ
174822009-11-24 Felix Zielcke <fzielcke@z-51.de>
17483
17484 * util/grub-mkrelpath.c: New file.
17485 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17486 (grub_mkrelpath_SOURCES): New variable.
17487 * include/grub/util/misc.h: New function prototype.
17488 * util/misc.c (make_system_path_relative_to_its_root): New function.
17489
17490 * util/grub-mkconfig_lib.in (bindir): New variable.
17491 (grub_mkrelpath): Likewise.
17492 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17493
17494 * util/probe.c (probe): Make the file path relative to its root.
17495 Change a info message to use the GRUB path. Enable again the
17496 check if we can read the file with GRUB facilities.
17497
17498 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17499 to its root.
17500
11d9778b
FZ
175012009-11-24 Felix Zielcke <fzielcke@z-51.de>
17502
17503 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17504 platform.
17505
4465287d
FZ
175062009-11-24 Felix Zielcke <fzielcke@z-51.de>
17507
17508 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17509 strncmp().
17510
62b47f22
FZ
175112009-11-24 Felix Zielcke <fzielcke@z-51.de>
17512
17513 * util/getroot.c (grub_util_is_dmraid): New function.
17514 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17515 devices as normal ones, not as LVM.
17516
1eafb9b9 175172009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17518
17519 * conf/common.rmk: Add grub-gettext_lib target and updates
17520 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17521 LDFLAGS.
17522 * gettext/gettext.c: New file. (Reads mo files).
17523 * include/grub/file.h (grub_file_pread): New prototype.
17524 * include/grub/i18n.h (_): New prototype.
17525 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17526 prototypes.
17527 * kern/misc.c (grub_gettext_dummy): New function.
17528 * normal/menu_text.c: Include <grub/i18n.h>.
17529 * normal/menu_text.c (print_timeout): Gettexttize string.
17530 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17531 * po/POTFILES: Add `normal/menu_text.c'.
17532 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17533 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17534 gettext module and defines locale_dir and lang in grub.cfg.
17535 * NEWS: Add gettext support.
17536
0fdb2568
RM
175372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17538
17539 * util/hostdisk.c: Include `<grub/i18n.h>'.
17540 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17541 (make_device_name): Rewrite using asprintf.
17542 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17543 (find_system_device): If a device is not found, generate one just
17544 by reusing the OS path name.
17545 (read_device_map): Make it permissible for device.map not to exist.
17546
f515aa62
RM
175472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17548
17549 * script/sh/execute.c: Move from here ...
17550 * script/execute.c: ... to here. Update all users.
17551 * script/sh/function.c: Move from here ...
17552 * script/function.c: ... to here. Update all users.
17553 * script/sh/lexer.c: Move from here ...
17554 * script/lexer.c: ... to here. Update all users.
17555 * script/sh/main.c: Move from here ...
17556 * script/main.c: ... to here. Update all users.
17557 * script/sh/parser.y: Move from here ...
17558 * script/parser.y: ... to here. Update all users.
17559 * script/sh/script.c: Move from here ...
17560 * script/script.c: ... to here. Update all users.
17561
f84b481b
RM
175622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17563
17564 * configure.ac: Detect all `emu' platforms. Define
17565 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17566 --enable-grub-emu logic. Disable include/grub/machine
17567 symlink on `emu' platforms.
17568
17569 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17570 * gensymlist.sh.in: Likewise.
17571
17572 * include/grub/i386/coreboot/machine.h: Remove file.
17573 * include/grub/i386/efi/machine.h: Likewise.
17574 * include/grub/i386/ieee1275/machine.h: Likewise.
17575 * include/grub/i386/pc/machine.h: Likewise.
17576 * include/grub/i386/qemu/machine.h: Likewise.
17577 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17578 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17579 * include/grub/x86_64/efi/machine.h: Likewise.
17580
17581 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17582 * commands/halt.c: Likewise.
17583 * commands/reboot.c: Likewise.
17584 * include/grub/autoefi.h: Likewise.
17585 * include/grub/i386/at_keyboard.h: Likewise.
17586 * include/grub/i386/kernel.h: Likewise.
17587 * include/grub/i386/loader.h: Likewise.
17588 * include/grub/i386/pc/memory.h: Likewise.
17589 * kern/dl.c: Likewise.
17590 * kern/i386/coreboot/init.c: Likewise.
17591 * loader/i386/bsd.c: Likewise.
17592 * loader/i386/linux.c: Likewise.
17593 * loader/multiboot_loader.c: Likewise.
17594 * term/i386/pc/serial.c: Likewise.
17595 * term/usb_keyboard.c: Likewise.
17596
17597 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17598 `<grub/machine/machine.h>'
17599 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17600 * util/misc.c: Remove `<grub/machine/machine.h>' and
17601 `<grub/machine/time.h>'.
17602
17603 * Makefile.in (enable_grub_emu): Remove variable.
17604 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17605
17606 * conf/any-emu.rmk: New file.
17607 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17608 (grub_emu_init.c): Move from here ...
17609 * conf/any-emu.rmk: ... to here.
17610
17611 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17612 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17613 * conf/any-emu.rmk: ... to here.
17614
4efeab03
RM
176152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17616
17617 * include/grub/parser.h (grub_parser_register): Document need
17618 of `name' parameter.
17619 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17620 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17621 "sh" to "grub".
17622
ea1dd8bf
RM
176232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17624
17625 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17626 `$(XGETTEXT)'.
17627 * include/grub/i18n.h (N_): New macro.
17628 * util/mkisofs/mkisofs.h: Likewise.
17629 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17630 around N_().
17631 (usage): Use gettext() to translate help strings when printing them.
17632
0c140626
RM
176332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17634
17635 Based on patch from Bean
17636 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17637
17638 * video/efi_fb.c: New file.
17639 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17640 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17641 variables.
17642 * conf/x86_64-efi.rmk: Likewise.
17643
87d58298
RM
176442009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17645
17646 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17647 * util/i386/pc/grub-setup.c: Likewise.
17648
994cc3a3
ST
176492009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17650
17651 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17652 <hurd/fs.h>
17653 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17654 file_get_storage_info to implement grub_guess_root_device.
17655
26a61d6a
FZ
176562009-11-21 Felix Zielcke <fzielcke@z-51.de>
17657
17658 * Makefile.in (target): Use make's builtin $(shell) function
17659 instead of calling directly $(SHELL) to create the locale directories,
17660 inside the $(foreach) function.
17661
74ff1dd5
FZ
176622009-11-21 Felix Zielcke <fzielcke@z-51.de>
17663
17664 * util/grub-mkrescue.in: Print an error and usage if output option
17665 has not been given.
17666
0b787d0e
FZ
176672009-11-21 Felix Zielcke <fzielcke@z-51.de>
17668
17669 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17670 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17671 root and /boot are on different devices.
17672
1164b270
RM
176732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17674
17675 Fix build for srcdir != objdir.
17676
17677 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17678 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17679 $(srcdir).
17680 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17681 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17682 reference for input.
17683
13774a2f
RM
176842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17685
17686 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17687 or hardlinking it). Remove -J option, Joliet is not compatible with
17688 multiple source directories.
17689
efda854e
RM
176902009-11-21 Carles Pina i Estany <carles@pina.cat>
176912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17692
17693 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17694 (process_input_dir): New function. Process an arbitrary input
17695 directory.
17696 Misc adjustments to support both "override mode" and system-wide mode.
17697
6c09890c
FZ
176982009-11-20 Felix Zielcke <fzielcke@z-51.de>
17699
17700 * configure.ac (UNIFONT_BDF): Rename to ...
17701 (FONT_SOURCE): ... this. Update all users.
17702
a797824f
FZ
177032009-11-20 Felix Zielcke <fzielcke@z-51.de>
17704
17705 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
17706 to the list of unifont files to look for.
17707
cd4f42b0
RM
177082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17709
17710 Patch from Joe Auricchio <jauricchio@gmail.com>
17711 * commands/minicmd.c (grub_mini_cmd_clear): New function.
17712 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
17713 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
17714
393c783d
FZ
177152009-11-19 Felix Zielcke <fzielcke@z-51.de>
17716
17717 * Makefile.in (install-local): Add a missing backslash.
17718
b2f1e327
FZ
177192009-11-19 Felix Zielcke <fzielcke@z-51.de>
17720
17721 * include/grub/x86_64/io.h: New file.
17722
f577f7a0
RM
177232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17724
17725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
17726 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
17727 Include `"progname.h"'.
17728 (main): Initialize gettext.
17729 * util/i386/pc/grub-setup.c: Gettexttize.
17730 * util/i386/pc/grub-mkimage.c: Likewise.
17731
17732 * Makefile.in (po/*.po): Redefine as ...
17733 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
17734
3bc7896c
RM
17735 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
17736
c37943b6
RM
177372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17738
17739 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
17740 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
17741 (program_name): Remove.
17742 (main): Initialize gettext support.
6323f705
RM
17743 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
17744 Include `<libintl.h>'.
17745 (_): New macro.
c37943b6
RM
17746
17747 * util/mkisofs/eltorito.c: Gettexttize.
17748 * util/mkisofs/joliet.c: Likewise.
17749 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
17750 * util/mkisofs/multi.c: Likewise.
17751 * util/mkisofs/rock.c: Likewise.
17752 * util/mkisofs/tree.c: Likewise.
17753 * util/mkisofs/write.c: Likewise.
17754
3bc7896c
RM
17755 * po/POTFILES: Update with new files.
17756
5ce77c6e
RM
177572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17758
17759 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
17760 * util/mkisofs/iso9660.h: Likewise.
17761 * util/mkisofs/joliet.c: Likewise.
17762 * util/mkisofs/mkisofs.c: Likewise.
17763 * util/mkisofs/mkisofs.h: Likewise.
17764 * util/mkisofs/rock.c: Likewise.
17765 * util/mkisofs/tree.c: Likewise.
17766 * util/mkisofs/write.c: Likewise.
17767
17768 * util/mkisofs/eltorito.c (rcsid): Remove.
17769 * util/mkisofs/hash.c: Likewise.
17770 * util/mkisofs/joliet.c: Likewise.
17771 * util/mkisofs/name.c: Likewise.
17772 * util/mkisofs/rock.c: Likewise.
17773 * util/mkisofs/tree.c: Likewise.
17774 * util/mkisofs/write.c: Likewise.
17775
1dabbc77
RM
177762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17777
17778 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
17779 instead of static allocation.
17780 * util/mkisofs/match.h: Likewise.
17781
633877cb
RM
177822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17783
3bc7896c
RM
17784 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
17785 and `util/grub.d/10_linux.in'.
633877cb
RM
17786 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
17787 translatable Shell files.
17788
af1c0c85
RM
177892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17790
17791 * Makefile.in ($(srcdir)/aclocal.m4): New target.
17792
769ae37b
RM
177932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17794
17795 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 17796 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
17797 * util/grub.d/10_kfreebsd.in (bindir): New variable.
17798 Add gettext initialization.
17799 (kfreebsd_entry): Make menuentry output translatable.
17800
178012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17802
17803 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
17804 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
17805 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
17806 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
17807 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 17808 * po/LINGUAS: New file.
769ae37b
RM
17809
178102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17811
17812 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
17813 other things).
17814 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
17815 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
17816 bindtextdomain() calls for gettext initialization.
17817
178182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17819
17820 * gnulib/progname.c: New file (imported from Gnulib).
17821 * gnulib/progname.h: Likewise.
17822 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17823 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
17824 (usage): Replace `progname' with `program_name'.
17825 (main): Use set_program_name() for program name initialization.
17826
178272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17828
17829 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
17830 from here ...
17831 * Makefile.in (CPPFLAGS): ... to here.
17832
178332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17834
17835 * aclocal.m4: Move from here ...
17836 * acinclude.m4: ... to here.
17837 * autogen.sh: Add call to `aclocal'.
17838 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
17839
178402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17841
17842 * Makefile.in (CLEANFILES): Add `po/*.mo'.
17843 (LINGUAS): New variable.
17844 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
17845 (install-local): Install MO files.
17846 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
17847 * include/grub/i18n.h: New file.
3bc7896c
RM
17848 * po/POTFILES: New file.
17849 * po/ca.po: New file.
769ae37b
RM
17850 * util/grub.d/10_linux.in (bindir): New variable.
17851 Add gettext initialization.
17852 (linux_entry): Make menuentry output translatable.
17853 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
17854 (usage): Make --help output translatable.
17855 (main): Initialize gettext.
17856
02c0a6ad
RM
178572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17858
17859 * import_gcry.py: New file (written by Vladimir with minor
17860 adjustments).
17861 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
17862 ciphers.
17863 * INSTALL: Document that Python is required for bootstrap.
17864
178652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17866
17867 Import ciphers from libgcrypt 1.4.4.
17868
17869 * lib/libgcrypt/cipher/ChangeLog
17870 * lib/libgcrypt/cipher/ac.c
17871 * lib/libgcrypt/cipher/arcfour.c
17872 * lib/libgcrypt/cipher/bithelp.h
17873 * lib/libgcrypt/cipher/blowfish.c
17874 * lib/libgcrypt/cipher/camellia-glue.c
17875 * lib/libgcrypt/cipher/camellia.c
17876 * lib/libgcrypt/cipher/camellia.h
17877 * lib/libgcrypt/cipher/cast5.c
17878 * lib/libgcrypt/cipher/cipher.c
17879 * lib/libgcrypt/cipher/crc.c
17880 * lib/libgcrypt/cipher/des.c
17881 * lib/libgcrypt/cipher/dsa.c
17882 * lib/libgcrypt/cipher/ecc.c
17883 * lib/libgcrypt/cipher/elgamal.c
17884 * lib/libgcrypt/cipher/hash-common.c
17885 * lib/libgcrypt/cipher/hash-common.h
17886 * lib/libgcrypt/cipher/hmac-tests.c
17887 * lib/libgcrypt/cipher/md.c
17888 * lib/libgcrypt/cipher/md4.c
17889 * lib/libgcrypt/cipher/md5.c
17890 * lib/libgcrypt/cipher/primegen.c
17891 * lib/libgcrypt/cipher/pubkey.c
17892 * lib/libgcrypt/cipher/rfc2268.c
17893 * lib/libgcrypt/cipher/rijndael-tables.h
17894 * lib/libgcrypt/cipher/rijndael.c
17895 * lib/libgcrypt/cipher/rmd.h
17896 * lib/libgcrypt/cipher/rmd160.c
17897 * lib/libgcrypt/cipher/rsa.c
17898 * lib/libgcrypt/cipher/seed.c
17899 * lib/libgcrypt/cipher/serpent.c
17900 * lib/libgcrypt/cipher/sha1.c
17901 * lib/libgcrypt/cipher/sha256.c
17902 * lib/libgcrypt/cipher/sha512.c
17903 * lib/libgcrypt/cipher/tiger.c
17904 * lib/libgcrypt/cipher/twofish.c
17905 * lib/libgcrypt/cipher/whirlpool.c
17906
af2f93ac
RM
179072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17908
17909 Fix build for systems without error().
17910
17911 * gnulib/error.c: New file (imported from Gnulib).
17912 * gnulib/error.h: Likewise.
17913 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
17914 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
17915 (this variable is now used by error()).
17916
73fb3dd5
FZ
179172009-11-16 Felix Zielcke <fzielcke@z-51.de>
17918
814f5e96
FZ
17919 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
17920 instead of relying that char is signed.
73fb3dd5 17921
a691ca33
VS
179222009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17923
17924 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
17925 blocksize different from specified.
17926 (grub_pxefs_read): Likewise.
17927
2af8f0f4
FZ
179282009-11-16 Felix Zielcke <fzielcke@z-51.de>
17929
17930 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
17931
17932 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
17933 (grub_ata_readwrite): Likewise. Update 2 format strings.
17934 (grub_atapi_read): Likewise.
17935
17936 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
17937 * conf/i386.rmk (pkglib_MODULES): ... to here ...
17938 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
17939 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
17940 (ata_mod_LDFLAGS): Move from here ...
17941 * conf/i386.rmk: ... to here ...
17942 * conf/x86_64-efi.rmk: ... and here.
17943 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
17944 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17945
83bdecaf
RM
179462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17947
17948 Relicense multiboot.h, with RMS' blessing.
17949
17950 * include/multiboot.h: Change to X11 license.
17951
fd6fd3d7
RM
179522009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17953
17954 Support --version in grub-mkisofs.
17955
17956 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17957 (OPTION_VERSION): New macro.
17958 (ld_options): Recognize --version.
17959 (usage): Move `program_name' from here ...
17960 (program_name): ... to here. Add `static' qualifier.
17961 (main): Recognize `OPTION_VERSION'.
17962
16a88c49
FZ
179632009-11-15 Felix Zielcke <fzielcke@z-51.de>
17964
17965 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17966 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17967
a4158476
RM
179682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17969
17970 Fix help2man generation for mkisofs.
17971
17972 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17973 (usage): Send output to stdout (rather than stderr).
17974
fc2208b0
RM
179752009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17976
17977 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17978 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17979 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17980 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17981 (bin_SCRIPTS): Add `grub-mkfloppy'.
17982 (grub_mkfloppy_SOURCES): New variable.
17983
17984 * util/grub-mkrescue.in: New file.
17985 * util/i386/pc/grub-mkfloppy.in: New file.
17986
17987 * util/i386/coreboot/grub-mkrescue.in: Remove.
17988 * util/i386/pc/grub-mkrescue.in: Remove.
17989
8d0edf4a
RM
179902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17991
17992 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17993 from here ...
17994 * include/multiboot.h (struct multiboot_header): ... to here. Update
17995 all users.
17996 * include/grub/multiboot.h (struct grub_multiboot_info): Move
17997 from here ...
17998 * include/multiboot.h (struct multiboot_info): ... to here. Update
17999 all users.
18000 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18001 from here ...
18002 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18003 Update all users.
18004 * include/grub/multiboot.h (struct grub_mod_list): Move
18005 from here ...
18006 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18007 Update all users.
18008
a73f5969
RM
180092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18010
18011 * include/multiboot2.h (multiboot_word): Rename from this ...
18012 (multiboot2_word): ... to this. Update all users.
18013 (multiboot_header): Rename from this ...
18014 (multiboot2_header): ... to this. Update all users.
18015 (multiboot_tag_header): Rename from this ...
18016 (multiboot2_tag_header): ... to this. Update all users.
18017 (multiboot_tag_start): Rename from this ...
18018 (multiboot2_tag_start): ... to this. Update all users.
18019 (multiboot_tag_name): Rename from this ...
18020 (multiboot2_tag_name): ... to this. Update all users.
18021 (multiboot_tag_module): Rename from this ...
18022 (multiboot2_tag_module): ... to this. Update all users.
18023 (multiboot_tag_memory): Rename from this ...
18024 (multiboot2_tag_memory): ... to this. Update all users.
18025 (multiboot_tag_unused): Rename from this ...
18026 (multiboot2_tag_unused): ... to this. Update all users.
18027 (multiboot_tag_end): Rename from this ...
18028 (multiboot2_tag_end): ... to this. Update all users.
18029
1c8927f0
RM
180302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18031
18032 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18033 this platform we should support Multiboot1 first.
18034
18035 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18036 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18037 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18038
6e1e0d89
RM
180392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18040
18041 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18042 of write calls (converting them to fwrite() if they aren't already).
18043 (get_torito_desc): Likewise.
18044 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18045
7f2b34d8
RM
180462009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18047
18048 * util/i386/pc/grub-install.in: Move from here ...
18049 * util/grub-install.in: ... to here. Update all users.
18050
c0ef3311
CW
180512009-11-11 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18054
e1f240ff
RM
180552009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18056
18057 Support for El Torito without floppy emulation.
18058
18059 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18060 (init_boot_catalog): Improve error handling.
18061 (get_torito_desc): Don't use floppy emulation unless requested by
18062 user. Patch boot information table when requested via
18063 `-boot-info-table'.
18064 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18065 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18066 (use_boot_info_table): New variables.
18067 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18068 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18069 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18070 `--eltorito-emul-floppy'.
18071 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18072 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18073 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18074 (use_boot_info_table, get_731): New prototypes.
18075 * util/mkisofs/write.c (get_731): New function.
18076
af7d4de5
FZ
180772009-11-11 Felix Zielcke <fzielcke@z-51.de>
18078
18079 Fix the generation of the man page.
18080
18081 * util/pc/i386/grub-install.in: Source
18082 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18083
2c55dbc0
RM
180842009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18085
18086 Large file support for grub-mkisofs.
18087
18088 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18089 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18090 (session_start): Upgrade type to `uint64_t'. Update all users.
18091 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18092 (struct directory_entry): Upgrade type of `starting_block' and
18093 `size' to `uint64_t'. Update all users.
18094 (struct deferred): Remove unused structure.
18095 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18096 Update all users.
18097 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18098 file is larger than `UINT32_MAX'.
18099 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18100 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18101 return value.
18102 (struct deferred_write): Upgrade type of `extent' and `size' to
18103 `uint64_t'. Update all users.
18104 (last_extent_written): Upgrade type to `uint64_t'. Update all
18105 users.
18106 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18107 Update all users. Upgrade type of `remain' to `int64_t' and
18108 `use' to `size_t'. Use error() to handle fread() errors.
18109 (write_files): Rely on write_one_file() rather than calling
18110 xfwrite() directly.
18111
6a9cead5
FZ
181122009-11-09 Felix Zielcke <fzielcke@z-51.de>
18113
18114 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18115
4825d790
RM
181162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18117
18118 * util/mkisofs/fnmatch.c: Remove.
18119 * util/mkisofs/getopt1.c: Likewise.
18120 * util/mkisofs/getopt.c: Likewise.
18121 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18122 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18123 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18124 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18125 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18126
18127 * configure.ac: Detect `mingw32msvc' host_os.
18128 Check for lstat(), getuid() and getgid().
18129
18130 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18131 instances of `u_char' with `uint8_t'.
18132
18133 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18134 [!HAVE_GETUID] (getuid): New function (stub).
18135 [!HAVE_GETGID] (getgid): Likewise.
18136 [!HAVE_LSTAT] (lstat): Likewise.
18137 [!S_IROTH] (S_IROTH): New macro (dummy).
18138 [!S_IRGRP] (S_IRGRP): Likewise.
18139
84b860d8
RM
181402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18141
18142 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18143 conditional expression).
18144
66e9b712
RM
181452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18146
18147 Import from Gnulib.
18148
18149 * gnulib/fnmatch.c: New file.
18150 * gnulib/fnmatch.h: Likewise.
18151 * gnulib/fnmatch_loop.c: Likewise.
18152 * gnulib/getopt.c: Likewise.
18153 * gnulib/getopt.h: Likewise.
18154 * gnulib/getopt1.c: Likewise.
18155 * gnulib/getopt_int.h: Likewise.
18156 * gnulib/gettext.h: Likewise.
18157
34f4a5b0
RM
181582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18159
18160 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18161 * normal/handler.c (read_handler_list): Likewise.
18162
ac451143
RM
181632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18164
18165 Misc cleanup.
18166
18167 * kern/command.c (grub_register_command_prio): Use
18168 grub_zalloc() instead of explicitly zeroing data.
18169 * kern/list.c: Include `<grub/mm.h>'.
18170 (grub_named_list_find): Replace `0' with `NULL'.
18171 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18172 (fs_module_list): Change type to `grub_named_list_t'. Update all
18173 users.
18174 * normal/dyncmd.c (read_command_list): Add space between function
18175 call and parenthesis.
18176 * normal/handler.c (read_handler_list): Likewise.
18177
4089b167
RM
181782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18179
18180 * normal/auth.c (punishment_delay): Moved from here ...
18181 (grub_auth_strcmp): ... to here (inside function).
18182
325f5037
RM
181832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18184
18185 * include/grub/list.h (struct grub_named_list): Remove `const'
18186 qualifier from `name'.
18187 (struct grub_prio_list): Likewise.
18188
7aea29a3
RM
181892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18190
18191 * normal/auth.c: Include `<grub/time.h>'.
18192 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18193
3fd6f044
RM
181942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18195
18196 * normal/auth.c (punishment_delay): New variable.
18197 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18198 (grub_auth_check_authentication): Punish failed login attempts with
18199 an incremental (2^N) delay.
18200
a4cd68e4
RM
182012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18202
18203 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18204 path with $(srcdir).
18205
7ad12f43
VS
182062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18207
18208 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18209
c1129f03
RM
182102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18211
18212 * util/i386/coreboot/grub-mkrescue.in: New file.
18213 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18214 variables.
18215
18216 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18217 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18218 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18219 requirements.
18220 * util/mkisofs/defaults.h: New file.
18221 * util/mkisofs/eltorito.c: Likewise.
18222 * util/mkisofs/exclude.h: Likewise.
18223 * util/mkisofs/fnmatch.c: Likewise.
18224 * util/mkisofs/getopt.c: Likewise.
18225 * util/mkisofs/getopt1.c: Likewise.
18226 * util/mkisofs/hash.c: Likewise.
18227 * util/mkisofs/include/fctldefs.h: Likewise.
18228 * util/mkisofs/include/mconfig.h: Likewise.
18229 * util/mkisofs/include/prototyp.h: Likewise.
18230 * util/mkisofs/include/statdefs.h: Likewise.
18231 * util/mkisofs/iso9660.h: Likewise.
18232 * util/mkisofs/joliet.c: Likewise.
18233 * util/mkisofs/match.c: Likewise.
18234 * util/mkisofs/match.h: Likewise.
18235 * util/mkisofs/mkisofs.c: Likewise.
18236 * util/mkisofs/mkisofs.h: Likewise.
18237 * util/mkisofs/multi.c: Likewise.
18238 * util/mkisofs/name.c: Likewise.
18239 * util/mkisofs/rock.c: Likewise.
18240 * util/mkisofs/tree.c: Likewise.
18241 * util/mkisofs/write.c: Likewise.
18242
ec8bb77d
VS
182432009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18244
18245 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18246 being insecure.
18247
3716b12c
RM
182482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18249
18250 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18251 `grub-mkimage' (and use $0 when possible).
18252
b97b7b91
RM
182532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18254
18255 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18256 error message for excessively large memory map.
18257
04114812
RM
182582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18259
18260 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18261 executable bit.
18262
e4eb2373
RM
182632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18264
18265 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18266 message for coreboot users.
18267
c926e1d5 182682009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18269
18270 Fix build with GNU gold.
18271
18272 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18273 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18274 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18275 link addresses.
18276 * aclocal.m4: Likewise.
18277
86e5b1db 182782009-11-04 Felix Zielcke <fzielcke@z-51.de>
18279
18280 * configure.ac (AC_PREREQ): Bump to 2.59d.
18281 * INSTALL: Make it more clear when Autoconf and Ruby are
18282 needed and when to run `./autogen.sh'.
18283
246cd78f 182842009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18285
18286 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18287 OSes.
18288
4f9dfb37 182892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18290
18291 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18292
b82bd5e1 182932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18294
18295 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18296 giving it to GNU Mach.
18297
ff1a9bca 182982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18299
18300 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18301 GNU partition number to get internal GRUB partition number.
18302
61697d9c 183032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18304
18305 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18306 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18307
a50569e1 183082009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18309
18310 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18311 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18312 case.
18313
5b153867 183142009-11-01 Felix Zielcke <fzielcke@z-51.de>
18315
18316 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18317
d9e2cd70 183182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18319
18320 Fix build problem.
18321
18322 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18323 `-isystem=$(srcdir)/include'.
18324
805111a4 183252009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18326
18327 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18328 checked (grub-install doesn't currently rely on it).
18329
fa6e945f 183302009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18331
18332 Revert SVN r2660.
18333
18334 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18335 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18336 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18337 * conf/i386-ieee1275.rmk: Likewise.
18338 * conf/i386-pc.rmk: Likewise.
18339 * conf/powerpc-ieee1275.rmk: Likewise.
18340 * conf/sparc64-ieee1275.rmk: Likewise.
18341 * conf/x86_64-efi.rmk: Likewise.
18342
cee15086 183432009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18344
18345 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18346
95b9239e 183472009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18348
18349 * include/grub/misc.h: Stop checking for APPLE_CC.
18350
2ed19dfd 183512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18352
18353 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18354 doesn't cause an infinite call loop.
18355
fdcdde19 183562009-10-28 Felix Zielcke <fzielcke@z-51.de>
18357
18358 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18359 strings.
18360
cefabfe1 183612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18362
18363 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18364 variable.
18365 * Makefile.in: Likewise.
18366
ed96ab6d 183672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18368
18369 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18370
0579b753 183712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18372
18373 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18374
478df409 183752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18376
18377 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18378
083d1679 183792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18380
18381 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18382 from here ...
18383 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18384
5947ae32 183852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18386
18387 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18388 in $(MAKEINFO) invocation. This makes it clear in output that
18389 errors are being ignored.
18390
94180ff6 183912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18392
18393 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18394 from here ...
18395 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18396 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18397 * conf/i386-ieee1275.rmk: Likewise.
18398 * conf/i386-pc.rmk: Likewise.
18399 * conf/powerpc-ieee1275.rmk: Likewise.
18400 * conf/sparc64-ieee1275.rmk: Likewise.
18401 * conf/x86_64-efi.rmk: Likewise.
18402
9031b03a 184032009-10-26 Colin Watson <cjwatson@ubuntu.com>
18404
18405 * util/grub-editenv.c (main): If only a command is given, use
18406 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18407 (usage): FILENAME is now optional and has a default.
18408
e4f6809b 184092009-10-26 Colin Watson <cjwatson@ubuntu.com>
18410
18411 Improve grub-mkconfig performance when there are several menu
18412 entries on a single filesystem.
18413
18414 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18415 prepare_grub_to_access_device.
18416 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18417 * util/grub.d/30_os-prober.in: Likewise.
18418
67937d4d 184192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18420
18421 * util/grub.d/10_freebsd.in: Remove.
18422 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18423 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18424
ee3756cc 184252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18426
5c35048e 18427 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18428
4dea1c6f 184292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18430
18431 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18432 grub_util_error() call.
18433
042484d7 184342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18435
18436 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18437 `reserved_first_sector' member.
18438 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18439 `reserved_first_sector' to 1.
18440 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18441 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18442 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18443 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18444 filesystems which begin at first sector.
18445 (options): New option --skip-fs-probe.
18446 (main): Handle --skip-fs-probe and pass it to setup().
18447
d64448a7 184482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18449
18450 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18451 (memset): Fix function prototype.
18452
508d42ec 184532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
184542009-10-25 Vasily Averin <vvs@parallels.com>
18455
18456 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18457 `dirent.direntlen == 0'.
18458
b240e30c 184592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18460
18461 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18462 `cpio'.
18463 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18464
346e7fbe 184652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18466
18467 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18468 `__trampoline_setup' and `__ucmpdi2'.
18469 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18470 that libgcc provides.
18471
cdb308b0 184722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18473
18474 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18475 * include/grub/sparc64/libgcc.h (memset): Likewise.
18476 * include/grub/misc.h (memset, memcmp): New function prototypes.
18477
fb26abc2 184782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18479
18480 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18481 `cpio'.
18482 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18483
f6693890 184842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18485
18486 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18487 * docs/grub.cfg: Compensate for recent change in multiboot
18488 loader (since 2009-08-14 it won't pass filename to payload).
18489 * util/grub.d/10_hurd.in: Likewise.
18490
0933cdc0 184912009-10-21 Felix Zielcke <fzielcke@z-51.de>
18492
18493 * config.guess: Update to latest version from config git
18494 repository.
18495 * config.sub: Likewise.
18496
3b2fe8c2 184972009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 Fix build on sparc64.
18500
18501 * configure.ac: Perform checks for libgcc symbols before
18502 adding `-nostdlib' to LDFLAGS.
18503
46695a62 185042009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18505
18506 Let user specify OpenBSD root device.
18507
18508 * loader/i386/bsd.c (openbsd_root): New variable.
18509 (openbsd_opts): New option 'root'.
18510 (OPENBSD_ROOT_ARG): New macro.
18511 (grub_openbsd_boot): Use 'openbsd_root'.
18512 (grub_cmd_openbsd): Fill 'openbsd_root'.
18513
d2b6b7fc 185142009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18515
18516 * NEWS: Misc adjustments.
18517
421bd7ac 185182009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18519
18520 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18521
f1d29d87 185222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18523
18524 * configure.ac: Bump version to 1.97.
18525
6f3cd880 185262009-10-16 Colin Watson <cjwatson@ubuntu.com>
18527
18528 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18529 -mno-3dnow on x86 architectures. Some toolchains enable these
18530 features by default, but they rely on registers that aren't enabled
18531 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18532
035f7122 185332009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18534
18535 Make entry text a bit more readable.
18536
18537 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18538
44998e58 185392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18542
cd2851b3 185432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18546 operations.
18547
c6f3b249 185482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18549
18550 * configure.ac: Add missing dollar.
18551
6b5886ba 185522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18555
18556 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18557 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18558 exports.
18559 * include/grub/sparc64/libgcc.h: Likewise. Use
18560 preprocessor conditionals.
18561
e9d66f6d 185622009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18563
18564 * conf/common.rmk (grub-dumpbios): Remove rule.
18565 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18566 * util/grub-dumpbios.in: Remove file.
18567
9155bc17 185682009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18569
18570 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18571 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18572
18573 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18574 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18575 users.
18576
18577 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18578 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18579 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18580 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18581 users.
18582
bf7f7a18 185832009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18584
18585 * term/tparm.c: Switch to GPLv3.
18586
86564c26 185872009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18588
18589 * include/grub/i386/cpuid.h: Add header protection.
18590
5c936493 185912009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18592
18593 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18594
18595 * include/grub/i386/cpuid.h: New file.
18596 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18597 (has_longmode): Rename to ...
18598 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18599 `static' attribute.
18600 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18601 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18602 on a CPU that doesn't implement AMD64 instruction set.
18603
186e7cf2 186042009-10-06 Colin Watson <cjwatson@ubuntu.com>
18605
18606 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18607 that version.texi is rebuilt on version number changes.
18608
83b65c4a 186092009-10-06 Colin Watson <cjwatson@ubuntu.com>
18610
18611 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18612 Fixes bug #27602.
18613
d244281c 186142009-10-06 Colin Watson <cjwatson@ubuntu.com>
18615
18616 * util/i386/pc/grub-install.in: Source
18617 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18618 that the --grub-probe option will work.
18619 * util/sparc64/ieee1275/grub-install.in: Likewise.
18620
da25306d 186212009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18622
18623 * configure.ac: Bump version to 1.97~beta4.
18624
e8ee83c0 186252009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18626
18627 Resync grub-mkdevicemap in x86_64-efi.
18628
18629 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18630 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18631 `util/devicemap.c'.
18632
50dcabcf 186332009-10-01 Colin Watson <cjwatson@ubuntu.com>
18634
18635 * util/grub-editenv.c (create_envblk_file): Write new block with a
18636 .new suffix and then rename it into place, to ensure atomic
18637 creation.
18638
0e51c3a7 186392009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18640
18641 Do not automatically install headers.
18642
18643 * Makefile.in (include_DATA): Remove. Update all users.
18644
31299a95 186452009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18646
18647 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18648 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18649
18650 * util/osdetect.lua: Remove.
18651 * script/lua/lauxlib.c: Likewise.
18652 * script/lua/ldebug.c: Likewise.
18653 * script/lua/grub_main.c: Likewise.
18654 * script/lua/lauxlib.h: Likewise.
18655 * script/lua/ldebug.h: Likewise.
18656 * script/lua/ltablib.c: Likewise.
18657 * script/lua/liolib.c: Likewise.
18658 * script/lua/lstrlib.c: Likewise.
18659 * script/lua/lualib.h: Likewise.
18660 * script/lua/ldo.c: Likewise.
18661 * script/lua/ldump.c: Likewise.
18662 * script/lua/ldo.h: Likewise.
18663 * script/lua/loslib.c: Likewise.
18664 * script/lua/lundump.c: Likewise.
18665 * script/lua/grub_lib.c: Likewise.
18666 * script/lua/ldblib.c: Likewise.
18667 * script/lua/lundump.h: Likewise.
18668 * script/lua/lmem.c: Likewise.
18669 * script/lua/grub_lib.h: Likewise.
18670 * script/lua/lmathlib.c: Likewise.
18671 * script/lua/lstate.c: Likewise.
18672 * script/lua/ltm.c: Likewise.
18673 * script/lua/lvm.c: Likewise.
18674 * script/lua/lmem.h: Likewise.
18675 * script/lua/lstate.h: Likewise.
18676 * script/lua/ltm.h: Likewise.
18677 * script/lua/ltable.c: Likewise.
18678 * script/lua/lvm.h: Likewise.
18679 * script/lua/llex.c: Likewise.
18680 * script/lua/lgc.c: Likewise.
18681 * script/lua/grub_lua.h: Likewise.
18682 * script/lua/loadlib.c: Likewise.
18683 * script/lua/lfunc.c: Likewise.
18684 * script/lua/lopcodes.c: Likewise.
18685 * script/lua/lparser.c: Likewise.
18686 * script/lua/ltable.h: Likewise.
18687 * script/lua/llex.h: Likewise.
18688 * script/lua/lgc.h: Likewise.
18689 * script/lua/lfunc.h: Likewise.
18690 * script/lua/lbaselib.c: Likewise.
18691 * script/lua/lopcodes.h: Likewise.
18692 * script/lua/lparser.h: Likewise.
18693 * script/lua/lzio.c: Likewise.
18694 * script/lua/linit.c: Likewise.
18695 * script/lua/lobject.c: Likewise.
18696 * script/lua/llimits.h: Likewise.
18697 * script/lua/lstring.c: Likewise.
18698 * script/lua/lzio.h: Likewise.
18699 * script/lua/lapi.c: Likewise.
18700 * script/lua/lcode.c: Likewise.
18701 * script/lua/lua.h: Likewise.
18702 * script/lua/lobject.h: Likewise.
18703 * script/lua/lstring.h: Likewise.
18704 * script/lua/lapi.h: Likewise.
18705 * script/lua/lcode.h: Likewise.
18706 * script/lua/luaconf.h: Likewise.
18707
cb8a2c38 187082009-09-26 Colin Watson <cjwatson@ubuntu.com>
18709
18710 * docs/grub.texi (Command-line and menu entry commands): Document
18711 date and echo commands.
18712
6b9b6276 187132009-09-24 Pavel Roskin <proski@gnu.org>
18714
18715 * include/grub/kernel.h (struct grub_module_header): Remove
18716 `grub_module_header_types'. Make `type' unsigned. Make `size'
18717 32-bit on all platforms.
18718 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
18719 8-bit field. Use grub_host_to_target32() for `size'.
18720 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
18721 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
18722 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
18723
4e5a02a7 187242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18725
18726 Fix "lost keypress" bug in at_keyboard.
18727
18728 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
18729 Checks for readyness of input buffer (without flushing it).
18730 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
18731 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
18732
c6dcedf6 187332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18734
18735 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
18736 size check within GRUB_MACHINE_PCBIOS section.
18737
74c958b1 187382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18739
18740 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
18741 return value.
18742 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
18743 KEYBOARD_ISREADY check.
18744 (grub_at_keyboard_checkkey): Rename to ...
18745 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
18746 Remove gratuitous cast.
18747
ff420223 187482009-09-23 Colin Watson <cjwatson@ubuntu.com>
18749
18750 * configure.ac: Call AC_PROG_MKDIR_P.
18751 * Makefile.in (docs/stamp-vti): Create docs directory. Create
18752 version.texi in $(builddir) rather than $(srcdir).
18753 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
18754 to makeinfo's @include search path.
18755
d96875df 187562009-09-23 Felix Zielcke <fzielcke@z-51.de>
18757
18758 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
18759
9b3f8365 187602009-09-23 Felix Zielcke <fzielcke@z-51.de>
18761
18762 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
18763 for `*.dpkg-new'.
18764
c44c90db 187652009-09-21 Colin Watson <cjwatson@ubuntu.com>
18766
18767 Build info documentation. Some code borrowed from Automake.
18768
18769 * configure.ac: Check for makeinfo.
18770 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
18771 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
18772 docs/version.texi.
18773 (MOSTLYCLEANFILES): Add vti.tmp.
18774 (docs/version.texi, docs/stamp-vti): Update automatically.
18775 (docs/grub.info): Build info documentation. Use --force and ignore
18776 errors for now.
18777 (all-local): Add $(INFOS).
18778 (install-local): Install info files.
18779 (uninstall): Uninstall info files.
18780 * docs/version.texi: Remove from revision control. This file is
18781 automatically generated on build now.
18782 * gendistlist.sh: Add `*.info'.
18783
e0b37bb5 187842009-09-21 Felix Zielcke <fzielcke@z-51.de>
18785
18786 * kern/term.c: Fix indentation.
18787
5a78865b 187882009-09-21 Felix Zielcke <fzielcke@z-51.de>
18789
18790 * util/hostdisk.c: Fix a comment.
18791
dace7e8a 187922009-09-20 Robert Millan <rmh.grub@aybabtu.com>
18793
18794 Fix regression introduced in r2539.
18795
18796 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
18797 to 0xA1.
18798
a83d079b 187992009-09-19 Colin Watson <cjwatson@ubuntu.com>
18800
18801 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 18802 os-prober. Under normal operation, it does not print anything to
18803 stderr; if it does, we need to debug it, and throwing away stderr
18804 makes that excessively difficult.
a83d079b 18805
be94a509 188062009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
18807
18808 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
18809
63f745e8 188102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18811
18812 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
18813 AC_LANG_PROGRAM from autoconf.
18814 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
18815 prototypes (fixes warning).
18816
18817 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
18818 `--disable-werror' was used.
18819
bbb2a70f 188202009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18821
18822 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
18823 uninitialized `lastaddr'.
18824
77c24f1d 188252009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18826
0f0b8c87 18827 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 18828
07197f23 188292009-09-14 Colin Watson <cjwatson@ubuntu.com>
18830
18831 * commands/test.c (get_fileinfo): Return immediately if
18832 grub_fs_probe fails.
18833
dabf1798 188342009-09-14 José Martínez <xosemp@gmail.com>
18835
18836 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
18837
d52109a7 188382009-09-14 Colin Watson <cjwatson@ubuntu.com>
18839
18840 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
18841 output.
18842
56532179 188432009-09-13 Robert Millan <rmh.grub@aybabtu.com>
18844
18845 * configure.ac: Remove --enable-grub-pe2elf. Only build
18846 grub-pe2elf when needed by the build system itself.
18847 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
18848
8ef070f5 188492009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18850
18851 * configure.ac: Bump version to 1.97~beta3.
18852 * docs/version.texi: Likewise.
18853
61229557 188542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18855
18856 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
18857 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
18858 from here ...
18859 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
18860 (grub_linux_setup_video): ... to here (with some adjustments).
18861
5c9f8d84 188622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18863
18864 Fix memory corruption issue (spotted by Colin Watson).
18865
18866 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
18867 causing returned size to be stored in an incorrect memory location.
18868 Fix use of uninitialized value when storing the returned size.
18869
e8f5d6e9 188702009-09-12 Yves Blusseau <blusseau@zetam.org>
18871
18872 Change clean rules to properly remove files
18873
18874 * genmk.rb: add new clean rules
18875 * Makefile.in (clean): add the new targets
18876 (mostlyclean): likewise
18877
cda2a409 188782009-09-11 Colin Watson <cjwatson@ubuntu.com>
18879
18880 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
18881 to grub_uint64_t.
18882 * fs/ntfs.c (init_file): Understand 64-bit sizes for
18883 non-resident files.
18884
86695375 188852009-09-11 Colin Watson <cjwatson@ubuntu.com>
18886
18887 * configure.ac: Don't look for help2man when cross-compiling. Fixes
18888 part of bug #27349.
18889
8aa1541a 188902009-09-10 Felix Zielcke <fzielcke@z-51.de>
18891
18892 * util/grub-mkconfig.in: Make the created config mode 400 and
18893 print a warning if it fails.
18894
48d9bb0a 188952009-09-10 Robert Millan <rmh.grub@aybabtu.com>
18896
18897 * util/grub.d/40_custom.in: Ask user to type custom entries below
18898 comment, rather than below 'exec tail' line.
18899
3b0521be 189002009-09-10 Colin Watson <cjwatson@ubuntu.com>
18901
18902 * util/grub.d/40_custom.in: Make sure that the explanatory text is
18903 visible in grub.cfg.
18904
50051d55 189052009-09-10 Colin Watson <cjwatson@ubuntu.com>
18906
18907 * util/grub.d/40_custom.in: Make it a little clearer how to use this
18908 file.
18909
c0d34387 189102009-09-10 Felix Zielcke <fzielcke@z-51.de>
18911
18912 * docs/grub.cfg: Add an example menu entry for memtest86+.
18913
80a608f3 189142009-09-09 Felix Zielcke <fzielcke@z-51.de>
18915
a2094832 18916 * config.guess: Update to latest version from config git.
80a608f3 18917 * config.sub: Likewise.
18918
99423078 189192009-09-08 Colin Watson <cjwatson@ubuntu.com>
18920
18921 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
18922 unknown-command case. Fixes bug #27320.
18923
44454e4c 189242009-09-08 Felix Zielcke <fzielcke@z-51.de>
18925
18926 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
18927 `help' if the command exists.
18928
e30d87ad 189292009-09-06 Robert Millan <rmh.grub@aybabtu.com>
18930
18931 * INSTALL: Require GCC 4.1.3 or later.
18932
9a86f1ec 189332009-09-06 Yves Blusseau <blusseau@zetam.org>
18934
18935 * Makefile.in (RMKFILES): add i386-qemu.rmk
18936 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
18937 $(srcdir)/stamp-h.in
18938
7f26d466 189392009-09-05 Robert Millan <rmh.grub@aybabtu.com>
18940
18941 * util/grub-probe.c (probe): Comment out buggy codepath, which
18942 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
18943 should be re-enabled after 1.97.
18944
3a613259 189452009-09-05 Felix Zielcke <fzielcke@z-51.de>
18946
18947 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18948 find searches for.
18949
197f76c7 189502009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18951
18952 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18953 unnecessary calls to grub_error.
18954
70ba68ce 189552009-09-04 Colin Watson <cjwatson@ubuntu.com>
18956
18957 * NEWS: Mention `keystatus' and Unicode fonts.
18958
4ff0d7a4 189592009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18960
18961 * configure.ac: Bump version to 1.97~beta2.
18962 * docs/version.texi: Likewise.
18963
77c55a87 189642009-09-03 Colin Watson <cjwatson@ubuntu.com>
18965
18966 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18967 containing unwind information in some cases where it previously did
18968 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18969 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18970 discussion.
18971
f79572cd 189722009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18973
18974 Embedding loadenv module into grub-emu
18975
18976 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18977 commands/loadenv.c
18978 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18979 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18980 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18981 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18982 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18983 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18984
93a81088 189852009-09-03 Magnus Granberg <zorry@ume.nu>
18986
18987 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18988 include -fPIE in the default specs.
18989 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18990 to TARGET_CFLAGS.
18991
160034b2 189922009-09-03 Felix Zielcke <fzielcke@z-51.de>
18993
18994 * INSTALL: Note that GNU Bison 2.3 or later is required.
18995
087c07c4 189962009-09-03 Colin Watson <cjwatson@ubuntu.com>
18997
18998 * kern/i386/pc/startup.S: Fix typo.
18999
cbf978c0 190002009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19001
19002 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19003 according to GCS.
19004
190052009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19006
19007 * docs/grub.texi (Naming convention): Describe one-based partition
19008 numbering.
19009 (Device syntax): Likewise.
19010 (File name syntax): Likewise.
19011 (Block list syntax): Likewise.
19012 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19013 menu.lst.
19014 (File name syntax): Likewise.
19015 (Command-line and menu entry commands): Document acpi, blocklist,
19016 crc, export, insmod, keystatus, ls, set, and unset commands.
19017
f3e8cdfd 190182009-09-02 Colin Watson <cjwatson@ubuntu.com>
19019
19020 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19021 to avoid implying that only one of --shift, --ctrl, or --alt may be
19022 used.
19023
c0bc232b 190242009-09-02 Colin Watson <cjwatson@ubuntu.com>
19025
19026 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19027 rather than comparing against S_IFREG, which will almost never work.
19028
aa0f752d 190292009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19030
19031 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19032 (write_blocklists): Likewise.
19033
ecb3166a 190342009-09-01 Colin Watson <cjwatson@ubuntu.com>
19035
19036 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19037 argument to grub_printf.
19038
c403a125 190392009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19040
19041 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19042 non GNU test.
31aba781 19043
b5e7312c 190442009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19045
19046 * kern/file.c (grub_file_read): Spelling fix
19047
fe00f472 190482009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19049
19050 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19051 loading of headers in some cases.
19052
cc55302e 190532009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19054
19055 * configure.ac: Bump version to 1.97~beta1.
19056 * docs/version.texi: Likewise.
19057
5c90cdd2 190582009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19059
19060 * include/grub/i386/xnu.h: Add license header.
19061 include grub/err.h explicitly.
19062
c90edae4 190632009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19064
19065 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19066 to `ufs' in the vfs.root.mountfrom kernel parameter.
19067
d8888b5c 190682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19069
19070 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19071
19072 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19073 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19074
19075 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19076 `ARRAY_SIZE' macro.
19077
6f07b921 190782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19079
19080 * kern/file.c (grub_file_read): Check offset.
19081 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19082 * fs/jfs.c (grub_jfs_read_file): Likewise.
19083 * fs/ntfs.c (grub_ntfs_read): Likewise.
19084 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19085 * fs/minix.c (grub_minix_read_file): Correct offset check.
19086 * fs/ufs.c (grub_ufs_read_file): Likewise.
19087
b4f34077 190882009-08-28 Colin Watson <cjwatson@ubuntu.com>
19089
19090 * term/i386/pc/console.c (bios_data_area): Cast
19091 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19092
e7c69859 190932009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 1-bit optimised blitters.
19096
19097 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19098 prototype.
19099 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19100 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19101 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19102 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19103 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19104 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19105 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19106 function.
19107 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19108 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19109 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19110 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19111 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19112 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19113 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19114 when possible.
19115 * video/video.c (grub_video_get_blit_format): Return
19116 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19117
a57da43f 191182009-08-28 Colin Watson <cjwatson@ubuntu.com>
19119
19120 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19121 the first argument to grub_printf.
19122
4cbe67e5 191232009-08-28 Colin Watson <cjwatson@ubuntu.com>
191242009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 Add `getkeystatus' terminal method. Add a new `keystatus' command
19127 to query it.
19128
19129 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19130 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19131 modifier key bitmasks.
19132 (struct grub_term_input): Add `getkeystatus' member.
19133 (grub_getkeystatus): Add prototype.
19134 * kern/term.c (grub_getkeystatus): New function.
19135
19136 * include/grub/i386/pc/memory.h
19137 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19138 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19139 Data Area layout.
19140 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19141 (grub_console_term_input): Set `getkeystatus' member.
19142 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19143 constants.
19144 (grub_usb_keyboard_getreport): Likewise.
19145 (grub_usb_keyboard_checkkey): Likewise.
19146 (grub_usb_keyboard_getkeystatus): New function.
19147 (grub_usb_keyboard_term): Set `getkeystatus' member.
19148
19149 * commands/keystatus.c: New file.
19150 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19151 (keystatus_mod_SOURCES): New variable.
19152 (keystatus_mod_CFLAGS): Likewise.
19153 (keystatus_mod_LDFLAGS): Likewise.
19154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19155 commands/keystatus.c.
19156 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19157 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19158 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19160 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19161 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19162
6e2a9085 191632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19164
19165 Split befs.mod and afs.mod into *_be.mod and *.mod
19166
19167 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19168 (grub_fstest_SOURCES): Likewise.
19169 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19170 (afs_be_mod_SOURCES): New variable.
19171 (afs_be_mod_CFLAGS): Likewise.
19172 (afs_be_mod_LDFLAGS): Likewise.
19173 (befs_be_mod_SOURCES): Likewise.
19174 (befs_be_mod_CFLAGS): Likewise.
19175 (befs_be_mod_LDFLAGS): Likewise.
19176 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19177 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19178 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19179 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19180 (grub_emu_SOURCES): Likewise.
19181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19182 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19183 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19184 * fs/afs_be.c: New file.
19185 * fs/befs_be.c: New file.
19186 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19187 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19188 (U16): Replaced with ...
19189 (grub_afs_to_cpu16): ...this. All users updated.
19190 (U32): Replaced with ...
19191 (grub_afs_to_cpu32): ...this. All users updated.
19192 (U64): Replaced with ...
19193 (grub_afs_to_cpu64): ...this. All users updated.
19194 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19195 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19196 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19197 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19198 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19199 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19200 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19201 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19202 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19203 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19204 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19205
32a71655 192062009-08-26 Bean <bean123ch@gmail.com>
19207
19208 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19209 64-bit number.
19210 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19211 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19212 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19213
552bf6c5 192142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19215
19216 NetBSD memory map support.
19217
19218 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19219 (grub_netbsd_btinfo_mmap_header): New structure.
19220 (grub_netbsd_btinfo_mmap_entry): Likewise.
19221 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19222
1ae2078c 192232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 Enable bsd.mod on coreboot.
19226
19227 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19228 (bsd_mod_SOURCES): New variable.
19229 (bsd_mod_CFLAGS): Likewise.
19230 (bsd_mod_LDFLAGS): Likewise.
19231 (bsd_mod_ASFLAGS): Likewise.
19232 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19233 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19234
beefc598 192352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19236
19237 Cleanup NetBSD root support.
19238
19239 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19240 grub_bsd_get_device.
19241 Fix typo.
19242
3b76e68b 192432009-08-25 Felix Zielcke <fzielcke@z-51.de>
19244
19245 * util/grub.d/00_header.in: Move check for the video backend of
19246 gfxterm from here ...
19247 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19248 a suitable video backend.
19249
aea664ea 192502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 Fix breakage in grub-setup.
19253
19254 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19255 "msdos_partition_map".
19256
ff747d50 192572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 Fix breakage in normal/auth.c.
19260
19261 * normal/auth.c (grub_iswordseparator): New function.
19262
e7e1f93f 192632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19264
19265 Authentication support.
19266
19267 * commands/password.c: New file.
19268 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19269 (password_mod_SOURCES): New variable.
19270 (password_mod_CFLAGS): Likewise.
19271 (password_mod_LDFLAGS): Likewise.
19272 (normal_mod_SOURCES): Add normal/auth.c.
19273 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19274 normal/auth.c.
19275 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19276 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19277 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19279 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19280 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19281 * include/grub/auth.h: New file.
19282 * include/grub/err.h (grub_err_t): New enum value
19283 GRUB_ERR_ACCESS_DENIED.
19284 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19285 'users'.
19286 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19287 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19288 users updated.
19289 * normal/auth.c: New file.
19290 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19291 (grub_cmdline_run): Don't allow to go to command line without
19292 authentication.
19293 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19294 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19295 menuentry without superuser rights.
19296 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19297 user isn't a superuser.
19298
70f1161d 192992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19300
19301 Save space by inlining misc.c functions.
19302
19303 * kern/misc.c (grub_iswordseparator): Made static.
19304 * kern/misc.c (grub_strcat): Moved from here ...
19305 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19306 * kern/misc.c (grub_strncat): Moved from here ...
19307 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19308 * kern/misc.c (grub_strcasecmp): Moved from here ...
19309 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19310 * kern/misc.c (grub_strncasecmp): Moved from here ...
19311 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19312 * kern/misc.c (grub_isalpha): Moved from here ...
19313 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19314 * kern/misc.c (grub_isdigit): Moved from here ...
19315 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19316 * kern/misc.c (grub_isgraph): Moved from here ...
19317 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19318 * kern/misc.c (grub_tolower): Moved from here ...
19319 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19320
48e40bff 193212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19322
19323 * script/sh/function.c (grub_script_function_find): Cut error message
19324 not to flood terminal.
19325 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19326 limit.
19327 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19328
c385bfc3 193292009-08-24 Colin Watson <cjwatson@ubuntu.com>
19330
19331 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19332 `report' grub_uint8_t *.
19333 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19334 Use a 50-millisecond timeout rather than just repeating
19335 grub_usb_keyboard_getreport 50 times.
19336 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19337
2d21e3e8 193382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19339
19340 Rename *_partition_map to part_*
19341
19342 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19343 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19344 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19345 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19346 All users updated.
19347 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19348 All users updated.
19349 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19350 * util/grub-probe.c (probe_partmap): Don't transform partition name
19351 to get module name.
19352
dd103c4e 193532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19354
19355 Fix OpenBSD and NetBSD support.
19356
19357 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19358 memory address conflict.
19359 (OPENBSD_MMAP_ACPI): New definition.
19360 (OPENBSD_MMAP_NVS): Likewise.
19361 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19362 and OPENBSD_MMAP_NVS.
19363 Add memory map terminator
19364 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19365 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19366
16c84d74 193672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19368
19369 Let user specify NetBSD root device.
19370
19371 * loader/i386/bsd.c (netbsd_root): New variable.
19372 (netbsd_opts): New option 'root'.
19373 (NETBSD_ROOT_ARG): New macro.
19374 (grub_netbsd_boot): Use 'netbsd_root'.
19375 (grub_bsd_unload): Free 'netbsd_root'.
19376 (grub_cmd_netbsd): Fill 'netbsd_root'.
19377
adb29902 193782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 Support for 64-bit NetBSD.
19381
19382 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19383 point when booting non-FreeBSD.
19384
f5ae9f74 193852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19386
19387 Support --no-smp and --no-acpi for NetBSD.
19388
19389 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19390 (NETBSD_AB_NOACPI): Likewise.
19391 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19392 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19393
de74f136 193942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19395
19396 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19397 errors.
19398 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19399 errors. Call grub_error when needed.
19400
e9a925da 194012009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19402
19403 * commands/search.c (search_fs): Try searching without autoload first.
19404 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19405 filesystem module explicitly for faster booting.
19406
5174302b 194072009-08-23 Colin Watson <cjwatson@ubuntu.com>
19408
19409 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19410
c8c80635 194112009-08-23 Colin Watson <cjwatson@ubuntu.com>
19412
19413 * util/grub.d/30_os-prober.in: Disable os-prober if
19414 `GRUB_DISABLE_OS_PROBER' was set to true.
19415
71acf5e5 194162009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19417
19418 * partmap/pc.c: Rename to ...
19419 * partmap/msdos.c: ... this. Update all users.
19420 (grub_pc_partition_map): Rename to ...
19421 (grub_msdos_partition_map): ... this. Update all users.
19422
19423 * parttool/pcpart.c: Rename to ...
19424 * parttool/msdospart.c: ... this. Update all users.
19425
19426 * include/grub/pc_partition.h: Rename to ...
19427 * include/grub/msdos_partition.h: ... this. Update all users.
19428 (grub_pc_partition_bsd_entry): Rename to ...
19429 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19430 (grub_pc_partition_disk_label): Rename to ...
19431 (grub_msdos_partition_disk_label): ... this. Update all users.
19432 (grub_pc_partition_entry): Rename to ...
19433 (grub_msdos_partition_entry): ... this. Update all users.
19434 (grub_pc_partition_mbr): Rename to ...
19435 (grub_msdos_partition_mbr): ... this. Update all users.
19436 (grub_pc_partition): Rename to ...
19437 (grub_msdos_partition): ... this. Update all users.
19438 (grub_pc_partition_is_empty): Rename to ...
19439 (grub_msdos_partition_is_empty): ... this. Update all users.
19440 (grub_pc_partition_is_extended): Rename to ...
19441 (grub_msdos_partition_is_extended): ... this. Update all users.
19442 (grub_pc_partition_is_bsd): Rename to ...
19443 (grub_msdos_partition_is_bsd): ... this. Update all users.
19444
19445 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19446 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19447 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19448 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19449 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19450 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19451 (gpt_mod_LDFLAGS): Rename to ...
19452 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19453 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19454 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19455 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19456 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19457 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19458 (part_gpt_mod_LDFLAGS): ... this.
19459 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19460 `pcpart.mod' to `msdospart.mod'.
19461 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19462 to ...
19463 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19464 (msdospart_mod_LDFLAGS): ... this.
19465
c11fded5 194662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19467
19468 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19469 (openbsd_opts): Likewise.
19470 (netbsd_opts): Likewise.
19471 (freebsd_flags): Added 0 terminator.
19472 (openbsd_flags): Likewise.
19473 (netbsd_flags): Likewise.
19474 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19475 (grub_cmd_freebsd): Transformed into extended command.
19476 (grub_cmd_openbsd): Likewise.
19477 (grub_cmd_netbsd): Likewise.
19478 (cmd_freebsd): Changed type to grub_extcmd_t.
19479 (cmd_openbsd): Likewise.
19480 (cmd_netbsd): Likewise.
19481 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19482 grub_cmd_openbsd as extended commands.
19483 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19484 cmd_netbsd and cmd_openbsd
19485
11d1c769 194862009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19487
19488 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19489
7a9094e5 194902009-08-21 Pavel Roskin <proski@gnu.org>
19491
5496c37e 19492 * Makefile.in (install-local): When checking if a file is in the
19493 build directory, use "test -e" to detect symlinks.
19494
7a9094e5 19495 * Makefile.in (install-local): Remove all files in
19496 $(DESTDIR)$(pkglibdir) before installing new files there.
19497
e53cea11 194982009-08-18 Felix Zielcke <fzielcke@z-51.de>
19499
19500 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19501 grub-mkelfimage.
19502
9aced544 195032009-08-18 Felix Zielcke <fzielcke@z-51.de>
19504
19505 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19506 explicitly specified by the user.
19507
b7da6bab 195082009-08-18 Pavel Roskin <proski@gnu.org>
19509
19510 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19511 grub_uint8_t pointer for data.
19512 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19513 Likewise.
19514 * video/fb/fbutil.c: Remove unnecessary casts.
19515
19f1b335 195162009-08-17 Michal Suchanek <hramrach@centrum.cz>
19517
19518 VBE cleanup.
19519
19520 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19521 (grub_vbe_set_video_mode): Save active mode info
19522 only after setting the mode.
19523 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19524 second argument.
19525
2f467aa9 195262009-08-17 Michal Suchanek <hramrach@centrum.cz>
19527
19528 Rename variables for clarity.
19529
19530 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19531 (active_vbe_mode_info): ... this. All users updated.
19532 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19533 All users updated.
19534 (initial_mode): Rename to ...
19535 (initial_vbe_mode): ... this. All users updated.
19536 (mode_in_use): Rename to ..
19537 (vbe_mode_in_use): ... this. All users updated.
19538 (mode_list): Rename to ..
19539 (vbe_mode_list): ... this. All users updated.
19540 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19541 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19542 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19543 'mode_list_size' to 'vbe_mode_list_size'.
19544 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19545 'best_mode_info' to 'best_vbe_mode_info' and
19546 'best_mode' to 'best_vbe_mode'
19547
6025fcd7 195482009-08-17 Michal Suchanek <hramrach@centrum.cz>
19549
19550 Remove duplicate grub_video_fb_get_video_ptr.
19551
19552 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19553 (grub_video_fb_get_video_ptr): ... this.
19554 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19555 * video/fb/fbutil.c: Add comment about addressing.
19556 (get_data_ptr): Rename to ...
19557 (grub_video_fb_get_video_ptr): ... this. All users updated.
19558 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19559
cc8c6faf 195602009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19561
19562 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19563 grub_dprintf() that was just added.
19564
08aa61f0 195652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19566
19567 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19568 (DEFAULT_VIDEO_MODE): Remove macros.
19569 (grub_linux_boot): Remove assumption that Linux has FB support,
19570 and use "text" as default video mode.
19571
7cef4f75 195722009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19573
19574 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19575 grub_dprintf.
19576 * fs/fat.c (grub_fat_read_data): Likewise.
19577
e1f39873 195782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19579
19580 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19581 payload.
19582 (grub_module): Likewise.
19583
c166d79e 195842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19587 mbi->cmdline but free playground.
19588
c60cee8e 195892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19590
19591 Handle group offset on UFS1.
19592
19593 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19594 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19595
c0d8b5d4 195962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19597
19598 Split ufs.mod into ufs1.mod and ufs2.mod.
19599
19600 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19601 (grub_fstest_SOURCES): Likewise.
19602 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19603 (ufs_mod_SOURCES): Remove.
19604 (ufs_mod_CFLAGS): Likewise.
19605 (ufs_mod_LDFLAGS): Likewise.
19606 (ufs1_mod_SOURCES): New variable.
19607 (ufs1_mod_CFLAGS): Likewise.
19608 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 19609 (ufs2_mod_SOURCES): New variable.
19610 (ufs2_mod_CFLAGS): Likewise.
19611 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 19612 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19613 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19614 Likewise.
19615 (grub_emu_SOURCES): Likewise.
19616 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19617 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19618 (grub_setup_SOURCES): Likewise.
19619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19620 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19621 (grub_setup_SOURCES): Likewise.
19622 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19623 Likewise.
19624 * fs/ufs2.c: New file.
19625 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19626
d3539132 196272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19628
19629 Framebuffer split.
19630
19631 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19632 subsystem at the end.
19633 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19634 (video_fb_mod_SOURCES): New variable.
19635 (video_fb_mod_CFLAGS): Likewise.
19636 (video_fb_mod_LDFLAGS): Likewise.
19637 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19638 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19639 * video/i386/pc/vbeblit.c: Moved from here ...
19640 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19641 * video/i386/pc/vbefill.c: Moved from here ...
19642 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19643 * video/i386/pc/vbeutil.c: Moved from here ...
19644 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19645 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19646 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19647 * include/grub/i386/pc/vbefill.h: Moved from here ...
19648 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19649 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19650 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19651 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19652 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19653 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19654 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19655 (grub_video_adapter): Added 'get_info_and_fini'.
19656 (grub_video_get_info_and_fini): New prototype.
19657 (grub_video_set_mode): make modestring const char *.
19658 * loader/i386/linux.c (grub_linux_setup_video): Use
19659 grub_video_get_info_and_fini.
19660 (grub_linux_boot): Move modesetting just before booting.
19661 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19662 grub_video_get_info_and_fini.
19663 * video/i386/pc/vbe.c: Moved framebuffer part ...
19664 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19665 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19666 grub_video_fbstd_colors and grub_video_fb_set_palette.
19667 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19668 grub_video_fb_init.
19669 (grub_video_vbe_fini): Use grub_video_fb_fini.
19670 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19671 render_target and use grub_video_fb_set_active_render_target and
19672 grub_video_fb_set_palette.
19673 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19674 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19675 (grub_video_vbe_adapter): Use framebuffer.
19676 * video/video.c (grub_video_get_info_and_fini): New function.
19677 (grub_video_set_mode): Make modestring const char *.
19678 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19679 values are already initialised.
19680
d404ee56 196812009-08-14 Pavel Roskin <proski@gnu.org>
19682
19683 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19684 ABS and APPLE_CC.
19685 * boot/i386/pc/diskboot.S: Likewise.
19686 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19687 sectors allow compilation on MacOSX.
19688 * conf/i386-pc.rmk: Enable unconditional compilation of
19689 lnxboot.img.
19690
9a10df16 196912009-08-13 Colin Watson <cjwatson@ubuntu.com>
19692
19693 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19694 * util/grub.d/00_header.in: Enter interruptible sleep if
19695 GRUB_HIDDEN_TIMEOUT is set.
19696
be3c9ca7 196972009-08-13 Yves Blusseau <blusseau@zetam.org>
19698
19699 * include/grub/symbol.h: Add the LOCAL macro.
19700 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
19701 starting with "L_".
19702
1f9e557e 197032009-08-13 Pavel Roskin <proski@gnu.org>
19704
9ca62843 19705 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
19706 any modern compilers we support.
19707
1f9e557e 19708 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
19709 Use local labels starting with "L_" so that Apple assembler
19710 knows they are local.
19711
81623db6 197122009-08-10 Robert Millan <rmh.grub@aybabtu.com>
19713
19714 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
19715 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
19716 (bsd_kernel_types): ... this enum.
19717
19718 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
19719 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
19720 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
19721
19722 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
19723 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
19724 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
19725 messages.
19726
f5d35e7a 197272009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19728
19729 * util/grub-dumpdevtree: Moved from here ...
19730 * util/i386/efi/grub-dumpdevtree: ... to here.
19731 (hexify): New function. Converts a string to its hex version.
19732 Generate hex versions of "efi" and "device-properties" by calling
19733 hexify() on the ASCII strings rather than by hardcoding numbers.
19734
d1e1d527 197352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19736
19737 * fs/jfs.c: Update copyright year.
19738
1ebbe064 197392009-08-08 Felix Zielcke <fzielcke@z-51.de>
19740
19741 * util/grub.d/00_header.in: Fix a comment.
19742 * util/grub.d/10_linux.in: Likewise.
19743 * util/grub.d/10_windows.in: Likewise.
19744 * util/grub.d/10_hurd.in: Likewise.
19745
a78c8d24 197462009-08-08 Felix Zielcke <fzielcke@z-51.de>
19747
19748 * util/grub-mkconfig.in: Allow the user to specify the used font
19749 with GRUB_FONT.
19750
29a6b9e8 197512009-08-08 Pavel Roskin <proski@gnu.org>
19752
b5f16cc4 19753 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
19754 available, xfs.mod needs it now.
19755
2f5cb827 19756 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
19757 the "g" modifier in sed when the intention is to strip something
19758 once. This fixes comparison of kernels with multiple dashes.
19759
29a6b9e8 19760 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
19761 on it. Add missing space before closing bracket. Fix
19762 misleading formatting.
19763
892a3d98 197642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19765
19766 * docs/grub.texi: Major overhaul. Remove all sections that are
19767 specific to GRUB Legacy, or mostly composed of Legacy-specific
19768 information.
19769
ed94253f 197702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19771
19772 * docs/version.texi: New file. Provides version information for
19773 grub.texi.
19774
126d6628 197752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19776
19777 * docs/grub.texi: Update CVS information to SVN.
19778 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
19779
998b5aa9 197802009-08-07 Felix Zielcke <fzielcke@z-51.de>
19781
19782 * util/grub-mkconfig.in: Remove a wrong `fi'.
19783
818e094a 197842009-08-07 Felix Zielcke <fzielcke@z-51.de>
19785
19786 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
19787 (grub_jfs_uuid): New function.
19788 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
19789
b969c52f 197902009-08-07 Felix Zielcke <fzielcke@z-51.de>
19791
19792 * util/grub-mkconfig_lib.in (font_path): Move the functionality
19793 of it to ...
19794 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
19795 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
19796
7a4894cc 197972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19798
19799 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
19800 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
19801 Update all users.
19802
19803 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
19804 not just "vmlinu[zx]".
19805 Moved from here ...
19806 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
19807 all users.
19808
19809 * util/grub.d/10_linux.in (find_latest): Moved from here ...
19810 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
19811 all users.
19812
4e2171f8 198132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19814
19815 * util/grub.d/10_freebsd.in: Use an absolute device path for
19816 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
19817
6dcfcb32 198182009-08-06 Felix Zielcke <fzielcke@z-51.de>
19819
19820 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
19821 handling of multiple abstraction modules.
19822
f56a8756 198232009-08-04 Robert Millan <rmh.grub@aybabtu.com>
19824
19825 Fix a bug resulting in black screen when loading Linux using a
19826 packed video mode.
19827
19828 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
19829 function.
19830
19831 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
19832 (grub_vbe_bios_getset_dac_palette_width): New function.
19833 (grub_vbe_bios_get_dac_palette_width)
19834 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
19835 grub_vbe_bios_getset_dac_palette_width()).
19836
19837 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
19838 check for return status.
19839 (grub_vbe_get_video_mode_info): When getting information for a packed
19840 mode (<= 8 bpp), obtain DAC palette width using
19841 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
19842 {red,green,blue}_mark_size.
19843
222671b2 198442009-08-04 Felix Zielcke <fzielcke@z-51.de>
19845
ecb1a6d9 19846 * commands/search.c (options): Fix help output to match actual code.
222671b2 19847
f84114f5 198482009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
19849
19850 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
19851 of homegrown code.
19852
bd288a20 198532009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 19854
19855 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
19856 on XFS or ReiserFS.
19857
8aab5e25 198582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19859
19860 Support Apple partition map with sector size different from 512 bytes.
19861
19862 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
19863 (apple_partition_map_iterate): Respect 'aheader.blocksize'
19864 and 'apart.partmap_size'.
19865
6ad6258a 198662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
198672009-08-01 Robert Millan <rmh.grub@aybabtu.com>
19868
19869 Fix cpuid command.
19870
19871 * commands/i386/cpuid.c (options): New variable.
19872 (grub_cmd_cpuid): Return real error.
19873 (GRUB_MOD_INIT(cpuid)): Declare options.
19874
67459bc6 198752009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
19876
19877 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
19878 valid.
19879
fbc6ab54 198802009-07-31 Bean <bean123ch@gmail.com>
19881
19882 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
19883 log2_inode.
19884 (grub_fshelp_node): Move inode field to the end.
19885 (grub_xfs_data): Remove inode field.
19886 (grub_xfs_inode_block): Calculate inode size using sblock.
19887 (grub_xfs_inode_offset): Likewise.
19888 (grub_xfs_read_inode): Calculate inode size using sblock.
19889 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
19890 (grub_xfs_iterate_dir): Calculate inode size using sblock.
19891 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
19892 to match inode size.
19893 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
19894 not accessible when data is null.
19895 (grub_xfs_open): Likewise.
19896
f45d6cfc 198972009-07-31 Bean <bean123ch@gmail.com>
19898
19899 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
19900 Don't change pv->disk if it's already set.
19901
19902 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
19903 (grub_raid_register): ... here.
19904 (grub_raid_rescan): Removed.
19905
19906 * include/grub/raid.h (grub_raid_rescan): Removed.
19907
19908 * util/grub-fstest.c: Remove include file <grub/raid.h>.
19909 (fstest): Replace grub_raid_rescan with module fini function followed
19910 by init function.
19911
19912 * util/grub-probe.c: Add include file <grub/raid.h>.
19913 (probe_raid_level): New function.
19914 (probe): Detect abstraction by walking the disk device, support two
19915 level of abstraction (LVM on RAID) when detecting partition map.
19916
24443b5a 199172009-07-31 Pavel Roskin <proski@gnu.org>
19918
19919 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
19920 to grub_zalloc(), it was erroneous.
19921 Reported by Bean <bean123ch@gmail.com>
19922
a275d9e7 199232009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
19924
19925 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 19926 embedding zone, not only the first one.
a275d9e7 19927
56c5a47f 199282009-07-29 Joe Auricchio <jauricchio@gmail.com>
19929
19930 * term/gfxterm.c (clear_char): New function.
19931 (grub_virtual_screen_setup): Use clear_char.
19932 (scroll_up): Likewise.
19933 (grub_virtual_screen_cls): Likewise.
19934
67bb323a 199352009-07-29 Felix Zielcke <fzielcke@z-51.de>
19936
19937 * util/deviceiter.c (get_acceleraid_disk_name): New static
19938 function.
19939 (grub_util_iterate_devices): Handle Accelraid devices.
19940 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
19941
388a7c75 199422009-07-28 Robert Millan <rmh.grub@aybabtu.com>
19943
19944 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19945 separator for the suggested gfxpayload string (';' collides with the
19946 parser and needs escaping).
19947
3bb7abcf 199482009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19949
19950 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19951 Clear direction flag before jumping to OS.
19952 (grub_multiboot2_real_boot): Likewise.
19953
2ddd36d7 199542009-07-28 Felix Zielcke <fzielcke@z-51.de>
19955
19956 * util/i386/pc/grub-install: Fix parsing of --disk-module
19957 option.
19958
c521b62b 199592009-07-28 Felix Zielcke <fzielcke@z-51.de>
19960
19961 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19962 when embedding.
19963
880e0a0c 199642009-07-26 Felix Zielcke <fzielcke@z-51.de>
19965
19966 * util/grub-mkconfig.in (package_version): New variable.
19967 Use it do display the version.
19968
2366e356 199692009-07-25 Felix Zielcke <fzielcke@z-51.de>
19970
19971 * kern/file.c (grub_file_open): Revert to previous check with
19972 grub_errno.
19973
7ad8c80e 199742009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19975
19976 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19977 from help line. It's out of sync with code.
19978
72b9658b 199792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19980
19981 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19982 entries on failed boot.
19983
77435277 199842009-07-25 Felix Zielcke <fzielcke@z-51.de>
19985
19986 * kern/file.c (grub_file_open): Fix an error check.
19987
fcaa8b21 199882009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19989
35d16c74 19990 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19991 partition map couldn't be identified.
fcaa8b21 19992
48904cd1 199932009-07-23 Pavel Roskin <proski@gnu.org>
19994
ef3c317f 19995 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
19996 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
19997 case of little endian words becomes just an optimization.
19998 Respect const modifier.
ad8ea1f4 19999 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20000
48904cd1 20001 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20002 to avoid loss of upper bits if align is unsigned and shorter
20003 than addr.
20004
260c9a89 200052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20006
20007 UUID support for UFS
20008
20009 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20010 (grub_ufs_uuid): New function.
20011 (grub_ufs_fs): add .uuid
20012
f76ce889 200132009-07-21 Pavel Roskin <proski@gnu.org>
20014
20015 * kern/dl.c (grub_dl_check_header): Make static.
20016
6a6cbcaf 200172009-07-21 Felix Zielcke <fzielcke@z-51.de>
20018
20019 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20020 add drivemap for Vista. It breaks Windows 7.
20021
cffcddb2 200222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20025 128 bytes
20026
1ef44b80 200272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 Add BFS support
20030
20031 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20032 (grub_fstest_SOURCES): Likewise.
20033 (pkglib_MODULES): Add befs.mod.
20034 (befs_mod_SOURCES): New variable.
20035 (befs_mod_CFLAGS): Likewise.
20036 (befs_mod_LDFLAGS): Likewise.
20037 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20038 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20039 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20040 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20041 (grub_setup_SOURCES): Likewise.
20042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20043 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20044 (grub_setup_SOURCES): Likewise.
20045 * fs/befs.c: New file.
20046 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20047 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20048 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20049 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20050 (B_KEY_INDEX_ALIGN): New declaration.
20051 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20052 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20053 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20054 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20055 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20056 (grub_afs_mount) [MODE_BFS]: Likewise.
20057 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20058 (grub_afs_fs): Use GRUB_AFS_FSNAME
20059 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20060 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20061 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20062 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20063
4f253044 200642009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20065
20066 * util/getroot.c (find_root_device): Add support for MacOSX.
20067 * util/hostdisk.c: Likewise.
20068
57a55913 200692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20070
20071 * font/font.c (find_glyph): Check whether a font is present to avoid
20072 segmentation fault.
75421ca9 20073
200742009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20075
20076 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20077
e98cd0c2 200782009-07-20 Pavel Roskin <proski@gnu.org>
20079
20080 * configure.ac: Trim excessively wordy excuses.
20081
1d2d169a 200822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20083
20084 Add symlink, mtime and label support to AtheFS.
20085
20086 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20087 (grub_afs_iterate_dir): Handle symlinks.
20088 (grub_afs_open): Use grub_afs_read_symlink.
20089 (grub_afs_dir): Likewise.
20090 Pass mtime.
20091 (grub_afs_label): New function.
20092 (grub_afs_fs): Add grub_afs_label.
20093 (grub_afs_read_symlink): New function.
20094
186f3189 200952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 Fix AtheFS support.
20098
20099 * fs/afs.c: Fix comments style.
20100 (grub_afs_blockrun): Declare as packed.
20101 (grub_afs_datastream): Likewise.
20102 (grub_afs_bnode): Likewise.
20103 (grub_afs_btree): Likewise.
20104 (grub_afs_sblock): Likewise.
20105 Declare `name' as char.
20106 (grub_afs_inode): Declare as packed.
20107 Change void *vnode to grub_uint32_t unused.
20108 (grub_afs_iterate_dir): Check that key_size is positive.
20109 (grub_afs_mount): Don't read superblock twice.
75421ca9 20110 (grub_afs_dir): Don't free node in case of error,
186f3189 20111 grub_fshelp_find_file already handles this.
20112 (grub_afs_open): Likewise.
20113
5680109e 201142009-07-19 Pavel Roskin <proski@gnu.org>
20115
20116 * Makefile.in: Remove LIBLZO and enable_lzo.
20117 * conf/i386-pc.rmk: Remove lzo support.
20118 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20119 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20120 support.
20121 * kern/i386/pc/lzo1x.S: Remove.
20122 * kern/i386/pc/startup.S: Remove lzo support.
20123 * util/i386/pc/grub-mkimage.c: Likewise.
20124
ac70fa32 201252009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20128 * fs/xfs.c (grub_xfs_dir): Likewise.
20129 * fs/afs.c (grub_afs_dir): Likewise.
20130 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20131 (grub_iso9660_open): Likewise.
20132 * fs/jfs.c (grub_jfs_open): Likewise.
20133 * fs/ext2.c (grub_ext2_dir): Likewise.
20134 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20135 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20136
eab58da2 201372009-07-16 Pavel Roskin <proski@gnu.org>
20138
d2838156 20139 * configure.ac: Never add "-c" to CFLAGS.
20140
55c70904 20141 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20142
43e6200c 20143 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20144 grub_cv_cc_efiemu should be used.
20145
ce7a733d 20146 * configure.ac: Typo fixes.
20147
eab58da2 20148 * kern/mm.c (grub_zalloc): New function.
20149 (grub_debug_zalloc): Likewise.
20150 * include/grub/mm.h: Declare grub_zalloc() and
20151 grub_debug_zalloc().
20152 * util/misc.c (grub_zalloc): New function.
20153 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20154 instead of grub_malloc(), remove unneeded initializations.
20155 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20156 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20157 * commands/parttool.c (grub_cmd_parttool): Likewise.
20158 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20159 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20160 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20161 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20162 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20163 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20164 (grub_cmd_efiemu_pnvram): Likewise.
20165 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20166 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20167 (grub_iso9660_iterate_dir): Likewise.
20168 * fs/jfs.c (grub_jfs_opendir): Likewise.
20169 * fs/ntfs.c (list_file): Likewise.
20170 (grub_ntfs_mount): Likewise.
20171 * kern/disk.c (grub_disk_open): Likewise.
20172 * kern/dl.c (grub_dl_load_core): Likewise.
20173 * kern/elf.c (grub_elf_file): Likewise.
20174 * kern/env.c (grub_env_context_open): Likewise.
20175 (grub_env_set): Likewise.
20176 (grub_env_set_data_slot): Likewise.
20177 * kern/file.c (grub_file_open): Likewise.
20178 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20179 * loader/i386/multiboot.c (grub_module): Likewise.
20180 * loader/xnu.c (grub_xnu_create_key): Likewise.
20181 (grub_xnu_create_value): Likewise.
20182 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20183 (read_config_file): Likewise.
20184 * normal/menu_entry.c (make_screen): Likewise.
20185 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20186 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20187 * script/sh/script.c (grub_script_parse): Likewise.
20188 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20189 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20190 * video/readers/png.c (grub_png_output_byte): Likewise.
20191 (grub_video_reader_png): Likewise.
20192
830afef7 201932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20194
20195 Enable all targets that can be built by default
20196
830afef7 20197 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20198 grub-mkfont and grub-fstest if they can be built
20199
ee293aee 202002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20201
20202 Fix hang and segmentation fault in grub-emu-usb
20203
20204 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20205 * util/usb.c (grub_libusb_devices): likewise
20206 (grub_libusb_init): rename to ...
20207 (GRUB_MOD_INIT (libusb)):...this
20208 (grub_libusb_fini): rename to ..
20209 (GRUB_MOD_FINI (libusb)):...this
20210 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20211 * include/grub/disk.h (grub_raid_init): removed, it's useless
20212 (grub_raid_fini): likewise
20213 (grub_lvm_init): likewise
20214 (grub_lvm_fini): likewise
20215 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20216 by grub_init_all
20217
94414221 202182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20219
20220 Fix libusb
20221
20222 * Makefile.in (LIBUSB): new macro
20223 * genmk.rb (Utility/print_tail): new method
20224 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20225 (top level): call util.print_tail at the end.
20226
59ade63d 202272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20228
20229 Make FreeBSD accept zpool.cache
20230
20231 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20232 type is /boot/zfs/zpool.cache
20233
a58da8c7 202342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20235
20236 Fix 64-bit efiemu
20237
20238 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20239 correct wrong typedef
20240 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20241
20591577 202422009-07-15 Pavel Roskin <proski@gnu.org>
20243
560ca572 20244 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20245 * kern/disk.c (struct grub_disk_cache): Likewise.
20246
e8e8e4fd 20247 * commands/probe.c (options): Typo fix.
20248
fde24e10 20249 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20250 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20251 accordingly.
20252 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20253
379c54c1 20254 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20255 the end of "Error" to make the message more readable.
20256
7bd8f5bf 20257 * boot/i386/pc/boot.S (kernel_segment): Remove.
20258 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20259 for destination.
20260
40b132c5 20261 * boot/i386/pc/boot.S (boot_version): Remove.
20262 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20263 Remove.
20264
20591577 20265 * include/grub/i386/pc/boot.h: Sort all offsets.
20266 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20267 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20268 * boot/i386/pc/boot.S: Assert location of every offset listed in
20269 include/grub/i386/pc/boot.h.
20270
2df32b2c 202712009-07-13 Pavel Roskin <proski@gnu.org>
20272
44b5d879 20273 * include/grub/i386/coreboot/machine.h: Rename
20274 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20275 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20276 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20277
17dc3751 20278 * kern/dl.c: Force native word size to suppress warnings when
20279 compiling grub-emu.
20280
2df32b2c 20281 * kern/device.c (grub_device_iterate): Change struct part_ent to
20282 hold the name, not a pointer to it. Use one grub_malloc() per
20283 partition, not two. Free partition_name if grub_malloc() fails.
20284 Set ents to NULL only before grub_partition_iterate() is called.
20285
75c59f59 202862009-07-11 Bean <bean123ch@gmail.com>
20287
20288 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20289 childname.
20290
0ae1bf88 202912009-07-10 Bean <bean123ch@gmail.com>
202922009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20293
20294 * kern/ieee1275/openfw.c (grub_children_iterate)
20295 (grub_devalias_iterate): Fix size evaluation for property or path
20296 strings, which was broken since r2132.
20297
8279cade 202982009-07-07 Pavel Roskin <proski@gnu.org>
20299
7d8a52d3 20300 * commands/search.c (search_file): Merge into ...
20301 (search_fs): ... this. Accept search type as argument.
20302 (grub_cmd_search): Pass search type to search_fs().
20303
25f9a05a 20304 * include/grub/util/console.h: New file.
20305 * util/console.c: Use it instead of grub/machine/console.h.
20306 * util/grub-emu.c: Likewise.
20307
8279cade 20308 * lib/arg.c (find_long_option): Remove.
20309 (find_long): Add `len' argument, make `s' const char *.
20310 (grub_arg_parse): Parse long options in place, not in a
20311 temporary buffer.
20312
4a11b60f 203132009-07-06 Pavel Roskin <proski@gnu.org>
20314
99f68041 20315 * commands/search.c (search_fs): Fix potential NULL pointer
20316 dereference.
20317
4a11b60f 20318 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20319 function pointer.
20320
e110f4de 203212009-07-06 Daniel Mierswa <impulze@impulze.org>
20322
20323 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20324 comparison.
20325
46eeb6a2 203262009-07-05 Pavel Roskin <proski@gnu.org>
20327
bab74958 20328 * include/grub/i386/linux.h (struct linux_kernel_params):
20329 Restore padding3, it's still needed.
20330
46eeb6a2 20331 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20332 FreeBSD.
20333 * util/osdetect.lua: Likewise.
20334
b4a1dc79 203352009-07-05 Bean <bean123ch@gmail.com>
20336
20337 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20338
20339 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20340 (grub_lua_getenv): Likewise.
20341 (grub_lua_setenv): Likewise.
20342 (save_errno): New function.
20343 (push_result): Likewise.
20344 (grub_lua_enum_device): Likewise.
20345 (grub_lua_enum_file): Likewise.
20346 (grub_lua_file_open): Likewise.
20347 (grub_lua_file_close): Likewise.
20348 (grub_lua_file_seek): Likewise.
20349 (grub_lua_file_read): Likewise.
20350 (grub_lua_file_getline): Likewise.
20351 (grub_lua_file_getsize): Likewise.
20352 (grub_lua_file_getpos): Likewise.
20353 (grub_lua_file_eof): Likewise.
20354 (grub_lua_file_exist): Likewise.
20355 (grub_lua_add_menu): Likewise.
20356
20357 * script/lua/grub_lua.h (isupper): New inline function.
20358 (islower): Likewise.
20359 (ispunct): Likewise.
20360 (isxdigit): Likewise.
20361 (strcspn): Change to normal function.
20362 (strpbkr): New function declaration.
20363 (memchr): Likewise.
20364
20365 * script/lua/grub_main.c (scan_str): New function.
20366 (strcspn): Likewise.
20367 (strpbrk): Likewise.
20368 (memchr): Likewise.
20369
20370 * script/lua/linit.c (lualibs): Enable the string library.
20371
20372 * util/osdetect.lua: New file.
20373
2da92295 203742009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20375
20376 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20377 `capabilities' member.
20378
b2582ec9 203792009-07-02 Pavel Roskin <proski@gnu.org>
20380
20381 * genparttoollist.sh: Add missing newline at the end.
20382
32622956 203832009-07-01 Pavel Roskin <proski@gnu.org>
20384
87a7339e 20385 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20386
d23af54e 20387 * util/hostdisk.c (open_device): Remove `const' from
20388 `sysctl_size', as sysctlbyname() can change it (in this case it
20389 doesn't actually happen).
20390
c94b18a9 20391 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20392 using signed long int constants.
20393
c6cd3ef0 20394 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20395 constant to avoid a warning on FreeBSD.
20396
0df63420 20397 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20398 where it's needed.
20399
999577f1 20400 * Makefile.in: Install include/grub/machine symlink.
20401
6f41557f 20402 * Makefile.in: When installing symlinks, use "cp -fR", which
20403 works on FreeBSD and MacOSX.
20404 From Yves Blusseau <cl7m42e02@sneakemail.com>
20405
c8d22988 20406 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20407 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20408
1b96e952 20409 * util/misc.c: Move grub_reboot() and grub_halt() ...
20410 * util/grub-emu.c: ... here. Make main_env static.
20411 * include/grub/util/misc.h: Remove main_env.
20412
2ef0084d 20413 * kern/mm.c: Use correct format to print size_t.
20414
32622956 20415 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20416 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20417 * kern/powerpc/dl.c: Likewise.
20418 * kern/sparc64/dl.c: Likewise.
20419 * kern/x86_64/dl.c: Likewise.
20420
3f7f0cd0 204212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20422
20423 Fix grub-emu build on sparc64-ieee1275.
20424
75421ca9 20425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20427
211d06b5 204282009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20429
20430 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20431 (grub_reboot, grub_halt): New functions.
20432
20433 * util/i386/pc/misc.c: Delete. Update all users.
20434 * util/sparc64/ieee1275/misc.c: Likewise.
20435 * util/powerpc/ieee1275/misc.c: Likewise.
20436
aaf53e3c 204372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20438
20439 * conf/i386.rmk (setjmp_mod_SOURCES)
20440 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20441 * conf/common.rmk (setjmp_mod_SOURCES)
20442 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20443 to use $(target_cpu).
20444 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20445 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20446 * conf/powerpc-ieee1275.rmk: Likewise.
20447 * conf/sparc64-ieee1275.rmk: Likewise.
20448
20449 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20450 $(target_cpu) for kern/$(target_cpu)/dl.c.
20451 * conf/i386-efi.rmk: Likewise.
20452 * conf/i386-ieee1275.rmk: Likewise.
20453 * conf/x86_64-efi.rmk: Likewise.
20454 * conf/i386-coreboot.rmk: Likewise.
20455 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20456 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20457 kern/$(target_cpu)/cache.S.
20458 * conf/sparc64-ieee1275.rmk: Likewise.
20459
a337130b 204602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20461
20462 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20463 type to `grub_uint8_t', and adjust `padding9' accordingly.
20464
c6fe4d53 204652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20466
b09db61d 20467 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20468
c6fe4d53 20469 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20470 assembly in final jump, using register constraints.
20471
b09db61d 20472 (grub_linux_boot): For text mode, initialize `have_vga' using
20473 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20474
20475 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20476 right before the final jump.
20477
20478 Set `video_mode' to 0x3.
20479
20480 Document initialization of `video_page', `video_mode' and
20481 `video_ega_bx'.
20482
28333ad0 204832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20484
20485 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20486 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20487 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20488
02164e1b 204892009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20490
20491 Fix build on Debian / sparc.
20492
20493 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20494
18b6c557 204952009-06-28 Pavel Roskin <proski@gnu.org>
20496
85f2aab6 20497 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20498 fix a warning.
20499
18b6c557 20500 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20501
ad760f81 205022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20503
20504 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20505 `err'.
20506
87a4623b 205072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20508
20509 Revert r2338.
20510
20511 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20512 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20513 grub_errno / grub_errmsg appropriately.
87a4623b 20514 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20515
8231fb77 205162009-06-27 Pavel Roskin <proski@gnu.org>
205172009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20518
20519 * include/grub/dl.h: Include grub/elf.h.
20520 (struct grub_dl): Add symtab field.
20521 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20522 GRUB_MODULES_MACHINE_READONLY.
20523 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20524 of the header for read-only modules.
20525 (grub_dl_unload): Free mod->symtab for read-only modules.
20526 * kern/i386/dl.c: Use mod->symtab.
20527 * kern/powerpc/dl.c: Likewise.
20528 * kern/sparc64/dl.c: Likewise.
20529 * kern/x86_64/dl.c: Likewise.
20530
20531 * conf/i386-qemu.rmk: New file.
20532 * kern/i386/qemu/startup.S: Likewise.
20533 * kern/i386/qemu/mmap.c: Likewise.
20534 * boot/i386/qemu/boot.S: Likewise.
20535 * include/grub/i386/qemu/time.h: Likewise.
20536 * include/grub/i386/qemu/serial.h: Likewise.
20537 * include/grub/i386/qemu/kernel.h: Likewise.
20538 * include/grub/i386/qemu/console.h: Likewise.
20539 * include/grub/i386/qemu/boot.h: Likewise.
20540 * include/grub/i386/qemu/init.h: Likewise.
20541 * include/grub/i386/qemu/machine.h: Likewise.
20542 * include/grub/i386/qemu/loader.h: Likewise.
20543 * include/grub/i386/qemu/memory.h: Likewise.
20544
20545 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20546 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20547 [qemu] (pkglib_IMAGES): Add `boot.img'.
20548 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20549 [qemu] (boot_img_FORMAT): New variables.
20550 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20551 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20552 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20553 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20554 [qemu] (kernel_img_FORMAT): New variables.
20555
20556 * configure.ac: Recognise `i386-qemu'.
20557
20558 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20559 (for no compression).
20560 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20561 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20562 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20563 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20564 ifdefs).
20565
97fe384e 205662009-06-27 Pavel Roskin <proski@gnu.org>
20567
20568 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20569 read.
20570 * efiemu/prepare32.c: Likewise.
20571 * efiemu/prepare64.c: Likewise.
20572
c402ab17 205732009-06-26 Pavel Roskin <proski@gnu.org>
20574
20575 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20576 * include/grub/elf.h: Define symbols without "32" or "64" based
20577 on GRUB_TARGET_WORDSIZE.
20578 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20579 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20580 ELF definitions.
20581 * efiemu/loadcore64.c: Likewise.
20582 * loader/i386/bsd32.c: Likewise.
20583 * loader/i386/bsd64.c: Likewise.
20584 * kern/dl.c: Remove own ELF definitions.
20585 * util/i386/efi/grub-mkimage.c: Likewise.
20586
9bbdfd4d 205872009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20588
20589 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20590 segment 0x0 unconditionally, because the reference generated by
20591 GAS is an absolute address.
20592
a42ce6e9 205932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20594
20595 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20596 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20597
c952cf92 205982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20599
20600 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20601 indexes. Check for -f explicitly.
cc3752ad 20602 (search_file): Improve error message.
20603 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 20604
132a0a59 206052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20606
20607 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20608 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20609
387a140c 206102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20611
20612 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20613 * conf/i386-ieee1275.rmk: Likewise.
20614 * conf/i386-coreboot.rmk: Likewise.
20615
20616 * kern/i386/pc/startup.S (grub_stop): Remove function.
20617 * kern/i386/ieee1275/startup.S: Likewise.
20618 * kern/i386/coreboot/startup.S: Likewise.
20619 * kern/i386/misc.S (grub_stop): New function.
20620
41da9665 206212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20622
20623 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20624 * kern/i386/realmode.S (real_to_prot): ... to here.
20625
bf337234 206262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20627
20628 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20629 with `kernel.img'.
20630 (kernel_elf_SOURCES): Rename to ...
20631 (kernel_img_SOURCES): ... this.
20632 (kernel_elf_HEADERS): Rename to ...
20633 (kernel_img_HEADERS): ... this. Update all users.
20634 (kernel_elf_ASFLAGS): Rename to ...
20635 (kernel_img_ASFLAGS): ... this.
20636 (kernel_elf_CFLAGS): Rename to ...
20637 (kernel_img_CFLAGS): ... this.
20638 (kernel_elf_LDFLAGS): Rename to ...
20639 (kernel_img_LDFLAGS): ... this.
20640 * conf/i386-coreboot.rmk: Likewise.
20641 * conf/powerpc-ieee1275.rmk: Likewise.
20642
20643 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20644 with "kernel.img".
20645
f52196ff 206462009-06-21 Pavel Roskin <proski@gnu.org>
20647
c3cee413 20648 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20649 to match nested functions.
20650 * loader/sparc64/ieee1275/linux.c: Likewise.
20651
f52196ff 20652 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20653
58750afc 206542009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20655
20656 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20657 all i386 platforms.
20658
15355c7d 206592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20660
20661 Fix asm file handling on ELF, and remove workarounds.
20662
20663 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 20664 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 20665 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20666 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20667
3f3ec72b 206682009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20669
20670 Load BSD ELF modules
20671
20672 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20673 and loader/i386/bsd64.c
20674 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20675 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20676 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20677 (grub_freebsd_load_elfmodule32): New declaration
20678 (grub_freebsd_load_elfmoduleobj64): Likewise
20679 (grub_freebsd_load_elf_meta32): Likewise
20680 (grub_freebsd_load_elf_meta64): Likewise
20681 (grub_freebsd_add_meta): Likewise
20682 (grub_freebsd_add_meta_module): Likewise
20683 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20684 (grub_freebsd_add_meta_module): Likewise and move module-specific
20685 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20686 (grub_cmd_freebsd): Add elf-kernel specific parts
20687 based on grub_freebsd_add_meta_module
20688 (grub_cmd_freebsd_module): Add type parsing moved from
20689 grub_freebsd_add_meta_module
20690 (grub_cmd_freebsd_module_elf): New function
20691 (cmd_freebsd_module_elf): New variable
20692 (GRUB_MOD_INIT): Register freebsd_module_elf
20693 * loader/i386/bsd32.c: New file
20694 * loader/i386/bsd64.c: Likewise
20695 * loader/i386/bsdXX.c: Likewise
20696 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20697 (grub_elf64_load): Likewise
20698 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20699 All users updated
20700 (grub_elf64_load_hook_t): Likewise
20701
0db15301 207022009-06-21 Colin Watson <cjwatson@ubuntu.com>
20703
20704 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
20705 variable.
20706 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
20707 don't write a menu entry for recovery mode.
20708
546796c1 207092009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20710
20711 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
20712 after it's no longer needed.
20713
cd7310d5 207142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20715
20716 * include/grub/i386/loader.h (grub_linux_prot_size)
20717 (grub_linux_tmp_addr, grub_linux_real_addr)
20718 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
20719 GRUB_MACHINE_PCBIOS.
20720 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
20721 common grub_util_info() call to ...
20722 (generate_image): ... here.
20723 Fix use of uninitialized memory, comparison of signed with
20724 unsigned integers and memory leak.
20725 Remove bogus module address message.
20726
ab32d3b5 207272009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
20730 grub_raid_register
20731 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
20732
024ef597 207332009-06-19 Pavel Roskin <proski@gnu.org>
20734
20735 * configure.ac: Remove stray AC_MSG_CHECKING.
20736
3ac72b51 207372009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
20738
20739 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 20740
e14cd814 207412009-06-18 Pavel Roskin <proski@gnu.org>
20742
20743 * conf/common.rmk: Add fs_file.mod.
20744 * disk/fs_file.c: New file.
20745 * include/grub/disk.h (enum grub_disk_dev_id): Add
20746 GRUB_DISK_DEVICE_FILE_ID.
20747
26586d98 207482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20749
20750 Fix build with Apple's toolchain. Part 2
20751
20752 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
20753 a fake start
20754
26de2bcd 207552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20756
20757 Fix build with Apple's toolchain. Part 1
20758
20759 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
20760 for long calls
20761 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 20762 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 20763 Apple's toolchain
20764
09b3490b 207652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20766
20767 Fix warnings
20768
20769 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
20770 (decomp_block): initialize ch
20771 use grub_memcpy instead of memcpy
20772
c22a006a 207732009-06-17 Pavel Roskin <proski@gnu.org>
20774
d3638678 20775 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
20776 version, use declarations needed to use vga_text as the startup
20777 console.
20778
c22a006a 20779 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
20780 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
20781 the kernel.
20782 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
20783 and grub_at_keyboard_fini(), it's done on module load and
20784 unload.
20785
05b129e0 207862009-06-17 Felix Zielcke <fzielcke@z-51.de>
20787
20788 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
20789 file can't be found.
20790 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20791
cf24ed9e 207922009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20793
20794 Fix newline handling
20795
20796 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 20797 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 20798 (grub_script_yylex): don't segfault on unterminated script
20799 newline terminates command and variable
20800
74aa8e4b 208012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20802
20803 avoid double grub_adjust_range call. Bug reported by David Simner
20804
20805 * kern/disk.c (grub_disk_write): change to raw disk access before
20806 calling disk_read
20807
1bd265f3 208082009-06-17 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
20811 spaces, for the benefit of help2man.
20812 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20813
a2d08c06 208142009-06-16 Pavel Roskin <proski@gnu.org>
20815
20816 * kern/i386/halt.c: Include grub/machine/init.h.
20817 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
20818
b97bcb19 208192009-06-16 Felix Zielcke <fzielcke@z-51.de>
20820
20821 * util/grub.d/30_os-prober.in: Use ${root} in the generated
20822 drivemap menuentry.
20823
0644f96c 208242009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
20825
20826 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
20827 `echo' command.
20828
3ef17a2e 208292009-06-16 Pavel Roskin <proski@gnu.org>
20830
20831 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
20832 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
20833 save %dx, we only need %dl and we never change it.
20834 * boot/i386/pc/cdboot.S: Don't set the root drive.
20835 * boot/i386/pc/pxeboot.S: Likewise.
20836 * include/grub/i386/pc/boot.h: Remove
20837 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
20838 GRUB_BOOT_MACHINE_DRIVE_CHECK.
20839 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
20840 * kern/i386/pc/init.c (make_install_device): Remove references
20841 to grub_root_drive.
20842 * kern/i386/pc/startup.S: Likewise.
20843 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
20844
693fe637 208452009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 xnu_uuid command
20848
20849 * commands/xnu_uuid.c: new file
20850 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
20851 (xnu_uuid_mod_SOURCES): new variable
20852 (xnu_uuid_mod_CFLAGS): likewise
20853 (xnu_uuid_mod_LDFLAGS): likewise
20854 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20855 * conf/i386-ieee1275.rmk: likewise
20856 * conf/i386-pc.rmk: likewise
20857 * conf/powerpc-ieee1275.rmk: likewise
20858 * conf/sparc64-ieee1275.rmk: likewise
20859 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
20860
c9da87d0 208612009-06-16 Pavel Roskin <proski@gnu.org>
20862
20863 * configure.ac: Avoid '==' in test command, it's not portable.
20864
9c6f4596 208652009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 Probe command
20868
20869 * commands/probe.c: new file
20870 * conf/common.rmk (pkglib_MODULES): add probe.mod
20871 (probe_mod_SOURCES): new variable
20872 (probe_mod_CFLAGS): likewise
20873 (probe_mod_LDFLAGS): likewise
20874 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20875 * conf/i386-ieee1275.rmk: likewise
20876 * conf/i386-pc.rmk: likewise
20877 * conf/powerpc-ieee1275.rmk: likewise
20878 * conf/sparc64-ieee1275.rmk: likewise
20879
70b7f9fd 208802009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 Fix handling of string like \"hello\" and "a
20883 b"
20884
20885 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
20886 (grub_script_yylex): fix parsing of quoting, escaping and newline
20887
71c79a6b 208882009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
20889
dd74360c 20890 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 20891 handling
dd74360c 20892
0644f96c 208932009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 20894
20895 * util/grub-mkconfig.in: Fix parsing of --output option.
20896
e40893c3 208972009-06-12 Pavel Roskin <proski@gnu.org>
20898
20899 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
20900 genmk.rb don't need to be generated or installed.
20901
3a1acfe2 209022009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20903
20904 * commands/i386/pc/drivemap_int13h.S: add more comments
20905
3a4575d4 209062009-06-11 Pavel Roskin <proski@gnu.org>
20907
0658e928 20908 * Makefile.in (uninstall): Uninstall manuals.
20909
ca0388f0 20910 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
20911 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
20912 and update-grub_lib in two places.
20913 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
20914
e3b27c39 20915 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
20916 a compiler warning.
20917
3a4575d4 20918 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
20919 `entry_lo' to fix variable shadowing.
20920
af1f4f55 209212009-06-11 Christian Franke <franke@computer.org>
20922
20923 * kern/misc.c (__enable_execute_stack): Add missing return type
20924 to prevent gcc warning.
20925
5225e649 209262009-06-11 Felix Zielcke <fzielcke@z-51.de>
20927
20928 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
20929
7d83bd47 209302009-06-11 Pavel Roskin <proski@gnu.org>
20931
c1cb63ba 20932 * Makefile.in: Don't rely on any scripts being executable.
20933 Always use $(SHELL) to run shell scripts.
20934
7d83bd47 20935 * configure.ac: Always define ___main if using -nostdlib. This
20936 fixes tests on Cygwin.
20937
948f48e7 209382009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
20939
20940 UDF fix
20941
7d83bd47 20942 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 20943 is in bytes and not in blocks
7d83bd47 20944
8ada9bc1 209452009-06-11 Pavel Roskin <proski@gnu.org>
20946
20947 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20948 warning.
20949
25ad2323 209502009-06-11 Felix Zielcke <fzielcke@z-51.de>
20951
20952 * util/grub.d/30_os-prober.in: Fix a comment. Source
20953 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20954 to set the root device. Place drivemap command in the generated
20955 chain entry.
20956
e65acb0c 209572009-06-11 Pavel Roskin <proski@gnu.org>
20958
20959 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20960 have long been resolved.
20961
f285fe2d 209622009-06-11 Colin Watson <cjwatson@ubuntu.com>
20963
bd47b0b5 20964 * util/grub.d/10_linux.in: Capitalise "Linux".
20965
f285fe2d 20966 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20967
a0c62e4e 209682009-06-11 Pavel Roskin <proski@gnu.org>
20969
b6783cb2 20970 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20971 fix a gcc warning and ensure that the function won't ever exit.
20972
dde032e8 20973 * kern/i386/ieee1275/init.c: Add missing prototype for
20974 grub_stop_floppy().
20975
22cd079d 20976 * loader/ieee1275/multiboot2.c [__i386__]: Include
20977 grub/cpu/multiboot.h.
20978
a0c62e4e 20979 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20980 casts to short - they are not portable and cause warnings. Fix
20981 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20982
63963d17 209832009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20984
20985 Drivemap fixes
20986
20987 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20988 new function
20989 (grub_get_root_biosnumber_saved): new variable
20990 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20991 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 20992 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 20993 %dx after the call if necessary
20994 * conf/common.rmk (pkglib_MODULES): remove boot.mod
20995 (boot_mod_SOURCES): remove
20996 (boot_mod_CFLAGS): remove
20997 (boot_mod_LDFLAGS): remove
20998 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
20999 (boot_mod_SOURCES): new variable
21000 (boot_mod_CFLAGS): likewise
21001 (boot_mod_LDFLAGS): likewise
21002 * conf/i386-efi.rmk: likewise
21003 * conf/i386-ieee1275.rmk: likewise
21004 * conf/i386-pc.rmk: likewise
21005 * conf/powerpc-ieee1275.rmk: likewise
21006 * conf/sparc64-ieee1275.rmk: likewise
21007 * conf/x86_64-efi.rmk: likewise
21008 * include/grub/i386/pc/biosnum.h: new file
21009 * lib/i386/pc/biosnum.c: likewise
21010 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21011 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21012 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21013
33abf7ae 210142009-06-10 Pavel Roskin <proski@gnu.org>
21015
5ac35b35 21016 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21017 Use separate variables. Read only the file size at the end, but
21018 not the checksum that we don't use.
21019
5c5215d5 21020 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21021 Adjust all callers.
21022
27d5fef7 21023 * kern/ieee1275/openfw.c: Remove libc includes.
21024 * kern/ieee1275/cmain.c: Likewise.
21025 * include/grub/ieee1275/ieee1275.h: Likewise.
21026
33abf7ae 21027 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21028 compiler warnings.
21029
19d50c2b 210302009-06-10 Felix Zielcke <fzielcke@z-51.de>
21031
21032 * Makefile.in: Remove all trailing whitespace.
21033 * conf/i386-pc.rmk: Likewise.
21034 * conf/powerpc-ieee1275.rmk: Likewise.
21035 * conf/sparc64-ieee1275.rmk: Likewise.
21036 * docs/grub.texi: Likewise.
21037 * docs/texinfo.tex: Likewise.
21038 * disk/fs_uuid.c: Likewise.
21039 * disk/lvm.c: Likewise.
21040 * disk/scsi.c: Likewise.
21041 * disk/ata.c: Likewise.
21042 * disk/ieee1275/ofdisk.c: Likewise.
21043 * disk/i386/pc/biosdisk.c: Likewise.
21044 * disk/host.c: Likewise.
21045 * disk/raid.c: Likewise.
21046 * disk/efi/efidisk.c: Likewise.
21047 * disk/usbms.c: Likewise.
21048 * disk/memdisk.c: Likewise.
21049 * disk/loopback.c: Likewise.
21050 * kern/powerpc/dl.c: Likewise.
21051 * kern/device.c: Likewise.
21052 * kern/dl.c: Likewise.
21053 * kern/sparc64/dl.c: Likewise.
21054 * kern/ieee1275/ieee1275.c: Likewise.
21055 * kern/term.c: Likewise.
21056 * kern/fs.c: Likewise.
21057 * kern/i386/dl.c: Likewise.
21058 * kern/i386/pc/startup.S: Likewise.
21059 * kern/i386/pc/init.c: Likewise.
21060 * kern/i386/pc/mmap.c: Likewise.
21061 * kern/i386/pc/lzo1x.S: Likewise.
21062 * kern/i386/ieee1275/init.c: Likewise.
21063 * kern/i386/realmode.S: Likewise.
21064 * kern/i386/tsc.c: Likewise.
21065 * kern/partition.c: Likewise.
21066 * kern/corecmd.c: Likewise.
21067 * kern/file.c: Likewise.
21068 * kern/efi/efi.c: Likewise.
21069 * kern/efi/init.c: Likewise.
21070 * kern/efi/mm.c: Likewise.
21071 * kern/main.c: Likewise.
21072 * kern/err.c: Likewise.
21073 * kern/env.c: Likewise.
21074 * kern/disk.c: Likewise.
21075 * kern/generic/millisleep.c: Likewise.
21076 * kern/generic/rtc_get_time_ms.c: Likewise.
21077 * kern/misc.c: Likewise.
21078 * kern/parser.c: Likewise.
21079 * genmk.rb: Likewise.
21080 * configure.ac: Likewise.
21081 * boot/i386/pc/diskboot.S: Likewise.
21082 * boot/i386/pc/pxeboot.S: Likewise.
21083 * boot/i386/pc/boot.S: Likewise.
21084 * boot/i386/pc/lnxboot.S: Likewise.
21085 * boot/i386/pc/cdboot.S: Likewise.
21086 * parttool/pcpart.c: Likewise.
21087 * video/readers/tga.c: Likewise.
21088 * video/video.c: Likewise.
21089 * video/bitmap.c: Likewise.
21090 * lib/envblk.c: Likewise.
21091 * lib/i386/setjmp.S: Likewise.
21092 * fs/xfs.c: Likewise.
21093 * fs/afs.c: Likewise.
21094 * fs/fat.c: Likewise.
21095 * fs/ntfs.c: Likewise.
21096 * fs/udf.c: Likewise.
21097 * fs/affs.c: Likewise.
21098 * fs/iso9660.c: Likewise.
21099 * fs/hfs.c: Likewise.
21100 * fs/fshelp.c: Likewise.
21101 * fs/ext2.c: Likewise.
21102 * fs/jfs.c: Likewise.
21103 * fs/reiserfs.c: Likewise.
21104 * fs/hfsplus.c: Likewise.
21105 * fs/minix.c: Likewise.
21106 * fs/cpio.c: Likewise.
21107 * fs/sfs.c: Likewise.
21108 * fs/ufs.c: Likewise.
21109 * efiemu/prepare.c: Likewise.
21110 * efiemu/loadcore_common.c: Likewise.
21111 * efiemu/runtime/efiemu.sh: Likewise.
21112 * efiemu/runtime/efiemu.S: Likewise.
21113 * efiemu/runtime/efiemu.c: Likewise.
21114 * efiemu/pnvram.c: Likewise.
21115 * efiemu/main.c: Likewise.
21116 * efiemu/i386/pc/cfgtables.c: Likewise.
21117 * efiemu/i386/loadcore64.c: Likewise.
21118 * efiemu/i386/loadcore32.c: Likewise.
21119 * efiemu/loadcore.c: Likewise.
21120 * efiemu/symbols.c: Likewise.
21121 * efiemu/mm.c: Likewise.
21122 * include/grub/autoefi.h: Likewise.
21123 * include/grub/datetime.h: Likewise.
21124 * include/grub/term.h: Likewise.
21125 * include/grub/hfs.h: Likewise.
21126 * include/grub/lvm.h: Likewise.
21127 * include/grub/i386/tsc.h: Likewise.
21128 * include/grub/i386/linux.h: Likewise.
21129 * include/grub/i386/xnu.h: Likewise.
21130 * include/grub/i386/efiemu.h: Likewise.
21131 * include/grub/i386/pc/biosdisk.h: Likewise.
21132 * include/grub/i386/pc/memory.h: Likewise.
21133 * include/grub/i386/pc/vbe.h: Likewise.
21134 * include/grub/parttool.h: Likewise.
21135 * include/grub/video.h: Likewise.
21136 * include/grub/memory.h: Likewise.
21137 * include/grub/fs.h: Likewise.
21138 * include/grub/partition.h: Likewise.
21139 * include/grub/xnu.h: Likewise.
21140 * include/grub/efi/api.h: Likewise.
21141 * include/grub/efi/pe32.h: Likewise.
21142 * include/grub/efi/memory.h: Likewise.
21143 * include/grub/multiboot.h: Likewise.
21144 * include/grub/usbdesc.h: Likewise.
21145 * include/grub/multiboot2.h: Likewise.
21146 * include/grub/acpi.h: Likewise.
21147 * include/grub/efiemu/efiemu.h: Likewise.
21148 * include/grub/disk.h: Likewise.
21149 * include/grub/ieee1275/ieee1275.h: Likewise.
21150 * include/grub/net.h: Likewise.
21151 * include/grub/machoload.h: Likewise.
21152 * include/grub/macho.h: Likewise.
21153 * include/multiboot.h: Likewise.
21154 * genmoddep.awk: Likewise.
21155 * normal/main.c: Likewise.
21156 * normal/menu_entry.c: Likewise.
21157 * normal/menu_viewer.c: Likewise.
21158 * normal/completion.c: Likewise.
21159 * normal/cmdline.c: Likewise.
21160 * normal/misc.c: Likewise.
21161 * normal/datetime.c: Likewise.
21162 * bus/usb/usbtrans.c: Likewise.
21163 * bus/usb/ohci.c: Likewise.
21164 * bus/usb/uhci.c: Likewise.
21165 * bus/usb/usb.c: Likewise.
21166 * mmap/efi/mmap.c: Likewise.
21167 * mmap/i386/pc/mmap_helper.S: Likewise.
21168 * mmap/i386/pc/mmap.c: Likewise.
21169 * mmap/i386/mmap.c: Likewise.
21170 * mmap/i386/uppermem.c: Likewise.
21171 * mmap/mmap.c: Likewise.
21172 * commands/acpi.c: Likewise.
21173 * commands/echo.c: Likewise.
21174 * commands/blocklist.c: Likewise.
21175 * commands/loadenv.c: Likewise.
21176 * commands/usbtest.c: Likewise.
21177 * commands/boot.c: Likewise.
21178 * commands/parttool.c: Likewise.
21179 * commands/search.c: Likewise.
21180 * commands/cat.c: Likewise.
21181 * commands/i386/pc/play.c: Likewise.
21182 * commands/i386/pc/drivemap.c: Likewise.
21183 * commands/i386/pc/vbeinfo.c: Likewise.
21184 * commands/i386/pc/acpi.c: Likewise.
21185 * commands/i386/pc/vbetest.c: Likewise.
21186 * commands/ls.c: Likewise.
21187 * commands/cmp.c: Likewise.
21188 * commands/test.c: Likewise.
21189 * commands/efi/acpi.c: Likewise.
21190 * commands/gptsync.c: Likewise.
21191 * commands/help.c: Likewise.
21192 * partmap/amiga.c: Likewise.
21193 * partmap/apple.c: Likewise.
21194 * partmap/acorn.c: Likewise.
21195 * partmap/pc.c: Likewise.
21196 * partmap/sun.c: Likewise.
21197 * partmap/gpt.c: Likewise.
21198 * script/sh/lexer.c: Likewise.
21199 * script/sh/function.c: Likewise.
21200 * font/font.c: Likewise.
21201 * font/font_cmd.c: Likewise.
21202 * loader/powerpc/ieee1275/linux.c: Likewise.
21203 * loader/efi/chainloader.c: Likewise.
21204 * loader/multiboot_loader.c: Likewise.
21205 * loader/macho.c: Likewise.
21206 * loader/i386/multiboot.c: Likewise.
21207 * loader/i386/linux.c: Likewise.
21208 * loader/i386/pc/linux.c: Likewise.
21209 * loader/i386/pc/multiboot2.c: Likewise.
21210 * loader/i386/pc/chainloader.c: Likewise.
21211 * loader/i386/pc/xnu.c: Likewise.
21212 * loader/i386/bsd_trampoline.S: Likewise.
21213 * loader/i386/efi/linux.c: Likewise.
21214 * loader/i386/multiboot_elfxx.c: Likewise.
21215 * loader/i386/bsd_helper.S: Likewise.
21216 * loader/i386/bsd.c: Likewise.
21217 * loader/i386/linux_trampoline.S: Likewise.
21218 * loader/i386/xnu_helper.S: Likewise.
21219 * loader/i386/xnu.c: Likewise.
21220 * loader/i386/bsd_pagetable.c: Likewise.
21221 * loader/i386/multiboot_helper.S: Likewise.
21222 * loader/xnu.c: Likewise.
21223 * loader/xnu_resume.c: Likewise.
21224 * io/gzio.c: Likewise.
21225 * term/efi/console.c: Likewise.
21226 * term/terminfo.c: Likewise.
21227 * term/ieee1275/ofconsole.c: Likewise.
21228 * term/i386/pc/serial.c: Likewise.
21229 * term/i386/pc/vesafb.c: Likewise.
21230 * term/i386/pc/vga.c: Likewise.
21231 * term/usb_keyboard.c: Likewise.
21232 * term/gfxterm.c: Likewise.
21233 * aclocal.m4: Likewise.
21234 * util/lvm.c: Likewise.
21235 * util/grub.d/30_os-prober.in: Likewise.
21236 * util/grub.d/10_hurd.in: Likewise.
21237 * util/console.c: Likewise.
21238 * util/grub-macho2img.c: Likewise.
21239 * util/grub-probe.c: Likewise.
21240 * util/hostfs.c: Likewise.
21241 * util/i386/pc/grub-mkimage.c: Likewise.
21242 * util/i386/pc/grub-setup.c: Likewise.
21243 * util/i386/efi/grub-mkimage.c: Likewise.
21244 * util/grub-mkconfig.in: Likewise.
21245 * util/raid.c: Likewise.
21246 * util/resolve.c: Likewise.
21247 * util/grub-mkdevicemap.c: Likewise.
21248 * util/grub-emu.c: Likewise.
21249 * util/getroot.c: Likewise.
21250 * util/hostdisk.c: Likewise.
21251 * util/usb.c: Likewise.
21252 * util/grub-editenv.c: Likewise.
21253 * util/misc.c: Likewise.
21254
d2d49665 212552009-06-10 Felix Zielcke <fzielcke@z-51.de>
21256
21257 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21258 `genparttoollist.sh'.
21259 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21260 Add `*.sh' to the list find searches for and change `mdate.sh'
21261 to `mdate-sh'.
21262
fe052e37 212632009-06-10 Pavel Roskin <proski@gnu.org>
21264
2763ac18 21265 * include/grub/multiboot2.h: Provide compatibility defines for
21266 multiboot2.h.
21267 * include/multiboot2.h: Include stdint.h only if needed, using
21268 angle brackets.
21269 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21270 grub/multiboot2.h.
21271 * loader/ieee1275/multiboot2.c: Likewise.
21272 * loader/multiboot2.c: Likewise.
21273 * loader/multiboot_loader.c: Likewise.
21274
437e6adc 21275 * configure.ac: Use -nostdlib when probing for the target. It
21276 should not be required to have libc for the target.
21277
06a6836c 21278 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21279 they fail without libc headers for the target.
21280 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21281 exports.
21282 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21283 preprocessor conditionals.
21284
fe052e37 21285 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21286 build system doesn't need to be aware of the tar.c internals.
21287
afd22553 212882009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21289
afd22553 21290 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21291
6b787c4f 212922009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21293
21294 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21295 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21296
212972009-06-09 Felix Zielcke <fzielcke@z-51.de>
21298
21299 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21300 aren't available if ata.mod gets used.
6b787c4f 21301
473d1e45 213022009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21303
473d1e45 21304 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21305 initialising controller.
473d1e45 21306 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21307
255a27d4 213082009-06-08 Felix Zielcke <fzielcke@z-51.de>
21309
21310 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21311 to choose between ata and biosdisk module on i386-pc.
21312
473d1e45 213132009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21314
d55842d8 21315 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21316 Subclass and Programming Interface fields in terms of the 3 byte
21317 Class Code register.
21318 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21319
fa5db0b1 21320 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21321 interface is OHCI. Add grub_dprintf for symmetry with
21322 bus/usb/uhci.c.
21323 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21324 interface is UHCI. Add interf variable for programming
21325 interface. Print interface with class/subclass.
21326
c0947beb 21327 * bus/usb/ohci.c: Set interf with correct field.
21328
69da8877 21329 * bus/usb/uhci.c: Remove unneeded doubled lines.
21330 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21331 Remove whitespace inside comment.
21332
9e172e30 213332009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21334
21335 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21336 as fallback an equivalent option without depth.
21337
de65ee2b 213382009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21339
21340 Not fail if unable to retrieve C/H/S on LBA disks
21341
473d1e45 21342 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21343 if unable to retrieve C/H/S on LBA disks
21344
b57ea2c9 213452009-06-08 Pavel Roskin <proski@gnu.org>
21346
21347 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21348 about aliasing.
21349
af361263 213502009-06-08 Felix Zielcke <fzielcke@z-51.de>
21351
21352 * Makefile.in (uninstall): Remove all $lib_DATA files.
21353
4c9ec6b3 213542009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21355
21356 Bugfix: install on partitionless device
21357
21358 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21359 is a whole disk
21360
e76fc924 213612009-06-08 Felix Zielcke <fzielcke@z-51.de>
21362
21363 * Makefile.in (uninstall): Remove all $include_DATA files.
21364
ba5a0d05 213652009-06-08 Felix Zielcke <fzielcke@z-51.de>
21366
21367 * commands/true.c: New file. Implement the true and false commands.
21368 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21369 (true_mod_SOURCES): New variable.
21370 (true_mod_CFLAGS): Likewise.
21371 (true_mod_LDFLAGS): Likewise.
21372
c8048e32 213732009-06-05 Colin D Bennett <colin@gibibit.com>
21374
21375 Optimized font character lookup using binary search instead of linear
21376 search. Fonts now are required to have the character index ordered by
21377 code point.
21378
21379 * font/font.c (load_font_index): Verify that fonts have ordered
21380 character indices.
21381 (find_glyph): Use binary search instead of linear search to find a
21382 character in a font.
21383
408305be 213842009-06-05 Michael Scherer <misc@mandriva.org>
21385
21386 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21387 uses case sensitive btree.
21388 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21389 only for case insensitive filesystems.
21390
8ee1e0d9 213912009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21392
21393 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21394 * conf/common.rmk (search_mod_CFLAGS): likewise
21395
a9966eb1 213962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21397
473d1e45 21398 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21399 compensate a compiler bug
21400
9e7100fb 214012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21402
473d1e45 21403 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21404 instead of '\b'
473d1e45 21405
ede21d71 214062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21407
21408 Definitions for creating asm symbols with Apple's CC
21409
21410 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21411 [APPLE_CC] (VARIABLE): likewise
21412
9dbf7653 214132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21414
21415 Disable lnxboot.img when compiled
21416 with Apple's CC
21417
21418 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21419 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21420 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21421 [! APPLE_CC] (CODE_LENG): skip
21422 [! APPLE_CC] (setup_sects): likewise
21423 [! APPLE_CC]: skip filling
473d1e45 21424
e93cdc3d 214252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 Address in trampolines based on 32-bit registers when compiled
21428 with Apple's CC
21429
473d1e45 21430 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21431 for addresses
21432 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21433
6c688477 214342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21437
21438 * kern/misc.c [APPLE_CC] (memcpy): new function
21439 [APPLE_CC] (memmove): likewise
21440 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21441 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21442 (memset): likewise
21443 (abort): likewise
21444 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21445 APPLE_CC are defined
21446 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21447 (grub_assert_fail): make prototype conditional
21448
e37ffc5c 214492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21450
21451 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21452
473d1e45 21453 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21454 grub-macho2img
e37ffc5c 21455 (CLEANFILES): add grub-macho2img
21456 (grub_macho2img_SOURCES): new variable
21457 * kern/i386/pc/startup.S (bss_start): new variable
21458 (bss_end): likewise
21459 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21460 * util/grub-macho2img.c: new file
21461
cf00df31 214622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21463
21464 Use objconv when compiling with Apple's CC
21465
21466 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21467 (efiemu64.o): likewise
21468 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21469 when compiling with Apple's CC
21470 (efiemu64_s.o): likewise
21471 * configure.ac: check for objconv when compiling with Apple's CC
21472 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21473
d119a20c 214742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 Define segment as well as section when compiling with
21477 Apple's CC
21478
21479 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21480 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21481 (efiemu_convert_pointer): likewise
21482 (efiemu_set_virtual_address_map): likewise
21483 (efiemu_convert_pointer): likewise
21484 (efiemu_getcrc32): likewise
21485 (init_crc32_table): likewise
21486 (reflect): likewise
21487 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21488 (GRUB_MOD_DEP): likewise
473d1e45 21489
c8600122 214902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 Allow a compilation without -mcmodel=large
21493
21494 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21495 when compiled without -mcmodel=large
473d1e45 21496 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21497 without -mcmodel=large
473d1e45 21498 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21499 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21500
e8df1d4e 215012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21502
21503 Remove nested functions in efiemu core
21504
21505 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21506
cc6c3ac1 215072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21508
21509 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21510
21511 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21512 temporary storage
473d1e45 21513 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21514 using Apple's CC
cc6c3ac1 21515 (grub_cpu_is_tsc_supported): likewise
21516 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21517
3e325901 215182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21519
21520 Absolute addressing through constant with Apple's cc
21521
21522 * kern/i386/pc/startup.S: Define necessary constants
21523 and address through it when using ABS with Apple's CC
21524 * boot/i386/pc/diskboot.S: likewise
21525 * boot/i386/pc/boot.S: likewise
21526 * boot/i386/pc/lnxboot.S: likewise
21527 * boot/i386/pc/cdboot.S: likewise
21528 * mmap/i386/pc/mmap_helper.S: likewise
21529 * commands/i386/pc/drivemap_int13h.S: likewise
21530
2b167a72 215312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21532
21533 Check if compiler is apple cc
21534
21535 * Makefile.in (ASFLAGS): new variable
21536 (TARGET_ASFLAGS): likewise
21537 (TARGET_MODULE_FORMAT): likewise
21538 (TARGET_APPLE_CC): likewise
21539 (OBJCONV): likewise
21540 (TARGET_IMG_CFLAGS): likewise
21541 (TARGET_CPPFLAGS): add includedir
21542 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21543 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21544 Check for linker script only if compiler isn't Apple's CC
21545 (TARGET_MODULE_FORMAT): set
21546 (TARGET_APPLE_CC): likewise
21547 (TARGET_ASFLAGS): likewise
21548 (ASFLAGS): likewise
21549 Check for objcopy only if compiler isn't Apple's CC
21550 Check for BSS symbol only if compiler isn't Apple's CC
21551 * genmk.rb: adapt nm options if we use Apple's utils
21552 * aclocal.m4 (grub_apple_cc): new test
21553 (grub_apple_target_cc): likewise
473d1e45 21554
fb14123e 215552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 Simplify sed expressions and improve awk
21558
21559 * Makefile.in (install-local): simplify sed expression
21560 * gencmdlist.sh: likewise
21561 * genmoddep.awk: avoid adding module as a dependency of itself
21562
5b889789 215632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21564
21565 Add missing start symbols
21566
21567 * boot/i386/pc/boot.S: add start
fb14123e 21568 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21569
fd2bf2e3 215702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21573
21574 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21575 (relocate_addresses): consider both r_addend and value at offset
21576 (make_mods_section): zerofill modinfo and header
21577 (convert_elf): write prefix here
473d1e45 21578
5389763d 215792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21580
21581 Use .asciz instead of .string
21582
21583 * i386/pc/diskboot.S: use .asciz instead of .string
21584 * i386/pc/boot.S: likewise
21585 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21586 (GRUB_MOD_NAME): likewise
473d1e45 21587
3eb5ed4e 215882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 gfxpayload support
21591
21592 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21593 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21594 (grub_video_setup): remove
21595 (grub_video_set_mode): new prototype
21596 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21597 (vid_mode): remove
21598 (linux_vesafb_res): compile only on PCBIOS
21599 (grub_linux_boot): support gfxpayload
21600 * loader/i386/pc/xnu.c (video_hook): new function
21601 (grub_xnu_set_video): support gfxpayload
21602 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21603 (DEFAULT_VIDEO_HEIGHT): likewise
21604 (DEFAULT_VIDEO_FLAGS): likewise
21605 (DEFAULT_VIDEO_MODE): new definition
21606 (video_hook): new function
21607 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 21608 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 21609 loading xnu
21610 * video/video.c (grub_video_setup): removed
473d1e45 21611 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 21612 grub_video_setup
21613
4b0e1143 216142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 Avoid calling biosdisk in drivemap
21617
21618 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21619 (revparse_biosdisk): likewise
21620 (list_mappings): derive name from id directly
21621 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 21622
fda6cb98 216232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 Script fixes
21626
21627 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21628 (grub_lexer_param): add tokenonhold
21629 (grub_script_create_cmdline): remove cmdline. All callers updated
21630 (grub_script_function_create): make functionname
21631 grub_script_arg. All callers updated
21632 (grub_script_execute_argument_to_string): new prototype
21633 * kern/parser.c (state_transitions): reorder
21634 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 21635 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 21636 make global
21637 (grub_script_execute_cmdline): use new format
21638 * script/sh/function.c (grub_script_function_create): make functionname
21639 grub_script_arg. All callers updated
473d1e45 21640 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 21641 (grub_script_yylex): remove
21642 (grub_script_yylex2): renamed to ...
21643 (grub_script_yylex): ...renamed
21644 parse the expressions like a${b}c
21645 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21646 (GRUB_PARSER_TOKEN_VAR): remove
21647 (GRUB_PARSER_TOKEN_NAME): likewise
21648 ("if"): declare as typeless
21649 ("while"): likewise
21650 ("function"): likewise
21651 ("else"): likewise
21652 ("then"): likewise
21653 ("fi"): likewise
21654 (text): remove
21655 (argument): likewise
21656 (script): accept empty scripts and make exit on error
21657 (arguments): use GRUB_PARSER_TOKEN_ARG
21658 (function): likewise
21659 (command): move error handling to script
21660 (menuentry): move grub_script_lexer_ref before
473d1e45 21661 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 21662 argument. All callers updated
21663
f4448a07 216642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21665
21666 Prevent GRUB from probing floppies during boot.
21667
21668 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21669 * commands/search.c (options): Add --no-floppy.
21670 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21671 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21672 --no-floppy when searching for UUIDs.
21673
2bf5885a 216742009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21675
21676 Simplify the code duplication in commands/search.c.
21677
21678 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21679 (search_fs): ... this. Update all users.
21680
f6fd460a 216812009-06-03 Felix Zielcke <fzielcke@z-51.de>
21682
21683 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21684
cbb3c83e 216852009-05-28 Pavel Roskin <proski@gnu.org>
21686
57788cfd 21687 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21688 Remove the original symlink explicitly.
21689
cbb3c83e 21690 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21691 just one slash. That's how grub_fshelp_find_file() does it.
21692
cd0d5e30 216932009-05-26 Pavel Roskin <proski@gnu.org>
21694
f0f8bbe2 21695 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21696 to `str'.
21697
cd0d5e30 21698 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21699 possibly unused.
21700
8c2cab51 217012009-05-25 Christian Franke <franke@computer.org>
21702
21703 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
21704 register.
21705 (grub_atapi_identify): Add wait after drive select.
21706 (grub_ata_identify): Do more strict status register check before
21707 calling grub_atapi_identify (). Suppress error message if status
21708 register is 0x00 after command failure. Add status register
21709 check after PIO read to avoid bogus identify due to stuck DRQ.
21710 Thanks to Pavel Roskin for testing.
21711 (grub_device_initialize): Remove unsafe status register check.
21712 Thanks to 'phcoder' for problem report and patch.
21713 Prevent sign extension in debug message.
21714
230c0ad6 217152009-05-23 Colin D Bennett <colin@gibibit.com>
21716
21717 Cleaned up `include/grub/normal.h'. Grouped prototypes by
21718 definition file, and functions defined in `normal/menu.c' have had
21719 their prototypes moved to `include/grub/menu.h' for consistency.
21720
21721 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
21722 from normal.h.
21723 (grub_menu_get_entry): Likewise.
21724 (grub_menu_get_timeout): Likewise.
21725 (grub_menu_set_timeout): Likewise.
21726 (grub_menu_execute_entry): Likewise.
21727 (grub_menu_execute_with_fallback): Likewise.
21728 (grub_menu_entry_run): Likewise.
21729
21730 * include/grub/normal.h: Re-ordered and grouped function
21731 prototypes by file that the function is defined in.
21732 (grub_menu_execute_callback): Removed; moved to menu.h.
21733 (grub_menu_get_entry): Likewise.
21734 (grub_menu_get_timeout): Likewise.
21735 (grub_menu_set_timeout): Likewise.
21736 (grub_menu_execute_entry): Likewise.
21737 (grub_menu_execute_with_fallback): Likewise.
21738 (grub_menu_entry_run): Likewise.
21739 (grub_menu_addentry): Renamed from this ...
21740 (grub_normal_add_menu_entry): ... to this.
21741
21742 * normal/main.c (grub_menu_addentry): Renamed from this ...
21743 (grub_normal_add_menu_entry): ... to this.
21744
21745 * script/sh/execute.c (grub_script_execute_menuentry): Update
21746 reference to renamed grub_menu_addentry function.
21747
861f03a5 217482009-05-23 Felix Zielcke <fzielcke@z-51.de>
21749
21750 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
21751
96b1619a 217522009-05-22 Pavel Roskin <proski@gnu.org>
21753
bf6a5fb2 21754 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
21755 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
21756 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
21757 compiling for the i386 targets, but not for the utilities.
21758
96b1619a 21759 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
21760 to grub_uint8_t.
21761 (grub_root_drive): Likewise.
21762 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
21763 remove alignment.
21764 (grub_root_drive): Change size to byte.
21765 (grub_start_addr): Remove.
21766 (grub_end_addr): Likewise.
21767 (grub_apm_bios_info): Likewise.
21768
b729776b 217692009-05-21 Felix Zielcke <fzielcke@z-51.de>
21770
21771 * normal/i386: Remove.
21772 * normal/powerpc: Likewise.
21773 * normal/sparc64: Likewise.
21774 * normal/x86_64: Likewise.
21775
0a15ce80 217762009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 21779 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 21780 * loader/i386/xnu_helper.S: Likewise
d6da58e6 21781
33db9015 217822009-05-18 Colin D Bennett <colin@gibibit.com>
21783
d6da58e6 21784 Display error messages when parsing a Lua statement fails.
21785 Previously, executing a syntactically invalid statement like
21786 ")foo" or "bar;" would silently fail.
33db9015 21787
21788 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 21789 (grub_lua_parse_line): Improved reporting of Lua parser and
21790 execution errors.
33db9015 21791
46422c89 217922009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 Remove -Werror which causes build to fail on some systems
21795
21796 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
21797 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
21798 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 21799
22f53a96 218002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 trampoline for linux on 64-bit platform
21803
18f547ad 21804 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
21805 loader/i386/efi/linux_trampoline.S
21806 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 21807 declaration
d6da58e6 21808 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
21809 here
22f53a96 21810 * loader/i386/linux_trampoline.S: moved here
d6da58e6 21811 * loader/i386/efi/linux.c (allocate_pages): reserve space for
21812 trampoline
22f53a96 21813 (jumpvector): removed
21814 (grub_linux_trampoline_start): new declaration
21815 (grub_linux_trampoline_end): likewise
21816 (grub_linux_boot): use trampoline when on 64-bit platform
21817 * loader/i386/linux.c: likewise
21818
cb5a0f40 218192009-05-16 Pavel Roskin <proski@gnu.org>
21820
21821 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
21822 const to avoid a warning.
21823 (grub_lua_setenv): Likewise.
21824 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
21825 lmsg to fix a warning.
21826
334f2c28 218272009-05-16 Felix Zielcke <fzielcke@z-51.de>
21828
21829 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 21830 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21831 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
21832 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21833 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21834 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21835 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21836 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 21837
59e5d3ec 218382009-05-16 Felix Zielcke <fzielcke@z-51.de>
21839
21840 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
21841
9d87a1ba 218422009-05-16 Bean <bean123ch@gmail.com>
21843
21844 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
21845 (lua_mod_SOURCES): New variable.
21846 (lua_mod_CFLAGS): Likewise.
21847 (lua_mod_LDFLAGS): Likewise.
21848
21849 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
21850 (setjmp_mod_SOURCES): New variable.
21851 (setjmp_mod_CFLAGS): Likewise.
21852 (setjmp_LDFLAGS): Likewise.
21853
21854 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
21855 (setjmp_mod_SOURCES): New variable.
21856 (setjmp_mod_CFLAGS): Likewise.
21857 (setjmp_LDFLAGS): Likewise.
21858
21859 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21860 (setjmp_mod_SOURCES): New variable.
21861 (setjmp_mod_CFLAGS): Likewise.
21862 (setjmp_LDFLAGS): Likewise.
21863
21864 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21865 (setjmp_mod_SOURCES): New variable.
21866 (setjmp_mod_CFLAGS): Likewise.
21867 (setjmp_LDFLAGS): Likewise.
21868
21869 * normal/i386/setjmp.S: Moved from here ...
21870 * lib/i386/setjmp.S: ... Moved here
21871 * normal/x86_64/setjmp.S: Moved from here ...
21872 * lib/x86_64/setjmp.S: ... Moved here
21873 * normal/powerpc/setjmp.S: Moved from here ...
21874 * lib/powerpc/setjmp.S: ... Moved here
21875 * normal/sparc64/setjmp.S: Moved from here ...
21876 * lib/sparc64/setjmp.S: ... Moved here
21877
21878 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
21879 returns_twice in mingw.
21880
21881 * script/lua/grub_lib.c: New file.
21882 * script/lua/grub_lib.h: Likewise.
21883 * script/lua/grub_lua.h: Likewise.
21884 * script/lua/grub_main.c: Likewise.
21885 * script/lua/lapi.c: Likewise.
21886 * script/lua/lapi.h: Likewise.
21887 * script/lua/lauxlib.c: Likewise.
21888 * script/lua/lauxlib.h: Likewise.
21889 * script/lua/lbaselib.c: Likewise.
21890 * script/lua/lcode.c: Likewise.
21891 * script/lua/lcode.h: Likewise.
21892 * script/lua/ldblib.c: Likewise.
21893 * script/lua/ldebug.c: Likewise.
21894 * script/lua/ldebug.h: Likewise.
21895 * script/lua/ldo.c: Likewise.
21896 * script/lua/ldo.h: Likewise.
21897 * script/lua/ldump.c: Likewise.
21898 * script/lua/lfunc.c: Likewise.
21899 * script/lua/lfunc.h: Likewise.
21900 * script/lua/lgc.c: Likewise.
21901 * script/lua/lgc.h: Likewise.
21902 * script/lua/linit.c: Likewise.
21903 * script/lua/liolib.c: Likewise.
21904 * script/lua/llex.c: Likewise.
21905 * script/lua/llex.h: Likewise.
21906 * script/lua/llimits.h: Likewise.
21907 * script/lua/lmathlib.c: Likewise.
21908 * script/lua/lmem.c: Likewise.
21909 * script/lua/lmem.h: Likewise.
21910 * script/lua/loadlib.c: Likewise.
21911 * script/lua/lobject.c: Likewise.
21912 * script/lua/lobject.h: Likewise.
21913 * script/lua/lopcodes.c: Likewise.
21914 * script/lua/lopcodes.h: Likewise.
21915 * script/lua/loslib.c: Likewise.
21916 * script/lua/lparser.c: Likewise.
21917 * script/lua/lparser.h: Likewise.
21918 * script/lua/lstate.c: Likewise.
21919 * script/lua/lstate.h: Likewise.
21920 * script/lua/lstring.c: Likewise.
21921 * script/lua/lstring.h: Likewise.
21922 * script/lua/lstrlib.c: Likewise.
21923 * script/lua/ltable.c: Likewise.
21924 * script/lua/ltable.h: Likewise.
21925 * script/lua/ltablib.c: Likewise.
21926 * script/lua/ltm.c: Likewise.
21927 * script/lua/ltm.h: Likewise.
21928 * script/lua/lua.h: Likewise.
21929 * script/lua/luaconf.h: Likewise.
21930 * script/lua/lualib.h: Likewise.
21931 * script/lua/lundump.c: Likewise.
21932 * script/lua/lundump.h: Likewise.
21933 * script/lua/lvm.c: Likewise.
21934 * script/lua/lvm.h: Likewise.
21935 * script/lua/lzio.c: Likewise.
21936 * script/lua/lzio.h: Likewise.
21937
5e898c9d 219382009-05-16 Bean <bean123ch@gmail.com>
21939
21940 * include/grub/kernel.h (grub_module_header_types): Add type
21941 OBJ_TYPE_CONFIG.
21942
21943 * kern/main.c (grub_load_config): New function.
21944 (grub_main): Call grub_load_config to read boot config.
21945
21946 * grub-mkimage (generate_image): New parameter config_path.
21947 (options): New option --config.
21948 (main): Parse --config option, and pass it to generate_image.
21949
cf353a47 219502009-05-14 Christian Franke <franke@computer.org>
21951
21952 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21953 This fixes build on Cygwin.
21954
3834887f 219552009-05-14 Pavel Roskin <proski@gnu.org>
21956
21957 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21958 jump. This saves two bytes, so the typical case of 2 swapped
21959 drives would fit 32 bytes.
21960
8090fc01 219612009-05-13 Pavel Roskin <proski@gnu.org>
21962
ac963883 21963 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21964 grub_uint32_t to avoid a warning.
21965
8090fc01 21966 * loader/i386/linux.c (allocate_pages): When assigning
21967 real_mode_mem, cast through grub_size_t to fix a warning. The
21968 code already makes sure that the value would fit a pointer.
21969 (grub_linux_setup_video): Cast render_target->data to
21970 grub_size_t to fix a warning.
21971
18f547ad 219722009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 21973
21974 * commands/i386/pc/drivemap.c: New file - implement drivemap
21975 command.
21976 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21977 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21978
6f6a8b28 219792009-05-13 Pavel Roskin <proski@gnu.org>
21980
21981 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21982 embedding_area_exists.
21983
15fbf4c4 219842009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21985
21986 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21987 it easier to understand / work with.
59978c8a 21988 Improve warning messages for cases where there's no embedding area,
21989 or when it is too small (or core.img too large).
15fbf4c4 21990
238e871f 219912009-05-13 Pavel Roskin <proski@gnu.org>
21992
0ab3a9a4 21993 * loader/i386/pc/multiboot2.c: Add necessary includes for
21994 grub_multiboot2_real_boot().
21995
a2c8c5f8 21996 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
21997 PX record is always little-endian. We only need the lower 2
21998 bytes of the mode.
21999
faec96af 22000 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22001 facilitate code reuse.
22002 (grub_cpio_mount): Use "struct head", not a char buffer. This
22003 fixes a warning reported by gcc 4.4.
22004
238e871f 22005 * kernel/disk.c (grub_disk_read): Use void pointer for the
22006 buffer.
22007 (grub_disk_write): Use const void pointer for the buffer.
22008 Adjust all callers. Remove unnecessary casts.
22009
901d2f0c 220102009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22011
22012 * util/i386/pc/grub-install.in: Update copyright year.
22013
18f547ad 220142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22015
22016 gptsync
22017
22018 * commands/gptsync.c: new file
22019 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22020 (gptsync_mod_SOURCES): new variable
22021 (gptsync_mod_CFLAGS): likewise
22022 (gptsync_mod_LDFLAGS): likewise
18f547ad 22023 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22024 new definition
22025 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22026 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22027 * conf/i386-ieee1275.rmk: likewise
22028 * conf/i386-pc.rmk: likewise
22029 * conf/powerpc-ieee1275.rmk: likewise
22030
b4ba690a 220312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 Fixed grub-emu
22034
22035 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22036 (grub_dl_ref): likewise
22037
317e1a44 220382009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22039
22040 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22041 split in two functions (one for msdos and one for gpt).
22042
041b8094 220432009-05-08 Pavel Roskin <proski@gnu.org>
22044
752473c2 22045 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22046 not modified.
22047
041b8094 22048 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22049 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22050 Initialize them with -1. Add sanity check for bad1. Eliminate
22051 nerr variable.
22052
172800ce 220532009-05-08 David S. Miller <davem@davemloft.net>
22054
22055 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22056
29aa5e81 220572009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22058
22059 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22060 existence.
29aa5e81 22061
96613b62 220622009-05-05 Felix Zielcke <fzielcke@z-51.de>
22063
22064 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22065 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22066
eef73c8a 220672009-05-05 David S. Miller <davem@davemloft.net>
22068
22069 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22070
119494b5 220712009-05-05 Pavel Roskin <proski@gnu.org>
22072
22073 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22074 of grub_dl_ref() and grub_dl_unref().
22075 * commands/parttool.c: Remove preprocessor conditionals around
22076 grub_dl_ref() and grub_dl_unref().
22077 * fs/affs.c: Likewise.
22078 * fs/afs.c: Likewise.
22079 * fs/cpio.c: Likewise.
22080 * fs/ext2.c: Likewise.
22081 * fs/fat.c: Likewise.
22082 * fs/hfs.c: Likewise.
22083 * fs/hfsplus.c: Likewise.
22084 * fs/iso9660.c: Likewise.
22085 * fs/jfs.c: Likewise.
22086 * fs/minix.c: Likewise.
22087 * fs/ntfs.c: Likewise.
22088 * fs/reiserfs.c: Likewise.
22089 * fs/sfs.c: Likewise.
22090 * fs/udf.c: Likewise.
22091 * fs/ufs.c: Likewise.
22092 * fs/xfs.c: Likewise.
22093 * include/grub/dl.h: Likewise.
22094 * loader/xnu.c: Likewise.
22095
de5fd76e 220962009-05-04 Pavel Roskin <proski@gnu.org>
22097
22098 * commands/acpi.c: Remove unused variable my_mod.
22099 * partmap/amiga.c: Likewise.
22100 * partmap/apple.c: Likewise.
22101 * partmap/gpt.c: Likewise.
22102 * partmap/pc.c: Likewise.
22103 * partmap/sun.c: Likewise.
22104 * term/gfxterm.c: Likewise.
22105 * term/i386/pc/vesafb.c: Likewise.
22106 * term/i386/pc/vga.c: Likewise.
22107
983598ad 221082009-05-04 David S. Miller <davem@davemloft.net>
22109
22110 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22111 pointer args to grub_ieee1275_get_property().
22112
8aadec43 22113 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22114
9554b15e 22115 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22116 devices, and do not traverse down under controller nodes.
22117
67e23c90 22118 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22119 (grub_ofdisk_open): Use it to un-escape "," characters.
22120 * kern/disk.c (find_part_sep): New.
22121 (grub_disk_open): Use it to find the first non-escaped ','
22122 character in the disk name.
22123 * util/ieee1275/devicemap.c (escape_of_path): New.
22124 (grub_util_emit_devicemap_entry): Use it.
22125 * util/sparc64/ieee1275/grub-install.in: Update script to
22126 strip partition specifiers properly by not triggering on
22127 '\' escaped ',' characters.
22128
74bfdd2f 221292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22130
22131 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22132 to 0x300.
22133 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22134 resolutions.
22135 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22136 on documentation from Wikipedia).
22137
4241d2b1 221382009-05-04 Pavel Roskin <proski@gnu.org>
22139
22140 * disk/ata.c: Spelling fixes.
22141 * disk/raid.c: Likewise.
22142 * disk/usbms.c: Likewise.
22143 * disk/dmraid_nvidia.c: Likewise.
22144 * kern/ieee1275/openfw.c: Likewise.
22145 * kern/ieee1275/init.c: Likewise.
22146 * kern/ieee1275/cmain.c: Likewise.
22147 * boot/i386/pc/cdboot.S: Likewise.
22148 * video/readers/png.c: Likewise.
22149 * video/i386/pc/vbe.c: Likewise.
22150 * fs/udf.c: Likewise.
22151 * fs/hfs.c: Likewise.
22152 * fs/reiserfs.c: Likewise.
22153 * efiemu/runtime/efiemu.c: Likewise.
22154 * efiemu/main.c: Likewise.
22155 * efiemu/mm.c: Likewise.
22156 * include/grub/elf.h: Likewise.
22157 * include/grub/xnu.h: Likewise.
22158 * include/grub/usbdesc.h: Likewise.
22159 * include/grub/usb.h: Likewise.
22160 * include/grub/script_sh.h: Likewise.
22161 * include/grub/lib/LzmaEnc.h: Likewise.
22162 * include/grub/efiemu/efiemu.h: Likewise.
22163 * include/grub/command.h: Likewise.
22164 * normal/menu.c: Likewise.
22165 * normal/main.c: Likewise.
22166 * normal/datetime.c: Likewise.
22167 * bus/usb/uhci.c: Likewise.
22168 * mmap/i386/uppermem.c: Likewise.
22169 * mmap/mmap.c: Likewise.
22170 * commands/acpi.c: Likewise.
22171 * commands/test.c: Likewise.
22172 * partmap/apple.c: Likewise.
22173 * font/font.c: Likewise.
22174 * loader/sparc64/ieee1275/linux.c: Likewise.
22175 * loader/macho.c: Likewise.
22176 * loader/i386/bsd_trampoline.S: Likewise.
22177 * loader/i386/bsd.c: Likewise.
22178 * loader/xnu.c: Likewise.
22179 * term/i386/pc/vesafb.c: Likewise.
22180 * term/usb_keyboard.c: Likewise.
22181 * util/resolve.c: Likewise.
22182 * util/getroot.c: Likewise.
22183
0cfc0083 221842009-05-04 Felix Zielcke <fzielcke@z-51.de>
22185
22186 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22187
7c1d00cd 221882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22189
22190 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22191 build error.
22192
b01f0548 221932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22194
22195 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22196 parameter only available on BIOS.
22197
ecc3eb22 221982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22199
22200 Removed wrong semicolon in declaration
22201
22202 * grub/misc.h (grub_dprintf): remove semicolon
22203
112972a9 222042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22205
22206 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22207 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22208 is done by grub_cmd_linux() now).
22209 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22210 restore video to text mode.
22211 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22212 indicates lack of "vga=" parameter. "vga=0" is mapped to
22213 `GRUB_LINUX_VID_MODE_NORMAL'.
22214
afd5c115 222152009-05-04 Felix Zielcke <fzielcke@z-51.de>
22216
22217 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22218 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22219 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22220 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22221 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22222 `grub_script.tab.c'.
22223
22224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22227 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22228 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22229
faa517ce 22230 * Makefile.in: Remove duplicated 2008 in Copyright line.
22231
ae0c0bdc 222322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22233
473d1e45 22234 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22235 unconditionally.
22236 * include/grub/util/misc.h (grub_util_warn): New declaration.
22237
22238 * util/i386/pc/grub-install.in: Understand --force and pass it down
22239 to grub-setup.
22240
22241 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22242 down to setup().
22243 (setup): Improve error messages and add warnings when requested to
22244 install in odd layouts. Refuse to install using blocklists unless
22245 --force was set.
22246
18f547ad 222472009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22248
22249 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22250
6d260daa 222512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22252
22253 Updated copyright year
22254
22255 * fs/hfsplus.c: updated copyright year
18f547ad 22256
69f853f8 222572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 HFS+ UUID
22260
18f547ad 22261 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22262 in the space previously used by unused3
22263 (grub_hfsplus_uuid): new function
22264 (grub_hfsplus_fs): added uuid field
22265
4c402e73 222662009-05-03 Pavel Roskin <proski@gnu.org>
22267
22268 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22269 suppress warnings. It's no longer needed.
22270 * disk/host.c: Likewise.
22271 * disk/ata_pthru.c: Likewise.
22272 * disk/loopback.c: Likewise.
22273 * hook/datehook.c: Likewise.
22274 * parttool/pcpart.c: Likewise.
22275 * fs/i386/pc/pxe.c: Likewise.
22276 * fs/ntfscomp.c: Likewise.
22277 * efiemu/main.c: Likewise.
22278 * mmap/mmap.c: Likewise.
22279 * commands/crc.c: Likewise.
22280 * commands/hexdump.c: Likewise.
22281 * commands/hdparm.c: Likewise.
22282 * commands/acpi.c: Likewise.
22283 * commands/echo.c: Likewise.
22284 * commands/minicmd.c: Likewise.
22285 * commands/blocklist.c: Likewise.
22286 * commands/memrw.c: Likewise.
22287 * commands/loadenv.c: Likewise.
22288 * commands/usbtest.c: Likewise.
22289 * commands/lsmmap.c: Likewise.
22290 * commands/boot.c: Likewise.
22291 * commands/parttool.c: Likewise.
22292 * commands/configfile.c: Likewise.
22293 * commands/search.c: Likewise.
22294 * commands/ieee1275/suspend.c: Likewise.
22295 * commands/cat.c: Likewise.
22296 * commands/i386/pc/pxecmd.c: Likewise.
22297 * commands/i386/pc/play.c: Likewise.
22298 * commands/i386/pc/halt.c: Likewise.
22299 * commands/i386/pc/vbeinfo.c: Likewise.
22300 * commands/i386/pc/vbetest.c: Likewise.
22301 * commands/lspci.c: Likewise.
22302 * commands/date.c: Likewise.
22303 * commands/handler.c: Likewise.
22304 * commands/ls.c: Likewise.
22305 * commands/test.c: Likewise.
22306 * commands/cmp.c: Likewise.
22307 * commands/efi/loadbios.c: Likewise.
22308 * commands/efi/fixvideo.c: Likewise.
22309 * commands/halt.c: Likewise.
22310 * commands/help.c: Likewise.
22311 * commands/reboot.c: Likewise.
22312 * hello/hello.c: Likewise.
22313 * script/sh/main.c: Likewise.
22314 * loader/xnu.c: Likewise.
22315 * term/terminfo.c: Likewise.
22316 * term/i386/pc/serial.c: Likewise.
22317 * term/usb_keyboard.c: Likewise.
22318
515b5079 223192009-05-03 David S. Miller <davem@davemloft.net>
22320
22321 * normal/menu.c: Include grub/parser.h
22322
dfc31a22 223232009-05-03 Pavel Roskin <proski@gnu.org>
22324
2fee74f1 22325 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22326 not char*.
22327 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22328 Suggested by Javier Martín <lordhabbit@gmail.com>
22329
dfc31a22 22330 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22331 efiemu??.o doesn't exist.
22332 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22333 copying.
22334
18f547ad 223352009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22336
22337 FreeBSD 64-bit support
22338
18f547ad 22339 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22340 and loader/i386/bsd_trampoline.S
22341 (bsd_mod_ASFLAGS): new variable
22342 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22343 (FREEBSD_MODTYPE_KERNEL64): likewise
22344 (grub_bsd64_trampoline_start): likewise
22345 (grub_bsd64_trampoline_end): likewise
22346 (grub_bsd64_trampoline_selfjump): likewise
22347 (grub_bsd64_trampoline_gdt): likewise
22348 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22349 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22350 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22351 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22352 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22353 of "attrib" member
22354 * loader/i386/bsd_pagetable.c: new file
22355 * loader/i386/bsd_trampoline.S: likewise
22356 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22357 (ALIGN_VAR): likewise
22358 (entry_hi): new variable
22359 (kern_end_mdofs): likewise
22360 (is_64bit): likewise
22361 (grub_freebsd_add_meta): use ALIGN_VAR
22362 (grub_e820_mmap): new declaration
22363 (grub_freebsd_add_mmap): new function
22364 (grub_freebsd_add_meta_module): support 64 bit kernels
22365 (grub_freebsd_list_modules): use ALIGN_VAR
22366 (gdt_descriptor): new declaration
22367 (grub_freebsd_boot): support 64 bit kernels
22368 (grub_bsd_elf64_hook): new function
22369 (grub_bsd_load_elf): support elf64
22370
038c5720 223712009-05-03 Bean <bean123ch@gmail.com>
22372
22373 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22374 after we get the result of if statement.
22375
fc45fb58 223762009-05-03 Bean <bean123ch@gmail.com>
22377
22378 * Makefile.in (enable_efiemu): New variable.
22379
22380 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22381 set.
22382 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22383 path.
22384 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22385 path, add -mno-red-zone option.
22386 (efiemu64_s.o): Likewise.
22387 (efiemu64.o): Use macro $^ for source file.
22388
22389 * configure.ac (--enable-efiemu): New option.
22390
bbee0f2b 223912009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 xnu support
22394
22395 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22396 (pkglib_MODULES): add xnu.mod
22397 (xnu_mod_SOURCES): new variable
22398 (xnu_mod_CFLAGS): likewise
22399 (xnu_mod_LDFLAGS): likewise
22400 (xnu_mod_ASFLAGS): likewise
22401 * conf/i386-pc.rmk: likewise
22402 * conf/x86_64-efi.rmk: likewise
7dd4a573 22403 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22404 new declaration
22405 * include/grub/i386/macho.h: new file
22406 * include/grub/i386/xnu.h: likewise
22407 * include/grub/macho.h: likewise
22408 * include/grub/machoload.h: likewise
22409 * include/grub/x86_64/macho.h: likewise
22410 * include/grub/x86_64/xnu.h: likewise
22411 * include/grub/xnu.h: likewise
22412 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22413 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22414 * loader/i386/efi/xnu.c: new file
22415 * loader/i386/pc/xnu.c: likewise
22416 * loader/i386/xnu.c: likewise
22417 * loader/i386/xnu_helper.S: likewise
22418 * loader/macho.c: likewise
22419 * loader/xnu.c: likewise
22420 * loader/xnu_resume.c: likewise
22421 * util/grub-dumpdevtree: likewise
22422 * include/grub/i386/pit.h: include grub/err.h
22423 (grub_pit_wait): export
22424 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22425
5caf964d 224262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 Efiemu
7dd4a573 22429
5caf964d 22430 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22431 _linux_efi, linux_efi.
22432 new files in grub-emu
5caf964d 22433 new targets efiemu32.o and efiemu64.o
22434 * loader/linux_normal_efiemu.c: likewise
22435 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22436 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22437 files to copy
22438 * include/grub/autoefi.h: new file
7dd4a573 22439 * include/grub/i386/efiemu.h: likewise
5caf964d 22440 * include/grub/i386/pc/efiemu.h: likewise
22441 * include/grub/efi/api.h: add LL suffix when necessary
22442 new definitions relating to tables
22443 * include/grub/efiemu/efiemu.h: new file
22444 * include/grub/efiemu/runtime.h: likewise
22445 * efiemu/prepare.c: likewise
22446 * efiemu/loadcore_common.c: likewise
22447 * efiemu/loadcore64.c: likewise
22448 * efiemu/runtime/efiemu.sh: likewise
22449 * efiemu/runtime/efiemu.S: likewise
22450 * efiemu/runtime/efiemu.c: likewise
22451 * efiemu/runtime/config.h: likewise
22452 * efiemu/prepare32.c: likewise
22453 * efiemu/main.c: likewise
22454 * efiemu/modules/pnvram.c: likewise
22455 * efiemu/modules/i386: likewise
22456 * efiemu/modules/i386/pc: likewise
22457 * efiemu/modules/acpi.c: likewise
22458 * efiemu/i386/pc/cfgtables.c: likewise
22459 * efiemu/i386/loadcore64.c: likewise
22460 * efiemu/i386/loadcore32.c: likewise
22461 * efiemu/prepare64.c: likewise
22462 * efiemu/loadcore.c: likewise
22463 * efiemu/symbols.c: likewise
22464 * efiemu/mm.c: likewise
22465 * efiemu/loadcore32.c: likewise
7dd4a573 22466
224672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22468
22469 ACPI spoofing
22470
22471 * commands/acpi.c: new file
22472 * commands/i386/pc/acpi.c: likewise
22473 * commands/efi/acpi.c: likewise
22474 * include/grub/acpi.h: likewise
22475 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22476 (acpi_mod_SOURCES): new variable
22477 (acpi_mod_CFLAGS): likewise
22478 (acpi_mod_LDFLAGS): likewise
22479 * conf/i386-efi.rmk: likewise
22480 * conf/x86_64-efi.rmk: likewise
22481
7dd4a573 224822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22483
22484 Missing part from mmap patch
22485
22486 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22487 (grub_mmap_unregister)
22488 (grub_mmap_free_and_unregister): use grub_mmap_register
22489
7dd4a573 224902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22491
22492 Mmap services
22493
22494 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22495 * loader/i386/linux.c (find_mmap_size): likewise
22496 (allocate_pages): likewise
22497 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22498 (grub_fill_multiboot_mmap): likewise
22499 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22500 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22501 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22502 (OPENBSD_MMAP_RESERVED): likewise
22503 * include/grub/i386/pc/memory.h: include grub/memory.h
22504 (grub_lower_mem): removed
22505 (grub_upper_mem): likewise
22506 (GRUB_MACHINE_MEMORY_ACPI): new definition
22507 (GRUB_MACHINE_MEMORY_NVS): likewise
22508 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22509 (GRUB_MACHINE_MEMORY_HOLE): likewise
22510 (grub_machine_mmap_register): likewise
22511 (grub_machine_mmap_unregister): likewise
22512 (grub_machine_get_upper): likewise
22513 (grub_machine_get_lower): likewise
22514 (grub_machine_get_post64): likewise
22515 * include/grub/i386/efi/memory.h: new file
22516 * include/grub/x86_64/efi/memory.h: likewise
22517 * include/grub/efi/memory.h: likewise
22518 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22519 (mmap_mod_SOURCES): new variable
22520 (mmap_mod_LDFLAGS): likewise
22521 (mmap_mod_ASFLAGS): likewise
22522 * conf/i386-coreboot.rmk: likewise
22523 * conf/i386-ieee1275.rmk: likewise
22524 * conf/i386-efi.rmk: likewise
22525 * conf/x86_64-efi.rmk: likewise
22526 * include/grub/types.h (UINT_TO_PTR): new macro
22527 (PTR_TO_UINT32): likewise
22528 (PTR_TO_UINT64): likewise
22529 * include/grub/memory.h: new file
22530 * mmap/i386/pc/mmap.c: likewise
22531 * mmap/i386/pc/mmap_helper.S: likewise
22532 * mmap/i386/uppermem.c: likewise
22533 * mmap/mmap.c: likewise
22534 * mmap/efi/mmap.c: likewise
7dd4a573 22535 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22536 grub_upper_mem
22537 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22538 (grub_upper_mem): likewise
22539 (grub_machine_init): don't use grub_upper_mem,
22540 make grub_lower_mem local
22541 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22542 grub_mmap_iterate and grub_mmap_get_upper
22543 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22544
d558e6b5 225452009-05-02 Bean <bean123ch@gmail.com>
22546
22547 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22548 script/sh/parser.y.
22549 (pkglib_MODULES): Add normal.mod and sh.mod.
22550 (normal_SOURCES): New variable.
22551 (normal_mod_CFLAGS): Likewise.
22552 (normal_mod_LDFLAGS): Likewise.
22553 (sh_mod_SOURCES): Likewise.
22554 (sh_mod_CFLAGS): Likewise.
22555 (sh_mod_LDFLAGS): Likewise.
22556
22557 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22558 script/sh/lexer.c_DEPENDENCIES.
22559 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22560 kern/rescue_reader.c and kern/rescue_parser.c.
22561 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22562 (grub_emu_SOURCES): Change source files.
22563 (pkglib_MODULES): Remove normal.mod.
22564 (normal_SOURCES): Removed.
22565 (normal_mod_CFLAGS): Likewise.
22566 (normal_mod_LDFLAGS): Likewise.
22567 * conf/i386-coreboot.rmk: Likewise.
22568 * conf/i386-efi.rmk: Likewise.
22569 * conf/i386-ieee1276.rmk: Likewise.
22570 * conf/powerpc-ieee1275.rmk: Likewise.
22571 * conf/sparc64-ieee1275.rmk: Likewise.
22572 * conf/x86_64-efi.rmk: Likewise.
22573
22574 * include/grub/command.h (grub_command_execute): New inline function.
22575
22576 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22577
22578 * include/grub/normal.h: Remove <grub/setjmp.h>.
22579 (grub_fs_module_list): Moved to normal/autofs.c.
22580 (grub_exit_env): Removed.
22581 (grub_command_execute): Likewise.
22582 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22583 parameter script.
22584 (read_command_list): New function declaration.
22585 (read_fs_list): Likewise.
22586
22587 * include/parser.h: Include <grub/reader.h>.
22588 (grub_parser_split_cmdline): Change type of getline parameter.
22589 (grub_parser): New structure.
22590 (grub_parser_class): New variable.
22591 (grub_parser_execute): New function declaration.
22592 (grub_register_rescue_parser): Likewise.
22593 (grub_parser_register): New inline function.
22594 (grub_parser_unregister): Likewise.
22595 (grub_parser_get_current): Likewise.
22596 (grub_parser_set_current): Likewise.
22597
22598 * include/grub/reader.h: New file.
22599 * kern/reader.c: Likewise.
22600 * kern/rescue_parser.c: Likewise.
22601 * kern/rescue_reader.c: Likewise.
22602 * normal/autofs.c: Likewise.
22603 * normal/dyncmd.c: Likewise.
22604
22605 * include/grub/rescue.h: Removed.
22606 * normal/command.h: Likewise.
22607
22608 * include/grub/script.h: Moved to ...
22609 * include/grub/script_sh.h: ... Moved here.
22610 * normal/execute.c: Moved to ...
22611 * script/sh/execute.c: ... Moved here.
22612 * normal/function.c: Moved to ...
22613 * script/sh/function.c: ... Moved here.
22614 * normal/lexer.c: Moved to ...
22615 * script/sh/lexer.c: ... Moved here.
22616 * normal/parser.y: Moved to ...
22617 * script/sh/parser.y: ... Moved here.
22618 * normal/script.c: Moved to ...
22619 * script/sh/script.c: ... Moved here.
22620
22621 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22622 <grub/reader.h>.
22623 (grub_exit_env): Removed.
22624 (fs_module_list): Moved to normal/autofs.c.
22625 (grub_file_getline): Don't handle comment here.
22626 (free_menu): Skip removed field entry->commands.
22627 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22628 script parameter.
22629 (read_config_file): Removed nested parameter, change getline function.
22630 (grub_enter_normal_mode): Removed.
22631 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22632 (read_command_list): Likewise.
22633 (autoload_fs_module): Moved to normal/autofs.c.
22634 (read_fs_list): Likewise.
22635 (reader_nested): New variable.
22636 (grub_normal_execute): Run parser.sh to switch to sh parser.
22637 (grub_cmd_rescue): Removed.
22638 (cmd_normal): Removed.
22639 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22640 rescue command.
22641 (grub_cmdline_run): New function.
22642 (grub_normal_reader_init): Likewise.
22643 (grub_normal_read_line): Likewise.
22644 (grub_env_write_pager): Likewise.
22645 (cmdline): New variable.
22646 (grub_normal_reader): Likewise.
22647 (GRUB_MOD_INIT): Register normal reader and set as current, register
22648 pager hook, register normal command with grub_register_command_prio,
22649 so that it won't show up in command.lst.
22650 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22651 grub_fs_autoload_hook.
22652
22653 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22654 (grub_menu_execute_entry): Replace grub_script_execute with
22655 grub_parser_execute, change parameter to grub_command_execute.
22656
22657 * normal/menu_text.c: Remove <grub/script.h>.
22658
22659 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22660 and <grub/parser.h>.
22661 (run): Change editor_getline to use new parser interface. Change
22662 parameter to grub_command_execute.
22663
22664 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22665 <grub/reader.h> and <grub/parser.h>.
22666 (grub_load_normal_mode): Execute normal command.
22667 (grub_main): Call grub_register_core_commands,
22668 grub_register_rescue_parser and grub_register_rescue_reader, use
22669 grub_reader_loop to enter input loop.
22670
7dd4a573 22671 * kern/parser.c (grub_parser_split_cmdline): Change type of
22672 getline parameter.
d558e6b5 22673 (grub_parser_class): New variable.
22674 (grub_parser_execute): New function.
22675
22676 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22677 * loader/multiboot2.c: Likewise.
22678 * loader/sparc64/ieee1275/linux.c: Likewise.
22679
22680 * util/grub-emu.c (read_command_list): New dummy function.
22681
18db813d 226822009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22683
22684 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22685 count to 16 for CCISS and IDA.
22686
6c67de15 226872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22688
22689 * normal/menu_text.c (grub_wait_after_message): Print a newline
22690 after waiting for user input.
22691
22692 * loader/i386/linux.c: Include `<grub/normal.h>'.
22693 (grub_cmd_linux): Improve the error message about `ask' mode, by
22694 waiting for user input so it's not missed (we can do this, since
22695 user requested interaction).
22696
d9dc87b0 226972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22698
22699 Added missing lst to grub-mkrescue
22700
22701 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
22702 and ${input_dir}/parttool.lst
22703
ac8a2baa 227042009-04-30 David S. Miller <davem@davemloft.net>
22705
ad22a610 22706 * util/hostdisk.c (device_is_wholedisk): New function.
22707 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
22708 zero only if device_is_wholedisk() returns true.
22709
6966215d 22710 * util/hostdisk.c (convert_system_partition_to_system_disk):
22711 Handle virtual disk devices named /dev/vdiskX as found on sparc
22712 and powerpc.
22713
ac8a2baa 22714 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
22715 lettered partition specifier is found, convert to numbered.
22716
979b4fb4 227172009-04-29 David S. Miller <davem@davemloft.net>
22718
e2bf39b2 22719 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
22720 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22721
3c64e104 22722 * normal/command.c: Add missing newline at end of file.
22723
979b4fb4 22724 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
22725 warnings.
22726 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
22727 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
22728 grub_ofdisk_read): Likewise, and deal similarly with the fact that
22729 ihandles have a 32-bit type but need to be stored in a "void *".
22730
136d9f82 227312009-04-28 Pavel Roskin <proski@gnu.org>
22732
9459c306 22733 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
22734 not disk. Adjust all dependencies.
2e08a26a 22735 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 22736 grub_disk_close().
22737
136d9f82 22738 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
22739 parent's partition, don't copy it by reference, as it gets freed
22740 on close.
22741
7dd4a573 227422009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 22743
22744 Preboot hooks support
22745
22746 * commands/boot.c (struct grub_preboot_t): new declaration
22747 (preboots_head): new variable
22748 (preboots_tail): likewise
22749 (grub_loader_register_preboot_hook): new function
22750 (grub_loader_unregister_preboot_hook): likewise
22751 (grub_loader_set): launch preboot hooks
22752 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
22753 (grub_loader_register_preboot_hook): new declaration
22754 (grub_loader_unregister_preboot_hook): likewise
22755
5af922b5 227562009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22757
22758 Warning fix
22759
7dd4a573 22760 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 22761 calling grub_dprintf
22762
a5562c30 227632009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 Bug and warning fixes
22766
7dd4a573 22767 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 22768 declaration
22769 * commands/test.c (test_parse): fixed bug with file tests and corrected
22770 declaration of find_file
22771
4006f85c 227722009-04-26 Pavel Roskin <proski@gnu.org>
22773
22774 * Makefile.in: Don't install empty manual pages if help2man is
22775 missing. Use help2man option for output, not shell redirection.
22776
5c77c3de 227772009-04-26 David S. Miller <davem@davemloft.net>
22778
22779 * util/grub-mkdevicemap.c (make_device_map): Add missing
22780 NESTED_FUNC_ATTR to process_device().
22781
033b10a8 227822009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 Test command
22785
22786 * commands/test.c: rewritten to use bash-like test
22787
e4343593 227882009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22789
22790 Parttool autoloading and improvements
22791
7dd4a573 22792 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 22793 (parttool.lst): new target
22794 * genmk.rb: generate parttool-*
22795 (CLEANFILES): add #{parttool}
22796 (PARTTOOLFILES): new variable
22797 * genparttoollist.sh: new file
7dd4a573 22798 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 22799 (grub_pcpart_type): likewise
22800 * commands/parttool.c (helpmsg): new variable
22801 (grub_cmd_parttool): output help if not enough arguments are supplied
22802 autoload modules
22803 (GRUB_MOD_INIT(parttool)): use helpmsg
22804
0d312500 228052009-04-24 David S. Miller <davem@davemloft.net>
22806
7dd4a573 22807 Avoiding opening same device multiple times in device iterator.
0d312500 22808
22809 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 22810 and use it to build a list of partitions in iterate_disk() and
0d312500 22811 iterate_partition().
22812
ac20caff 22813 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
22814 on disk->data.
22815
0dcf7495 22816 * disk/ieee1275/nand.c (grub_nand_iterate): Return
22817 grub_devalias_iterate() result instead of unconditional 0.
22818 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
22819 Also, capture hook return value, either directly or via
22820 grub_children_iterate(), and propagate to caller.
22821 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
22822 grub_children_iterate): Return value is now 'int' instead of
22823 'grub_err_t'.
22824 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
22825 like a proper iterator, stopping when hooks return non-zero.
22826 (grub_devalias_iterate): Likewise.
22827
c8c08833 228282009-04-23 David S. Miller <davem@davemloft.net>
22829
22830 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
22831
f01005a8 228322009-04-22 David S. Miller <davem@davemloft.net>
22833
22834 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
22835 is larger than address_cells, use that value for address_cells too.
22836
4e8269da 22837 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
22838 IEEE1275_MAX_PATH_LEN): Define.
22839 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
22840 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
22841 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
22842 'devtype'. Explicitly NULL terminate devalias expansion.
22843
a1447506 22844 * util/sparc64/ieee1275/misc.c: New file.
22845 * util/sparc64/ieee1275/grub-setup.c: New file.
22846 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
22847 * util/sparc64/ieee1275/grub-mkimage.c: New file.
22848 * util/sparc64/ieee1275/grub-install.in: New file.
22849 * util/ieee1275/ofpath.c: New file.
22850 * util/ieee1275/devicemap.c: New file.
22851 * util/devicemap.c: New file.
22852 * util/deviceiter.c: New file.
22853 * kern/sparc64/ieee1275/init.c: New file.
22854 * include/grub/util/ofpath.h: New file.
22855 * include/grub/util/deviceiter.h: New file.
22856 * util/grub-mkdevicemap.c: Include deviceiter.h.
22857 Implement using grub_util_emit_devicemap_entry and
22858 grub_util_iterate_devices.
22859 * conf/i386-corebook.rmk: Build util/deviceiter.c and
22860 util/devicemap.c into grub-mkdevicemap
22861 * conf/i386-efi.rmk: Likewise.
22862 * conf/i386-ieee1275.rmk: Likewise.
22863 * conf/i386-pc.rmk: Likewise.
22864 * conf/powerpc-ieee1275.rmk: Likewise.
22865 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
22866 images and installation utilities. Build kernel as image
22867 instead of as elf binary. Use common rules as much as possible.
22868
7dd4a573 228692009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 22870
22871 Correct GPT definition
22872
7dd4a573 22873 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 22874 of "attrib" member
22875
c6c5219f 228762009-04-19 Felix Zielcke <fzielcke@z-51.de>
22877
22878 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
22879
0552ff9f 228802009-04-19 David S. Miller <davem@davemloft.net>
22881
22882 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
22883 (grub_rescue_cmd_linux): Rename to...
22884 (grub_cmd_linux): and fix prototype.
22885 (grub_rescue_cmd_initrd): Rename to...
22886 (grub_cmd_initrd): and fix prototype.
22887 (cmd_linux, cmd_initrd): New.
22888 (GRUB_MOD_INIT(linux)): Use grub_register_command().
22889 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
22890
d1a282fc 228912009-04-17 Pavel Roskin <proski@gnu.org>
22892
07c5039f 22893 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
22894 format.
22895 (grub_ohci_transfer): Likewise.
22896
b012002d 22897 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
22898
1bc09c35 22899 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
22900 return without a value. Fix inconsistent indentation.
22901
e0ff9126 22902 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
22903 match struct grub_fs.
22904
d1a282fc 22905 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
22906 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
22907 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22908 * commands/lspci.c (grub_lspci_iter): Likewise.
22909
a96df3f2 229102009-04-16 Bean <bean123ch@gmail.com>
22911
22912 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
22913 value.
22914
41bb0fe9 229152009-04-15 Pavel Roskin <proski@gnu.org>
22916
22917 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
22918 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
22919 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
22920 definitions.
22921
596c6970 229222009-04-15 Felix Zielcke <fzielcke@z-51.de>
22923
22924 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 22925 that no multiple data or metadata areas are supported and `Unknown
596c6970 22926 metadata header'.
22927
7dd4a573 229282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 22929
22930 Move loader out of the kernel
22931
22932 * kern/loader.c: moved to ...
22933 * commands/boot.c: ... moved here
22934 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
22935 * commands/boot.c (grub_cmd_boot): moved here. All users updated
22936 * include/grub/kernel.h (grub_machine_fini): export
22937 * include/grub/loader.h (grub_loader_is_loaded): update declaration
22938 (grub_loader_set): likewise
22939 (grub_loader_unset): likewise
22940 (grub_loader_boot): likewise
22941 * conf/common.rmk: new module boot.mod
22942 (pkglib_MODULES): add boot.mod
22943 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
22944 (grub_emu_SOURCES): likewise
22945 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22946 (grub_emu_SOURCES): likewise
22947 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22948 (grub_emu_SOURCES): likewise
22949 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22950 (grub_emu_SOURCES): likewise
22951 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22952 (grub_emu_SOURCES): likewise
7dd4a573 22953 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22954 (grub_emu_SOURCES): likewise
0d5d5653 22955 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 22956 (grub_emu_SOURCES): likewise
0d5d5653 22957
7dd4a573 229582009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 22959
22960 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 22961
5999d619 22962 * kern/misc.c (grub_itoa): Removed function
22963 (grub_ltoa): likewise
22964 (grub_vsprintf): use grub_lltoa
22965
7dd4a573 229662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 22967
22968 Restore grub-emu
22969
22970 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22971 * conf/i386-coreboot.rmk: likewise
22972 * conf/i386-ieee1275.rmk: likewise
22973 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22974
20318222 229752009-04-15 Felix Zielcke <fzielcke@z-51.de>
22976
22977 * INSTALL: Add that `./autogen.sh' needs to be run before
22978 `./configure.'.
22979
d05f0df3 229802009-04-14 Bean <bean123ch@gmail.com>
22981
22982 * Makefile.in (pkglib_DATA): Add handler.lst.
22983 (handler.lst): New rule.
22984
22985 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22986 * conf/i386-coreboot.rmk: Likewise.
22987 * conf/i386-ieee1275.rmk: Likewise.
22988 * conf/i386-efi.rmk: Likewise.
22989 * conf/x86_64-efi.rmk: Likewise.
22990 * conf/powerpc-ieee1275.rmk: Likewise.
22991 * conf/sparc64-ieee1275.rmk: Likewise.
22992
22993 * genhandlerlist.sh: New file.
22994
22995 * genmk.rb: Add rules to generate handler.lst.
22996
22997 * include/grub/normal.h (grub_file_getline): New function definition.
22998 (read_handler_list): Likewise.
22999 (free_handler_list): Likewise.
23000
23001 * include/grub/term.h (grub_term_register_input): Add name parameter
23002 for auto generation of handler.lst.
23003 (grub_term_register_output): Likewise.
23004
23005 * normal/handler.c: New file.
23006
23007 * normal/main.c (get_line): Renamed to grub_file_getline.
23008 (read_config_file): Use the newly renamed grub_file_getline.
23009 (read_command_list): Likewise.
23010 (read_fs_list): Likewise.
23011 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23012 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23013
23014 * term/efi/console.c (grub_console_init): Add name parameter for auto
23015 generation of handler.lst.
23016 * term/gfxterm.c: Likewise.
23017 * term/i386/pc/at_keyboard.c: Likewise.
23018 * term/i386/pc/console.c: Likewise.
23019 * term/i386/pc/serial.c: Likewise.
23020 * term/i386/pc/vesafb.c: Likewise.
23021 * term/i386/pc/vga.c: Likewise.
23022 * term/i386/pc/vga_text.c: Likewise.
23023 * term/ieee1275/ofconsole.c: Likewise.
23024 * term/usb_keyboard.c: Likewise.
23025
33c846be 230262009-04-14 Bean <bean123ch@gmail.com>
23027
23028 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23029 properly with null character.
23030
4484e01e 230312009-04-14 Felix Zielcke <fzielcke@z-51.de>
23032
23033 * configure: Remove.
23034 * config.h.in: Likewise.
f93d668e 23035 * stamp-h.in: Likewise.
4484e01e 23036 * DISTLIST: Likewise.
23037 * conf/common.mk: Likewise.
23038 * conf/i386-coreboot.mk: Likewise.
23039 * conf/i386-efi.mk: Likewise.
23040 * conf/i386-ieee1275.mk: Likewise.
23041 * conf/i386.mk: Likewise.
23042 * conf/i386-pc.mk: Likewise.
23043 * conf/powerpc-ieee1275.mk: Likewise.
23044 * conf/sparc64-ieee1275.mk: Likewise.
23045 * conf/x86_64-efi.mk: Likewise.
23046
23047 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23048 develop on GRUB.
23049
7dd4a573 230502009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23051 David S. Miller <davem@davemloft.net>
23052
23053 * util/hostdisk.c (make_device_name): Fix buffer length
23054 calculations.
23055
e25b5a8c 230562009-04-14 Felix Zielcke <fzielcke@z-51.de>
23057
23058 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23059 <sys/param.h> and <sys/sysctl.h>.
23060 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23061 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23062 opening the device and reset them afterwards.
23063
1f1f580c 230642009-04-13 Pavel Roskin <proski@gnu.org>
23065
23066 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23067 Reported by John Stanley <jpsinthemix@verizon.net>
23068
7ebc2d6b 230692009-04-13 Robert Millan <rmh@aybabtu.com>
23070
23071 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23072 that name for menuentries when appropriate.
7ebc2d6b 23073
d8ba3667 230742009-04-13 Felix Zielcke <fzielcke@z-51.de>
23075
23076 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23077
cba416eb 230782009-04-13 Robert Millan <rmh@aybabtu.com>
23079
23080 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23081 to Linux, simply abort telling the user it's no longer supported.
23082
a547a745 230832009-04-13 Felix Zielcke <fzielcke@z-51.de>
23084
23085 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23086 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23087 `freebsd_loadenv' only when devices.hints exist.
23088
232a769c 230892009-04-13 Pavel Roskin <proski@gnu.org>
23090
23091 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23092
c3012039 230932009-04-13 Felix Zielcke <fzielcke@z-51.de>
23094
23095 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23096 partition number.
23097 (grub_drive): Likewise.
23098
234022fe 230992009-04-13 David S. Miller <davem@davemloft.net>
23100
23101 * kern/sparc64/ieee1275/ieee1275.c: New file.
23102 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23103 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23104 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23105 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23106 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23107 grub_ieee1275_alloc_physmem): Declare new exported functions.
23108
d8e1836c 23109 * include/grub/sparc64/ieee1275/loader.h: New file.
23110 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23111 * include/grub/sparc64/kernel.h: Likewise.
23112 * loader/sparc64/ieee1275/linux.c: Likewise.
23113
96bd81ec 23114 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23115 (grub_fstest_SOURCES): Likewise.
23116
6a4737e5 23117 * util/hostdisk.c (make_device_name): Do not make any assumptions
23118 about the length of drive names.
23119
1d7a72fd 23120 * kern/dl.c (grub_dl_load_file): Close file immediately when
23121 we are done using it.
23122
56bc2471 231232009-04-12 David S. Miller <davem@davemloft.net>
23124
23125 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23126 values. Noticed by Pavel Roskin.
23127
df38d0bb 23128 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23129 target compiler.
7dd4a573 23130
e382e93a 23131 * genmk.rb: Add more flexible image type specification, also
23132 pass --strip-unneeded to objcopy.
23133 * conf/i386-pc.rmk: Use *_FORMAT.
23134 * conf/i386-pc.mk: Rebuilt.
23135
f5dbbca9 23136 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23137 (OFDISK_HASH_SZ): Define.
23138 (ofdisk_hash): New hash table.
23139 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23140 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23141 instead of device phandle which is not unique.
23142
91c88b12 23143 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23144 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23145 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23146 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23147 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23148 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23149 GRUB_KERNEL_MACHINE_DATA_END): Define.
23150 (grub_kernel_image_size, grub_total_module_size): Declare.
23151
5b5d4aa5 231522009-04-12 Pavel Roskin <proski@gnu.org>
23153
7dd4a573 23154 * configure.ac: Change the logic when we check for target tools.
23155 Do it when the target is specified and it's different from the
23156 specified value of the host.
5b5d4aa5 23157
c91e1793 231582009-04-11 Felix Zielcke <fzielcke@z-51.de>
23159
23160 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23161 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23162 GNU/kFreeBSD. Check if a device is a character device. Use
23163 DIOCGMEDIASIZE to get the size.
23164 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23165 support for GNU/kFreeBSD.
23166 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23167 is a character device instead of a block device. Add support for
23168 FreeBSD device names.
23169
23170 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23171 is a character device instead of a block device.
23172
23173 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23174 is a character device instead of a block device.
23175
b1ac8644 231762009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23177
23178 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23179 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23180 FreeBSD. Check if a device is a character device. Use
23181 DIOCGMEDIASIZE to get the size.
23182 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23183 support for FreeBSD.
23184 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23185 is a character device instead of a block device. Add support for
23186 FreeBSD device names.
23187
23188 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23189 a character device instead of a block device.
23190 (grub_util_check_char_device): New function.
23191
23192 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23193 a character device instead of a block device.
23194
23195 * include/grub/util/getroot.h (grub_util_check_char_device): New
23196 prototype.
23197
a3f7515a 231982009-04-11 David S. Miller <davem@davemloft.net>
23199
23200 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23201 static libgcc.
23202 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23203 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23204 function, if present.
23205 (__bswapdi2): Likewise.
23206
0d44993d 23207 * include/grub/sparc64/ieee1275/boot.h: New file.
23208 * boot/sparc64/ieee1275/boot.S: Likewise.
23209 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23210
ed3d2bc2 23211 * kern/misc.c (grub_ltoa): New function.
23212 (grub_vsprintf): Use it to format 'long' integers.
23213
d3bfb59c 232142009-04-10 David S. Miller <davem@davemloft.net>
23215
23216 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23217 slots are of type grub_ieee1275_cell_t.
23218 (grub_nand_read): Likewise.
23219 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23220 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23221 macros are used to compare values in arg/ret block of the call.
23222 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23223 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23224 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23225 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23226 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23227 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23228 grub_ieee1275_close, grub_ieee1275_set_property,
23229 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23230 grub_ieee1275_cell_t.
23231 * kern/ieee1275/openfw.c (grub_map): Likewise.
23232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23233 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23234
450e2238 23235 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23236 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23237 (grub_devalias_iterate): Likewise.
23238
7dd4a573 232392009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23240
23241 UFS improvements
23242
23243 * fs/ufs.c (INODE_NBLOCKS): new definition
23244 (struct grub_ufs_dirent): added fields for non-BSD dirents
23245 (grub_ufs_get_file_block): fixed double indirect handling
23246 (grub_ufs_lookup_symlink): use more robust way to determine whether
23247 symlink is inline
23248 (grub_ufs_find_file): support for non-BSD dirents
23249 (grub_ufs_dir): support for non-BSD dirents
23250
e7e6862a 232512009-04-10 Bean <bean123ch@gnail.com>
23252
23253 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23254 attribute, otherwise the size would be wrong for i386 platform.
23255
23256 * include/grub/pci.h (grub_pci_read_word): New inline function.
23257 (grub_pci_read_byte): Likewise.
23258 (grub_pci_write): Likewise.
23259 (grub_pci_write_word): Likewise.
23260 (grub_pci_write_byte): Likewise.
23261
23262 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23263
23264 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23265 (find_framebuf): Scan pci to locate the frame buffer address.
23266
23267 * commands/efi/fixvideo.c: New file.
23268
23269 * commands/efi/loadbios.c: Likewise.
23270
23271 * commands/memrw.c: Likewise.
23272
23273 * util/grub-dumpbios.in: Likewise.
23274
23275 * conf/common.rmk (grub-dumpbios): New utility.
23276 (pkglib_MODULES): New module memrw.mod.
23277 (memrw_mod_SOURCE): New macro.
23278 (memrw_mod_CFLAGS): Likewise.
23279 (memrw_mod_LDFLAGS): Likewise.
23280
7dd4a573 23281 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23282 fixvideo.mod.
23283 (loadbios_mod_SOURCE): New macro.
23284 (loadbios_mod_CFLAGS): Likewise.
23285 (loadbios_mod_LDFLAGS): Likewise.
23286 (fixvideo_mod_SOURCE): Likewise.
23287 (fixvideo_mod_CFLAGS): Likewise.
23288 (fixvideo_mod_LDFLAGS): Likewise.
23289
7dd4a573 23290 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23291 fixvideo.mod.
23292 (loadbios_mod_SOURCE): New macro.
23293 (loadbios_mod_CFLAGS): Likewise.
23294 (loadbios_mod_LDFLAGS): Likewise.
23295 (fixvideo_mod_SOURCE): Likewise.
23296 (fixvideo_mod_CFLAGS): Likewise.
23297 (fixvideo_mod_LDFLAGS): Likewise.
23298
af63ada2 232992009-04-08 Felix Zielcke <fzielcke@z-51.de>
23300
23301 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23302
c2cdde70 233032009-04-07 David S. Miller <davem@davemloft.net>
23304
23305 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23306 support for R_SPARC_OLO10 relocations. Fix compile warning for
23307 R_SPARC_WDISP30 case.
ea3f72cf 23308 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23309
761319cf 233102009-04-06 Pavel Roskin <proski@gnu.org>
23311
1007d1f5 23312 * include/grub/misc.h (ARRAY_SIZE): New macro.
23313 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23314 New macro.
23315 * loader/i386/linux.c (allocate_pages): Use free_pages().
23316 (grub_linux_unload): Don't use free_pages().
23317 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23318 wrong index. Treat all other modes as text modes.
23319 (grub_cmd_linux): Initialize vid_mode unconditionally to
23320 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23321
761319cf 23322 * commands/help.c (print_command_help): Use cmd->prio, not
23323 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23324
ea761d40 233252009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23326
ea761d40 23327 Parttool
23328
23329 * parttool/pcpart.c: new file
23330 * commands/parttool.c: likewise
23331 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23332 (parttool_mod_SOURCES): new variable
23333 (parttool_mod_CFLAGS): likewise
23334 (parttool_mod_LDFLAGS): likewise
23335 (pcpart_mod_SOURCES): likewise
23336 (pcpart_mod_CFLAGS): likewise
23337 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23338 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23339 and parttool/pcpart.c
23340 * conf/i386-efi.rmk: likewise
23341 * conf/i386-ieee1275.rmk: likewise
23342 * conf/i386-pc.rmk: likewise
23343 * conf/powerpc-ieee1275.rmk: likewise
23344 * conf/sparc64-ieee1275.rmk: likewise
23345 * conf/x86_64-ieee1275.rmk: likewise
23346
05aaebfb 233472009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23348
23349 Support for mtime and further expandability of dir command
23350
23351 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23352 * include/grub/datetime.h: ... moved here and added
05aaebfb 23353 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23354 * include/grub/fs.h: new syntax for dir and mtime functions in
23355 struct grub_fs
05aaebfb 23356 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23357 and GRUB_FSHELP_FLAGS_MASK
23358 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23359 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23360 (grub_ext2_mtime): new function
23361 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23362 (grub_hfsplus_mtime): new function
23363 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23364 (GRUB_UFS_ATTR_FILE): likewise
23365 (GRUB_UFS_ATTR_LNK): likewise
23366 (struct grub_ufs_sblock): new fields mtime
23367 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23368 all users updated
23369 (grub_ufs_dir): mtime support
23370 (grub_ufs_mtime): new function
23371 * fs/affs.c (grub_affs_dir): use new dir syntax
23372 * fs/afs.c (grub_afs_dir): likewise
23373 * fs/cpio.c (grub_cpio_dir): likewise
23374 * fs/fat.c (grub_fat_find_dir): likewise
23375 * fs/hfs.c (grub_hfs_dir): likewise
23376 * fs/iso9660.c (grub_iso9660_dir): likewise
23377 * fs/jfs.c (grub_jfs_dir): likewise
23378 * fs/minix.c (grub_minix_dir): likewise
23379 * fs/ntfs.c (grub_ntfs_dir): likewise
23380 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23381 * fs/sfs.c (grub_sfs_dir): likewise
23382 * fs/xfs.c (grub_xfs_dir): likewise
23383 * util/hostfs.c (grub_hostfs_dir): likewise
23384 * lib/datetime.c: moved to ...
23385 * normal/datetime.c: ... moved here
23386 (grub_unixtime2datetime): new function
23387 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23388 * normal/completion.c (iterate_dir): use new dir syntax
23389 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23390 last modification time of a volume
7dd4a573 23391 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23392 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23394 (normal_mod_SOURCES): likewise
23395 (datetime_mod_SOURCES): Removed lib/datetime.c
23396 * conf/i386-efi.rmk: likewise
7dd4a573 23397 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23398 * conf/i386-pc.rmk: likewise
23399 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23400 * conf/sparc64-ieee1275.rmk: likewise
23401 * conf/x86_64-efi.rmk: likewise
05aaebfb 23402
8a7e1a14 234032009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23406
23407 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23408 on grub_fat_find_dir
23409 (grub_fat_find_dir): use grub_fat_iterate_dir
23410 (grub_fat_label): likewise
23411
04186a9c 234122009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23413
7dd4a573 23414 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23415 and command.h
23416 remove extraneous kernel_elf_HEADERS
23417
da4c0bb6 234182009-04-04 Bean <bean123ch@gnail.com>
23419
23420 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23421
23422 * util/misc.c: Likewise.
23423
54ad9555 234242009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23425
23426 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23427 instead of grub_printf.
23428
7a6bf9f2 234292009-04-03 Robert Millan <rmh@aybabtu.com>
23430
23431 * loader/i386/linux.c (grub_linux_setup_video): Fill
23432 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23433 values from `mode info' structure instead of hardcoded
23434 values.
23435
3fcc2083 234362009-04-01 Pavel Roskin <proski@gnu.org>
23437
23438 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23439 unused now.
23440 * genmk.rb: Likewise.
23441 * configure.ac: Likewise.
23442
5ec9740b 234432009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23444
23445 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23446 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23447
5270cec8 234482009-04-01 David S. Miller <davem@davemloft.net>
23449
23450 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23451 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23452 (grub_setjmp): Mark with 'returns_twice' attribute.
23453 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23454 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23455 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23456
9c3dd854 234572009-04-01 Robert Millan <rmh@aybabtu.com>
23458
23459 Reapply fix from 2008-07-28 which was accidentally reverted; also
23460 perform the same fix to a similar check in same function.
23461
23462 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23463 with the same number are found, just use issue a warning with
23464 grub_dprintf(), as this error has been reported to be non-fatal.
23465
0d818b7e 234662009-03-31 Pavel Roskin <proski@gnu.org>
23467
23468 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23469 for cross-compilation.
23470
95646d92 234712009-03-30 Robert Millan <rmh@aybabtu.com>
23472
23473 Fix i386-ieee1275 build.
23474
23475 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23476 Remove declaration.
23477
6a003ed1 234782009-03-30 Pavel Roskin <proski@gnu.org>
23479
23480 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23481 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23482 zero-terminated, rely only on the strlen value. Fix comparison
23483 of strings differing in length.
23484
92f33540 234852009-03-30 Robert Millan <rmh@aybabtu.com>
23486
23487 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23488 checking for abi version. Improve error messages on BIOS to notify
23489 user about `linux16' command.
23490
a8c48fd5 234912009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23492
f968172e 23493 Leak fixes
a8c48fd5 23494
f968172e 23495 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23496 in case of collision
23497 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23498
9c323f09 234992009-03-29 Robert Millan <rmh@aybabtu.com>
23500
23501 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23502 set `vid_mode' accordingly.
23503 (grub_linux_boot): Process `vid_mode' and set video mode.
23504
ae68f423 235052009-03-29 Robert Millan <rmh@aybabtu.com>
23506
23507 * util/grub.d/10_linux.in (linux_entry): New function.
23508 Factorize generation of Linux boot entries.
23509
5709cfc4 235102009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23511
23512 Make the format of Environment Block plain text. The boot loader
23513 part is not tested well yet.
7dd4a573 23514
5709cfc4 23515 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23516 (buffer): Removed.
23517 (envblk): Likewise.
23518 (usage): Remove "info" and "clear". Add "unset". Update the
23519 description of "set", as this does not delete variables any
23520 longer.
23521 (create_envblk_file): Complete rewrite.
23522 (open_envblk_file): Likewise.
23523 (cmd_info): Removed.
23524 (cmd_list): Likewise.
23525 (cmd_set): Likewise.
23526 (cmd_clear): Likewise.
23527 (list_variables): New function.
23528 (write_envblk): Likewise.
23529 (set_variables): Likewise.
23530 (unset_variables): Likewise.
23531 (main): Complete rewrite.
23532
23533 * commands/loadenv.c (buffer): Removed.
23534 (envblk): Likewise.
23535 (open_envblk_file): New function.
23536 (read_envblk_file): Complete rewrite.
23537 (grub_cmd_load_env): Likewise.
23538 (grub_cmd_list_env): Likewise.
23539 (struct blocklist): New struct.
23540 (free_blocklists): New function.
23541 (check_blocklists): Likewise.
23542 (write_blocklists): Likewise.
23543 (grub_cmd_save_env): Complete rewrite.
23544
23545 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23546 a plain text signature.
23547 (GRUB_ENVBLK_MAXLEN): Removed.
23548 (struct grub_envblk): Complete rewrite.
23549 (grub_envblk_find): Removed.
23550 (grub_envblk_insert): Likewise.
23551 (grub_envblk_open): New prototype.
23552 (grub_envblk_set): Likewise.
23553 (grub_envblk_delete): Put const to VALUE.
23554 (grub_envblk_iterate): Put const to NAME and VALUE.
23555 (grub_envblk_close): New prototype.
23556 (grub_envblk_buffer): New inline function.
23557 (grub_envblk_size): Likewise.
23558
23559 * lib/envblk.c: Include grub/mm.h.
23560 (grub_env_find): Removed.
23561 (grub_envblk_open): New function.
23562 (grub_envblk_close): Likewise.
23563 (escaped_value_len): Likewise.
23564 (find_next_line): Likewise.
23565 (grub_envblk_insert): Removed.
23566 (grub_envblk_set): New function.
23567 (grub_envblk_delete): Complete rewrite.
23568 (grub_envblk_iterate): Likewise.
23569
a9368fd3 235702009-03-28 Robert Millan <rmh@aybabtu.com>
23571
23572 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23573 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23574 variables. Use 16-bit loader.
23575 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23576 loader.
23577 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23578 (grub_linux16_boot): ... this. Update all users.
23579 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23580 (grub_linux_boot): ... this. Update all users.
23581
23582 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23583 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23584 commands to `linux16' and `initrd16'.
23585 (GRUB_MOD_FINI(linux)): Rename to ...
23586 (GRUB_MOD_FINI(linux16)): ... this.
23587
e4dd5a7e 235882009-03-24 Pavel Roskin <proski@gnu.org>
23589
23590 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23591 not just for compilation.
23592
c04d6e05 235932009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23594
23595 Move multiboot helper out of kernel
23596
23597 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23598 `loader/i386/multiboot_helper.S'.
23599 * conf/i386-coreboot.rmk: Likewise
23600 * conf/i386-ieee1275.rmk: Likewise
23601
23602 * kern/i386/loader.S: Move multiboot helpers from here...
23603 * loader/i386/multiboot_helper.S: ...moved here
23604 * include/grub/i386/loader.h: Move declarations of multiboot
23605 helpers from here...
23606 * include/grub/i386/multiboot.h: ...moved here
23607 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23608
42a5b3fc 236092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23610
23611 * kern/env.c (grub_env_context_open): Added an argument to specify
23612 whether a new context inherits exported variables from current
23613 one. This is useful when making a sandbox to interpret a config
23614 file.
23615 All callers updated.
23616
23617 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23618
b28bbc4e 236192009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23620
23621 * kern/env.c (grub_env_context_close): Fix memory leaks.
23622
f04f02e4 236232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23624
23625 * normal/main.c (grub_normal_execute): Added an argument
23626 BATCH to specify if an interactive interface should be provided
23627 after reading a config file.
23628 All callers updated.
23629 (read_command_list): Prevent being executed twice.
23630 (read_fs_list): Likewise.
23631
42a5b3fc 23632 * include/grub/normal.h (grub_normal_execute): Updated the
23633 prototype.
f04f02e4 23634
41473ac2 236352009-03-22 Pavel Roskin <proski@gno.org>
23636
fbc00b0c 23637 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23638 _start.
23639 * kern/i386/pc/startup.S: Likewise.
23640 * kern/i386/efi/startup.S: Likewise.
23641 * kern/i386/ieee1275/startup.S: Likewise.
23642 * kern/i386/coreboot/startup.S: Likewise.
23643 * kern/x86_64/efi/startup.S: Likewise.
23644
41473ac2 23645 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23646 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23647 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23648
2274cc8f 236492009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23650
23651 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23652
23653 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23654 limit detection.
23655 Use vaddr of correct segment for entry_point.
23656
b1b797cb 236572009-03-21 Bean <bean123ch@gmail.com>
23658
23659 * commands/blocklist.c: Add include file <grub/command.h>, remove
23660 <grub/normal.h> and <grub/arg.h>.
23661 (grub_cmd_blocklist): Use the new command interface.
23662 (GRUB_MOD_INIT): Likewise.
23663 (GRUB_MOD_FINI): Likewise.
23664 * commands/boot.c: Likewise.
23665 * commands/cat.c: Likewise.
23666 * commands/cmp.c: Likewise.
23667 * commands/configfile.c: Likewise.
23668 * commands/crc.c: Likewise.
23669 * commands/echo.c: Likewise.
23670 * commands/halt.c: Likewise.
23671 * commands/handler.c: Likewise.
23672 * commands/hdparm.c: Likewise.
23673 * commands/help.c: Likewise.
23674 * commands/hexdump.c: Likewise.
23675 * commands/loadenv.c: Likewise.
23676 * commands/ls.c: Likewise.
23677 * commands/lsmmap.c: Likewise.
23678 * commands/lspci.c: Likewise.
23679 * commands/loadenv.c: Likewise.
23680 * commands/read.c: Likewise.
23681 * commands/reboot.c: Likewise.
23682 * commands/search.c: Likewise.
23683 * commands/sleep.c: Likewise.
23684 * commands/test.c: Likewise.
23685 * commands/usbtest.c: Likewise.
23686 * commands/videotest.c: Likewise.
23687 * commands/i386/cpuid.c: Likewise.
23688 * commands/i386/pc/halt.c: Likewise.
23689 * commands/i386/pc/play.c: Likewise.
23690 * commands/i386/pc/pxecmd.c: Likewise.
23691 * commands/i386/pc/vbeinfo.c: Likewise.
23692 * commands/i386/pc/vbetest.c: Likewise.
23693 * commands/ieee1275/suspend.c: Likewise.
23694 * disk/loopback.c: Likewise.
23695 * font/font_cmd.c: Likewise.
23696 * hello/hello.c: Likewise.
23697 * loader/efi/appleloader.c: Likewise.
23698 * loader/efi/chainloader.c: Likewise.
23699 * loader/i386/bsd.c: Likewise.
23700 * loader/i386/efi/linux.c: Likewise.
23701 * loader/i386/ieee1275/linux.c: Likewise.
23702 * loader/i386/linux.c: Likewise.
23703 * loader/i386/pc/chainloader.c: Likewise.
23704 * loader/i386/pc/linux.c: Likewise.
23705 * loader/powerpc/ieee1275/linux.c: Likewise.
23706 * loader/multiboot_loader.c: Likewise.
23707 * term/gfxterm.c: Likewise.
23708 * term/i386/pc/serial.c: Likewise.
23709 * term/terminfo.c: Likewise.
23710
23711 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
23712 * term/i386/pc/vga.c: Likewise.
23713 * video/readers/jpeg.c: Likewise.
23714 * video/readers/png.c: Likewise.
23715 * video/readers/tga.c: Likewise.
23716
23717 * util/grub-fstest (cmd_loopback): Removed.
23718 (cmd_blocklist): Likewise.
23719 (cmd_ls): Likewise.
23720 (grub_register_command): Likewise.
23721 (grub_unregister_command): Likewise.
23722 (execute_command): Use grub_command_find to locate command and execute
23723 it.
23724
23725 * include/grub/efi/chainloader.h: Removed.
23726 * loader/efi/chainloader_normal.c: Likewise.
23727 * loader/i386/bsd_normal.c: Likewise.
23728 * loader/i386/pc/chainloader_normal.c: Likewise.
23729 * loader/i386/pc/multiboot_normal.c: Likewise.
23730 * loader/linux_normal.c: Likewise.
23731 * loader/multiboot_loader_normal.c: Likewise.
23732 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23733
23734 * gencmdlist.sh: Scan new registration command grub_register_extcmd
23735 and grub_register_command_p1.
23736
23737 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
23738 kern/command.c, lib/arg.c and commands/extcmd.c.
23739 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
23740 (minicmd_mod_SOURCES): New variable.
23741 (minicmd_mod_CFLAGS): Likewise.
23742 (minicmd_mod_LDFLAGS): Likewise.
23743 (extcmd_mod_SOURCES): Likewise.
23744 (extcmd_mod_CFLAGS): Likewise.
23745 (extcmd_mod_LDFLAGS): Likewise.
23746 (boot_mod_SOURCES): Removed.
23747 (boot_mod_CFLAGS): Likewise.
23748 (boot_mod_LDFLAGS): Likewise.
23749
23750 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
23751 kern/corecmd.c.
23752 (kernel_img_HEADERS): Add command.h.
23753 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
23754 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
23755 and lib/arg.c.
23756 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
23757 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
23758 remove the corresponding normal mode command.
23759 (normal_mod_SOURCES): Remove normal/arg.c.
23760 * conf/i386-coreboot.rmk: Likewise.
23761 * conf/i386-efi.rmk: Likewise.
23762 * conf/i386-ieee1275.rmk: Likewise.
23763 * conf/powerpc-ieee1275.rmk: Likewise.
23764 * conf/x86_64-efi.rmk: Likewise.
23765
23766 * include/grub/arg.h: Move from here ...
23767 * include/grub/lib/arg.h: ... to here.
23768
23769 * normal/arg.c: Move from here ...
23770 * lib/arg.c: ... to here.
23771
23772 * commands/extcmd.c: New file.
23773 * commands/minicmd.c: Likewise.
23774 * include/grub/command.h: Likewise.
23775 * include/grub/extcmd.h: Likewise.
23776 * kern/command.c: Likewise.
23777 * kern/corecmd.c: Likewise.
23778
23779 * kern/list.c (grub_list_iterate): Return int instead of void.
23780 (grub_list_insert): New function.
23781 (grub_prio_list_insert): Likewise.
23782
23783 * kern/rescue.c (grub_rescue_command): Removed.
23784 (grub_rescue_command_list): Likewise.
23785 (grub_rescue_register_command): Likewise.
23786 (grub_rescue_unregister_command): Likewise.
23787 (grub_rescue_cmd_boot): Move to minicmd.c
23788 (grub_rescue_cmd_help): Likewise.
23789 (grub_rescue_cmd_info): Likewise.
23790 (grub_rescue_cmd_boot): Likewise.
23791 (grub_rescue_cmd_testload): Likewise.
23792 (grub_rescue_cmd_dump): Likewise.
23793 (grub_rescue_cmd_rmmod): Likewise.
23794 (grub_rescue_cmd_lsmod): Likewise.
23795 (grub_rescue_cmd_exit): Likewise.
23796 (grub_rescue_print_devices): Moved to corecmd.c.
23797 (grub_rescue_print_files): Likewise.
23798 (grub_rescue_cmd_ls): Likewise.
23799 (grub_rescue_cmd_insmod): Likewise.
23800 (grub_rescue_cmd_set): Likewise.
23801 (grub_rescue_cmd_unset): Likewise.
7d074e3c 23802 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 23803 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 23804 commands, remove grub_rescue_register_command calls.
b1b797cb 23805
7d074e3c 23806 * normal/command.c (grub_register_command): Removed.
b1b797cb 23807 (grub_unregister_command): Likewise.
23808 (grub_command_find): Likewise.
23809 (grub_iterate_commands): Likewise.
23810 (rescue_command): Likewise.
23811 (export_command): Moved to corecmd.c.
23812 (set_command): Removed.
23813 (unset_command): Likewise.
23814 (insmod_command): Likewise.
23815 (rmmod_command): Likewise.
23816 (lsmod_command): Likewise.
23817 (grub_command_init): Likewise.
23818
23819 * normal/completion.c (iterate_command): Use cmd->prio to check for
23820 active command.
23821 (complete_arguments): Use grub_extcmd_t structure to find options.
23822 (grub_normal_do_completion): Change function grub_iterate_commands to
23823 grub_command_iterate.
23824
23825 * normal/execute.c (grub_script_execute_cmd): No need to parse
23826 argument here.
23827
23828 * normal/main.c (grub_dyncmd_dispatcher): New function.
23829 (read_command_list): Register unload commands as dyncmd.
23830 (grub_cmd_normal): Use new command interface, register rescue,
23831 unregister normal at entry, register normal, unregister rescue at exit.
23832
23833 * include/grub/list.h (grub_list_test_t): New type.
23834 (grub_list_iterate): Return int instead of void.
23835 (grub_list_insert): New function.
23836 (GRUB_AS_NAMED_LIST_P): New macro.
23837 (GRUB_AS_PRIO_LIST): Likewise.
23838 (GRUB_AS_PRIO_LIST_P): Likewise.
23839 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
23840 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
23841 (grub_prio_list): New structure.
23842 (grub_prio_list_insert): New function.
23843 (grub_prio_list_remove): New inline function.
23844
23845 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
23846 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
23847 (GRUB_COMMAND_FLAG_MENU): Likewise.
23848 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23849 (GRUB_COMMAND_FLAG_TITLE): Likewise.
23850 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23851 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
23852 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
23853 (grub_command): Likewise.
23854 (grub_register_command): Likewise.
23855 (grub_command_find): Likewise.
23856 (grub_iterate_commands): Likewise.
23857 (grub_command_init): Likewise.
23858 (grub_arg_parse): Likewise.
23859 (grub_arg_show_help): Likewise.
23860
23861 * include/grub/rescue.h (grub_rescue_register_command): Removed.
23862 (grub_rescue_unregister_command): Likewise.
23863
23864 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
23865 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
23866 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
23867
23868 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
23869 grub_rescue_cmd_initrd.
23870 * include/grub/i386/loader.h: Likewise.
23871 * include/grub/x86_64/loader.h: Likewise.
23872
23873 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
23874
1f4147aa 238752009-03-21 Bean <bean123ch@gmail.com>
23876
23877 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
23878 instead of stat in mingw environment.
23879
23880 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
23881
23882 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
23883
23884 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
23885 AC_CONFIG_LINKS.
23886
2156d5ba 238872009-03-21 Bean <bean123ch@gmail.com>
23888
23889 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
23890 out of range error.
23891
177b82ca 238922009-03-18 Michel Dänzer <michel@daenzer.net>
23893
23894 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
23895 checking inode flags for EXT4_EXTENTS_FLAG.
23896
14aad807 238972009-03-18 Robert Millan <rmh@aybabtu.com>
23898
23899 * loader/i386/linux.c: Include `<grub/video.h>' and
23900 `<grub/i386/pc/vbe.h>'..
23901 (grub_linux_setup_video): New function. Loosely based on the EFI one.
23902 (grub_linux32_boot): Attempt to configure video settings with
23903 grub_linux_setup_video().
23904 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
23905 to avoid grub_console_fini() which would step out of graphical mode
23906 unconditionally.
23907
8cf83a27 239082009-03-14 Robert Millan <rmh@aybabtu.com>
23909
23910 Fix build on powerpc.
23911 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
23912
40164e75 239132009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
23914
23915 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
23916 background image command.
23917
c58bc32a 239182009-03-12 Colin D Bennett <colin@gibibit.com>
23919
23920 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
23921 (grub_gfxterm_putchar): Extract pairs of identical calls to
23922 draw_cursor out of conditional blocks.
23923
5415144a 239242009-03-11 Pavel Roskin <proski@gnu.org>
23925
23926 * fs/hfs.c (grub_hfs_strncasecmp): New function.
23927 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
23928
6394042e 239292009-03-11 Robert Millan <rmh@aybabtu.com>
23930
23931 * loader/i386/multiboot_elfxx.c
23932 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
23933
b7b50e5f 239342009-03-11 Felix Zielcke <fzielcke@z-51.de>
23935
23936 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
23937 `kern/handler.c'.
23938
1ca7fc96 239392009-03-11 Robert Millan <rmh@aybabtu.com>
23940
23941 * loader/i386/multiboot.c (code_size): New variable.
23942 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 23943 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 23944 4-byte alignment to MBI and others by increasing
7d074e3c 23945 `boot_loader_name_length' appropriately.
1ca7fc96 23946
23947 * loader/i386/multiboot_elfxx.c
23948 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23949
a83ea1d2 239502009-03-09 Felix Zielcke <fzielcke@z-51.de>
23951
23952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23953 `fs/ext2.c'.
23954
aa9f3bff 239552009-03-08 Robert Millan <rmh@aybabtu.com>
23956
23957 Make loader/i386/linux.c usable on i386-pc again.
23958
23959 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23960 memory to heap.
23961 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23962 `#error' stanza.
23963
d8b3b60e 239642009-03-07 Bean <bean123ch@gmail.com>
23965
23966 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23967 allocation.
23968
b362c9e9 239692009-03-06 Robert Millan <rmh@aybabtu.com>
23970
23971 Fix display issue on terminals with screen size other than 80x25
23972 (e.g. gfxterm with resolution higher than 640x480).
23973
23974 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 23975 position relative to the center of the terminal instead of relying
b362c9e9 23976 on a hardcoded offset.
23977
9304eef1 239782009-03-04 Robert Millan <rmh@aybabtu.com>
23979
23980 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23981 installed.
23982
23983 * Makefile.in (host_kernel): New variable.
23984 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23985 scripts instead of just the windows one.
23986 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23987
eabc95fb 239882009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 23989
23990 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23991 `kern/handler.c'.
23992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23993 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23994 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23995 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23996 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23997 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23998
ceb1223c 239992009-03-04 Felix Zielcke <fzielcke@z-51.de>
24000
24001 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24002 or if there's no space for the disk label and print the partition number on a
24003 invalid magic.
24004
4910684a 240052009-03-04 Felix Zielcke <fzielcke@z-51.de>
24006
24007 * util/misc.c: Include <time.h>.
24008 (grub_millisleep): New function.
24009
7e9ca17a 240102009-03-04 Bean <bean123ch@gmail.com>
24011
24012 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24013 another option -mno-red-zone.
24014
24015 * commands/handler.c: Change module description.
24016
24017 * kern/handler.c: Add missing space at the end of description line.
24018
24019 * kern/list.c: Likewise.
24020
f501677c 240212009-03-03 Robert Millan <rmh@aybabtu.com>
24022
24023 Move more components to the relocation area, and fix mbi pointer
24024 handling to use the destination rather than the origin (thanks to
24025 Vladimir Serbinenko for spotting).
24026
24027 * loader/i386/multiboot.c (mbi_dest): New variable.
24028 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24029 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24030 relocation area.
24031
9902d047 240322009-03-01 Bean <bean123ch@gmail.com>
24033
50fb7002 24034 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24035 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24036 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24037 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24038
24039 * loader/i386/efi/linux.c (acpi_guid): New variable.
24040 (acpi_guid): Likewise.
24041 (EBDA_SEG_ADDR): New constant.
24042 (LOW_MEM_ADDR): Likewise.
24043 (FAKE_EBDA_SEG): Likewise.
24044 (fake_bios_data): New function.
24045 (grub_linux_boot): Call fake_bios_data.
24046
71b9f361 240472009-03-01 Bean <bean123ch@gmail.com>
24048
24049 * commands/terminal.c: Removed.
24050
24051 * commands/handler.c: New file.
24052
24053 * include/grub/list.h: Likewise.
24054
24055 * include/grub/handler.h: Likewise.
24056
24057 * kern/list.c: Likewise.
24058
24059 * kern/handler.c: Likewise.
24060
24061 * kern/term.h: Include header file <grub/handler.h>.
24062 (grub_term_input): Move next field to the beginning.
24063 (grub_term_output): Likewise.
24064 (grub_term_input_class): New variable.
24065 (grub_term_output_class): Likewise.
24066 (grub_term_register_input): Changed to inline function.
24067 (grub_term_register_output): Likewise.
24068 (grub_term_unregister_input): Likewise.
24069 (grub_term_unregister_output): Likewise.
24070 (grub_term_set_current_input): Likewise.
24071 (grub_term_set_current_output): Likewise.
24072 (grub_term_get_current_input): Likewise.
24073 (grub_term_get_current_output): Likewise.
24074 (grub_term_iterate_input): Removed.
24075 (grub_term_iterate_output): Likewise.
24076
24077 * kern/term.c (grub_term_list_input): Removed.
24078 (grub_term_list_output): Likewise.
24079 (grub_term_input_class): New variable.
24080 (grub_term_output_class): Likewise.
50fb7002 24081 (grub_cur_term_input): Change variable as macro.
71b9f361 24082 (grub_cur_term_output): Likewise.
24083 (grub_term_register_input): Removed.
24084 (grub_term_register_output): Likewise.
24085 (grub_term_unregister_input): Likewise.
24086 (grub_term_unregister_output): Likewise.
24087 (grub_term_set_current_input): Likewise.
24088 (grub_term_set_current_output): Likewise.
24089 (grub_term_iterate_input): Likewise.
24090 (grub_term_iterate_output): Likewise.
24091 (grub_term_get_current_input): Likewise.
24092 (grub_term_get_current_output): Likewise.
24093
24094 * util/grub-editenv.c: Include header file <grub/handler.h>.
24095 (grub_term_get_current_input): Removed.
24096 (grub_term_get_current_output): Likewise.
24097 (grub_term_input_class): New variable.
50fb7002 24098 (grub_term_output_class): Likewise.
71b9f361 24099
24100 * util/grub-fstest.c (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-probe.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/i386/pc/grub-setup.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 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24116 (terminal_mod_SOURCES): Likewise.
24117 (terminal_mod_CFLAGS): Likewise.
24118 (terminal_mod_LDFLAGS): Likewise.
24119
24120 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24121 handler.c.
24122 (kernel_img_SOURCES): Add list.c and handler.c.
24123 (kernel_img_HEADERS): Add list.h and handler.h.
24124
24125 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24126 handler.c.
24127 (kernel_mod_SOURCES): Add list.c and handler.c.
24128 (kernel_mod_HEADERS): Add list.h and handler.h.
24129
24130 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24131 handler.c.
24132 (kernel_elf_SOURCES): Add list.c and handler.c.
24133 (kernel_elf_HEADERS): Add list.h and handler.h.
24134
24135 * conf/i386-ieee1275.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/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24141 handler.c.
24142 (kernel_mod_SOURCES): Add list.c and handler.c.
24143 (kernel_mod_HEADERS): Add list.h and handler.h.
24144
24145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24146 handler.c.
24147 (kernel_elf_SOURCES): Add list.c and handler.c.
24148 (kernel_elf_HEADERS): Add list.h and handler.h.
24149
8a31787f 241502009-02-27 Robert Millan <rmh@aybabtu.com>
24151
24152 Factorize elf32 / elf64 code in Multiboot loader. This will
24153 prevent it from getting out of sync again.
24154
24155 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24156 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24157 grub_multiboot_load_elf64): Move from here ...
24158 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24159 grub_multiboot_load_elf): ... to here (new file).
24160
51cd3dfc 241612009-02-27 Robert Millan <rmh@aybabtu.com>
24162
24163 * util/grub.d/10_linux.in: Rename "single-user mode" to
24164 "recovery mode".
24165
6e8c9c3a 241662009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24167
24168 Don't leak in SCSI code.
24169 * disk/scsi.c (grub_scsi_close): free `scsi'.
24170
4b6bf4f9 241712009-02-27 Robert Millan <rmh@aybabtu.com>
24172
24173 * loader/i386/pc/multiboot.c: Move from here ...
24174 * loader/i386/multiboot.c: ... to here. Update all users.
24175
b9413424 241762009-02-27 Robert Millan <rmh@aybabtu.com>
24177
24178 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24179 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24180
50fb7002 241812009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24182
24183 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24184 b-tree.
24185
8cc50345 241862009-02-27 Robert Millan <rmh@aybabtu.com>
24187
24188 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24189 `0x' qualifier as 0 when base is specified as parameter).
24190
6e09b8b7 241912009-02-24 Bean <bean123ch@gmail.com>
24192
24193 * configure.ac: Check for -mcmodel=large in x86_64 target.
24194
24195 * include/grub/efi/api.h (efi_call_10): New macro.
24196 (efi_wrap_10): New function.
24197
24198 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24199 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24200 (GRUB_PE32_REL_BASED_LOW): Likewise.
24201 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24202 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24203 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24204 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24205 (GRUB_PE32_REL_BASED_REL): Likewise.
24206 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24207 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24208 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24209
24210 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24211 issue.
24212
24213 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24214 (efi_wrap_10): New function.
24215
24216 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24217
24218 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24219 MB/MBP model (NV chipset).
24220 (devdata_devs): Add devpath_5 to the list.
24221
24222 * load/i386/efi/linux.c (video_base): Remove variable.
24223 (RGB_MASK): New macro.
24224 (RGB_MAGIC): Likewise.
24225 (LINE_MIN): Likewise.
24226 (LINE_MAX): Likewise.
24227 (FBTEST_STEP): Likewise.
24228 (FBTEST_COUNT): Likewise.
24229 (fb_list): New variable.
24230 (grub_find_video_card): Remove function.
24231 (find_framebuf): New function.
24232 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24233 line length.
24234
24235 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24236 problem for x86_64.
24237
74b21bee 242382009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24239
24240 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24241
24242 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24243 coding tool name.
24244
a455f472 242452009-02-22 Robert Millan <rmh@aybabtu.com>
24246
24247 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24248 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24249 in our relocation, instead of using it directly from heap. Also
24250 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24251
6374daf3 242522009-02-21 Robert Millan <rmh@aybabtu.com>
24253
24254 Implement USB keyboard support (based on patch by Marco Gerards)
24255
24256 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24257 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24258 (usb_keyboard_mod_LDFLAGS): New variables.
24259
24260 * term/usb_keyboard.c: New file.
24261
8fa4ea70 242622009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24263
24264 Corrected wrong declaration
24265
24266 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24267
353976ac 242682009-02-14 Christian Franke <franke@computer.org>
24269
24270 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24271 (grub_lspci_iter): Print class code and programming interface byte.
24272
6aa1169b 242732009-02-14 Christian Franke <franke@computer.org>
24274
24275 * gendistlist.sh: Ignore `.svn' directories.
24276
265372ca 242772009-02-14 Felix Zielcke <fzielcke@z-51.de>
24278
24279 * fs/fat.c: Add 2009 to Copyright line.
24280
9ff516f3 242812009-02-14 Christian Franke <franke@computer.org>
24282
24283 * commands/hdparm.c: New file. Provides `hdparm' command
24284 which sends ATA commands via grub_disk_ata_pass_through ().
24285
24286 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24287
24288 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24289 and <grub/cpu/io.h> to include/grub/ata.h.
24290 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24291 (GRUB_CDROM_SECTOR_SIZE): Remove.
24292 (GRUB_ATA_*): Move to include/grub/ata.h.
24293 (GRUB_ATAPI_*): Likewise.
24294 (enum grub_ata_commands): Likewise.
24295 (enum grub_ata_timeout_milliseconds): Likewise.
24296 (struct grub_ata_device): Likewise.
24297 (grub_ata_regset): Likewise.
24298 (grub_ata_regget): Likewise.
24299 (grub_ata_regset2): Likewise.
24300 (grub_ata_regget2): Likewise.
24301 (grub_ata_check_ready): Likewise.
24302 (grub_ata_wait_not_busy): Remove static, exported in
24303 include/grub/ata.h.
24304 (grub_ata_wait_drq): Likewise.
24305 (grub_ata_pio_read): Likewise.
24306
24307 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24308 function for hdparm.mod.
24309
24310 * include/grub/ata.h: New file, contains declarations from
24311 disk/ata.c.
24312 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24313
24314 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24315 (grub_disk_ata_pass_through): New exported variable.
24316
24317 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24318
772e23da 243192009-02-13 Colin D Bennett <colin@gibibit.com>
24320
24321 Support multiple fallback entries, and provide an API to support
24322 executing default+fallback menu entries. Renamed the `terminal' menu
24323 viewer to `text'.
24324
24325 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24326 variable declaration.
24327 (grub_menu_execute_callback): New structure declaration.
24328 (grub_menu_execute_callback_t): New typedef.
24329 (grub_menu_execute_with_fallback): New function declaration.
24330 (grub_menu_get_entry): Likewise.
24331 (grub_menu_get_timeout): Likewise.
24332 (grub_menu_set_timeout): Likewise.
24333
24334 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24335
24336 * normal/menu.c (grub_wait_after_message): Moved to
24337 `normal/menu_text.c'.
24338 (draw_border): Likewise.
24339 (print_message): Likewise.
24340 (print_entry): Likewise.
24341 (print_entries): Likewise.
24342 (grub_menu_init_page): Likewise.
24343 (get_entry_number): Likewise.
24344 (print_timeout): Likewise.
24345 (run_menu): Likewise.
24346 (grub_menu_execute_entry): Likewise.
24347 (show_text_menu): Likewise.
24348 (get_and_remove_first_entry_number): New function.
24349 (grub_menu_execute_with_fallback): Likewise.
24350 (get_entry): Renamed to ...
24351 (grub_menu_get_entry): .. this and made it global.
24352 (get_timeout): Renamed to ...
24353 (grub_menu_get_timeout): ... this and made it global.
24354 (set_timeout): Renamed to ...
24355 (grub_menu_set_timeout): ... this and made it global.
24356 (grub_normal_terminal_menu_viewer): Renamed to ...
24357 (grub_normal_text_menu_viewer): ... this.
24358
24359 * normal/menu_text.c: New file. Extracted text-menu-specific code
24360 from normal/menu.c.
24361
24362 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24363 (normal_mod_SOURCES): Likewise.
24364
24365 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24366 (normal_mod_SOURCES): Likewise.
24367
24368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24369 (normal_mod_SOURCES): Likewise.
24370
24371 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24372 (normal_mod_SOURCES): Likewise.
24373
24374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24375 (normal_mod_SOURCES): Likewise.
24376
24377 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24378 (normal_mod_SOURCES): Likewise.
24379
24380 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24381 (normal_mod_SOURCES): Likewise.
24382
16ac430e 243832009-02-11 Robert Millan <rmh@aybabtu.com>
24384
24385 * util/grub.d/00_header.in: Update old reference to `font' command.
24386
06ff20fc 243872009-02-10 Felix Zielcke <fzielcke@z-51.de>
24388
24389 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24390
24391 Based on patch from Javier Martín.
24392
96da9407 243932009-02-09 Felix Zielcke <fzielcke@z-51.de>
24394
24395 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24396 to avoid false positives with FAT.
96da9407 24397 (grub_fstest_SOURCES): Likewise.
24398 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24399 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24400 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24402 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24404
6dca6fe4 244052009-02-09 Felix Zielcke <fzielcke@z-51.de>
24406
06ff20fc 24407 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24408 bpb.version_specific.fat12_or_fat16.fstype and
24409 bpb.version_specific.fat32.fstype.
24410
2550c62f 244112009-02-08 Robert Millan <rmh@aybabtu.com>
24412
be110b30 24413 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24414
56978920 244152009-02-08 Robert Millan <rmh@aybabtu.com>
24416
24417 * Makefile.in (host_os, host_cpu): New variables.
24418 (target_os): Remove. Update all users.
24419
d64399b5 244202009-02-08 Marco Gerards <marco@gnu.org>
24421
24422 * Makefile.in (enable_grub_emu_usb): New variable.
24423 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24424 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24425 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24426 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24427 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24428 `usbtest.mod' and `usbms.mod'.
24429 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24430 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24431 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24432 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24433 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24434 variables.
24435
24436 * disk/usbms.c: New file.
24437
24438 * include/grub/usb.h: Likewise.
24439
24440 * include/grub/usbtrans.h: Likewise.
24441
24442 * include/grub/usbdesc.h: Likewise.
24443
24444 * bus/usb/usbtrans.c: Likewise.
24445
24446 * bus/usb/ohci.c: Likewise.
24447
24448 * bus/usb/uhci.c: Likewise.
24449
24450 * bus/usb/usbhub.c: Likewise.
24451
24452 * bus/usb/usb.c: Likewise.
24453
24454 * commands/usbtest.c: Likewise.
24455
24456 * util/usb.c: Likewise.
50fb7002 24457
d64399b5 24458 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24459
24460 * configure.ac: Test for libusb presence.
50fb7002 24461
d64399b5 24462 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24463
2b40d6bb 244642009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24465
24466 * kern/mm.c: Add more comments.
24467
73a4ce81 244682009-02-08 Robert Millan <rmh@aybabtu.com>
24469
24470 Patch from Javier Martín.
24471 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24472 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24473
f821ce59 244742009-02-08 Robert Millan <rmh@aybabtu.com>
24475
24476 * fs/cpio.c: Split tar functionality to ...
24477 * fs/tar.c: ... here (new file). Update all users.
24478
aebfc4b0 244792009-02-07 Robert Millan <rmh@aybabtu.com>
24480
24481 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24482 backward-incompatible features.
24483
24484 Based on patch from Javier Martín, with some adjustments.
24485
50fb7002 244862009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24487
24488 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24489
0bb5115e 244902009-02-07 Robert Millan <rmh@aybabtu.com>
24491
24492 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24493 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24494 after the RAID stuff.
24495
38a0f8e7 244962009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24497
50fb7002 24498 Fixes problem when running vbetest command as reported by
38a0f8e7 24499 Vladimir Serbinenko <phcoder@gmail.com>.
24500
24501 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24502
3143cc1c 245032009-02-04 Felix Zielcke <fzielcke@z-51.de>
24504
24505 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24506 /dev/md/NpN style mdraid devices.
24507
9cba6fce 245082009-02-03 Felix Zielcke <fzielcke@z-51.de>
24509
24510 * util/unifont2pff.rb: Remove.
24511
e507a2c1 245122009-02-03 Felix Zielcke <fzielcke@z-51.de>
24513
24514 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24515 `#'.
24516
d2c2b4cd 245172009-02-03 Felix Zielcke <fzielcke@z-51.de>
24518
24519 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24521 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24522 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24525 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24526
b4315fb0 245272009-02-02 Christian Franke <franke@computer.org>
24528
24529 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24530
de3aa260 245312009-02-01 Felix Zielcke <fzielcke@z-51.de>
24532
7c3ff286 24533 * INSTALL: Note that we now require at least autoconf 2.59 and
24534 that LZO is optional.
de3aa260 24535
825a182b 245362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24537
24538 Base on patch on bug #24154 created by Tomas Tintera
24539 <trosos@seznam.cz>.
24540
24541 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24542
a69ef770 245432009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24544
7c3ff286 24545 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24546 <bero@arklinux.org>.
24547
24548 * normal/parser.y (script_init): Add missing semicolon.
24549
6fa42fa6 245502009-01-31 Colin D Bennett <colin@gibibit.com>
24551
7c3ff286 24552 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24553 (free_menu_entry_classes): Added.
24554 (grub_normal_menu_addentry): Added class property handling.
24555 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24556 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24557
24558 * normal/menu_viewer.c: New file.
24559
24560 * normal/menu.c (run_menu_entry): Renamed to ...
24561 (grub_menu_execute_entry): ... this and made it as global.
24562 (grub_menu_run): Renamed to ...
24563 (show_text_menu): ... this and made it local.
24564 (show_text_menu): Adapt to new function names.
24565 (grub_normal_terminal_menu_viewer): New global variable.
24566
24567 * include/grub/menu.h: New file.
24568
24569 * include/grub/menu_viewer.h: New file.
24570
24571 * include/grub/normal.h: Added include to grub/menu.h.
24572 (grub_menu_entry): Moved to include/grub/menu.h.
24573 (grub_menu_entry_t): Likewise.
24574 (grub_menu): Likewise.
24575 (grub_menu_t): Likewise.
24576 (grub_normal_terminal_menu_viewer): Added.
24577 (grub_menu_execute_entry): Likewise.
24578 (grub_menu_run): Removed.
24579
24580 * DISTLIST: Added include/grub/menu.h.
24581 Added include/grub/menu_viewer.h.
24582 Added normal/menu_viewer.c.
24583
245842009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24585
24586 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24587 arglist for menutitle arguments.
24588
24589 * normal/main.c (grub_normal_menu_addentry): Likewise.
24590
24591 * normal/parser.y (menuentry): Likewise.
24592
24593 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24594
24595 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24596 (grub_script_create_cmdmenu): Likewise.
24597
24598 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24599
24600 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24601 changes.
24602
24603 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24604
24605 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24606
24607 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24608
24609 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24610
24611 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24612
24613 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24614
56192c23 246152009-01-30 Christian Franke <franke@computer.org>
24616
24617 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24618 in option help text.
24619
d72521b3 246202009-01-27 Pavel Roskin <proski@gnu.org>
24621
24622 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24623
994b5e84 246242009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24625
24626 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24627
24628 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24629
24630 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24631 unregister function.
24632
6a7eab2c 246332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24634
24635 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24636
24637 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24638
24639 * util/grub-mkfont.c (usage): Fix typo.
24640
24641 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24642
1806b56e 246432009-01-26 Daniel Mierswa <impulze@impulze.org>
24644
3fb18f09 24645 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24646
336e1fb9 24647 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24648
1806b56e 24649 * kern/misc.c (grub_strcasecmp): New function.
24650 (grub_strcasecmp): Use grub_size_t instead of int for length.
24651 Fix return value.
24652 * include/grub/misc.h: Update function prototypes.
24653
580b2a0f 246542009-01-26 Robert Millan <rmh@aybabtu.com>
24655
24656 * configure.ac: Fix cross-compilation check.
ef257b36 24657
d31c24f1 246582009-01-22 Christian Franke <franke@computer.org>
24659
24660 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24661 (precision) digit string. Allow `.format2' without `format1' (width).
24662 Limit input chars for `%s' output to `format2' if specified. This is
24663 compatible with standard printf ().
24664
3138b44c 246652009-01-22 Christian Franke <franke@computer.org>
24666
24667 * disk/ata.c (grub_ata_wait_status): Replace by ...
24668 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24669 other status bits may be invalid while BSY is asserted.
24670 (grub_ata_check_ready): New function.
24671 (grub_ata_cmd): Removed.
24672 (grub_ata_wait_drq): New function.
24673 (grub_ata_strncpy): Remove inline.
24674 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24675 and error check now done by grub_ata_wait_drq ().
24676 (grub_ata_pio_write): Likewise.
24677 (grub_atapi_identify): Set DEV before check for !BSY. Use
24678 grub_ata_wait_drq () to wait for data.
24679 (grub_ata_device_initialize): Add status register check to
24680 detect missing SATA slave devices. Add debug messages.
24681 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24682 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24683 transfer loop by grub_ata_pio_write ().
24684 (grub_ata_identify): Set DEV before check for !BSY. Use
24685 grub_ata_wait_drq () to wait for data.
ef257b36 24686 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 24687 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24688 read/write in one loop. Fix invalid command on write. Fix incomplete
24689 command on (size % batch) == 0. Add missing error check after write of
24690 last block. Add debug messages.
24691 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24692
59a64ef6 246932009-01-19 Christian Franke <franke@computer.org>
24694
24695 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24696 (GRUB_ATAPI_IREASON_*): Likewise.
24697 (grub_ata_pio_write): Fix timeout error return.
24698 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24699 (grub_atapi_wait_drq): New function.
24700 (grub_atapi_packet): New parameter `size'.
24701 Use grub_atapi_wait_drq () and direct write instead of
24702 grub_ata_pio_write ().
24703 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
24704 reads the number of bytes requested by the device for each DRQ
24705 assertion.
24706 (grub_atapi_write): Remove old implementation, return not
24707 implemented instead.
24708
1cfe20b3 247092009-01-19 Christian Franke <franke@computer.org>
24710
24711 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
24712 of 512 to calculate data size.
24713 (grub_scsi_read12): Likewise.
24714 (grub_scsi_write10): Likewise.
24715 (grub_scsi_write12): Likewise.
24716 (grub_scsi_read): Adjust size according to blocksize.
24717 Add checks for invalid blocksize and unaligned transfer.
24718
bee5fe5d 247192009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
24720
24721 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
24722
ef257b36 24723 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 24724 width glyphs.
24725
3e643f8c 247262009-01-19 Robert Millan <rmh@aybabtu.com>
24727
24728 * config.guess: Update to latest version from config git.
24729 * config.sub: Likewise.
24730
4fa80998 247312009-01-17 Felix Zielcke <fzielcke@z-51.de>
24732
24733 * Makefile.in: Change font compilation to use new grub-mkfont instead
24734 of java version.
24735
24736 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
24737 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24738 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24739 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24740 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24741 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24742 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24743 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24744 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24745
7086085b 247462009-01-16 Christian Franke <franke@computer.org>
24747
24748 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
24749 (enum grub_ata_timeout_milliseconds): New enum.
24750 (grub_ata_wait_status): Add parameter milliseconds.
24751 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
24752 recovery from timed-out commands.
24753 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
24754 return grub_errno instead of REG_ERROR.
24755 (grub_ata_pio_write): Add parameter milliseconds.
24756 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
24757 Pass milliseconds to grub_ata_wait_status () and
24758 grub_ata_pio_read ().
24759 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
24760 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
24761 grub_ata_wait_status (). Fix IDENTIFY timeout check.
24762 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
24763 It is not suitable for device detection, because DEV bit is ignored,
24764 the command may run too long, and not all devices set the signature
24765 properly.
24766 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
24767 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
24768 Fix device selection, DEV bit must be set first to address the registers
24769 of the correct device.
24770 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
24771 grub_ata_pio_read/write ().
24772 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
24773 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
24774
4a412913 247752009-01-13 Carles Pina i Estany <carles@pina.cat>
24776
24777 * util/grub-editenv.c (main): Use fseeko(), not fseek().
24778
7795c55e 247792009-01-13 Bean <bean123ch@gmail.com>
d913988c 24780
24781 * util/grub-mkfont.c (write_font): forget to remove some debug code.
24782
7795c55e 247832009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 24784
24785 * Makefile.in: (enable_grub_mkfont): New variable.
24786 (freetype_cflags): Likewise.
24787 (freetype_libs): Likewise.
24788
24789 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
24790 (grub_mkfont_SOURCES): New variable.
24791 (grub_mkfont_CFLAGS): Likewise.
24792 (grub_mkfont_LDFLAGS): Likewise.
24793
24794 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
24795 library if `--enable-grub-mkfont' is requested.
24796 (enable_grub_mkfont): New variable.
24797 (freetype_cflags): Likewise.
24798 (freetype_libs): Likewise.
24799
24800 * util/grub-mkfont.c: New file.
24801
093af1fe 248022009-01-12 Christian Franke <franke@computer.org>
24803
24804 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
24805 mode check. Fix setting of compat_use[].
24806
f36cc108 248072009-01-10 Robert Millan <rmh@aybabtu.com>
24808
24809 Update a few copyright years which we forgot to do in 2008 (only for
24810 files whose changes made in 2008 were copyright-significant)
24811
24812 * Makefile.in: Add 2008 to Copyright line.
24813 * disk/ieee1275/ofdisk.c: Likewise.
24814 * disk/efi/efidisk.c: Likewise.
24815 * kern/dl.c: Likewise.
24816 * kern/sparc64/ieee1275/init.c: Likewise.
24817 * kern/mm.c: Likewise.
24818 * kern/efi/mm.c: Likewise.
24819 * boot/i386/pc/boot.S: Likewise.
24820 * genfslist.sh: Likewise.
24821 * fs/iso9660.c: Likewise.
24822 * fs/hfs.c: Likewise.
24823 * fs/jfs.c: Likewise.
24824 * fs/minix.c: Likewise.
24825 * fs/ufs.c: Likewise.
24826 * gensymlist.sh.in: Likewise.
24827 * genkernsyms.sh.in: Likewise.
24828 * include/grub/misc.h: Likewise.
24829 * include/grub/types.h: Likewise.
24830 * include/grub/symbol.h: Likewise.
24831 * include/grub/elf.h: Likewise.
24832 * include/grub/kernel.h: Likewise.
24833 * include/grub/disk.h: Likewise.
24834 * include/grub/dl.h: Likewise.
24835 * include/grub/i386/linux.h: Likewise.
24836 * include/grub/i386/pc/biosdisk.h: Likewise.
24837 * include/grub/efi/api.h: Likewise.
24838 * include/grub/efi/pe32.h: Likewise.
24839 * include/grub/util/misc.h: Likewise.
24840 * normal/execute.c: Likewise.
24841 * normal/arg.c: Likewise.
24842 * normal/completion.c: Likewise.
24843 * normal/lexer.c: Likewise.
24844 * normal/parser.y: Likewise.
24845 * normal/misc.c: Likewise.
24846 * commands/i386/pc/vbeinfo.c: Likewise.
24847 * commands/hexdump.c: Likewise.
24848 * commands/terminal.c: Likewise.
24849 * commands/ls.c: Likewise.
24850 * commands/help.c: Likewise.
24851 * partmap/pc.c: Likewise.
24852 * loader/efi/chainloader.c: Likewise.
24853 * loader/multiboot_loader.c: Likewise.
24854 * loader/i386/pc/multiboot2.c: Likewise.
24855 * term/efi/console.c: Likewise.
24856 * term/i386/pc/serial.c: Likewise.
24857 * util/lvm.c: Likewise.
24858 * util/console.c: Likewise.
24859 * util/i386/efi/grub-mkimage.c: Likewise.
24860 * util/raid.c: Likewise.
24861
7f02114b 248622009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
24863
24864 * commands/videotest.c: Removed include to grub/machine/memory.h.
24865
24866 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
24867 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
24868 (video_mod_SOURCES): Removed.
24869 (video_mod_CFLAGS): Likewise.
24870 (video_mod_LDFLAGS): Likewise.
24871 (gfxterm_mod_SOURCES): Likewise.
24872 (gfxterm_mod_CFLAGS): Likewise.
24873 (gfxterm_mod_LDFLAGS): Likewise.
24874 (videotest_mod_SOURCES): Likewise.
24875 (videotest_mod_CFLAGS): Likewise.
24876 (videotest_mod_LDFLAGS): Likewise.
24877 (bitmap_mod_SOURCES): Likewise.
24878 (bitmap_mod_CFLAGS): Likewise.
24879 (bitmap_mod_LDFLAGS): Likewise.
24880 (tga_mod_SOURCES): Likewise.
24881 (tga_mod_CFLAGS): Likewise.
24882 (tga_mod_LDFLAGS): Likewise.
24883 (jpeg_mod_SOURCES): Likewise.
24884 (jpeg_mod_CFLAGS): Likewise.
24885 (jpeg_mod_LDFLAGS): Likewise.
24886 (png_mod_SOURCES): Likewise.
24887 (png_mod_CFLAGS): Likewise.
24888 (png_mod_LDFLAGS): Likewise.
24889
24890 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
24891 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
24892 (video_mod_SOURCES): Added.
24893 (video_mod_CFLAGS): Likewise.
24894 (video_mod_LDFLAGS): Likewise.
24895 (videotest_mod_SOURCES): Likewise.
24896 (videotest_mod_CFLAGS): Likewise.
24897 (videotest_mod_LDFLAGS): Likewise.
24898 (bitmap_mod_SOURCES): Likewise.
24899 (bitmap_mod_CFLAGS): Likewise.
24900 (bitmap_mod_LDFLAGS): Likewise.
24901 (tga_mod_SOURCES): Likewise.
24902 (tga_mod_CFLAGS): Likewise.
24903 (tga_mod_LDFLAGS): Likewise.
24904 (jpeg_mod_SOURCES): Likewise.
24905 (jpeg_mod_CFLAGS): Likewise.
24906 (jpeg_mod_LDFLAGS): Likewise.
24907 (png_mod_SOURCES): Likewise.
24908 (png_mod_CFLAGS): Likewise.
24909 (png_mod_LDFLAGS): Likewise.
24910 (gfxterm_mod_SOURCES): Likewise.
24911 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 24912 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 24913
24914 * term/gfxterm.c: Removed include to grub/machine/memory.h,
24915 grub/machine/console.h.
24916
644fff97 249172009-01-04 Jerone Young <jerone@gmail.com>
24918
24919 Make on screen instructions clearer
24920
24921 Based on patch created by Jidanni <jidanni@jidanni.org>
24922
24923 * normal/menu.c: print clearer instructions on the screen
24924
1e901a75 249252009-01-02 Colin D Bennett <colin@gibibit.com>
24926
24927 New font engine.
34c44600 24928
1e901a75 24929 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
24930 build system and fixed gfxterm.c to work with different sized fonts.
24931
24932 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 24933
1e901a75 24934 * configure: Re-generated.
34c44600 24935
1e901a75 24936 * DISTLIST: Removed font/manager.c.
24937 Added font/font.c.
24938 Added font/font_cmd.c.
34c44600 24939
1e901a75 24940 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
24941 compilation.
34c44600 24942
1e901a75 24943 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 24944
24945 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 24946
24947 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 24948
1e901a75 24949 * normal/menu.c: Likewise.
34c44600 24950
1e901a75 24951 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24952 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 24953
1e901a75 24954 * include/grub/font.h: Replaced with new file.
34c44600 24955
1e901a75 24956 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24957 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24958 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24959 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24960 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 24961 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 24962 fg_red, fg_green, fg_blue, fg_alpha.
24963 (grub_video_adapter): Removed blit_glyph.
34c44600 24964 (grub_video_blit_glyph): Removed.
24965
1e901a75 24966 * font/manager.c: Removed file.
34c44600 24967
24968 * font/font.c: New file.
24969
1e901a75 24970 * font/font_cmd.c: Likewise.
34c44600 24971
1e901a75 24972 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 24973
1e901a75 24974 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24975 (grub_video_vbe_map_rgba): Likewise.
24976 (grub_video_vbe_unmap_color_int): Likewise.
24977 (grub_video_vbe_blit_glyph): Removed.
24978 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 24979
1e901a75 24980 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24981 (get_pixel): Likewise.
34c44600 24982 (set_pixel): Likewise.
24983
1e901a75 24984 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 24985
1e901a75 24986 * term/gfxterm.c: Adapted to new font engine.
34c44600 24987
1e901a75 24988 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 24989
1e901a75 24990 * term/i386/pc/vga.c: Likewise.
34c44600 24991
1e901a75 24992 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 24993
1e901a75 24994 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 24995
1e901a75 24996 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24997
1e901a75 24998 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24999
1e901a75 25000 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25001
1e901a75 25002 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25003
1e901a75 25004 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25005
1e901a75 25006 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25007
1e901a75 25008 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25009
25010 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25011
1e901a75 25012 * util/grub-mkconfig_lib.in: Changed font extension.
25013
278922e8 250142008-12-28 Felix Zielcke <fzielcke@z-51.de>
25015
25016 * util/getroot.c (grub_util_get_grub_dev): Add support for
25017 /dev/md/dNNpNN style partitionable mdraid devices.
25018
3ced05cf 250192008-12-12 Alex Smith <alex@alex-smith.me.uk>
25020
25021 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25022 at a time limit of the PXE TFTP API correctly.
25023 (grub_pxefs_close): Likewise.
25024
7fd0ee30 250252008-11-29 Robert Millan <rmh@aybabtu.com>
25026
34c44600 25027 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25028 grub_ata_device_initialize() calls.
25029
34c44600 250302008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25031
25032 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25033 iteration failed.
25034 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25035
89313780 250362008-11-28 Robert Millan <rmh@aybabtu.com>
25037
25038 Fix build on powerpc-ieee1275. Based on patch created by
25039 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25040 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25041 `kern/ieee1275/mmap.c'.
25042 * include/grub/powerpc/ieee1275/memory.h: New file.
25043
15257703 25044 Provide grub-install on coreboot.
25045 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25046 (grub_install_SOURCES): New variable.
25047 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25048 usable on coreboot.
25049
9fc5388a 250502008-11-25 Felix Zielcke <fzielcke@z-51.de>
25051
25052 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25053 to `grub_term_input_t'.
25054 (grub_term_get_current_output): Change return type to
25055 `grub_term_output_t'.
25056
bc3a2f31 250572008-11-22 Robert Millan <rmh@aybabtu.com>
25058
34c44600 25059 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25060 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25061 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25062 grub_vga_text_cls().
25063
80fc88f2 25064 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25065 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25066
cbf36fd3 25067 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25068 to 0x200000 (avoids trouble with some OFW implementations, and matches
25069 with the one in Yaboot).
25070 Reported by Manoel Abranches
25071
73e8e268 250722008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25073
25074 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25075 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25076
73e8e268 25077 * util/grub-mkconfig_lib.in (grub_warn): New function.
25078 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25079 warnings, to obtain consistent formatting.
25080 * util/grub.d/00_header.in: Likewise.
25081 * util/update-grub_lib.in: Likewise.
25082
e94045a1 25083 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25084 Move comment text to `#error' stanza.
e94045a1 25085
79d29fd7 25086 Harmonize ieee1275's grub_available_iterate() with the generic
25087 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25088 build problem on i386-ieee1275):
25089 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25090 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25091 parameter `type'. Update all users of this function.
25092 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25093 `kern/ieee1275/mmap.c'.
25094 * kern/ieee1275/init.c
25095 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25096 with ...
25097 (grub_machine_mmap_iterate): ... this.
25098 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25099 return type to `grub_err_t'. Update all implementations of this
25100 function prototype.
25101 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25102 Likewise.
25103
60d6b16e 25104 Add `lsmmap' command (lists firmware-provided memory map):
25105 * commands/lsmmap.c: New file.
25106 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25107 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25108 variables.
25109 * conf/powerpc-ieee1275.rmk: Likewise.
25110 * conf/i386-coreboot.rmk: Likewise.
25111 * conf/i386-ieee1275.rmk: Likewise.
25112
ebaaf49b 251132008-11-19 Robert Millan <rmh@aybabtu.com>
25114
25115 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25116 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25117 constraints to initrd allocation (based on code from
25118 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25119 for Linux to find it.
ebaaf49b 25120
dfab719f 251212008-11-14 Robert Millan <rmh@aybabtu.com>
25122
25123 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25124 order to cope with duplicate slashes.
25125
10fc3eb9 251262008-11-14 Robert Millan <rmh@aybabtu.com>
25127
25128 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25129 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25130 don't want to mess with lower memory, because it is used in the Linux
25131 loader.
25132
25133 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25134 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25135 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25136 is in our heap (probably as a result of it being corrupted during
2f2a3442 25137 decompression). Add #error instance with comment to explain why this
25138 loader isn't currently usable on PC/BIOS.
10fc3eb9 25139
e2e07847 251402008-11-14 Robert Millan <rmh@aybabtu.com>
25141
25142 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25143 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25144
fe8e8d69 251452008-11-12 Robert Millan <rmh@aybabtu.com>
25146
25147 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25148
25149 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25150 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25151 from here ...
25152 * include/grub/i386/pc/memory.h: ... to here.
25153
976b07d0 251542008-11-12 Robert Millan <rmh@aybabtu.com>
25155
25156 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25157 split).
25158
25159 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25160 (grub_console_cur_color, grub_console_real_putchar)
25161 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25162 (grub_console_setcolorstate, grub_console_setcolor)
25163 (grub_console_getcolor): Move from here ...
25164 * include/grub/i386/vga_common.h: ... to here (new file).
25165
25166 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25167 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25168 `<grub/i386/io.h>'.
25169 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25170 `<grub/i386/vga_common.h>'.
25171
76679cd3 251722008-11-12 Robert Millan <rmh@aybabtu.com>
25173
25174 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25175 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25176 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25177 variables.
25178 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25179 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25180
25181 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25182 grub_console_init() with call to grub_vga_text_init().
25183 (grub_machine_fini): Replace call to
25184 grub_console_fini() with call to grub_vga_text_fini() and
25185 grub_at_keyboard_fini().
25186
25187 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25188 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25189 (grub_console_setcolorstate, grub_console_setcolor)
25190 (grub_console_getcolor): New function prototypes.
25191
25192 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25193 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25194 (grub_vga_text_setcursor): Static-ize.
25195 (grub_vga_text_term): New structure.
25196 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25197
25198 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25199 (grub_console_cur_color, grub_console_standard_color)
25200 (grub_console_normal_color, grub_console_highlight_color)
25201 (map_char, grub_console_putchar, grub_console_getcharwidth)
25202 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25203 (grub_console_getcolor): Move from here ...
25204 * term/i386/vga_common.c: ... to here (same function names).
25205
95b841d3 252062008-11-12 Robert Millan <rmh@aybabtu.com>
25207
25208 Use newly-added Multiboot support in coreboot.
25209
25210 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25211 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25212
25213 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25214 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25215 (codestart): Store the MBI in `startup_multiboot_info' when we're
25216 being loaded using Multiboot.
25217
25218 * kern/i386/coreboot/init.c (grub_machine_init): Move
25219 grub_at_keyboard_init() call to beginning of function (useful for
25220 debugging). Call grub_machine_mmap_init() before attempting to use
25221 grub_machine_mmap_iterate().
25222 (grub_lower_mem, grub_upper_mem): Move from here ...
25223 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25224 here (new file).
25225
25226 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25227 function prototype.
25228
761ca975 252292008-11-12 Robert Millan <rmh@aybabtu.com>
25230
25231 Fix a regression introduced by the at_keyboard.mod split. Because
25232 some terminals are default on some platforms and non-default on
25233 others, the first terminal being registered determines which is
25234 going to be default.
25235
25236 * kern/term.c (grub_term_register_input): If this is the first
25237 terminal being registered, set it as the current one.
25238 (grub_term_register_output): Likewise.
25239
25240 * term/efi/console.c (grub_console_init): Do not call
25241 grub_term_set_current_output() or grub_term_set_current_input().
25242 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25243 * term/i386/pc/console.c (grub_console_init): Likewise.
25244 (grub_console_fini): Do not call grub_term_set_current_input()
25245 (but leave grub_term_set_current_output() to restore text mode).
25246
6c529df7 252472008-11-10 Robert Millan <rmh@aybabtu.com>
25248
25249 * util/grub.d/00_header.in: Add backward compatibility check for
25250 versions of terminal.mod that don't understand `terminal_input' or
25251 `terminal_output'.
25252
132e4113 252532008-11-09 Robert Millan <rmh@aybabtu.com>
25254
25255 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25256 `terminal_input' / `terminal_output', not `terminal'.
25257
ac293d50 252582008-11-08 Robert Millan <rmh@aybabtu.com>
25259
25260 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25261 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25262
0025933a 252632008-11-08 Robert Millan <rmh@aybabtu.com>
25264
25265 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25266 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25267 members. Update all users.
25268 * util/console.c (grub_ncurses_term): Split in ...
25269 (grub_ncurses_term_input): ... this, and ...
25270 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25271 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25272
37c86336 252732008-11-08 Robert Millan <rmh@aybabtu.com>
25274
25275 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25276 (PKGDATA): Add $(pkgdata_SRCDIR).
25277 (pkglib_BUILDDIR): New variable.
25278 (pkgdata_SRCDIR): New variable.
25279 (build_env.mk): New target.
25280 (include_DATA): New variable.
25281 (install-local): Install $(include_DATA) files in $(includedir).
25282
b6c15a2d 252832008-11-07 Pavel Roskin <proski@gnu.org>
25284
d99d46f1 25285 * gendistlist.sh: Use C locale for sorting to ensure consistent
25286 output on all systems.
25287
b6c15a2d 25288 * util/grub.d/00_header.in: Remove incorrect space before
25289 "serial".
25290
c32ee8c9 252912008-11-07 Robert Millan <rmh@aybabtu.com>
25292
25293 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25294 per specification.
25295 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25296 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25297 (based on find_multi_boot1_header).
25298 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25299 using find_multi_boot2_header(), and abort if neither Multiboot or
25300 Multiboot headers were found.
25301
651c29b7 253022008-11-07 Robert Millan <rmh@aybabtu.com>
25303
25304 Modularize at_keyboard.mod:
25305
25306 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25307 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25308 (at_keyboard_mod_LDFLAGS): New variables.
25309
25310 Actual terminal split:
25311
25312 * include/grub/term.h (struct grub_term): Split in ...
25313 (struct grub_term_input): ... this, and ...
25314 (struct grub_term_output): ... this. Update all users.
25315 (grub_term_set_current): Split in ...
25316 (grub_term_set_current_input): ... this, and ...
25317 (grub_term_set_current_output): ... this.
25318 (grub_term_get_current): Split in ...
25319 (grub_term_get_current_input): ... this, and ...
25320 (grub_term_get_current_output): ... this.
25321 (grub_term_register): Split in ...
25322 (grub_term_register_input): ... this, and ...
25323 (grub_term_register_output): ... this.
25324 (grub_term_unregister): Split in ...
25325 (grub_term_unregister_input): ... this, and ...
25326 (grub_term_unregister_output): ... this.
25327 (grub_term_iterate): Split in ...
25328 (grub_term_iterate_input): ... this, and ...
25329 (grub_term_iterate_output): ... this.
25330
25331 * kern/term.c (grub_term_list): Split in ...
25332 (grub_term_list_input): ... this, and ...
25333 (grub_term_list_output): ... this. Update all users.
25334 (grub_cur_term): Split in ...
25335 (grub_cur_term_input): ... this, and ...
25336 (grub_cur_term_output): ... this. Update all users.
25337 (grub_term_set_current): Split in ...
25338 (grub_term_set_current_input): ... this, and ...
25339 (grub_term_set_current_output): ... this.
25340 (grub_term_get_current): Split in ...
25341 (grub_term_get_current_input): ... this, and ...
25342 (grub_term_get_current_output): ... this.
25343 (grub_term_register): Split in ...
25344 (grub_term_register_input): ... this, and ...
25345 (grub_term_register_output): ... this.
25346 (grub_term_unregister): Split in ...
25347 (grub_term_unregister_input): ... this, and ...
25348 (grub_term_unregister_output): ... this.
25349 (grub_term_iterate): Split in ...
25350 (grub_term_iterate_input): ... this, and ...
25351 (grub_term_iterate_output): ... this.
25352
25353 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25354 a check for input and one for output (and only attempt to get keys
25355 from user when input works).
25356
25357 * util/grub-probe.c (grub_term_get_current): Split in ...
25358 (grub_term_get_current_input): ... this, and ...
25359 (grub_term_get_current_output): ... this.
25360 * util/grub-fstest.c: Likewise.
25361 * util/i386/pc/grub-setup.c: Likewise.
25362 * util/grub-editenv.c: Likewise.
25363
25364 Portability adjustments:
25365
25366 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25367 `term/i386/pc/at_keyboard.c'.
25368 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25369 grub_keyboard_controller_init() (now handled by terminal .init).
25370 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25371 grub_at_keyboard_init().
25372 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25373 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25374 at_keyboard.mod via input terminal interface).
25375 * include/grub/i386/coreboot/console.h: Convert into a stub for
25376 `<grub/i386/pc/console.h>'.
25377
25378 Migrate full terminals to new API:
25379
25380 * term/efi/console.c (grub_console_term): Split into ...
25381 (grub_console_term_input): ... this, and ...
25382 (grub_console_term_output): ... this. Update all users.
25383 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25384 (grub_ofconsole_init): Split into ...
25385 (grub_ofconsole_init_input): ... this, and ...
25386 (grub_ofconsole_init_output): ... this.
25387 (grub_ofconsole_term): Split into ...
25388 (grub_ofconsole_term_input): ... this, and ...
25389 (grub_ofconsole_term_output): ... this. Update all users.
25390 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25391 (grub_serial_term_input): ... this, and ...
25392 (grub_serial_term_output): ... this. Update all users.
25393 * term/i386/pc/console.c (grub_console_term): Split into ...
25394 (grub_console_term_input): ... this, and ...
25395 (grub_console_term_output): ... this. Update all users.
25396 (grub_console_term_input): Only enable it on PC/BIOS platform.
25397 (grub_console_init): Remove grub_keyboard_controller_init() call.
25398
25399 Migrate input terminals to new API:
25400
25401 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25402 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25403 i386-specific anyway).
25404 (grub_console_checkkey): Rename to ...
25405 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25406 users.
25407 (grub_keyboard_controller_orig): New variable.
25408 (grub_console_getkey): Rename to ...
25409 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25410 users.
25411 (grub_keyboard_controller_init): Static-ize. Save original
25412 controller value so that it can be restored ...
25413 (grub_keyboard_controller_fini): ... here (new function).
25414 (grub_at_keyboard_term): New structure.
25415 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25416 functions.
25417
25418 Migrate output terminals to new API:
25419
25420 * term/i386/pc/vga.c (grub_vga_term): Change type to
25421 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25422 members. Update all users.
25423 * term/gfxterm.c (grub_video_term): Change type to
25424 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25425 members. Update all users.
25426 * include/grub/i386/pc/console.h (grub_console_checkkey)
25427 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25428 etc).
25429
25430 Migrate `terminal' command and userland tools to new API:
25431
25432 * commands/terminal.c (grub_cmd_terminal): Split into ...
25433 (grub_cmd_terminal_input): ... this, and ...
25434 (grub_cmd_terminal_output): ... this.
25435 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25436 `terminal_input' and `terminal_output'.
25437 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25438 `terminal_input' / `terminal_output' API.
25439 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25440 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25441 provided ${GRUB_TERMINAL}, convert it).
25442
96e5d876 254432008-11-04 Robert Millan <rmh@aybabtu.com>
25444
25445 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25446 for FreeBSD.
25447 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25448
556f3775 254492008-11-03 Bean <bean123ch@gmail.com>
25450
25451 * kern/elf.c (grub_elf32_load): Revert to previous code.
25452 (grub_elf64_load): Likewise.
25453
25454 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25455
926b9823 254562008-11-01 Robert Millan <rmh@aybabtu.com>
25457
25458 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25459 (TARGET_CPPFLAGS): Likewise.
25460 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25461
1432e958 254622008-11-01 Carles Pina i Estany <carles@pina.cat>
25463
25464 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25465
dba3f844 254662008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25467
25468 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25469 addition of objects until the code is not going to be able to fail.
25470
dba3f844 254712008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25472
25473 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25474 (add a missing NULL check, and correct them by moving the pointer
25475 operations after the actual check).
25476
7ab28c21 254772008-10-29 Robert Millan <rmh@aybabtu.com>
25478
25479 * util/i386/pc/grub-install.in: Handle empty string as output from
25480 make_system_path_relative_to_its_root().
25481
1b7748eb 254822008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25483
25484 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25485 circular metadata worst case scenario. If the metadata is circular
25486 then copy the wrap in place.
25487 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25488 project lib/format_text/layout.h
25489 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25490
c9618ab2 254912008-10-03 Felix Zielcke <fzielcke@z-51.de>
25492
7a36edca 25493 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25494
bf981c62 254952008-10-03 Felix Zielcke <fzielcke@z-51.de>
25496
25497 * util/update-grub_lib.in: Mention filename in warning message.
25498
6d994591 254992008-09-29 Felix Zielcke <fzielcke@z-51.de>
25500
25501 * NEWS: Update for rename of update-grub to grub-mkconfig.
25502
18ade780 255032008-09-29 Felix Zielcke <fzielcke@z-51.de>
25504
25505 * util/update-grub_lib.in: Copy to ...
25506 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25507 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25508 * util/update-grub.in: Rename to ...
25509 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25510 option. Add `--output' option to allow users to specify the generated
25511 configuration file. Default to stdout.
25512 (update_grub_dir): Rename to ...
25513 (grub_mkconfig_dir): ... this.
25514 (grub_cfg): Default to an empty string.
25515 * conf/common.rmk (update-grub): Rename to ...
25516 (grub-mkconfig): ... this.
25517 (update-grub_lib): Copy to ...
25518 (grub-mkconfig_lib): ... this.
25519 (update-grub_SCRIPTS): Copy to ...
25520 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25521 (update-grub_DATA): Rename to ...
25522 (grub-mkconfig_DATA): ... this.
25523
556ce6ac 255242008-09-28 Robert Millan <rmh@aybabtu.com>
25525
25526 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25527 to `modified'. Add the real `created' field.
25528 (grub_iso9660_uuid): Use `modified' rather than `created' for
25529 constructing the UUID.
25530
255312008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25532
25533 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25534 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25535
92274e85 255362008-09-28 Bean <bean123ch@gmail.com>
25537
25538 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25539 Thanks to Christian Franke for finding this bug.
25540
add6f17a 255412008-09-25 Robert Millan <rmh@aybabtu.com>
25542
25543 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25544 instances of grub_util_get_disk_name() (see previous commit).
25545
d2a367b8 255462008-09-25 Robert Millan <rmh@aybabtu.com>
25547
25548 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25549 `util/i386/get_disk_name.c'.
25550 * conf/i386-efi.rmk: Likewise.
25551 * conf/x86_64-efi.rmk: Likewise.
25552 * conf/i386-coreboot.rmk: Likewise.
25553 * conf/i386-ieee1275.rmk: Likewise.
25554 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25555 `util/ieee1275/get_disk_name.c'.
25556 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25557 * util/ieee1275/get_disk_name.c: Remove file.
25558 * util/i386/get_disk_name.c: Remove file.
25559 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25560 "hd%d" for device.map entries, rather than using
25561 grub_util_get_disk_name().
25562
81a06771 255632008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25564
25565 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25566 warning.
25567 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25568
5a004279 255692008-09-24 Carles Pina i Estany <carles@pina.cat>
25570
25571 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25572 Changed to 0x5100.
25573 (GRUB_TERM_PPAGE): Changed to 0x4900.
25574
397093d3 255752008-09-24 Robert Millan <rmh@aybabtu.com>
25576
25577 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25578 macros (they were i386-pc specific).
25579 * include/grub/sparc64/ieee1275/console.h: Likewise.
25580 * include/grub/efi/console.h: Likewise.
25581
a91b6c7c 255822008-09-22 Bean <bean123ch@gmail.com>
25583
25584 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25585 resident and in attribute list.
25586
25587 * include/grub/ntfs.h (BMP_LEN): Removed.
25588
c40fd116 255892008-09-22 Bean <bean123ch@gmail.com>
25590
81a06771 25591 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 25592 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25593
25594 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25595 error occurs, as grub_disk_open will call grub_disk_close, which will
25596 call p->close (scsi).
25597
81a06771 255982008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 25599
25600 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25601 (AC_PREREQ): Bumped to 2.59.
25602 (AC_TRY_COMPILE): Replace obsolete macro with ...
25603 (AC_COMPILE_IFELSE): ... this.
25604 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25605 (AC_LINK_IFELSE): ... this.
25606
5dc43410 256072008-09-21 Felix Zielcke <fzielcke@z-51.de>
25608
25609 * autogen.sh: Add a call to `gendistlist.sh'.
25610
9035dce4 256112008-09-19 Christian Franke <franke@computer.org>
25612
25613 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25614 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25615 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25616 Export __enable_execute_stack() to modules.
25617 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25618 New function.
25619
7fd75377 256202008-09-09 Felix Zielcke <fzielcke@z-51.de>
25621
040030b3 25622 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25623 Sort the list.
25624
256252008-09-09 Felix Zielcke <fzielcke@z-51.de>
25626
25627 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 25628 #include <grub/util/hostdisk.h>.
25629
89d5ffcf 256302008-09-08 Robert Millan <rmh@aybabtu.com>
25631
25632 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25633 segments when their filesz is zero (grub_file_read() interprets
81a06771 25634 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 25635 Use `lowest_segment' rather than 0 for calculating the current
25636 segment load address.
25637
40da438f 256382008-09-08 Robert Millan <rmh@aybabtu.com>
25639
25640 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25641 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25642 clobbered useful information.
25643
ddbf5556 256442008-09-08 Robert Millan <rmh@aybabtu.com>
25645
25646 * include/grub/util/biosdisk.h: Move to ...
25647 * include/grub/util/hostdisk.h: ... here. Update all users.
25648 * util/biosdisk.c: Move to ...
25649 * util/hostdisk.c: ... here. Update all users.
25650
783d0f48 256512008-09-07 Robert Millan <rmh@aybabtu.com>
25652
25653 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25654 variables.
25655 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25656 and length can be stored directly in the `mbi->mmap_addr' and
25657 `mbi->mmap_length' struct fields.
25658
548e2ea5 256592008-09-07 Robert Millan <rmh@aybabtu.com>
25660
25661 * conf/i386.rmk: New file. Provides declaration for building
25662 `cpuid.mod'.
25663 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25664 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25665 variables.
25666 Include `conf/i386.mk'.
25667 * conf/i386-efi.rmk: Likewise.
25668 * conf/x86_64-efi.rmk: Likewise.
25669 * conf/i386-coreboot.rmk: Likewise.
25670 * conf/i386-ieee1275.rmk: Likewise.
25671
0ea85a37 256722008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25673
25674 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25675 Adds optimization support for BGR based modes.
25676
25677 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25678 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25679 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25680 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25681 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25682 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25683 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25684 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25685 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25686 (grub_video_i386_vbeblit_index_index): Likewise.
25687 (grub_video_i386_vbeblit_replace_directN): Added.
25688 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25689 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25690 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25691 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25692 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25693 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 25694 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 25695 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25696 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25697 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25698 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25699 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25700 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
25701
25702 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
25703 (grub_video_i386_vbefill_R8G8B8): Likewise.
25704 (grub_video_i386_vbefill_index): Likewise.
25705 (grub_video_i386_vbefill_direct32): Added.
25706 (grub_video_i386_vbefill_direct24): Likewise.
25707 (grub_video_i386_vbefill_direct16): Likewise.
25708 (grub_video_i386_vbefill_direct8): Likewise.
25709
81a06771 25710 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 25711 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
25712 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
25713 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
25714 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
25715 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 25716
0ea85a37 25717 * video/video.c (grub_video_get_blit_format): Updated to use new
25718 blit formats. Added handling for 16 bit color modes.
81a06771 25719
25720 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 25721 fillers.
25722 (common_blitter): Updated to use new blitters.
25723
25724 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
25725 Removed.
25726 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25727 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25728 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25729 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25730 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25731 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25732 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25733 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25734 (grub_video_i386_vbeblit_index_index): Likewise.
25735 (grub_video_i386_vbeblit_replace_directN): Added.
25736 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25737 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25738 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25739 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25740 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25741 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25742 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25743 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25744 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25745 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25746 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25747 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25748 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 25749
0ea85a37 25750 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
25751 (grub_video_i386_vbefill_R8G8B8): Likewise.
25752 (grub_video_i386_vbefill_index): Likewise.
25753 (grub_video_i386_vbefill_direct32): Added.
25754 (grub_video_i386_vbefill_direct24): Likewise.
25755 (grub_video_i386_vbefill_direct16): Likewise.
25756 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 25757
0ea85a37 25758 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
25759 types.
81a06771 25760
0ea85a37 25761 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
25762 types.
81a06771 25763
0ea85a37 25764 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
25765 blitter types.
81a06771 25766
0ea85a37 25767 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
25768 types.
25769
e8a83df6 257702008-09-06 Felix Zielcke <fzielcke@z-51.de>
25771
25772 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
25773 RAID level 1.
25774
6bcd8ee5 257752008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 25776
6bcd8ee5 25777 * fs/iso9660.c (grub_iso9660_date): New structure.
25778 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
25779 (grub_iso9660_uuid): New function.
c375ae58 25780
59261157 257812008-09-05 Bean <bean123ch@gmail.com>
25782
25783 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
25784
25785 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
25786 insensitive bit for names in Win32 and Win32 & DOS namespace.
25787
25788 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
25789
25790 * include/grub/types.h (LONG_MAX): Likewise.
25791
58b6645a 257922008-09-04 Felix Zielcke <fzielcke@z-51.de>
25793
4ee55921 25794 * util/getroot.c: Include <config.h>.
25795 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
25796 add support for /dev/md/N devices and handle LVM double dash escaping.
25797
257982008-09-04 Felix Zielcke <fzielcke@z-51.de>
25799
25800 * config.guess: Update to latest version from config git.
25801 * config.sub: Likewise.
58b6645a 25802
9124f65d 258032008-09-03 Robert Millan <rmh@aybabtu.com>
25804
25805 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
25806 `disk->total_sectors'.
25807
81a06771 258082008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 25809
25810 * include/grub/normal.h: Fixed incorrect comment for
25811 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
25812
81a06771 258132008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 25814
25815 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
25816 values with defines.
25817
25818 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
25819 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
25820 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
25821 (GRUB_VBE_MODEATTR_COLOR): Likewise.
25822 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
25823 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
25824 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
25825 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
25826 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
25827 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
25828 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
25829 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
25830 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
25831 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
25832 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
25833 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
25834 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
25835 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
25836 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
25837
93d5cbf8 258382008-08-31 Robert Millan <rmh@aybabtu.com>
25839
25840 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
25841 declaration.
25842 (grub_multiboot): Fix a few warnings.
25843
21751d50 258442008-08-31 Robert Millan <rmh@aybabtu.com>
25845
25846 * loader/i386/pc/multiboot.c: Update comment not to say that
25847 boot_device support is unimplemented.
25848
e27a75c5 258492008-08-31 Robert Millan <rmh@aybabtu.com>
25850
25851 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
25852 or memory map support are unimplemented.
25853
81a06771 258542008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 25855
25856 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
25857
81a06771 258582008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 25859
25860 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
25861 total video memory in 'vbeinfo' output; show color format details for
25862 each video mode.
25863
7c5d8d95 258642008-08-30 Pavel Roskin <proski@gnu.org>
25865
25866 * util/genmoddep.c: Remove for real this time.
25867 * DISTLIST: Remove util/genmoddep.c.
25868
4cebd25a 258692008-08-30 Robert Millan <rmh@aybabtu.com>
25870
25871 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
25872 as required by Multiboot spec (it was already 4-byte aligned, but
25873 only by chance).
25874
b497a269 258752008-08-29 Pavel Roskin <proski@gnu.org>
25876
e3925185 25877 * kern/powerpc/ieee1275/crt0.S: Rename to ...
25878 * kern/powerpc/ieee1275/startup.S: ... this.
25879 * conf/powerpc-ieee1275.rmk: Adjust for the above.
25880 * DISTLIST: Likewise.
25881
b497a269 25882 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
25883 grub/cpu/kernel.h. Add start label for consistency with other
25884 platforms. Add grub_prefix immediately after start. Add jump
25885 to the code after grub_prefix.
25886 * include/grub/powerpc/kernel.h: Provide valid values for
25887 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
25888
6e5a42fe 258892008-08-29 Bean <bean123ch@gmail.com>
25890
25891 * configure.ac: Change host_os to cygwin for mingw.
25892 (asprintf): New check for function.
25893
25894 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
25895 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
25896
25897 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 25898 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 25899 sync, sleep and grub_util_get_disk_size for mingw.
25900
25901 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
25902 to get size in mingw.
25903 (open_device): Use flag O_BINARY if it's defined.
25904 (find_root_device): Add dummy code for mingw.
25905
25906 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
25907 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
25908 (get_scsi_disk_name): Return 0 for mingw.
25909
25910 * util/hostfs.c: #include <grub/util/misc.h>.
25911 (grub_hostfs_open): Use "rb" flag to open file, use
25912 grub_util_get_disk_size to get disk size for mingw.
25913
25914 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
25915 (asprintf): New function if HAVE_ASPRINTF is not set.
25916 (sync): New function for mingw.
25917 (sleep): Likewise.
25918 (grub_util_get_disk_size): Likewise.
25919
ab3f2673 259202008-08-28 Pavel Roskin <proski@gnu.org>
25921
25922 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25923 kern/time.c.
25924
1c282483 259252008-08-28 Robert Millan <rmh@aybabtu.com>
25926
25927 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
25928
678e849c 259292008-08-28 Robert Millan <rmh@aybabtu.com>
25930
25931 Change find_grub_drive() syntax so it doesn't prevent it from
25932 detecting NULL names as errors.
25933
25934 * util/biosdisk.c (find_grub_drive): Move free slot search code
25935 from here ...
25936 (find_free_slot): ... to here.
25937 (read_device_map): Use find_free_slot() to search for free slots.
25938
965c75ca 259392008-08-27 Marco Gerards <marco@gnu.org>
25940
25941 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
25942 (scsi_mod_SOURCES): New variable.
25943 (scsi_mod_CFLAGS): Likewise
25944 (scsi_mod_LDFLAGS): Likewise.
25945
25946 * disk/scsi.c: New file.
25947
25948 * include/grub/scsi.h: Likewise.
25949
25950 * include/grub/scsicmd.h: Likewise.
25951
25952 * disk/ata.c: Include <grub/scsi.h>.
25953 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25954 instead.
25955 (grub_ata_iterate): Skip ATAPI devices.
25956 (grub_ata_open): Only handle ATAPI devices.
25957 (struct grub_atapi_read): Removed.
25958 (grub_atapi_readsector): Likewise.
25959 (grub_ata_read): No longer handle ATAPI devices.
25960 (grub_ata_write): Likewise.
25961 (grub_atapi_iterate): New function.
25962 (grub_atapi_read): Likewise.
25963 (grub_atapi_write): Likewise.
25964 (grub_atapi_open): Likewise.
25965 (grub_atapi_close): Likewise.
25966 (grub_atapi_dev): New variable.
25967 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25968 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25969
25970 * include/grub/disk.h (enum grub_disk_dev_id): Add
25971 `GRUB_DISK_DEVICE_SCSI_ID'.
25972
c07ae501 259732008-08-26 Robert Millan <rmh@aybabtu.com>
25974
25975 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25976 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25977 descriptive.
25978
5ed20adc 259792008-08-23 Bean <bean123ch@gmail.com>
25980
25981 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25982 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25983 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25984 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25985 dm_nv.mod.
25986 (raid5rec_mod_SOURCES): New macro.
25987 (raid5rec_mod_CFLAGS): Likewise.
25988 (raid5rec_mod_LDFLAGS): Likewise.
25989 (raid6rec_mod_SOURCES): Likewise.
25990 (raid6rec_mod_CFLAGS): Likewise.
25991 (raid6rec_mod_LDFLAGS): Likewise.
25992 (mdraid_mod_SOURCES): Likewise.
25993 (mdraid_mod_CFLAGS): Likewise.
25994 (mdraid_mod_LDFLAGS): Likewise.
25995 (dm_nv_mod_SOURCES): Likewise.
25996 (dm_nv_mod_CFLAGS): Likewise.
25997 (dm_nv_mod_LDFLAGS): Likewise.
25998
25999 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26000 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26001 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26002
26003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26004 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26005
26006 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26007
26008 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26009
26010 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26011
26012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26013
26014 * disk/raid5_recover.c: New file.
26015
26016 * disk/raid6_recover.c: Likewise.
26017
26018 * disk/mdraid_linux.c: Likewise.
26019
26020 * disk/dmraid_nvidia.c: Likewise.
26021
26022 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26023 ULONG_MAX.
26024
26025 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26026 calculate the size of raid device.
26027 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26028 different layout of raid5.
26029 (grub_raid_scan_device): Remove code specific to mdraid.
26030 (grub_raid_list): New variable.
26031 (free_array): New function.
26032 (grub_raid_register): Likewise.
26033 (grub_raid_unregister): Likewise.
26034 (grub_raid_rescan): Likewise.
26035 (GRUB_MOD_INIT): Don't iterate device here.
26036 (GRUB_MOD_FINI): Use free_array to release resource.
26037
26038 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26039 (grub_raid5_recover_func_t): New function variable type.
26040 (grub_raid6_recover_func_t): Likewise.
26041 (grub_raid5_recover_func): New variable.
26042 (grub_raid6_recover_func): Likewise.
26043 (grub_raid_register): New function.
26044 (grub_raid_unregister): Likewise.
26045 (grub_raid_rescan): Likewise.
26046 (grub_raid_block_xor): Likewise.
26047
26048 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26049 (CMD_CRC): New macro.
26050 (part): Removed.
26051 (read_file): Handle device as well as file.
26052 (cmd_crc): New function.
26053 (fstest): Handle multiple disks.
26054 (options): Remove part, raw and long, add root and diskcount.
26055 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26056 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26057 add handling for the new options, support multiple disks.
26058
26059 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26060
29c18915 260612008-08-23 Bean <bean123ch@gmail.com>
26062
26063 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26064
26065 * genfslist.sh: Ignore kernel.mod.
26066
26067 * genpartmaplist.sh: Likewise.
26068
8415f261 260692008-08-23 Robert Millan <rmh@aybabtu.com>
26070
26071 * util/getroot.c (find_root_device): Skip anything that starts with
26072 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26073
d5a7dc5b 260742008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26075
d5a7dc5b 26076 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26077 * util/grub.d/00_header.in: Allow the administrator to change default
26078 gfxmode via ${GRUB_GFXMODE}.
26079
380cfbb4 260802008-08-21 Felix Zielcke <fzielcke@z-51.de>
26081
26082 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26083
c9baafe7 260842008-08-21 Robert Millan <rmh@aybabtu.com>
26085
26086 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26087 loader.
26088 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26089 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26090
e290bef2 260912008-08-20 Carles Pina i Estany <carles@pina.cat>
26092
26093 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26094 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26095
f9dbfc96 260962008-08-19 Robert Millan <rmh@aybabtu.com>
26097
26098 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26099 (struct grub_virtual_screen): Remove `cursor_color'.
26100 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26101 initialization.
26102 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26103
dd6bd6ab 261042008-08-18 Robert Millan <rmh@aybabtu.com>
26105
26106 Unify (identical) linux_normal.c files.
26107 * loader/i386/efi/linux_normal.c: Move from here ...
26108 * loader/linux_normal.c: ... to here. Update all users.
26109 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26110 * loader/i386/ieee1275/linux_normal.c: Likewise.
26111
7f42f83e 261122008-08-18 Robert Millan <rmh@aybabtu.com>
26113
26114 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26115 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26116 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26117 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26118 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26119 New macros.
26120 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26121 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26122 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26123 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26124 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26125 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26126 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26127 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26128 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26129 portably using grub_getxy().
26130 Replace `-EFI' with `-bzImage' in boot message.
26131
38487ddb 261322008-08-17 Robert Millan <rmh@aybabtu.com>
26133
26134 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26135
deceb3ec 261362008-08-17 Robert Millan <rmh@aybabtu.com>
26137
26138 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26139
26140 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26141 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26142 (grub_machine_mmap_iterate): New function declaration.
26143 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26144 structure.
26145 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26146 macros.
26147
26148 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26149 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26150 Move e820 parsing from here ...
26151 * kern/i386/pc/mmap.c: New file.
26152 (grub_machine_mmap_iterate): ... to here.
26153
26154 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26155 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26156 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26157 (grub_available_iterate): Redeclare to return `void', and redeclare
26158 its hook to use grub_uint64_t as addr and size parameters, and rename
26159 to ...
26160 (grub_machine_mmap_iterate): ... this. Update all users.
26161
26162 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26163 to make it more readable. Rename to ...
26164 (grub_machine_mmap_iterate): ... this.
26165
26166 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26167 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26168 (grub_multiboot): Allocate an extra region after the payload, and fill
26169 it with a Multiboot memory map. Adjust a.out loader to calculate size
26170 with the extra space.
26171 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26172 with the extra space.
26173
f8aa0f43 261742008-08-17 Carles Pina i Estany <carles@pina.cat>
26175
9807deb9 26176 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26177
605f5bb6 261782008-08-17 Felix Zielcke <fzielcke@z-51.de>
26179
26180 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26181 mdate-sh to the list `find' searches for.
26182 * DISTLIST: Regenerated.
26183
210db6c6 261842008-08-16 Felix Zielcke <fzielcke@z-51.de>
26185
26186 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26187 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26188 genmoddep.awk, gensymlist.sh.in.
26189 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26190 * DISTLIST: Regenerated.
48cdbfd4 26191 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26192
1082b929 261932008-08-16 Robert Millan <rmh@aybabtu.com>
26194
26195 * disk/raid.c (grub_raid_init): Handle/report errors set by
26196 grub_device_iterate().
26197 * disk/lvm.c (grub_lvm_init): Likewise.
26198
42ce5170 261992008-08-15 Bean <bean123ch@gmail.com>
26200
26201 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26202 and datehook.mod.
26203 (datetime_mod_SOURCES): New macro.
26204 (datetime_mod_CFLAGS): Likewise.
26205 (datetime_mod_LDFLAGS): Likewise.
26206 (date_mod_SOURCES): Likewise.
26207 (date_mod_CFLAGS): Likewise.
26208 (date_mod_LDFLAGS): Likewise.
26209 (datehook_mod_SOURCES): Likewise.
26210 (datehook_mod_CFLAGS): Likewise.
26211 (datehook_mod_LDFLAGS): Likewise.
26212
26213 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26214 and datehook.mod.
26215 (datetime_mod_SOURCES): New macro.
26216 (datetime_mod_CFLAGS): Likewise.
26217 (datetime_mod_LDFLAGS): Likewise.
26218 (date_mod_SOURCES): Likewise.
26219 (date_mod_CFLAGS): Likewise.
26220 (date_mod_LDFLAGS): Likewise.
26221 (datehook_mod_SOURCES): Likewise.
26222 (datehook_mod_CFLAGS): Likewise.
26223 (datehook_mod_LDFLAGS): Likewise.
26224
26225 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26226 and datehook.mod.
26227 (datetime_mod_SOURCES): New macro.
26228 (datetime_mod_CFLAGS): Likewise.
26229 (datetime_mod_LDFLAGS): Likewise.
26230 (date_mod_SOURCES): Likewise.
26231 (date_mod_CFLAGS): Likewise.
26232 (date_mod_LDFLAGS): Likewise.
26233 (datehook_mod_SOURCES): Likewise.
26234 (datehook_mod_CFLAGS): Likewise.
26235 (datehook_mod_LDFLAGS): Likewise.
26236
26237 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26238 and datehook.mod.
26239 (datetime_mod_SOURCES): New macro.
26240 (datetime_mod_CFLAGS): Likewise.
26241 (datetime_mod_LDFLAGS): Likewise.
26242 (date_mod_SOURCES): Likewise.
26243 (date_mod_CFLAGS): Likewise.
26244 (date_mod_LDFLAGS): Likewise.
26245 (datehook_mod_SOURCES): Likewise.
26246 (datehook_mod_CFLAGS): Likewise.
26247 (datehook_mod_LDFLAGS): Likewise.
26248
26249 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26250 and datehook.mod.
26251 (datetime_mod_SOURCES): New macro.
26252 (datetime_mod_CFLAGS): Likewise.
26253 (datetime_mod_LDFLAGS): Likewise.
26254 (date_mod_SOURCES): Likewise.
26255 (date_mod_CFLAGS): Likewise.
26256 (date_mod_LDFLAGS): Likewise.
26257 (datehook_mod_SOURCES): Likewise.
26258 (datehook_mod_CFLAGS): Likewise.
26259 (datehook_mod_LDFLAGS): Likewise.
26260
26261 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26262
26263 * commands/date.c: New file.
26264
26265 * hook/datehook.c: Likewise.
26266
26267 * include/grub/lib/datetime.h: Likewise.
26268
26269 * include/grub/i386/cmos.h: Likewise.
26270
26271 * lib/datetime.c: Likewise.
26272
26273 * lib/i386/datetime.c: Likewise.
26274
26275 * lib/efi/datetime.c: Likewise.
26276
0e9242da 262772008-08-14 Robert Millan <rmh@aybabtu.com>
26278
26279 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26280 (grub_mkelfimage_SOURCES): New variable.
26281 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26282
26283 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26284 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26285 * conf/powerpc-ieee1275.rmk: Likewise.
26286 * conf/i386-ieee1275.rmk: Likewise.
26287
26288 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26289 * kern/i386/coreboot/init.c: Likewise.
26290
26291 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26292 with `<grub/cpu/kernel.h>'.
26293 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26294 to ...
26295 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26296 * kern/i386/coreboot/startup.S: Likewise.
26297
26298 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26299 (GRUB_MOD_GAP): Remove.
26300 * include/grub/powerpc/kernel.h: New file.
26301 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26302 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26303 * include/grub/i386/kernel.h: New file.
26304 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26305 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26306 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26307
26308 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26309 `grub-mkelfimage'.
26310 Use --directory when invoking grub_mkimage.
26311
26312 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26313 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26314 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26315 and GRUB_KERNEL_CPU_PREFIX.
26316
b86408f8 263172008-08-14 Felix Zielcke <fzielcke@z-51.de>
26318
d5e619ca 26319 * include/grub/err.h (grub_err_printf): New function prototype.
26320 * util/misc.c (grub_err_printf): New function.
26321 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26322 grub_printf.
26323 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26324
7161f0e0 263252008-08-13 Robert Millan <rmh@aybabtu.com>
26326
26327 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26328
a1967522 263292008-08-13 Robert Millan <rmh@aybabtu.com>
26330
26331 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26332 boot entry.
26333
371458b5 263342008-08-12 Robert Millan <rmh@aybabtu.com>
26335
26336 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26337 of the relocation code from here ...
26338 (grub_multiboot): ... to here.
26339 (forward_relocator, backward_relocator): Move from here ...
26340 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26341 (grub_multiboot_backward_relocator): ... to here.
26342 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26343 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26344 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26345 (grub_multiboot_forward_relocator_end)
26346 (grub_multiboot_backward_relocator)
26347 (grub_multiboot_backward_relocator_end): New variables.
26348
05f9452b 263492008-08-12 Bean <bean123ch@gmail.com>
26350
26351 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26352
20024ab0 263532008-08-11 Robert Millan <rmh@aybabtu.com>
26354
26355 * kern/i386/linuxbios/startup.S: Move from here ...
26356 * kern/i386/coreboot/startup.S: ... to here.
26357
26358 * kern/i386/linuxbios/init.c: Move from here ...
26359 * kern/i386/coreboot/init.c: ... to here.
26360
26361 * kern/i386/linuxbios/table.c: Move from here ...
26362 * kern/i386/coreboot/mmap.c: ... to here.
26363
26364 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26365
e352e9cd 263662008-08-11 Robert Millan <rmh@aybabtu.com>
26367
26368 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26369 errors. Leave it to the upper layer to handle them.
26370
2d05bc6a 263712008-08-09 Christian Franke <franke@computer.org>
26372
26373 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26374 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26375 Install `grub.d/10_windows' only on Cygwin.
26376 * configure.ac: Add subst of `target_os'.
26377 Check `target_os' also before setting TARGET_OBJ2ELF.
26378 Add `--enable-grub-pe2elf'.
26379
042bd419 263802008-08-08 Robert Millan <rmh@aybabtu.com>
26381
26382 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26383 (grub_last_time): Change type to grub_uint64_t.
26384 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26385 (grub_disk_close): Likewise.
26386
26387 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26388 (run_menu): Migrate code from to using grub_get_time_ms().
26389
26390 * util/misc.c (grub_get_time_ms): New function.
26391
7f280db5 263922008-08-08 Marco Gerards <marco@gnu.org>
26393
26394 * disk/ata.c (grub_ata_regget): Change return type to
26395 `grub_uint8_t'.
26396 (grub_ata_regget2): Likewise.
26397 (grub_ata_wait_status): New function.
26398 (grub_ata_wait_busy): Removed function, updated all users to use
26399 `grub_ata_wait_status'.
26400 (grub_ata_wait_drq): Likewise.
26401 (grub_ata_cmd): New function.
26402 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26403 error handling.
26404 (grub_ata_pio_write): Add error handling.
26405 (grub_atapi_identify): Likewise.
26406 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26407 handling.
26408 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26409 handling. Actually use the detected registers. Reorder the
26410 detection logic such that it is easier to read.
26411 (grub_ata_pciinit): Do not assign the same ID to each controller.
26412 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26413 handling.
26414 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26415
26416 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26417
1fbc5e66 264182008-08-08 Marco Gerards <marco@gnu.org>
26419
26420 * NEWS: Update.
26421
819ce6c0 264222008-08-07 Bean <bean123ch@gmail.com>
26423
26424 * include/grub/x86_64/pci.h: New file.
26425
5c41d44d 264262008-08-07 Christian Franke <franke@computer.org>
26427
26428 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26429 (TIMER2_GATE): Likewise.
26430 (grub_pit_wait): Add enable/disable of the timer2 gate
26431 bit of port 0x61. This fixes a possible infinite loop.
26432
5ebc275d 264332008-08-07 Bean <bean123ch@gmail.com>
26434
26435 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26436 kern/i386/tsc.c and kern/i386/pit.c.
26437
26438 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26439 x86_64 platform.
26440
26441 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26442 <grub/i386/tsc.h>.
26443
26444 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26445
e383b3d0 264462008-08-07 Bean <bean123ch@gmail.com>
26447
26448 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26449
26450 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26451
26452 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26453 multiple inclusion. Add #include <grub/types.h>.
26454
1cbb58ac 264552008-08-06 Christian Franke <franke@computer.org>
26456
26457 * conf/common.rmk: Build and install `10_windows'.
26458 * util/grub.d/10_windows.in: New script.
26459
337f5a1e 264602008-08-06 Pavel Roskin <proski@gnu.org>
26461
26462 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26463
057bc4ac 264642008-08-06 Robert Millan <rmh@aybabtu.com>
26465
26466 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26467 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26468
2b99f123 264692008-08-06 Bean <bean123ch@gmail.com>
26470
26471 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26472 (grub_pxefs_fs_int): Remove dummy definition.
26473 (grub_pxefs_open): Use data->block_size to store the current block
26474 size setting.
26475 (grub_pxefs_read): Use block size stored in data->block_size. As the
26476 value of grub_pxe_blksize can be changed after the file is opened.
26477
9f0234cb 264782008-08-06 Bean <bean123ch@gmail.com>
26479
26480 * fs/i386/pc/pxe.c (curr_file): new variable.
26481 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26482 require the dummy internal file system anymore.
26483 (grub_pxefs_read): Removed.
26484 (grub_pxefs_close): Likewise.
26485 (grub_pxefs_fs_int): Likewise.
26486 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26487 connection when we switch file.
26488 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26489
a55d42e0 264902008-08-06 Robert Millan <rmh@aybabtu.com>
26491
26492 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26493 `halt.mod'.
26494 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26495 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26496
26497 * kern/i386/halt.c: New file.
26498 * kern/i386/reboot.c: Likewise.
26499 * include/grub/i386/reboot.h: Likewise.
26500 * include/grub/i386/halt.h: Likewise.
26501
26502 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26503 Include `<grub/cpu/halt.h>'.
26504 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26505 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26506
26507 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26508 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26509 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26510 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26511 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26512 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26513 from here ...
26514 * include/grub/i386/at_keyboard.h: ... to here.
26515
24371d26 265162008-08-05 Robert Millan <rmh@aybabtu.com>
26517
26518 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26519 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26520 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26521 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26522 `kern/generic/millisleep.c'.
26523
26524 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26525 instead of grub_get_rtc().
26526 (grub_tsc_init): Initialize `tsc_boot_time'.
26527
26528 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26529 (grub_machine_init): Use grub_tsc_init() rather than
26530 installing an RTC-based handler via grub_install_get_time_ms().
26531
26532 * kern/i386/pit.c: New file.
26533 * include/grub/i386/pit.h: Likewise.
26534
9e7007b3 265352008-08-05 Bean <bean123ch@gmail.com>
26536
26537 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26538
26539 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26540 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26541 (pxe_mod_SOURCES): New macro.
26542 (pxe_mod_CFLAGS): Likewise.
26543 (pxe_mod_LDFLAGS): Likewise.
26544 (pxecmd_mod_SOURCES): Likewise.
26545 (pxecmd_mod_CFLAGS): Likewise.
26546 (pxecmd_mod_LDFLAGS): Likewise.
26547
26548 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26549 (grub_pxe_call): Likewise.
26550
26551 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26552
26553 * commands/i386/pc/pxecmd.c: New file.
26554
9f0234cb 26555 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26556
26557 * include/grub/i386/pc/pxe.h: Likewise.
26558
6977d49f 265592008-08-05 Bean <bean123ch@gmail.com>
26560
26561 * util/console.c (grub_console_cur_color): New variable.
26562 (grub_console_standard_color): Likewise.
26563 (grub_console_normal_color): Likewise.
26564 (grub_console_highlight_color): Likewise.
26565 (color_map): Likewise.
26566 (use_color): Likewise.
26567 (NUM_COLORS): New macro.
26568 (grub_ncurses_setcolorstate): Handle color properly.
26569 (grub_ncurses_setcolor): Don't change color here, just remember the
26570 settings, color will be set in grub_ncurses_setcolorstate.
26571 (grub_ncurses_getcolor): New function.
26572 (grub_ncurses_init): Initialize color pairs.
26573 (grub_ncurses_term): New member grub_ncurses_getcolor.
26574
9c2ff3ee 265752008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26576
9c2ff3ee 26577 High resolution timer support. Implemented for x86 CPUs using TSC.
26578 Extracted generic grub_millisleep() so it's linked in only as needed.
26579 This requires a Pentium compatible CPU; if the RDTSC instruction is
26580 not supported, then it falls back on the generic grub_get_time_ms()
26581 implementation that uses the machine's RTC.
26582
26583 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26584 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26585 `kern/generic/millisleep.c'.
26586
26587 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26588 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26589
26590 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26591 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26592
26593 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26594
26595 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26596 `kern/generic/millisleep.c'.
26597
26598 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26599
26600 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26601
26602 * kern/generic/rtc_get_time_ms.c: New file.
26603
26604 * kern/generic/millisleep.c: New file.
337f5a1e 26605
9c2ff3ee 26606 * kern/misc.c: Don't include
26607 <kern/time.h> anymore.
26608 (grub_millisleep_generic): Removed.
26609
26610 * commands/sleep.c (grub_interruptible_millisleep): Uses
26611 grub_get_time_ms() instead of grub_get_rtc().
26612
26613 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26614 function.
26615 (grub_cpu_is_cpuid_supported): New inline function.
26616 (grub_cpu_is_tsc_supported): New inline function.
26617 (grub_tsc_init): New function prototype.
26618 (grub_tsc_get_time_ms): New function prototype.
26619
26620 * kern/i386/tsc.c (grub_get_time_ms): New file.
26621
26622 * include/grub/time.h: Include <grub/types.h.
26623 (grub_millisleep_generic): Removed.
26624 (grub_get_time_ms): New prototype.
26625 (grub_install_get_time_ms): New prototype.
26626 (grub_rtc_get_time_ms): New prototype.
26627
26628 * kern/time.c (grub_get_time_ms): New function.
26629 (grub_install_get_time_ms): New function.
26630
26631 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26632 <grub/time.h> anymore.
26633 (grub_millisleep): Removed.
26634 (grub_machine_init): Call grub_tsc_init.
26635
26636 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26637 get_time_ms() implementation.
26638
26639 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26640 (ieee1275_get_time_ms): New function.
26641 (grub_machine_init): Install get_time_ms() implementation.
26642
26643 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26644 (grub_machine_init): Call grub_tsc_init().
26645 (grub_millisleep): Removed.
bf06a93f 26646
9c2ff3ee 26647 * kern/ieee1275/init.c (grub_millisleep): Removed.
26648 (grub_machine_init): Install ieee1275_get_time_ms()
26649 implementation.
26650 (ieee1275_get_time_ms): New function.
26651 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26652 real work.
26653
9ec92aaf 266542008-08-05 Marco Gerards <marco@gnu.org>
26655
26656 * disk/ata.c: Include <grub/pci.h>.
26657 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26658 (grub_ata_initialize): Rewritten.
26659 (grub_ata_device_initialize): New function.
26660
8d23f507 266612008-08-04 Pavel Roskin <proski@gnu.org>
26662
26663 * kern/main.c: Include grub/mm.h.
26664
5e15ee3d 266652008-08-04 Robert Millan <rmh@aybabtu.com>
26666
26667 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26668 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26669 corruption problem).
26670
a9053f8f 266712008-08-04 Robert Millan <rmh@aybabtu.com>
26672
26673 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26674 warnings introduced in my last commit.
26675
dd19c7d7 266762008-08-03 Robert Millan <rmh@aybabtu.com>
26677
26678 Make PCI available on all i386 architectures.
26679
26680 * include/grub/i386/pc/pci.h: Move from here ...
26681 * include/grub/i386/pci.h: ... to here.
26682
26683 * include/grub/i386/pc/pci.h: Remove.
26684 * include/grub/i386/efi/pci.h: Remove.
26685 * include/grub/x86_64/efi/pci.h: Remove.
26686
26687 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26688 `<grub/cpu/pci.h>'.
26689
26690 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26691 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26692 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26693
26694 * conf/i386-ieee1275.rmk: Likewise.
26695
e14a6184 266962008-08-03 Robert Millan <rmh@aybabtu.com>
26697
26698 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26699 (grub_console_setcursor): Make it possible to set cursor off.
26700
52768e37 267012008-08-03 Robert Millan <rmh@aybabtu.com>
26702
26703 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
26704 of modules instead of assuming which platform provides what.
26705 * util/update-grub.in: Likewise.
26706
2d52f57f 267072008-08-03 Robert Millan <rmh@aybabtu.com>
26708
26709 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
26710 instead of `grub_install_dos_part' to determine whether a drive needs
26711 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 26712 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 26713
2a5cd121 267142008-08-02 Robert Millan <rmh@aybabtu.com>
26715
26716 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
26717
93808428 267182008-08-02 Robert Millan <rmh@aybabtu.com>
26719
26720 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
26721 of informational grub_dprintf() calls.
26722
3bd0a12a 267232008-08-02 Robert Millan <rmh@aybabtu.com>
26724
26725 * disk/memdisk.c (memdisk_size): Don't initialize.
26726 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
26727
26728 * include/grub/i386/pc/kernel.h
26729 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
26730 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
26731 (grub_memdisk_image_size, grub_arch_memdisk_addr)
26732 (grub_arch_memdisk_size): Remove.
26733
26734 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
26735 field (was only used to transfer a constant). Add `type' field to
26736 support multiple module types.
26737 (grub_module_iterate): New function.
26738
26739 * kern/device.c (grub_device_open): Do not hide error messages
26740 when grub_disk_open() fails. Use grub_print_error() instead.
26741
26742 * kern/i386/pc/init.c (grub_arch_modules_addr)
26743 (grub_arch_memdisk_size): Remove functions.
26744 (grub_arch_modules_addr): Return the module address in high memory
26745 (now that it isn't copied anymore).
26746
26747 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
26748 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
26749 decompression routine (grub_total_module_size already includes that
26750 now). Don't copy modules back to low memory.
26751
26752 * kern/main.c: Include `<grub/mm.h>'.
26753 (grub_load_modules): Split out (and use) ...
26754 (grub_module_iterate): ... this function, which iterates through
26755 module objects and runs a hook.
26756 Comment out grub_mm_init_region() call, as it would cause non-ELF
26757 modules to be overwritten.
26758
26759 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
26760 the memdisk image in its own region, make it part of the module list.
26761 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
26762 (main): Parse --memdisk|-m option, and pass user-provided path as
26763 parameter to generate_image().
26764 (add_segments): Pass `memdisk_path' down to load_modules().
26765 (load_modules): Embed memdisk image in module section when requested.
26766 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
26767 `header.type' instead of `header.offset'.
26768
26769 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
26770 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
26771 (memdisk_mod_LDFLAGS): New variables.
26772 * conf/i386-coreboot.rmk: Likewise.
26773 * conf/i386-ieee1275.rmk: Likewise.
26774
a927cc73 267752008-08-02 Robert Millan <rmh@aybabtu.com>
26776
26777 * loader/i386/pc/multiboot.c (playground, forward_relocator)
26778 (backward_relocator): New variables. Used to allocate and relocate
26779 the payload, respectively.
26780 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 26781 address, install the appropriate relocator code in each bound of
a927cc73 26782 the payload, and set the entry point such that
26783 grub_multiboot_real_boot() will jump to one of them.
26784
26785 * kern/i386/loader.S (grub_multiboot_payload_size)
26786 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26787 (grub_multiboot_payload_entry_offset): New variables.
26788 (grub_multiboot_real_boot): Set cpu context to what the relocator
26789 expects, and jump to the relocator instead of the payload.
26790
26791 * include/grub/i386/loader.h (grub_multiboot_payload_size)
26792 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26793 (grub_multiboot_payload_entry_offset): Export.
26794
b15d8a0c 267952008-08-01 Bean <bean123ch@gmail.com>
26796
26797 * normal/menu_entry.c (editor_getline): Don't return the original
26798 string as result, as it will be released by lexer once it has done
26799 using it.
26800
cdfb3d22 268012008-08-01 Robert Millan <rmh@aybabtu.com>
26802
26803 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
26804 within menuentries, not before them.
26805 util/grub.d/10_hurd.in: Likewise.
26806
9175e93d 268072008-08-01 Bean <bean123ch@gmail.com>
26808
26809 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
26810 (bufio_mod_SOURCES): New macro.
26811 (bufio_mod_CFLAGS): Likewise.
26812 (bufio_mod_LDFLAGS): Likewise.
26813
26814 * include/grub/bufio.h: New file.
26815
26816 * io/bufio.c: Likewise.
26817
26818 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
26819 (grub_video_reader_png): Use grub_buffile_open to open file.
26820
26821 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
26822 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
26823
26824 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
26825 (grub_video_reader_tga): Use grub_buffile_open to open file.
26826
26827 * font/manager.c: Include <grub/bufio.h>.
26828 (add_font): Use grub_buffile_open to open file.
26829
3d8383e7 268302008-07-31 Robert Millan <rmh@aybabtu.com>
26831
26832 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
26833 ELF segments, use a macro for arbitrarily accessing any of them instead
26834 of preparing a pointer that allows access to one at a time.
26835 (grub_multiboot_load_elf64): Likewise.
26836
16e641b6 268372008-07-31 Bean <bean123ch@gmail.com>
26838
26839 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
26840 GRUB_KERNEL_MACHINE_DATA_END.
26841
59198b72 268422008-07-30 Robert Millan <rmh@aybabtu.com>
26843
26844 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
26845 Increase from 0x50 to 0x60.
26846 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
26847 use UUIDs to identify the root drive for them. If that's not
26848 possible, abort.
26849 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
26850 check, for cross-disk installs.
26851
ae88bca3 268522008-07-30 Robert Millan <rmh@aybabtu.com>
26853
26854 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
26855 is non-empty, use it to set the `prefix' environment variable instead
26856 of the usual approach.
26857 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
26858 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
26859 environment variable instead of dummy make_install_device().
26860
26861 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
26862 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 26863 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 26864
26865 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
26866 New variable reference.
26867 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
26868 New macro. Defines offset of `grub_prefix' within startup.S (relative
26869 to `start').
26870 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
26871 section within startup.S (relative to `start').
26872 * include/grub/i386/coreboot/kernel.h: Likewise.
26873
26874 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
26875 Overwrite grub_prefix with its contents, at the beginning of the
26876 first segment.
26877 (main): Understand -p|--prefix.
26878
14f41dd1 268792008-07-30 Robert Millan <rmh@aybabtu.com>
26880
26881 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
26882
4ca049a3 268832008-07-30 Robert Millan <rmh@aybabtu.com>
26884
26885 * term/i386/pc/vga_text.c (grub_console_cls): Use
26886 grub_console_gotoxy() to go back to beginning of the screen.
26887 Found by Patrick Georgi <patrick.georgi@coresystems.de>
26888
2921d337 268892008-07-29 Christian Franke <franke@computer.org>
26890
26891 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
26892 Add conversion of emulated mount points on Cygwin.
26893
b609876d 268942008-07-29 Christian Franke <franke@computer.org>
26895
26896 * util/update-grub.in: Add a check for admin
26897 group on Cygwin.
26898 Remove old `grub.cfg.new' before creation.
26899 Add `-f' to `mv' to handle the different filesystem
26900 semantics of Windows.
26901
e93e4679 269022008-07-29 Bean <bean123ch@gmail.com>
26903
26904 * normal/main.c (get_line): Fix buffer overflow bug.
26905
41694fd0 269062008-07-28 Robert Millan <rmh@aybabtu.com>
26907
26908 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
26909 (struct grub_apple_header): New struct. Describes the layout of
26910 the partmap header.
26911 (apple_partition_map_iterate): Check the header magic as well as the
26912 partition magic (which was already being checked).
26913
cfd0b4e6 269142008-07-28 Pavel Roskin <proski@gnu.org>
26915
26916 * genmk.rb: Add a warning to the beginning of the output that
26917 it's a generated file and should not be edited.
26918
93cce016 269192008-07-28 Robert Millan <rmh@aybabtu.com>
26920
26921 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26922 with the same number are found, just use issue a warning with
26923 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 26924
cd1df915 269252008-07-27 Robert Millan <rmh@aybabtu.com>
26926
26927 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
26928 information.
26929
b70a8427 269302008-07-27 Bean <bean123ch@gmail.com>
26931
26932 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
26933 (grub_fat_find_dir): Ignore case when comparing filename.
26934
8f5e379f 269352008-07-27 Bean <bean123ch@gmail.com>
26936
26937 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
26938 smallino, as it's more descriptive, and i8count can be confused with
26939 the other field count.
26940 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
26941 inode type.
26942
a85cd5a0 269432008-07-27 Bean <bean123ch@gmail.com>
26944
26945 * commands/crc.c: New file.
26946
26947 * lib/crc.c: Likewise.
26948
26949 * include/grub/lib/crc.h: Likewise.
26950
26951 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26952
26953 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26954 (hexdump): Move this function to ...
26955
26956 * lib/hexdump.c: ... here.
26957
26958 * include/grub/hexdump.h: Renamed to ...
26959
26960 * include/grub/lib/hexdump.h: ... this.
26961
26962 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26963
26964 * util/grub-editenv.c: Likewise.
26965
26966 * include/envblk.h: Renamed to ...
26967
26968 * include/lib/envblk.h: ... this.
26969
26970 * util/envblk.c: Renamed to ...
26971
26972 * lib/envblk.c: ... this.
26973
26974 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26975 lib/hexdump.c.
26976 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26977 (pkglib_MODULES): Add crc.mod.
26978 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26979 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26980 (crc_mod_SOURCES): New macro.
26981 (crc_mod_CFLAGS): Likewise.
26982 (crc_mod_LDFLAGS): Likewise.
26983
26984 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26985
26986 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26987
26988 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26989
26990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26991
26992 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26993
c298def0 269942008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 26995
26996 * commands/help.c: Include <grub/term.h>.
26997 (TERM_WIDTH): Removed. Updated all users.
26998
cc349fb3 269992008-07-27 Pavel Roskin <proski@gnu.org>
27000
27001 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27002 spurious warnings about a comment within a comment.
27003
9051607e 270042008-07-25 Robert Millan <rmh@aybabtu.com>
27005
27006 * util/getroot.c (find_root_device): Skip devices that match
27007 /dev/dm-[0-9]. This lets the real device be found for any type of
27008 abstraction (LVM, EVMS, RAID..).
27009 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27010 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27011 device is found first, find_root_device() will now skip it.
27012
01453bfc 270132008-07-24 Pavel Roskin <proski@gnu.org>
27014
27015 * include/grub/types.h: Use __builtin_bswap32() and
27016 __builtin_bswap64() with gcc 4.3 and newer.
27017
6af9849f 270182008-07-24 Christian Franke <franke@computer.org>
27019
3a0fa256 27020 * util/i386/pc/grub-install.in: If `--debug' is specified,
27021 pass `--verbose' to grub-setup.
27022 Abort script if make_system_path_relative_to_its_root() fails.
27023
7810e747 270242008-07-24 Bean <bean123ch@gmail.com>
27025
27026 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27027 variable `target_platform' should be `platform'.
27028
42290e17 270292008-07-24 Bean <bean123ch@gmail.com>
27030
51cc5193 27031 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27032 (grub_png_init_fixed_block): New function.
27033 (grub_png_decode_image_data): Handle fixed huffman code compression.
27034
2a8a80e4 270352008-07-24 Bean <bean123ch@gmail.com>
27036
27037 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27038 (grub_pe2elf_SOURCES): New macro.
27039 (CLEANFILES): Add grub-pe2elf.
27040
27041 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27042 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27043 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27044 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27045 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27046 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27047 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27048 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27049 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27050 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27051 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27052 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27053 (GRUB_PE32_DT_FUNCTION): Likewise.
27054 (GRUB_PE32_REL_I386_DIR32): Likewise.
27055 (GRUB_PE32_REL_I386_REL32): Likewise.
27056 (grub_pe32_symbol): New structure.
27057 (grub_pe32_reloc): Likewise.
27058
27059 * util/grub-pe2elf.c: New file.
27060
27061 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27062 start symbol in non pc platform.
27063
27064 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27065
27066 The following patches are from Christian Franke.
27067
27068 * include/grub/dl.h: Remove .previous, gas supports this only
27069 for ELF format.
27070
27071 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27072 Remove .type, gas supports this only for ELF format.
27073
27074 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27075 nullbytes in symbol table. This fixes an infinite loop if table is
27076 zero filled.
27077
27078 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27079 TARGET_IMG_LDFLAGS and EXEEXT.
27080
27081 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27082 TARGET_IMG_LDFLAGS_AC.
27083 (grub_CHECK_STACK_ARG_PROBE): New function.
27084
27085 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27086
27087 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27088
27089 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27090 to set TARGET_IMG_LD* accordingly.
27091 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27092 Add call to grub_CHECK_STACK_ARG_PROBE.
27093 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27094
27095 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27096
27097 * genmk.rb: Add EXEEXT to CLEANFILES.
27098
12ccdb75 270992008-07-23 Robert Millan <rmh@aybabtu.com>
27100
27101 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27102 define the codes for arrows and lines used for the menu).
27103 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27104 as well.
27105
27106 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27107 fonts, because the latter are too slow.
27108
18eeaf04 271092008-07-21 Bean <bean123ch@gmail.com>
27110
27111 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27112 a20. Run keyboard test last, as it will cause macbook to halt.
27113
b095e2ad 271142008-07-18 Pavel Roskin <proski@gnu.org>
27115
27116 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27117 load foreign architecture modules correctly anyway. Keep
27118 support for loading host architecture modules, whether we
27119 compile them or not.
27120
737feb35 271212008-07-17 Pavel Roskin <proski@gnu.org>
27122
3f4ce737 27123 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27124 change target_cpu. The compiler default can mismatch target_cpu
27125 in any case.
27126
4ad2d049 27127 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27128 * kern/efi/efi.c: Likewise.
27129
f6130a12 27130 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27131 target compiler is functional.
27132 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27133 are set up.
27134
58393a2d 27135 * configure.ac: Default to efi platform for x86_64-apple. Allow
27136 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27137 adjustments from the rest, only do them if target is not
27138 explicitly given. Merge other adjustments with the final sanity
27139 check. Remove an extraneous check for supported CPU. Be
27140 specific which CPU and which platform is not supported.
27141
737feb35 27142 * configure.ac: Default to pc platform for x86_64.
27143
546f966a 271442008-07-17 Robert Millan <rmh@aybabtu.com>
27145
27146 Partial LinuxBIOS -> Coreboot rename.
27147
27148 * conf/i386-linuxbios.rmk: Renamed to ...
27149 * conf/i386-coreboot.rmk: ... this.
27150 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27151 * configure.ac: Accept "coreboot" as input platform (but maintain
27152 compatibility with "linuxbios").
27153 * include/grub/i386/linuxbios: Renamed to ...
27154 * include/grub/i386/coreboot: ... this.
27155
20011694 271562008-07-17 Bean <bean123ch@gmail.com>
27157
27158 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27159 (appleldr_mod_SOURCE): New variable.
20011694 27160 (appleldr_mod_CFLAGS): Likewise.
27161 (appleldr_mod_LDFLAGS): Likewise.
27162 (pci_mod_SOURCES): Likewise.
27163 (pci_mod_CFLAGS): Likewise.
27164 (pci_mod_LDFLAGS): Likewise.
27165 (lspci_mod_SOURCES): Likewise.
27166 (lspci_mod_CFLAGS): Likewise.
27167 (lspci_mod_LDFLAGS): Likewise.
27168
27169 * conf/x86_64-efi.rmk: New file.
27170
27171 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27172 macro.
27173 (grub_efidisk_write): Likewise.
27174
27175 * include/efi/api.h (efi_call_0): New macro.
27176 (efi_call_1): Likewise.
27177 (efi_call_2): Likewise.
27178 (efi_call_3): Likewise.
27179 (efi_call_4): Likewise.
27180 (efi_call_5): Likewise.
27181 (efi_call_6): Likewise.
27182
27183 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27184 grub_rescue_cmd_chainloader.
27185
27186 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27187 (grub_pe32_optional_header): Change some fields based on i386 or
27188 x86_64 platform.
27189 (GRUB_PE32_PE32_MAGIC): Likewise.
27190
27191 * include/grub/efi/uga_draw.h: New file.
27192
27193 * include/grub/elf.h (STN_ABS): New constant.
27194 (R_X86_64_NONE): Relocation constant for x86_64.
27195 (R_X86_64_64): Likewise.
27196 (R_X86_64_PC32): Likewise.
27197 (R_X86_64_GOT32): Likewise.
27198 (R_X86_64_PLT32): Likewise.
27199 (R_X86_64_COPY): Likewise.
27200 (R_X86_64_GLOB_DAT): Likewise.
27201 (R_X86_64_JUMP_SLOT): Likewise.
27202 (R_X86_64_RELATIVE): Likewise.
27203 (R_X86_64_GOTPCREL): Likewise.
27204 (R_X86_64_32): Likewise.
27205 (R_X86_64_32S): Likewise.
27206 (R_X86_64_16): Likewise.
27207 (R_X86_64_PC16): Likewise.
27208 (R_X86_64_8): Likewise.
27209 (R_X86_64_PC8): Likewise.
27210
27211 * include/grub/i386/efi/pci.h: New file.
27212
27213 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27214 Change it value based on platform.
27215 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27216 (GRUB_E820_RAM): Likewise.
27217 (GRUB_E820_RESERVED): Likewise.
27218 (GRUB_E820_ACPI): Likewise.
27219 (GRUB_E820_NVS): Likewise.
27220 (GRUB_E820_EXEC_CODE): Likewise.
27221 (GRUB_E820_MAX_ENTRY): Likewise.
27222 (grub_e820_mmap): New structure.
27223 (linux_kernel_header): Change the efi field according to different
27224 kernel version, also field from linux_kernel_header.
27225
27226 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27227
27228 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27229 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27230 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27231 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27232 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27233 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27234 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27235 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27236 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27237 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27238
27239 * include/grub/x86_64/efi/kernel.h: New file.
27240
27241 * include/grub/x86_64/efi/loader.h: Likewise.
27242
27243 * include/grub/x86_64/efi/machine.h: Likewise.
27244
27245 * include/grub/x86_64/efi/pci.h: Likewise.
27246
27247 * include/grub/x86_64/efi/time.h: Likewise.
27248
27249 * include/grub/x86_64/linux.h: Likewise.
27250
27251 * include/grub/x86_64/setjmp.h: Likewise.
27252
27253 * include/grub/x86_64/time.h: Likewise.
27254
27255 * include/grub/x86_64/types.h: Likewise.
27256
27257 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27258 GRUB_TARGET_SIZEOF_VOID_P.
27259
27260 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27261 (grub_efi_locate_handle): Likewise.
27262 (grub_efi_open_protocol): Likewise.
27263 (grub_efi_set_text_mode): Likewise.
27264 (grub_efi_stall): Likewise.
27265 (grub_exit): Likewise.
27266 (grub_reboot): Likewise.
27267 (grub_halt): Likewise.
27268 (grub_efi_exit_boot_services): Likewise.
27269 (grub_get_rtc): Likewise.
27270
27271 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27272 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27273 (grub_efi_allocate_pages): Wrap efi calls.
27274 (grub_efi_free_pages): Wrap efi calls.
27275 (grub_efi_get_memory_map): Wrap efi calls.
27276
27277 * kern/x86_64/dl.c: New file.
27278
27279 * kern/x86_64/efi/callwrap.S: Likewise.
27280
27281 * kern/x86_64/efi/startup.S: Likewise.
27282
27283 * loader/efi/appleloader.c: Likewise.
27284
27285 * loader/efi/chainloader.c (cmdline): New variable.
27286 (grub_chainloader_unload): Wrap efi calls.
27287 (grub_chainloader_boot): Likewise.
27288 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27289 command line.
27290
27291 * loader/efi/chainloader_normal.c (chainloader_command):
27292 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27293 command line.
27294
27295 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27296 method.
27297 (grub_e820_add_region): New function.
27298 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27299 booting.
27300 (grub_find_video_card): New function.
27301 (grub_linux_setup_video): New function.
27302 (grub_rescue_cmd_linux): Probe for video information.
27303
27304 * normal/x86_64/setjmp.S: New file.
27305
27306 * term/efi/console.c (map_char): New function.
27307 (grub_console_putchar): Map unicode char.
27308 (grub_console_checkkey): Wrap efi calls.
27309 (grub_console_getkey): Likewise.
27310 (grub_console_getwh): Likewise.
27311 (grub_console_gotoxy): Likewise.
27312 (grub_console_cls): Likewise.
27313 (grub_console_setcolorstate): Likewise.
27314 (grub_console_setcursor): Likewise.
27315
27316 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27317
59652a20 273182008-07-16 Pavel Roskin <proski@gnu.org>
27319
ef294055 27320 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27321 format strings.
27322
59652a20 27323 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27324 pointer, not an integer. This fixes a warning and prevents
27325 precision loss on 64-bit systems.
27326 (relocate_addresses): Remove unneeded cast.
27327
afc3b5d7 273282008-07-15 Pavel Roskin <proski@gnu.org>
27329
506b2b3e 27330 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27331
62ead89c 27332 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27333
c4cd51d7 27334 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27335 Fix comparison between signed and unsigned.
27336
0d3d8f28 27337 * include/grub/i386/ieee1275/console.h: Declare
27338 grub_console_init() and grub_console_fini().
27339
8804b286 27340 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27341 It's empty and unused.
27342
ee01cf35 27343 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27344 beginning to avoid warnings with some compilers.
27345
afc3b5d7 27346 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27347 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27348
e4e8eaa5 273492008-07-14 Pavel Roskin <proski@gnu.org>
27350
407aceb4 27351 * kern/env.c (grub_register_variable_hook): Don't copy empty
27352 string, it leaks memory. Pass "" to grub_env_set(), it should
27353 handle constant strings.
27354
e4e8eaa5 27355 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27356 * commands/cmp.c (grub_cmd_cmp): Likewise.
27357 * kern/dl.c (grub_dl_flush_cache): Likewise.
27358 (grub_dl_load_core): Likewise.
27359 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27360 (grub_elf64_load_phdrs): Likewise.
27361
d4e2dad3 273622008-07-13 Pavel Roskin <proski@gnu.org>
27363
27364 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27365 between signed and unsigned.
27366 (LzmaEnc_Finish): Fix warning about an unused parameter.
27367
aa24b516 273682008-07-13 Bean <bean123ch@gmail.com>
27369
27370 * Makefile.in (enable_lzo): New rule.
27371
27372 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27373
27374 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27375
27376 * boot/i386/pc/lnxboot.S: #include <config.h>.
27377
27378 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27379 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27380
27381 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27382 compression algorithm according to configure macro.
27383
27384 * kern/i386/pc/startup.S (codestart): Likewise.
27385
27386 * kern/i386/pc/lzma_decode.S: New file.
27387
27388 * include/grub/lib/LzFind.h: Likewise.
27389
27390 * include/grub/lib/LzHash.h: Likewise.
27391
27392 * include/grub/lib/LzmaDec.h: Likewise.
27393
27394 * include/grub/lib/LzmaEnc.h: Likewise.
27395
27396 * include/grub/lib/LzmaTypes.h: Likewise.
27397
27398 * lib/LzFind.c: Likewise.
27399
27400 * lib/LzmaDec.c: Likewise.
27401
27402 * lib/LzmaEnc.c: Likewise.
27403
4ae821ac 274042008-07-13 Bean <bean123ch@gmail.com>
27405
27406 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27407 (grub_ext4_extent_header): New structure.
27408 (grub_ext4_extent): Likewise.
27409 (grub_ext4_extent_idx): Likewise.
27410 (grub_ext4_find_leaf): New function.
27411 (grub_ext2_read_block): Handle extents.
27412
9a745147 274132008-07-12 Robert Millan <rmh@aybabtu.com>
27414
27415 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27416
d49a4cf6 274172008-07-11 Robert Millan <rmh@aybabtu.com>
27418
27419 * util/grub.d/40_custom.in: New file. Example on how to add custom
27420 entries to /etc/grub.d.
27421 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27422 40_custom (implicitly, by merging all the grub.d rules).
27423
947414b4 274242008-07-11 Pavel Roskin <proski@gnu.org>
27425
0059cf6f 27426 * commands/read.c (grub_getline): Fix invalid memory access.
27427 Don't add newline to the variable value.
27428
947414b4 27429 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27430 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27431 (serial_hw_get_port): Check validity of the port number.
27432 (grub_cmd_serial): Check return value of serial_hw_get_port().
27433
62a02d00 274342008-07-07 Pavel Roskin <proski@gnu.org>
27435
27436 * boot/i386/pc/diskboot.S (notification_string): Replace
27437 "Loading kernel" with just "loading". This is shorter, less
27438 confusing and saves a few bytes for possible future changes.
27439
3e5581b0 274402008-07-05 Pavel Roskin <proski@gnu.org>
27441
ea387a48 27442 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27443 size for ATAPI devices, they are undefined. Output sector
27444 number in decimal form.
27445
3e5581b0 27446 * disk/ata.c: Use named constants for status bits.
27447
fdecb8fd 274482008-07-04 Pavel Roskin <proski@gnu.org>
27449
bcd35b90 27450 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27451 grub_addr_t before casting it to the void pointer to fix a
27452 warning. Non-addressable regions are discarded earlier.
27453 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27454 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27455 (check_signature): Don't shadow table_header.
27456 (grub_linuxbios_table_iterate): Cast numeric constants to
27457 grub_linuxbios_table_header_t.
27458 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27459 grub_stop().
27460
af58ab3d 27461 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27462 prevent warnings.
27463
1759aa57 27464 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27465 pointer, which can cause warnings. Support 64-bit addresses.
27466
fdecb8fd 27467 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27468 of sizeof(long). This fixes PowerPC image generation on x86_64.
27469
8516d2a8 274702008-07-04 Robert Millan <rmh@aybabtu.com>
27471
27472 This fixes a performance issue when pc & gpt partmap iterators
27473 didn't abort iteration even after our hook found what it was
fe987087 27474 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27475
27476 Some callers relied on previous buggy behaviour, since they would
34c44600 27477 raise an error when their own hooks caused early abortion of its
8516d2a8 27478 iteration.
27479
27480 * kern/device.c (grub_device_open): Improve error message.
27481 * disk/lvm.c (grub_lvm_open): Likewise.
27482 * disk/raid.c (grub_raid_open): Likewise.
27483
27484 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27485 when hook requests it, independently of grub_errno.
27486 (pc_partition_map_probe): Do not fail when find_func() caused
27487 early abortion of pc_partition_map_iterate().
27488
27489 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27490 when hook requests it, independently of grub_errno.
27491 (gpt_partition_map_probe): Do not fail when find_func() caused
27492 early abortion of gpt_partition_map_iterate().
27493
27494 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27495 when hook requests it, independently of grub_errno. Do not fail when
27496 part_map_iterate_hook() caused early abortion of p->iterate().
27497
27498 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27499 when grub_partition_iterate() returned with non-zero.
27500
277d0de9 275012008-07-03 Pavel Roskin <proski@gnu.org>
27502
27503 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27504 like we do in grub_ata_pio_read().
27505 (grub_ata_readwrite): Always write individual sectors. Fix the
27506 sector count for the remainder.
27507 (grub_ata_write): Enable writing to ATA devices. Correctly
27508 report error for ATAPI devices.
27509
d4c9b428 275102008-07-02 Pavel Roskin <proski@gnu.org>
27511
e43fc690 27512 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27513 warning.
27514
f707af42 27515 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27516 for every read sector, we already increment it for the whole
27517 batch. This fixes reading more than 256 sectors at once.
27518
11e16b15 27519 * util/grub-editenv.c (cmd_info): Cast argument to long
27520 explicitly. ptrdiff_t reduces to int on i386.
27521
cbabfdd4 27522 * util/grub-editenv.c (main): Be specific which parameter is
27523 missing.
27524
b8fbce0a 27525 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27526 (memdisk): Make memdisk_orig_addr a pointer.
27527
c9c8e606 27528 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27529 for file offsets, use grub_off_t instead. Fix printf format
27530 warnings.
27531
ca62e598 27532 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27533 there. Real unexpected warnings should not drown in the noise
27534 about known problems.
27535
ce8d1766 27536 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27537 grub_disk_addr_t for memory addresses.
27538
00c7a56a 27539 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27540 explicitly to fix a warning.
27541
08d3ef09 27542 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27543
cb71ba20 27544 * Makefile.in (MODULE_LDFLAGS): New variable.
27545 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27546 the linker accepts --build-id=none.
27547 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27548 MODULE_LDFLAGS.
27549 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27550
d4c9b428 27551 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27552 those in Linux XFS code. Provide a way to access 64-bit parent
27553 inode.
27554 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27555 the end of struct grub_xfs_dir_header.
27556
d4156eee 275572008-07-02 Bean <bean123ch@gmail.com>
27558
27559 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27560 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27561 and GRUB_IEEE1275_FLAG_NO_ANSI.
27562
27563 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27564 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27565 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27566
27567 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27568 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27569
27570 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27571 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27572
27573 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27574 esc sequence on non ANSI terminal.
27575 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27576
27577 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27578 beginning of file.
27579
2270f77b 275802008-07-02 Bean <bean123ch@gmail.com>
27581
27582 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27583 (grub_editenv_SOURCES): New variable.
27584 (pkglib_MODULES): Add loadenv.mod.
27585 (loadenv_mod_SOURCES): New variable.
27586 (loadenv_mod_CFLAGS): Likewise.
27587 (loadenv_mod_LDFLAGS): Likewise.
27588
27589 * include/grub/envblk.h: New file.
27590
27591 * util/envblk.c: New file.
27592
27593 * util/grub-editenv.c: New file.
27594
27595 * commands/loadenv.c: New file.
27596
0e9e51ec 275972008-07-01 Pavel Roskin <proski@gnu.org>
27598
d89b7634 27599 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27600 not unsigned char. This fixes warnings and is consistent with
27601 other tags.
27602
bf1835b1 27603 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27604
8222a04b 27605 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27606
6a42d99d 27607 * term/tparm.c (analyze): Always set *popcount.
27608
10b159d1 27609 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27610 cast to fix a warning.
27611
b8789f6c 27612 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27613 cast to suppress a warning.
27614
29d7e38a 27615 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27616 grub_fshelp_read_file() expects.
27617
f341f669 27618 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27619 write uuid as a 32-bit value in CPU byte order, so declare and
27620 use it as such.
27621
0e9e51ec 27622 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27623 long if the format specifier expects it.
27624 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27625 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27626 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27627 long to fix a warning.
27628 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27629 grub_dprintf() arguments to fix warnings.
27630
3aefa857 276312008-06-30 Pavel Roskin <proski@gnu.org>
27632
56c7668b 27633 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27634 install_bsd_part immediately before core.img is embedded or
27635 modified on disk. This fixes core.img verification if core.img
27636 cannot be embedded.
27637
3aefa857 27638 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27639 core_path to calculate the blocklist.
27640 Patch from Javier Martín <lordhabbit@gmail.com>
27641
5444088d 276422008-06-29 Robert Millan <rmh@aybabtu.com>
27643
27644 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27645 block to disk block.
27646 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27647 Patch from Niels Böhm <bitbucket@arcor.de>
27648
674835c8 276492008-06-29 Robert Millan <rmh@aybabtu.com>
27650
27651 * util/update-grub_lib.in (font_path): Search for fonts in
27652 /boot/grub first, which is more likely to be readable (we aren't
27653 deciding where fonts live, just looking for them).
27654
f527dbc8 276552008-06-26 Pavel Roskin <proski@gnu.org>
27656
6c2d8df6 27657 * util/biosdisk.c (read_device_map): Don't leave dead map
27658 entries for devices failing stat() check.
27659
f527dbc8 27660 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27661 core_path_dev for the core.img path on the target device.
27662
aebe3d13 276632008-06-26 Robert Millan <rmh@aybabtu.com>
27664
27665 * disk/fs_uuid.c: New file.
27666 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27667 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27668 (fs_uuid_mod_LDFLAGS): New variables.
27669 * include/grub/disk.h (grub_disk_dev_id): Add
27670 `GRUB_DISK_DEVICE_UUID_ID'.
27671 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27672 implement iterate().
27673
37aaf354 276742008-06-26 Robert Millan <rmh@aybabtu.com>
27675
27676 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27677 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27678 Linux image includes no initrd.
27679
25ff262a 276802008-06-21 Javier Martín <lordhabbit@gmail.com>
27681
27682 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27683 call to resolve the core image location that effectively appended the
27684 name twice.
27685
76a2bd44 276862008-06-21 Robert Millan <rmh@aybabtu.com>
27687
27688 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27689 call from here ...
27690
27691 * util/grub.d/10_hurd.in: ... to here ...
27692 * util/grub.d/10_linux.in: ... and here.
27693
650e1c79 276942008-06-19 Robert Millan <rmh@aybabtu.com>
27695
fe987087 27696 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 27697 after it has been set by grub_machine_set_prefix().
27698
6ce63911 276992008-06-19 Robert Millan <rmh@aybabtu.com>
27700
27701 * commands/search.c (search_label, search_fs_uuid, search_file): Print
27702 search result when not saving to variable, not the other way around.
27703 When saving to variable, abort iteration as soon as a match is found.
27704
73940cec 277052008-06-19 Robert Millan <rmh@aybabtu.com>
27706
27707 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
27708 check for partition that provides /boot/grub. Its logic is flawed,
27709 as it prevents prepare_grub_to_access_device() from being called
27710 multiple times.
27711
3c62a39d 277122008-06-19 Robert Millan <rmh@aybabtu.com>
27713
27714 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
27715 "insmod" command directly when abstraction modules are needed,
fe987087 27716 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 27717 since it had already been processed).
27718
47395a42 277192008-06-19 Pavel Roskin <proski@gnu.org>
27720
27721 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
27722 changed. This is needed in case GRUB_LIBDIR changes.
27723 * conf/i386-ieee1275.rmk: Likewise.
27724 * conf/i386-linuxbios.rmk: Likewise.
27725 * conf/i386-pc.rmk: Likewise.
27726 * conf/powerpc-ieee1275.rmk: Likewise.
27727
a145ac2d 277282008-06-18 Pavel Roskin <proski@gnu.org>
27729
27730 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
27731 kernel_elf_symlist.c to symlist.c for consistency with other
27732 architectures. Update all users.
27733 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27734
7847c51e 277352008-06-18 Robert Millan <rmh@aybabtu.com>
27736
27737 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
27738 it in prefix.
27739
27740 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
27741 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
27742 a RAID device, run setup() for all members independently on whether
27743 LVM abstraction is being used.
27744 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
27745 If grub-mkimage has set `*install_dos_part == -2', don't override this
27746 value.
27747 Perform *install_dos_part adjustments independently on whether
27748 we're embedding or not.
27749 Clarify error message when image is too big for embedding.
27750 Remove duplicate *install_dos_part stanza.
27751
b23e5644 277522008-06-17 Robert Millan <rmh@aybabtu.com>
27753
27754 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
27755 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
27756 variables.
27757 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
27758 values in grub_ofconsole_normal_color and
27759 grub_ofconsole_highlight_color (they're not directly related to
27760 background and foreground).
27761 (grub_ofconsole_setcolorstate): Extract background and foreground
27762 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
27763
0aac2f79 277642008-06-17 Robert Millan <rmh@aybabtu.com>
27765
27766 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
27767 /boot/grub for the check in last commit, not /boot (they could be
27768 different partitions).
27769
3cca7ef3 277702008-06-16 Robert Millan <rmh@aybabtu.com>
27771
27772 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
27773 asked to setup access for the same partition that provides /boot,
27774 don't bother using UUIDs since our root already has the value we
27775 want.
27776
347396d8 277772008-06-16 Robert Millan <rmh@aybabtu.com>
27778
27779 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
27780 I2O devices.
27781 Patch from Sven Mueller <sven@debian.org>.
27782
991477f8 277832008-06-16 Robert Millan <rmh@aybabtu.com>
27784
27785 * util/update-grub.in: Check for $EUID instead of $UID.
27786 Reported by Vincent Zweije.
27787
d31a32a1 277882008-06-16 Bean <bean123ch@gmail.com>
27789
fe987087 27790 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 27791 (grub_ext2_read_block): Likewise.
27792 (grub_ext2_read_inode): Likewise.
27793 (grub_ext2_mount): Likewise.
27794 (grub_ext2_close): Likewise.
27795 (grub_ext3_get_journal): Removed.
27796
fe987087 27797 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 27798 (grub_reiserfs_read_symlink): Likewise.
27799 (grub_reiserfs_mount): Likewise.
27800 (grub_reiserfs_open): Likewise.
27801 (grub_reiserfs_read): Likewise.
27802 (grub_reiserfs_close): Likewise.
27803 (grub_reiserfs_get_journal): Removed.
27804
27805 * fs/fshelp.c (grub_fshelp_read): Removed.
27806 (grub_fshelp_map_block): Likewise.
27807
27808 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
27809 (grub_fshelp_journal): Likewise.
27810 (grub_fshelp_read): Likewise.
27811 (grub_fshelp_map_block): Likewise.
27812
3540a760 278132008-06-16 Pavel Roskin <proski@gnu.org>
27814
27815 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
27816 floating point anymore.
27817 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
27818
95614c84 278192008-06-15 Pavel Roskin <proski@gnu.org>
27820
27821 * commands/ls.c (grub_ls_list_files): Use integer calculations
27822 for human readable format, avoid floating point use.
27823 * kern/misc.c (grub_ftoa): Remove.
27824 (grub_vsprintf): Remove floating point support.
27825
50465dd6 278262008-06-15 Robert Millan <rmh@aybabtu.com>
27827
fe6b695a 27828 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 27829 devices.
27830 Reported by Max Vozeler.
27831
a9207284 278322008-06-15 Robert Millan <rmh@aybabtu.com>
27833
27834 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
27835 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
27836 skipped later.
27837 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
27838 the beginning of the prefix.
27839
27840 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
27841 It is assumed that if we have a memdisk, grub-mkimage has set
27842 grub_prefix to include the "(memdisk)" drive in it.
27843
a7cbd45a 278442008-06-15 Robert Millan <rmh@aybabtu.com>
27845
27846 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
27847 Initialize keyboard controller after registering the terminal, so that
27848 grub_printf() can be called from grub_keyboard_controller_init().
27849
21cf716a 278502008-06-15 Robert Millan <rmh@aybabtu.com>
27851
27852 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
27853 extent-btree which is written as big endian on disk.
27854 Reported by Alain Greppin <al@chilibi.org>.
27855
23a64d8e 278562008-06-14 Robert Millan <rmh@aybabtu.com>
27857
27858 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
27859 * util/i386/pc/grub-install.in (modules): Likewise.
27860
d687651c 278612008-06-13 Pavel Roskin <proski@gnu.org>
27862
27863 * commands/ls.c (grub_ls_list_files): Fix format warnings.
27864
dfe9ddd4 278652008-06-13 Bean <bean123ch@gmail.com>
27866
27867 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
27868
27869 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
27870
27871 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
27872 to indicate sparse block.
27873
16ae7781 278742008-06-12 Pavel Roskin <proski@gnu.org>
27875
e6d1a308 27876 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
27877 number, grub_fshelp_read() does it for us.
27878
16ae7781 27879 * fs/fshelp.c (grub_fshelp_read): New function. Implement
27880 linear disk read with journal translation.
27881 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
27882 * include/grub/fshelp.h: Declare grub_fshelp_read().
27883
40fd3a2b 278842008-06-09 Pavel Roskin <proski@gnu.org>
27885
27886 * fs/minix.c (grub_minix_mount): Handle error reading
27887 superblock.
27888
f5679726 278892008-06-08 Robert Millan <rmh@aybabtu.com>
27890
27891 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
27892 don't append the RAID prefix afterwards.
27893 Reported by Clint Adams.
27894
ce525529 278952008-06-08 Robert Millan <rmh@aybabtu.com>
27896
27897 Based on description from Pavel:
27898 * kern/disk.c (grub_disk_check_range): Rename to ...
27899 (grub_disk_adjust_range): ... this. Add a comment explaining the
27900 tasks performed by this function.
27901
ad4936a0 279022008-06-08 Robert Millan <rmh@aybabtu.com>
27903
27904 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
27905 `num_serial' (for consistency with other variables).
27906 (struct grub_ntfs_data): Add `uuid' member.
27907 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
27908 (grub_ntfs_uuid): New function.
27909 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
27910
dc20b0f9 279112008-06-07 Pavel Roskin <proski@gnu.org>
27912
27913 * util/biosdisk.c (open_device): Revert last change to the
27914 function, it broke installation. The sector needs to be
27915 different dependent on which device is opened.
27916
c5e3cfba 279172008-06-06 Robert Millan <rmh@aybabtu.com>
27918
27919 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
27920 rest of GRUB, and breakage doesn't happen if its value were modified.
27921
27922 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27923 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
27924 a constant (same value).
27925 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
27926 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
27927
26a1f8c4 279282008-06-06 Robert Millan <rmh@aybabtu.com>
27929
27930 * util/biosdisk.c (open_device): Do not modify sector offset when
27931 accessing a partition. kern/disk.c already handles this for us.
27932
25d6b327 279332008-06-06 Robert Millan <rmh@aybabtu.com>
27934
27935 * util/grub-emu.c (grub_machine_init): Move code in this function from
27936 here ...
27937 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
27938 segfault in case grub_printf() is called).
27939
27940 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
27941 grub_probe. Update all users not to explicitly add it again.
27942 (grub_device): New variable; contains corresponding device for grubdir.
27943 (fs_module, partmap_module, devabstraction_module): Pass
27944 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27945 every time.
27946
9ece62fb 279472008-06-05 Robert Millan <rmh@aybabtu.com>
27948
27949 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27950 is found, print it (same layout as with labels).
27951
1ad36d37 279522008-06-04 Robert Millan <rmh@aybabtu.com>
27953
27954 * util/biosdisk.c (get_drive): Rename to ...
27955 (find_grub_drive): ... this. Update all users.
27956
27957 (get_os_disk): Rename to ...
27958 (convert_system_partition_to_system_disk): ... this. Update all users.
27959
27960 (find_drive): Rename to ...
27961 (find_system_device): ... this. Update all users.
27962
e6a30859 279632008-06-04 Robert Millan <rmh@aybabtu.com>
27964
27965 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27966 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27967 (make_device_map): Likewise.
27968
00c108a4 279692008-06-01 Robert Millan <rmh@aybabtu.com>
27970
27971 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27972 before dereferencing it.
27973
27974 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27975 union with fat12/fat16-specific ones. Add some new fields, including
27976 `num_serial' for both versions.
27977 (struct grub_fat_data): Add `uuid' member.
27978 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27979 names. Initialize `data->uuid' using `num_serial'.
27980 (grub_fat_uuid): New function.
27981 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27982
27983 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27984 (grub_reiserfs_uuid): New function.
27985 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27986 member.
27987
27988 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27989 (grub_xfs_uuid): New function.
27990 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27991
1385c5bb 279922008-06-01 Robert Millan <rmh@aybabtu.com>
27993
27994 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
27995 code that is backward compatible with pre-uuid search command.
27996
c682dfd7 279972008-05-31 Robert Millan <rmh@aybabtu.com>
27998
27999 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28000 floppies after everything else, to ensure floppy drive isn't accessed
28001 unnecessarily (patch from Bean).
28002
b7db5d47 280032008-05-31 Robert Millan <rmh@aybabtu.com>
28004
28005 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28006 not print device names when we were asked to set a variable.
28007
6e037aa9 280082008-05-31 Robert Millan <rmh@aybabtu.com>
28009
28010 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28011 using "cursor-on" and "cursor-off" commands (understood at least by
28012 the Open Firmware flavour on OLPC).
28013
41305bc8 280142008-05-31 Michael Gorven <michael@gorven.za.net>
28015
28016 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28017 on and off sequences.
28018
69ba137e 280192008-05-31 Robert Millan <rmh@aybabtu.com>
28020
28021 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28022 * util/update-grub.in: Likewise.
28023
520ae21b 280242008-05-30 Pavel Roskin <proski@gnu.org>
28025
28026 * util/biosdisk.c (linux_find_partition): Simplify logic and
28027 make the code more universal. Keep special processing for
28028 devfs, but use a simple rule for all other devices. If the
28029 device ends with a number, append 'p' and the partition number.
28030 Otherwise, append only the partition number.
28031
5786569b 280322008-05-30 Robert Millan <rmh@aybabtu.com>
28033
28034 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28035 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28036 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28037 the `root' parameter to Linux.
28038
51500452 280392008-05-30 Robert Millan <rmh@aybabtu.com>
28040
28041 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28042 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28043 --fs_uuid with --fs-uuid.
28044 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28045 all filesystems support them).
28046
811d3878 280472008-05-30 Robert Millan <rmh@aybabtu.com>
28048
28049 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28050 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28051
cab63c95 280522008-05-30 Robert Millan <rmh@aybabtu.com>
28053
28054 * util/grub.d/00_header.in: Remove obsolete comment referencing
28055 convert_system_path_to_grub_path().
28056 * util/update-grub.in: Likewise.
28057 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28058 (convert_system_path_to_grub_path): Add a warning message explaining
28059 that this function is deprecated. Rely on is_path_readable_by_grub()
28060 for the readability checks.
28061 (font_path): Use is_path_readable_by_grub() for the readability
28062 check rather than convert_system_path_to_grub_path().
28063
972e2f7a 280642008-05-30 Robert Millan <rmh@aybabtu.com>
28065
28066 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28067 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28068 converting it first.
28069 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28070 grub.cfg for access to font file, and afterwards call it again to set
28071 the root device.
28072
62191274 280732008-05-30 Robert Millan <rmh@aybabtu.com>
28074
28075 * commands/search.c (options): Add --fs_uuid option.
28076 (search_fs_uuid): New function.
28077 (grub_cmd_search): Fix --set argument passing.
28078 Use search_fs_uuid() when requested via --fs_uuid.
28079 (grub_search_init): Update help message.
28080 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28081 and redeclare it as an array of 16-bit words.
28082 (grub_ext2_uuid): New function.
28083 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28084 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28085 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28086 (GRUB_DEVICE_BOOT_UUID): New variables.
28087 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28088 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28089 whenever possible.
28090 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28091 just assume `root' variable has the right value.
28092 * util/grub.d/10_linux.in: Likewise.
28093 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28094 via PRINT_FS_UUID.
28095 (main): Recognise `-t fs_uuid' argument.
28096
01b73ec8 280972008-05-30 Robert Millan <rmh@aybabtu.com>
28098
28099 * util/biosdisk.c (map): Redefine structure to hold information
28100 about GRUB drive name.
fe6b695a 28101 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28102 drive names.
28103 (call_hook): Remove.
28104 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28105 member. Assume drive has partitions.
28106 (grub_util_biosdisk_open): Access device names via `.device' struct
28107 member.
28108 (open_device): Likewise.
28109 (find_drive): Likewise.
28110 (read_device_map): Adjust map[] usage to match the new struct
28111 definition. Don't check for duplicates (still possible, but not cheap
28112 anymore).
28113 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28114 (make_device_name): Remove assumption of BIOS-like drive names.
28115
22f16596 281162008-05-30 Pavel Roskin <proski@gnu.org>
28117
28118 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28119 compiling execute.c doesn't need grub_script.tab.h anymore.
28120 (normal/command.c_DEPENDENCIES): Likewise.
28121 (normal/function.c_DEPENDENCIES): Likewise.
28122 * conf/i386-ieee1275.rmk: Likewise.
28123 * conf/i386-linuxbios.rmk: Likewise.
28124 * conf/i386-pc.rmk: Likewise.
28125 * conf/powerpc-ieee1275.rmk: Likewise.
28126 * conf/sparc64-ieee1275.rmk: Likewise.
28127
528ad8f2 281282008-05-29 Pavel Roskin <proski@gnu.org>
28129
d1dff95d 28130 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28131 when scanning metadata for volume group name.
28132
528ad8f2 28133 * include/grub/script.h: Don't include grub_script.tab.h. It's
28134 a generated file, which may only be included from the files with
28135 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28136 use union YYSTYPE, as the later allows forward declaration.
28137 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28138
47248e08 281392008-05-29 Robert Millan <rmh@aybabtu.com>
28140
28141 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28142 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28143 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28144 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28145 scan codes.
28146
ee632529 281472008-05-29 Robert Millan <rmh@aybabtu.com>
28148
28149 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28150 control key combinations.
28151
eee96e08 281522008-05-29 Robert Millan <rmh@aybabtu.com>
28153
28154 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28155 * util/ieee1275/grub-install.in: ... to here.
28156 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28157 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28158 (grub_install_SOURCES): Likewise.
28159
da9a6a94 281602008-05-29 Robert Millan <rmh@aybabtu.com>
28161
28162 * fs/affs.c: Update copyright year.
28163 * fs/ext2.c: Likewise.
28164 * fs/fshelp.c: Likewise.
28165 * fs/hfsplus.c: Likewise.
28166 * fs/ntfs.c: Likewise.
28167 * fs/xfs.c: Likewise.
28168 * include/grub/fshelp.h: Likewise.
28169 * util/grub-mkdevicemap.c: Likewise.
28170
12e65f3a 281712008-05-28 Robert Millan <rmh@aybabtu.com>
28172
28173 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28174 might need to be fatfs to support some firmware implementations
28175 (e.g. OFW or EFI).
28176
23023641 281772008-05-28 Robert Millan <rmh@aybabtu.com>
28178
28179 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28180 devices.
28181 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28182 (make_device_map): Likewise.
28183
887d2619 281842008-05-20 Bean <bean123ch@gmail.com>
28185
28186 * fs/fshelp.c (grub_fshelp_map_block): New function.
28187 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28188 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28189
28190 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28191 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28192 (grub_fshelp_journal): New structure.
28193 (grub_fshelp_map_block): New function prototype.
28194 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28195 (grub_fshelp_map_block): Likewise.
28196
28197 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28198 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28199 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28200 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28201 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28202 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28203 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28204 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28205 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28206 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28207 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28208 (grub_ext2_sblock): New members for journal support.
28209 (grub_ext3_journal_header): New structure.
28210 (grub_ext3_journal_revoke_header): Likewise.
28211 (grub_ext3_journal_block_tag): Likewise.
28212 (grub_ext3_journal_sblock): Likewise.
28213 (grub_fshelp_node): New members logfile and journal.
28214 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28215 grub_fshelp_map_block to get real block number.
28216 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28217 number.
28218 (grub_ext2_read_inode): Likewise.
28219 (grub_ext3_get_journal): New function.
28220 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28221 (grub_ext2_close): Release memory used by journal.
28222
28223 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28224 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28225 (grub_reiserfs_transaction_header): Renamed to
28226 grub_reiserfs_description_block, replace field data with real_blocks.
28227 (grub_reiserfs_commit_block): New structure.
28228 (grub_reiserfs_data): New member journal.
28229 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28230 number.
28231 (grub_reiserfs_read_symlink): Likewise.
28232 (grub_reiserfs_iterate_dir): Likewise.
28233 (grub_reiserfs_open): Likewise.
28234 (grub_reiserfs_read): Likewise.
28235 (grub_reiserfs_get_journal): New function.
28236 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28237 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28238 using grub_reiserfs_get_journal.
28239 (grub_reiserfs_close): Release memory used by journal.
28240
28241 * fs/affs.c (grub_affs_read_block): Change block type to
28242 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28243
28244 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28245
28246 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28247
28248 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28249
28250 * fs/udf.c (grub_udf_read_block): Change block type to
28251 grub_disk_addr_t. Use type cast to avoid warning.
28252
28253 * fs/xfs.c (grub_xfs_read_block): Likewise.
28254
b7c6bed5 282552008-05-16 Christian Franke <franke@computer.org>
28256
28257 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28258 to ensure that break with ESC will always work.
28259 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28260 Remove ESC from keyboard queue.
28261
eedf167f 282622008-05-16 Christian Franke <franke@computer.org>
28263
28264 * util/biosdisk.c: [__CYGWIN__] Add includes.
28265 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28266 (get_os_disk): Move variable declarations to OS specific
28267 parts to avoid warning.
28268 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28269 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28270 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28271 Cygwin.
28272 * util/getroot.c: [__CYGWIN__] Add includes.
28273 (strip_extra_slashes): Fix "/" case.
28274 [__CYGWIN__] (get_win32_path): New function.
28275 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28276 [__CYGWIN__] (find_root_device): Disable.
28277 [__CYGWIN__] (get_bootsec_serial): New function.
28278 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28279 [__linux__] (grub_guess_root_device): Add early returns to simplify
28280 structure.
28281 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28282 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28283 check for Linux only.
28284
a079699e 282852008-05-15 Bean <bean123ch@gmail.com>
28286
28287 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28288 keyboard hang problem in apple's intel mac.
28289
1cf4059a 282902008-05-09 Robert Millan <rmh@aybabtu.com>
28291
28292 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28293 devices.
28294 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28295 (make_device_map): Likewise.
28296 Reported by Aurelien Jarno <aurel32@debian.org>
28297
ed759390 282982008-05-07 Ian Campbell <ijc@hellion.org.uk>
28299
28300 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28301 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28302 (make_device_map): Output entries for xvd type disks.
28303
b56c4eaa 283042008-05-07 Robert Millan <rmh@aybabtu.com>
28305
28306 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28307 devices.
28308 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28309 (make_device_map): Likewise.
28310 Reported by Roland Dreier <rdreier@cisco.com>
28311
7f8866ed 283122008-05-07 Robert Millan <rmh@aybabtu.com>
28313
28314 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28315 grub_strstr() call. Correct a few mistakes in failure path handling.
28316
b0346e0f 283172008-05-06 Robert Millan <rmh@aybabtu.com>
28318
28319 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28320 Do not print a trailing slash (therefore, the root directory is an
28321 empty string).
28322 (convert_system_path_to_grub_path): Do not remove trailing slash
28323 from make_system_path_relative_to_its_root() output.
28324
28325 * util/i386/pc/grub-install.in: Add trailing slash to output from
28326 make_system_path_relative_to_its_root().
28327
6cf12cbd 283282008-05-06 Robert Millan <rmh@aybabtu.com>
28329
28330 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28331 ensures that output lines aren't intermangled with those sent to
28332 stderr (via grub_util_info()).
28333 * util/grub-probe.c (grub_refresh): Likewise.
28334 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28335
0fbb3117 283362008-05-05 Christian Franke <franke@computer.org>
28337
28338 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28339 Add Cygwin device names.
28340 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28341 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28342 (check_device): Return error instead of success on empty name.
28343 (make_device_map): Move label inside linux specific code to
28344 prevent compiler warning.
28345
8124cdb7 283462008-04-30 Robert Millan <rmh@aybabtu.com>
28347
28348 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28349 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28350 first boot option.
28351 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28352
094c01d0 283532008-04-29 Robert Millan <rmh@aybabtu.com>
28354
28355 * docs/grub.cfg: New file (example GRUB configuration).
28356
f4b1fc02 283572008-04-26 Robert Millan <rmh@aybabtu.com>
28358
329ce2a5 28359 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28360 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28361 and `disk/ieee1275/nand.c'.
f4b1fc02 28362
25f16ec1 283632008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28364
25f16ec1 28365 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28366 i386-linuxbios.
28367
28368 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28369 change the buffer size to 4096 for cdrom device.
28370
28371 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28372 and nand.mod.
28373 (_linux_mod_SOURCES): New variable.
28374 (_linux_mod_CFLAGS): Likewise.
28375 (_linux_mod_LDFLAGS): Likewise.
28376 (linux_mod_SOURCES): Likewise.
28377 (linux_mod_CFLAGS): Likewise.
28378 (linux_mod_LDFLAGS): Likewise.
28379 (nand_mod_SOURCES): Likewise.
28380 (nand_mod_CFLAGS): Likewise.
28381 (nand_mod_LDFLAGS): Likewise.
28382
28383 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28384 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28385 type property. (nand device in olpc don't have this property)
28386
28387 * include/grub/disk.h (grub_disk_dev_id): New macro
28388 GRUB_DISK_DEVICE_NAND_ID.
28389
28390 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28391 function prototype.
28392 (grub_rescue_cmd_initrd): Likewise.
28393
28394 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28395 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28396 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28397
25f16ec1 28398 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28399 GRUB_MACHINE_IEEE1275 is defined.
28400
28401 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28402 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28403
28404 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28405 on nested function heap_init.
28406 (grub_upper_mem): New variable for i386-ieee1275.
28407 (grub_get_extended_memory): New function for i386-ieee1275.
28408 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28409
28410 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28411 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28412 property.
f19dbdb7 28413
25f16ec1 28414 * loader/i386/ieee1275/linux.c: New file.
28415
28416 * loader/i386/ieee1275/linux_normal.c: New file.
28417
28418 * disk/ieee1275/nand.c: New file.
28419
e89d61e9 284202008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28421
28422 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28423 value.
28424 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28425
602566f6 284262008-04-18 Robert Millan <rmh@aybabtu.com>
28427
28428 Restructures early code path on ieee1275 to unify grub_main() as
28429 the first C function that is executed in every platform.
28430
28431 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28432 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28433 cmain().
28434 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28435 * kern/ieee1275/cmain.c (cmain): Rename to ...
28436 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28437 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28438 at the beginning.
28439
57490c2b 284402008-04-18 Robert Millan <rmh@aybabtu.com>
28441
28442 * util/update-grub.in: Fix syntax error when setting
28443 `GRUB_PRELOAD_MODULES'.
28444 Reported by Stephane Chazelas <stephane@artesyncp.com>
28445
1977517d 284462008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28447
28448 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28449 section into account, newer toolchains generate unique build ids
28450 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28451 we want build ids to be preserved
1977517d 28452 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28453 far from other sections don't cause the raw binary images grow
28454 size
28455
bfb1f1a2 284562008-04-15 Robert Millan <rmh@aybabtu.com>
28457
28458 * disk/lvm.c: Update copyright year.
28459 * kern/misc.c: Likewise.
28460
01979850 284612008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28462
28463 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28464 there is no memory left for physical volume name.
01979850 28465
0a1150e2 284662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28467
28468 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28469 volume name mapping to support bigger than 9 character names properly.
28470
82ead3fe 284712008-04-13 Robert Millan <rmh@aybabtu.com>
28472
28473 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28474 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28475
e54a72f5 284762008-04-13 Christian Franke <franke@computer.org>
28477
28478 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28479 to create a floppy emulation boot CD when non emulation mode
28480 does not work.
28481 Enable Joliet CD filesystem extension.
28482
9fe86034 284832008-04-13 Robert Millan <rmh@aybabtu.com>
28484
28485 * kern/misc.c (grub_strncat): Fix off-by-one error.
28486 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28487
28488 * kern/env.c (grub_env_context_close): Clear current context, not
28489 previous one.
28490 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28491
28492 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28493
7ceeee39 284942008-04-13 Robert Millan <rmh@aybabtu.com>
28495
28496 Improve robustness when handling LVM.
28497
28498 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28499 (and leave `*p' unmodified).
7ceeee39 28500 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28501 through it.
28502 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28503 iterating through it.
28504 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28505 through it.
fe6b695a 28506 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28507 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28508 Don't assume `vg->pvs != NULL' when iterating through it.
28509
58cd3d85 285102008-04-13 Robert Millan <rmh@aybabtu.com>
28511
28512 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28513 * genmk.rb (partmap): New variable.
28514 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28515 (#{partmap}): New target rule.
28516 * genpartmaplist.sh: New file.
28517 * Makefile.in (pkglib_DATA): Add partmap.lst.
28518 (partmap.lst): New target rule.
28519 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28520 modules (including all partition maps), instead of preloading them.
28521
78b51059 285222007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28523
28524 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28525 `linux-boot-prober' (if installed) to detect other operating
28526 systems which are installed on the computer and add them to
28527 the boot menu.
28528 * conf/common.rmk: Build and install 30_os-prober.
28529
a91627b4 285302008-04-12 Robert Millan <rmh@aybabtu.com>
28531
28532 * kern/powerpc/ieee1275/init.c: Move from here ...
28533 * kern/ieee1275/init.c: ... to here. Update all users.
28534
28535 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28536 * kern/ieee1275/cmain.c: ... to here. Update all users.
28537
28538 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28539 * kern/ieee1275/openfw.c: ... to here. Update all users.
28540
28541 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28542 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28543
322562ea 285442008-04-10 Pavel Roskin <proski@gnu.org>
28545
28546 * configure.ac: Always use "_cv_" in cache variables for
28547 compatibility with Autoconf 2.62.
28548
a02a73c5 285492008-04-07 Robert Millan <rmh@aybabtu.com>
28550
28551 Revert grub/machine/init.h addition by Pavel (since it breaks on
28552 i386-ieee1275 and others):
28553 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28554 * util/powerpc/ieee1275/misc.c: Likewise.
28555
25c024b1 285562008-04-07 Robert Millan <rmh@aybabtu.com>
28557
28558 * util/grub-probe.c (probe): Improve error message.
28559
3cbd2f98 285602008-04-07 Robert Millan <rmh@aybabtu.com>
28561
28562 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28563 (this prevents the presence of a bogus entry from ruining the whole
28564 thing).
28565
87a297bf 285662008-04-06 Pavel Roskin <proski@gnu.org>
28567
36747a62 28568 * util/biosdisk.c: Include grub/util/biosdisk.h.
28569 * util/grub-fstest.c (execute_command): Make static.
28570 * util/grub-mkdevicemap.c (check_device): Likewise.
28571 * util/i386/pc/misc.c: Include grub/machine/init.h.
28572 * util/powerpc/ieee1275/misc.c: Likewise.
28573 * util/lvm.c: Include grub/util/lvm.h.
28574 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28575 grub/cache.h.
28576 * util/raid.c: Include grub/util/raid.h.
28577 (grub_util_getdiskname): Make static.
28578
87a297bf 28579 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28580 grub_hostfs_fini(), as they are called from grub_init_all() and
28581 grub_fini_all() respectively. This fixes an infinite loop in
28582 grub-fstest due to double registration of hostfs.
28583 Reported by Christian Franke <Christian.Franke@t-online.de>
28584
f6ce7629 285852008-04-05 Pavel Roskin <proski@gnu.org>
28586
28587 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28588 all 8 functions. Otherwise, probe function 0 only.
28589
070e49e4 285902008-04-04 Pavel Roskin <proski@gnu.org>
28591
8b088a4c 28592 * commands/lspci.c (grub_lspci_iter): Print the bus number
28593 correctly.
28594
4f657021 28595 * commands/lspci.c (grub_pci_classes): Fix typos.
28596 (grub_lspci_iter): Don't print func twice. Print vendor ID
28597 before device ID, as it's normally done.
28598
070e49e4 28599 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28600 Fix signedness warnings.
28601 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28602 Likewise.
28603 * util/ieee1275/get_disk_name.c: Include config.h so that
28604 _GNU_SOURCE is defined and getline() is declared. Mark an
28605 unused argument as such. Fix a signedness warning.
28606
ba7328dc 286072008-04-02 Pavel Roskin <proski@gnu.org>
28608
26887f22 28609 * genkernsyms.sh.in: Use more robust assignments for CC and
28610 srcdir. Quote srcdir.
28611 * gensymlist.sh.in: Likewise. Assert at the compile time that
28612 the symbol table is not empty.
28613
ba7328dc 28614 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28615 * fs/cpio.c (grub_cpio_read): Likewise.
28616
0f582c6b 286172008-04-01 Pavel Roskin <proski@gnu.org>
28618
4b6e1995 28619 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28620 * disk/host.c (grub_host_open): Likewise.
28621 * disk/loopback.c (grub_loopback_open): Likewise.
28622 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28623 disk->id as in disk/host.c, not a multi-character constant.
28624
828a2768 28625 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28626 later is obsolete, potentially dangerous and sets a bad example.
28627 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28628 * util/misc.c (grub_util_get_image_size): Likewise.
28629
2bb4fb47 28630 * disk/loopback.c (options): Improve help for "--partitions".
28631
0f582c6b 28632 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28633 options to align them with the short options, e.g. "echo -e".
28634
a33224e0 286352008-03-31 Bean <bean123ch@gmail.com>
28636
28637 * video/reader/png.c (grub_png_data): New member is_16bit and
28638 image_data.
28639 (grub_png_decode_image_header): Detect 16 bit png image.
28640 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28641 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28642 (grub_video_reader_png): Release memory occupied by image_data.
28643
28644 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28645 4096 bytes.
28646 (grub_nfs_mount): Skip the test for sector per cluster.
28647
28648 * include/grub/ntfs.h (MAX_SPC): Removed.
28649
86cb4f54 286502008-03-31 Bean <bean123ch@gmail.com>
28651
28652 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28653 (grub_probe_SOURCES): Add fs/afs.c.
28654 (grub_fstest_SOURCES): Likewise.
28655 (afs_mod_SOURCES): New variable.
28656 (afs_mod_CFLAGS): Likewise.
28657 (afs_mod_LDFLAGS): Likewise.
28658
28659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28660 (grub_emu_SOURCES): Likewise.
28661
28662 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28663
28664 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28665
28666 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28667
28668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28669
28670 * fs/afs.c: New file.
28671
17c74c21 286722008-03-30 Pavel Roskin <proski@gnu.org>
28673
4cb68e89 28674 * disk/host.c: Include grub/misc.h to fix a warning.
28675 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28676 warnings about implicit declarations.
28677
8790bb04 28678 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28679 variable.
28680 * include/grub/i386/loader.h: Change declaration of
28681 grub_linux_boot() to match what grub_loader_set() expects.
28682 * util/getroot.c (grub_guess_root_device): Return const char* to
28683 fix a warning.
28684 * util/grub-probe.c (probe): Fix a warning about uninitialized
28685 abstraction_name variable.
28686 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28687 second argument as unused to fix a warning.
28688
9a3f3296 28689 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28690 missing grub_error() call.
28691
0ecef90d 28692 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28693 2.60 and newer uses it to define datadir.
28694
0bf6d401 28695 * commands/sleep.c: Fix warning about implicit declaration.
28696 * disk/memdisk.c: Likewise.
28697 * loader/aout.c: Likewise.
28698 * loader/i386/bsd_normal.c: Likewise.
28699 * util/grub-probe.c: Likewise.
28700
7cdacf97 28701 * commands/i386/cpuid.c (has_longmode): Make static.
28702 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
28703 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
28704
17c74c21 28705 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
28706 GDT. This is more robust, as %ds can change.
28707 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
28708 calling real_to_prot().
28709 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
28710
80a3e68b 287112008-03-28 Pavel Roskin <proski@gnu.org>
28712
28713 * kern/i386/pc/startup.S: Assert that uncompressed functions
28714 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
28715 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
28716 code, as they push parts of the code (error handlers) beyond
28717 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
28718 code as correctness and size.
28719
77bcd272 287202008-03-28 Pavel Roskin <proski@gnu.org>
28721
28722 * kern/i386/pc/startup.S
28723 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
28724 data block address to the real mode, keep offset minimal. This
28725 works around a bug in AWARD BIOS on old Athlon systems, which
28726 makes CD detection hang.
28727
c5dfd43b 287282008-03-26 Pavel Roskin <proski@gnu.org>
28729
28730 * normal/color.c (grub_parse_color_name_pair): Make `name' a
28731 const.
28732 * include/grub/normal.h: Add grub_parse_color_name_pair()
28733 declaration.
28734
bf962df2 287352008-03-24 Bean <bean123ch@gmail.com>
28736
28737 * disk/i386/pc/biosdisk.c (cd_start): Removed.
28738 (cd_count): Removed.
28739 (cd_drive): New variable.
28740 (grub_biosdisk_get_drive): Don't check for (cdN) device.
28741 (grub_biosdisk_call_hook): Likewise.
28742 (grub_biosdisk_iterate): Change cdrom detection method.
28743 (grub_biosdisk_open): Replace cd_start with cd_drive.
28744 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
28745 detect cdrom device.
28746
28747 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
28748 Removed.
28749 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
28750 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
28751 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
28752 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
28753 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
28754 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
28755 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
28756 (grub_biosdisk_cdrp): New structure.
28757 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
28758
28759 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
28760
28761 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
28762 device.
28763
28764 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
28765 New function.
28766
68e7fc7a 287672008-03-20 Robert Millan <rmh@aybabtu.com>
28768
28769 Remove 2 TiB limit in ata.mod.
28770 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
28771 (grub_ata_dumpinfo): Print sector count with 0x%llx.
28772 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
28773 grub_uint64_t instead of grub_uint32_t.
28774
38ad2cf5 287752008-03-05 Bean <bean123ch@gmail.com>
28776
28777 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
28778 (grub_multiboot): Set boot device.
28779
28780 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
28781
2b89344e 287822008-03-02 Bean <bean123ch@gmail.com>
28783
28784 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
28785 symlink_buffer.
28786
87a95d1f 287872008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
28788
28789 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
28790 texinfo.tex.
28791
28792 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
28793 modified.
28794
28795 * docs/fdl.texi: New file.
f19dbdb7 28796
87a95d1f 28797 * docs/mdate-sh: New file. Copied from gnulib.
28798 * docs/texinfo.tex: Likewise.
28799
28800 * config.guess: Updated from gnulib.
28801 * install-sh: Likewise.
28802
7dc15d8e 288032008-02-28 Robert Millan <rmh@aybabtu.com>
28804
28805 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
28806 (aout_mod_SOURCES): New variable.
28807 (aout_mod_CFLAGS): Likewise.
28808 (aout_mod_LDFLAGS): Likewise.
28809
28810 * conf/i386-ieee1275.rmk: Likewise.
28811
b00ab696 288122008-02-28 Robert Millan <rmh@aybabtu.com>
28813
28814 * util/update-grub.in: Reorganise terminal validity check. Accept
28815 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
28816 Based on suggestion by Franklin PIAT.
28817
79ca2d78 288182008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
28819
28820 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
28821 function.
28822 * util/getroot.c (grub_util_check_block_device): New function that
28823 returns the given argument if it is a block device and returns NULL else.
28824 * util/grub-probe.c (argument_is_device): New variable.
28825 (probe): Promote device_name from a variable to an argument. Receive
28826 device_name from grub_util_check_block_device() if path is NULL and from
28827 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 28828 (options): Introduce new parameter '-d, --device'.
79ca2d78 28829 (main): Add description of the new parameter to the help screen.
28830 Rename path variable to argument. Set argument_is_device if the '-d'
28831 option is given. Pass argument to probe() depending on
28832 argument_is_device.
28833
0d16e571 288342008-02-24 Bean <bean123ch@gmail.com>
28835
28836 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
28837 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
28838 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
28839 (GRUB_ISO9660_VOLDESC_PART): Likewise.
28840 (GRUB_ISO9660_VOLDESC_END): Likewise.
28841 (grub_iso9660_primary_voldesc): New member escape.
28842 (grub_iso9660_data): New member joliet.
28843 (grub_iso9660_convert_string): New function.
28844 (grub_iso9660_mount): Detect joliet extension.
28845 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
28846 (grub_iso9660_iso9660_label): Likewise.
28847
28848 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
28849 (grub_setup_SOURCES): Add fs/udf.c.
28850 (grub_fstest_SOURCES): Likewise.
28851 (udf_mod_SOURCES): New variable.
28852 (udf_mod_CFLAGS): Likewise.
28853 (udf_mod_LDFLAGS): Likewise.
28854
28855 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
28856 (grub_emu_SOURCES): Likewise.
28857
28858 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28859
28860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28861
28862 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28863
28864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28865
28866 * fs/udf.c: New file.
28867
8a594a17 288682008-02-24 Robert Millan <rmh@aybabtu.com>
28869
28870 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
28871 (normal/lexer.c_DEPENDENCIES): New variables.
28872 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28873 (normal/lexer.c_DEPENDENCIES): Likewise.
28874 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
28875 (normal/lexer.c_DEPENDENCIES): Likewise.
28876 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
28877 (normal/lexer.c_DEPENDENCIES): Likewise.
28878 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28879 (normal/lexer.c_DEPENDENCIES): Likewise.
28880 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28881 (normal/lexer.c_DEPENDENCIES): Likewise.
28882
2dc33c03 288832008-02-23 Robert Millan <rmh@aybabtu.com>
28884
28885 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
28886 since they were intended to be in hex. This didn't break previously
28887 because of a bug in gpt_partition_map_iterate() (see below).
28888
28889 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
28890 when checking the validity of GPT header.
28891 Remove `partno', since it always provides the same information as `i'.
28892
f6f4cfb0 288932008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
28894
28895 * include/grub/efi/time.h: Fix a wrong comment.
28896
79ff665f 288972008-02-19 Pavel Roskin <proski@gnu.org>
28898
28899 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
28900 message.
28901
d38e24c2 289022008-02-19 Bean <bean123ch@gmail.com>
28903
28904 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
28905 (aout_mod_SOURCES): New variable.
28906 (aout_mod_CFLAGS): Likewise.
28907 (aout_mod_LDFLAGS): Likewise.
28908 (_bsd_mod_SOURCES): New variable.
28909 (_bsd_mod_CFLAGS): Likewise.
28910 (_bsd_mod_LDFLAGS): Likewise.
28911 (bsd_mod_SOURCES): New variable.
28912 (bsd_mod_CFLAGS): Likewise.
28913 (bsd_mod_LDFLAGS): Likewise.
28914
28915 * include/grub/aout.h: New file.
28916
28917 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
28918
28919 * include/grub/i386/bsd.h: New file.
28920
28921 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
28922 to make it public.
28923
28924 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
28925 function is called, so that it's possible to change it inside the hook.
28926 (grub_elf64_load): Likewise.
28927 (grub_elf_file): Don't close the file if elf header is not found.
28928 (grub_elf_close): Close the file if grub_elf_file fails (The new
28929 grub_elf_file won't close it).
28930 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
28931 (grub_elf64_size): Likewise.
28932
28933 * kern/i386/loader.S (grub_unix_real_boot): New function.
28934
28935 * loader/aout.c: New file.
28936
28937 * loader/i386/bsd.c: New file.
28938
28939 * loader/i386/bsd_normal.c: New file.
28940
28941 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
28942
28943 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 28944 can test other formats.
d38e24c2 28945
b93bdb0f 289462008-02-19 Robert Millan <rmh@aybabtu.com>
28947
28948 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28949 (grub_gpt_partition_type_empty): Redefine with macro from
28950 `<grub/gpt_partition.h>'.
28951 (gpt_partition_map_iterate): Adjust partition type comparison.
28952
28953 Export `entry' as partmap-specific `part.data' struct.
28954 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28955
28956 * include/grub/gpt_partition.h (grub_gpt_header)
28957 (grub_gpt_partentry): ... to here (new file).
28958
28959 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28960
28961 (grub_gpt_partition_type_bios_boot): New const variable, defined
28962 with macro from `<grub/gpt_partition.h>'.
28963
28964 (setup): Replace `first_start' with `embed_region', which keeps
28965 track of the embed region (and is partmap-agnostic).
28966
28967 Replace find_first_partition_start() with find_usable_region(),
28968 which finds a usable region for embedding using partmap-specific
28969 knowledge (supports PC/MSDOS and GPT).
28970
28971 Fix all assumptions that the embed region start at sector 1, using
28972 `embed_region.start' from now on. Similarly, use `embed_region.end'
28973 rather than `first_start' to calculate available size.
28974
28975 In grub_util_info() message, replace "into after the MBR" with an
28976 indication of the specific sector our embed region starts at.
28977
66cb40f6 289782008-02-19 Robert Millan <rmh@aybabtu.com>
28979
28980 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28981 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28982 `commands/reboot.c'.
28983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28984 (halt_mod_SOURCES): Likewise.
28985 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28986 (halt_mod_SOURCES): Likewise.
28987
b7202015 289882008-02-17 Christian Franke <franke@computer.org>
28989
28990 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28991
32b0fc49 289922008-02-17 Robert Millan <rmh@aybabtu.com>
28993
28994 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28995 set `first_start' to 0 for non-PC/MSDOS partition maps.
28996
aca63502 289972008-02-16 Robert Millan <rmh@aybabtu.com>
28998
28999 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29000 do not assume partition map is PC/MSDOS before performing checks that
29001 are specific to that layout.
29002
0de8be86 290032008-02-13 Robert Millan <rmh@aybabtu.com>
29004
29005 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29006 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29007 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29008
c3db8364 290092008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29010
29011 * configure.ac: Only a cosmetic change on the handling of
29012 -fno-stack-protector.
29013
f714229e 290142008-02-12 Alexandre Boeglin <alex@boeglin.org>
29015
c3db8364 29016 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29017 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29018 reboot.c.
f714229e 29019 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29020 (halt_mod_SOURCES): New variable.
29021 (halt_mod_CFLAGS): Likewise.
29022 (halt_mod_LDFLAGS): Likewise.
29023 (reboot_mod_SOURCES): Likewise.
29024 (reboot_mod_CFLAGS): Likewise.
29025 (reboot_mod_LDFLAGS): Likewise.
29026
c3db8364 29027 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29028 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29029 reboot.c.
f714229e 29030 (halt_mod_SOURCES): Likewise.
29031 (reboot_mod_SOURCES): Likewise.
29032
c3db8364 29033 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29034 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29035 (reboot_mod_SOURCES): Likewise.
29036
29037 * commands/i386/pc/reboot.c: merge this file ...
29038
29039 * commands/ieee1275/reboot.c: ... and this file ...
29040
29041 * commands/reboot.c: ... to this file.
c3db8364 29042 Add some precompiler directive to include the correct header for
29043 each machine.
f714229e 29044
29045 * commands/ieee1275/halt.c: move this file ...
29046
29047 * commands/halt.c: ... to here.
c3db8364 29048 Add some precompiler directive to include the correct header for
29049 each machine.
f714229e 29050
29051 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29052 (grub_halt): Likewise.
29053
29054 * kern/efi/efi.c (grub_reboot): New function.
29055 (grub_halt): Likewise.
29056
c74493e0 290572008-02-12 Robert Millan <rmh@aybabtu.com>
29058
29059 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29060 /dev (like it is done for /dev/mapper). This doesn't provide support
29061 for EVMS, but at least it is now easy to identify the problem when it
29062 arises.
29063
d0db4b04 290642008-02-11 Robert Millan <rmh@aybabtu.com>
29065
29066 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29067 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29068 comparing it with -1, not 0.
29069
bf748642 290702008-02-10 Robert Millan <rmh@aybabtu.com>
29071
29072 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29073 `disk/lvm.c'.
29074 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29075 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29076
29077 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29078 `disk/lvm.c' to the end of the list.
29079 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29080 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29081
b5db202a 290822008-02-10 Robert Millan <rmh@aybabtu.com>
29083
29084 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29085 grub_print_error() instead. This will let user know why we're entering
29086 rescue mode.
29087 Based on suggestions from Sam Morris.
29088
83abee31 290892008-02-10 Alexandre Boeglin <alex@boeglin.org>
29090
29091 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29092 on remaining N args, instead of "--" arg N times.
29093
78d5a08b 290942008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29095
29096 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29097 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29098 pattern for unknown glyphs.
29099
68807e5f 291002008-02-09 Robert Millan <rmh@aybabtu.com>
29101
29102 * configure.ac: Probe for `help2man'.
29103 * Makefile.in (builddir): New variable.
29104 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29105 or otherwise add a few flags/options to it.
29106 (install-local): For every executable utility or script that is
29107 installed, invoke $(HELP2MAN) to install a manpage based on --help
29108 output.
29109
29110 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29111 that it doesn't prevent --help from working in build tree.
29112
29113 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29114 with `bug-grub@gnu.org'.
29115 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29116 * util/update-grub.in (usage): New function.
29117 Implement proper argument check, with support for --help and --version
29118 (as well as existing -y).
29119
291202008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29121
29122 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29123 avoid overwriting previous output.
29124 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29125
c1962162 291262008-02-09 Robert Millan <rmh@aybabtu.com>
29127
29128 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29129 drawing the menu.
29130
3dac2e3f 291312008-02-09 Robert Millan <rmh@aybabtu.com>
29132
29133 * commands/sleep.c: New file.
29134 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29135 (sleep_mod_SOURCES): New variable.
29136 (sleep_mod_CFLAGS): Likewise.
29137 (sleep_mod_LDFLAGS): Likewise.
29138
7a634e08 291392008-02-09 Robert Millan <rmh@aybabtu.com>
29140
29141 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29142 situations in which we can deduce the RAID size and the superblock
29143 doesn't match it.
29144
b92f0c18 291452008-02-09 Robert Millan <rmh@aybabtu.com>
29146
29147 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29148 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29149 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29150
29151 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29152 and return a grub_diskmemberlist_t composed of physical array members.
29153 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29154
29155 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29156 prototype.
29157 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29158 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29159 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29160
29161 * util/grub-probe.c (probe): Move partmap probing code from here ...
29162 (probe_partmap): ... to here.
29163 (probe): Use probe_partmap() once for the disk we're probing, and
29164 additionally, when such disk contains a memberlist() struct member,
29165 once for each disk that is contained in the structure returned by
29166 memberlist().
29167
91a4bf68 291682008-02-09 Robert Millan <rmh@aybabtu.com>
29169
29170 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29171 environment variable to 'all' in order to obtain debug output from
29172 non-util/ code.
29173 * util/i386/pc/grub-setup.c (main): Likewise.
29174
a96f9caa 291752008-02-08 Robert Millan <rmh@aybabtu.com>
29176
29177 * disk/raid.c (grub_raid_scan_device): Check for
29178 `array->device[sb.this_disk.number]' rather than for
29179 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29180 guaranteed to be accessible.
a96f9caa 29181
b37a9222 291822008-02-08 Robert Millan <rmh@aybabtu.com>
29183
29184 * disk/raid.c: Update copyright.
29185 * fs/cpio.c: Likewise.
29186 * include/grub/raid.h: Likewise.
29187 * loader/i386/pc/multiboot.c: Likewise.
29188 * util/hostfs.c: Likewise.
29189
5626aee1 291902008-02-08 Robert Millan <rmh@aybabtu.com>
29191
29192 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29193 to a grub_disk_t array.
29194 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29195 `device[x]'.
29196 (grub_raid_scan_device): Replace `device[x].name' accesses with
29197 `device[x]->name'. Simplify initialization of `array->device[x]'.
29198
554f0187 291992008-02-08 Robert Millan <rmh@aybabtu.com>
29200
29201 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29202 grub_dprintf() calls.
29203 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29204 error message.
29205
1ec8425d 292062008-02-07 Christian Franke <franke@computer.org>
29207
29208 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29209 instead of fseek and ftell to support large files.
29210 (grub_hostfs_read): Likewise.
29211
f2156fda 292122008-02-07 Robert Millan <rmh@aybabtu.com>
29213
29214 Patch from Jeroen Dekkers.
29215 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29216 failure, since successfully reading all array members might not be
f2156fda 29217 required.
29218
9216e0e7 292192008-02-06 Robert Millan <rmh@aybabtu.com>
29220
29221 * util/grub-probe.c (probe): Simplify partmap probing (with the
29222 assumption that the first word up to the underscore equals to
29223 the module name).
29224
b0dfd29a 292252008-02-06 Christian Franke <franke@computer.org>
29226
29227 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29228 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29229 last block of a cpio or tar stream.
29230 Check for "TRAILER!!!" instead of any empty data
29231 block to detect last block of a cpio stream.
29232 (grub_cpio_dir): Fix constness of variable np.
29233 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29234 cpio or tar trailer is detected. This fixes a crash
29235 on open of a non existing file.
29236
c32865bf 292372008-02-05 Bean <bean123ch@gmail.com>
29238
29239 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29240 address of entry.
29241 (grub_multiboot_load_elf64): Likewise.
29242 (grub_multiboot): Initialize mbi structure.
29243
29244 * util/grub-fstest.c: Don't include unused header file script.h.
29245
fe6b695a 29246 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29247 of file.
29248 (grub_fstest_SOURCES): Likewise.
29249
409480b7 292502008-02-05 Robert Millan <rmh@aybabtu.com>
29251
29252 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29253 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29254 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29255 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29256
29257 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29258 (translation_table): Replace hardcoded values with macros
29259 provided by `<grub/term.h>'.
29260
29261 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29262 (keyboard_map): Correct/add a few values, with macros provided
29263 by `<grub/term.h>'.
29264 (keyboard_map_shift): Zero values that don't differ from their
29265 `keyboard_map' equivalents.
29266 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29267 Discard the second scan code that is always sent by Caps lock.
29268 Only use `keyboard_map_shift' when it provides a non-zero value,
29269 otherwise fallback to `keyboard_map'.
29270
99fadbaa 292712008-02-04 Bean <bean123ch@gmail.com>
29272
29273 * Makefile.in (enable_grub_fstest): New variable.
29274
29275 * conf/common.rmk (grub_fstest_init.lst): New rule.
29276 (grub_fstest_init.h): Likewise.
29277 (grub_fstest_init.c): Likewise.
29278 (util/grub-fstest.c_DEPENDENCIES): New variable.
29279 (grub_fstest_SOURCES): Likewise.
29280
29281 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29282
29283 * util/grub-fstest.c: New file.
29284
bf567c50 292852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29286
29287 Make grub-setup handle a separate root device.
f19dbdb7 29288
bf567c50 29289 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29290 so that the root device can be compared with the destination
29291 device.
29292 When embedding the core image, if the root and destination devices
29293 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29294 0xFF.
29295 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29296
9be6b98b 292972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29298
29299 Add support for having a grub directory in a different drive. This
29300 is still only the data handling part.
f19dbdb7 29301
9be6b98b 29302 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29303 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29304 (grub_root_drive): New variable.
29305
29306 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29307 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29308 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29309 as it was.
29310
29311 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29312
29313 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29314 macro.
29315 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29316
29317 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29318 is bogus, because PXE booting does not specify any drive
29319 correctly.
29320
29321 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29322 am not sure if this is really correct.
29323
29324 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29325 is always identical to the boot drive when booting from a CD.
29326
29327 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29328 longer.
29329 (root_drive): New variable.
29330 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29331 (setup_sectors): Push %dx right after popping it, because %dh will
29332 be modified later.
29333 (copy_buffer): Restore %dx.
29334
e0ca0677 293352008-02-03 Robert Millan <rmh@aybabtu.com>
29336
29337 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29338 use `cdboot.img' for cdrom images.
29339
3b3f6629 293402008-02-03 Robert Millan <rmh@aybabtu.com>
29341
29342 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29343 only setup gfxterm when `font' command has succeeded.
29344
d42b3672 293452008-02-03 Robert Millan <rmh@aybabtu.com>
29346
29347 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29348 (grub_rescue_cmd_multiboot_loader)
29349 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29350
fa370ea6 293512008-02-03 Pavel Roskin <proski@gnu.org>
29352
e0c5dacb 29353 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29354 %edx and %esi from stack only after grub_gate_a20() is called.
29355 grub_gate_a20() clobbers %edx.
29356
f2a76e1d 293572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29358
29359 * configure.ac (AC_INIT): Bumped to 1.96.
29360
29361 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29362 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29363 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29364 video/readers/png.c.
29365
90fd32d1 293662008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29367
29368 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29369 (cdboot_img_SOURCES): New variable.
29370 (cdboot_img_ASFLAGS): New variable.
29371 (cdboot_img_LDFLAGS): New variable.
29372
29373 * boot/i386/pc/cdboot.S: New file.
29374
29375 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29376 (cd_count): Likewise.
29377 (grub_biosdisk_get_drive): Add support for cd device.
29378 (grub_biosdisk_call_hook): Likewise.
29379 (grub_biosdisk_iterate): Likewise.
29380 (grub_biosdisk_open): Likewise.
29381 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29382 (grub_biosdisk_rw): Support reading from cd device.
29383 (GRUB_MOD_INIT): Iterate cd devices.
29384
29385 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29386 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29387 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29388
29389 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29390
4020aa53 293912008-02-02 Robert Millan <rmh@aybabtu.com>
29392
29393 * commands/read.c: New file.
29394 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29395 (read_mod_SOURCES): New variable.
29396 (read_mod_CFLAGS): Likewise.
29397 (read_mod_LDFLAGS): Likewise.
29398
e03a1132 293992008-02-02 Robert Millan <rmh@aybabtu.com>
29400
29401 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29402 determining whether menu has to be displayed.
29403
58c69220 294042008-02-02 Marco Gerards <marco@gnu.org>
29405
29406 * bus/pci.c: New file.
29407
29408 * include/grub/pci.h: Likewise.
29409
29410 * include/grub/i386/pc/pci.h: Likewise.
29411
29412 * commands/lspci.c: Likewise.
29413
29414 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29415 `lspci.mod'.
29416 (pci_mod_SOURCES): New variable.
29417 (pci_mod_CFLAGS): Likewise.
29418 (pci_mod_LDFLAGS): Likewise.
29419 (lspci_mod_SOURCES): Likewise.
29420 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29421 (lspci_mod_LDFLAGS): Likewise.
58c69220 29422
c004e1b4 294232008-02-02 Bean <bean123ch@gmail.com>
29424
29425 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29426 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29427
29428 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29429 (grub_xfs_btree_node): New structure.
29430 (grub_xfs_btree_root): New structure.
29431 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29432 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29433 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29434 (GRUB_XFS_EXTENT_SIZE): Likewise.
29435 (grub_xfs_read_block): Support btree format type.
29436 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29437 Use directory block as basic unit.
29438
29439 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29440
29441 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29442 __attribute__ ((__regparm__ (1))).
29443
f95562bf 294442008-02-01 Robert Millan <rmh@aybabtu.com>
29445
29446 Correct a mistake in previous commit.
29447
29448 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29449 top.
29450 (normal/command.c_DEPENDENCIES): New variable.
29451
7d31f41f 294522008-02-01 Robert Millan <rmh@aybabtu.com>
29453
29454 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29455 top.
29456 (normal/command.c_DEPENDENCIES): New variable.
29457 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29458 * conf/i386-ieee1275.rmk: Likewise.
29459 * conf/i386-linuxbios.rmk: Likewise.
29460 * conf/i386-pc.rmk: Likewise.
29461 * conf/sparc64-ieee1275.rmk: Likewise.
29462 * conf/powerpc-ieee1275.rmk: Likewise.
29463 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29464
29465 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29466
60b6be74 294672008-02-01 Robert Millan <rmh@aybabtu.com>
29468
29469 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29470 call at beginning of function.
29471
078522ab 294722008-01-31 Pavel Roskin <proski@gnu.org>
29473
29474 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29475 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29476 (grub_mkrescue_SOURCES): Likewise.
078522ab 29477 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29478
ccaa8a5f 294792008-01-30 Robert Millan <rmh@aybabtu.com>
29480
29481 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29482 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29483 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29484 (grub_probe_SOURCES): ... to here.
29485
29486 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29487 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29488 * conf/i386-ieee1275.rmk: Likewise.
29489 * conf/i386-linuxbios.rmk: Likewise.
29490 * conf/powerpc-ieee1275.rmk: Likewise.
29491
ae5a9cd7 294922008-01-30 Tristan Gingold <gingold@free.fr>
29493
29494 * kern/rescue.c: Silently accept empty lines.
29495
70bc2ef2 294962008-01-29 Bean <bean123ch@gmail.com>
29497
29498 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29499 (real_code_2): Code cleanup and change comment style.
29500 (move_memory): Avoid using 32-bit address mode.
29501
6a4d50ea 295022008-01-29 Bean <bean123ch@gmail.com>
29503
29504 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29505 (png_mod_SOURCES): New variable.
29506 (png_mod_CFLAGS): Likewise.
29507 (png_mod_LDFLAGS): Likewise.
29508
29509 * video/readers/png.c: New file.
29510
11cc30ac 295112008-01-28 Robert Millan <rmh@aybabtu.com>
29512
29513 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29514 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29515 `ifndef GRUB_MOD_GAP' hack.
29516 * util/elf/grub-mkimage.c (add_segments): Likewise.
29517
3abc589f 295182008-01-27 Robert Millan <rmh@aybabtu.com>
29519
29520 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29521 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29522 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29523
e1907778 295242008-01-27 Robert Millan <rmh@aybabtu.com>
29525
29526 Get grub-emu to build again (including parallel builds).
29527
29528 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29529 Split into ...
29530 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29531 (normal/execute.c_DEPENDENCIES): ... this, ...
29532 (grub-emu_DEPENDENCIES): ... and this.
29533
29534 * conf/i386-efi.rmk: Likewise.
29535 * conf/i386-linuxbios.rmk: Likewise.
29536 * conf/i386-ieee1275.rmk: Likewise.
29537 * conf/powerpc-ieee1275.rmk: Likewise.
29538 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29539
2216b101 295402008-01-27 Robert Millan <rmh@aybabtu.com>
29541
29542 * NEWS: Add a few items.
29543
f75172d9 295442008-01-27 Robert Millan <rmh@aybabtu.com>
29545
29546 Fix parallel builds with grub-emu. Based on earlier commit for
29547 grub-probe and grub-setup.
29548
29549 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29550 (util/grub-emu.c_DEPENDENCIES): ... this.
29551 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29552 (util/grub-emu.c_DEPENDENCIES): ... this.
29553 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29554 (util/grub-emu.c_DEPENDENCIES): ... this.
29555 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29556 (util/grub-emu.c_DEPENDENCIES): ... this.
29557 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29558 (util/grub-emu.c_DEPENDENCIES): ... this.
29559
3f51de77 295602008-01-27 Pavel Roskin <proski@gnu.org>
29561
29562 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29563 to create a gap between _end and the modules added to the image
29564 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29565 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29566 * util/elf/grub-mkimage.c (add_segments): Likewise.
29567
2033f53e 295682008-01-26 Pavel Roskin <proski@gnu.org>
29569
29570 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29571 just return an error.
29572
22da1f6f 295732008-01-26 Bean <bean123ch@gmail.com>
29574
29575 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29576 (grub_reiserfs_get_item): Save offset of the next item.
29577 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29578
2a9525e6 295792008-01-25 Robert Millan <rmh@aybabtu.com>
29580
29581 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29582 make all filesystem sources appear together (possibly fixing omissions
29583 while at it).
29584 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29585 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29586 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29588
29589 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29590 add `kern/file.c'.
29591 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29592 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29593 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29594 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29595
29596 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29597 (probe): Add a sanity check to make sure of our ability to read
29598 requested files when probing for filesystem type.
29599
29600 * genmk.rb: Update copyright year (2007).
29601
29602 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29603 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29604 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29605 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29606 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29607 : Remove function prototypes.
29608
b95f71b5 296092008-01-25 Robert Millan <rmh@aybabtu.com>
29610
29611 Revert my previous commits (based on wrong assumption of how grub_errno
29612 works).
29613
fe6b695a 29614 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 29615 * kern/file.c (grub_file_open): Likewise.
29616
d08bbb49 296172008-01-24 Pavel Roskin <proski@gnu.org>
29618
29619 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29620 that hang if GRUB tries to setup colors.
29621 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29622 colors for firmwares that don't support it.
29623 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29624 Recognize Open Hack'Ware, set flags to work around its
29625 limitations.
29626
605e36ed 296272008-01-24 Robert Millan <rmh@aybabtu.com>
29628
29629 * kern/file.c (grub_file_open): Do not account previous failures of
29630 unrelated functions when grub_errno is checked for.
29631 Reported by Oleg Strikov.
29632
bac332a1 296332008-01-24 Bean <bean123ch@gmail.com>
29634
29635 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29636 (grub_ufs_sblock): New member volume name.
29637 (grub_ufs_find_file): Fix string copy bug.
29638 (grub_ufs_label): Implement this function properly.
29639
29640 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29641 (grub_hfs_iterate_records): Use the correct file number for extents
29642 and catalog file. Fix problem in next index calculation.
29643 (grub_hfs_find_node): Replace recursive function call with loop.
29644 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29645
15c80c09 296462008-01-23 Robert Millan <rmh@aybabtu.com>
29647
29648 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29649 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29650 (grub_multiboot2_real_boot): New function prototype.
29651
29652 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29653 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29654
29655 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29656 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29657
305338fd 296582008-01-23 Robert Millan <rmh@aybabtu.com>
29659
29660 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29661 #ifdef'ed out grub_printf().
29662
3ea52685 296632008-01-23 Robert Millan <rmh@aybabtu.com>
29664
29665 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29666 grub_dprintf calls, since they make "debug=all" mode unusable.
29667 (grub_console_checkkey): Likewise.
29668
5882ae4b 296692008-01-23 Robert Millan <rmh@aybabtu.com>
29670
29671 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29672 `term/i386/pc/at_keyboard.c'.
29673 (pkglib_MODULES): Add `serial.mod'.
29674 (serial_mod_SOURCES): New variable.
29675 (serial_mod_CFLAGS): Likewise.
29676 (serial_mod_LDFLAGS): Likewise.
29677
29678 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29679 `<grub/powerpc/ieee1275/console.h>'.
29680 (grub_keyboard_controller_init): New function prototype.
29681 (grub_console_checkkey): Likewise.
29682 (grub_console_getkey): Likewise.
29683
29684 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29685 keyboard on i386.
29686
29687 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29688 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29689
06ab5303 296902008-01-23 Robert Millan <rmh@aybabtu.com>
29691
29692 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29693 present, "(memdisk)/boot/grub" becomes the default prefix.
29694
29695 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29696 a memdisk tarball with all the modules. Add --overlay=DIR option that
29697 allows users to overlay additional files into the image.
29698
dbb475a4 296992008-01-23 Robert Millan <rmh@aybabtu.com>
29700
29701 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
29702 and `machine/memory.h'.
29703 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
29704 (_multiboot_mod_SOURCES): New variable.
29705 (_multiboot_mod_CFLAGS): Likewise.
29706 (_multiboot_mod_LDFLAGS): Likewise.
29707 (multiboot_mod_SOURCES): Likewise.
29708 (multiboot_mod_CFLAGS): Likewise.
29709 (multiboot_mod_LDFLAGS): Likewise.
29710
29711 * include/grub/i386/ieee1275/loader.h: New file.
29712
29713 * include/grub/i386/ieee1275/machine.h: Likewise.
29714
29715 * include/grub/i386/ieee1275/memory.h: Likewise.
29716
29717 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
29718 variable declaration.
29719 (grub_os_area_size): Likewise.
29720
29721 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
29722 (grub_lower_mem, grub_upper_mem): New variables.
29723 (grub_stop_floppy): New function (just to make
29724 grub_multiboot2_real_boot() happy).
29725
29726 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
29727 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
29728 (grub_stop): New function.
29729 Include `"../realmode.S"' and `"../loader.S"'.
29730
29731 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
29732 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
29733
29734 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
29735 rely on grub_multiboot2_real_boot() for final boot.
29736
25638629 297372008-01-22 Robert Millan <rmh@aybabtu.com>
29738
29739 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
29740 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
29741 device that doesn't look like an SD card.
29742 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29743 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
29744 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
29745 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
29746 found.
29747
9dad816d 297482008-01-22 Robert Millan <rmh@aybabtu.com>
29749
29750 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
29751 avoid claiming over our own code.
29752
34842f2d 297532008-01-22 Bean <bean123ch@gmail.com>
29754
29755 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
29756 (jpeg_mod_SOURCES): New variable.
29757 (jpeg_mod_CFLAGS): Likewise.
29758 (jpeg_mod_LDFLAGS): Likewise.
29759
29760 * video/readers/jpeg.c : New file.
29761
44023a28 297622008-01-22 Bean <bean123ch@gmail.com>
29763
29764 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
29765 there are no more items.
29766
bc2d8ac6 297672008-01-21 Robert Millan <rmh@aybabtu.com>
29768
29769 * kern/mm.c (grub_mm_init_region): Improve debug message.
29770
261bd4bc 297712008-01-21 Robert Millan <rmh@aybabtu.com>
29772
29773 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
29774 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
29775 address.
29776 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
29777 a C macro.
29778 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
29779 Indicates start of upper memory.
29780 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
29781 (generate_image): Abort when image size is big enough to corrupt
29782 upper memory.
29783
29784 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
29785 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
29786 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29787 instead of hardcoding 0xA0000.
29788 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
29789 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29790 instead of hardcoding 0xA0000.
29791
f970b55e 297922008-01-21 Robert Millan <rmh@aybabtu.com>
29793
29794 * disk/memdisk.c (memdisk_size): New variable.
29795 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
29796 `memdisk_size'.
29797 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
29798 image to dynamic memory.
29799 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
29800 `memdisk_size'. Free memdisk block.
29801
1a8b0526 298022008-01-21 Robert Millan <rmh@aybabtu.com>
29803
29804 Fix detection of very small filesystems (like tar).
29805
29806 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
29807 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
29808 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
29809 a problem with this disk).
29810
6e9b4aab 298112008-01-21 Robert Millan <rmh@aybabtu.com>
29812
29813 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
29814 on grub_biosdisk_rw_standard() error.
29815
0d8837b2 298162008-01-21 Robert Millan <rmh@aybabtu.com>
29817
29818 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
29819 recent changes.
29820 * kern/elf.c: Likewise.
29821 * kern/ieee1275/ieee1275.c: Likewise.
29822 * kern/powerpc/ieee1275/openfw.c: Likewise.
29823 * term/ieee1275/ofconsole.c: Likewise.
29824
ffd36e34 298252008-01-21 Robert Millan <rmh@aybabtu.com>
29826
29827 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
29828
3f0093d0 29829 * include/grub/kernel.h (grub_arch_memdisk_addr)
29830 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 29831
3f0093d0 29832 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
29833 (grub_arch_memdisk_size): ... to here.
ffd36e34 29834
6c391b21 298352008-01-21 Robert Millan <rmh@aybabtu.com>
29836
29837 Mostly based on bugfix from Bean.
29838
29839 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
29840 attribute with hook() parameter.
29841 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
29842 declaration.
29843 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
29844 attribute with hook() parameter.
29845 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
29846 declaration.
29847
55a581dc 298482008-01-21 Robert Millan <rmh@aybabtu.com>
29849
29850 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
29851 (pkglib_MODULES): Add `memdisk.mod'.
29852 (memdisk_mod_SOURCES): New variable.
29853 (memdisk_mod_CFLAGS): Likewise.
29854 (memdisk_mod_LDFLAGS): Likewise.
29855
29856 * disk/memdisk.c: New file.
29857
29858 * include/grub/disk.h (grub_disk_dev_id): Add
29859 `GRUB_DISK_DEVICE_MEMDISK_ID'.
29860
29861 * include/grub/i386/pc/kernel.h
29862 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
29863 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
29864 (grub_kernel_image_size): New variable declaration.
29865 (grub_total_module_size): Likewise.
29866 (grub_memdisk_image_size): Likewise.
29867
29868 * include/grub/i386/pc/memory.h
29869 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
29870
29871 * include/grub/kernel.h: Include `<grub/symbol.h>'.
29872 (grub_arch_memdisk_addr): New variable declaration.
29873 (grub_arch_memdisk_size): Likewise.
29874
29875 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
29876 (grub_arch_memdisk_size): Likewise.
29877
29878 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
29879 (codestart): Replace hardcoded `0x100000' with
29880 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
29881
29882 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
29883 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
29884 not NULL, append the contents of the file it refers to, at the end of
29885 the compressed kernel image. Initialize `grub_memdisk_image_size'
29886 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
29887 (options): Add "memdisk"|'m' option.
29888 (main): Parse --memdisk|-m option, and pass user-provided path as
29889 parameter to generate_image().
29890
3d7f54c9 298912008-01-20 Robert Millan <rmh@aybabtu.com>
29892
29893 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
29894 grub_dprintf() calls from here ...
29895 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
29896
0bf74728 298972008-01-20 Robert Millan <rmh@aybabtu.com>
29898
29899 Fix detection of "real mode" when /options/real-mode? doesn't exist.
29900
29901 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
29902 declaration.
29903 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
29904 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
29905 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 29906 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 29907 property).
29908 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
29909 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
29910
33bf70a7 299112008-01-19 Robert Millan <rmh@aybabtu.com>
29912
fe6b695a 29913 Get rid of confusing function (superseded by
33bf70a7 29914 `grub_ieee1275_get_integer_property')
29915 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
29916 prototype.
29917 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
29918 function.
29919 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
29920 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 29921 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 29922
e2da7d26 299232008-01-19 Robert Millan <rmh@aybabtu.com>
29924
29925 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
29926 command after "shut-down", since implementations differ on which
29927 the command for halt is.
29928
59f1fd8d 299292008-01-19 Robert Millan <rmh@aybabtu.com>
29930
29931 * include/grub/i386/linuxbios/console.h: Add header protection.
29932 (grub_keyboard_controller_init): New function prototype.
29933 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
29934 (KEYBOARD_COMMAND_READ): Likewise.
29935 (KEYBOARD_COMMAND_WRITE): Likewise.
29936 (KEYBOARD_SCANCODE_SET1): Likewise.
29937 (grub_keyboard_controller_write): New function.
29938 (grub_keyboard_controller_read): Likewise.
29939 (grub_keyboard_controller_init): Likewise.
29940
29941 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
29942 (grub_console_init): On coreboot/LinuxBIOS, call
29943 grub_keyboard_controller_init().
29944
5f5a7c15 299452008-01-19 Robert Millan <rmh@aybabtu.com>
29946
29947 PowerPC changes provided by Pavel Roskin.
29948
29949 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29950 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29951 don't rely on cmain() doing it.
29952 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29953 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29954
1210e168 299552008-01-16 Robert Millan <rmh@aybabtu.com>
29956
29957 * include/grub/i386/linuxbios/memory.h
29958 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29959 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29960 receive `table_header' as argument. Instead, probe for it in the
29961 known memory ranges where it can be present.
29962 (grub_available_iterate): Do not pass a fixed `table_header' address
29963 to grub_linuxbios_table_iterate().
29964
3d04eab8 299652008-01-15 Robert Millan <rmh@aybabtu.com>
29966
29967 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29968 * conf/i386-ieee1275.rmk: New file.
29969 * include/grub/i386/ieee1275/console.h: Likewise.
29970 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29971 * include/grub/i386/ieee1275/kernel.h: Likewise.
29972 * include/grub/i386/ieee1275/time.h: Likewise.
29973 * kern/i386/ieee1275/init.c: Likewise.
29974 * kern/i386/ieee1275/startup.S: Likewise.
29975
d1bc1b73 299762008-01-15 Robert Millan <rmh@aybabtu.com>
29977
29978 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29979 when pointers are 32-bit (but still do set it to one when they are
29980 64-bit).
29981
66a65807 299822008-01-15 Robert Millan <rmh@aybabtu.com>
29983
29984 * include/grub/ieee1275/ieee1275.h
29985 (grub_ieee1275_get_integer_property): New function prototype.
29986
29987 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29988 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 29989 grub_ieee1275_get_property() to handle endianness.
66a65807 29990
29991 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29992 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 29993 where appropriate.
66a65807 29994 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
29995 (grub_map): Likewise.
29996 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
29997
a83ccafd 299982008-01-15 Bean <bean123ch@gmail.com>
29999
30000 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30001 (grub_script_execute_cmdline): Reset grub_errno.
30002
30003 * normal/main.c (read_config_file): Reset grub_errno.
30004
30005 * normal/parse.y (script_init): New.
30006 (script): Move function and menuentry here.
30007 (delimiter): New.
30008 (command): Add delimiter at the end of command.
30009 (commands): Adjust to match the new command.
30010 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30011 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30012 (if): Use the new commands.
30013
30014 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30015
df6ecfc6 300162008-01-15 Robert Millan <rmh@aybabtu.com>
30017
30018 * normal/menu.c (run_menu): Move timeout message from here ...
30019 (print_timeout): ... to here.
30020 (run_menu): Use print_timeout() once during initial draw to print
30021 the whole message, and again in every clock tick to update only
30022 the number of seconds.
30023
87ae25eb 300242008-01-15 Robert Millan <rmh@aybabtu.com>
30025
30026 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30027 actual size of `available' from grub_ieee1275_get_property(), and
30028 restrict parsing to that bound.
30029
47bf09a4 300302008-01-15 Christian Franke <franke@computer.org>
30031
30032 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30033 (argp_program_version): Remove variable.
30034 (argp_program_bug_address): Likewise.
30035 (options): Convert from struct argp_option to struct option.
30036 (struct arguments): Remove.
30037 (parse_opt): Remove.
30038 (usage): New function.
30039 (main): Replace struct args members by simple variables.
30040 Replace argp_parse() by getopt_long().
30041 Add switch to evaluate options.
30042 Add missing "(...)" around root_dev in prefix string.
30043
c86f1469 300442008-01-14 Robert Millan <rmh@aybabtu.com>
30045
30046 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30047 for grub_ieee1275_exit(), in order to improve portability.
30048
e622c559 300492008-01-14 Robert Millan <rmh@aybabtu.com>
30050
30051 * util/grub.d/10_linux.in (prefix): Define.
30052 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30053
44cb1ec8 300542008-01-13 Pavel Roskin <proski@gnu.org>
30055
30056 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30057 grub_errno if no errors have been detected.
30058
1eb8c802 300592008-01-12 Robert Millan <rmh@aybabtu.com>
30060
30061 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30062 (grub_util_get_dev_abstraction): New function prototype.
30063
30064 * util/getroot.c: Include `<grub/util/getroot.h>'
30065 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30066 (grub_util_get_dev_abstraction): ... here (new function).
30067
30068 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30069 `PRINT_ABSTRACTION'.
30070 (probe): Probe for abstraction type when requested.
30071 (main): Understand `--target=abstraction'.
30072
30073 * util/i386/efi/grub-install.in: Add abstraction module to core
30074 image when it is found to be necessary.
30075 * util/i386/pc/grub-install.in: Likewise.
30076 * util/powerpc/ieee1275/grub-install.in: Likewise.
30077
30078 * util/update-grub_lib.in (font_path): Return system path without
30079 converting to GRUB path.
30080 * util/update-grub.in: Convert system path returned by font_path()
30081 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30082 abstraction module is needed for loading fonts (if any). Export
30083 that as `GRUB_PRELOAD_MODULES'.
30084 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30085 insmod commands).
30086
52bd3de9 300872008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30088
30089 Remove some unused code from reiserfs.
f19dbdb7 30090
52bd3de9 30091 * fs/reiserfs.c (struct grub_reiserfs_key)
30092 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30093 (struct grub_reiserfs_node_body): Removed.
30094 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30095 Likewise.
30096 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30097 Likewise.
30098 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30099 Likewise.
30100 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30101 Likewise.
30102 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30103 Likewise.
30104 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30105 Likewise.
30106 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30107 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30108 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30109
2f80039d 301102008-01-10 Robert Millan <rmh@aybabtu.com>
30111
30112 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30113 Determines if a file is garbage left by packaging systems, etc.
30114 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30115 for processing /etc/grub.d scripts.
30116 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30117 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30118 as a condition for processing Linux images.
30119
87888032 301202008-01-10 Pavel Roskin <proski@gnu.org>
30121
30122 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30123 to compile reiserfs.c on PowerPC.
30124
7e54fced 301252008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30126
30127 * kern/device.c (grub_device_iterate): Do not abort device iteration
30128 when one of the devices cannot be opened.
30129 * kern/disk.c (grub_disk_open): Do not account previous failures of
30130 unrelated functions when grub_errno is checked for.
30131
5aa541e6 301322008-01-08 Robert Millan <rmh@aybabtu.com>
30133
30134 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30135 `! grub_linux_is_bzimage', change order of address comparison to make
30136 it more intuitive, and improve "too big zImage" error message.
30137
7076340d 301382008-01-08 Robert Millan <rmh@aybabtu.com>
30139
30140 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30141 `$(update-grub_DATA)'.
30142 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30143 targets.
30144
9ca70333 301452008-01-07 Robert Millan <rmh@aybabtu.com>
30146
30147 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30148 which instruction is modified by grub-setup during installation
30149 (since it wasn't obvious by only looking at this file).
30150
38ccf575 301512008-01-07 Robert Millan <rmh@aybabtu.com>
30152
30153 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30154 listing actual TODO items.
30155
f5db4291 301562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30157
868967cf 30158 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30159 correctly.
30160 (grub_reiserfs_get_key_offset): Likewise.
30161 (grub_reiserfs_set_key_offset): Likewise.
30162 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30163 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30164
30165 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30166 better to remove the bitfield version completely.
f19dbdb7 30167
868967cf 301682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30169
f5db4291 30170 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30171 allocated from the heap, due to the fshelp implementation.
30172 (grub_reiserfs_dir): Free NODE, due to the same reason.
30173
492e6d9d 301742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30175
30176 Mostly from Vincent Pelletier:
f19dbdb7 30177
492e6d9d 30178 * fs/reiserfs.c: New file.
f19dbdb7 30179
492e6d9d 30180 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30181 (reiserfs_mod_SOURCES): New variable.
30182 (reiserfs_mod_CFLAGS): Likewise.
30183 (reiserfs_mod_LDFLAGS): Likewise.
30184
30185 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30186 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30187 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30188 normal/color.c.
30189
9ce3e7c1 301902008-01-06 Robert Millan <rmh@aybabtu.com>
30191
30192 * normal/color.c: Remove `<grub/env.h>'.
30193
f3b58148 301942008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30195
30196 * include/grub/normal.h: Include <grub/env.h>.
30197
7ac3bcfa 301982008-01-05 Robert Millan <rmh@aybabtu.com>
30199
30200 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30201 usage example with `(hd0,1)'.
fb358190 30202 Reported by Samuel Thibault.
7ac3bcfa 30203
c8ee99d7 302042008-01-05 Robert Millan <rmh@aybabtu.com>
30205
30206 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30207 (grub_linux_boot_zimage): Rename to ...
30208 (grub_linux_boot): ... this.
30209 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30210 (grub_linux_boot_zimage): Conditionalize zImage copy.
30211
30212 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30213 (grub_linux_boot_bzimage): Remove prototype.
30214 (grub_linux_boot_zimage): Rename to ...
30215 (grub_linux_boot): ... this.
30216
30217 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30218 (grub_linux_boot): Remove function.
30219
0ece25b1 302202008-01-05 Robert Millan <rmh@aybabtu.com>
30221
30222 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30223 (grub_env_write_color_highlight): Likewise.
30224 (grub_wait_after_message): Likewise.
30225
30226 * normal/color.c: New file.
30227
30228 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30229 (normal_mod_DEPENDENCIES): Likewise.
30230
30231 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30232 (normal_mod_DEPENDENCIES): Likewise.
30233
30234 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30235 (normal_mod_DEPENDENCIES): Likewise.
30236
30237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30238 (normal_mod_DEPENDENCIES): Likewise.
30239
30240 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30241 for waiting after a message is printed.
30242 * normal/main.c (read_config_file): Likewise.
30243 (grub_normal_init): Register grub_env_write_color_normal() and
30244 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30245 `color_highlight' variables as global.
30246
30247 * normal/menu.c (grub_wait_after_message): New function.
30248 (grub_color_menu_normal): New variable. Replaces ...
30249 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30250 (grub_color_menu_highlight): New variable. Replaces ...
30251 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30252 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30253 `GRUB_TERM_COLOR_STANDARD'.
30254 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30255 `normal_code' and `highlight_code' to `old_color_normal' and
30256 `old_color_highlight', respectively.
30257 (grub_menu_init_page): Update colors when drawing the menu, based on
30258 `menu_color_normal' and `menu_color_highlight' variables.
30259 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30260 a message is printed.
30261
182dd4e5 302622008-01-05 Robert Millan <rmh@aybabtu.com>
30263
30264 * kern/env.c (grub_env_context_open): Propagate hooks for global
30265 variables to new context.
30266
30267 * kern/main.c (grub_set_root_dev): Export `root' variable.
30268
ddf8f6ad 302692008-01-05 Robert Millan <rmh@aybabtu.com>
30270
30271 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30272 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30273 them.
30274
d8b43d9b 302752008-01-05 Robert Millan <rmh@aybabtu.com>
30276
30277 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30278
2bff2de3 302792008-01-04 Christian Franke <franke@computer.org>
30280
30281 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30282 of eisa_mmap.
30283
97eab917 302842008-01-03 Pavel Roskin <proski@gnu.org>
30285
30286 * kern/i386/linuxbios/init.c: Put "void" to all function
30287 declarations with no arguments.
30288 * kern/powerpc/ieee1275/init.c: Likewise.
30289 * term/i386/pc/at_keyboard.c: Likewise.
30290 * term/i386/pc/vga_text.c: Likewise.
30291 * util/grub-mkdevicemap.c: Likewise.
30292
b9416d00 302932008-01-02 Robert Millan <rmh@aybabtu.com>
30294
30295 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30296 message when loaded image is out of bounds.
30297 (grub_multiboot_load_elf64): Likewise.
30298
92695df9 302992008-01-02 Pavel Roskin <proski@gnu.org>
30300
30301 * util/grub.d/10_linux.in: Try version without ".old" when
30302 looking for initrd. It's better to use initrd from the newer
30303 kernel of the same version than no initrd at all.
30304
d98d9cad 303052008-01-01 Robert Millan <rmh@aybabtu.com>
30306
30307 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30308
dbfdce36 303092008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30310
f19dbdb7 30311 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30312 grub_video_get_active_render_target.
30313 (grub_video_adapter): Added unmap_color and get_active_render_target.
30314
f19dbdb7 30315 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30316 grub_video_get_active_render_target.
30317 (grub_video_get_info): Changed method to accept NULL pointer as an
30318 argument to allow detection of active video adapter.
30319
30320 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30321 grub_video_vbe_unmap_color_int.
30322 Added grub_video_vbe_unmap_color and
30323 grub_video_vbe_get_active_render_target.
30324 (grub_video_vbe_adapter): Added unmap_color and
30325 get_active_render_target.
30326
f19dbdb7 30327 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30328 with grub_video_vbe_unmap_color_int.
30329
30330 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30331 (DEFAULT_NORMAL_COLOR): Likewise.
30332 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30333 (DEFAULT_FG_COLOR): Removed.
30334 (DEFAULT_BG_COLOR): Likewise.
30335 (DEFAULT_CURSOR_COLOR): Changed value.
30336 (grub_virtual_screen): Added standard_color_setting,
30337 normal_color_setting, highlight_color_setting and term_color.
30338 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30339 (bitmap_width): Added.
30340 (bitmap_height): Likewise.
30341 (bitmap): Likewise.
30342 (set_term_color): Likewise.
30343 (grub_virtual_screen_setup): Changed to use new terminal coloring
30344 settings.
30345 (grub_gfxterm_init): Added init for bitmap.
30346 (grub_gfxterm_fini): Added destroy for bitmap.
30347 (redraw_screen_rect): Updated to use background bitmap and new
30348 terminal coloring.
30349 (scroll_up): Added optimization for case when there is no bitmap.
30350 (grub_gfxterm_cls): Fixed to use correct background color.
30351 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30352 coloring.
30353 (grub_virtual_screen_setcolor): Likewise.
30354 (grub_virtual_screen_getcolor): Added.
30355 (grub_gfxterm_background_image_cmd): Likewise.
30356 (grub_video_term): Added setcolor and getcolor.
30357 (MOD_INIT): Added registration of background_image command.
30358 (MOD_TERM): Added unregistration for background_image command.
30359
c3c20931 303602007-12-30 Pavel Roskin <proski@gnu.org>
30361
30362 * loader/multiboot_loader.c: Fix multiboot command
30363 unregistration. Fix all typos in the word "multiboot".
30364
df266716 303652007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30366
30367 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30368 support for initrd names used in Fedora.
30369
fc6e896c 303702007-12-26 Bean <bean123ch@gmail.com>
30371
30372 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30373 (cpio_mod_SOURCES): New variable.
30374 (cpio_mod_CFLAGS): Likewise.
30375 (cpio_mod_LDFLAGS): Likewise.
30376
30377 * fs/cpio.c: New file.
30378
30379 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30380
30381 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30382
30383 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30384
30385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30386
533110ad 303872007-12-25 Robert Millan <rmh@aybabtu.com>
30388
30389 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30390 (grub_getcolor): New function.
30391
30392 * kern/term.c (grub_getcolor): New function.
30393 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30394 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30395 (print_entry): Set normal and highlight colors to
30396 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30397 respectively, before printing and restore them to old
30398 values afterwards.
30399 (grub_menu_init_page): Likewise. Fill an additional colored space
30400 that would otherwise be left blank.
30401
30402 * term/efi/console.c (grub_console_getcolor): New function.
30403 (struct grub_console_term.getcolor): New variable.
30404 * term/i386/pc/console.c (grub_console_getcolor): New function.
30405 (struct grub_console_term.getcolor): New variable.
30406 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30407 (struct grub_console_term.getcolor): New variable.
30408
30409 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30410 (struct grub_console_term.setcolor): Remove variable.
30411 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30412 (struct grub_console_term.setcolor): Remove variable.
30413 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30414 (struct grub_console_term.setcolor): Remove variable.
30415 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30416 (struct grub_console_term.setcolor): Remove variable.
30417
4931827f 304182007-12-25 Robert Millan <rmh@aybabtu.com>
30419
30420 * configure.ac: Search for possible unifont.hex locations, and
30421 define UNIFONT_HEX if found.
30422
30423 * Makefile.in (UNIFONT_HEX): Define variable.
30424 (DATA): Rename to ...
30425 (PKGLIB): ... this. Update all users.
30426 (PKGDATA): New variable.
30427 (pkgdata_IMAGES): Rename to ...
30428 (pkglib_IMAGES): ... this. Update all users.
30429 (pkgdata_MODULES): Rename to ...
30430 (pkglib_MODULES): ... this. Update all users.
30431 (pkgdata_PROGRAMS): Rename to ...
30432 (pkglib_PROGRAMS): ... this. Update all users.
30433 (pkgdata_DATA): Rename to ...
30434 (pkglib_DATA): ... this. Update all users.
30435 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30436 (unicode.pff, ascii.pff): New rules.
30437 (all-local): Add `$(PKGDATA)' dependency.
30438 (install-local): Process `$(PKGDATA)'.
30439
30440 * util/update-grub_lib.in (font_path): Search for *.pff files in
30441 a few more locations, including `${pkgdata}'.
30442
57e57e31 304432007-12-23 Robert Millan <rmh@aybabtu.com>
30444
30445 Patch from Bean <bean123ch@gmail.com>:
30446 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30447 `size'.
30448
4bc72aa9 304492007-12-21 Bean <bean123ch@gmail.com>
30450
30451 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30452 (ntfscomp_mod_SOURCES): New variable.
30453 (ntfscomp_mod_CFLAGS): Likewise.
30454 (ntfscomp_mod_LDFLAGS): Likewise.
30455
30456 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30457 (grub_probe_SOURCES): Likewise.
30458 (grub_emu_SOURCES): Likewise.
30459
30460 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30461 (grub_emu_SOURCES): Likewise.
30462
30463 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30464 (grub_emu_SOURCES): Likewise.
30465
30466 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30467 (grub_emu_SOURCES): Likewise.
30468
30469 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30470 (read_run_list): Renamed to grub_ntfs_read_run_list.
30471 (decomp_nextvcn): Moved to ntfscomp.c.
30472 (decomp_getch): Likewise.
30473 (decomp_get16): Likewise.
30474 (decomp_block): Likewise.
30475 (read_block): Likewise.
30476 (read_data): Partially moved to ntfscomp.c.
30477 (fixup): Change unsigned to grub_uint16_t.
30478 (read_mft): Change unsigned long to grub_uint32_t.
30479 (read_attr): Likewise.
30480 (read_data): Likewise.
30481 (read_run_data): Likewise.
30482 (read_run_list): Likewise.
30483 (read_mft): Likewise.
30484
30485 * fs/ntfscomp.c: New file.
30486
30487 * include/grub/ntfs.h: New file.
30488
af680a87 304892007-12-16 Robert Millan <rmh@aybabtu.com>
30490
30491 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30492 IDE disk check, since Linux is known to support 20 IDE disks.
30493 Reported by Colin Watson.
30494
84be7599 304952007-12-15 Bean <bean123ch@gmail.com>
30496
30497 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30498 (lnxboot_img_SOURCES): New variable.
30499 (lnxboot_img_ASFLAGS): Likewise.
30500 (lnxboot_img_LDFLAGS): Likewise.
30501
30502 * boot/i386/pc/lnxboot.S: New file.
30503
6af9db01 305042007-11-24 Pavel Roskin <proski@gnu.org>
30505
30506 * configure.ac: Test if '--build-id=none' is supported by the
30507 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30508 objcopy to generate incorrect binary files (binutils
30509 2.17.50.0.18-1 as shipped by Fedora 8).
30510 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30511 linking, so that build ID doesn't break the test.
30512
7361cfe6 305132007-11-24 Pavel Roskin <proski@gnu.org>
30514
30515 * include/grub/i386/time.h: use "void" in the argument list
30516 of grub_cpu_idle().
30517 * include/grub/powerpc/time.h: Likewise.
30518 * include/grub/sparc64/time.h: Likewise.
30519
1593e10c 305202007-11-18 Christian Franke <franke@computer.org>
30521
30522 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30523 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30524 This fixes the problem that function keys did not work in grub-emu.
30525
3b8db1a8 305262007-11-18 Christian Franke <franke@computer.org>
30527
30528 * disk/host.c (grub_host_open): Remove attribute unused from
30529 name parameter. Add check for "host". This fixes the problem
30530 that grub-emu does not find partitions.
30531
2e29408d 305322007-11-18 Christian Franke <franke@computer.org>
30533
30534 * util/hostfs.c (is_dir): New function.
30535 (grub_hostfs_dir): Handle missing dirent.d_type case.
30536 (grub_hostfs_read): Add missing fseek().
30537 (grub_hostfs_label): Clear label pointer. This fixes a crash
30538 of grub-emu on "ls (host)".
30539
398cd047 305402007-11-18 Christian Franke <franke@computer.org>
30541
30542 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30543 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30544 to 64 bit boundary by default.
30545
c405c391 305462007-11-18 Bean <bean123ch@gmail.com>
30547
30548 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30549 (hexdump_mod_SOURCES): New variable.
30550 (hexdump_mod_CFLAGS): Likewise.
30551 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30552
c405c391 30553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30554
30555 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30556
30557 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30558
30559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30560
30561 * include/grub/hexdump.h: New file.
30562
30563 * commands/hexdump.c: New file.
30564
5cced7fd 305652007-11-10 Robert Millan <rmh@aybabtu.com>
30566
30567 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30568 in grub_outb() calls.
30569 (beep_on): Likewise.
30570
8b714eb0 305712007-11-10 Christian Franke <franke@computer.org>
30572
30573 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30574 (grub_menu_run): Likewise.
30575
ce0f1839 305762007-11-10 Robert Millan <rmh@aybabtu.com>
30577
30578 * include/grub/i386/efi/machine.h: New file.
30579 * include/grub/i386/linuxbios/machine.h: Likewise.
30580 * include/grub/i386/pc/machine.h: Likewise.
30581 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30582 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30583
30584 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30585 (serial_hw_io_addr): New variable.
30586 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30587 instead of `(unsigned short *) 0x400'.
30588
270c237d 305892007-11-10 Bean <bean123ch@gmail.com>
30590
30591 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30592
a87783bf 305932007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30594
30595 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30596 (vga_mod_SOURCES): Added.
30597 (vga_mod_CFLAGS): Likewise.
30598 (vga_mod_LDFLAGS): Likewise.
30599
30600 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30601 grub_outb() calls.
30602 (set_map_mask): Likewise.
30603 (set_read_map): Likewise.
30604 (set_read_address): Likewise.
30605 (vga_font): Removed variable.
30606 (get_vga_glyph): Removed function.
30607 (invalidate_char): Likewise.
30608 (write_char): Changed to use grub_font_get_glyph() for font
30609 information.
30610 (grub_vga_putchar): Likewise.
30611 (grub_vga_getcharwidth): Likewise.
30612
6433b448 306132007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30614
30615 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30616 flags.
30617 (pxeboot_img_LDFLAGS): Likewise.
30618 (diskboot_img_LDFLAGS): Likewise.
30619 (kernel_img_LDFLAGS): Likewise.
30620
49178511 306212007-11-06 Robert Millan <rmh@aybabtu.com>
30622
30623 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30624 in grub_outb() calls.
30625 (serial_hw_init): Likewise.
30626
53b052de 306272007-11-05 Robert Millan <rmh@aybabtu.com>
30628
30629 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30630 spaces. Skip non-regular files.
30631
5ab33bba 306322007-11-05 Robert Millan <rmh@aybabtu.com>
30633
30634 * kern/disk.c (grub_disk_firmware_fini)
30635 (grub_disk_firmware_is_tainted): New variables.
30636
30637 * include/grub/disk.h (grub_disk_firmware_fini)
30638 (grub_disk_firmware_is_tainted): Likewise.
30639
30640 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30641 (grub_disk_biosdisk_fini): ... to here.
30642 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30643 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30644 is set. Register grub_disk_biosdisk_fini() in
30645 `grub_disk_firmware_fini'.
30646
30647 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30648 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30649 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30650 to finish existing firmware disk interface.
30651
30652 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30653 (ata_mod_SOURCES): New variable.
30654 (ata_mod_CFLAGS): Likewise.
30655 (ata_mod_LDFLAGS): Likewise.
30656
0149ab7c 306572007-11-05 Robert Millan <rmh@aybabtu.com>
30658
30659 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30660 (grub_ata_wait): Reimplement using grub_millisleep().
30661
30662 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30663 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30664
be7ac41e 306652007-11-03 Marco Gerards <marco@gnu.org>
30666
30667 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30668 (CRTC_ADDR_PORT): New macro.
30669 (CRTC_DATA_PORT): Likewise.
30670 (CRTC_CURSOR): Likewise.
30671 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30672 (CRTC_CURSOR_ADDR_LOW): Likewise.
30673 (update_cursor): New function.
30674 (grub_console_real_putchar): Call `update_cursor'.
30675 (grub_console_gotoxy): Likewise.
30676 (grub_console_cls): Set the default color when clearing the
30677 screen.
30678 (grub_console_setcursor): Implemented.
30679
bb06ab2e 306802007-11-03 Marco Gerards <marco@gnu.org>
30681
30682 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30683 become activate.
30684 (grub_ata_pio_write): Likewise.
30685
30686 (grub_atapi_identify): Wait after issuing an ATA command.
30687 (grub_atapi_packet): Likewise.
30688 (grub_ata_identify): Likewise.
30689 (grub_ata_readwrite): Likewise.
30690
cf8f780b 306912007-11-03 Marco Gerards <marco@gnu.org>
30692
30693 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30694 (grub_ata_pio_write): Likewise.
30695 (grub_ata_readwrite): Use `grub_error', instead of
30696 returning `grub_errno'.
30697
ed649e54 306982007-11-03 Marco Gerards <marco@gnu.org>
30699
30700 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
30701 grub_ata_pio_write once for every single sector, instead of for
30702 multiple sectors.
30703
ca25d8f0 307042007-10-31 Robert Millan <rmh@aybabtu.com>
30705
30706 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
30707
30708 * conf/i386-linuxbios.rmk: New file.
30709
30710 * kern/i386/pc/hardware.c: Likewise.
30711 * term/i386/pc/at_keyboard.c: Likewise.
30712 * term/i386/pc/vga_text.c: Likewise.
30713
30714 * include/grub/i386/linuxbios/boot.h: Likewise.
30715 * include/grub/i386/linuxbios/console.h: Likewise.
30716 * include/grub/i386/linuxbios/init.h: Likewise.
30717 * include/grub/i386/linuxbios/kernel.h: Likewise.
30718 * include/grub/i386/linuxbios/loader.h: Likewise.
30719 * include/grub/i386/linuxbios/memory.h: Likewise.
30720 * include/grub/i386/linuxbios/serial.h: Likewise.
30721 * include/grub/i386/linuxbios/time.h: Likewise.
30722
30723 * kern/i386/linuxbios/init.c: Likewise.
30724 * kern/i386/linuxbios/startup.S: Likewise.
30725 * kern/i386/linuxbios/table.c: Likewise.
30726
e911ecc1 307272007-10-31 Marco Gerards <marco@gnu.org>
30728
30729 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
30730 (ata_mod_SOURCES): New variable.
30731 (ata_mod_CFLAGS): Likewise.
30732 (ata_mod_LDFLAGS): Likewise.
30733
30734 * disk/ata.c: New file.
30735
30736 * include/grub/disk.h (grub_disk_dev_id): Add
30737 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 30738
7f66d0e0 307392007-10-31 Robert Millan <rmh@aybabtu.com>
30740
30741 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
30742 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
30743
30744 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
30745 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
30746
30747 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
30748 `<grub/types.h>'.
30749
30750 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
30751
5cd7dd46 307522007-10-27 Robert Millan <rmh@aybabtu.com>
30753
3236ca65 30754 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 30755
2ebfc90f 307562007-10-22 Robert Millan <rmh@aybabtu.com>
30757
30758 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
30759 `"../realmode.S"'.
30760 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
30761
73fcb0f3 307622007-10-22 Robert Millan <rmh@aybabtu.com>
30763
30764 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
30765 (pkgdata_MODULES): Add `biosdisk.mod'.
30766 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
30767 variables.
30768
30769 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
30770 (grub_biosdisk_init): Replace with ...
30771 (GRUB_MOD_INIT(biosdisk)): ... this.
30772 (grub_biosdisk_fini): Replace with ...
30773 (GRUB_MOD_FINI(biosdisk)): ... this.
30774
30775 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
30776 (grub_machine_init): Remove call to grub_biosdisk_init().
30777 (grub_machine_fini): Remove call to grub_machine_fini().
30778
30779 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
30780
3381d274 307812007-10-22 Robert Millan <rmh@aybabtu.com>
30782
30783 * include/grub/time.h: New file.
30784 * include/grub/i386/time.h: Likewise.
30785 * include/grub/powerpc/time.h: Likewise.
30786 * include/grub/sparc64/time.h: Likewise.
30787
30788 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
30789 instances to ...
30790 (KERNEL_MACHINE_TIME_HEADER): ... this.
30791 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30792 instances to ...
30793 (KERNEL_MACHINE_TIME_HEADER): ... this.
30794 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30795 instances to ...
30796 (KERNEL_MACHINE_TIME_HEADER): ... this.
30797
30798 * kern/i386/efi/init.c: Include `<grub/time.h>'.
30799 (grub_millisleep): New function.
30800 * kern/i386/pc/init.c: Include `<grub/time.h>'.
30801 (grub_millisleep): New function.
30802 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
30803 Remove `grub/machine/time.h' include.
30804 (grub_millisleep): New function.
30805 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
30806 Remove `grub/machine/time.h' include.
30807 (grub_millisleep): New function.
30808
30809 * include/grub/misc.h (grub_div_roundup): New function.
30810
30811 * kern/misc.c: Include `<grub/time.h>'.
30812 (grub_millisleep_generic): New function.
30813
30814 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
30815 Add `time.h'.
30816 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
30817 Add `time.h'.
30818 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
30819 `machine/time.h'. Add `time.h'.
30820 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30821
a39a0312 308222007-10-21 Robert Millan <rmh@aybabtu.com>
30823
30824 * include/grub/misc.h (grub_max): New function.
30825
2aad70e2 308262007-10-21 Robert Millan <rmh@aybabtu.com>
30827
30828 * util/misc.c (grub_util_info): Call fflush() before returning.
30829
54b71c4b 308302007-10-20 Robert Millan <rmh@aybabtu.com>
30831
30832 * genmk.rb (Image): Copy `extra_flags' from here ...
30833 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
30834
30835 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
30836 to `argc' and `args' arguments.
30837
a979f513 308382007-10-17 Robert Millan <rmh@aybabtu.com>
30839
30840 * kern/i386/loader.S: New file.
30841
30842 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
30843 * kern/i386/loader.S (grub_linux_prot_size)... to here.
30844 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
30845 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
30846 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
30847 * kern/i386/loader.S (grub_linux_real_addr)... to here.
30848 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
30849 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
30850 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
30851 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
30852 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
30853 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
30854 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
30855 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
30856
30857 * kern/i386/realmode.S: New file.
30858
30859 * kern/i386/pc/startup.S (protstack): Moved from here ...
30860 * kern/i386/realmode.S (protstack)... to here.
30861 * kern/i386/pc/startup.S (gdt): Moved from here ...
30862 * kern/i386/realmode.S (gdt)... to here.
30863 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
30864 * kern/i386/realmode.S (prot_to_real)... to here.
30865
30866 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
30867 `kern/i386/realmode.S'.
30868
825fc8fd 308692007-10-17 Robert Millan <rmh@aybabtu.com>
30870
30871 * include/grub/i386/loader.h: New file.
30872
30873 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
30874 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30875 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30876 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30877 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
30878 * include/grub/i386/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): ... to here.
30883
30884 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
30885
e179b2f4 308862007-10-15 Robert Millan <rmh@aybabtu.com>
30887
30888 * normal/misc.c (grub_normal_print_device_info): Do not probe for
30889 filesystem when dev->disk is unset.
30890 Do probe for filesystem even when dev->disk->has_partitions is set.
30891 In case a filesystem is found, always report it.
30892 In case it isn't, if dev->disk->has_partitions is set, report that
30893 a partition table was found instead of reporting that no filesystem
30894 could be identified.
30895
5db82af6 308962007-10-12 Robert Millan <rmh@aybabtu.com>
30897
30898 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
30899 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
30900
68f6ac74 30901 * include/grub/types.h (grub_host_to_target16): New macro.
30902 (grub_host_to_target32): Likewise.
30903 (grub_host_to_target64): Likewise.
30904 (grub_target_to_host16): Likewise.
30905 (grub_target_to_host32): Likewise.
30906 (grub_target_to_host64): Likewise.
5db82af6 30907
30908 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30909 Renamed from to ...
30910 (GRUB_MOD_ALIGN): ...this. Update all users.
30911
68f6ac74 30912 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
30913 grub_host_to_target32.
30914 Replace grub_be_to_cpu32 with grub_target_to_host32.
30915 (load_modules): Likewise.
30916 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
30917 Replace grub_be_to_cpu32 with grub_target_to_host32.
30918 Replace grub_cpu_to_be16 with grub_host_to_target16.
30919 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 30920
3cf497cc 309212007-10-12 Robert Millan <rmh@aybabtu.com>
30922
30923 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
30924 * util/elf/grub-mkimage.c: ... here.
30925
30926 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
30927 `util/powerpc/ieee1275/grub-mkimage.c'.
30928
c8cc3692 309292007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 30930
c8cc3692 30931 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
30932 and make it easier to figure out.
30933 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
30934 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
30935 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
30936 leave us with less than HEAP_MIN_SIZE total heap.
30937 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 30938
5c58b791 309392007-10-03 Robert Millan <rmh@aybabtu.com>
30940
30941 * include/grub/i386/io.h: New file.
30942 * commands/i386/pc/play.c (inb): Removed.
30943 (outb): Removed.
30944 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30945 with grub_outb().
afcd2ef8 30946 * term/i386/pc/serial.c (inb): Removed.
30947 (outb): Removed.
30948 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30949 with grub_outb().
30950 * term/i386/pc/vga.c (inb): Removed.
30951 (outb): Removed.
30952 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30953 with grub_outb().
5c58b791 30954
1a477ed6 309552007-10-02 Robert Millan <rmh@aybabtu.com>
30956
30957 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30959 Reported by Marcin Kurek.
30960
6b5d80fa 309612007-09-07 Robert Millan <rmh@aybabtu.com>
30962
30963 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30964 SmartFirmware version updates (as released by Sven Luther), and avoid
30965 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30966 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30967 known broken.
30968
5618afbf 309692007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30970
30971 From Hitoshi Ozeki:
30972 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30973 when merging two regions.
30974
6139dcd9 309752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30976
508e39ee 30977 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30978 * normal/completion.c (grub_normal_do_completion): Likewise.
30979 Reported by Hitoshi Ozeki.
30980
309812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30982
6139dcd9 30983 Do not use devices at boot in chainloading.
f19dbdb7 30984
6139dcd9 30985 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30986 (boot_part_addr): Likewise.
30987 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30988 with BOOT_DRIVE and BOOT_PART_ADDR.
30989 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30990 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30991
38da6516 309922007-08-29 Robert Millan <rmh@aybabtu.com>
30993
30994 Patch from Simon Peter <dn.tlp@gmx.net>:
30995 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
30996 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
30997 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
30998 util/i386/pc/grub-setup.c_DEPENDENCIES.
30999 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31000 util/grub-probe.c_DEPENDENCIES.
31001 * conf/powerpc-ieee1275.rmk: Likewise.
31002
29d0928c 310032007-08-28 Robert Millan <rmh@aybabtu.com>
31004
31005 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31006 to tell grub-mkdevicemap how to name devices.
31007 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31008 feature).
31009
31010 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31011 util/i386/get_disk_name.c.
31012 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31013 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31014 util/ieee1275/get_disk_name.c.
31015
31016 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31017
31018 * DISTLIST: Add util/i386/get_disk_name.c and
31019 util/ieee1275/get_disk_name.c.
31020
31021 * util/grub-mkdevicemap.c: Replace device naming logic with
31022 grub_util_get_disk_name() calls.
31023
5a0d3cca 310242007-08-20 Robert Millan <rmh@aybabtu.com>
31025
31026 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31027 (so that it works for both plural and singular quantities).
31028
8b72db2f 310292007-08-05 Robert Millan <rmh@aybabtu.com>
31030
31031 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31032 so that [xz] isn't taken into account when determining order.
31033
352466bf 310342007-08-02 Marco Gerards <marco@gnu.org>
31035
31036 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31037 `include/multiboot2.h', `include/grub/elfload.h',
31038 `include/multiboot.h', `include/grub/multiboot.h',
31039 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31040 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31041 `kern/elf.c', `loader/multiboot_loader.c',
31042 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31043 `loader/i386/pc/multiboot2.c',
31044 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31045 `util/i386/pc/grub-mkrescue.in'. Remove
31046 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31047 `include/grub/i386/pc/util/biosdisk.h' and
31048 `include/grub/powerpc/ieee1275/multiboot.h'.
31049
8f096014 310502007-08-02 Bean <bean123ch@gmail.com>
31051
31052 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31053 (ntfs_mod_SOURCES): New variable.
31054 (ntfs_mod_CFLAGS): Likewise.
31055 (ntfs_mod_LDFLAGS): Likewise.
31056
31057 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31058 (grub_probe_SOURCES): Likewise.
31059 (grub_emu_SOURCES): Likewise.
31060
31061 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31062 (grub_emu_SOURCES): Likewise.
31063
31064 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31065 (grub_emu_SOURCES): Likewise.
f19dbdb7 31066
8f096014 31067 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31068
31069 * fs/ntfs.c: New file.
31070
9959f7db 310712007-08-02 Bean <bean123ch@gmail.com>
31072
31073 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31074
31075 * file.h (grub_file): Likewise.
31076
31077 * fshelp.h (grub_fshelp_read_file): Likewise.
31078
31079 * util/i386/pc/grub-setup.c (setup): Likewise.
31080 (save_first_sector): Likewise.
31081 (save_blocklists): Likewise.
f19dbdb7 31082
9959f7db 31083 * fs/affs.c (grub_affs_read_file): Likewise.
31084
31085 * fs/ext2.c (grub_ext2_read_file): Likewise.
31086
31087 * fs/fat.c (grub_fat_read_data): Likewise.
31088
31089 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31090
31091 * fs/hfs.c (grub_hfs_read_file): Likewise.
31092
31093 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31094
31095 * fs/jfs.c (grub_jfs_read_file): Likewise.
31096
31097 * fs/minix.c (grub_minix_read_file): Likewise.
31098
31099 * fs/sfs.c (grub_sfs_read_file): Likewise.
31100
31101 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31102
9959f7db 31103 * fs/xfs.c (grub_xfs_read_file): Likewise.
31104
31105 * command/blocklist.c (read_blocklist): Likewise.
31106 (print_blocklist): Likewise.
31107
0a203f83 311082007-08-02 Marco Gerards <marco@gnu.org>
31109
31110 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31111 `util/hostfs.c'.
31112
31113 * disk/host.c: New file.
31114
31115 * util/hostfs.c: Likewise.
31116
31117 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31118 return `GRUB_ERR_BAD_FS'.
31119 * fs/sfs.c (grub_sfs_mount): Likewise.
31120 * fs/xfs.c (grub_xfs_mount): Likewise.
31121
31122 * include/grub/disk.h (enum grub_disk_dev_id): Add
31123 `GRUB_DISK_DEVICE_HOST_ID'.
31124
31125 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31126
e5dfe777 311272007-07-24 Jerone Young <jerone@gmail.com>
31128
f19dbdb7 31129 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31130 modules for compilation.
31131 * conf/powerpc-ieee1275.rmk: Likewise.
31132
31133 * include/multiboot.h: Move multiboot definitions to one file. Rename
31134 many definitions to not get grub specific.
31135 * include/multiboot2.h: Create header with multiboot 2 definitions.
31136 * include/grub/multiboot.h: Header for grub specific function
31137 prototypes and definitions.
31138 * include/grub/multiboot2.h: Likewise.
31139 * include/grub/multiboot_loader.h: Likewise.
31140 * include/grub/i386/pc/multiboot.h: Removed.
31141 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31142
31143 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31144 and 2 to allow for one multiboot and module commands.
31145 * loader/multiboot2.c: Add multiboot2 functionality.
31146 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31147 and definition names.
31148 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31149 2 functions.
31150 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31151 ieee1275 specific multiboot2 code.
31152
31153 * kern/i386/pc/startup.S: Change headers and definition names for
31154 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31155
daf0f0ba 311562007-07-22 Robert Millan <rmh@aybabtu.com>
31157
31158 * geninitheader.sh: Process file specified in first parameter rather
31159 than hardcoding grub_modules_init.lst.
fe6b695a 31160 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31161 than hardcoding grub_modules_init.h.
31162
31163 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31164 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31165 grub_probe_init.[ch] and grub_setup_init.[ch].
31166
31167 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31168 grub_modules_init.h with grub_emu_init.h.
31169 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31170 grub_probe_init.[ch] files.
31171 * conf/i386-efi.rmk: Likewise.
31172 * conf/i386-pc.rmk: Likewise.
31173 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31174 grub_setup_init.[ch] files.
31175
31176 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31177 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31178 to initialize modules rather than a list of hardcoded functions.
31179 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31180 grub_init_all() to initialize modules rather than a list of hardcoded
31181 functions.
31182
54cdc1cc 311832007-07-22 Robert Millan <rmh@aybabtu.com>
31184
31185 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31186 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31187
ad0686cc 311882007-07-22 Robert Millan <rmh@aybabtu.com>
31189
31190 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31191 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31192 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31193 flag when running on SmartFirmware.
31194 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31195 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31196 was set.
31197
31198 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31199 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31200 rather than decreasing it.
31201
31202 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31203 there's not enough space to do it, fail in the same way as when it
31204 can't be done because there are no partitions.
31205
31206 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31207 when nvsetenv failed.
31208
969c02ec 312092007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31210
31211 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31212 because this rule is automatically generated.
31213 (grub-mkrescue): Removed for the same reason as above.
31214
5a79f472 312152007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31216
31217 Migrate to GNU General Public License Version 3.
f19dbdb7 31218
5a79f472 31219 * COPYING: Replaced with the plain text version of GPLv3.
31220
31221 * config.guess: Updated from gnulib.
31222 * config.sub: Likewise.
31223
31224 * geninit.sh: Output a GPLv3 copyright notice.
31225 * geninitheader.sh: Likewise.
31226 * genmodsrc.sh: Likewise.
31227 * gensymlist.sh.in: Likewise.
31228
31229 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31230 * boot/i386/pc/diskboot.S: Likewise.
31231 * boot/i386/pc/pxeboot.S: Likewise.
31232 * commands/blocklist.c: Likewise.
31233 * commands/boot.c: Likewise.
31234 * commands/cat.c: Likewise.
31235 * commands/cmp.c: Likewise.
31236 * commands/configfile.c: Likewise.
31237 * commands/echo.c: Likewise.
31238 * commands/help.c: Likewise.
31239 * commands/ls.c: Likewise.
31240 * commands/search.c: Likewise.
31241 * commands/terminal.c: Likewise.
31242 * commands/test.c: Likewise.
31243 * commands/videotest.c: Likewise.
31244 * commands/i386/cpuid.c: Likewise.
31245 * commands/i386/pc/halt.c: Likewise.
31246 * commands/i386/pc/play.c: Likewise.
31247 * commands/i386/pc/reboot.c: Likewise.
31248 * commands/i386/pc/vbeinfo.c: Likewise.
31249 * commands/i386/pc/vbetest.c: Likewise.
31250 * commands/ieee1275/halt.c: Likewise.
31251 * commands/ieee1275/reboot.c: Likewise.
31252 * commands/ieee1275/suspend.c: Likewise.
31253 * disk/loopback.c: Likewise.
31254 * disk/lvm.c: Likewise.
31255 * disk/raid.c: Likewise.
31256 * disk/efi/efidisk.c: Likewise.
31257 * disk/i386/pc/biosdisk.c: Likewise.
31258 * disk/ieee1275/ofdisk.c: Likewise.
31259 * font/manager.c: Likewise.
31260 * fs/affs.c: Likewise.
31261 * fs/ext2.c: Likewise.
31262 * fs/fat.c: Likewise.
31263 * fs/fshelp.c: Likewise.
31264 * fs/hfs.c: Likewise.
31265 * fs/hfsplus.c: Likewise.
31266 * fs/iso9660.c: Likewise.
31267 * fs/jfs.c: Likewise.
31268 * fs/minix.c: Likewise.
31269 * fs/sfs.c: Likewise.
31270 * fs/ufs.c: Likewise.
31271 * fs/xfs.c: Likewise.
31272 * hello/hello.c: Likewise.
31273 * include/grub/acorn_filecore.h: Likewise.
31274 * include/grub/arg.h: Likewise.
31275 * include/grub/bitmap.h: Likewise.
31276 * include/grub/boot.h: Likewise.
31277 * include/grub/cache.h: Likewise.
31278 * include/grub/device.h: Likewise.
31279 * include/grub/disk.h: Likewise.
31280 * include/grub/dl.h: Likewise.
31281 * include/grub/elfload.h: Likewise.
31282 * include/grub/env.h: Likewise.
31283 * include/grub/err.h: Likewise.
31284 * include/grub/file.h: Likewise.
31285 * include/grub/font.h: Likewise.
31286 * include/grub/fs.h: Likewise.
31287 * include/grub/fshelp.h: Likewise.
31288 * include/grub/gzio.h: Likewise.
31289 * include/grub/hfs.h: Likewise.
31290 * include/grub/kernel.h: Likewise.
31291 * include/grub/loader.h: Likewise.
31292 * include/grub/lvm.h: Likewise.
31293 * include/grub/misc.h: Likewise.
31294 * include/grub/mm.h: Likewise.
31295 * include/grub/net.h: Likewise.
31296 * include/grub/normal.h: Likewise.
31297 * include/grub/parser.h: Likewise.
31298 * include/grub/partition.h: Likewise.
31299 * include/grub/pc_partition.h: Likewise.
31300 * include/grub/raid.h: Likewise.
31301 * include/grub/rescue.h: Likewise.
31302 * include/grub/script.h: Likewise.
31303 * include/grub/setjmp.h: Likewise.
31304 * include/grub/symbol.h: Likewise.
31305 * include/grub/term.h: Likewise.
31306 * include/grub/terminfo.h: Likewise.
31307 * include/grub/tparm.h: Likewise.
31308 * include/grub/types.h: Likewise.
31309 * include/grub/video.h: Likewise.
31310 * include/grub/efi/api.h: Likewise.
31311 * include/grub/efi/chainloader.h: Likewise.
31312 * include/grub/efi/console.h: Likewise.
31313 * include/grub/efi/console_control.h: Likewise.
31314 * include/grub/efi/disk.h: Likewise.
31315 * include/grub/efi/efi.h: Likewise.
31316 * include/grub/efi/pe32.h: Likewise.
31317 * include/grub/efi/time.h: Likewise.
31318 * include/grub/i386/linux.h: Likewise.
31319 * include/grub/i386/setjmp.h: Likewise.
31320 * include/grub/i386/types.h: Likewise.
31321 * include/grub/i386/efi/kernel.h: Likewise.
31322 * include/grub/i386/efi/loader.h: Likewise.
31323 * include/grub/i386/efi/time.h: Likewise.
31324 * include/grub/i386/pc/biosdisk.h: Likewise.
31325 * include/grub/i386/pc/boot.h: Likewise.
31326 * include/grub/i386/pc/chainloader.h: Likewise.
31327 * include/grub/i386/pc/console.h: Likewise.
31328 * include/grub/i386/pc/init.h: Likewise.
31329 * include/grub/i386/pc/kernel.h: Likewise.
31330 * include/grub/i386/pc/loader.h: Likewise.
31331 * include/grub/i386/pc/memory.h: Likewise.
31332 * include/grub/i386/pc/multiboot.h: Likewise.
31333 * include/grub/i386/pc/serial.h: Likewise.
31334 * include/grub/i386/pc/time.h: Likewise.
31335 * include/grub/i386/pc/vbe.h: Likewise.
31336 * include/grub/i386/pc/vbeblit.h: Likewise.
31337 * include/grub/i386/pc/vbefill.h: Likewise.
31338 * include/grub/i386/pc/vbeutil.h: Likewise.
31339 * include/grub/i386/pc/vga.h: Likewise.
31340 * include/grub/ieee1275/ieee1275.h: Likewise.
31341 * include/grub/ieee1275/ofdisk.h: Likewise.
31342 * include/grub/powerpc/libgcc.h: Likewise.
31343 * include/grub/powerpc/setjmp.h: Likewise.
31344 * include/grub/powerpc/types.h: Likewise.
31345 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31346 * include/grub/powerpc/ieee1275/console.h: Likewise.
31347 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31348 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31349 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31350 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31351 * include/grub/powerpc/ieee1275/time.h: Likewise.
31352 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31353 * include/grub/sparc64/libgcc.h: Likewise.
31354 * include/grub/sparc64/setjmp.h: Likewise.
31355 * include/grub/sparc64/types.h: Likewise.
31356 * include/grub/sparc64/ieee1275/console.h: Likewise.
31357 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31358 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31359 * include/grub/sparc64/ieee1275/time.h: Likewise.
31360 * include/grub/util/biosdisk.h: Likewise.
31361 * include/grub/util/getroot.h: Likewise.
31362 * include/grub/util/lvm.h: Likewise.
31363 * include/grub/util/misc.h: Likewise.
31364 * include/grub/util/raid.h: Likewise.
31365 * include/grub/util/resolve.h: Likewise.
31366 * io/gzio.c: Likewise.
31367 * kern/device.c: Likewise.
31368 * kern/disk.c: Likewise.
31369 * kern/dl.c: Likewise.
31370 * kern/elf.c: Likewise.
31371 * kern/env.c: Likewise.
31372 * kern/err.c: Likewise.
31373 * kern/file.c: Likewise.
31374 * kern/fs.c: Likewise.
31375 * kern/loader.c: Likewise.
31376 * kern/main.c: Likewise.
31377 * kern/misc.c: Likewise.
31378 * kern/mm.c: Likewise.
31379 * kern/parser.c: Likewise.
31380 * kern/partition.c: Likewise.
31381 * kern/rescue.c: Likewise.
31382 * kern/term.c: Likewise.
31383 * kern/efi/efi.c: Likewise.
31384 * kern/efi/init.c: Likewise.
31385 * kern/efi/mm.c: Likewise.
31386 * kern/i386/dl.c: Likewise.
31387 * kern/i386/efi/init.c: Likewise.
31388 * kern/i386/efi/startup.S: Likewise.
31389 * kern/i386/pc/init.c: Likewise.
31390 * kern/i386/pc/lzo1x.S: Likewise.
31391 * kern/i386/pc/startup.S: Likewise.
31392 * kern/ieee1275/ieee1275.c: Likewise.
31393 * kern/powerpc/cache.S: Likewise.
31394 * kern/powerpc/dl.c: Likewise.
31395 * kern/powerpc/ieee1275/cmain.c: Likewise.
31396 * kern/powerpc/ieee1275/crt0.S: Likewise.
31397 * kern/powerpc/ieee1275/init.c: Likewise.
31398 * kern/powerpc/ieee1275/openfw.c: Likewise.
31399 * kern/sparc64/cache.S: Likewise.
31400 * kern/sparc64/dl.c: Likewise.
31401 * kern/sparc64/ieee1275/init.c: Likewise.
31402 * kern/sparc64/ieee1275/openfw.c: Likewise.
31403 * loader/efi/chainloader.c: Likewise.
31404 * loader/efi/chainloader_normal.c: Likewise.
31405 * loader/i386/efi/linux.c: Likewise.
31406 * loader/i386/efi/linux_normal.c: Likewise.
31407 * loader/i386/pc/chainloader.c: Likewise.
31408 * loader/i386/pc/chainloader_normal.c: Likewise.
31409 * loader/i386/pc/linux.c: Likewise.
31410 * loader/i386/pc/linux_normal.c: Likewise.
31411 * loader/i386/pc/multiboot.c: Likewise.
31412 * loader/i386/pc/multiboot_normal.c: Likewise.
31413 * loader/powerpc/ieee1275/linux.c: Likewise.
31414 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31415 * normal/arg.c: Likewise.
31416 * normal/cmdline.c: Likewise.
31417 * normal/command.c: Likewise.
31418 * normal/completion.c: Likewise.
31419 * normal/execute.c: Likewise.
31420 * normal/function.c: Likewise.
31421 * normal/lexer.c: Likewise.
31422 * normal/main.c: Likewise.
31423 * normal/menu.c: Likewise.
31424 * normal/menu_entry.c: Likewise.
31425 * normal/misc.c: Likewise.
31426 * normal/parser.y: Likewise.
31427 * normal/script.c: Likewise.
31428 * normal/i386/setjmp.S: Likewise.
31429 * normal/powerpc/setjmp.S: Likewise.
31430 * normal/sparc64/setjmp.S: Likewise.
31431 * partmap/acorn.c: Likewise.
31432 * partmap/amiga.c: Likewise.
31433 * partmap/apple.c: Likewise.
31434 * partmap/gpt.c: Likewise.
31435 * partmap/pc.c: Likewise.
31436 * partmap/sun.c: Likewise.
31437 * term/gfxterm.c: Likewise.
31438 * term/terminfo.c: Likewise.
31439 * term/efi/console.c: Likewise.
31440 * term/i386/pc/console.c: Likewise.
31441 * term/i386/pc/serial.c: Likewise.
31442 * term/i386/pc/vesafb.c: Likewise.
31443 * term/i386/pc/vga.c: Likewise.
31444 * term/ieee1275/ofconsole.c: Likewise.
31445 * util/biosdisk.c: Likewise.
31446 * util/console.c: Likewise.
31447 * util/genmoddep.c: Likewise.
31448 * util/getroot.c: Likewise.
31449 * util/grub-emu.c: Likewise.
31450 * util/grub-mkdevicemap.c: Likewise.
31451 * util/grub-probe.c: Likewise.
31452 * util/lvm.c: Likewise.
31453 * util/misc.c: Likewise.
31454 * util/raid.c: Likewise.
31455 * util/resolve.c: Likewise.
31456 * util/update-grub.in: Likewise.
31457 * util/update-grub_lib.in: Likewise.
31458 * util/grub.d/00_header.in: Likewise.
31459 * util/grub.d/10_hurd.in: Likewise.
31460 * util/grub.d/10_linux.in: Likewise.
31461 * util/i386/efi/grub-install.in: Likewise.
31462 * util/i386/efi/grub-mkimage.c: Likewise.
31463 * util/i386/pc/grub-install.in: Likewise.
31464 * util/i386/pc/grub-mkimage.c: Likewise.
31465 * util/i386/pc/grub-mkrescue.in: Likewise.
31466 * util/i386/pc/grub-setup.c: Likewise.
31467 * util/i386/pc/misc.c: Likewise.
31468 * util/powerpc/ieee1275/grub-install.in: Likewise.
31469 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31470 * util/powerpc/ieee1275/misc.c: Likewise.
31471 * video/bitmap.c: Likewise.
31472 * video/video.c: Likewise.
31473 * video/i386/pc/vbe.c: Likewise.
31474 * video/i386/pc/vbeblit.c: Likewise.
31475 * video/i386/pc/vbefill.c: Likewise.
31476 * video/i386/pc/vbeutil.c: Likewise.
31477 * video/readers/tga.c: Likewise.
31478
3572d015 314792007-07-02 Robert Millan <rmh@aybabtu.com>
31480
31481 * conf/i386-efi.rmk: Replace obsolete reference to
31482 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31483 with util/getroot.c.
31484 * conf/powerpc-ieee1275.rmk: Likewise.
31485 * conf/sparc64-ieee1275.rmk: Likewise.
31486
31487 * util/grub-emu.c (main): Fix unchecked pointer handling.
31488
2c2a681b 314892007-07-02 Robert Millan <rmh@aybabtu.com>
31490
31491 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31492 invocation to fail, in order to support partition-less media.
31493
31494 * util/i386/pc/grub-install.in: Likewise.
31495
31496 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31497 which fs or partmap modules are needed (akin to its sister scripts).
31498
31499 Also use grub-probe to get rid of unportable /proc/mounts check.
31500
31501 Print the same informational message that the other scripts do, before
fe6b695a 31502 exiting.
2c2a681b 31503
6193defe 315042007-06-23 Robert Millan <rmh@aybabtu.com>
31505
fe6b695a 31506 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31507 a font file can be found and, if so, echo the GRUB path to it.
31508
31509 * util/update-grub.in: Handle multiple terminals depending on user
31510 input, platform availability and font file presence. Propagate
31511 variables of our findings to /etc/grub.d/ children.
31512
31513 * util/grub.d/00_header.in: Handle multiple terminals, based on
31514 environment setup by update-grub.
31515
eface1dc 315162007-06-23 Robert Millan <rmh@aybabtu.com>
31517
ba50d28f 31518 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31519
bf697e28 315202007-06-21 Robert Millan <rmh@aybabtu.com>
31521
31522 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31523 indicate end of data section in kernel image.
31524 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31525 GRUB_KERNEL_MACHINE_DATA_END.
31526
31527 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31528 space for it.
31529 * kern/i386/efi/startup.S: Likewise.
31530
31531 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31532 during image generation. Implement --prefix option to override this
31533 patch.
31534 * util/i386/efi/grub-mkimage.c: Likewise.
31535
31536 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31537 code to make path relative to its root into a separate function.
31538
31539 * util/i386/pc/grub-install.in: Use newly provided
31540 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31541 pass the result to grub-install --prefix.
31542
baa574b4 315432007-06-13 Robert Millan <rmh@aybabtu.com>
31544
31545 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31546 DEFAULT_DEVICE_MAP.
31547 * util/grub-emu.c: Use above definitions from misc.h instead of
31548 defining them.
31549 * util/grub-mkdevicemap.c: Likewise.
31550 * util/i386/pc/grub-setup.c: Likewise.
31551 * util/grub-probe.c: Likewise.
31552 (probe): Abort with grub_util_error() when either
31553 grub_guess_root_device or grub_util_get_grub_dev fails.
31554
0215dcbf 315552007-06-12 Robert Millan <rmh@aybabtu.com>
31556
31557 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31558 "pager" assignment.
31559 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31560 "pcdata".
31561 * util/grub-probe.c (probe): Likewise for "drive_name".
31562
8af2ab7b 315632007-06-11 Robert Millan <rmh@aybabtu.com>
31564
31565 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31566 not just the cdrom one.
31567
59d31694 315682007-06-11 Robert Millan <rmh@aybabtu.com>
31569
31570 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31571 Add --pkglibdir=DIR option to override pkglibdir.
31572 Mention --image-type=TYPE in help output.
31573 Fix --grub-mkimage (it was a no-op).
fe6b695a 31574 Abort gracefully when no parameter is given.
59d31694 31575
7ee367e4 315762007-06-11 Robert Millan <rmh@aybabtu.com>
31577
31578 * util/i386/pc/grub-mkrescue.in: New file.
31579 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31580 * Makefile.in: Handle bin_SCRIPTS.
31581
29b0ed46 315822007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31583
31584 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31585 list of video modes.
31586
c0f90770 315872007-06-06 Robert Millan <rmh@aybabtu.com>
31588
31589 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31590 file doesn't exist, or if it is in a filesystem grub can't read.
31591
31592 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31593 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31594 header comment to fit in 80 columns when the variables are resolved.
31595
31596 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31597 could be identified by update-grub. Remove redundant check for
fe6b695a 31598 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 31599 handles that).
31600
fb36dc26 316012007-06-04 Robert Millan <rmh@aybabtu.com>
31602
31603 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31604
31605 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31606
31607 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31608
0c68c93e 316092007-06-04 Robert Millan <rmh@aybabtu.com>
31610
31611 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31612
31613 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31614 grub_apple_partition_map_fini.
31615
31616 * util/biosdisk.c
31617 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31618 to access >2 TiB disks).
31619
31620 Print disk->total_sectors with %llu instead of %lu, since this
31621 variable is always 64-bit (prevents wrong disk size from being displayed
31622 on either >2 TiB disk or big-endian CPU).
31623
31624 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31625 into a generic case that supports all (sane) partition maps.
31626
31627 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31628 breaks big-endian.
31629
31630 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31631 and grub_apple_partition_map_fini() after that.
31632
0f23eb74 316332007-06-01 Robert Millan <rmh@aybabtu.com>
31634
31635 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31636
31637 * util/grub.d/00_header.in: Only enable gfxterm when
31638 convert_system_path_to_grub_path() succeeds.
31639
42c71976 316402007-05-20 Robert Millan <rmh@aybabtu.com>
31641
31642 * util/update-grub_lib.in: New file.
31643 * DISTLIST: Add update-grub_lib.in.
31644 * conf/common.rmk: Generate update-grub_lib and install it in
31645 $(lib_DATA).
31646 * Makefile.in: Add install routine for $(lib_DATA).
31647
31648 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31649 function provided by update-grub_lib to support arbitrary paths of
31650 unifont.pff.
31651 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31652 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31653
5beb2291 316542007-05-19 Robert Millan <rmh@aybabtu.com>
31655
31656 * commands/i386/cpuid.c: New module.
31657 * DISTLIST: Add it.
31658 * conf/i386-efi.rmk: Enable cpuid.mod.
31659 * conf/i386-pc.rmk: Likewise.
31660
7262eca1 316612007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31662
31663 * kern/disk.c (grub_disk_read): Check return value of
31664 grub_realloc().
31665
260ba823 316662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31667
31668 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31669 arrays.
31670 * disk/raid.c (grub_raid_open): Likewise.
31671
1ecb6cf2 316722007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31673
31674 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31675 stack instead of on the heap.
31676
31677 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31678 before doing a read on it.
31679
31680 * configure.ac: Only use -fno-stack-protector for the target
31681 environment.
f19dbdb7 31682
21c8cbb1 316832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31684
31685 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31686 __attribute_ ((unused)) to mode_type argument.
31687
31688 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 31689
21c8cbb1 31690 * kern/misc.c (memcmp): Fix prototype.
31691
31692 * include/grub/partition.h [GRUB_UTIL]
31693 (grub_gpt_partition_map_init): Add prototype.
31694 (grub_gpt_partition_map_fini): Likewise.
31695
31696 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31697 at the right place.
31698
31699 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
31700 (grub_fat_read_data): Likewise.
31701 (grub_fat_find_dir): Likewise.
31702
31703 * font/manager.c (find_glyph): Make table a const.
31704 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 31705
849d55d3 317062007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
31707
31708 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
31709 code, first search for device in /dev/mapper, then in /dev.
31710 (grub_util_get_grub_dev): New function.
31711 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
31712 prototype.
31713 * util/grub-probe.c (probe): Remove check for RAID, call
31714 grub_util_get_grub_dev() instead of
31715 grub_util_biosdisk_get_grub_dev().
31716 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
31717 grub_util_biosdisk_get_grub_dev().
31718 * util/i386/pc/grub-setup.c (main): Likewise.
31719
8fff7c2f 317202007-05-16 Robert Millan <rmh@aybabtu.com>
31721
31722 * DISTLIST: Update for the latest changes.
31723 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
31724 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
31725 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
31726 grub/util/biosdisk.h.
31727 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
31728 grub/util/biosdisk.h.
31729
48e12b52 317302007-05-16 Robert Millan <rmh@aybabtu.com>
31731
31732 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
31733
46b9d128 317342007-05-16 Robert Millan <rmh@aybabtu.com>
31735
31736 * util/i386/efi/grub-install.in: New.
31737 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
31738 newly added grub-install.
31739 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
31740 include.
31741 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
31742 grub/util/biosdisk.h.
31743 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
31744 grub/util/biosdisk.h.
31745
2d1a40a9 317462007-05-16 Robert Millan <rmh@aybabtu.com>
31747
31748 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
31749 * include/grub/util/biosdisk.h: ... here.
31750 * util/i386/pc/biosdisk.c: Moved to ...
31751 * util/biosdisk.c: ... here.
31752 * util/i386/pc/getroot.c: Moved to ...
31753 * util/getroot.c: ... here.
31754 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
31755 * util/grub-mkdevicemap.c: ... here.
31756 * util/i386/pc/grub-probe.c: Moved to ...
31757 * util/grub-probe.c: ... here.
31758
9e26e3bc 317592007-05-15 Robert Millan <rmh@aybabtu.com>
31760
31761 * util/update-grub.in: Remove duplicated line in grub.cfg header
31762 message.
31763
57f96397 317642007-05-13 Robert Millan <rmh@aybabtu.com>
31765
31766 * util/update-grub.in: Fix a few assumptions about the devices holding
31767 /, /boot and /boot/grub being the same.
31768 * util/grub.d/00_header.in: Likewise.
31769 * util/grub.d/10_hurd.in: Likewise.
31770 * util/grub.d/10_linux.in: Likewise.
31771
31772 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
31773 patterns. Use that to define the `.old' suffix as older than `'.
31774
31775 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
31776
31777 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
31778 the grub.cfg header message.
31779
2e610d62 317802007-05-11 Robert Millan <rmh@aybabtu.com>
31781
31782 * util/update-grub.in: Create device.map if it doesn't already exist,
31783 before attempting to run grub-probe.
31784 Check for grub-probe and grub-mkdevicemap with the same code
31785 grub-install is using.
31786 Remove test mode.
31787
3f6a10ef 317882007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
31789
31790 * Makefile.in: Add the datarootdir autoconf variable.
31791
02e7b75e 317922007-05-09 Robert Millan <rmh@aybabtu.com>
31793
31794 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 31795 fail gracefully if dev->disk->partition == NULL.
02e7b75e 31796
75f396cc 317972007-05-07 Robert Millan <rmh@aybabtu.com>
31798
31799 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
31800 determine partition map module.
31801 * util/i386/pc/grub-install.in: Use this feature to decide which
31802 partition module to load, instead of hardcoding pc and gpt.
31803
da65cb36 318042007-05-07 Robert Millan <rmh@aybabtu.com>
31805
31806 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
31807 source directory differs from build directory.
31808
b57d6a91 318092007-05-05 Robert Millan <rmh@aybabtu.com>
31810
31811 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
31812 initialisation.
31813
509d00f1 318142007-05-05 Robert Millan <rmh@aybabtu.com>
31815
31816 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
31817
c48f23ef 318182007-05-05 Robert Millan <rmh@aybabtu.com>
31819
31820 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
31821 command-line arguments via ${GRUB_CMDLINE_LINUX}.
31822
20b97658 318232007-05-05 Robert Millan <rmh@aybabtu.com>
31824
31825 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
31826 (grub_probe_SOURCES): Likewise.
31827 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
31828 GPT and initialize dos_part and bsd_part accordingly.
31829 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
31830 install_bsd_part.
31831 (main): Activate gpt module for use during partition identification,
31832 and deactivate it afterwards.
31833 * util/i386/pc/grub-install.in: Add gpt module to core.img.
31834 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
31835 partition identification, and deactivate it afterwards.
31836
99123174 318372007-05-05 Robert Millan <rmh@aybabtu.com>
31838
31839 * term/i386/pc/console.c (grub_console_fini): Call
31840 grub_term_set_current() before grub_term_unregister().
31841
ebd97f6e 318422007-05-04 Robert Millan <rmh@aybabtu.com>
31843
31844 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
31845 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
31846 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
31847 and update-grub_DATA.
31848 * conf/common.rmk: Build and install update-grub components.
31849 * conf/common.mk: Regenerate.
31850 * util/update-grub.in: New. Core of update-grub.
31851 * util/grub.d/00_header.in: New. Generates grub.cfg header.
31852 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
31853 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
31854 * util/grub.d/README: New. Document grub.d directory layout.
31855
b06a264d 318562007-05-01 Robert Millan <rmh@aybabtu.com>
31857
31858 * util/grub-emu.c: Move initialization functions
31859 grub_util_biosdisk_init() and grub_init_all() before
31860 grub_util_biosdisk_get_grub_dev(), which relies on them.
31861
41f0050e 318622007-04-19 Robert Millan <rmh@aybabtu.com>
31863
31864 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
31865 it is used later.
31866
04582bb3 318672007-04-18 Jerone Young <jerone@gmail.com>
31868
f19dbdb7 31869 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 31870 stanza.
31871
08db4632 318722007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 31873
08db4632 31874 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
31875 continue on and look for device node with real device name.
31876
801b76be 318772007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 31878
fe6b695a 31879 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 31880 ability.
31881 * Makefile.in: Add autoconf package transformation code.
31882 * util/i386/pc/grub-install.in: Likewise.
31883 * util/powerpc/ieee1275/grub-install.in: Likewise.
31884
6795c4e1 318852007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31886
31887 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
31888 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
31889 (EXT2_REVISION): Likewise.
31890 (EXT2_INODE_SIZE): Likewise.
31891 (struct grub_ext2_block_group): Added a missing member
31892 "used_dirs".
31893 (grub_ext2_read_inode): Divide by the inode size in a superblock
31894 instead of 128 to obtain INODES_PER_BLOCK.
31895 Use the macro EXT2_INODE_SIZE instead of directly using
31896 SBLOCK->INODE_SIZE.
31897
d70af616 318982007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31899
31900 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
31901 superblock instead of the structure size to compute an
31902 offset. This fixes the problem that GRUB could not read a
31903 filesystem when inode size is different from 128-byte.
31904
3b801603 319052007-03-05 Marco Gerards <marco@gnu.org>
31906
31907 * normal/main.c (read_config_file): When "menu" is not set, create
31908 an initial context.
31909
4785bfe4 319102007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31911
31912 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
31913 (HEAP_LIMIT): New macro.
31914 (grub_claim_heap): Claim memory up to `heaplimit'.
31915
a0cbb023 319162007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31917
31918 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
31919 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
31920 (_start): Likewise.
31921 (grub_arch_modules_addr): Return address after `_end'.
31922 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
31923 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
31924 (add_segments): Calculate `_end' from phdr size and location.
31925 (ALIGN_UP): Moved to ...
31926 * include/grub/misc.h: here.
31927 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31928 New macro.
31929 (GRUB_IEEE1275_MODULE_BASE): Removed.
31930
fd7d8eba 319312007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31932
31933 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
31934 loop boundary.
31935
9b09e6fc 319362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31937
31938 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
31939 All users updated.
31940 (grub_elf64_load_hook_t): Likewise.
31941 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
31942 debug output.
31943
3ce27299 319442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31945
31946 * kern/mm.c: Update copyright.
31947 (grub_mm_debug): Correct syntax error.
31948 (grub_mm_dump_free): New function.
31949 (grub_debug_free): Call `grub_free'.
31950 * include/grub/mm.h: Update copyright.
31951 (grub_mm_dump_free): Add declaration.
31952
077d5fee 319532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31954
31955 * include/grub/ieee1275/ieee1275.h: Update copyright.
31956 * kern/powerpc/ieee1275/init.c: Likewise.
31957 * kern/powerpc/ieee1275/openfw.c: Likewise.
31958
31959 * loader/powerpc/ieee1275/linux.c: Likewise.
31960 * include/grub/elfload.h: Likewise.
31961 * kern/elf.c: Likewise.
31962 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31963 callers.
31964 (grub_elf64_load): Likewise.
31965 (grub_elf32_load_segment): Move to a nested function.
31966 (grub_elf64_load_segment): Likewise.
31967
dc946850 319682007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31969
31970 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31971 prototype.
31972 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31973 (grub_heap_len): Likewise.
31974 (HEAP_SIZE): New macro.
31975 (grub_claim_heap): New function.
31976 (grub_machine_init): Don't claim heap directly. Call
31977 `grub_claim_heap'.
31978 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31979 (grub_available_iterate): New function.
31980
baa2a121 319812007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31982
31983 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31984 * configure.ac: Use it for testing the HOST and TARGET compilers.
31985
4fe9862e 319862006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31987
31988 * Makefile.in (enable_grub_emu): New variable.
31989 * configure.ac (--enable-grub-emu): New option.
31990 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31991 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31992 * conf/i386-pc.rmk: Likewise.
31993 * conf/powerpc-ieee1275.rmk: Likewise.
31994 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
31995
a8aa5762 319962006-12-12 Marco Gerards <marco@gnu.org>
31997
31998 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
31999
32000 * kern/env.c (grub_env_unset): Don't free the member `value' when
32001 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32002 pointer.
32003
32004 * normal/main.c (current_menu): Removed.
32005 (free_menu): Unset the `menu' environment variable.
32006 (grub_normal_menu_addentry): Make use of the environment variable
32007 `menu', instead of using the global `current_menu'. Allocate
32008 memory for the sourcecode of this entry.
32009 (read_config_file): New argument `nested', changed all callers.
32010 Only in the case of a new context, initialize a new menu. Set the
32011 `menu' environment variable.
32012 (grub_normal_execute): Don't set and unset the environment
32013 variable `menu' here anymore. Only free the menu when leaving the
32014 context.
32015
32016 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32017 leak.
32018
957b3a3e 320192006-12-11 Marco Gerards <marco@gnu.org>
32020
32021 * normal/menu_entry.c (run): Fix off by one bug so the last line
32022 is executed. Move the loader check to outside the loop.
32023
ef875714 320242006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32025
32026 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32027
4e739985 320282006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32029
32030 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32031 the number of sectors. Reported by Andrey Shuvikov
32032 <mr_hyro@yahoo.com>.
f19dbdb7 32033
790707f2 320342006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32035
32036 * kern/disk.c (grub_disk_read): When there is a read error, always
32037 try to read only the necessary data.
f19dbdb7 32038
790707f2 32039 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32040 disk/raid.c.
32041 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32042 prototype.
32043 [GRUB_UTIL] (grub_raid_fini): Likewise.
32044 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32045 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32046 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32047 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32048 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32049 and grub_raid_fini().
f19dbdb7 32050
03e58196 320512006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32052
32053 * include/grub/types.h (__unused): Rename to UNUSED.
32054 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32055 (grub_elf64_size): Likewise.
f19dbdb7 32056
ae4f23bf 320572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32058
32059 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32060 grub_error_push and grub_error_pop in the error-handling path.
32061 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32062 length.
32063
2166cc83 320642006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32065
32066 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32067 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32069 (kernel_elf_SOURCES): Likewise.
32070 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32071 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32072 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32073 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32074 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32075 (elf_mod_SOURCES): New variable.
32076 (elf_mod_CFLAGS): Likewise.
32077 (elf_mod_LDFLAGS): Likewise.
32078 * include/grub/types.h (__unused): New macro.
32079 * include/grub/elfload.h: New file.
32080 * kern/elf.c: Likewise.
32081 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32082 (ELF32_LOADMASK): New macro.
32083 (ELF64_LOADMASK): Likewise.
32084 (vmlinux): Removed.
32085 (grub_linux_load32): New function.
32086 (grub_linux_load64): Likewise.
32087 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32088 Use grub_elf_t instead of grub_file_t.
32089
a09d5aa5 320902006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32091
32092 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32093 `catch_result' to struct set_color_args.
32094
d976fc51 320952006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32096
32097 * normal/menu.c: Include grub/script.h.
32098 * normal/menu_entry.c: Likewise.
32099 * include/grub/normal.h: Do not include grub/script.h.
32100
67507549 321012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32102
32103 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32104
69203a99 321052006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32106
32107 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32108 disk.
32109 (grub_disk_close): Print debug messages when closing a disk.
32110 (grub_disk_read): Print debug messages when disk read fails.
32111 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32112 filesystem type.
32113 * kern/partition.c: Include misc.h.
32114 (grub_partition_iterate): Print debug messages when detecting
32115 partition type.
32116
e2b8278c 321172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32118
32119 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32120 is negative.
32121 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32122
97b2f2ff 321232006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32124
32125 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32126 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32127
6555d655 321282006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32129
32130 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32131 instead of sizeof(lv). Patch by Michael Guntsche.
32132
4d42b77f 321332006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32134
32135 * disk/lvm.c: Rename VGS to VG_LIST.
32136 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32137 (grub_lvm_open): Likewise.
32138 Thanks to Michael Guntsche for finding this bug.
32139
5d74d927 321402006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32141
32142 * configure.ac (AC_INIT): Bumped to 1.95.
32143
a1bb27e4 321442006-10-14 Robert Millan <rmh@aybabtu.com>
32145
32146 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32147 with "/dev/.static/dev/md".
32148
e0994b8b 321492006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32150
32151 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32152 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32153 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32154 DRIVE_NAME are always freed.
32155
32156 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32157 DOS_PART, as a DOS partition is counted from one instead of zero
32158 now. Reported by Robert Millan.
32159
ddd5cee9 321602006-10-14 Robert Millan <rmh@aybabtu.com>
32161
32162 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32163 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32164 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32165 string returned by grub_guess_root_device.
32166 * util/i386/pc/grub-setup.c: Likewise.
32167 * util/i386/pc/grub-probefs.c: Likewise.
32168
32169 * util/i386/pc/grub-probefs.c: Rename to ...
32170 * util/i386/pc/grub-probe.c: ... this.
32171 * DISTLIST: Remove grub-probefs, add grub-probe.
32172 * conf/i386-efi.rmk: Likewise.
32173 * conf/i386-pc.rmk: Likewise.
32174 * util/i386/pc/grub-install.in: Likewise.
32175
32176 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32177 choose which information we want to print.
32178
2b002173 321792006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32180
32181 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32182 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32183 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32184 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32185 video/readers/tga.c and video/i386/pc/vbeutil.c.
32186
321872006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32188
32189 Added support for RAID and LVM.
f19dbdb7 32190
2b002173 32191 * disk/lvm.c: New file.
32192 * disk/raid.c: Likewise.
32193 * include/grub/lvm.h: Likewise.
f19dbdb7 32194 * include/grub/raid.h: Likewise.
2b002173 32195 * include/grub/util/lvm.h: Likewise.
32196 * include/grub/util/raid.h: Likewise.
32197 * util/lvm.c: Likewise.
32198 * util/raid.c: Likewise.
32199
32200 * include/grub/disk.h (grub_disk_dev_id): Add
32201 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32202 (grub_disk_get_size): New prototype.
32203 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32204 returns a partition.
32205 (grub_disk_get_size): New function.
f19dbdb7 32206
2b002173 32207 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32208 verbatim if grub_install_dos_part is -2.
32209
32210 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32211 and LVM devices.
32212
32213 * util/i386/pc/grub-setup.c (setup): New argument
32214 MUST_EMBED. Force embedding of GRUB when the argument is
32215 true. Close FILE before returning.
32216 (main): Add support for RAID and LVM.
f19dbdb7 32217
2b002173 32218 * conf/common.rmk: Add RAID and LVM modules.
32219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32220 util/lvm.c.
32221 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32222
32223 * kern/misc.c (grub_strstr): New function.
32224 * include/grub/misc.h (grub_strstr): New prototype.
32225
050548d0 322262006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32227
32228 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32229
da849d2d 322302006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32231
32232 * kern/misc.c (grub_strtoull): Guess the base only if not
32233 specified.
32234
97b2f2ff 322352006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32236
32237 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32238 PowerMac support.
32239
97b2f2ff 322402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32241
32242 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32243
32244 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32245 Remove `flags' argument. All callers changed.
32246 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32247 (IEEE1275_IHANDLE_INVALID): New variable.
32248 (IEEE1275_CELL_INVALID): New variable.
32249 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32250 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32251 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32252 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32253 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32254 codes from Open Firmware. All callers updated.
32255 (grub_ieee1275_next_property): Directly return Open Firmware return
32256 code.
32257 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32258 Standardize error checking from `grub_ieee1275_get_property'.
32259 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32260 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32261
97b2f2ff 322622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32263
32264 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32265 `instance_to_package_args' to `instance_to_path_args'.
32266
32267 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32268 `grub_ieee1275_chosen'.
32269
32270 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32271 `grub_ieee1275_interpret'.
32272
97b2f2ff 322732006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32274
32275 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32276
97b2f2ff 322772006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32278
32279 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32280 (__cmpdi): Likewise.
32281
32282 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32283 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32284 `grub_ssize_t'.
32285
02bb8acc 32286 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32287
32288 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32289 to type `grub_ssize_t'.
32290 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32291
7f9a8531 322922006-09-22 Marco Gerards <marco@gnu.org>
32293
32294 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32295 newlines.
32296
b5ef1102 322972006-09-22 Marco Gerards <marco@gnu.org>
32298
32299 * commands/echo.c: New file.
32300
32301 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32302
32303 * conf/common.rmk (echo_mod_SOURCES): New variable.
32304 (echo_mod_CFLAGS): Likewise.
32305 (echo_mod_LDFLAGS): Likewise.
32306
2cff3677 323072006-09-22 Marco Gerards <marco@gnu.org>
32308
32309 * normal/main.c (get_line): Malloc memory instead of using
32310 preallocated memory. Removed the arguments `cmdline' and
32311 `max_len'. Updated all callers.
32312
6ba4688b 323132006-09-22 Marco Gerards <marco@gnu.org>
32314
32315 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32316 (normal_mod_DEPENDENCIES): Likewise.
32317
32318 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32319 (normal_mod_DEPENDENCIES): Likewise.
32320
32321 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32322
e02ac02c 323232006-09-22 Johan Rydberg <jrydberg@gnu.org>
32324
32325 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32326 programs.
32327 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32328 (normal_mod_DEPENDENCIES): Likewise.
32329 * conf/i386-pc.mk: Regenerate.
32330 * conf/i386-efi.mk: Likewise
32331 * conf/common.mk: Likewise.
32332 * conf/powerpc-ieee1275.mk: Likewise.
32333 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32334
8d252e44 323352006-09-22 Robert Millan <rmh@aybabtu.com>
32336
32337 Sync with i386 version.
32338 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32339 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32340
209bf7ac 323412006-09-21 Robert Millan <rmh@aybabtu.com>
32342
32343 Import from GRUB Legacy (lib/device.c):
32344 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32345 (init_device_map) [__linux__]: Add support for I2O devices.
32346
6b146090 323472006-09-14 Marco Gerards <marco@gnu.org>
32348
32349 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32350 `-melf_i386'.
32351
e38600a8 323522006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32353
32354 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32355 /boot/grub/*.lst.
78fa1790 32356
2952da5d 32357 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32358
2952da5d 32359 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32360 before adding it to device.map.
32361
01b82a64 323622006-08-15 Johan Rydberg <jrydberg@gnu.org>
32363
fe6b695a 32364 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32365 compiles a file; using the -MD option.
32366 * conf/common.mk: Regenerate.
32367 * conf/i386-pc.mk: Likewise.
32368 * conf/i386-efi.mk: Likewise.
32369 * conf/powerpc-ieee1275.mk: Likewise.
32370 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32371
1064790d 323722006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32373
32374 Move the prototypes of grub_setjmp and grub_longjmp to
32375 cpu/setjmp.h, so that each architecture may specify different
32376 attributes.
f19dbdb7 32377
1064790d 32378 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32379 (grub_longjmp): Likewise.
32380 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32381 (grub_longjmp): Likewise.
32382 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32383 (grub_longjmp): Likewise.
32384
32385 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32386 [!GRUB_UTIL] (grub_longjmp): Removed.
32387
29dda3ed 323882006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32389
32390 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32391 "color!" method does not return any value.
32392
ad2a06ed 323932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32394
32395 * include/grub/bitmap.h: New file.
32396
32397 * include/grub/i386/pc/vbeutil.h: Likewise.
32398
32399 * video/bitmap.c: Likewise.
32400
32401 * video/readers/tga.c: Likewise.
32402
32403 * video/i386/pc/vbeutil.c: Likewise.
32404
32405 * commands/videotest.c: Code cleanup and updated to reflect to new
32406 video API.
32407
32408 * term/gfxterm.c: Likewise.
32409
32410 * video/video.c: Likewise.
32411
32412 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32413 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32414 (bitmap_mod_SOURCES): New entry.
32415 (bitmap_mod_CFLAGS): Likewise.
32416 (bitmap_mod_LDFLAGS): Likewise.
32417 (tga_mod_SOURCES): Likewise.
32418 (tga_mod_CFLAGS): Likewise.
32419 (tga_mod_LDFLAGS): Likewise.
32420
32421 * include/grub/video.h (grub_video_blit_operators): New enum type.
32422 (grub_video_render_target): Changed as forward declaration and moved
32423 actual definition to be video driver specific.
32424 (grub_video_adapter.blit_bitmap): Added blitting operator.
32425 (grub_video_adapter.blit_render_target): Likewise.
32426 (grub_video_blit_bitmap): Likewise.
32427 (grub_video_blit_render_target): Likewise.
32428
32429 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32430 driver specific render target definition.
32431 (grub_video_vbe_map_rgba): Added driver internal helper.
32432 (grub_video_vbe_unmap_color): Updated to use
32433 grub_video_i386_vbeblit_info.
32434 (grub_video_vbe_get_video_ptr): Likewise.
32435
32436 * include/grub/i386/pc/vbeblit.h
32437 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32438 grub_video_i386_vbeblit_info.
32439 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32440 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32441 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32442 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32443 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32444 (grub_video_i386_vbeblit_index_index): Likewise.
32445 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32446 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32447 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32448 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32449 operator.
32450 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32451 operator.
32452
32453 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32454 include/grub/i386/pc/vbeblit.h.
32455
32456 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32457 Updated to use grub_video_i386_vbeblit_info.
32458 (grub_video_i386_vbefill_R8G8B8): Likewise.
32459 (grub_video_i386_vbefill_index): Likewise.
32460 (grub_video_i386_vbefill): Added generic filler.
32461
32462 * video/i386/pc/vbefill.c: Updated to reflect changes on
32463 include/grub/i386/pc/vbefill.h.
32464
32465 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32466 grub_video_i386_vbeblit_info.
32467 (grub_video_vbe_unmap_color): Likewise.
32468 (grub_video_vbe_blit_glyph): Likewise.
32469 (grub_video_vbe_scroll): Likewise.
32470 (grub_video_vbe_draw_pixel): Removed function.
32471 (grub_video_vbe_get_pixel): Likewise.
32472 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32473 updated code to use it.
32474 (common_blitter): Added common blitter for render target and bitmap.
32475 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32476 (grub_video_vbe_blit_render_target): Likewise.
32477
bc8c036d 324782006-07-30 Johan Rydberg <jrydberg@gnu.org>
32479
32480 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32481 is in text mode if there is no console control protocol instance
32482 available.
32483
684a8eff 324842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32485
32486 * include/grub/video.h: Code cleanup.
32487
32488 * include/grub/i386/pc/vbe.h: Likewise.
32489
32490 * video/i386/pc/vbe.c: Likewise.
32491
32492 * video/i386/pc/vbeblit.c: Likewise.
32493
32494 * video/i386/pc/vbefill.c: Likewise.
32495
32496 * video/video.c: Likewise. Also added more comments.
32497
5915059b 324982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32499
32500 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32501 (struct grub_biosdisk_dap): Likewise.
32502
32503 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32504 linkage settings for all functions.
32505
90ce5d56 325062006-07-12 Marco Gerards <marco@gnu.org>
32507
32508 * configure.ac (--enable-mm-debug): Fix typo.
32509
32510 * genkernsyms.sh.in: Use proper quoting for `CC'.
32511
43e7f879 325122006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32513
32514 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32515 (normal_mod_ASFLAGS): Remove "-m32".
32516
4889bdec 325172006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32518
32519 * util/misc.c: Include config.h.
32520 [!HAVE_MEMALIGN]: Do not include malloc.h.
32521 (grub_memalign): Use posix_memalign, if present. Then, use
32522 memalign, if present. Otherwise, emit an error.
32523
32524 * util/grub-emu.c: Do not include malloc.h.
32525
32526 * include/grub/util/misc.h: Include unistd.h. This is required for
32527 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32528 D. Eades III <hde@foobar-qux.org>.
32529
32530 * configure.ac (AC_GNU_SOURCE): Added.
32531 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32532 type.
32533
fd39d4da 325342006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32535
32536 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32537 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32538
b786f3b5 325392006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32540
32541 * include/grub/types.h (grub_host_addr_t): Rename to
32542 grub_target_addr_t.
32543 (grub_host_off_t): Rename to grub_target_off_t.
32544 (grub_host_size_t): Rename to grub_target_size_t.
32545 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32546 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32547
32548 * include/grub/kernel.h (struct grub_module_header): Change type
32549 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32550 (grub_module_info): Likewise.
f19dbdb7 32551
051988bb 325522006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32553
32554 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32555 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32556 Velazquez <jesus.velazquez@gmail.com>.
32557
deae281b 325582006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32559
32560 Count partitions from 1 instead of 0 in the string representation
32561 of partitions. Still use 0-based internally.
f19dbdb7 32562
deae281b 32563 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32564 (sun_partition_map_iterate): Use grub_partition_t instead of
32565 struct grub_partition *. Cast DESC->START_CYLINDER to
32566 grub_uint64_t after converting the endian.
32567 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32568 (sun_partition_map_get_name): Add 1 to P->INDEX.
32569
32570 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32571 PCDATA->DOS_PART.
32572 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32573
32574 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32575 zero instead of one.
32576 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32577 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32578
32579 * partmap/apple.c (apple_partition_map_iterate): Change the type
32580 of POS to unsigned.
32581 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32582 (apple_partition_map_get_name): Add 1 into P->INDEX.
32583
32584 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32585 of POS to unsigned.
32586 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32587 calculate the offset of a partition.
32588 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32589 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32590
32591 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32592 SECTOR to grub_disk_addr_t.
32593 (acorn_partition_map_iterate): Likewise.
32594 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32595 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32596 top.
32597 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32598
32599 * kern/i386/pc/init.c (make_install_device): Add 1 into
32600 GRUB_INSTALL_DOS_PART.
32601
32602 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32603 conditional.
32604
524a1e6a 326052006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32606
32607 Clean up the code to support 64-bit addressing in disks and
32608 files. This change is not enough for filesystems yet.
f19dbdb7 32609
524a1e6a 32610 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32611 type of "start" to grub_uint64_t.
32612 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32613 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32614 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32615 convert addresses.
32616
32617 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32618 to grub_disk_addr_t.
32619
32620 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32621 string.
32622
32623 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32624
32625 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32626 to char *.
32627
32628 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32629
32630 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32631
32632 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32633
32634 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32635 to grub_off_t, to detect an error from grub_file_seek.
32636 (grub_multiboot_load_elf32): Likewise.
32637
32638 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32639 maximum unsigned long value when an overflow is detected.
32640 (grub_strtoull): New function.
32641 (grub_divmod64): Likewise.
32642 (grub_lltoa): use grub_divmod64.
32643
32644 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32645 grub_disk_addr_t.
32646 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32647 the pointer to next character. Use grub_strtoull instead of
32648 grub_strtoul.
32649 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32650 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32651 respectively.
32652
fe6b695a 32653 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 32654 return value is signed.
32655 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32656 test if OFFSET is less than zero, as OFFSET is unsigned now.
32657
32658 * kern/disk.c (struct grub_disk_cache): Change the type of
32659 "sector" to grub_disk_addr_t.
32660 (grub_disk_cache_get_index): Change the type of SECTOR to
32661 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32662 unsigned after shifting.
32663 (grub_disk_cache_invalidate): Change the type of SECTOR to
32664 grub_disk_addr_t.
32665 (grub_disk_cache_unlock): Likewise.
32666 (grub_disk_cache_store): Likewise.
32667 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32668 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32669 grub_disk_addr_t and grub_uint64_t, respectively.
32670 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32671 body, as the value of OFFSET is tweaked by
32672 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32673 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32674 respectively.
32675 (grub_disk_write): 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 LEN and N to
32678 grub_size_t.
32679
32680 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32681 and "saved_offset" to grub_off_t.
32682 (test_header): Cast BUF to char *.
32683 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32684 to char *.
32685 (grub_gzio_read): Change the types of OFFSET and SIZE to
32686 grub_off_t and grub_size_t, respectively.
32687
32688 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32689 Removed.
32690 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32691 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32692 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32693 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32694 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32695
32696 * include/grub/types.h (grub_off_t): Unconditionally set to
32697 grub_uint64_t.
32698 (grub_disk_addr_t): Changed to grub_uint64_t.
32699
32700 * include/grub/partition.h (struct grub_partition): Change the
32701 types of "start", "len" and "offset" to grub_disk_addr_t,
32702 grub_uint64_t and grub_disk_addr_t, respectively.
32703 (grub_partition_get_start): Return grub_disk_addr_t.
32704 (grub_partition_get_len): Return grub_uint64_t.
32705
32706 * include/grub/misc.h (grub_strtoull): New prototype.
32707 (grub_divmod64): Likewise.
32708
32709 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
32710 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
32711 grub_off_t, respectively.
32712 All callers and references changed.
32713
32714 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
32715 grub_size_t in "read".
32716 All callers and references changed.
32717
32718 * include/grub/file.h (struct grub_file): Change the types of
32719 "offset" and "size" to grub_off_t and grub_off_t,
32720 respectively. Change the type of SECTOR to grub_disk_addr_t in
32721 "read_hook".
32722 (grub_file_read): Change the type of LEN to grub_size_t.
32723 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
32724 grub_off_t.
32725 (grub_file_size): Return grub_off_t.
32726 (grub_file_tell): Likewise.
32727 All callers and references changed.
32728
32729 * include/grub/disk.h (struct grub_disk_dev): Change the types of
32730 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
32731 "write".
32732 (struct grub_disk): Change the type of "total_sectors" to
32733 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 32734 "read_hook".
524a1e6a 32735 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
32736 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
32737 (grub_disk_write): Likewise.
32738 All callers and references changed.
32739
32740 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
32741 char * for grub_strncmp to silence gcc.
32742 (grub_iso9660_mount): Likewise.
32743 (grub_iso9660_mount): Likewise.
32744 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
32745 return statement.
32746 (grub_iso9660_iterate_dir): Likewise.
32747 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
32748
32749 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
32750 LEN to grub_disk_addr_t and grub_size_t, respectively.
32751
32752 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32753
32754 * fs/jfs.c (grub_jfs_read_file): Likewise.
32755
32756 * fs/minix.c (grub_jfs_read_file): Likewise.
32757
32758 * fs/sfs.c (grub_jfs_read_file): Likewise.
32759
32760 * fs/ufs.c (grub_jfs_read_file): Likewise.
32761
32762 * fs/xfs.c (grub_jfs_read_file): Likewise.
32763
32764 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
32765 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
32766 respectively.
32767
32768 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
32769 BLKNR to -1 instead of returning GRUB_ERRNO.
32770 (grub_ext2_read_file): Change the types of SECTOR and
32771 LEN to grub_disk_addr_t and grub_size_t, respectively.
32772
32773 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
32774 LEN to grub_disk_addr_t and grub_size_t, respectively.
32775
32776 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
32777 grub_file_read.
32778
32779 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
32780 string. Do not cast SECTOR explicitly.
32781
32782 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
32783 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
32784 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
32785 grub_disk_addr_t and grub_size_t, respectively. If the sector is
32786 over 2TB and LBA mode is not supported, raise an error.
32787 (get_safe_sectors): New function.
32788 (grub_biosdisk_read): Use get_safe_sectors.
32789 (grub_biosdisk_write): Likewise.
32790
32791 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
32792 (grub_efidisk_write): Likewise.
32793
32794 * disk/loopback.c (delete_loopback): Cosmetic changes.
32795 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
32796 correctly.
32797 (grub_loopback_open): Likewise.
32798 (grub_loopback_read): Likewise. Also, change the type of POS to
32799 grub_off_t, and fix the usage of grub_memset.
32800
32801 * commands/i386/pc/play.c: Include grub/machine/time.h.
32802
32803 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
32804 print FILE->SIZE.
32805
32806 * commands/configfile.c: Include grub/env.h.
32807
32808 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
32809 GRUB_ERRNO directly instead. Change the type of POS to
32810 grub_off_t. Follow the coding standard.
32811
32812 * commands/blocklist.c: Include grub/partition.h.
32813 (grub_cmd_blocklist): Return an error if the underlying device is
32814 not a disk. Take the starting sector of a partition into account,
32815 if a partition is used.
32816
32817 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
32818 a length field.
32819 (lba_mode): Support 64-bit addresses.
32820 (chs_mode): Likewise.
32821 (copy_buffer): Adapted to the new offsets of a length field and a
32822 segment field.
32823 (blocklist_default_start): Allocate 64-bit space.
32824
32825 * boot/i386/pc/boot.S (force_lba): Removed.
32826 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 32827 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 32828 space.
32829 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
32830 is useless.
32831 (lba_mode): Refactored to support a 64-bit address. More size
32832 optimization.
32833 (setup_sectors): Likewise.
32834
53af98ad 328352006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32836
32837 * DISTLIST: Added include/grub/i386/linux.h. Removed
32838 include/grub/i386/pc/linux.h
32839
32840 * configure.ac (AC_INIT): Bumped to 1.94.
32841
32842 * config.guess: Updated from gnulib.
32843 * config.sub: Likewise.
32844 * install-sh: Likewise.
32845 * mkinstalldirs: Likewise.
32846
b4c1940a 328472006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32848
32849 * conf/common.rmk (grub_modules_init.lst): Depended on
32850 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
32851 MODSRCFILES.
32852
32853 * genmk.rb (PModule::rule): Reverted the previous change.
32854
cfca1cfd 328552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32856
32857 * conf/common.rmk (grub_modules_init.lst): Depends on
32858 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
32859 that the target does not exist before producing.
32860 (grub_modules_init.h): Remove the target before generating.
32861 (grub_emu_init.c): Likewise.
32862
32863 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
32864
aa6d7826 328652006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
32866
32867 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
32868 for the target-specific tests. Make sure that we also have the
32869 up-to-date target variables for those tests.
32870
26c607b9 328712006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32872
32873 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
32874 (PModule::rule): Likewise.
32875
0162321a 328762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32877
32878 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
32879 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
32880 target-specific flags should be prefixed.
32881 (PModule::rule): Likewise.
32882
6c826348 328832006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
32884
32885 * configure.ac (CMP): Check if cmp is available explicitly.
32886
b977bf01 328872006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
32888
32889 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
32890 (target_cpu): New variable.
32891 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 32892
b977bf01 32893 * util/i386/pc/grub-install.in (host_cpu): Removed.
32894 (target_cpu): New variable.
32895 (pkglibdir): Use target_cpu instead of host_cpu.
32896
32897 * util/genmoddep.c: Removed.
f19dbdb7 32898
b977bf01 32899 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
32900 instead of GRUB_HOST_SIZEOF_VOID_P.
32901 * kern/dl.c: Likewise.
32902
32903 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
32904 ...
32905 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32906 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32907 (GRUB_TARGET_SIZEOF_LONG): ... this.
32908 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32909 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32910 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32911 to ...
32912 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32913 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32914 (GRUB_TARGET_SIZEOF_LONG): ... this.
32915 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32916 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32917 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32918 to ...
32919 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32920 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32921 (GRUB_TARGET_SIZEOF_LONG): ... this.
32922 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32923 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32924
32925 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
32926 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
32927 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
32928 instead of GRUB_HOST_SIZEOF_LONG.
32929 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
32930 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
32931 GRUB_CPU_WORDS_BIGENDIAN.
32932 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
32933 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
32934 grub_host_ssize_t.
32935
32936 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
32937 (genmoddep_SOURCES): Likewise.
32938 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
32939 (genmoddep_SOURCES): Likewise.
32940 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
32941 (genmoddep_SOURCES): Likewise.
32942 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
32943 Likewise.
32944 (genmoddep_SOURCES): Likewise.
32945
32946 * genmoddep.awk: New file.
32947
32948 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32949 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32950 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32951 (PModule::rule): Likewise.
32952 (Program::rule): Likewise.
32953 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32954 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32955 respectively.
32956
32957 * configure.ac: Rewritten intensively to use host and target
32958 instead of build and host, respectively.
32959
32960 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32961 (host_cpu): Removed.
32962 (target_cpu): New variable.
32963 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32964 (BUILD_CC): Removed.
32965 (BUILD_CFLAGS): Likewise.
32966 (BUILD_CPPFLAGS): Likewise.
32967 (TARGET_CC): New variable.
32968 (TARGET_CFLAGS): Likewise.
32969 (TARGET_CPPFLAGS): Likewise.
32970 (TARGET_LDFLAGS): Likewise.
32971 (AWK): Likewise.
32972 (include): Use target_cpu instead of host_cpu.
32973 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 32974
b977bf01 32975 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32976
f09771a1 329772006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32978
32979 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32980 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32981 field 'false' to 'exec_on_false'.
32982 (grub_script_create_cmdif): Renamed argument names to reflect above
32983 changes.
32984
32985 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32986
32987 * normal/script.c (grub_script_create_cmdif): Likewise.
32988
118f4fb3 329892006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32990
32991 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32992 top.
32993 (grub_hfsplus_btree_recptr): Likewise.
32994 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
32995 FILEBLOCK both to pass a block number and store next block
32996 number.
32997 (grub_hfsplus_read_block): Rewritten heavily to support an extent
32998 overflow file correctly. Specify errors appropriately, because
32999 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33000 grub_hfsplus_btree_recptr to get the pointer to a found key.
33001 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33002 is found.
33003
33004 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33005 linux.mod.
33006 (_linux_mod_SOURCES): New variable.
33007 (_linux_mod_CFLAGS): Likewise.
33008 (_linux_mod_LDFLAGS): Likewise.
33009 (linux_mod_SOURCES): Likewise.
33010 (linux_mod_CFLAGS): Likewise.
33011 (linux_mod_LDFLAGS): Likewise.
33012
33013 * DISTLIST: Added loader/i386/efi/linux.c,
33014 loader/i386/efi/linux_normal.c and
33015 include/grub/i386/efi/loader.h.
33016
33017 * loader/i386/efi/linux.c: New file.
33018 * loader/i386/efi/linux_normal.c: Likewise.
33019 * include/grub/i386/efi/loader.h: Likewise.
33020
89a7d726 330212006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33022
33023 * commands/blocklist.c: New file.
33024
33025 * DISTLIST: Added commands/blocklist.c.
33026
33027 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33028 color for the background, and a darker color for the foreground.
89a7d726 33029 (grub_console_checkkey): Return READ_KEY.
33030 (grub_console_cls): Set the background to
33031 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33032
33033 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33034
33035 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33036 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33037
33038 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33039 prototype.
33040
33041 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33042 BG. The spec is wrong again.
33043
33044 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33045 prototype.
33046 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33047
33048 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33049 commands/blocklist.c.
33050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33051
89a7d726 33052 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33053 (blocklist_mod_SOURCES): New variable.
33054 (blocklist_mod_CFLAGS): Likewise.
33055 (blocklist_mod_LDFLAGS): Likewise.
33056
75c8f258 330572006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33058
33059 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33060 duplication.
33061 (lba_mode): Use %eax more intensively to reduce the code size.
33062
da2eb181 330632006-05-20 Marco Gerards <marco@gnu.org>
33064
33065 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33066
33067 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33068 for `menuentry'.
33069 (script): Accept leading newlines.
33070 (newlines): New rule to describe 0 or more newlines.
33071 (commands): Accept `command' with trailing newline. Fixed the
33072 order in which arguments were passed to `grub_script_add_cmd'.
33073 Accept commands separated by newlines.
33074 (function): Changed to accept newlines.
33075 (menuentry) Rewritten.
33076
33077 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33078 front of the list, instead of to the end.
33079
577b4050 330802006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33081
33082 * util/i386/pc/grub-install.in (bindir): New variable.
33083 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33084 Shaver <lbgwjl@gmail.com>.
33085
0d6e1189 330862006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33087
33088 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33089 grub/machine/linux.h
33090 * loader/i386/pc/linux.c: Likewise.
33091
33092 * include/grub/i386/pc/linux.h: Moved to ...
33093 * include/grub/i386/linux.h: ... here.
33094
33095 * include/grub/i386/linux.h (struct linux_kernel_params): New
33096 struct.
f19dbdb7 33097
31b86e9f 330982006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33099
33100 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33101 checking.
33102 (grub_video_vbe_blit_glyph): Likewise.
33103 (grub_video_vbe_blit_bitmap): Likewise.
33104 (grub_video_vbe_blit_render_target): Likewise.
33105
83b984de 331062006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33107
33108 * configure.ac (--with-platform): Properly quote the square
33109 brackets.
33110
5f0413bd 331112006-05-08 Marco Gerards <marco@gnu.org>
33112
33113 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33114 this...
33115 (kernel_elf_HEADERS): ...to this. Updated all users.
33116 (grubof_symlist.c): Renamed from this...
33117 (kernel_elf_symlist.c): ...to this. Updated all users.
33118 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33119 (grubof_SOURCES): Renamed from this...
33120 (kernel_elf_SOURCES): ...to this.
33121 (grubof_HEADERS): Renamed from this...
33122 (kernel_elf_HEADERS): ...to this.
33123 (grubof_CFLAGS): Renamed from this...
33124 (kernel_elf_CFLAGS): ...to this.
33125 (grubof_ASFLAGS): Renamed from this...
33126 (kernel_elf_ASFLAGS): ...to this.
33127 (grubof_LDFLAGS): Renamed from this...
33128 (kernel_elf_LDFLAGS): ...to this.
33129
33130 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33131 this...
33132 (kernel_elf_HEADERS): ...to this. Updated all users.
33133 (grubof_symlist.c): Renamed from this...
33134 (kernel_elf_symlist.c): ...to this. Updated all users.
33135 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33136 (grubof_SOURCES): Renamed from this...
33137 (kernel_elf_SOURCES): ...to this.
33138 (grubof_HEADERS): Renamed from this...
33139 (kernel_elf_HEADERS): ...to this.
33140 (grubof_CFLAGS): Renamed from this...
33141 (kernel_elf_CFLAGS): ...to this.
33142 (grubof_ASFLAGS): Renamed from this...
33143 (kernel_elf_ASFLAGS): ...to this.
33144 (grubof_LDFLAGS): Renamed from this...
33145 (kernel_elf_LDFLAGS): ...to this.
33146
33147 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33148 `kernel.elf' instead of `grubof'.
33149
05568c2e 331502006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33151
33152 Add --with-platform to configure. Use pkglibdir instead of
33153 pkgdatadir. This is reported by Roger Leigh.
33154
33155 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33156 (host_vendor): Likewise.
33157 (host_os): Likewise.
33158 (pkgdatadir): Likewise.
33159 (platform): New variable.
33160 (pkglibdir): Likewise.
33161 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33162
05568c2e 33163 * util/i386/pc/grub-install.in (datadir): Removed.
33164 (host_vendor): Likewise.
33165 (host_os): Likewise.
33166 (pkgdatadir): Likewise.
33167 (platform): New variable.
33168 (pkglibdir): Likewise.
33169 Use PKGLIBDIR instead of PKGDATADIR.
33170
33171 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33172 instead of GRUB_DATADIR.
33173 (main): Likewise.
33174 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33175 (main): Likewise.
33176 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33177 (main): Likewise.
33178
33179 * configure.ac (--with-platform): New option.
33180 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33181
33182 * Makefile.in: Include a makefile based on PLATFORM instead of
33183 HOST_VENDOR.
33184 (pkgdatadir): Not appended by the machine type.
33185 (pkglibdir): Appended by the machine type.
33186 (host_vendor): Removed.
33187 (platform): New variable.
33188 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33189 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33190 (uninstall): Likewise.
33191
4e93851c 331922006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33193
33194 Use the environment context in the menu. Remove the commands
33195 "default" and "timeout", and use variables instead.
f19dbdb7 33196
4e93851c 33197 * normal/menu.c: Include grub/env.h.
33198 (print_entry): Cast TITLE to silence gcc.
33199 (get_timeout): New function.
33200 (set_timeout): Likewise.
33201 (get_entry_number): Likewise.
33202 (run_menu): Use a default entry, a fallback entry and a timeout
33203 in the environment variables "default", "fallback" and
33204 "timeout". Also, tweak the default entry if it is not within the
33205 current menu entries.
33206 (grub_menu_run): Use a fallback entry in the environment variable
33207 "fallback".
33208
33209 * normal/main.c (read_config_file): Do not initialize
33210 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33211 NEWMENU->TIMEOUT.
33212 (grub_normal_execute): Use a data slot to store the menu.
33213
33214 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33215 fallback_entry and timeout.
33216 (struct grub_menu_list): Removed.
33217 (grub_menu_list_t): Likewise.
33218 (struct grub_context): Likewise.
33219 (grub_context_t): Likewise.
33220 (grub_context_get): Likewise.
33221 (grub_context_get_current_menu): Likewise.
33222 (grub_context_push_menu): Likewise.
33223 (grub_context_pop_menu): Likewise.
33224 (grub_default_init): Likewise.
33225 (grub_default_fini): Likewise.
33226 (grub_timeout_init): Likewise.
33227 (grub_timeout_fini): Likewise.
33228
33229 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33230 and timeout.mod.
33231 (normal_mod_SOURCES): Removed normal/context.c.
33232
33233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33234 commands/default.c, commands/timeout.c and normal/context.c.
33235 (normal_mod_SOURCES): Removed normal/context.c.
33236
33237 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33238 commands/timeout.c and normal/context.c.
33239 (normal_mod_SOURCES): Removed normal/context.c.
33240
33241 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33242 commands/default.c, commands/timeout.c and normal/context.c.
33243 (normal_mod_SOURCES): Removed normal/context.c.
33244
33245 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33246 timeout.mod.
33247 (default_mod_SOURCES): Removed.
33248 (default_mod_CFLAGS): Likewise.
33249 (default_mod_LDFLAGS): Likewise.
33250 (timeout_mod_SOURCES): Removed.
33251 (timeout_mod_CFLAGS): Likewise.
33252 (timeout_mod_LDFLAGS): Likewise.
33253
33254 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33255 normal/context.c.
33256
33257 * commands/default.c: Removed.
33258 * commands/timeout.c: Likewise.
33259 * normal/context.c: Likewise.
33260
1eb9cc1d 332612006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33262
33263 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33264
385bd9c1 332652006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33266
33267 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33268 "next" to "prev" for readability.
33269 (struct grub_env_sorted_var): New struct.
33270 (grub_env_context): Renamed to ...
33271 (initial_context): ... this.
33272 (grub_env_var_context): Renamed to ...
33273 (current_context): ... this.
33274 (grub_env_find): Look only at CURRENT_CONTEXT.
33275 (grub_env_context_open): Rewritten to copy exported variables from
33276 previous context.
33277 (grub_env_context_close): Rewritten according to the new
33278 scheme. Also, add an assertion to prevent the initial context from
33279 removed.
33280 (grub_env_insert): Removed the code for the sorted list.
33281 (grub_env_remove): Likewise.
33282 (grub_env_export): Simply mark the variable with
33283 GRUB_ENV_VAR_GLOBAL.
33284 (grub_env_set): A cosmetic change for naming consistency.
33285 (grub_env_get): Likewise.
33286 (grub_env_unset): Likewise.
33287 (grub_env_iterate): Rewritten to sort variables within this
33288 function.
33289 (grub_register_variable_hook): Fixed for naming consistency. Call
33290 grub_env_find again, only if NAME is not found at the first time.
33291 (mangle_data_slot_name): New function.
33292 (grub_env_set_data_slot): Likewise.
33293 (grub_env_get_data_slot): Likewise.
33294 (grub_env_unset_data_slot): Likewise.
33295
33296 * include/grub/env.h (grub_env_var_type): New enum.
33297 (GRUB_ENV_VAR_LOCAL): New constant.
33298 (GRUB_ENV_VAR_GLOBAL): Likewise.
33299 (GRUB_ENV_VAR_DATA): Likewise.
33300 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33301 "type".
33302 (grub_env_set): Replace VAR with NAME for consistency.
33303 (grub_register_variable_hook): Likewise.
33304 (grub_env_export): Specify the name of the argument.
33305 (grub_env_set_data_slot): New prototype.
33306 (grub_env_get_data_slot): Likewise.
33307 (grub_env_unset_data_slot): Likewise.
33308
7f362539 333092006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33310
33311 Extend the loader so that GRUB can accept a loader which comes
33312 back to GRUB when a loaded image exits. Also, this change adds
33313 support for a chainloader on EFI.
f19dbdb7 33314
7f362539 33315 * term/efi/console.c: Include grub/misc.h.
33316 (grub_console_checkkey): Display a scan code on the top for
33317 debugging. This will be removed once the EFI port gets stable.
33318 Correct the scan code mapping.
33319
33320 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33321 allocate memory from larger regions, in order to reduce the number
33322 of allocated regions. Otherwise, the MacOSX loader panics.
33323 (filter_memory_map): Avoid less than 1MB for compatibility with
33324 other loaders.
33325 (add_memory_regions): Allocate from the tail of a region, if
33326 possible, to avoid allocating a region near to 1MB, for the MacOSX
33327 loader.
33328
33329 * kern/efi/init.c (grub_efi_set_prefix): Specify
33330 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33331
33332 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33333 argument IMAGE_HANDLE and specify it to get a loaded image.
33334 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33335 grub_efi_get_loaded_image.
fe6b695a 33336 (grub_efi_get_filename): Divide the length by the size of
7f362539 33337 grub_efi_char16_t.
33338 (grub_efi_get_device_path): New function.
33339 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33340 the length by the size of grub_efi_char16_t for a file path device
33341 path node.
33342
33343 * kern/loader.c (grub_loader_noreturn): New variable.
33344 (grub_loader_set): Accept a new argument NORETURN. Set
33345 GRUB_LOADER_NORETURN to NORETURN.
33346 All callers changed.
33347 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33348 grub_machine_fini.
33349
33350 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33351 prototype.
33352 (grub_efi_get_loaded_image): Take an argument to specify an image
33353 handle.
33354
33355 * include/grub/loader.h (grub_loader_set): Added one more argument
33356 NORETURN.
33357
33358 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33359 instead of grub_efi_open_protocol.
33360 (grub_efidisk_get_device_name): Likewise.
33361 (grub_efidisk_close): Print a newline.
33362 (grub_efidisk_get_device_handle): Fixed to use
33363 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33364 GRUB_EFI_DEVICE_PATH_TYPE.
33365
33366 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33367 * kern/efi/efi.c (device_path_guid): ... here.
33368
33369 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33370 chain.mod.
33371 (kernel_mod_HEADERS): Added efi/disk.h.
33372 (_chain_mod_SOURCES): New variable.
33373 (_chain_mod_CFLAGS): Likewise.
33374 (_chain_mod_LDFLAGS): Likewise.
33375 (chain_mod_SOURCES): Likewise.
33376 (chain_mod_CFLAGS): Likewise.
33377 (chain_mod_LDFLAGS): Likewise.
33378
33379 * DISTLIST: Added include/grub/efi/chainloader.h,
33380 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33381
33382 * include/grub/efi/chainloader.h: New file.
33383 * loader/efi/chainloader.c: Likewise.
33384 * loader/efi/chainloader_normal.c: Likewise.
33385
c0111d6e 333862006-04-30 Marco Gerards <marco@gnu.org>
33387
33388 * commands/configfile.c (grub_cmd_source): New function.
33389 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33390 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33391
df5341da 333922006-04-30 Marco Gerards <marco@gnu.org>
33393
33394 * normal/execute.c (grub_script_execute_cmd): Change the return
33395 type to `grub_err_t'. Correctly return the error.
33396 (grub_script_execute_cmdline): In case a command line is not a
33397 command or a function, try to interpret it as an assignment.
33398
f85934bd 333992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33400
33401 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33402 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33403 skip a node whose name is obviously invalid as UTF-16,
33404 i.e. contains a NUL character. Stop the iteration when the last
33405 directory entry is found. Instead of using the return value of
33406 grub_hfsplus_btree_iterate_node, store the value in RET and use
33407 it, because the iterator can be stopped by the last directory
33408 entry.
33409
8f8a2cf8 334102006-04-30 Marco Gerards <marco@gnu.org>
33411
33412 * include/grub/env.h (grub_env_export): New prototype. Reported
33413 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33414
a27e84ce 334152006-04-30 Marco Gerards <marco@gnu.org>
33416
33417 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33418 size of the extents in a catalog file record.
33419
eaef0553 334202006-04-29 Marco Gerards <marco@gnu.org>
33421
33422 * commands/configfile.c (grub_cmd_configfile): Execute the
33423 configfile within its own context.
33424
33425 * include/grub/env.h (grub_env_context_open): New prototype.
33426 (grub_env_context_close): Likewise.
33427
33428 * kern/env.c (grub_env): Removed.
33429 (grub_env_sorted): Likewise.
33430 (grub_env_context): New variable.
33431 (grub_env_var_context): Likewise.
33432 (grub_env_find): Search both the active context and the global
33433 context.
33434 (grub_env_context_open): New function.
33435 (grub_env_context_close): Likewise.
33436 (grub_env_insert): Likewise.
33437 (grub_env_remove): Likewise.
33438 (grub_env_export): Likewise.
33439 (grub_env_set): Changed to use helper functions to avoid code
33440 duplication.
33441 (grub_env_iterate): Rewritten so both the current context and the
33442 global context are being used.
33443
33444 * normal/command.c (export_command): New function.
33445 (grub_command_init): Register the `export' function.
33446
7b455f4d 334472006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33448
33449 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33450 explicitly to suppress gcc's warnings.
33451 * fs/fat.c (grub_fat_find_dir): Likewise.
33452 (grub_fat_label): Likewise.
33453 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33454 (grub_xfs_mount): Likewise.
33455 (grub_xfs_label): Likewise.
33456 * fs/affs.c (grub_affs_mount): Likewise.
33457 (grub_affs_label): Likewise.
33458 (grub_affs_iterate_dir): Likewise.
33459 * fs/sfs.c (grub_sfs_mount): Likewise.
33460 (grub_sfs_iterate_dir): Likewise.
33461 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33462 * fs/hfs.c (grub_hfs_mount): Likewise.
33463 (grub_hfs_cmp_catkeys): Likewise.
33464 (grub_hfs_find_dir): Likewise.
33465 (grub_hfs_dir): Likewise.
33466 (grub_hfs_label): Likewise.
33467 * fs/jfs.c (grub_jfs_mount): Likewise.
33468 (grub_jfs_opendir): Likewise.
33469 (grub_jfs_getent): Likewise.
33470 (grub_jfs_lookup_symlink): Likewise.
33471 (grub_jfs_label): Likewise.
33472 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33473 (grub_hfsplus_iterate_dir): Likewise.
33474 (grub_hfsplus_btree_iterate_node): Made static.
33475
33476 * util/grub-emu.c (prefix): New variable.
33477 (grub_machine_set_prefix): New function.
33478 (main): Do not set the environment variable "prefix" here. Only
33479 set PREFIX, which is used later by grub_machine_set_prefix.
33480
33481 * include/grub/video.h: Do not include grub/symbol.h.
33482 (grub_video_register): Not exported. This symbol is not defined in
33483 the kernel.
33484 (grub_video_unregister): Likewise.
33485 (grub_video_iterate): Likewise.
33486 (grub_video_setup): Likewise.
33487 (grub_video_restore): Likewise.
33488 (grub_video_get_info): Likewise.
33489 (grub_video_get_blit_format): Likewise.
33490 (grub_video_set_palette): Likewise.
33491 (grub_video_get_palette): Likewise.
33492 (grub_video_set_viewport): Likewise.
33493 (grub_video_get_viewport): Likewise.
33494 (grub_video_map_color): Likewise.
33495 (grub_video_map_rgb): Likewise.
33496 (grub_video_map_rgba): Likewise.
33497 (grub_video_fill_rect): Likewise.
33498 (grub_video_blit_glyph): Likewise.
33499 (grub_video_blit_bitmap): Likewise.
33500 (grub_video_blit_render_target): Likewise.
33501 (grub_video_scroll): Likewise.
33502 (grub_video_swap_buffers): Likewise.
33503 (grub_video_create_render_target): Likewise.
33504 (grub_video_delete_render_target): Likewise.
33505 (grub_video_set_active_render_target): Likewise.
33506
33507 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33508 Undefined.
33509 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33510
33511 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33512 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33513 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33514 instead of $(srcdir)/genkernsyms.sh.
33515
33516 * conf/powerpc-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/i386-pc.rmk (symlist.c): Depended on config.h. Use
33522 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-efi.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 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33532 genkernsyms.sh.
33533
33534 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33535 genkernsyms.sh.
33536 (gensymlist.sh): New target.
33537 (genkernsyms.sh): Likewise.
33538
33539 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33540 genkernsyms.sh.in and gensymlist.sh.in.
33541
33542 * genkernsyms.sh: Removed.
33543 * gensymlist.sh: Likewise.
f19dbdb7 33544
7b455f4d 33545 * genkernsyms.sh.in: New file.
33546 * gensymlist.sh.in: Likewise.
33547
1885bb27 335482006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33549
33550 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33551 clobber "prefix", since we may have already set it manually.
33552
71538dff 335532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33554
33555 * kern/misc.c (abort): New alias for grub_abort.
33556
2965c7cc 335572006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33558
33559 A new machine-specific function "grub_machine_set_prefix" is
33560 defined. This is called after loading modules, so that a prefix
33561 initialization can use modules. Also, this change adds an
33562 intensive debugging feature for the memory manager via the
33563 configure option "--enable-mm-debug".
f19dbdb7 33564
2965c7cc 33565 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33566 PART.LEN.
33567
33568 * kern/sparc64/ieee1275/init.c (abort): Removed.
33569 (grub_stop): Likewise.
33570 (grub_exit): New function.
33571 (grub_set_prefix): Renamed to ...
33572 (grub_machine_set_prefix): ... this.
33573 (grub_machine_init): Do not call grub_set_prefix.
33574
33575 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33576 (grub_machine_set_prefix): ... this.
33577 (grub_machine_init): Do not call grub_set_prefix.
33578
33579 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33580 (grub_machine_init): Do not set the prefix here.
33581
33582 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33583
33584 * kern/efi/init.c: Include grub/mm.h.
33585 (grub_efi_set_prefix): New function.
33586
33587 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33588 (grub_efi_get_filename): New function.
33589 (grub_print_device_path): Renamed to ...
33590 (grub_efi_print_device_path): ... this.
33591
33592 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33593 [MM_DEBUG] (grub_realloc): Likewise.
33594 [MM_DEBUG] (grub_free): Likewise.
33595 [MM_DEBUG] (grub_memalign): Likewise.
33596 [MM_DEBUG] (grub_mm_debug): New variable.
33597 [MM_DEBUG] (grub_debug_malloc): New function.
33598 [MM_DEBUG] (grub_debug_free): New function.
33599 [MM_DEBUG] (grub_debug_realloc): New function.
33600 [MM_DEBUG] (grub_debug_memalign): New function.
33601
33602 * kern/misc.c (grub_abort): Print a newline to distinguish
33603 the message.
33604
33605 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33606 grub_set_root_dev after loading modules. This is necessary when
33607 setting a prefix depends on modules.
33608
33609 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33610 (grub_efi_print_device_path): ... this.
33611 (grub_efi_get_filename): New prototype.
33612 (grub_efi_set_prefix): Likewise.
33613
33614 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33615 and grub/disk.h.
33616 (grub_efidisk_get_device_handle): New prototype.
33617 (grub_efidisk_get_device_name): Likewise.
33618
33619 * include/grub/mm.h: Include config.h.
33620 (MM_DEBUG): Removed.
33621 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33622 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33623 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33624 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33625 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33626 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33627 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33628 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33629 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33630
33631 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33632
33633 * disk/efi/efidisk.c: Include grub/partition.h.
33634 (iterate_child_devices): New function.
33635 (add_device): First, compare only last device path nodes, so that
33636 devices are sorted by the types.
33637 (grub_efidisk_get_device_handle): New function.
33638 (grub_efidisk_get_device_name): Likewise.
33639
33640 * configure.ac (--enable-mm-debug): New option to enable the
33641 memory manager debugging feature. This makes the binary much
33642 bigger, so is disabled by default.
33643
9cacaa17 336442006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33645
33646 Use grub_abort instead of grub_stop, and grub_exit must be
33647 define in each architecture now. Also, this change adds support
33648 for EFI disks.
f19dbdb7 33649
9cacaa17 33650 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33651 (grub_getkey): New function.
33652 (grub_term_get_current): Likewise.
33653
33654 * util/i386/pc/grub-setup.c: Include grub/term.h.
33655 (grub_getkey): New function.
33656 (grub_term_get_current): Likewise.
33657
33658 * util/misc.c (grub_stop): Renamed to ...
33659 (grub_exit): ... this.
33660
33661 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33662 (grub_exit): ... this.
33663 (grub_machine_init): Use grub_abort instead of abort.
33664 (grub_stop): Removed.
33665
33666 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33667 abort.
33668
33669 * kern/i386/pc/startup.S (grub_exit): New function.
33670 (cold_reboot): New label.
33671
33672 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33673 (grub_efi_init): Call grub_efidisk_init.
33674 (grub_efi_fini): Call grub_efidisk_fini.
33675
33676 * kern/efi/efi.c: Include grub/mm.h.
33677 (grub_efi_console_control_guid): Renamed to ...
33678 (console_control_guid): ... this.
33679 (grub_efi_loaded_image_guid): Renamed to ...
33680 (loaded_image_guid): ... this.
33681 (grub_efi_locate_handle): New function.
33682 (grub_efi_open_protocol): Likewise.
33683 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33684 GRUB_EFI_CONSOLE_CONTROL_GUID.
33685 (grub_efi_exit): Removed.
33686 (grub_stop): Likewise.
33687 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33688 (grub_exit): New function.
33689 (grub_print_device_path): Likewise.
33690
33691 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33692 (grub_enter_rescue_mode): Register "exit".
33693
33694 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33695 (grub_abort): New function.
33696
33697 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33698
33699 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
33700
33701 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
33702
33703 * include/grub/efi/efi.h (grub_efi_exit): Removed.
33704 (grub_print_device_path): New prototype.
33705 (grub_efi_locate_handle): Likewise.
33706 (grub_efi_open_protocol): Likewise.
33707
33708 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
33709 * disk/efi/efidisk.c: Likewise.
33710
33711 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
33712
33713 * include/grub/efi/console_control.h
33714 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
33715
33716 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
33717 last 8 bytes as an array.
33718 (GRUB_EFI_DISK_IO_GUID): New macro.
33719 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
33720 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
33721 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
33722 grub_uint8_t.
33723 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
33724 (struct grub_efi_device_path): Rename the member "sub_type" to
33725 "subtype".
33726 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
33727 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
33728 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
33729 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
33730 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
33731 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
33732 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
33733 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
33734 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
33735 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
33736 (struct grub_efi_pci_device_path): New structure.
33737 (grub_efi_pci_device_path_t): New type.
33738 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
33739 (struct grub_efi_pccard_device_path): New structure.
33740 (grub_efi_pccard_device_path_t): New type.
33741 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
33742 (struct grub_efi_memory_mapped_device_path): New structure.
33743 (grub_efi_memory_mapped_device_path_t): New type.
33744 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
33745 (struct grub_efi_vendor_device_path): New structure.
33746 (grub_efi_vendor_device_path_t): New type.
33747 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
33748 (struct grub_efi_controller_device_path): New structure.
33749 (grub_efi_controller_device_path_t): New type.
33750 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
33751 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
33752 (struct grub_efi_acpi_device_path): New structure.
33753 (grub_efi_acpi_device_path_t): New type.
33754 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
33755 (struct grub_efi_expanded_acpi_device_path): New structure.
33756 (grub_efi_expanded_acpi_device_path_t): New type.
33757 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
33758 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
33759 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
33760 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
33761 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
33762 (struct grub_efi_atapi_device_path): New structure.
33763 (grub_efi_atapi_device_path_t): New type.
33764 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
33765 (struct grub_efi_fibre_channel_device_path): New structure.
33766 (grub_efi_fibre_channel_device_path_t): New type.
33767 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
33768 (struct grub_efi_1394_device_path): New structure.
33769 (grub_efi_1394_device_path_t): New type.
33770 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
33771 (struct grub_efi_usb_device_path): New structure.
33772 (grub_efi_usb_device_path_t): New type.
33773 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
33774 (struct grub_efi_usb_class_device_path): New structure.
33775 (grub_efi_usb_class_device_path_t): New type.
33776 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
33777 (struct grub_efi_i2o_device_path): New structure.
33778 (grub_efi_i2o_device_path_t): New type.
33779 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
33780 (struct grub_efi_mac_address_device_path): New structure.
33781 (grub_efi_mac_address_device_path_t): New type.
33782 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
33783 (struct grub_efi_ipv4_device_path): New structure.
33784 (grub_efi_ipv4_device_path_t): New type.
33785 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
33786 (struct grub_efi_ipv6_device_path): New structure.
33787 (grub_efi_ipv6_device_path_t): New type.
33788 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
33789 (struct grub_efi_infiniband_device_path): New structure.
33790 (grub_efi_infiniband_device_path_t): New type.
33791 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
33792 (struct grub_efi_uart_device_path): New structure.
33793 (grub_efi_uart_device_path_t): New type.
33794 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
33795 (struct grub_efi_vendor_messaging_device_path): New structure.
33796 (grub_efi_vendor_messaging_device_path_t): New type.
33797 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
33798 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
33799 (struct grub_efi_hard_drive_device_path): New structure.
33800 (grub_efi_hard_drive_device_path_t): New type.
33801 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
33802 (struct grub_efi_cdrom_device_path): New structure.
33803 (grub_efi_cdrom_device_path_t): New type.
33804 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
33805 (struct grub_efi_vendor_media_device_path): New structure.
33806 (grub_efi_vendor_media_device_path_t): New type.
33807 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
33808 (struct grub_efi_file_path_device_path): New structure.
33809 (grub_efi_file_path_device_path_t): New type.
33810 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
33811 (struct grub_efi_protocol_device_path): New structure.
33812 (grub_efi_protocol_device_path_t): New type.
33813 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
33814 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
33815 (struct grub_efi_bios_device_path): New structure.
33816 (grub_efi_bios_device_path_t): New type.
33817 (struct grub_efi_disk_io): New structure.
33818 (grub_efi_disk_io_t): New type.
33819 (struct grub_efi_block_io_media): New structure.
33820 (grub_efi_block_io_media_t): New type.
33821 (struct grub_efi_block_io): New structure.
33822 (grub_efi_block_io_t): New type.
33823
33824 * include/grub/misc.h (grub_stop): Removed.
33825 (grub_exit): New prototype.
33826 (grub_abort): Likewise.
33827
33828 * include/grub/disk.h (enum grub_disk_dev_id): Added
33829 GRUB_DISK_DEVICE_EFIDISK_ID.
33830
33831 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
33832 disk/efi/efidisk.c.
33833 (kernel_syms.lst): Remove the target if an error occurs.
33834
49986a9f 338352006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
33836
33837 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
33838 as it was simply too buggy.
33839
970d3b8a 338402006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
33841
33842 * kern/misc.c (grub_lltoa): New function.
33843 (grub_vsprintf): Added support for the long long suffix,
33844 i.e. "ll".
33845
ff04ec24 338462006-04-20 Hollis Blanchard <hollis@penguinppc.org>
33847
33848 * Makefile.in (LDFLAGS): Add variable.
33849 (LD): Remove variable.
33850 * configure.ac: Add -m32 to LDFLAGS.
33851 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
33852 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
33853 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
33854 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
33855 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
33856 variables.
33857 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
33858 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
33859 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
33860
37e5e1a4 338612006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
33862
33863 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
33864 length for unknown glyph.
33865
c352d8dd 338662006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
33867
2eab1c0d 33868 Add support for pre-loaded modules into the EFI port.
f19dbdb7 33869
2eab1c0d 33870 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
33871 completely. Accept one more argument DIR. The caller has changed.
33872
33873 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
33874
33875 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
33876 (grub_efi_loaded_image_guid): New variable.
33877 (grub_efi_get_loaded_image): New function.
33878 (grub_arch_modules_addr): Likewise.
33879
33880 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
33881 prototype.
33882
33883 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
33884 (struct grub_efi_loaded_image): New structure.
33885 (grub_efi_loaded_image_t): New type.
33886
338872006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33888
c352d8dd 33889 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
33890 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
33891 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
33892
6d01d6b4 338932006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
33894
33895 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
33896
976a4ea0 338972006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
33898
33899 * DISTLIST: Added include/grub/efi/console.h,
33900 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
33901 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33902
33903 * include/grub/efi/console.h: New file.
33904 * include/grub/efi/time.h: Likewise.
33905 * include/grub/i386/efi/kernel.h: Likewise.
33906 * kern/efi/init.c: Likewise.
33907 * kern/efi/mm.c: Likewise.
33908 * term/efi/console.c: Likewise.
f19dbdb7 33909
976a4ea0 33910 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
33911 (grub_stop): Removed.
33912 (grub_get_rtc): Likewise.
33913 (grub_machine_init): Simply call grub_efi_init.
33914 (grub_machine_fini): Call grub_efi_fini.
33915
33916 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
33917 (grub_efi_output_string): Removed.
33918 (grub_efi_stall): New function.
33919 (grub_stop): Likewise.
33920 (grub_get_rtc): Likewise.
33921
33922 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
33923 (grub_efi_stall): New prototype.
33924 (grub_efi_allocate_pages): Likewise.
33925 (grub_efi_free_pages): Likewise.
33926 (grub_efi_get_memory_map): Likewise.
33927 (grub_efi_mm_init): Likewise.
33928 (grub_efi_mm_fini): Likewise.
33929 (grub_efi_init): Likewise.
33930 (grub_efi_fini): Likewise.
33931
33932 * include/grub/i386/efi/time.h: Do not include
33933 grub/symbol.h. Include grub/efi/time.h.
33934 (GRUB_TICKS_PER_SECOND): Removed.
33935 (grub_get_rtc): Likewise.
33936
33937 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
33938 Added padding. The EFI spec is buggy.
33939 (GRUB_EFI_BLACK): New macro.
33940 (GRUB_EFI_BLUE): Likewise.
33941 (GRUB_EFI_GREEN): Likewise.
33942 (GRUB_EFI_CYAN): Likewise.
33943 (GRUB_EFI_RED): Likewise.
33944 (GRUB_EFI_MAGENTA): Likewise.
33945 (GRUB_EFI_BROWN): Likewise.
33946 (GRUB_EFI_LIGHTGRAY): Likewise.
33947 (GRUB_EFI_BRIGHT): Likewise.
33948 (GRUB_EFI_DARKGRAY): Likewise.
33949 (GRUB_EFI_LIGHTBLUE): Likewise.
33950 (GRUB_EFI_LIGHTGREEN): Likewise.
33951 (GRUB_EFI_LIGHTCYAN): Likewise.
33952 (GRUB_EFI_LIGHTRED): Likewise.
33953 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33954 (GRUB_EFI_YELLOW): Likewise.
33955 (GRUB_EFI_WHITE): Likewise.
33956 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33957 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33958 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33959 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33960 (GRUB_EFI_BACKGROUND_RED): Likewise.
33961 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33962 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33963 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33964 (GRUB_EFI_TEXT_ATTR): Likewise.
33965
33966 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33967 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33968 (kernel_mod_HEADERS): Added efi/time.h.
33969
83709125 339702006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33971
33972 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33973 include/grub/efi/api.h, include/grub/efi/console_control.h,
33974 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33975 include/grub/i386/efi/time.h, kern/efi/efi.c,
33976 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33977 and util/i386/efi/grub-mkimage.c.
33978
33979 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33980
33981 * genmk.rb (PModule#rule): Do not export symbols if
33982 #{prefix}_EXPORTS is set to "no".
33983
33984 * conf/i386-efi.mk: New file.
33985 * conf/i386-efi.rmk: Likewise.
33986 * include/grub/efi/api.h: Likewise.
33987 * include/grub/efi/console_control.h: Likewise.
33988 * include/grub/efi/efi.h: Likewise.
33989 * include/grub/efi/pe32.h: Likewise.
33990 * include/grub/i386/efi/time.h: Likewise.
33991 * kern/efi/efi.c: Likewise.
33992 * kern/i386/efi/init.c: Likewise.
33993 * kern/i386/efi/startup.S: Likewise.
33994 * util/i386/efi/grub-mkimage.c: Likewise.
33995
339962006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 33997
33998 * include/grub/script.h: Include <grub/parser.h> and
33999 "grub_script.tab.h".
34000 (struct grub_lexer_param): New struct.
34001 (struct grub_parser_param): Likewise.
34002 (grub_script_create_arglist): Pass the state in an argument.
34003 (grub_script_add_arglist): Likewise.
34004 (grub_script_create_cmdline): Likewise.
34005 (grub_script_create_cmdblock): Likewise.
34006 (grub_script_create_cmdif): Likewise.
34007 (grub_script_create_cmdmenu): Likewise.
34008 (grub_script_add_cmd): Likewise.
34009 (grub_script_arg_add): Likewise.
34010 (grub_script_lexer_ref): Likewise.
34011 (grub_script_lexer_deref): Likewise.
34012 (grub_script_lexer_record_start): Likewise.
34013 (grub_script_lexer_record_stop): Likewise.
34014 (grub_script_mem_record): Likewise.
34015 (grub_script_mem_record_stop): Likewise.
34016 (grub_script_malloc): Likewise.
34017 (grub_script_yylex): Likewise.
34018 (grub_script_yyparse): Likewise.
34019 (grub_script_yyerror): Likewise.
34020 (grub_script_yylex): Likewise.
34021 (grub_script_lexer_init): Return the state.
34022
34023 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34024 (grub_script_lexer_done): Likewise.
34025 (grub_script_lexer_getline): Likewise.
34026 (grub_script_lexer_refs): Likewise.
34027 (script): Likewise.
34028 (newscript): Likewise.
34029 (record): Likewise.
34030 (recording): Likewise.
34031 (recordpos): Likewise.
34032 (recordlen): Likewise.
34033 (grub_script_lexer_init): Return the state instead of setting
34034 global variables.
34035 (grub_script_lexer_ref): Use the newly added argument for state
34036 instead of globals.
34037 (grub_script_lexer_deref): Likewise.
34038 (grub_script_lexer_record_start): Likewise.
34039 (grub_script_lexer_record_stop): Likewise.
34040 (recordchar): Likewise.
34041 (nextchar): Likewise.
34042 (grub_script_yylex2): Likewise.
34043 (grub_script_yylex): Likewise.
34044 (grub_script_yyerror): Likewise.
34045
34046 * normal/parser.y (func_mem): Removed variable.
34047 (menu_entry): Likewise.
34048 (err): Likewise.
34049 (%lex-param): New parser option.
34050 (%parse-param): Likewise.
34051 (script): Always return the AST.
34052 (argument): Pass the state around.
34053 (arguments): Likewise.
34054 (grubcmd): Likewise.
34055 (commands): Likewise.
34056 (function): Likewise.
34057 (menuentry): Likewise.
34058 (if_statement): Likewise.
34059 (if): Likewise.
34060
34061 * normal/script.c (grub_script_memused): Removed variable.
34062 (grub_script_parsed): Likewise.
34063 (grub_script_malloc): Added a state argument. Use that instead of
34064 global variables.
34065 (grub_script_mem_record): Likewise.
34066 (grub_script_mem_record_stop): Likewise.
34067 (grub_script_arg_add): Likewise.
34068 (grub_script_add_arglist): Likewise.
34069 (grub_script_create_cmdline): Likewise.
34070 (grub_script_create_cmdif): Likewise.
34071 (grub_script_create_cmdmenu): Likewise.
34072 (grub_script_add_cmd): Likewise.
34073 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34074
e2a8c904 340752006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34076
34077 * normal/command.c (grub_command_init): Remove the title command.
34078
34079 * normal/lexer.c (grub_script_yylex): Renamed from this...
34080 (grub_script_yylex2): ... to this.
34081 (grub_script_yylex): New function. Temporary
34082 introduced to filter some tokens.
34083 (grub_script_yyerror): Print a newline.
34084
34085 * normal/main.c (read_config_file): Output information about the
34086 lines that contain errors. Wait for a key after all lines have
34087 been processed. Don't return an empty menu.
34088
34089 * normal/parser.y (func_mem): Don't initialize.
34090 (menu_entry): Likewise.
34091 (err): New variable.
34092 (script): Don't return anything when an error was encountered.
34093 (ws, returns): Removed rules.
34094 (argument): Disabled concatenated variable support.
34095 (arguments): Remove explicit separators.
34096 (grubcmd): Likewise.
34097 (function): Likewise.
34098 (menuentry): Likewise.
34099 (if): Likewise.
34100 (commands): Likewise. Add error handling.
34101
34102 * normal/script.c (grub_script_create_cmdline): If
34103 `grub_script_parsed' is 0, assume the parser encountered an error.
34104
c9a86192 341052006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34106
34107 * configure.ac: Add support for EFI. Fix the typo
34108 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34109
70f3b243 341102006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34111
34112 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34113 foreign multibyte characters should be shown correctly.
34114
65f201ad 341152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34116
34117 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34118 calculation.
34119 (read_config_file): Made it to close file before returning.
34120
b4b93674 341212006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34122
34123 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34124 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34125 video/i386/pc/vbefill.c.
34126
34127 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34128 video/i386/pc/vbefill.c.
34129
34130 * include/grub/video.h (grub_video_blit_format): New enum.
34131 (grub_video_mode_info): Added new member blit_format.
34132 (grub_video_get_blit_format): New function prototype.
34133
34134 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34135 function prototype.
34136 (grub_video_vbe_map_rgb): Likewise.
34137 (grub_video_vbe_unmap_color): Likewise.
34138
34139 * include/grub/i386/pc/vbeblit.h: New file.
34140
34141 * include/grub/i386/pc/vbefill.h: New file.
34142
34143 * video/video.c (grub_video_get_blit_format): New function.
34144 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34145 (grub_video_vbe_map_rgb): Likewise.
34146 (grub_video_vbe_unmap_color): Likewise.
34147
34148 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34149 optimized fills.
34150 (grub_video_vbe_blit_render_target): Changed to use more optimized
34151 blits.
34152 (grub_video_vbe_setup): Added detection for optimized settings.
34153 (grub_video_vbe_create_render_target): Likewise.
34154
34155 * video/i386/pc/vbeblit.c: New file.
34156
34157 * video/i386/pc/vbefill.c: New file.
34158
c2379b9c 341592006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34160
34161 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34162 here...
34163
34164 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34165 parsing to support both hex and dec ranges. If filename was missing
34166 show usage information.
34167
bd0d7896 341682006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34169
34170 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34171 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34172
34173 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34174 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34175 (video_mod_SOURCES): Added.
34176 (video_mod_CFLAGS): Likewise.
34177 (video_mod_LDFLAGS): Likewise.
34178 (gfxterm_mod_SOURCES): Likewise.
34179 (gfxterm_mod_CFLAGS): Likewise.
34180 (gfxterm_mod_LDFLAGS): Likewise.
34181 (videotest_mod_SOURCES): Likewise.
34182 (videotest_mod_CFLAGS): Likewise.
34183 (videotest_mod_LDFLAGS): Likewise.
34184 (vesafb_mod_SOURCES): Removed.
34185 (vesafb_mod_CFLAGS): Likewise.
34186 (vesafb_mod_LDFLAGS): Likewise.
34187 (vga_mod_SOURCES): Likewise.
34188 (vga_mod_CFLAGS): Likewise.
34189 (vga_mod_LDFLAGS): Likewise.
34190
34191 * commands/videotest.c: New file.
34192
34193 * font/manager.c (fill_with_default_glyph): Modified to use
34194 grub_font_glyph.
34195 (grub_font_get_glyph): Likewise.
34196 (fontmanager): Renamed from this...
34197 (font_manager): ... to this.
34198
34199 * include/grub/font.h (grub_font_glyph): Added new structure.
34200 (grub_font_get_glyph): Modified to use grub_font_glyph.
34201
34202 * include/grub/misc.h (grub_abs): Added as inline function.
34203
34204 * include/grub/video.h: New file.
34205
34206 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34207 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34208 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34209 (grub_vbe_get_controller_info): Renamed from this...
34210 (grub_vbe_bios_get_controller_info): ... to this.
34211 (grub_vbe_get_mode_info): Renamed from this...
34212 (grub_vbe_bios_get_mode_info): ... to this.
34213 (grub_vbe_set_mode): Renamed from this...
34214 (grub_vbe_bios_set_mode): ... to this.
34215 (grub_vbe_get_mode): Renamed from this...
34216 (grub_vbe_bios_get_mode): ... to this.
34217 (grub_vbe_set_memory_window): Renamed from this...
34218 (grub_vbe_bios_set_memory_window): ... to this.
34219 (grub_vbe_get_memory_window): Renamed from this...
34220 (grub_vbe_bios_get_memory_window): ... to this.
34221 (grub_vbe_set_scanline_length): Renamed from this...
34222 (grub_vbe_set_scanline_length): ... to this.
34223 (grub_vbe_get_scanline_length): Renamed from this...
34224 (grub_vbe_bios_get_scanline_length): ... to this.
34225 (grub_vbe_set_display_start): Renamed from this...
34226 (grub_vbe_bios_set_display_start): ... to this.
34227 (grub_vbe_get_display_start): Renamed from this...
34228 (grub_vbe_bios_get_display_start): ... to this.
34229 (grub_vbe_set_palette_data): Renamed from this...
34230 (grub_vbe_bios_set_palette_data): ... to this.
34231 (grub_vbe_set_pixel_rgb): Removed.
34232 (grub_vbe_set_pixel_index): Likewise.
34233
34234 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34235 from this...
34236 (grub_vbe_bios_get_controller_info): ... to this.
34237 (grub_vbe_get_mode_info): Renamed from this...
34238 (grub_vbe_bios_get_mode_info): ... to this.
34239 (grub_vbe_set_mode): Renamed from this...
34240 (grub_vbe_bios_set_mode): ... to this.
34241 (grub_vbe_get_mode): Renamed from this...
34242 (grub_vbe_bios_get_mode): ... to this.
34243 (grub_vbe_set_memory_window): Renamed from this...
34244 (grub_vbe_bios_set_memory_window): ... to this.
34245 (grub_vbe_get_memory_window): Renamed from this...
34246 (grub_vbe_bios_get_memory_window): ... to this.
34247 (grub_vbe_set_scanline_length): Renamed from this...
34248 (grub_vbe_set_scanline_length): ... to this.
34249 (grub_vbe_get_scanline_length): Renamed from this...
34250 (grub_vbe_bios_get_scanline_length): ... to this.
34251 (grub_vbe_set_display_start): Renamed from this...
34252 (grub_vbe_bios_set_display_start): ... to this.
34253 (grub_vbe_get_display_start): Renamed from this...
34254 (grub_vbe_bios_get_display_start): ... to this.
34255 (grub_vbe_set_palette_data): Renamed from this...
34256 (grub_vbe_bios_set_palette_data): ... to this.
34257 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34258 getting corrupted after calling it. Added more pushes and pops.
34259 (grub_vbe_bios_set_mode): Likewise.
34260 (grub_vbe_bios_get_mode): Likewise.
34261 (grub_vbe_bios_get_memory_window): Likewise.
34262 (grub_vbe_bios_set_scanline_length): Likewise.
34263 (grub_vbe_bios_get_scanline_length): Likewise.
34264 (grub_vbe_bios_get_display_start): Likewise.
34265 (grub_vbe_bios_set_palette_data): Likewise.
34266
34267 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34268 (cl_insert): Likewise.
34269 (cl_delete): Likewise.
34270
34271 * term/gfxterm.c: New file.
34272
34273 * term/i386/pc/vesafb.c: Removed file.
34274
34275 * video/video.c: New file.
34276
34277 * video/i386/pc/vbe.c (real2pm): Added new function.
34278 (grub_video_vbe_draw_pixel): Likewise.
34279 (grub_video_vbe_get_video_ptr): Likewise.
34280 (grub_video_vbe_get_pixel): Likewise
34281 (grub_video_vbe_init): Likewise.
34282 (grub_video_vbe_fini): Likewise.
34283 (grub_video_vbe_setup): Likewise.
34284 (grub_video_vbe_get_info): Likewise.
34285 (grub_video_vbe_set_palette): Likewise.
34286 (grub_video_vbe_get_palette): Likewise.
34287 (grub_video_vbe_set_viewport): Likewise.
34288 (grub_video_vbe_get_viewport): Likewise.
34289 (grub_video_vbe_map_color): Likewise.
34290 (grub_video_vbe_map_rgb): Likewise.
34291 (grub_video_vbe_map_rgba): Likewise.
34292 (grub_video_vbe_unmap_color): Likewise.
34293 (grub_video_vbe_fill_rect): Likewise.
34294 (grub_video_vbe_blit_glyph): Likewise.
34295 (grub_video_vbe_blit_bitmap): Likewise.
34296 (grub_video_vbe_blit_render_target): Likewise.
34297 (grub_video_vbe_scroll): Likewise.
34298 (grub_video_vbe_swap_buffers): Likewise.
34299 (grub_video_vbe_create_render_target): Likewise.
34300 (grub_video_vbe_delete_render_target): Likewise.
34301 (grub_video_vbe_set_active_render_target): Likewise.
34302 (grub_vbe_set_pixel_rgb): Remove function.
34303 (grub_vbe_set_pixel_index): Likewise.
34304 (index_color_mode): Remove static variable.
34305 (active_mode): Likewise.
34306 (framebuffer): Likewise.
34307 (bytes_per_scan_line): Likewise.
34308 (grub_video_vbe_adapter): Added new static variable.
34309 (framebuffer): Likewise.
34310 (render_target): Likewise.
34311 (initial_mode): Likewise.
34312 (mode_in_use): Likewise.
34313 (mode_list): Likewise.
34314
5f97350b 343152006-03-10 Marco Gerards <marco@gnu.org>
34316
34317 * configure.ac (AC_INIT): Bumped to 1.93.
34318
34319 * DISTLIST: Added `include/grub/hfs.h'.
34320
a3c5c6f8 343212006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34322
34323 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34324 18H, which might help the BIOS falling back to next boot media.
34325
6de53d26 343262006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34327
34328 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34329 Poe Chen <poe.poechen@gmail.com>.
34330
77c4a393 343312006-01-17 Marco Gerards <marco@gnu.org>
34332
34333 * include/grub/normal.h: Include <grub/script.h>.
34334 (grub_command_list): Removed struct.
34335 (grub_command_list_t): Removed type.
34336 (grub_menu_entry): Remove members `num' and `command_list'. Add
34337 members `commands' and `sourcecode'.
34338 * include/grub/script.h: Add inclusion guards.
34339 (grub_script_cmd_menuentry): New struct.
34340 (grub_script_execute_menuentry): New prototype.
34341 (grub_script_lexer_record_start): Likewise.
34342 (grub_script_lexer_record_stop): Likewise.
34343 * normal/execute.c (grub_script_execute_menuentry): New function.
34344 * normal/lexer.c (record, recording, recordpos, recordlen): New
34345 variables.
34346 (grub_script_lexer_record_start): New function.
34347 (grub_script_lexer_record_stop): Likewise.
34348 (recordchar): Likewise.
34349 (nextchar): Likewise.
34350 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34351 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34352 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34353 (current_menu): New variable.
34354 (free_menu): Mainly rewritten.
34355 (grub_normal_menu_addentry): New function.
34356 (read_config_file): Rewritten.
34357 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34358 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34359 the menu entry.
34360 (run): Mainly rewritten.
34361 * normal/parser.y (menu_entry): New variable.
34362 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34363 (menuentry): New rule.
34364 (command): Add `menuentry'.
34365 (if_statement): Allow additional returns before `fi'.
34366 * normal/script.c (grub_script_create_cmdmenu): New function.
34367
144f1f98 343682006-01-03 Marco Gerards <marco@gnu.org>
34369
34370 * INSTALL: GNU Bison is required.
34371 * configure.ac: Rewritten the test to detect Bison.
34372 * Makefile.in (YACC): New variable. Reported by Xun Sun
34373 <xun.sun.cn@gmail.com>.
34374
af4b2d89 343752006-01-03 Marco Gerards <marco@gnu.org>
34376
34377 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34378 the HFS+ filesystem to filesystem blocks.
34379 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34380 GCC warning is silenced.
34381
15643b71 343822006-01-03 Marco Gerards <marco@gnu.org>
34383
34384 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34385 read from disk from big endian to host byte order.
34386
00905879 343872006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34388
34389 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34390 documentation.
34391 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34392 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34393 embedded HFS+ filesystem.
34394 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34395 (grub_hfs_sblock): Move from here...
34396 * include/grub/hfs.h: To here... New file.
34397 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34398 documentation.
34399 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34400 New macros.
34401 (grub_hfsplus_volheader): Change type of member `magic' to
34402 `grub_uint16_t'.
34403 (grub_hfsplus_data): Add new member `embedded_offset'.
34404 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34405 returned block.
34406 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34407 Calculate the offset.
34408
8899bc3e 344092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34410
34411 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34412 Removed.
34413 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34414
ae8c0277 344152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34416
34417 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34418 ENV->NAME is NULL after allocating ENV->VALUE.
34419
07084456 344202005-12-25 Marco Gerards <marco@gnu.org>
34421
34422 * kern/env.c (grub_env_set): Rewritten the error handling code.
34423
4750f5f1 344242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34425
34426 * geninit.sh: Made more robust, and more portable.
34427
50214199 344282005-12-25 Marco Gerards <marco@gnu.org>
34429
34430 Add support for Apple HFS+ filesystems.
f19dbdb7 34431
50214199 34432 * fs/hfsplus.c: New file.
34433
34434 * DISTLIST: Added `fs/hfsplus.c'.
34435
34436 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34437 (hfsplus_mod_SOURCES): New variable.
34438 (hfsplus_mod_CFLAGS): Likewise.
34439 (hfsplus_mod_LDFLAGS): Likewise.
34440 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34441 (grub_setup_SOURCES): Likewise.
34442 (grub_mkdevicemap_SOURCES): Likewise.
34443 (grub_emu_SOURCES): Likewise.
34444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34445
34446 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34447
34448 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34449
befaed6c 344502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34451
34452 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34453 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34454 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34455 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34456 normal/lexer.c, normal/parser.y, normal/script.c, and
34457 partmap/gpt.c.
34458 Removed kern/sparc64/cache.c.
34459
34460 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34461 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34462 grub_emu_init.c.
34463
34464 * configure.ac (AC_INIT): Bumped to 1.92.
34465
6a124103 344662005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34467
34468 * kern/err.c (grub_error_push): Added new function to support error
34469 stacks.
34470 (grub_error_pop): Likewise.
34471 (grub_error_stack_items): New local variable to support error stacks.
34472 (grub_error_stack_pos): Likewise.
34473 (grub_error_stack_assert): Likewise.
34474 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34475 stack depth.
34476 (grub_print_error): Added support to print errors from error stack.
34477
34478 * include/grub/err.h (grub_error_push): Added function prototype.
34479 (grub_error_pop): Likewise.
34480
be973c1b 344812005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34482
34483 * configure.ac: Accept `powerpc64' as host_cpu.
34484 (amd64): Rename to `biarch32'.
34485
34486 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34487 non-cacheline-aligned addresses.
34488
34489 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34490 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34491 if `size' is non-zero.
34492
b04216ab 344932005-12-03 Marco Gerards <mgerards@xs4all.nl>
34494
34495 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34496 and `cd' to make sure the filename is not prefixed with a
34497 directory name.
34498 (pkgdata_MODULES): Add `gpt.mod'.
34499 (gpt_mod_SOURCES): New variable.
34500 (gpt_mod_CFLAGS): Likewise.
34501 (gpt_mod_LDFLAGS): Likewise.
34502
34503 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34504
34505 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34506 New macro.
34507
34508 * partmap/gpt.c: New file.
34509
34510 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34511 GPT partition map is detected.
34512
41730ed9 345132005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34514
34515 * commands/i386/pc/play.c: New file.
34516 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34517 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34518 macros.
f19dbdb7 34519
95dc3643 345202005-11-27 Marco Gerards <mgerards@xs4all.nl>
34521
34522 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34523 ((unused))' to silence gcc warning.
34524
1569ec51 345252005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34526
34527 * configure.ac: Correct `AC_PROG_YACC' test.
34528
9abde152 345292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34530
34531 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34532 check before installing files.
34533
44b83271 345342005-11-22 Mike Small <smallm@panix.com>
34535
34536 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34537 number regex so multidigit numbers are recognized correctly.
34538
345392005-11-22 Mike Small <smallm@panix.com>
34540
34541 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34542 debugging message before attempting to claim memory.
34543 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34544 multiple addresses in case of failure.
34545
9c12956b 345462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34547
34548 * term/tparm.c (get_space): Remove empty `if' statement.
34549
34550 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34551
34552 * kern/parser.c (check_varstate): Rename `state' to 's'.
34553
aeaf81d9 345542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34555
34556 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34557 variable definitions to the beginning of each function. Sort stack
34558 variables by size.
34559 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34560 `buf' argument to `char *'.
34561
79bbb63f 345622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34563
34564 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34565 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34566 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34567 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34568 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34569 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34570 configfile.mod, search.mod, gzio.mod and test.mod.
34571 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34572 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34573 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34574 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34575 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34576 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34577 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34578 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34579 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34580 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34581 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34582 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34583 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34584 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34585 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34586 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34587 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34588 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34589 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34590 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34591 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34592 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34593 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34594
34595 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34596 `grep --include'.
34597 (pkgdata_MODULES): Add test.mod.
34598
233b1628 345992005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34600
34601 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34602 appending to variables with "+=".
34603 (PModule): Use full pathname to generate *.lst filenames.
34604
34605 * Makefile.in: Fixed list rules moved from genmk.rb.
34606 (.DELETE_ON_ERROR): New special target.
34607 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34608
34609 * conf/i386-pc.rmk: Include conf/common.mk.
34610 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34611 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 34612 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34613 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34614 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34615 configfile.mod, search.mod, gzio.mod and test.mod.
34616 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34617 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34618 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34619 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34620 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34621 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34622 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34623 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34624 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34625 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34626 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34627 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34628 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34629 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34630 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34631 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34632 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34633 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34634 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34635 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34636 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34637 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34638 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34639 here...
34640 * conf/common.rmk: ... to here. New file.
34641
34642 * conf/common.mk: New file.
34643
16f820c8 346442005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34645
34646 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34647 (grub_script.tab.c): ... here.
34648
34649 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34650 (grub_script.tab.c): ... here.
34651
34652 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34653 (grub_script.tab.c): ... here.
34654
34655 * normal/command.c (grub_command_find): Fixed a memory leak of
34656 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34657
63ba1554 346582005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34659
34660 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34661 "@" which marks the start of a comment on ARM.
34662 (VARIABLE): Likewise.
34663
7f67dc13 346642005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34665
79bbb63f 34666 Add support for Linux/ADFS partition tables.
7f67dc13 34667
34668 * partmap/acorn.c: New file.
34669
34670 * include/grub/acorn_filecore.h: Likewise.
34671
34672 * DISTLIST: Added `partmap/acorn.c' and
34673 `include/grub/acorn_filecore.h'.
f19dbdb7 34674
7f67dc13 34675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34676 `partmap/acorn.c'.
34677 (pkgdata_MODULES): Add `acorn.mod'.
34678 (acorn_mod_SOURCES): New variable.
34679 (acorn_mod_CFLAGS): Likewise.
34680
34681 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34682 `partmap/acorn.c'.
34683 (pkgdata_MODULES): Add `acorn.mod'.
34684 (acorn_mod_SOURCES): New variable.
34685 (acorn_mod_CFLAGS): Likewise.
34686
34687 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34688 (pkgdata_MODULES): Add `acorn.mod'.
34689 (acorn_mod_SOURCES): New variable.
34690 (acorn_mod_CFLAGS): Likewise.
34691 (acorn_mod_LDFLAGS): Likewise.
34692
34693 * include/types.h (grub_disk_addr_t): New typedef.
34694
6d099807 346952005-11-13 Marco Gerards <mgerards@xs4all.nl>
34696
34697 * geninit.sh: New file.
34698
34699 * geninitheader.sh: Likewise.
34700
34701 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
34702 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
34703 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
34704 * commands/configfile.c (grub_configfile_init)
34705 (grub_configfile_fini): Likewise.
34706 * commands/default.c (grub_default_init, grub_default_fini):
34707 Likewise.
34708 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
34709 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
34710 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
34711 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
34712 Likewise.
34713 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
34714 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
34715 Likewise.
34716 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 34717 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 34718 Likewise.
34719 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
34720 Likewise.
fe6b695a 34721 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 34722 Likewise.
34723 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
34724 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
34725 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
34726 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
34727 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
34728 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
34729 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
34730 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
34731 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
34732 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
34733 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
34734 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
34735 * partmap/amiga.c (grub_amiga_partition_map_init)
34736 (grub_amiga_partition_map_fini): Likewise.
34737 * partmap/apple.c (grub_apple_partition_map_init)
34738 (grub_apple_partition_map_fini): Likewise.
34739 * partmap/pc.c (grub_pc_partition_map_init)
34740 (grub_pc_partition_map_fini): Likewise.
34741 * partmap/sun.c (grub_sun_partition_map_init,
34742 grub_sun_partition_map_fini): Likewise.
34743 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
34744 Likewise.
34745
34746 * util/grub-emu.c: Include <grub_modules_init.h>.
34747 (main): Don't initialize and de-initialize any modules directly,
34748 use `grub_init_all' and `grub_fini_all' instead.
34749
34750 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
34751 `grub_vesafb_mod_init'.
34752 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
34753 all users.
34754 * term/i386/pc/vga.c (grub_vga_init): Renamed to
34755 `grub_vga_mod_init'. Updated all users.
34756 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 34757
6d099807 34758 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
34759 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
34760 rules.
34761
34762 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
34763 Generate a function to initialize the module in utilities.
34764 Updated all callers.
34765 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
34766 initialize the module in utilities. Updated all callers.
34767
9046bcf0 347682005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34769
34770 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
34771 escape sequence and a literal ^L to clear the screen.
34772
34773 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
34774 when returning from Open Firmware.
34775
d13ea639 347762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34777
34778 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
34779 (grub_ofconsole_height): Likewise.
34780 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
34781 manually insert a '\n'.
34782 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
34783 `grub_ofconsole_height'. Return early if these are already set.
34784
a8fcf206 347852005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
34786
34787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34788 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
34789 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
34790 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
34791 and `normal/script.c'.
34792 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34793 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34794 (test_mod_SOURCES): New variable.
34795 (test_mod_CFLAGS): Likewise.
34796 (test_mod_LDFLAGS): Likewise.
34797 (pkgdata_MODULES): Add `test.mod'.
34798 (grub_script.tab.c): New rule.
34799 (grub_script.tab.h): Likewise.
34800
b6b32745 348012005-11-07 Marco Gerards <mgerards@xs4all.nl>
34802
34803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34804 `commands/test.c', `normal/execute.c', `normal/lexer.c',
34805 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34806 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34807 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34808 (test_mod_SOURCES): New variable.
34809 (test_mod_CFLAGS): Likewise.
34810 (pkgdata_MODULES): Add `test.mod'.
34811 (grub_script.tab.c): New rule.
34812 (grub_script.tab.h): Likewise.
34813
daac212a 348142005-11-06 Marco Gerards <mgerards@xs4all.nl>
34815
34816 Add initial scripting support.
34817
34818 * commands/test.c: New file.
34819 * include/grub/script.h: Likewise.
34820 * normal/execute.c: Likewise.
34821 * normal/function.c: Likewise.
34822 * normal/lexer.c: Likewise.
34823 * normal/parser.y: Likewise.
34824 * normal/script.c: Likewise.
34825
34826 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 34827
daac212a 34828 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
34829 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
34830 `normal/function.c' and `normal/script.c'.
34831 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34832 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 34833 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
34834 variables.
daac212a 34835 (pkgdata_MODULES): Add `test.mod'.
34836 (grub_script.tab.c): New rule.
34837 (grub_script.tab.h): Likewise.
34838
34839 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
34840
34841 * include/grub/normal.h (grub_test_init): New prototype.
34842 (grub_test_fini): Likewise.
f19dbdb7 34843
daac212a 34844 * normal/command.c: Include <grub/script.h>.
34845 (grub_command_execute): Rewritten.
f19dbdb7 34846
daac212a 34847 * util/grub-emu.c (main): Call `grub_test_init' and
34848 `grub_test_fini'.
34849
77500b2b 348502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34851
34852 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
34853 to 0.
34854 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
34855 there are no pending characters.
34856
e45deb9e 348572005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34858
34859 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
34860 `grub_strndup' to drop device arguments. Replace unnecessary
34861 `grub_strndup' with `grub_strdup'.
34862
4ce32619 348632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34864
34865 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
34866 `debug' environment variable has been set.
34867
348682005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34869
4ce32619 34870 * Makefile.in (install-local): Use $(DATA).
34871 (uninstall): Likewise.
34872 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
34873 (sbin_UTILITIES): ... to here.
34874 (sbin_SCRIPTS): New variable.
34875 (grub_install_SOURCES): New variable.
34876 * util/powerpc/ieee1275/grub-install.in: New file.
34877 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
34878 variable.
34879 (add_segments): Call `grub_util_get_path'.
34880
25fe6f03 348812005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34882
34883 From Timothy Baldwin:
34884 * commands/ls.c (grub_ls_list_files): Close FILE with
34885 grub_file_close.
34886 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
34887
04ccf3ec 348882005-10-24 Marco Gerards <mgerards@xs4all.nl>
34889
34890 * include/grub/parser.h: New file.
34891
34892 * kern/parser.c: Likewise.
34893
34894 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
34895 (grub_setup_SOURCES): Likewise.
34896 (grub_probefs_SOURCES): Likewise.
34897 (grub_emu_SOURCES): Likewise.
34898 (kernel_img_HEADERS): Add `parser.h'.
34899
34900 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34901 (grub_emu_SOURCES): Add `kern/parser.c'.
34902 (grubof_SOURCES): Likewise.
34903
34904 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34905 (grubof_SOURCES): Add `kern/parser.c'.
34906
34907 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
34908
34909 * kern/misc.c (grub_split_cmdline): Removed function.
34910
34911 * kern/rescue.c: Include <grub/parser.h>.
34912 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
34913 of `grub_split_cmdline'.
34914
34915 * normal/command.c: Include <grub/parser.h>.
34916 (grub_command_execute): Use `grub_parser_split_cmdline' instead
34917 of `grub_split_cmdline'.
34918
34919 * normal/completion.c: Include <grub/parser.h>.
34920 (cmdline_state): New variable.
34921 (iterate_dir): End the filename with a quote depending on the
34922 command line state.
34923 (get_state): new function.
34924 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
34925 split the arguments and determine the current argument. When the
34926 argument string is not quoted, escape all spaces.
34927
6d8f4b0e 349282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34929
34930 * normal/sparc64/setjmp.S: New file.
34931
15cf03ed 349322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34933
34934 * include/grub/sparc64/libgcc.h: New file.
34935 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
34936 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
34937 normal/sparc64/setjmp.c.
34938
03e8661a 349392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34940
34941 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
34942 * kern/sparc64/cache.S: New file.
34943 * kern/sparc64/cache.c: Removed.
34944 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34945 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34946 -mtune=ultrasparc.
34947 (COMMON_LDFLAGS): Add -melf64_sparc.
34948 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34949 (grubof_SOURCES): Use cache.S instead of cache.c.
34950 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34951 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34952 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34953 commented though.
34954 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34955 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34956 (linux_mod_CFLAGS): Commented out.
34957 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34958 out because module isn't built.
34959 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34960 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34961 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34962 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34963 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34964 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34965 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34966 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34967 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34968 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34969 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34970 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34971 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34972 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34973
34eeec8a 349742005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34975
34976 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34977 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34978 longer, because HFS should not be used on PC.
34979
708367a3 349802005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34981
34982 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34983 consistently within the loop.
34984
6fa1251a 349852005-10-15 Marco Gerards <mgerards@xs4all.nl>
34986
34987 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34988 directory can not be read.
34989
4801580b 349902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34991
34992 * configure.ac (AC_INIT): Increase the version number to 1.91.
34993
34994 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
34995 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
34996 term/i386/pc/serial.c.
34997
219ad426 349982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34999
35000 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35001 file size must be permitted.
35002
35003 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35004 between %ah and %al.
35005
688e5699 350062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35007
35008 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35009 grub_uint64_t.
35010 Call the hook with a NUL-terminated filename.
35011 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35012 grub_cpu_to_be32.
35013
35014 * kern/term.c (cursor_state): New variable.
35015 (grub_term_set_current): Reset the cursor state on a new
35016 terminal.
35017 (grub_setcursor): Rewritten to use CURSOR_STATE.
35018 (grub_getcursor): New function.
35019
35020 * include/grub/term.h (grub_getcursor): New prototype.
35021
35022 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35023 integers on ARM. Reported by Timothy Baldwin
35024 <T.E.Baldwin99@members.leeds.ac.uk>.
35025
bb34586c 350262005-10-11 Marco Gerards <mgerards@xs4all.nl>
35027
35028 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35029 allocated.
35030 (grub_sfs_dir): Likewise.
35031
9a909877 350322005-10-09 Marco Gerards <mgerards@xs4all.nl>
35033
35034 Add support for the SFS filesystem.
35035
35036 * fs/sfs.c: New file.
35037
35038 * DISTLIST: Added `fs/sfs.c'.
35039
35040 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35041 (grub_probefs_SOURCES): Likewise.
35042 (grub_emu_SOURCES): Likewise.
35043 (pkgdata_MODULES): Add `sfs.mod'.
35044 (sfs_mod_SOURCES): New variable.
35045 (sfs_mod_CFLAGS): Likewise.
35046 (sfs_mod_LDFLAGS): Likewise.
35047
35048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35049 (pkgdata_MODULES): Add `sfs.mod'.
35050 (sfs_mod_SOURCES): New variable.
35051 (sfs_mod_CFLAGS): Likewise.
35052
35053 * util/grub-emu.c (main): Call `grub_sfs_init' and
35054 `grub_sfs_fini'.
35055
35056 * include/grub/fs.h (grub_sfs_init): New prototype.
35057 (grub_sfs_fini): Likewise.
35058
57bdbde3 350592005-10-07 Marco Gerards <mgerards@xs4all.nl>
35060
35061 Add support for the AFFS filesystem.
35062
35063 * fs/affs.c: New file.
35064
35065 * DISTLIST: Added `fs/affs.c'.
35066
35067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35068 (grub_probefs_SOURCES): Likewise.
35069 (grub_emu_SOURCES): Likewise.
35070 (pkgdata_MODULES): Add `affs.mod'.
35071 (affs_mod_SOURCES): New variable.
35072 (affs_mod_CFLAGS): Likewise.
35073 (affs_mod_LDFLAGS): Likewise.
35074
35075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35076 (pkgdata_MODULES): Add `affs.mod'.
35077 (affs_mod_SOURCES): New variable.
35078 (affs_mod_CFLAGS): Likewise.
35079
35080 * util/grub-emu.c (main): Call `grub_affs_init' and
35081 `grub_affs_fini'.
35082
35083 * include/grub/fs.h (grub_affs_init): New prototype.
35084 (grub_affs_fini): Likewise.
35085
047b67e0 350862005-10-01 Marco Gerards <mgerards@xs4all.nl>
35087
35088 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35089
59b8208a 350902005-10-01 Marco Gerards <mgerards@xs4all.nl>
35091
35092 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35093 `-m32' to CFLAGS.
35094
35095 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35096 linking.
f19dbdb7 35097
59b8208a 35098 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35099 (COMMON_LDFLAGS): New variable.
35100 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35101 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35102 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35103 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35104 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35105 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35106 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35107 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35108 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35109 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35110 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35111 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35112 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35113 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35114 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35115 variables.
35116 (normal_mod_ASFLAGS): Add `-m32'.
35117
35118 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35119 (grub_host_size_t, grub_host_ssize_t): New types.
35120 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35121 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35122 `GRUB_HOST_SIZEOF_VOID_P'.
35123
35124 * include/grub/kernel.h (struct grub_module_header): Type of
35125 member offset changed to `grub_host_off_t'. Type of member size
35126 changed to `grub_host_size_t'.
35127 (struct grub_module_info): Type of member offset changed to
35128 `grub_host_off_t'. Type of member size changed to
35129 `grub_host_size_t'.
35130
b4093103 351312005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35132
35133 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35134
b4093103 35135 * kern/i386/pc/startup.S (multiboot_header): New label.
35136 (multiboot_entry): Likewise.
35137 (multiboot_trampoline): Likewise.
35138
35139 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35140 Increased to 0x4A0.
35141
35142 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35143 put parentheses after a question mark.
35144 [!GRUB_UTIL] (my_mod): New variable.
35145
35146 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35147
b2499b29 351482005-09-28 Marco Gerards <mgerards@xs4all.nl>
35149
35150 Adds support for the XFS filesystem. Btrees are not supported
35151 yet.
35152
35153 * fs/xfs.c: New file.
35154
35155 * DISTLIST: Added `fs/xfs.c'.
35156
35157 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35158 (grub_probefs_SOURCES): Likewise.
35159 (grub_emu_SOURCES): Likewise.
35160 (pkgdata_MODULES): Add `xfs.mod'.
35161 (xfs_mod_SOURCES): New variable.
35162 (xfs_mod_CFLAGS): Likewise.
35163
35164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35165 (pkgdata_MODULES): Add `xfs.mod'.
35166 (xfs_mod_SOURCES): New variable.
35167 (xfs_mod_CFLAGS): Likewise.
35168
35169 * util/grub-emu.c (main): Call `grub_xfs_init' and
35170 `grub_xfs_fini'.
35171
35172 * include/grub/fs.h (grub_xfs_init): New prototype.
35173 (grub_xfs_fini): Likewise.
35174
f19dbdb7 35175
83d37a62 351762005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35177
35178 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35179 color modes, allow greater than 16 colors to be configured as
35180 a default palette.
35181
47d2d65e 351822005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35183
35184 * normal/completion.c (complete_arguments): Add the qualifier
35185 const into OPTIONS.
35186
35187 From Omniflux <omniflux+lists@omniflux.com>:
35188 * include/grub/terminfo.h: New file.
35189 * include/grub/tparm.h: Likewise.
35190 * include/grub/i386/pc/serial.h: Likewise.
35191 * term/terminfo.c: Likewise.
35192 * term/tparm.c: Likewise.
35193 * term/i386/pc/serial.c: Likewise.
35194 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35195 serial.mod.
35196 (terminfo_mod_SOURCES): New variable.
35197 (terminfo_mod_CFLAGS): Likewise.
35198 (serial_mod_SOURCES): Likewise.
35199 (serial_mod_CFLAGS): Likewise.
35200
48b671ff 352012005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35202
35203 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35204 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35205 and kern/powerpc/ieee1275/cmain.c, respectively.
35206
35207 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35208 * kern/powerpc/ieee1275/crt0.S: ... here.
35209
35210 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35211 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35212
48b671ff 35213 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35214 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35215 instead of boot/powerpc/ieee1275/crt0.S and
35216 boot/powerpc/ieee1275/cmain.c, respectively.
35217
35218 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35219 sectors. It was not used anyway.
35220
09fc77a7 352212005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35222
35223 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35224 `unused parameter' warning.
35225
003789c7 352262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35227
35228 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35229 function.
35230 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35231 getcharwidth.
35232
67f44c86 352332005-08-28 Marco Gerards <metgerards@student.han.nl>
35234
35235 * include/grub/normal.h (enum grub_completion_type): Added
35236 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35237
35238 * normal/cmdline.c (print_completion): Handle
35239 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35240 * normal/menu_entry.c (store_completion): Likewise.
35241
35242 * normal/completion.c (complete_arguments): New function.
35243 (grub_normal_do_completion): Call `complete_arguments' when the
35244 current words start with a dash.
35245
0b5abe02 352462005-08-27 Marco Gerards <metgerards@student.han.nl>
35247
35248 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35249 `gzio.mod' instead of `io.mod').
35250
d9864ee1 352512005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35252
35253 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35254 (DISTDIRS): Added io and video.
35255 Rewrite the search routine to make an output consistently.
35256
35257 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35258 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35259 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35260 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35261 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35262 util/powerpc/ieee1275/misc.c.
f19dbdb7 35263
d9864ee1 35264 * include/grub/gzio.h: New file.
35265 * io/gzio.c: Likewise.
f19dbdb7 35266
d9864ee1 35267 * kern/file.c (grub_file_close): Call grub_device_close only if
35268 FILE->DEVICE is not NULL.
35269
35270 * include/grub/mm.h [!NULL] (NULL): New macro.
35271
35272 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35273
35274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35275 (pkgdata_MODULES): Added gzio.mod.
35276 (gzio_mod_SOURCES): New variable.
35277 (gzio_mod_CFLAGS): Likewise.
35278
35279 * conf/i386-pc.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 * commands/cat.c: Include grub/gzio.h.
35285 (grub_cmd_cat): Use grub_gzfile_open instead of
35286 grub_file_open.
f19dbdb7 35287
d9864ee1 35288 * commands/cmp.c: Include grub/gzio.h.
35289 (grub_cmd_cmp): Use grub_gzfile_open instead of
35290 grub_file_open.
35291
35292 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35293 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35294 grub_file_open.
35295 (grub_rescue_cmd_module): Likewise.
35296
fa46f4b5 352972005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35298
35299 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35300 kern/sparc64/ieee1275/init.c because it contains _start.
35301 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35302
e9211b5d 353032005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35304
35305 * configure.ac: Add support for sparc64 host with ieee1275
35306 firmware.
35307 * configure: Generated from configure.ac.
35308 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35309 instead of int.
35310 (grub_ofdisk_read): Likewise.
35311 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35312 pointers as (void *) to remove a warning.
35313 (grub_ofdisk_close): Likewise.
35314 (grub_ofdisk_read): Likewise.
35315 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35316 returns, so make it return void to remove a warning.
35317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35318 Corresponding prototype change.
35319 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35320 values, and cast the pointers as (void *) to remove a warning.
35321 (grub_mm_dump): Likewise.
35322 * conf/sparc64-ieee1275.mk: New file.
35323 * conf/sparc64-ieee1275.rmk: Likewise.
35324 * include/grub/sparc64/setjmp.h: Likewise.
35325 * include/grub/sparc64/types.h: Likewise.
35326 * include/grub/sparc64/ieee1275/console.h: Likewise.
35327 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35328 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35329 * include/grub/sparc64/ieee1275/time.h: Likewise.
35330 * kern/sparc64/cache.c: Likewise.
35331 * kern/sparc64/dl.c: Likewise.
35332 * kern/sparc64/ieee1275/init.c: Likewise.
35333 * kern/sparc64/ieee1275/openfw.c: Likewise.
35334
385c6a92 353352005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35336
35337 * util/console.c (grub_ncurses_putchar): If C is greater than
35338 0x7f, set C to a question mark.
35339 (grub_ncurses_getcharwidth): New function.
35340 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35341 getcharwidth.
35342
35343 * normal/menu.c (print_entry): Made aware of Unicode. First,
35344 convert TITLE to UCS-4, and predict the cursor position by
35345 grub_getcharwidth.
35346
35347 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35348 const to SRC.
35349 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35350
16ccb8b1 353512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35352
35353 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35354 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35355 grub_strcat.
35356
35357 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35358 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35359 grub_strcpy and grub_strlen. Take it into account that a space
35360 character is inserted as a delimiter.
35361
6a85ce79 353622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35363
35364 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35365 invalid magic in the error.
6a85ce79 35366
35367 * commands/search.c: New file.
f19dbdb7 35368
6a85ce79 35369 * util/grub-emu.c (main): Call grub_search_init and
35370 grub_search_fini.
35371
35372 * kern/rescue.c (grub_rescue_print_disks): Removed.
35373 (grub_rescue_print_devices): New function.
35374 (grub_rescue_cmd_ls): Use grub_device_iterate with
35375 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35376 grub_rescue_print_disks.
35377
35378 * kern/partition.c (grub_partition_iterate): Return the result of
35379 PARTMAP->ITERATE instead of GRUB_ERRNO.
35380
35381 * kern/device.c: Include grub/partition.h.
35382 (grub_device_iterate): New function.
35383
35384 * include/grub/partition.h (grub_partition_iterate): Return int
35385 instead of grub_err_t.
35386
35387 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35388 prototype.
35389 [GRUB_UTIL] (grub_search_fini): Likewise.
35390
35391 * include/grub/device.h (grub_device_iterate): New prototype.
35392
35393 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35394 commands/search.c.
35395 (pkgdata_MODULES): Added search.mod.
35396 (search_mod_SOURCES): New variable.
35397 (search_mod_CFLAGS): Likewise.
35398
35399 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35400 (pkgdata_MODULES): Added search.mod.
35401 (search_mod_SOURCES): New variable.
35402 (search_mod_CFLAGS): Likewise.
35403
35404 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35405 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35406 All callers changed.
35407
35408 * DISTLIST: Added commands/search.c.
35409
ef095434 354102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35411
35412 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35413 conversion.
35414 (grub_getcharwidth): New function.
35415
35416 * kern/misc.c (grub_utf8_to_ucs4): New function.
35417
35418 * include/grub/term.h (struct grub_term): Added a new member
35419 "getcharwidth".
35420 (grub_getcharwidth): New prototype.
35421
35422 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35423
35424 * term/i386/pc/console.c (map_char): New function. Segregated from
35425 grub_console_putchar.
35426 (grub_console_putchar): Use map_char.
35427 (grub_console_getcharwidth): New function.
35428 (grub_console_term): Specified grub_console_getcharwidth as
35429 getcharwidth.
35430
35431 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35432 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35433
35434 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35435 GRUB_ERRNO.
35436 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35437 on grub_strtoul completely.
35438 (write_char): Declare local variables in the beginning of the
35439 function.
35440 (grub_vesafb_getcharwidth): New function.
35441 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35442 getcharwidth.
35443
1f0a95e4 354442005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35445
35446 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35447 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35448 commands/i386/pc/vbetest.c.
35449
35450 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35451 call grub_vbe_get_controller_info again, because the returned
35452 information is volatile.
35453 (grub_vbe_set_video_mode): Mostly rewritten.
35454 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35455 grub_vbe_status_t correctly.
35456 (grub_vbe_get_video_mode_info): Likewise.
35457 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35458 several if statements.
35459
35460 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35461 * commands/i386/pc/vbeinfo.c: ... this.
35462
35463 * commands/i386/pc/vbe_test.c: Renamed to ...
35464 * commands/i386/pc/vbetest.c: ... this.
35465
35466 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35467 ...
35468 (grub_cmd_vbeinfo): ... this. Save video modes before
35469 iterating. Skip a video mode, if it is not available, not enough
35470 information is given or it is monochrome. Show the memory
35471 model. Leave the interpretation of MODEVAR to grub_strtoul
35472 completely.
35473 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35474 (GRUB_MOD_FINI): Likewise.
35475
35476 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35477 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35478 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35479 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35480 grub_strtoul completely.
35481 (real2pm): Removed.
35482 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35483 (GRUB_MOD_FINI): Likewise.
35484
35485 * normal/misc.c: Include grub/mm.h.
35486
35487 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35488 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35489 (vbe_list_modes_mod_SOURCES): Removed.
35490 (vbe_list_modes_mod_CFLAGS): Likewise.
35491 (vbe_test_mod_SOURCES): Likewise.
35492 (vbe_test_mod_CFLAGS): Likewise.
35493 (vbeinfo_mod_SOURCES): New variable.
35494 (vbeinfo_mod_CFLAGS): Likewise.
35495 (vbetest_mod_SOURCES): Likewise.
35496 (vbetest_mod_CFLAGS): Likewise.
35497
992ffbbe 354982005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35499
35500 * normal/misc.c: New file.
35501
35502 * DISTLIST: Added normal/misc.c.
f19dbdb7 35503
992ffbbe 35504 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35505 DISK to HOOK. Call HOOK with DISK.
35506 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35507 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35508 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35509
35510 * normal/menu_entry.c (struct screen): Added a new member
35511 "completion_shown".
35512 (completion_buffer): New global variable.
35513 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35514 (store_completion): New function.
35515 (complete): Likewise.
35516 (clear_completions): Likewise.
35517 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35518 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35519 a tab, call complete.
35520
35521 * normal/completion.c (disk_dev): Removed.
35522 (print_simple_completion): Likewise.
35523 (print_partition_completion): Likewise.
35524 (print_func): New global variable.
35525 (add_completion): Do not take the arguments WHAT or PRINT any
35526 longer. Added a new argument TYPE. Instead of printing directly,
35527 call PRINT_FUNC if not NULL.
35528 All callers changed.
35529 (complete_device): Use a local variable DEV instead of
35530 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35531 (grub_normal_do_completion): Take a new argument HOOK. Do not
35532 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35533 empty string, return NULL instead.
35534 All callers changed.
35535
35536 * normal/cmdline.c (print_completion): New function.
35537
35538 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35539 to HOOK.
35540 All callers changed.
35541
35542 * kern/disk.c (grub_print_partinfo): Removed.
35543
35544 * include/grub/partition.h (struct grub_partition_map): Add a new
35545 argument DISK into HOOK of ITERATE.
35546 (grub_partition_iterate): Add a new argument DISK to HOOK.
35547
35548 * include/grub/normal.h (enum grub_completion_type): New enum.
35549 (grub_completion_type_t): New type.
35550 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35551 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35552 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35553 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35554 (grub_normal_do_completion): Added a new argument HOOK.
35555 (grub_normal_print_device_info): New prototype.
35556
35557 * include/grub/disk.h (grub_print_partinfo): Removed.
35558
35559 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35560 (normal_mod_SOURCES): Likewise.
35561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35562 (normal_mod_SOURCES): Likewise.
35563
35564 * commands/ls.c (grub_ls_list_disks): Use
35565 grub_normal_print_device_info instead of grub_print_partinfo. Free
35566 PNAME.
35567 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35568 duplicating the code.
35569
0bd41162 355702005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35571
35572 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35573 follow GCS more precisely.
35574 * commands/i386/pc/vbe_test.c: Likewise.
35575 * include/grub/i386/pc/vbe.h: Likewise.
35576 * term/i386/pc/vesafb.c: Likewise.
35577 * video/i386/pc/vbe.c: Likewise.
0bd41162 35578
6323696a 355792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35580
35581 * DISTLIST: Added term/i386/pc/vesafb.c
35582 DISTLIST: Added video/i386/pc/vbe.c
35583 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35584 DISTLIST: Added commands/i386/pc/vbe_test.c.
35585 * commands/i386/pc/vbe_list_modes.c: New file.
35586 * commands/i386/pc/vbe_test.c: Likewise.
35587 * term/i386/pc/vesafb.c: Likewise.
35588 * video/i386/pc/vbe.c: Likewise.
35589 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35590 (grub_vbe_probe) Added prototype.
35591 (grub_vbe_set_video_mode) Likewise.
35592 (grub_vbe_get_video_mode) Likewise.
35593 (grub_vbe_get_video_mode_info) Likewise.
35594 (grub_vbe_set_pixel_rgb) Likewise.
35595 (grub_vbe_set_pixel_index) Likewise.
35596 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35597 (pkgdata_MODULES): Added vesafb.mod.
35598 (pkgdata_MODULES): Added vbe_list_modes.mod.
35599 (pkgdata_MODULES): Added vbe_test.mod.
35600 (vbe_mod_SOURCES): Added.
35601 (vbe_mod_CFLAGS): Likewise.
35602 (vesafb_mod_SOURCES): Likewise.
35603 (vesafb_mod_CFLAGS): Likewise.
35604 (vbe_list_modes_mod_SOURCES): Likewise.
35605 (vbe_list_modes_mod_CFLAGS): Likewise.
35606 (vbe_test_mod_SOURCES): Likewise.
35607 (vbe_test_mod_CFLAGS): Likewise.
35608
0a74e62f 356092005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35610
0a74e62f 35611 * normal/command.c (grub_command_execute): If INTERACTIVE is
35612 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35613 CMDLINE. Disable the pager if INTERACTIVE is true.
35614 All callers are changed.
35615
35616 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35617 before reading a config file.
35618 * normal/main.c (read_config_file): Even if a command is not
35619 found, register it if it is within an entry.
35620
35621 * util/grub-emu.c: Include sys/types.h and unistd.h.
35622 (options): Added --hold.
35623 (struct arguments): Added a new member "hold".
35624 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35625 missing.
35626 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35627 cleared by a debugger, if it is not zero.
35628
35629 * include/grub/normal.h (grub_command_execute): Add an argument
35630 INTERACTIVE.
35631
e51f85ae 356322005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35633
35634 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35635
e9c6f39b 356362005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35637
35638 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35639 program with another one, because the old one didn't detect a bug
35640 in gcc-3.4. Always use regparm 2, because the new test is still
35641 not enough for gcc-4.0. Someone must investigate a simple test
35642 case which detects a bug in gcc-4.0.
35643
8de3495c 356442005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35645
35646 * DISTLIST: Added normal/completion.c.
35647
35648 * normal/completion.c: New file.
f19dbdb7 35649
8de3495c 35650 * term/i386/pc/console.c (grub_console_getwh): New function.
35651 (grub_console_term): Assign grub_console_getwh to getwh.
35652
35653 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35654 function is defined in normal/completion.c as
35655 grub_normal_do_completion.
35656 (grub_cmdline_get): Use grub_normal_do_completion instead of
35657 grub_tab_complete.
35658
35659 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35660 returns non-zero, otherwise return 0.
35661 (grub_partition_iterate): First, probe the partition map. Then,
35662 call ITERATE only for this partition map.
35663
35664 * kern/misc.c (grub_strncmp): Rewritten.
35665
35666 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35667 returns non-zero. Otherwise return 0.
35668
35669 * include/grub/partition.h (grub_partition_map_iterate): Return
35670 int instead of void.
35671
35672 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35673
35674 * include/grub/misc.h (grub_strncmp): Change the type of N to
35675 grub_size_t.
35676
35677 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35678 of void.
35679
35680 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 35681 unsigned explicitly before comparing it with I.
8de3495c 35682
35683 * kern/main.c (grub_env_write_root): Add the attribute unused into
35684 VAR.
35685
35686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35687 normal/completion.c.
35688 (normal_mod_SOURCES): Likewise.
35689 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35690 (normal_mod_SOURCES): Likewise.
35691
35692 * normal/command.c (grub_iterate_commands): If ITERATE returns
35693 non-zero, return one immediately.
35694
e85e144b 356952005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35696
35697 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35698 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35699 descriptions.
35700 (grub_vbe_get_controller_info): New function.
35701 (grub_vbe_get_mode_info): Likewise.
35702 (grub_vbe_set_mode): Likewise.
35703 (grub_vbe_get_mode): Likewise.
35704 (grub_vbe_set_memory_window): Likewise.
35705 (grub_vbe_get_memory_window): Likewise.
35706 (grub_vbe_set_scanline_length): Likewise.
35707 (grub_vbe_get_scanline_length): Likewise.
35708 (grub_vbe_set_display_start): Likewise.
35709 (grub_vbe_get_display_start): Likewise.
35710 (grub_vbe_set_palette_data): Likewise.
35711 * include/grub/i386/pc/vbe.h: New file.
35712
c46153d2 357132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35714
35715 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35716 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
35717 * DISTLIST: Likewise.
35718 * kern/ieee1275/of.c: Moved to ...
35719 * kern/ieee1275/ieee1275.c: ... here.
35720
0cb90c45 357212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35722
35723 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
35724 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
35725 Pass 0 as `end' parameter to grub_strtoul().
35726
a19fb360 357272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35728
35729 * include/grub/powerpc/ieee1275/console.h: Do not include
35730 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
35731 ifdef.
35732 (grub_console_cur_color): Remove i386-specific prototype.
35733 (grub_console_real_putchar): Likewise.
35734 (grub_console_checkkey): Likewise.
35735 (grub_console_getkey): Likewise.
35736 (grub_console_getxy): Likewise.
35737 (grub_console_gotoxy): Likewise.
35738 (grub_console_cls): Likewise.
35739 (grub_console_setcursor): Likewise.
35740 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
35741 Include <grub/machine/console.h>.
35742 * term/ieee1275/ofconsole.c: Likewise.
35743
4ac9bd04 357442005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
35745
35746 * Makefile.in (LIBLZO): New variable.
35747
35748 * configure.ac: Check for LZO version 2.
35749
35750 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
35751 lzo/lzo1x.h instead of lzo1x.h.
35752
35753 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
35754 of -llzo.
35755
35756 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
35757 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
35758
35759 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
35760 copying the data from PARTITION to P.
35761
f4917dfd 357622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35763
35764 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
35765 negative, unload the module.
35766
35767 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
35768 map is "pc_partition_map" but not "pc".
35769 (usage): Fix the description. The options are --boot-image and
35770 --core-image but not --boot-file or --core-file.
35771 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
35772 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
35773 DEFAULT_DIRECTORY.
35774
35775 * util/i386/pc/grub-install.in: Do not specify --boot-file or
35776 --core-file. Specify INSTALL_DEVICE as an argument.
35777
35778 * util/console.c: Include config.h.
35779 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
35780 [HAVE_NCURSES_H]: Include ncurses.h.
35781 [HAVE_CURSES_H]: Include curses.h.
35782 [!A_NORMAL] (A_NORMAL): Defined as zero.
35783 [!A_STANDOUT] (A_STANDOUT): Likewise.
35784
35785 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
35786 -lncurses.
35787 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
35788
35789 * configure.ac: Check for curses libraries and headers.
35790
35791 * Makefile.in (LIBCURSES): New variable.
35792
35793 * genmk.rb (Script::rule): Set the executable bits.
35794
35795 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
35796 name of the PC partition map is "pc_partition_map" but not "pc".
35797
0e143073 357982005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35799
35800 * util/i386/pc/grub-install.in (grub_probefs): New variable.
35801 (modules): Likewise.
35802 (usage): Added descriptions for --modules and --grub-probefs.
35803 Handle --modules and --grub-probefs. Save the arguments in MODULES
35804 and GRUB_PROBEFS, respectively.
35805 Auto-detect a filesystem module against GRUBDIR. If the result is
35806 empty and modules are not specified explicitly, abort the
35807 installation. Add the result to MODULES.
35808
35809 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
35810 disk/powerpc/ieee1275/ofdisk.c,
35811 include/grub/powerpc/ieee1275/init.h and
35812 term/powerpc/ieee1275/ofconsole.c.
35813 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
35814 term/ieee1275/ofconsole.c.
35815
35816 * include/grub/powerpc/ieee1275/console.h: Resurrected.
35817
35818 * COPYING: Upgraded to the latest version. Only the address of the
35819 FSF office has changed.
f19dbdb7 35820
efd6e6d5 358212005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35822
35823 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35824 kern/ieee1275.c with kern/ieee1275/of.c.
35825
35826 * kern/ieee1275.c: Moved to ...
35827 * kern/ieee1275/of.c: ... here.
35828
8ceafda2 358292005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
35830
35831 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 35832 readability.
8ceafda2 35833
35834 * config.guess: Updated to the latest version from gnulib.
35835 * config.sub: Likewise.
35836 * install.sh: Likewise.
35837 * mkinstalldirs: Likewise.
35838
35839 * include/grub/console.h: Removed. This file is arch-specific. Do
35840 not put this in include/grub.
35841
35842 * include/grub/i386/pc/console.h: Resurrected.
35843
35844 * util/console.c: Include grub/machine/console.h instead of
35845 grub/console.h.
35846 * util/grub-emu.c: Likewise.
35847
267f6cd9 358482005-08-04 Marco Gerards <metgerards@student.han.nl>
35849
35850 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
35851 hardcoded value.
f19dbdb7 35852
267f6cd9 35853 From Vincent Pelletier <subdino2004@yahoo.fr>
35854 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
35855 Redefined to use grub_getwh.
35856 (grub_term): New member named getwh.
35857 (grub_getwh): New prototype.
35858 * kern/term.c (grub_getwh): New function.
35859 * term/i386/pc/console.c (grub_console_getwh): New function.
35860 (grub_console_term): New member `getwh'.
35861 * term/i386/pc/vga.c (grub_vga_getwh): New function.
35862 (grub_vga_term): New member `getwh'.
0b5abe02 35863 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 35864 grub_ssize_t.
35865 (grub_ofconsole_getw): New function.
35866 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
35867 (grub_ofconsole_term): New field named getwh and new initial
35868 value.
35869
3be7266d 358702005-08-03 Hollis Blanchard <hollis@penguinppc.org>
35871
35872 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
35873 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
35874 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
35875 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
35876 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
35877 of <grub/machine/ieee1275.h>.
35878 * commands/ieee1275/reboot.c: Likewise.
35879 * boot/powerpc/ieee1275/ieee1275.c: Move ...
35880 * kern/ieee1275.c: ... to here. All users updated. Change all
35881 parameter structs to use new type `grub_ieee1275_cell_t'.
35882 * term/powerpc/ieee1275/ofconsole.c: Move ...
35883 * term/ieee1275/ofconsole.c: ... to here. All users updated.
35884 * disk/powerpc/ieee1275/ofdisk.c: Move ...
35885 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
35886 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
35887 to return int.
35888 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
35889 Remove unused prototypes. All users updated.
35890 * include/grub/powerpc/ieee1275/console.h: Removed.
35891 * include/grub/powerpc/ieee1275/ieee1275.h: Define
35892 `grub_ieee1275_cell_t'.
35893 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
35894 Cast comparisons with -1 to the correct type.
35895 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
35896 type to match `grub_ieee1275_entry_fn'.
35897
8b5f3938 358982005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
35899
35900 * DISTLIST: Added util/i386/pc/grub-probefs.c.
35901
35902 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
35903 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
35904 partmap/sun.c.
35905 (grub_probefs_SOURCES): New variable.
35906
35907 * util/i386/pc/grub-probefs.c: New file.
35908
35909 * util/i386/pc/grub-setup.c (main): Call
35910 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
35911 grub_hfs_init and grub_jfs_init to initialize the system. Call
35912 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
35913 grub_pc_partition_map_fini to finish the system.
35914
ea409713 359152005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
35916
35917 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
35918 function.
35919 (grub_multiboot_load_elf32): Likewise.
35920 (grub_multiboot_is_elf64): Likewise.
35921 (grub_multiboot_load_elf64): Likewise.
35922 (grub_multiboot_load_elf): Likewise.
35923 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
35924 an ELF32 or ELF64 file.
35925 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
35926
35927 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
35928 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
35929 NULL before calling FS->LABEL.
35930 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
35931 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
35932 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
35933 before calling FS->LABEL.
35934
141a288b 359352005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
35936
35937 * util/i386/pc/grub-install.in (datadir): New variable.
35938 (libdir): Removed.
35939 (pkgdatadir): New variable.
35940 (pkglibdir): Removed.
35941
0d5f8a54 359422005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
35943
35944 * DISTLIST: Added util/i386/pc/grub-install.in.
35945
35946 * util/i386/pc/grub-install.in: New file.
35947
35948 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35949 (grub_install_SOURCES): Likewise.
35950
35951 * genmk.rb: Added support for scripts.
35952 (Script): New class.
35953 (scripts): New variable.
35954
35955 * Makefile.in (install-local): Install sbin_SCRIPTS by
35956 INSTALL_SCRIPT.
35957 (uninstall): Remove sbin_SCRIPTS.
35958
35959 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35960 device, try to get a GRUB device by
35961 grub_util_biosdisk_get_grub_dev.
35962 Free DEST_DEV.
35963
35964 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35965 description for --device-map.
35966
5f968e1e 359672005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35968
35969 Change the semantics of variable hooks. They now return strings
35970 instead of error values.
f19dbdb7 35971
5f968e1e 35972 * util/i386/pc/grub-setup.c: Include grub/env.h.
35973 (setup): Use grub_device_set_root instead of grub_env_set.
35974
35975 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35976 grub_env_get instead of grub_device_set_root and
35977 grub_device_get_root, respectively.
35978
35979 * kern/main.c (grub_env_write_root): New function.
35980 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35981 grub_env_set instead of grub_device_set_root.
35982
35983 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35984 many variables.
35985 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35986 rather than calling ENV->WRITE_HOOK afterwards.
35987 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35988 passing a pointer of a pointer.
35989 (grub_register_variable_hook): Change the types of "read_hook" and
35990 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35991 respectively.
35992 Allocate the default empty string on the heap, because this string
35993 may be freed later.
35994
35995 * kern/device.c: Include grub/env.h.
35996 (grub_device_set_root): Removed.
35997 (grub_device_get_root): Likewise.
35998 (grub_device_open): Use grub_env_get instead of
35999 grub_device_get_root.
36000
36001 * include/grub/env.h (grub_env_read_hook_t): New type.
36002 (grub_env_write_hook_t): Likewise.
36003 (grub_env_var): Change the types of "read_hook" and "write_hook"
36004 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36005 (grub_register_variable_hook): Likewise.
36006
36007 * include/grub/device.h (grub_device_set_root): Removed.
36008 (grub_device_set_root): Likewise.
36009
36010 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36011 make sure that DIRNAME terminates with '/', so that
36012 grub_fat_find_dir will fail if PATH is not a directory.
36013
36014 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36015 from DIRNAME.
36016 Use the qualifier auto for print_files and print_files_long.
36017 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36018 as a regular file.
36019 Put a newline only if there is no error.
36020 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36021 used.
36022
896f0afd 360232005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36024
36025 * kern/partition.c (grub_partition_probe): Initialize PART to
36026 NULL. Otherwise, when no partition map is registered, this returns
36027 a garbage.
36028
b28b81b2 360292005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36030
36031 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36032 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36033 valid.
36034
5f3607e0 360352005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36036
36037 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36038 information on each device, if it does not have partitions. Print
36039 "Device" instead of "Disk", because this function is not specific
36040 to disk devices.
36041
36042 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36043 static to ensure that it is put on the memory rather than a
36044 register.
36045
502c87e8 360462005-07-17 Yoshinori Okuji <okuji@enbug.org>
36047
36048 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36049 (grub_cat_init): Likewise.
36050 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36051 (options): Likewise.
36052 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36053 (grub_configfile_init): Likewise.
36054 * font/manager.c (GRUB_MOD_INIT): Likewise.
36055 * commands/help.c (GRUB_MOD_INIT): Likewise.
36056 (grub_help_init): Likewise.
36057 * normal/command.c (grub_command_init): Likewise.
36058 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36059 * disk/loopback.c (grub_loop_init): Likewise.
36060 (GRUB_MOD_INIT): Likewise.
36061 * commands/ls.c (grub_ls_init): Likewise.
36062 (GRUB_MOD_INIT): Likewise.
36063 (options): Likewise.
36064 * commands/boot.c (grub_boot_init): Likewise.
36065 (GRUB_MOD_INIT): Likewise.
36066 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36067 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36068 (GRUB_MOD_INIT): Likewise.
36069 * commands/cmp.c (grub_cmp_init): Likewise.
36070 (GRUB_MOD_INIT): Likewise.
36071
36072 * normal/arg.c: Use <> instead of "" to include header files.
36073 (SHORT_ARG_HELP): New macro.
36074 (SHORT_ARG_USAGE): Likewise.
36075 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36076 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36077 descriptions.
36078 (find_short): Check if C is 'h' or 'u' explicitly.
36079 (grub_arg_show_help): Use space characters instead of tabs. Treat
36080 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36081 are shown with --help and --usage only if they are not used for
36082 the command itself.
36083 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36084 'h' and 'u'.
36085
36086 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36087 const into "longarg". Change the type of "shortarg" to int.
36088
f806d18e 360892005-07-17 Yoshinori Okuji <okuji@enbug.org>
36090
36091 * boot/i386/pc/boot.S (boot_drive_check): New label.
36092
36093 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36094 macro.
36095
36096 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36097 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36098
e293232b 360992005-07-17 Yoshinori Okuji <okuji@enbug.org>
36100
36101 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36102 When turning off Gate A20, skip the check and return immediately,
36103 because this is not fatal usually.
36104
ebedfd00 361052005-07-17 Yoshinori Okuji <okuji@enbug.org>
36106
36107 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36108 be 0x7C00 instead of 0x8000.
36109
36110 * boot/i386/pc/pxeboot.S: Rewritten.
36111
36112 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36113 EXT_C.
36114 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36115 result.
36116
654fc59f 361172005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36118
36119 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36120 robustness. This routine now supports a BIOS call and System
36121 Control Port A to modify the gate A20.
36122
36123 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36124 Increased to 0x440.
36125
09f9923f 361262005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36127
36128 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36129 device path and resulting ihandle.
36130 (grub_ofdisk_close): dprintf the ihandle being closed.
36131 (grub_ofdisk_read): dprintf function parameters.
36132 * kern/mm.c (grub_mm_init_region): Likewise.
36133 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36134 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36135 size, and boot arguments.
36136 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36137 before loading into memory.
36138 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36139 before loading into memory.
36140
7ef504d8 361412005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36142
36143 * kern/mm.c: Added much documentation.
36144 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36145 8, set to 5 instead of 8.
36146
e0f050c2 361472005-07-10 Yoshinori Okuji <okuji@enbug.org>
36148
36149 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36150
36151 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36152 (grub_mkdevicemap_SOURCES): New variable.
36153
36154 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36155 lib/device.c of GRUB Legacy.
36156
7224189a 361572005-07-10 Yoshinori Okuji <okuji@enbug.org>
36158
36159 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36160 instead of PATH is NULL.
36161
68c864eb 361622005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36163
36164 * commands/cmp.c (BUFFER_SIZE): New macro.
36165 (grub_cmd_cmp): Close the right file at the right time. Compare
36166 only data just read. Don't report files of different size as
36167 identical. Dynamically allocate buffers. Move variable
36168 declarations at the beginning of function.
36169
e6f3e614 361702005-07-09 Yoshinori Okuji <okuji@enbug.org>
36171
36172 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36173 reverse.
36174
f8f1559a 361752004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36176
36177 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36178 when backspace is pressed at beginning of line.
36179
39c9d41d 361802005-07-03 Yoshinori Okuji <okuji@enbug.org>
36181
36182 * DISTLIST: Added genfslist.sh.
36183
36184 * normal/main.c (fs_module_list): New variable.
36185 (autoload_fs_module): New function.
36186 (read_fs_list): Likewise.
36187 (grub_normal_execute): Call read_fs_list.
36188
36189 * kern/fs.c (grub_fs_autoload_hook): New variable.
36190 (grub_fs_probe): Added support for auto-loading.
36191
36192 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36193 (grub_fs_module_list_t): New type.
36194
36195 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36196 (grub_fs_autoload_hook): New prototype.
36197
36198 * genfslist.sh: New file.
f19dbdb7 36199
39c9d41d 36200 * genmk.rb: Added a rule to generate a filesystem list.
36201
121c1d83 362022005-06-30 Marco Gerards <metgerards@student.han.nl>
36203
36204 * configure.ac: Fix the test for cross-compiling.
36205
36206 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36207 define GRUB_UTIL anymore.
36208
36209 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36210 so this function works on other systems than just big endian.
36211 (load_modules): Likewise.
36212 (add_segments): Likewise.
36213
e75d76e1 362142005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36215
36216 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36217 contains `l' modifier, get a long from va_arg().
36218
50b5a0a7 362192005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36220
36221 * kern/mm.c (grub_free): If the next free block which is being
36222 merged is the first free block, set the first block to the block
36223 being freed.
36224 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36225
89371b20 362262005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36227
36228 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36229 `grub_ieee1275_chosen'.
36230
168d6e58 362312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36232
36233 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36234 (grub_ieee1275_chosen): New variable.
36235 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36236 `chosen'.
36237 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36238 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36239 Rename first argument to `phandle' for consistency.
36240 (grub_ieee1275_get_property_length): Likewise.
36241 (grub_ieee1275_next_property): Likewise. Change type of first argument
36242 to grub_ieee1275_phandle_t.
36243 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36244 Move export next to declaration.
36245 (grub_ieee1275_chosen): New variable.
36246 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36247 Correct cosmetic typo.
36248 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36249 `grub_ieee1275_chosen'.
36250 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36251 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36252 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36253 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36254 `grub_ieee1275_chosen'.
36255
ca5baa3f 362562005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36257
36258 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36259 /chosen/bootargs.
36260 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36261 /chosen/bootargs as "variable=value" pairs.
36262
708b345f 362632005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36264
36265 * include/grub/misc.h (grub_dprintf): New macro.
36266 (grub_real_dprintf): New prototype.
36267 (grub_strword): Likewise.
36268 (grub_iswordseparator): Likewise.
36269 * kern/misc.c (grub_real_dprintf): New function.
36270 (grub_strword): Likewise.
36271 (grub_iswordseparator): Likewise.
36272
f4c5e67c 362732005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36274
36275 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36276 (roundup): Remove macro.
36277 (grub_ieee1275_flags): Make static.
36278 (grub_ieee1275_realmode): Remove.
36279 (grub_ieee1275_test_flag): New function.
36280 (grub_ieee1275_set_flag): Likewise.
36281 (find_options): Rename to `grub_ieee1275_find_options'; update
36282 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36283 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36284 (cmain): New prototype.
36285 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36286 `grub_ieee1275_flags' directly.
36287 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36288 machine/biosdisk.h.
36289 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36290 Don't include grub/machine/init.h.
36291 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36292 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36293 Remove prototype.
36294 (grub_ieee1275_realmode): Likewise.
36295 (grub_ieee1275_flag): New enum.
36296 (grub_ieee1275_test_flag): New prototype.
36297 (grub_ieee1275_set_flag): New prototype.
36298 * include/grub/powerpc/ieee1275/init.h: Remove file.
36299 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36300 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36301 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36302 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36303 comment.
36304 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36305 `grub_ieee1275_test_flag'.
36306 (grub_ieee1275_encode_devname): Likewise.
36307
ed16607e 363082005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36309
36310 * include/grub/powerpc/ieee1275/ieee1275.h
36311 (grub_ieee1275_encode_devname): New prototype.
36312 (grub_ieee1275_get_filename): Likewise.
36313 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36314 function.
36315 (grub_set_prefix): Likewise.
36316 (grub_machine_init): Call grub_set_prefix.
36317 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36318 (grub_parse_type): New enum.
36319 (grub_ieee1275_get_devargs): New function.
36320 (grub_ieee1275_get_devname): Likewise.
36321 (grub_ieee1275_parse_args): Likewise.
36322 (grub_ieee1275_get_filename): Likewise.
36323 (grub_ieee1275_encode_devname): Likewise.
36324
be369920 363252005-03-30 Marco Gerards <metgerards@student.han.nl>
36326
36327 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36328 `grub_loader_unset'.
36329
a5ce3a4a 363302005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36331
36332 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36333 instead of grub_ieee1275_interpret.
36334 (grub_halt_init): New function.
36335 (grub_halt_fini): Likewise.
36336 (GRUB_MOD_INIT): Correct message grammar.
36337 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36338 instead of grub_ieee1275_interpret.
36339 (grub_reboot_init): New function.
36340 (grub_reboot_fini): Likewise.
36341 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36342 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36343 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36344 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36345 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36346 function.
36347 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36348 Add prototype.
36349 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36350 prototype.
36351 (grub_halt): Likewise.
36352 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36353 (cmain): Remove __attribute__((unused)).
36354 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36355 (grub_heap_len): Likewise.
36356 (grub_machine_fini): New function.
36357 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36358 (grub_halt): Likewise.
36359 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36360 function.
36361 * util/powerpc/ieee1275/misc.c: New file.
36362
0058f771 363632005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36364
36365 * DISTLIST: New file.
36366 * gendistlist.sh: Likewise.
f19dbdb7 36367
0058f771 36368 * Makefile.in (COMMON_DISTFILES): Removed.
36369 (BOOT_DISTFILES): Likewise.
36370 (CONF_DISTFILES): Likewise.
36371 (DISK_DISTFILES): Likewise.
36372 (FS_DISTFILES): Likewise.
36373 (INCLUDE_DISTFILES): Likewise.
36374 (KERN_DISTFILES): Likewise.
36375 (LOADER_DISTFILES): Likewise.
36376 (TERM_DISTFILES): Likewise.
36377 (UTIL_DISTFILES): Likewise.
36378 (DISTFILES): Likewise.
36379 (uninstall): Uninstall files in $(pkgdata_DATA).
36380 (DISTLIST): New target.
36381 (distdir): Use the contents of the file DISTLIST to get a list of
36382 distributed files.
36383
46b3b8a5 363842005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36385
36386 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36387 descriptor. This is ported from GRUB Legacy.
36388
36389 * gencmdlist.sh: Added an extra semicolon to make it work with
36390 old sed versions. Reported by Robert Bihlmeyer
36391 <robbe@orcus.priv.at>.
36392
5822ff87 363932005-03-08 Yoshinori Okuji <okuji@enbug.org>
36394
36395 Automatic loading of commands is supported.
f19dbdb7 36396
5822ff87 36397 * normal/main.c (read_command_list): New function.
36398 (grub_normal_execute): Call read_command_list.
36399
36400 * normal/command.c (grub_register_command): Return zero or CMD.
36401 Allocate CMD->NAME from the heap.
36402 Initialize CMD->MODULE_NAME to zero.
36403 Find the same name as well. If the same command is found and it is
36404 a dummy command, overwrite members. If it is not a dummy command,
36405 return zero.
36406 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36407 (grub_command_find): If a dummy command is found, load a module
36408 and retry to find a command only once.
36409
36410 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36411 make sure that each command is loaded.
36412
36413 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36414 macro.
36415 (struct grub_command): Remove const from the member `name'.
36416 Add a new member `module_name'.
36417 (grub_register_command): Return grub_command_t.
36418
36419 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36420 sure that each command is loaded.
36421
36422 * genmk.rb (PModule::rule): Specify a module name without the
36423 suffix ".mod" to gencmdlist.sh.
36424
7b1f4b57 364252005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36426
36427 * gencmdlist.sh: New file.
f19dbdb7 36428
7b1f4b57 36429 * genmk.rb (PModule::rule): Generate a rule for a command list.
36430 Clean command.lst.
36431 Generate command.lst from $(COMMANDFILES).
36432
36433 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36434 (DATA): Added $(pkgdata_DATA).
36435 (install-local): Install files in $(pkgdata_DATA).
36436
062aaf39 364372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36438
36439 * term/i386/pc/vga.c (debug_command): Removed.
36440 (GRUB_MOD_INIT): Do not register the command "debug".
36441
36442 From Hollis Blanchard:
36443 * commands/configfile.c: New file.
36444 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36445 commands/configfile.c.
36446 (pkgdata_MODULES): Added configfile.mod.
36447 (configfile_mod_SOURCES): New variable.
36448 (configfile_mod_CFLAGS): Likewise.
36449 * conf/powerpc-ieee1275.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 * util/grub-emu.c (main): Call grub_configfile_init and
36455 grub_configfile_fini.
36456 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36457 prototype.
36458 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36459
cee01aa6 364602005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36461
36462 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36463 address.
36464
36465 * commands/help.c (grub_cmd_help): Do not print newlines after
36466 the last command in print_command_help.
36467
93f3a1d8 364682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36469
36470 * commands/default.h: New file.
36471 * commands/timeout.h: Likewise.
36472 * normal/context.c: Likewise.
f19dbdb7 36473
93f3a1d8 36474 * util/misc.c: Do not include sys/times.h.
36475 Include sys/time.h and grub/machine/time.h.
36476 (grub_get_rtc): Rewritten with gettimeofday.
36477
36478 * util/grub-emu.c (main): Call grub_default_init and
36479 grub_timeout_init before grub_normal_init, and call
36480 grub_timeout_fini and grub_default_fini after grub_main.
36481
36482 * util/console.c (grub_ncurses_checkkey): Return the read
36483 character or -1.
36484
36485 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36486 timeouts.
36487
36488 * normal/main.c (read_config_file): Push MENU. If this fails,
36489 print an error and wait for a user input.
36490 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36491 If a menu is empty or an error occurs, pop MENU.
36492 (grub_normal_execute): Pop and free MENU after grub_menu_run
36493 returns.
36494
36495 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36496
36497 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36498 include time.h.
36499 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36500 without GRUB_UTIL.
36501 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36502 time.h.
36503 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36504 without GRUB_UTIL.
36505
36506 * include/grub/normal.h (struct grub_menu_list): New struct.
36507 (grub_menu_list_t): New type.
36508 (struct grub_context): New struct.
36509 (grub_context_t): New type.
36510 (grub_register_command): Got rid of EXPORT_FUNC.
36511 (grub_unregister_command): Likewise.
36512 (grub_context_get): New prototype.
36513 (grub_context_get_current_menu): Likewise.
36514 (grub_context_push_menu): Likewise.
36515 (grub_context_pop_menu): Likewise.
36516 [GRUB_UTIL] (grub_default_init): Likewise.
36517 [GRUB_UTIL] (grub_default_fini): Likewise.
36518 [GRUB_UTIL] (grub_timeout_init): Likewise.
36519 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36520
36521 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36522 commands/timeout.c and normal/context.c.
36523 (pkgdata_MODULES): Added default.mod and timeout.mod.
36524 (normal_mod_SOURCES): Added normal/context.c.
36525 (default_mod_SOURCES): New variable.
36526 (default_mod_CFLAGS): Likewise.
36527 (timeout_mod_SOURCES): Likewise.
36528 (timeout_mod_CFLAGS): Likewise.
36529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36530 conf/i386-pc.rmk.
36531 (pkgdata_MODULES): Added default.mod and timeout.mod.
36532 (normal_mod_SOURCES): Added normal/context.c.
36533 (default_mod_SOURCES): New variable.
36534 (default_mod_CFLAGS): Likewise.
36535 (timeout_mod_SOURCES): Likewise.
36536 (timeout_mod_CFLAGS): Likewise.
36537
36538 * Makefile.in (all-local): Added $(MKFILES).
36539
4ed2e1dd 365402005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36541
36542 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36543 (grub_emu_SOURCES): Likewise.
36544 (pkgdata_MODULES): Add `sun.mod'.
36545 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36547 `partmap/sun.c'.
36548 (pkgdata_MODULES): Add `sun.mod'.
36549 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36550 * include/grub/partition.h (grub_sun_partition_map_init): New
36551 prototype.
36552 (grub_sun_partition_map_fini): Likewise.
36553 * partmap/sun.c: New file.
36554 * util/grub-emu.c (main): Initialize and de-initialize the sun
36555 partitionmap support.
36556
4d4e372e 365572005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36558
36559 This implements an Emacs-like menu entry editor.
f19dbdb7 36560
4d4e372e 36561 * normal/menu_entry.c: New file.
f19dbdb7 36562
4d4e372e 36563 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36564 characters to ASCII.
36565 (saved_char): New variable.
36566 (grub_ncurses_checkkey): Rewritten completely.
36567 (grub_ncurses_getkey): Likewise.
36568 (grub_ncurses_init): Call raw instead of cbreak.
36569
36570 * normal/menu.c (print_entry): Do not put a space.
36571 (init_page): Renamed to ...
36572 (grub_menu_init_page): ... this. All callers changed.
36573 (edit_menu_entry): Removed.
36574 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36575
36576 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36577
36578 * kern/misc.c (grub_vprintf): Call grub_refresh.
36579
36580 * normal/menu.c (DISP_LEFT): Renamed to ...
36581 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36582 * normal/menu.c (DISP_UP): Renamed to ...
36583 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36584 * normal/menu.c (DISP_RIGHT): Renamed to ...
36585 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36586 * normal/menu.c (DISP_DOWN): Renamed to ...
36587 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36588 * normal/menu.c (DISP_HLINE): Renamed to ...
36589 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36590 * normal/menu.c (DISP_VLINE): Renamed to ...
36591 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36592 * normal/menu.c (DISP_UL): Renamed to ...
36593 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36594 * normal/menu.c (DISP_UR): Renamed to ...
36595 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36596 * normal/menu.c (DISP_LL): Renamed to ...
36597 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36598 * normal/menu.c (DISP_LR): Renamed to ...
36599 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36600 * normal/menu.c (TERM_WIDTH): Renamed to ...
36601 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36602 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36603 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36604 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36605 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36606 * normal/menu.c (TERM_MARGIN): Renamed to ...
36607 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36608 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36609 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36610 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36611 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36612 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36613 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36614 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36615 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36616 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36617 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36618 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36619 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36620 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36621 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36622 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36623 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36624 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36625 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36626 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36627 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36628 All callers changed.
36629
36630 * include/grub/normal.h: New prototype.
36631
36632 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36633 normal/menu_entry.c.
36634 (normal_mod_SOURCES): Likewise.
36635 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36636 (normal_mod_SOURCES): Likewise.
36637
e6b92c8a 366382005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36639
36640 * include/grub/normal.h (grub_halt_init): New prototype.
36641 (grub_halt_fini): Likewise.
36642 (grub_reboot_init): Likewise.
36643 (grub_reboot_fini): Likewise.
36644
36645 * util/grub-emu.c: Include signal.h.
36646 (main_env): New global variable.
36647 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36648 catch C-c.
36649 (grub_machine_fini): New function.
36650 (main): Call grub_halt_init and grub_reboot_init before
36651 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36652 Call setjmp with MAIN_ENV to go back afterwards.
36653 Call grub_machine_fini right before return.
36654
36655 * include/grub/util/misc.h: Include setjmp.h.
36656 (main_env): New prototype.
36657
36658 * include/grub/kernel.h (grub_machine_fini): New prototype.
36659 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36660 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36661
36662 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36663 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36664 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 36665
e6b92c8a 36666 * util/i386/pc/misc.c: New file.
f19dbdb7 36667
e6b92c8a 36668 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36669 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36670 commands/i386/pc/reboot.c.
36671
c642636f 366722005-02-14 Guillem Jover <guillem@hadrons.org>
36673
36674 * include/grub/dl.h (grub_dl_check_header): New prototype.
36675 (grub_arch_dl_check_header): Change return type to grub_err_t,
36676 remove size parameter and export function. Update all callers.
36677 * kern/dl.c (grub_dl_check_header): New function.
36678 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36679 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36680 are inside the core.
36681 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36682 independent ELF header checks.
36683 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36684 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36685 `grub_dl_check_header' instead of explicit checks. Check for the
36686 ELF type.
36687 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36688 `grub_dl_check_header' instead of explicit checks. Remove arch
36689 specific ELF header checks.
36690
e6b92c8a 36691 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36692 argument SIZE.
36693
5eabe94b 366942005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36695
36696 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36697 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36698
1b14a681 366992005-02-12 Hollis Blanchard <hollis@penguinppc.org>
36700
36701 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 36702 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 36703 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 36704 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 36705 * partmap/amiga.c (amiga_partition_map_iterate): Return
36706 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
36707 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36708
aca108aa 367092005-02-01 Guillem Jover <guillem@hadrons.org>
36710
36711 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
36712 help info.
36713
c9f9c556 367142005-01-31 Marco Gerards <metgerards@student.han.nl>
36715
36716 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
36717 Removed prototype.
36718 (grub_rescue_cmd_linux): New prototype.
36719 (grub_rescue_cmd_initrd): Likewise.
36720 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
36721 `bi_rec'.
36722 (grub_linux_release_mem): Release the memory for the initrd.
36723 (grub_load_linux): Renamed from this...
36724 (grub_rescue_cmd_linux): ...To this. Changed all callers.
36725 Changed `entry' not to be static. Loop over memory regions to
36726 find another one when the default fails.
36727 (grub_rescue_cmd_initrd): New function.
36728 (grub_linux_init): Remove function.
36729 (grub_linux_fini): Likewise.
36730 (GRUB_MOD_INIT): Register `initrd'.
36731 (GRUB_MOD_FINI): Unregister `initrd'.
36732 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
36733 Function removed.
36734 (grub_linux_normal_fini): Likewise.
36735 (GRUB_MOD_INIT): Register `initrd'.
36736 (GRUB_MOD_FINI): Unregister `initrd'.
36737
990cf3aa 367382005-01-31 Marco Gerards <metgerards@student.han.nl>
36739
36740 * commands/help.c: New file.
36741 * normal/arg.c (show_help): Renamed to...
36742 (grub_arg_show_help): ... this.
36743 * commands/i386/pc/halt.c: New file.
36744 * commands/i386/pc/reboot.c: Likewise.
36745 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
36746 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
36747 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
36748 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
36749 variables.
36750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36751 `commands/help.c'.
36752 (pkgdata_MODULES): Add `help.mod'.
36753 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
36754 * grub/i386/pc/init.h (grub_reboot): New prototype.
36755 (grub_halt): Likewise.
36756 * include/grub/normal.h (grub_arg_show_help): New prototype.
36757 (grub_help_init): Likewise.
36758 (grub_help_fini): Likewise.
36759 * util/grub-emu.c (main): Initialize and deinitialize the help
36760 command.
36761
36762 * normal/cmdline.c (grub_cmdline_get): Doc fix.
36763
36764 * normal/command.c (grub_command_init): Fixed the description of
36765 the `set' and `unset' commands.
36766
367672005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 36768
36769 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
36770 function.
36771 * commands/ieee1275/halt.c: New file.
36772 * commands/ieee1275/reboot.c: Likewise.
36773 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
36774 `__attribute__ ((unused))'. Some GCS related fixed.
36775 (grub_suspend_init) [GRUB_UTIL]: Function removed.
36776 (grub_suspend_fini): Likewise.
36777 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
36778 and `halt.mod'.
36779 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
36780 (halt_mod_CFLAGS): New variables.
36781 * include/grub/powerpc/ieee1275/ieee1275.h
36782 (grub_ieee1275_interpret): New prototype.
36783
1ab09cc7 367842005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
36785
36786 * include/grub/misc.h (memmove): New prototype.
36787 (memcpy): Likewise.
36788
8b8cbdb2 367892005-01-22 Hollis Blanchard <hollis@penguinppc.org>
36790
36791 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
36792 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
36793
e3741a27 367942005-01-22 Marco Gerards <metgerards@student.han.nl>
36795
36796 * kern/misc.c (grub_strndup): Function rewritten.
36797
776bd780 367982005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
36799
36800 * normal/menu.c (TERM_WIDTH): Macro redefined.
36801 (TERM_TOP_BORDER_Y): Likewise.
36802 (draw_border): Replaced while-loop by a for-loop. Make the number
36803 of lines consistent with the number of lines displayed in
36804 print_entries. Added a margin below the rectangle.
36805 (print_entry): Make the entry fit in the rectangle.
36806 (print_entries): Display the scroll arrows next to the right
36807 border.
36808
78026bce 368092005-01-21 Marco Gerards <metgerards@student.han.nl>
36810
36811 * fs/minix.c (grub_minix_find_file): Reserve more space for
36812 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
36813 `grub_strncpy' to copy `path' into it.
36814
67bbaf0f 368152005-01-21 Marco Gerards <metgerards@student.han.nl>
36816
36817 Add the loopback device, a device via which files can be accessed
36818 as devices.
f19dbdb7 36819
67bbaf0f 36820 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
36821 (pkgdata_MODULES): Add loopback.mod.
36822 (loopback_mod_SOURCES): New variable.
36823 (loopback_mod_CFLAGS): Likewise.
36824 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36825 `disk/loopback.c'.
36826 (pkgdata_MODULES): Add loopback.mod.
36827 (loopback_mod_SOURCES): New variable.
36828 (loopback_mod_CFLAGS): Likewise.
36829 * disk/loopback.c: new file.
36830 * include/grub/normal.h (grub_loop_init): New prototype.
36831 (grub_loop_fini): New prototype.
36832 * util/grub-emu.c (main): Initialize and de-initialize loopback
36833 support.
36834 * include/grub/disk.h (grub_disk_dev_id): Add
36835 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
36836
6f1c18bd 368372005-01-20 Hollis Blanchard <hollis@penguinppc.org>
36838
36839 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
36840 function.
36841 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
36842 (suspend_mod_SOURCES): New variable.
36843 (suspend_mod_CFLAGS): Likewise.
36844 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
36845 New prototype.
36846 * commands/ieee1275/suspend.c: New file.
36847
b38551da 368482005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36849
36850 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 36851 ((unused))' to `__attribute__ ((used))'.
b38551da 36852 (GRUB_MOD_FINI): Likewise.
36853 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
36854 * genmk.rb (PModule): Assign space to common symbols when linking
36855 modules.
36856
777aff39 368572005-01-20 Marco Gerards <metgerards@student.han.nl>
36858
36859 * include/grub/mm.h (grub_mm_init_region): Change the type of the
36860 `unsigned' arguments to `grub_size_t'.
36861 (grub_malloc): Likewise.
36862 (grub_realloc): Likewise.
36863 (grub_memalign): Likewise.
36864 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
36865 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36866 * util/misc.c (grub_malloc): Likewise.
36867 (grub_realloc): Likewise.
36868 * kern/mm.c (get_header_from_pointer): Change the casts to
36869 `unsigned' into a cast to `grub_size_t'.
36870
36871 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
36872 point to `currnode' when `currnode' is changed.
36873
36874 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
36875 Schottelius <nico-linux@schottelius.org>.
36876
d0ff18e1 368772005-01-09 Hollis Blanchard <hollis@penguinppc.org>
36878
36879 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
36880 (note_path): Remove variable.
36881 (GRUB_IEEE1275_NOTE_NAME): New macro.
36882 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
36883 (grub_ieee1275_note_hdr): New structure.
36884 (grub_ieee1275_note_desc): Likewise.
36885 (grub_ieee1275_note): Likewise.
36886 (load_note): Remove `dir' argument. All callers updated. Remove
36887 `note_img' and `path'. Do not load a file from `note_path'.
36888 Initialize a struct grub_ieee1275_note and write that to `out'.
36889 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
36890
4ca7004c 368912005-01-05 Marco Gerards <metgerards@student.han.nl>
36892
36893 * util/misc.c (grub_util_read_image): Revert last change. It
36894 called `grub_util_read_at', which seeks from the beginning of the
36895 file.
36896
0b412211 368972005-01-04 Hollis Blanchard <hollis@penguinppc.org>
36898
36899 * TODO: Add note about endianness in grub-mkimage.
36900 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
36901 section.
36902 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
36903 (grub_mkimage_SOURCES): New target.
36904 * include/grub/kernel.h (grub_start_addr): Remove variable.
36905 (grub_end_addr): Likewise.
36906 (grub_total_module_size): Likewise.
36907 (grub_kernel_image_size): Likewise.
36908 (GRUB_MODULE_MAGIC): New constant.
36909 (grub_module_info): New structure.
36910 (grub_arch_modules_addr): New prototype.
36911 (grub_get_end_addr): Remove prototype.
36912 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
36913 * include/grub/powerpc/ieee1275/kernel.h: New file.
36914 * include/grub/util/misc.h (grub_util_get_fp_size): New
36915 prototype.
36916 (grub_util_read_at): Likewise.
36917 (grub_util_write_image_at): Likewise.
36918 * kern/main.c (grub_get_end_addr): Remove function.
36919 (grub_load_modules): Call grub_arch_modules_addr instead of using
36920 grub_end_addr. Look for a grub_module_info struct in memory. Use
36921 the grub_module_info fields instead of calling grub_get_end_addr
36922 as loop conditions. Move grub_add_unused_region code here.
36923 (grub_add_unused_region): Remove function.
36924 * kern/i386/pc/init.c: Include grub/cache.h.
36925 (grub_machine_init): Remove call to grub_get_end_addr. Remove
36926 one call to add_mem_region.
36927 (grub_arch_modules_addr): New function.
36928 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
36929 (grub_total_module_size): Likewise.
36930 Include grub/machine/kernel.h.
36931 (grub_arch_modules_addr): New function.
36932 * util/grub-emu.c (grub_end_addr): Remove variable.
36933 (grub_total_module_size): Likewise.
36934 (grub_arch_modules_addr): New function.
36935 * util/misc.c: Include unistd.h.
36936 (grub_util_get_fp_size): New function.
36937 (grub_util_read_at): Likewise.
36938 (grub_util_write_image_at): Likewise.
36939 (grub_util_read_image): Call grub_util_read_at.
36940 (grub_util_write_image): Call grub_util_write_image_at.
36941 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
36942 additional memory in kernel_img for a struct grub_module_info.
36943 Fill in that grub_module_info.
36944 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36945
458786f8 369462005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36947
36948 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36949 New function.
36950 * include/grub/powerpc/ieee1275/ieee1275.h
36951 (grub_ieee1275_milliseconds): New prototype.
36952 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36953 Change to 1000.
36954 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36955 grub_ieee1275_milliseconds.
36956
ac507d1b 369572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36958
36959 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36960 variable.
36961 (find_options): New function.
36962 (cmain): Call find_options.
36963 * include/grub/powerpc/ieee1275/ieee1275.h
36964 (grub_ieee1275_realmode): New extern variable.
36965 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36966 grub_map if grub_ieee1275_realmode is false.
36967
6b8fd1c4 369682004-12-29 Marco Gerards <metgerards@student.han.nl>
36969
36970 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36971 lines are inserted and make it work like readline. Reported by
36972 Vincent Pelletier <subdino2004@yahoo.fr>.
36973
8514a1e0 369742004-12-28 Marco Gerards <metgerards@student.han.nl>
36975
36976 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36977
36978 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36979 `kern/powerpc/cache.S'.
36980
924b6140 369812004-12-27 Marco Gerards <metgerards@student.han.nl>
36982
36983 * genmk.rb: Handle the `Program' class in the main loop. Written
36984 by Johan Rydberg <jrydberg@gnu.org>.
36985 (Program): New class.
36986 (programs): New variable.
36987 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36988 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36989 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36990 (help_arch): Function removed.
36991 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36992 `powerpc/libgcc.h' and `loader.h'.
36993 (pkgdata_PROGRAMS): New variable.
36994 (sbin_UTILITIES): Variable removed.
36995 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
36996 (grubof_SOURCES): Variable re-defined so it only includes the
36997 core functionality.
36998 (grubof_CFLAGS): Remove `-DGRUBOF'.
36999 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37000 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37001 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37002 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37003 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37004 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37005 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37006 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37007 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37008 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37009 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37010 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37011 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37012 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37013 (pc_mod_CFLAGS): New variables.
37014 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37015 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37016 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37017 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37018 Moved from here...
37019 * include/grub/i386/pc/init.h (grub_os_area_addr)
37020 (rub_os_area_size): ... to here.
37021 * include/grub/powerpc/ieee1275/ieee1275.h
37022 (grub_ieee1275_entry_fn): Export symbol.
37023 * include/grub/powerpc/ieee1275/init.h: New file.
37024 * include/grub/powerpc/libgcc.h: Likewise.
37025 * include/grub/cache.h: Likewise.
37026 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37027 <hollis@penguinppc.org>.
37028 * kern/dl.c: Include <grub/cache.h>.
37029 (grub_dl_flush_cache): New function.
37030 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37031 for this module.
37032 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37033 (grub_console_init): Removed prototypes.
37034 (grub_machine_init): Don't initialize the modules anymore.
37035 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37036 static.
37037 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37038 Macro undef removed.
37039 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37040 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37041 relocation `R_PPC_REL32'. Return an error when the relocation is
37042 unknown.
37043 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37044 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37045 * util/misc.c (grub_arch_sync_caches): Likewise.
37046
e4b47e0c 370472004-12-19 Marco Gerards <metgerards@student.han.nl>
37048
37049 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37050 `symlist.c', add `grubof_symlist.c'.
37051 (symlist.c): Variable removed.
37052 (grubof_HEADERS): Variable added.
37053 (grubof_symlist.c): New target.
37054 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37055 `kernel_img_HEADERS'.
37056 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37057 * kern/powerpc/dl.c: New file.
37058 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37059 Function removed.
37060 (grub_arch_dl_relocate_symbols): Likewise.
37061 (grub_register_exported_symbols): Likewise.
37062
4ceb3636 370632004-12-13 Marco Gerards <metgerards@student.han.nl>
37064
37065 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37066 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37067 to fail instead. Reported by Vincent Pelletier
37068 <subdino2004@yahoo.fr>.
37069
37070 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37071 it is not allocated. Reported by Vincent Pelletier
37072 <subdino2004@yahoo.fr>.
37073
37074 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37075 output so the output looks better.
f19dbdb7 37076
3f1578fe 370772004-12-04 Marco Gerards <metgerards@student.han.nl>
37078
37079 Modulize the partition map support and add support for the amiga
37080 partition map.
f19dbdb7 37081
3f1578fe 37082 * commands/ls.c: Include <grub/partition.h> instead of
37083 <grub/machine/partition.h>.
37084 * kern/disk.c: Likewise.
37085 * kern/rescue.c: Likewise.
37086 * loader/i386/pc/chainloader.c: Likewise.
37087 * normal/cmdline.c: Likewise.
37088 * kern/powerpc/ieee1275/init.c: Likewise.
37089 (grub_machine_init): Call `grub_pc_partition_map_init',
37090 `grub_amiga_partition_map_init' and
37091 `grub_apple_partition_map_init'.
37092 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37093 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37094 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37095 `partition.h' and `pc_partition.h'.
37096 (grub_setup_SOURCES): Remove
37097 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37098 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37099 (grub_emu_SOURCES): Likewise.
37100 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37101 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37102 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37104 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37105 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37106 (grubof_SOURCES): Likewise.
37107 * disk/i386/pc/partition.c: File removed.
37108 * disk/powerpc/ieee1275/partition.c: Likewise.
37109 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37110 * include/grub/i386/pc/partition.h: Likewise.
37111 * kern/partition.c: New file.
37112 * partmap/amiga.c: Likewise.
37113 * partmap/apple.c: Likewise.
37114 * partmap/pc.c: Likewise.
37115 * include/grub/partition.h: Likewise..
37116 * include/grub/pc_partition.h: Likewise.
37117 * util/grub-emu.c: Include <grub/partition.h> instead of
37118 <grub/machine/partition.h>.
37119 (main): Call `grub_pc_partition_map_init',
37120 `grub_amiga_partition_map_init' and
37121 `grub_apple_partition_map_init' and deinitialize afterwards.
37122 * util/i386/pc/biosdisk.c: Include `#include
37123 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37124 `<grub/machine/partition.h>'.
37125 * util/i386/pc/grub-setup.c: Likewise.
37126 * util/i386/pc/biosdisk.c: Likewise.
37127 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37128 partition information in case of a PC partition.
37129 * util/i386/pc/grub-setup.c: Include `#include
37130 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37131 `<grub/machine/partition.h>'.
37132 (setup): Only access the PC specific partition information in case
37133 of a PC partition.
37134
0ef4ced9 371352004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37136
0ef4ced9 37137 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37138 (grub_longjmp): Likewise.
37139 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37140 20.
37141 * normal/powerpc/setjmp.S: New file.
37142 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37143 `normal/powerpc/setjmp.S'.
37144 (grubof_CFLAGS): Add `-DGRUBOF'.
37145 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37146 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37147
19950e29 371482004-11-16 Marco Gerards <metgerards@student.han.nl>
37149
37150 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37151 property named `name'. Correctly handle the error returned by
37152 `grub_ieee1275_finddevice' if a device can not be opened.
37153
a2fea427 371542004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37155
37156 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37157 `actual' for negativity.
37158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37159 kern/fshelp.c.
37160
41ea0ea3 371612004-11-01 Marco Gerards <metgerards@student.han.nl>
37162
37163 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37164 (PAGE_OFFSET): New macro.
37165 (CRTC_ADDR_PORT): Likewise.
37166 (CRTC_DATA_PORT): Likewise.
37167 (START_ADDR_HIGH_REGISTER): Likewise.
37168 (START_ADDR_LOW_REGISTER): Likewise.
37169 (GRAPHICS_ADDR_PORT): Likewise.
37170 (GRAPHICS_DATA_PORT): Likewise.
37171 (READ_MAP_REGISTER): Likewise.
37172 (INPUT_STATUS1_REGISTER): Likewise.
37173 (INPUT_STATUS1_VERTR_BIT): Likewise.
37174 (page): New variable.
37175 (wait_vretrace): New function.
37176 (set_read_map): Likewise.
37177 (set_start_address): Likewise.
37178 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37179 the right page.
37180 (check_vga_mem): Take the page into account.
37181 (write_char): Likewise.
37182 (write_cursor): Likewise.
37183 (scroll_up): Likewise. Copy the page to the page that is not
37184 shown and switch between both pages.
37185 (grub_vga_putchar): Fix off by one error.
37186 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37187 account.
37188
ad0bd20b 371892004-11-01 Marco Gerards <metgerards@student.han.nl>
37190
37191 Add support for iso9660 (including rockridge).
f19dbdb7 37192
ad0bd20b 37193 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37194 (iso9660_mod_SOURCES): New variable.
37195 (iso9660_mod_CFLAGS): Likewise.
37196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37197 * include/grub/fs.h (grub_iso9660_init): New prototype.
37198 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37199 * fs/iso9660.c: New file.
37200
37201 * include/grub/misc.h (grub_strncat): New prototype.
37202 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37203
ad0bd20b 37204 * fs/hfs.c (grub_hfs_mount): Translate the error
37205 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37206 * fs/jfs.c (grub_jfs_mount): Likewise.
37207 * fs/ufs.c (grub_ufs_mount): Likewise.
37208
a5477a59 372092004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37210
37211 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37212 which initialized BAT registers.
37213 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37214 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37215 Move from here...
37216 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37217 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37218 ... to here.
37219 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37220 (grub_mapclaim): Likewise.
37221 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37222 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37223 hand.
37224
9304c1f8 372252004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37226
37227 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37228 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37229 -ffreestanding and -msoft-float.
37230
86f4ae25 372312004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37232
37233 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37234 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37235 set in grub_ieee1275_flags.
37236
38912228 372372004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37238
37239 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37240 prototype.
37241 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37242 grub_console_init first.
37243 Change the memory range used for grub_ieee1275_claim and
37244 grub_mm_init_region.
37245 Print an error message if the claim fails.
37246 Include <grub/misc.h>.
37247
d1923dc8 372482004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37249
37250 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37251 Call grub_children_iterate for device nodes of type `scsi',
37252 `ide', or `ata'.
37253 (grub_ofdisk_open): Remove manual device alias resolution.
37254 Fix memory leak when device cannot be opened.
f19dbdb7 37255 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37256 (grub_children_iterate): New prototype.
37257 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37258 New function.
37259 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37260 Return -1 if args.size was -1.
37261
4512e4f3 372622004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37263
37264 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37265 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37266 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37267 Open Firmware's memory for it; claim memory from _start to _end.
37268 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37269 (_end): New extern.
37270 (_start): Zero BSS from __bss_start to _end.
37271 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37272 New extern.
37273 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37274
4d61feb0 372752004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37276
ad0bd20b 37277 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37278 -1 if args.base was -1.
4d61feb0 37279
026fa2f9 372802004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37281
37282 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37283 escape sequence instead of a literal ^L. Also call
37284 grub_ofconsole_gotoxy.
37285
9f2220ef 372862004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37287
37288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37289 void * arguments to grub_addr_t. All callers updated. Also make
37290 the `result' argument optional.
37291 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37292 All callers updated.
37293
8a572cd7 372942004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37295
37296 * commands/ls.c (grub_ls_list_files): Use the string following the
37297 initial ')', if present, as the filesystem path.
37298 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37299
37300 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37301
18aa81f2 373022004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37303
37304 Make the source code of the menu interface more readable.
f19dbdb7 37305
18aa81f2 37306 * normal/menu.c: Include grub/mm.h.
37307 (TERM_WIDTH): New macro.
37308 (TERM_HEIGHT): Likewise.
37309 (TERM_INFO_HEIGHT): Likewise.
37310 (TERM_MARGIN): Likewise.
37311 (TERM_SCROLL_WIDTH): Likewise.
37312 (TERM_TOP_BORDER_Y): Likewise.
37313 (TERM_LEFT_BORDER_X): Likewise.
37314 (TERM_BORDER_WIDTH): Likewise.
37315 (TERM_MESSAGE_HEIGHT): Likewise.
37316 (TERM_BORDER_HEIGHT): Likewise.
37317 (TERM_NUM_ENTRIES): Likewise.
37318 (TERM_FIRST_ENTRY_Y): Likewise.
37319 (TERM_ENTRY_WIDTH): Likewise.
37320 (TERM_CURSOR_X): Likewise.
37321 (draw_border): Use macros instead of magic numbers.
37322 (print_entry): Likewise.
37323 (print_entries): Likewise.
37324 (run_menu): Likewise. Also, handle the key 'e'.
37325 (run_menu_entry): Ignore empty command lines.
37326 (print_message): Added a new argument EDIT. If EDIT is true,
37327 print a different message.
37328 (init_page): Likewise.
37329 (edit_menu_entry): New function. Not implemented yet.
37330
b47efe30 373312004-09-17 Marco Gerards <metgerards@student.han.nl>
37332
37333 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37334 can be loaded from normal mode.
f19dbdb7 37335
b47efe30 37336 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37337 `multiboot.mod'.
37338 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37339 (multiboot_mod_CFLAGS): New variables.
37340 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37341 * loader/i386/pc/multiboot_normal.c: Likewise.
37342
b47efe30 37343 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37344 attribute `unused'.
f19dbdb7 37345
b47efe30 37346 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37347 `fdiro' to read the mode information from instead of `diro'.
37348
37349 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37350 looking up a symlink.
37351
37352 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37353 macro.
37354 * normal/command.c (grub_command_execute): Don't parse the
37355 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37356 flags of the command.
37357
37358 * normal/menu.c (grub_menu_run): Fix typo.
37359
da75ac71 373602004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37361
37362 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37363
37364 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37365 `y + 1' instead of `y - 1'.
37366
37367 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37368
062b24c2 373692004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37370
37371 From Hollis Blanchard <hollis@penguinppc.org>:
37372 * kern/misc.c (memmove): New alias for grub_memmove.
37373 (memcmp): New alias for grub_memcmp.
37374 (memset): New alias for grub_memset.
f19dbdb7 37375 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37376 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37377 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37378 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37379
8ddad845 373802004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37381
37382 Added normal mode command `chainloader' as module chain.mod, which
37383 depends on normal.mod and _chain.mod.
f19dbdb7 37384
8ddad845 37385 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37386 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37387 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37388 Deleted prototype.
37389 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37390 but arguments parsing moved to ...
37391 (grub_chainloader_cmd): ... here. New function.
37392 * include/grub/i386/pc/chainloader.h: New file.
37393 * loader/i386/pc/chainloader_normal.c: Likewise.
37394
2c1f4ce3 373952004-09-11 Marco Gerards <metgerards@student.han.nl>
37396
37397 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37398 (grub_mkimage_LDFLAGS): Likewise.
37399 (grub_emu_SOURCES): Likewise.
37400 (kernel_img_HEADERS): Added fshelp.h.
37401 * fs/ext2.c: Include <grub/fshelp.h>.
37402 (FILETYPE_REG): New macro.
37403 (FILETYPE_INO_REG): Likewise.
37404 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37405 Changed all users.
37406 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37407 all users.
37408 (grub_fshelp_node): New struct.
37409 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37410 to a pointer.
37411 (grub_ext2_get_file_block): Removed function.
37412 (grub_ext2_read_block): New function.
37413 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37414 This function was written.
37415 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37416 (grub_ext2_find_file): Removed function.
37417 (grub_ext2_read_symlink): New function.
37418 (grub_ext2_iterate_dir): Likewise.
37419 (grub_ext2_open): Rewritten.
37420 (grub_ext2_dir): Rewritten.
37421 * include/grub/fshelp.h: New file.
37422 * fs/fshelp.c: Likewise.
37423
3c52136a 374242004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37425
37426 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37427 (print_message): Add a missing newline.
37428 (run_menu): Added timeout support.
37429 (run_menu_entry): New local function.
37430 (grub_menu_run): Added support for booting.
37431
37432 * kern/loader.c (grub_loader_is_loaded): New function.
37433
37434 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37435 (grub_get_rtc): Exported.
37436
37437 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37438 (grub_get_rtc): Exported.
37439
37440 * include/grub/normal.h (struct grub_command_list): Remove
37441 constant from the member `command'.
37442
37443 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37444
37445 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37446
37447 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37448
aa033560 374492004-08-28 Marco Gerards <metgerards@student.han.nl>
37450
37451 Add support for the JFS filesystem.
37452
37453 * fs/jfs.c: New file.
37454 * include/grub/fs.h (grub_jfs_init): New prototype.
37455 (grub_jfs_fini): New prototype.
37456 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37457 (grub_emu_SOURCES): Likewise.
37458 (pkgdata_MODULES): Add jfs.mod.
37459 (jfs_mod_SOURCES): New variable.
37460 (jfs_mod_CFLAGS): Likewise.
37461 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37462 (grubof_SOURCES): Likewise.
37463 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37464
37465 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37466 endian to the host endian.
37467 (grub_fat_utf16_to_utf8): Move function from there...
37468 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37469 the endianness of the source string anymore.
aa033560 37470 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37471
94bc45af 374722004-08-24 Marco Gerards <metgerards@student.han.nl>
37473
37474 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37475 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37476 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37477 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37478
94bc45af 37479 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37480 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37481 for `node_found' and `it_dir'.
37482 (grub_hfs_dir): Add prototype for `dir_hook'.
37483
37484 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37485 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37486 and `indir32' to silence a gcc warning.
37487
37488 * include/grub/fs.h (grub_hfs_init): New prototype.
37489 (grub_hfs_fini): Likewise.
f19dbdb7 37490
37491
97543f08 374922004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37493
37494 Each disk device has its own id now. This is useful to make use
37495 of multiple disk devices.
f19dbdb7 37496
97543f08 37497 * include/grub/disk.h (grub_disk_dev_id): New enum.
37498 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37499 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37500
37501 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37502 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37503
37504 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37505 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37506
37507 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37508 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37509
37510 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37511 "id" which is used by the cache manager.
37512
37513 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37514 of just "GRUB".
37515
64372eb4 375162004-08-18 Marco Gerards <metgerards@student.han.nl>
37517
37518 * fs/hfs.c: New file.
37519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37520 (grub_emu_SOURCES): Likewise.
37521 (pkgdata_MODULES): Add hfs.mod.
37522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37523 (grubof_SOURCES): Likewise.
37524 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37525
37526 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37527 * kern/misc.c (grub_strncasecmp): Add function.
37528
cc61b58f 375292004-08-14 Marco Gerards <metgerards@student.han.nl>
37530
37531 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37532 with parentheses.
37533
37534 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37535 (grub_ext2_dir): In case the directory entry type is unknown, read
37536 it from the inode.
37537
0ef123f6 375382004-08-02 Peter Bruin <pjbruin@dds.nl>
37539
37540 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37541 grub_load_linux instead of grub_rescue_cmd_linux as second
37542 argument of grub_rescue_register_command.
37543
37544 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37545
a447c5df 375462004-07-27 Marco Gerards <metgerards@student.han.nl>
37547
37548 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37549 function.
37550 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37551 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37552 `loader/powerpc/ieee1275/linux.c',
37553 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37554 * include/grub/powerpc/ieee1275/ieee1275.h
37555 (grub_ieee1275_release): New prototype.
37556 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37557 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37558 normal, boot, linux and linux_normal.
37559 * loader/powerpc/ieee1275/linux.c: New file.
37560 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37561
5a9e3546 375622004-07-12 Marco Gerards <metgerards@student.han.nl>
37563
37564 * normal/arg.c (grub_arg_parse): Correct error handling after
37565 reallocating the argumentlist (check if `argl' is not null instead
37566 of checking if `args' is not null).
37567 * kern/mm.c (grub_realloc): Return the same pointer when using the
37568 same region, instead of returning the header address.
37569
e15199cb 375702004-07-11 Marco Gerards <metgerards@student.han.nl>
37571
37572 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37573 one block instead of two when looking for the initial partition.
37574 (grub_partition_probe): Initialize the local variable `p' with 0.
37575 Use base 10 for the grub_strtoul call.
37576 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37577 need for one local variable.
37578 (grub_strtoul): Don't add the new value to `num', instead of that
37579 just assign it.
37580
020616c2 375812004-07-11 Marco Gerards <metgerards@student.han.nl>
37582
37583 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37584 (pxeboot_img_SOURCES): New variable.
37585 (pxeboot_img_ASFLAGS): Likewise.
37586 (pxeboot_img_LDFLAGS): Likewise.
37587 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37588 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37589 <lode_leroy@hotmail.com>.
37590
6c51eb64 375912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37592
37593 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37594 there was no input.
37595
cfb12aff 375962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37597
37598 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37599 the history buffer logic.
37600
6eabba74 376012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37602
37603 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37604 (FILETYPE_INO_SYMLINK): New macros.
37605 (grub_ext2_find_file): Check if the node is a directory using the
37606 inode stat information instead of using the filetype in the
37607 dirent. Exclude the first character of an absolute symlink.
37608 (grub_ext2_dir): Mask out the filetype part of the mode member of
37609 the inode.
37610
66e19ef8 376112004-05-24 Marco Gerards <metgerards@student.han.nl>
37612
37613 Add support for UFS version 1 and 2. Add support for the minix
37614 filesystem version 1 and 2, both the variants with 14 and 30 long
37615 filenames.
f19dbdb7 37616
66e19ef8 37617 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37618 fs/minix.c.
37619 (grub_emu_SOURCES): Likewise.
37620 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37621 (ufs_mod_SOURCES): New variable.
37622 (ufs_mod_CFLAGS): Likewise.
37623 (minix_mod_SOURCES): Likewise.
37624 (minix_mod_CFLAGS): Likewise.
37625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37626 fs/minix.c.
37627 (grubof_SOURCES): Likewise.
37628 * fs/ufs.c: New file.
37629 * fs/minix.c: New file.
37630 * include/grub/fs.h (grub_ufs_init): New prototype.
37631 (grub_ufs_fini): Likewise.
37632 (grub_minix_init): Likewise.
37633 (grub_minix_fini): Likewise.
37634 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37635 minix fs.
37636
cc2e748a 376372004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37638
37639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37640 commands/ls.c, commands/terminal.c, commands/boot.c,
37641 commands/cmp.c and commands/cat.c.
37642 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37643
37644 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37645 "env.h"
37646
4b13b216 376472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37648
37649 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37650 and grub_, respectively. Because the conversion is trivial and
37651 mechanical, I omit the details here. Please refer to the CVS
37652 if you need more information.
37653
6a142551 376542004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37655
37656 * include/pupa: Renamed to ...
37657 * include/grub: ... this.
37658 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37659 * util/i386/pc/grub-mkimage.c: ... this.
37660 * util/i386/pc/pupa-setup.c: Renamed to ...
37661 * util/i386/pc/grub-setup.c: ... this.
37662 * util/pupa-emu.c: Renamed to ...
37663 * util/grub-emu.c: ... this.
37664
e56cdf21 376652004-03-29 Marco Gerards <metgerards@student.han.nl>
37666
37667 Add support for the newworld apple macintosh (PPC). This has been
37668 tested on the powerbook 2000 only. It only adds support for
37669 generic ieee1275 functions, console and disk support. This should
37670 be easy to port to other architectures with support for Open
37671 Firmware.
f19dbdb7 37672
e56cdf21 37673 * configure.ac: Accept the powerpc as host_cpu. In the case of
37674 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37675 specific tests are only executed while building for the i386.
37676 Inverse test for crosscompile.
37677 * genmk.rb (Utility): Allow assembler files.
37678 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37679 * conf/powerpc-ieee1275.rmk: New file.
37680 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37681 * disk/powerpc/ieee1275/partition.c: Likewise.
37682 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37683 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37684 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37685 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37686 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37687 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37688 * include/pupa/powerpc/ieee1275/loader.h
37689 * include/pupa/powerpc/setjmp.h: Likewise.
37690 * include/pupa/powerpc/types.h: Likewise.
37691 * kern/powerpc/ieee1275/init.c: Likewise.
37692 * kern/powerpc/ieee1275/openfw.c: Likewise.
37693 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37694
37695 These files were written by Johan Rydberg
37696 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 37697
e56cdf21 37698 * boot/powerpc/ieee1275/cmain.c: New file.
37699 * boot/powerpc/ieee1275/crt0.S: Likewise.
37700 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
37701 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
37702
8c8cc205 377032004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
37704
37705 * Makefile.in: Update copyright.
37706 * genmodsrc.sh: Likewise.
37707 * gensymlist.sh: Likewise.
37708 * term/i386/pc/vga.c: Indent correctly.
37709
37710 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
37711 bugreporting address.
37712 * util/i386/pc/pupa-setup.c (usage): Likewise,
37713 (main): Call pupa_ext2_init and pupa_ext2_fini.
37714
f19dbdb7 37715 * fs/fat.c (log2): Renamed to ...
8c8cc205 37716 (fat_log2): ... this.
37717 All callers changed.
37718 * kern/misc.c (memcpy): Alias to pupa_memmove.
37719 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
37720 lvalue cast.
37721 * util/console.c (pupa_ncurses_fini): Return 0.
37722
37723 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
37724 Move fail label here.
37725 [__GNU__]: Don't warn when using stat.
37726 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
37727 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
37728 long int. Use strtol instead of strtoul.
f19dbdb7 37729
db1771cf 377302004-03-14 Marco Gerards <metgerards@student.han.nl>
37731
37732 * commands/boot.c: New file.
37733 * commands/cat.c: Likewise.
37734 * commands/cmp.c: Likewise.
37735 * commands/ls.c: Likewise.
37736 * commands/terminal.c: Likewise.
37737 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
37738 (pupa_register_command): Changed interface to match the new
37739 argument parser.
37740 (pupa_command_execute): Changed (almost rewritten) so it uses
37741 pupa_split_command. Added support for setting variables using the
37742 syntax `foo=bar'.
37743 (rescue_command): Changed to work with the new argument parser.
37744 (terminal_command): Moved from here to commands/terminal.c.
37745 (set_command): New function.
37746 (unset_command): New function.
37747 (insmod_command): New function.
37748 (rmmod_command): New function.
37749 (lsmod_command): New function.
37750 (pupa_command_init): Don't initialize the command terminal
37751 anymore. Initialize the commands set, unset, insmod, rmmod and
37752 lsmod.
37753 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
37754 (kernel_img_HEADERS): Add arg.h and env.h.
37755 (pupa_mkimage_LDFLAGS): Add kern/env.c.
37756 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
37757 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
37758 normal/arg.c.
37759 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
37760 terminal.mod.
37761 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
37762 (boot_mod_SOURCES): New variable.
37763 (terminal_mod_SOURCES): Likewise.
37764 (ls_mod_SOURCES): Likewise.
37765 (cmp_mod_SOURCES): Likewise.
37766 (cat_mod_SOURCES): Likewise.
37767
37768 * normal/arg.c: New file.
37769 * kern/env.c: Likewise.
37770 * include/pupa/arg.h: Likewise.
37771 * include/pupa/env.h: Likewise.
37772 * font/manager.c (font_command): Changed to match argument parsing
37773 interface changes.
37774 (PUPA_MOD_INIT): Likewise.
37775 * hello/hello.c (pupa_cmd_hello): Likewise.
37776 (PUPA_MOD_INIT): Likewise.
37777 * include/pupa/disk.h: Include <pupa/device.h>.
37778 (pupa_print_partinfo): New prototype.
37779 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
37780 (pupa_dl_get_prefix): Likewise.
37781 * include/pupa/misc.h: Include <pupa/err.h>.
37782 (pupa_isgraph): New prototype.
37783 (pupa_isdigit): Likewise.
37784 (pupa_split_cmdline): Likewise.
37785 * include/pupa/normal.h: Include <pupa/arg.h>.
37786 (pupa_command): Changed the prototype of the member `func' to
37787 match the argument parsing interface. Added member `options'.
37788 (pupa_register_command): Updated to match function.
37789 (pupa_arg_parse): New prototype.
37790 (pupa_hello_init) [PUPA_UTIL]: New prototype.
37791 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
37792 (pupa_ls_init) [PUPA_UTIL]: Likewise.
37793 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
37794 (pupa_cat_init) [PUPA_UTIL]: Likewise.
37795 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
37796 (pupa_boot_init) [PUPA_UTIL]: Likewise.
37797 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
37798 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
37799 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
37800 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
37801 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
37802 * kern/disk.c: Include <pupa/file.h>.
37803 (pupa_print_partinfo): New function.
37804 * kern/dl.c: Include <pupa/env.h>.
37805 (pupa_dl_dir): Variable removed.
37806 (pupa_dl_load): Use the environment variable `prefix' instead of
37807 the variable pupa_dl_dir.
37808 (pupa_dl_set_prefix): Function removed.
37809 (pupa_dl_get_prefix): Likewise.
37810 * kern/i386/pc/init.c: Include <pupa/env.h>.
37811 (pupa_machine_init): Use the environment variable `prefix' instead of
37812 using pupa_dl_set_prefix to set the prefix.
37813 * kern/main.c: Include <pupa/env.h>.
37814 (pupa_set_root_dev): Use the environment variable `prefix' instead of
37815 using pupa_dl_get_prefix to get the prefix.
37816 * kern/misc.c: Include <pupa/env.h>.
37817 (pupa_isdigit): New function.
37818 (pupa_isgraph): Likewise.
37819 (pupa_ftoa): Likewise.
37820 (pupa_vsprintf): Added support for printing values of the type
37821 `double'. Make it possible to format variable output when using
37822 formatting like `%1.2%f'.
37823 (pupa_split_cmdline): New function.
37824 * kern/rescue.c: Include <pupa/env.h>.
37825 (next_word): Removed function.
37826 (pupa_rescue_cmd_prefix): Likewise.
37827 (pupa_rescue_cmd_set): New function.
37828 (pupa_rescue_cmd_unset): New function.
37829 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
37830 split the command line instead of splitting it here. Added
37831 support for setting variables using the syntax `foo=bar'. Don't
37832 initialize the prefix command anymore. Initialized the set and
37833 unset commands.
37834 * normal/cmdline.c: Include <pupa/env.h>.
37835 (pupa_tab_complete): Added prototypes for print_simple_completion,
37836 print_partition_completion, add_completion, iterate_commands,
37837 iterate_dev, iterate_part and iterate_dir. Moved code to print
37838 partition information from here to kern/disk.c.
fe6b695a 37839 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 37840 * normal/main.c: Include <pupa/env.h>.
37841 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
37842 instead of using pupa_dl_get_prefix to get the prefix.
37843 * term/i386/pc/vga.c: Include <pupa/arg.h>.
37844 (check_vga_mem): Cast pointers to `void *' to silence a gcc
37845 warning.
37846 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
37847 (pupa_vga_setcolor): Declare unused variables with `__attribute__
37848 ((unused))' to silence a gcc warning.
37849 (pupa_vga_setcolor): Likewise.
37850 (debug_command): Changed to match argument parsing
37851 interface changes.
37852 * util/pupa-emu.c: Include <pupa/env.h>.
37853 (options): Added 0's for unused fields to silence a gcc warning.
37854 (argp): Likewise.
37855 (main): Use the environment variable `prefix' instead of using
37856 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
37857 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
37858 and terminal.
37859
37860 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
37861 * util/misc.c: Include <malloc.h>.
37862 (pupa_malloc): Rewritten so errors are correctly reported.
37863 (pupa_realloc): Likewise.
37864 (pupa_memalign): Likewise.
37865 (pupa_mm_init_region): Declare unused variables with
37866 `__attribute__ ((unused))' to silence a gcc warning.
37867 * normal/i386/setjmp.S: Remove tab at the end of the file to
37868 silence a gcc warning.
37869 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
37870 variables with `__attribute__ ((unused))' to silence a gcc
37871 warning.
37872 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
37873 local variable i unsigned to silence a gcc warning.
37874
37875 * kern/term.c: Include <pupa/misc.h>.
37876 (pupa_more_lines): New variable.
37877 (pupa_more): Likewise.
37878 (pupa_putcode): When the pager is active pause at the end of every
37879 screen.
37880 (pupa_set_more): New function.
37881 * include/pupa/term.h (pupa_set_more): New prototype.
37882
37883
3b1139cb 378842004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
37885
37886 Now this project is GRUB 2 rather than PUPA. The location of
37887 the CVS repository was moved to GRUB's.
f19dbdb7 37888
3b1139cb 37889 * configure.ac: Use bug-grub as the reporting address.
37890 Use GRUB instead of PUPA.
37891 Change the version number to 1.90.
37892
8367695c 378932004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
37894
37895 * genkernsyms.sh: Updated copyright information.
37896 * genmk.rb: Likewise.
37897 * genmodsrc.sh: Likewise.
37898 * gensymlist.sh: Likewise.
37899 * boot/i386/pc/boot.S: Likewise.
37900 * boot/i386/pc/diskboot.S: Likewise.
37901 * disk/i386/pc/biosdisk.c: Likewise.
37902 * disk/i386/pc/partition.c: Likewise.
37903 * font/manager.c: Likewise.
37904 * fs/ext2.c: Likewise.
37905 * fs/fat.c: Likewise.
37906 * include/pupa/boot.h: Likewise.
37907 * include/pupa/device.h: Likewise.
37908 * include/pupa/disk.h: Likewise.
37909 * include/pupa/dl.h: Likewise.
37910 * include/pupa/elf.h: Likewise.
37911 * include/pupa/err.h: Likewise.
37912 * include/pupa/file.h: Likewise.
37913 * include/pupa/font.h: Likewise.
37914 * include/pupa/fs.h: Likewise.
37915 * include/pupa/kernel.h: Likewise.
37916 * include/pupa/loader.h: Likewise.
37917 * include/pupa/misc.h: Likewise.
37918 * include/pupa/mm.h: Likewise.
37919 * include/pupa/net.h: Likewise.
37920 * include/pupa/normal.h: Likewise.
37921 * include/pupa/rescue.h: Likewise.
37922 * include/pupa/setjmp.h: Likewise.
37923 * include/pupa/symbol.h: Likewise.
37924 * include/pupa/term.h: Likewise.
37925 * include/pupa/types.h: Likewise.
37926 * include/pupa/i386/setjmp.h: Likewise.
37927 * include/pupa/i386/types.h: Likewise.
37928 * include/pupa/i386/pc/biosdisk.h: Likewise.
37929 * include/pupa/i386/pc/boot.h: Likewise.
37930 * include/pupa/i386/pc/console.h: Likewise.
37931 * include/pupa/i386/pc/init.h: Likewise.
37932 * include/pupa/i386/pc/kernel.h: Likewise.
37933 * include/pupa/i386/pc/linux.h: Likewise.
37934 * include/pupa/i386/pc/loader.h: Likewise.
37935 * include/pupa/i386/pc/memory.h: Likewise.
37936 * include/pupa/i386/pc/multiboot.h: Likewise.
37937 * include/pupa/i386/pc/partition.h: Likewise.
37938 * include/pupa/i386/pc/time.h: Likewise.
37939 * include/pupa/i386/pc/vga.h: Likewise.
37940 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
37941 * include/pupa/util/getroot.h: Likewise.
37942 * include/pupa/util/misc.h: Likewise.
37943 * include/pupa/util/resolve.h: Likewise.
37944 * kern/device.c: Likewise.
37945 * kern/disk.c: Likewise.
37946 * kern/dl.c: Likewise.
37947 * kern/err.c: Likewise.
37948 * kern/file.c: Likewise.
37949 * kern/fs.c: Likewise.
37950 * kern/loader.c: Likewise.
37951 * kern/main.c: Likewise.
37952 * kern/misc.c: Likewise.
37953 * kern/mm.c: Likewise.
37954 * kern/rescue.c: Likewise.
37955 * kern/term.c: Likewise.
37956 * kern/i386/dl.c: Likewise.
37957 * kern/i386/pc/init.c: Likewise.
37958 * kern/i386/pc/lzo1x.S: Likewise.
37959 * kern/i386/pc/startup.S: Likewise.
37960 * loader/i386/pc/chainloader.c: Likewise.
37961 * loader/i386/pc/linux.c: Likewise.
37962 * loader/i386/pc/multiboot.c: Likewise.
37963 * normal/cmdline.c: Likewise.
37964 * normal/command.c: Likewise.
37965 * normal/main.c: Likewise.
37966 * normal/menu.c: Likewise.
37967 * normal/i386/setjmp.S: Likewise.
37968 * term/i386/pc/console.c: Likewise.
37969 * term/i386/pc/vga.c: Likewise.
37970 * util/console.c: Likewise.
37971 * util/genmoddep.c: Likewise.
37972 * util/misc.c: Likewise.
37973 * util/pupa-emu.c: Likewise.
37974 * util/resolve.c: Likewise.
37975 * util/unifont2pff.rb: Likewise.
37976 * util/i386/pc/biosdisk.c: Likewise.
37977 * util/i386/pc/getroot.c: Likewise.
37978 * util/i386/pc/pupa-mkimage.c: Likewise.
37979 * util/i386/pc/pupa-setup.c: Likewise.
37980
e6eced71 379812004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37982
37983 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37984 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37985 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37986 reading and reset it after reading.
37987 (pupa_ext2_close): Return PUPA_ERR_NONE.
37988
37989 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37990 Correct value.
37991 (struct linux_kernel_header): Add kernel_version and
37992 initrd_addr_max.
37993 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37994 pupa_file_read succeeds.
37995 (pupa_rescue_cmd_initrd): Implement.
37996
5aded270 379972003-12-03 Marco Gerards <metgerards@student.han.nl>
37998
37999 * fs/ext2.c (pupa_ext2_label): New function.
38000 (pupa_ext2_fs): Added label.
38001 * fs/fat.c (pupa_fat_label): New function.
38002 (pupa_fat_fs): Added label.
38003 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38004
38005 * kern/misc.c (pupa_strndup): New function.
38006 * include/pupa/misc.h (pupa_strndup): New prototype.
38007
38008 * include/pupa/normal.h: Include <pupa/err.h>.
38009 (pupa_set_history): New prototype.
38010 (pupa_iterate_commands): New prototype.
38011 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38012 <pupa/disk.h>, <pupa/file.h>.
38013 (hist_size): New variable.
38014 (hist_lines): Likewise.
38015 (hist_end): Likewise.
38016 (hist_used): Likewise.
38017 (pupa_set_history): New function.
38018 (pupa_history_get): Likewise.
38019 (pupa_history_add): Likewise.
38020 (pupa_history_replace): Likewise.
38021 (pupa_tab_complete): Likewise.
38022 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38023 completion shows partitionnames while completing partitions, this
38024 feature was suggested by Jeff Bailey.
38025 * normal/command.c (pupa_iterate_commands): New function.
38026 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38027 (pupa_normal_init): Initialize history buffer.
38028 (PUPA_MOD_INIT): Likewise.
38029 (pupa_normal_fini): Free the history buffer.
38030 (PUPA_MOD_FINI): Likewise.
38031
38032 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38033 key.
38034
38035 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38036 * configure.ac [i386]: Check for regparam bug.
38037 (NESTED_FUNC_ATTR) [! i386]: Defined.
38038
1f7315a3 380392003-11-17 Marco Gerards <metgerards@student.han.nl>
38040
38041 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38042 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38043 (pupa_emu_SOURCES): New variable.
38044 (pupa_emu_LDFLAGS): Likewise.
38045 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38046 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38047 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38048 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38049 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38050 (pupa_jmp_buf): New typedef.
38051 (pupa_setjmp) [PUPA_UTIL]: New macro.
38052 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38053 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38054 (pupa_refresh): New prototype.
38055 * include/pupa/util/getroot.h: New file.
38056 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38057 it.
38058 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38059 (pupa_rescue_cmd_cat): Likewise.
38060 (pupa_rescue_cmd_ls): Likewise.
38061 (pupa_rescue_cmd_testload): Likewise.
38062 (pupa_rescue_cmd_lsmod): Likewise.
38063 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38064 * normal/menu.c (run_menu): Likewise.
38065 * kern/term.c (pupa_cls): Likewise.
38066 (pupa_refresh): New function.
38067 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38068 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38069 * util/console.c: New file.
f19dbdb7 38070
1f7315a3 38071 * util/i386/pc/getroot.c: New file.
38072 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38073 (pupa_putchar): New function.
38074 (pupa_refresh): Likewise.
38075 (xgetcwd): Function moved to ...
38076 (strip_extra_slashes): Likewise.
38077 (get_prefix): Likewise.
f19dbdb7 38078 * util/i386/pc/getroot.c: ... here.
1f7315a3 38079 (find_root_device): Function moved and renamed to...
38080 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38081 Changed all callers.
38082 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38083 and renamed to...
38084 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38085 Changed all callers.
38086 * util/misc.c (pupa_memalign): New function.
38087 (pupa_mm_init_region): Likewise.
38088 (pupa_register_exported_symbols): Likewise.
38089 (pupa_putchar): Function removed.
38090 * util/pupa-emu.c: New file.
38091
9a5c1ade 380922003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38093
38094 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38095 (_multiboot_mod_SOURCES): New variable.
38096 (_multiboot_mod_CFLAGS): Likewise.
38097 * loader/i386/pc/multiboot.c: New file.
38098 * include/pupa/i386/pc/multiboot.h: Likewise.
38099 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38100 (pupa_multiboot_real_boot): New function.
38101 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38102 (pupa_multiboot_real_boot): New prototype.
38103 (pupa_rescue_cmd_multiboot): Likewise
38104 (pupa_rescue_cmd_module): Likewise.
38105
38106 * kern/loader.c (pupa_loader_set): Continue when
38107 pupa_loader_unload_func() fails.
38108 (pupa_loader_unset): New function.
38109 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38110
38111 * kern/misc.c (pupa_stpcpy): New function.
38112 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38113
8e72a9c0 381142003-11-12 Marco Gerards <metgerards@student.han.nl>
38115
38116 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38117 for available extensions.
38118
38119 * include/pupa/i386/pc/time.h: New file.
38120 * kern/disk.c: Include <pupa/machine/time.h>.
38121 (PUPA_CACHE_TIMEOUT): New macro.
38122 (pupa_last_time): New variable.
38123 (pupa_disk_open): Flush the cache when there was a timeout.
38124 (pupa_disk_close): Reset the timer.
38125 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38126 pupa_currticks.
38127 * util/misc.c: Include <sys/times.h>
38128 (pupa_get_rtc): New function.
38129
c4adbd32 381302003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38131
38132 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38133 as blocks.
38134 (pupa_ext2_get_file_block): Use blocks member.
38135
38136 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38137 first block. Return -1 instead of pupa_errno on error.
38138
bfd30f06 381392003-10-27 Marco Gerards <metgerards@student.han.nl>
38140
38141 * README: In the pupa-mkimage example use _chain instead of chain
38142 and ext2 instead of fat.
38143 * TODO: Replace ext2fs with jfs as an example. Add an item for
38144 adding journal playback for ext2fs.
38145 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38146 (pkgdata_MODULES): Added ext2.mod.
38147 (ext2_mod_SOURCES): New variable.
38148 (ext2_mod_CFLAGS): Likewise.
38149 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38150 * include/pupa/misc.h (pupa_strncpy): New prototype.
38151 (pupa_strcat): Likewise.
38152 (pupa_strncmp): Likewise.
38153 * kern/misc.c (pupa_strcat): Enable function.
38154 (pupa_strncpy): New function.
38155 (pupa_strncmp): Likewise.
38156 * fs/ext2.c: New file.
f19dbdb7 38157
bfd30f06 38158 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38159 when the read failed before retrying.
38160 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38161 (_FILE_OFFSET_BITS): Likewise.
38162 * configure.ac: Added AC_SYS_LARGEFILE.
38163
98d15063 381642003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38165
38166 * genmk.rb (PModule#rule): Make sure to get only symbol names
38167 from the output of nm.
59cad637 38168 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38169
18d9c7cd 381702003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38171
38172 I forgot to check in these changes for a long time. This adds
38173 incomplete support for VGA console, and this is still very
38174 buggy. Also, a lot of consideration is required for I18N,
38175 UNICODE, and VGA font issues. Therefore, assume that this is
38176 such that "better than nothing".
f19dbdb7 38177
18d9c7cd 38178 * font/manager.c: New file.
38179 * include/pupa/font.h: Likewise.
38180 * include/pupa/i386/pc/vga.h: Likewise.
38181 * term/i386/pc/vga.c: Likewise.
38182 * util/unifont2pff.rb: Likewise.
38183
38184 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38185 (pkgdata_MODULES): Added vga.mod and font.mod.
38186 (vga_mod_SOURCES): New variables.
38187 (vga_mod_CFLAGS): Likewise.
38188 (font_mod_SOURCES): Likewise.
38189 (font_mod_CFLAGS): Likewise.
38190
38191 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38192
38193 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38194 (struct pupa_term): Added init and fini.
18d9c7cd 38195 Changed the argument of putchar to pupa_uint32_t.
38196
38197 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38198 (pupa_console_real_putchar): New prototype.
38199 (pupa_console_putchar): Removed.
38200 (pupa_console_checkkey): Exported.
38201 (pupa_console_getkey): Likewise.
38202
38203 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38204 characters.
38205
38206 * kern/term.c (pupa_term_set_current): Rewritten.
38207 (pupa_putchar): Likewise.
38208 (pupa_putcode): New function.
38209
38210 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38211 (pupa_console_real_putchar): ... this.
38212 (pupa_vga_set_mode): New function.
38213 (pupa_vga_get_font): Likewise.
38214
38215 * normal/command.c: Include pupa/term.h.
38216 (terminal_command): New function.
38217 (pupa_command_init): Register the command "terminal".
38218
38219 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38220 (DISP_UP): Likewise.
38221 (DISP_RIGHT): Likewise.
38222 (DISP_DOWN): Likewise.
38223 (DISP_HLINE): Likewise.
38224 (DISP_VLINE): Likewise.
38225 (DISP_UL): Likewise.
38226 (DISP_UR): Likewise.
38227 (DISP_LL): Likewise.
38228 (DISP_LR): Likewise.
38229
38230 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38231
977329f5 382322003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38233
38234 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38235 FIX. Reverse the path_list.
38236
38237 * include/pupa/normal.h: Export pupa_register_command and
38238 pupa_unregister_command.
38239
38240 * hello/hello.c (pupa_cmd_hello): New module.
38241 * conf/i386-pc.rmk: Added hello.mod.
38242
1f5ab428 382432003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38244
38245 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38246
1f5ab428 38247 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38248 (compress_kernel): New variable.
38249 (generate_image): Heavily modified to support compressing a
38250 large part of the core image.
38251
38252 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38253 leak.
38254 (pupa_util_load_image): New function.
38255
38256 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38257 (pupa_compressed_size): New variable.
38258 (codestart): Enable Gate A20 here.
38259 Decompress the compressed part of the core image.
38260 Rearrange the code to put functions and variables which are
38261 required for initialization in the non-compressed part.
38262 Include lzo1x.S.
38263
38264 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38265 here.
38266
38267 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38268
f19dbdb7 38269 * include/pupa/i386/pc/kernel.h
1f5ab428 38270 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38271 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38272 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38273 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38274 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38275
38276 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38277
38278 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38279 (Utility#rule): Likewise.
38280
38281 * configure.ac: Check if LZO is available.
38282
ce5bf700 382832003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38284
38285 * include/pupa/normal.h: New file.
38286 * include/pupa/setjmp.h: Likewise.
38287 * include/pupa/i386/setjmp.h: Likewise.
38288 * normal/cmdline.c: Likewise.
38289 * normal/command.c: Likewise.
38290 * normal/main.c: Likewise.
38291 * normal/menu.c: Likewise.
38292 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38293
ce5bf700 38294 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38295 (pupa_rescue_cmd_initrd): Likewise.
38296
38297 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38298 Likewise.
38299
38300 * kern/i386/pc/startup.S (translation_table): New variable.
38301 (translate_keycode): New function.
38302 (pupa_console_getkey): Call translate_keycode.
38303
38304 * kern/rescue.c (attempt_normal_mode): New function.
38305 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38306 it failed, print a message.
38307
38308 * kern/mm.c (pupa_real_malloc): Print more information when a
38309 free magic is broken.
38310 (pupa_free): If the first free header is not free actually, set
38311 it to P.
38312
38313 * kern/main.c (pupa_load_normal_mode): Just load the module
38314 "normal".
38315 (pupa_main): Don't print the message
38316 "Entering into rescue mode..." here.
38317
38318 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38319 Declared.
38320 (pupa_rescue_cmd_initrd): Likewise.
38321 (pupa_rescue_cmd_initrd): Likewise.
38322
38323 * include/pupa/symbol.h (FUNCTION): Specify the type.
38324 (VARIABLE): Likewise.
38325
38326 * include/pupa/err.h (pupa_err_t): Added
38327 PUPA_ERR_UNKNOWN_COMMAND.
38328
38329 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38330 (pupa_dl_get_prefix): Likewise.
38331
38332 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38333 Added _chain.mod and _linux.mod instead of chain.mod and
38334 linux.mod.
38335 (chain_mod_SOURCES): Renamed to ...
38336 (_chain_mod_SOURCES): ... this.
38337 (chain_mod_CFLAGS): Renamed to ...
38338 (_chain_mod_CFLAGS): ... this.
38339 (linux_mod_SOURCES): Renamed to ...
38340 (_linux_mod_SOURCES): ... this.
38341 (linux_mod_CFLAGS): Renamed to ...
38342 (_linux_mod_CFLAGS): ... this.
38343 (normal_mod_SOURCES): New variable.
38344 (normal_mod_CFLAGS): Likewise.
38345 (normal_mod_ASFLAGS): Likewise.
38346
383472003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38348
38349 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38350 possible.
38351
fe6b695a 38352 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38353 recursively.
38354 (pupa_dl_unref): Unrefer depending modules recursively.
38355 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38356 a module is unloaded before one depending on that module is
38357 unloaded.
38358 (pupa_dl_unload): Unload depending modules explicitly,
38359 if possible.
38360
c04da074 383612003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38362
38363 * include/pupa/i386/pc/linux.h: New file.
38364 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38365
c04da074 38366 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38367 Removed.
38368 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38369 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38370 of PUPA_CHAINLOADER_BOOT_SECTOR.
38371
38372 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38373 (pupa_linux_prot_size): New variable.
38374 (pupa_linux_tmp_addr): Likewise.
38375 (pupa_linux_real_addr): Likewise.
38376 (pupa_linux_boot_zimage): New function.
38377 (pupa_linux_boot_bzimage): Likewise.
38378
38379 * kern/i386/pc/init.c (struct mem_region): New structure.
38380 (MAX_REGIONS): New macro.
38381 (mem_regions): New variable.
38382 (num_regions): Likewise.
38383 (pupa_os_area_addr): Likewise.
38384 (pupa_os_area_size): Likewise.
38385 (pupa_lower_mem): Likewise.
38386 (pupa_upper_mem): Likewise.
38387 (add_mem_region): New function.
38388 (compact_mem_regions): Likewise.
38389 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38390 the size of the conventional memory and that of so-called upper
38391 memory (before the first memory hole).
38392 Instead of adding each found region to free memory, use
38393 add_mem_region and add them after removing overlaps.
38394 Also, add only 1/4 of the upper memory to free memory. The rest
38395 is used for loading OS images. Maybe this is ad hoc, but this
38396 makes it much easier to relocate OS images when booting.
38397
38398 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38399 (pupa_enter_rescue_mode): Don't register initrd and module.
38400
38401 * kern/mm.c: Include pupa/dl.h.
38402
38403 * kern/main.c: Include pupa/file.h and pupa/device.h.
38404
38405 * kern/loader.c (pupa_loader_load_module_func): Removed.
38406 (pupa_loader_load_module): Likewise.
38407
38408 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38409 ``.o''.
38410
38411 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38412 (pupa_linux_tmp_addr): Likewise.
38413 (pupa_linux_real_addr): Likewise.
38414 (pupa_linux_boot_zimage): Likewise.
38415 (pupa_linux_boot_bzimage): Likewise.
38416
38417 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38418 (pupa_upper_mem): Likewise.
38419 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38420 module is too dangerous.
38421
38422 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38423 (pupa_os_area_size): Likewise.
38424 (pupa_loader_set): Remove the first argument. Loader doesn't
38425 manage modules or initrd any longer.
38426 (pupa_loader_load_module): Removed.
38427
38428 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38429 (linux_mod_SOURCES): New variable.
38430 (linux_mod_CFLAGS): Likewise.
38431
a13f9237 384322003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38433
38434 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38435 the length of a blocklist correctly.
38436
38437 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38438 Use ioctl only if the OS file is a block device.
38439 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38440 not very useful for normal files.
38441
38442 * kern/main.c (pupa_set_root_dev): New function.
38443 (pupa_load_normal_mode): Likewise.
38444 (pupa_main): Call those above.
38445
38446 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38447 pupa_uint16_t.
38448
38449 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38450
a5ffe966 384512003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38452
38453 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38454 (setup): Configure the installed partition information and the
38455 dl prefix.
38456
38457 * loader/i386/pc/chainloader.c (my_mod): New variable.
38458 (pupa_chainloader_unload): New function.
38459 (pupa_rescue_cmd_chainloader): Refer itself.
38460 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38461
38462 * kern/i386/pc/startup.S (install_partition): Removed.
38463 (version_string): Likewise.
38464 (config_file): Likewise.
38465 (pupa_install_dos_part): New variable.
38466 (pupa_install_bsd_part): Likewise.
38467 (pupa_prefix): Likewise.
38468 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38469
38470 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38471 and pupa/misc.h.
38472 (make_install_device): New function.
38473 (pupa_machine_init): Set the dl prefix.
38474
38475 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38476 (buf): Renamed to ...
38477 (linebuf): ... this.
38478 (pupa_rescue_cmd_prefix): New function.
38479 (pupa_rescue_cmd_insmod): Likewise.
38480 (pupa_rescue_cmd_rmmod): Likewise.
38481 (pupa_rescue_cmd_lsmod): Likewise.
38482 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38483 rmmod and lsmod.
38484
38485 * kern/mm.c (pupa_memalign): If failed even after invalidating
38486 disk caches, unload unneeded modules and retry.
38487
38488 * kern/misc.c (pupa_memmove): New function.
38489 (pupa_memcpy): Removed.
38490 (pupa_strcpy): New function.
38491 (pupa_itoa): Made static.
38492
38493 * kern/dl.c (pupa_dl_iterate): New function.
38494 (pupa_dl_ref): Likewise.
38495 (pupa_dl_unref): Likewise.
38496 (pupa_dl_unload): Return if succeeded or not.
38497 (pupa_dl_unload_unneeded): New function.
38498 (pupa_dl_unload_all): Likewise.
38499 (pupa_dl_init): Renamed to ...
38500 (pupa_dl_set_prefix): ... this.
38501 (pupa_dl_get_prefix): New function.
38502
38503 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38504 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38505 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38506 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38507 (pupa_install_dos_part): Declared.
38508 (pupa_install_bsd_part): Likewise.
38509 (pupa_prefix): Likewise.
38510 (pupa_boot_drive): Likewise.
38511
38512 * include/pupa/types.h: Fix a typo.
38513
38514 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38515 pupa_memmove.
38516 (pupa_memmove): Declared.
38517 (pupa_strcpy): Likewise.
38518
38519 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38520 pupa_mod_init takes one argument, its own module.
38521 (pupa_dl_unload_unneeded): Declared.
38522 (pupa_dl_unload_all): Likewise.
38523 (pupa_dl_ref): Likewise.
38524 (pupa_dl_unref): Likewise.
38525 (pupa_dl_iterate): Likewise.
38526 (pupa_dl_init): Renamed to ...
38527 (pupa_dl_set_prefix): ... this.
38528 (pupa_dl_get_prefix): Declared.
38529
38530 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38531 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38532 unloaded.
38533 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38534 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38535
38536 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38537 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38538
012d7999 385392003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38540
38541 * util/i386/pc/pupa-setup.c (setup): Define the internal
38542 function find_first_partition_start at the top level, because GCC
38543 3.0.x cannot compile internal functions in deeper scopes
38544 correctly.
38545 (find_root_device): Use lstat instead of stat.
38546 Don't follow symbolic links.
38547 Fix the path-constructing code.
38548
38549 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38550 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38551 by a BLKGETSIZE ioctl first, because block devices don't fill
38552 the member st_mode of the structure stat on Linux.
38553 [__linux__] (linux_find_partition): Use a temporary buffer
38554 REAL_DEV for the working space. Copy it to DEV before returning.
38555 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38556 buffer cache consistent.
38557 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38558 strncmp. The previous value was merely wrong.
38559 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38560
38561 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38562 FAT size is 12. The previous value was merely wrong.
38563
38564 * kern/main.c (pupa_main): Don't split the starting message from
38565 newlines.
38566
38567 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38568 LF, because BIOS goes crazy about character attributes in this
38569 case.
38570
1cc73a62 385712003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38572
38573 * include/i386/pc/util/biosdisk.h: New file.
38574 * util/i386/pc/biosdisk.c: Likewise.
38575 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38576
1cc73a62 38577 * Makefile.in (INCLUDE_DISTFILES): Added
38578 include/pupa/i386/pc/util/biosdisk.h.
38579 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38580 directory util/i386/pc.
38581 (install-local): Added a rule for sbin_UTILITIES.
38582 (uninstall): Likewise.
38583
38584 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38585
38586 * util/misc.c (xrealloc): New function.
38587 (pupa_malloc): Likewise.
38588 (pupa_free): Likewise.
38589 (pupa_realloc): Likewise.
38590 (pupa_stop): Likewise.
38591 (pupa_putchar): Likewise.
38592
38593 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38594
38595 * include/pupa/util/misc.h (xrealloc): Declared.
38596
38597 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38598 macro.
38599 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38600 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38601
38602 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38603 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38604
38605 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38606 way should be implemented.
38607 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38608
38609 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38610 the size of NAME for safety.
38611 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38612 0x88.
38613
38614 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38615 (pupa_setup_SOURCES): Likewise.
38616
38617 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38618
08b70fe8 386192002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38620
38621 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38622 bunch of pushl's from pusha, because this destroys the return
38623 value.
38624
62ddcc8f 386252002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38626
38627 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38628 This means that any missing prototypes could be fatal. Also, you
38629 must take care when writing assembly code. See the comments at
38630 the beginning of startup.S, for more details.
f19dbdb7 38631
62ddcc8f 38632 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38633 compilation mechanism.
38634 (pupa_chainloader_real_boot): Likewise.
38635 (pupa_biosdisk_rw_int13_extensions): Likewise.
38636 (pupa_biosdisk_rw_standard): Likewise.
38637 (pupa_biosdisk_check_int13_extensions): Likewise.
38638 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38639 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38640 (pupa_get_memsize): Likewise.
38641 (pupa_get_mmap_entry): Likewise.
38642 (pupa_console_putchar): Likewise.
38643 (pupa_console_setcursor): Likewise.
38644 (pupa_getrtsecs): Use pushl instead of push.
38645
38646 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38647 memory instead of the stack for a mmap entry, because some
38648 BIOSes may ignore the maximum size and overflow.
38649
38650 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38651
38652 * genmk.rb (PModule#rule): Compile automatically generated
38653 sources with module-specific CFLAGS as well as other sources.
38654
9962ed99 386552002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38656
38657 * configure.ac: Check ld.
38658 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38659 respectively, before checking endianness and sizes.
38660
38661 * Makefile.in (LD): New variable.
f19dbdb7 38662
abdfc3c5 386632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38664
38665 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38666
6a161fa9 386672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38668
38669 * Changelog: New file.
38670