]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub-install.in: Fix condition for config_opt.
[grub2.git] / ChangeLog
CommitLineData
455377d9
VS
12011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * util/grub-install.in: Fix condition for config_opt.
4
c2fd16ca
VS
52011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Support third redundancy strip on raidz3.
8
9 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
10 Return error on singularity. All users updated.
11 (read_device): Don't stop on 3rd failure on raidz3.
12
8622923b
VS
132011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Support case-insensitive ZFS subvolumes.
16
17 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
18 All users updated.
19 (zap_hash): Likewise.
20 (name_cmp): New function.
21 (zap_leaf_array_equal): New parameter case_insensitive.
22 All users updated.
23 (zap_leaf_lookup): Likewise.
24 (fzap_lookup): Likewise.
25 (zap_lookup): Likewise.
26 (dnode_get_path): New parameter case_insensitive. Retrieve case
27 sensitiviness of a volume. All users updated.
28 (dnode_get_fullpath): New parameter case_insensitive.
29 All users updated.
30 (grub_zfs_dir): Set info.case_insensitiveness.
31
95f2e860
VS
322011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
33
34 Support second redundancy strip on raidz(2,3).
35
36 * grub-core/fs/zfs/zfs.c (powx): New array.
37 (powx_inv): Likewise.
38 (poly): New const.
39 (xor_out): New function.
40 (gf_mul): Likewise.
41 (recovery): Likewise.
42 (read_device): Use second redundancy strip.
43
11ee4389
VS
442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
45
46 Use a power of generator representation of GF(256) multiplication group
47 to save space time and complexity.
48
49 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
50 (raid6_table2): Likewise.
51 (powx): New array.
52 (powx_inv): Likewise.
53 (poly): New const.
54 (grub_raid_block_mul): Replace with ...
55 (grub_raid_block_mulx): ...this.
56 (grub_raid6_init_table): Rewritten.
57 (grub_raid6_recover): Use power of generator representation.
58
09e2763f
VS
592011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
62 for the right device.
63
8bec9a28
VS
642011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
67 expected by grub-mkimage and it's more clear since there is no implicit
68 padding.
69
dbd3a32e
VS
702011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
73 disk.
74 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
75
182c872a
PMH
762011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
77
78 * util/grub-mkrescue.in: Fix handling xorriso option.
79
1e51cabd
VS
802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
83 NULL.
84
9cc3581d 852011-11-03 crocket <crockabiscuit@gmail.com>
86
87 * util/grub.d/10_linux.in: Add Slackware initrd naming.
88
158dc1ea
VS
892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
90
91 XZ CRC64 and SHA256 support.
92
93 * Makefile.util.def (libgrubmods): Add crc64.c.
94 * grub-core/Makefile.core.def (crc64): New module.
95 * grub-core/lib/crc64.c: New file.
96 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
97 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
98 Fix the type.
99 (MAX_HASH_SIZE): New define.
100 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
101 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
102 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
103 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
104 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
105 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
106 Handle non-crc32 hashes.
107 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
108 (dec_stream_header): Handle non-crc32 hashes.
109 (dec_stream_footer): Likewise.
110 (dec_block_header): Likewise.
111 (dec_main): Likewise.
112 (xz_dec_init): Likewise.
113 (xz_dec_reset): Likewise.
114 (xz_dec_end): Likewise.
115 * util/import_gcry.py: Add CRC64 line.
116
9d9b3d2f
VS
1172011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
120 as well.
121
7d0ac931
VS
1222011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
123
124 Make reiserfs label retrieval similar to other *_label functions.
125
126 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
127 (REISERFS_MAX_LABEL_LENGTH): Removed.
128 (REISERFS_LABEL_OFFSET): Likewise.
129 (grub_reiserfs_label): Rewritten.
130
1312011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
134 field.
135
cf5ba824
VS
1362011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
139
17744004
VS
1402011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
143 drive failure on both raidz and raidz2.
144
aca5aefc
VS
1452011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
146
147 Fix RAIDZ(2) for >= 5 devices.
148
149 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
150 asize argument. All users updated.
151
ce8ca56e
VS
1522011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
153
154 Fix RAIDZ(2).
155
156 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
157 (fill_vdev_info_real): Set ashift.
158 (read_device): Rewrite RAIDZ part based on reverse engineering.
159
7c01e783
VS
1602011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
163 don't report potentially unavialiable fields in debug output.
164 (find_path): Fix double-free and memory leak.
165
ce109e84
VS
1662011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
167
168 Read label on UFS1.
169
170 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
171 (grub_ufs_fs): Always set .label.
172
87661123
VS
1732011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Use shifts in UFS.
176
177 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
178 (grub_ufs_data): New field log2_blksz.
179 (grub_ufs_read_file): Use shifts.
180 (grub_ufs_mount): Check block size and logarithm it.
181
46bc1dc2
VS
1822011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
183
184 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
185 long symlinks.
186
19ee2987
VS
1872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Handle symlinks and long names on tar and cpio.
190
191 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
192 (ATTR_FILE): Likewise.
193 (ATTR_DIR): Likewise.
194 (ATTR_LNK): Likewise.
195 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
196 (grub_cpio_find_file): Fill mode, handle linkname field as well as
197 L and K entries.
198 (grub_cpio_mount): Zero-fill data.
199 (handle_symlink): New function.
46bc1dc2
VS
200 (grub_cpio_dir): Handle symlinks.
201 (grub_cpio_open): Likewise.
202 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 203
c83a08d8
VS
2042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
205
206 Fix iso9660 filename limitations and fix memory leaks.
207
208 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
209 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
210
45cdd3ea
VS
2112011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Fix JFS file name length limitations.
214
215 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
216 (grub_jfs_diropen): Fix maximum filename length.
217 (grub_jfs_getent): Fix filename length.
218 (grub_jfs_lookup_symlink): Fix size checks.
219
94ef05c2
VS
2202011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
223 string.
224
785ab8c7
VS
2252011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
226
eb0b6b45
VS
227 Leverage BFS implementation to read AFS.
228
229 * Makefile.util.def (libgrubmods): Add afs.c.
230 * grub-core/Makefile.core.def (afs): New module
231 * grub-core/fs/afs.c: New file.
232 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
233
2342011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
235
236 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 237
c4a1628f
VS
2382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/fs/bfs.c: Run indent.
241
5825b379
VS
2422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
243
244 BFS implementation based on the specification.
245
246 * grub-core/fs/bfs.c: New file.
247 * Makefile.util.def (libgrubmods): Add bfs.c.
248 * grub-core/Makefile.core.def (bfs): New module.
249
42b2a706
VS
2502011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/grub-fstest.c (cmd_cp): Clarify error message.
253 (cmd_cmp): Likewise.
254
61b99bfc
YB
2552011-10-30 Yves Blusseau <blusseau@zetam.org>
256
257 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
258 and befs_be.
259
faba3d16
VS
2602011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
261
262 Remove afs and befs because of copyright problem.
263
264 * grub-core/fs/afs.c: Removed.
265 * grub-core/fs/afs_be.c: Removed.
266 * grub-core/fs/befs.c: Removed.
267 * grub-core/fs/befs_be.c: Removed.
268 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
269 * grub-core/Makefile.core.def (afs): Removed.
270 (afs_be): Likewise.
271 (befs): Likewise.
272 (befs_be): Likewise.
273
c39224b0
VS
2742011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
275
276 Prefer rockridge over Joliet.
277
278 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
279 to ...
280 (set_rockridge): ... here.
281 (grub_iso9660_mount): Check rockridge on the primary label when
282 discovering. Ignore Joliet if Rockridge is present.
283
e551115a
VS
2842011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
285
286 Use shifts in nilfs2.
287
288 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
289 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
290 (grub_nilfs2_palloc_entries_per_group): Replace with ...
291 (grub_nilfs2_log_palloc_entries_per_group): ... this.
292 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
293 (grub_nilfs2_entries_per_block): Replaced with ...
294 (grub_nilfs2_log_entries_per_block_log): ... this.
295 (grub_nilfs2_blocks_per_group): Replaced with ...
296 (grub_nilfs2_blocks_per_group_log): ... this.
297 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
298 (grub_nilfs2_blocks_per_desc_block_log): ... this.
299 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
300 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
301 (grub_nilfs2_palloc_entry_offset): Replaced ...
302 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
303 (grub_nilfs2_dat_translate): Use shifts.
304 (grub_nilfs2_read_inode): Likewise.
305 (GRUB_MOD_INIT): Ensure that logs are correct.
306
564dd58c
VS
3072011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
308
309 Use shifts in minix filesystem.
310
311 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
312 (GRUB_MINIX_ZONE2SECT): Likewise.
313 (grub_minix_data): Replace block_size with log_block_size.
314 (grub_minix_read_file): Use shifts.
315 (grub_minix_mount): Check block size and take a logarithm.
316
ed9ba06d
VS
3172011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
318
319 Use shifts in squash4.
320
321 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
322 (squash_mount): Check block size and take logarithm.
323 (direct_read): Use shifts.
324
ad03fe76
VS
3252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
326
327 Correct befs block counting logic.
328
329 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
330 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
331 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
332 (grub_afs_read_inode): Use block_shift.
333 (RANGE_SHIFT): New definition.
334 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
335 unexpected conditions, use shifts and appropriate types.
336 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
337
6563f63d
VS
3382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/disk/raid.c (scan_devices): Check partition.
341 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
342
5b1ae25f
VS
3432011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
344
345 Support BFS (befs) UUID.
346
347 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
348 (grub_afs_small_data_element_header): New struct.
349 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
350 (grub_afs_read_attribute) [MODE_BFS]: New function.
351 (grub_afs_iterate_dir): Allocate for complete inode.
352 (grub_afs_mount): Likewise.
353 (grub_afs_uuid) [MODE_BFS]: New function.
354 (grub_afs_fs) [MODE_BFS]: Add .uuid.
355
f8d82408
VS
3562011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
359 (zfs_unmount): Fix memory leak.
360
5773fb64
VS
3612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Support NTFS reparse points.
364
365 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
366 (symlink_descriptor): New struct.
367 (grub_ntfs_read_symlink): New function.
368 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
369 (grub_ntfs_open): Likewise.
370
91c3fdde
VS
3712011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
374
3be82e10
VS
3752011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
376
377 fstest xnu_uuid subcommand.
378
379 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
380 grub-core/commands/xnu_uuid.c.
381 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
382 (fstest): Handle xnu_uuid.
383 (options): Document xnu_uuid.
384 (argp_parser): Parse xnu_uuid.
385
8e32442e
VS
3862011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
389 -l argument. Add newline at the end if printing.
390 (GRUB_MOD_INIT): Document -l.
391
52a05075
VS
3922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
395
1869edb5
VS
3962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
397
398 ZFS multi-device and version 33 support.
399
400 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
401 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
402 (grub_zfs_data): Add multidev-ice-related fields.
403 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
404 (dva_get_offset): Make dva const.
405 (zfs_fetch_nvlist): New function.
406 (fill_vdev_info_real): Likewise.
407 (fill_vdev_info): Likewise.
408 (check_pool_label): Likewise.
409 (scan_disk): Likewise.
410 (scan_devices): Likewise.
411 (read_device): Likewise.
412 (read_dva): Likewise.
413 (zio_read_gang): Use read_dva.
414 (zio_read_data): Likewise.
415 (zap_leaf_lookup): Add missing endian conversion.
416 (zap_verify): Add missing endian conversion. All users updated.
417 (fzap_lookup): Likewise.
418 (fzap_iterate): Likewise.
419 (dnode_get_path): Handle SA bonus.
420 (nvlist_find_value): Make input const. All users updated.
421 (unmount_device): New function.
422 (zfs_unmount): Use unmount_device.
423 (zfs_mount): Use scan_disk.
424 (zfs_mtime): New function.
425 (grub_zfs_open): Handle system attributes.
426 (fill_fs_info): Likewise.
427 (grub_zfs_dir): Likewise.
428 (grub_zfs_fs): Add mtime.
429 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
430 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
431 (SA_MTIME_OFFSET): Likewise.
432 (SA_SYMLINK_OFFSET): Likewise.
433 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
434 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
435 (fstest): Support zfsinfo.
436 (argp_parser): Likewise.
437
186b4028
VS
4382011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
441 error.
442
4432011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
444
445 ZFS fixes.
446
447 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
448 sharing the same block. Iterate over correct number of indices.
449 (dnode_get_path): Handle symlinks correctly.
450
c0584900
VS
4512011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
454
67e2bd71
VS
4552011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
456
457 Read label on HFS+.
458
459 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
460 (grub_hfsplus_btree_search): Fix types.
461 (grub_hfsplus_label): Implement.
462
e9cc6b7b
VS
4632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
464
465 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
466
19832ddb
VS
4672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
470
66b40850
VS
4712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
472
473 Fix symlink handling on iso9660.
474
475 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
476 All users updated.
477 (grub_iso9660_susp_iterate): Accept zero-size iterate.
478 (grub_iso9660_read_symlink): Moved most of code ...
479 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
480
db821363
VS
4812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
484 Use union to avoid breaking strict-aliasing rules.
485
e1211949
VS
4862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Support multi-extent iso files.
489
490 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
491 Add node.
492 (grub_fshelp_node): Revamp. All users updated.
493 (FLAG_*): New enum.
494 (read_node): New function.
495 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
496 All users updated.
497 (grub_iso9660_mount): Don't attempt to read sua when there is none.
498 (get_node_size): New function.
499 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
500 entries.
501 Fix memory leak on . and ..
502 (grub_iso9660_read): Use read_node.
503 (grub_iso9660_close): Free node.
504
d4888031
VS
5052011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
506
507 Fix tar 4G limit and handle paths containing dot.
508
509 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
510 (canonicalize): New function.
511 (grub_cpio_find_file): Use canonicalize. Store offs in
512 grub_disk_addr_t.
513 (grub_cpio_dir): Use grub_disk_addr_t.
514 (grub_cpio_open): Likewise.
515
9f12e664
VS
5162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
517
518 Fix handling of uncompressed blocks on squashfs and break 4G limit.
519
520 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
521 unused flags.
522 (grub_squash_inode): Add long_file and block_size.
523 (grub_squash_cache_inode): New struct.
524 (grub_squash_dirent): Make types into enum.
525 (SQUASH_TYPE_LONG_REGULAR): New type.
526 (grub_squash_frag_desc): Add field size.
527 (SQUASH_BLOCK_FLAGS): New enum.
528 (grub_squash_data): Use grub_squash_cache_inode.
529 (grub_fshelp_node): Make ino_chunk 64-bit.
530 (read_chunk): Minor argument change. All users updated.
531 (squash_mount): Use correct le_to_cpu.
532 (grub_squash_open): Handle LONG_REGULAR.
533 (direct_read): New function.
534 (grub_squash_read_data): Handle blocks correctly.
535
9f326fba
VS
5362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
539
f4d9b64b
VS
5402011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
543
5bbd28b8
VS
5442011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Fix 2G limit on ZFS.
547
548 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
549 types.
550 (uberblock_verify): Likewise.
551 (dmu_read): Likewise.
552 (grub_zfs_read): Likewise. Remove invalid cast.
553
68c72069
VS
5542011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
557 (grub_jfs_blkno): Fix incorrect shift.
558 (grub_jfs_read_file): Use more appropriate types.
559
6e536dc8
VS
5602011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
561
562 Support triple indirect on minix2 and minix3.
563
564 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
565 Declare triple_indir_zone.
566 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
567 indirect.
568
e0864e7a
VS
5692011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
570
571 Minix FS fixes.
572
573 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
574 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
575 Rename ctime to mtime. All users updated.
576 (grub_minix_get_file_block): Fix types and double indirect computations.
577
89481cab
VS
5782011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
581 if no label is found.
582 (grub_fat_iterate_dir): Fix file size type.
583 (grub_fat_iterate_dir): Likewise.
584
f646e143
VS
5852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
588 save some space.
589 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
590 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
591
534d769e
VS
5922011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
595
e084ba18
VS
5962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * util/import_gcry.py: Accept space between # and include.
599
3471ecdf
VS
6002011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
601
602 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
603
124df5f6
VS
6042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
605
606 Fine grainely disable warnings on lexer. Remove Wno-error on it.
607
608 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
609 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
610 yylex_strncpy.
611 * grub-core/script/yylex.l: Add fine-grained #pragma.
612
4defb8d5
VS
6132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
614
615 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
616 New inline function.
617 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
618 Likewise.
619 (memset) [GRUB_UTIL]: Likewise.
620 (memcmp) [GRUB_UTIL]: Likewise.
621
4e94ae65
VS
6222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
625 inline function rather than a define.
626
18c575e5
VS
6272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * util/grub-setup.c: Add missing include.
630
f8bc22a8
VS
6312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * util/ieee1275/grub-ofpathname.c: Add missing include.
634
3ce69fc9
VS
6352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
638 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
639 Likewise.
640
d1e293bb
VS
6412011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
644 grub_memcmp usage.
645
7a5c54a4
VS
6462011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * util/grub-install.in: Add datarootdir as per automake manual
649 suggestion.
650 * util/grub-mknetdir.in: Likewise.
651
6522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
653
654 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
655 suggestion.
656 * util/grub.d/10_kfreebsd.in: Likewise.
657 * util/grub.d/10_linux.in: Likewise.
658 * util/grub.d/10_netbsd.in: Likewise.
659 * util/grub.d/10_windows.in: Likewise.
660 * util/grub.d/20_linux_xen.in: Likewise.
661
766f7d08
VS
6622011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
663
664 Remove redundant grub_kernel_image_size.
665
666 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
667 _edata and _start.
668 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
669 the small code. It moves it only by few bytes but simplifies the code.
670 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
671 _start.
672 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
673 (grub_kernel_image_size): Removed.
674 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
675 (grub_kernel_image_size): Removed.
676 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
677 compiled with Apple toolchain.
678 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
679 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
680 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
681 (grub_total_module_size): Likewise.
682 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
683 Removed.
684 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
685 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
686 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
687 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
688 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
689 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
690 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
691 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
692 Removed.
693 (grub_total_module_size): Removed.
694 * util/grub-mkimage.c (image_target_desc): Remove image_size.
695 (image_targets): Likewise.
696 Set .compressed_size to no field on sparc.
697 (generate_image): Remove kernel_image_size handling.
698
fcf1d672
SJ
6992011-10-19 Szymon Janc <szymon@janc.net.pl>
700
701 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
702 NULL pointer dereference.
703
de9c615e
VS
7042011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
705
706 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
707 done with a dedicated section.
708
709 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
710 Ensure the correct position of boot_path.
711 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
712 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
713 other fields.
714 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
715 * include/grub/boot.h: Removed. All references removed.
716 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
717 Removed.
718 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
719
e55599dc
VS
7202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
723 name.
724
36dd20ad
VS
7252011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
728
f8f72eb8
VS
7292011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
732 Don't add the bogus brackets.
733
a374751b
VS
7342011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
735
736 ExFAT support.
737
738 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
739 * grub-core/Makefile.core.def (exfat): New module.
740 * grub-core/fs/exfat.c: New file.
741 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
742 (GRUB_FAT_ATTR_*): Make into an enum.
743 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
744 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
745 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
746 (GRUB_FAT_MAXFILE): Removed.
747 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
748 (grub_current_fat_bpb_t): New type.
749 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
750 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
751 (grub_fat_dir_node_t): New type.
752 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
753 (fat_log2) [MODE_EXFAT]: Removed.
754 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
755 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
756 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
757 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
758 (grub_fat_label) [MODE_EXFAT]: New function.
759 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
760 reserved_first_sector to 0.
761
544c2487
VS
7622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
763
764 Move grub_reboot out of the kernel.
765
766 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
767 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
768 * grub-core/lib/efi/reboot.c: ... here.
769 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
770 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
771 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
772 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
773 * grub-core/lib/i386/reboot_trampoline.S: ... here.
774 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
775 * grub-core/lib/ieee1275/reboot.c: ... here.
776 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
777 * grub-core/lib/mips/arc/reboot.c: ... here.
778 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
779 * grub-core/lib/mips/loongson/reboot.c: ...here.
780 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
781 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
782 * include/grub/emu/misc.h (grub_reboot): New function declaration.
783 * include/grub/i386/reboot.h: New file.
784 * include/grub/mips/loongson/ec.h: Fix includes.
785 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
786 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
787 * grub-core/lib/i386/reboot.c: New file.
788
a97501d2
VS
7892011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
790
791 Make grub_prefix into module to fix the arbitrary limit and save
792 some space.
793
794 * grub-core/kern/emu/main.c (grub_prefix): Removed.
795 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
796 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
797 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
798 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
799 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
800 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
801 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
802 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
803 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
804 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
805 * include/grub/ia64/efi/kernel.h: Removed.
806 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
807 (grub_prefix): Removed.
808 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
809 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
810 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
811 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
812 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
813 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
814 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
815 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
816 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
817 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
818 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
819 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
820 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
821 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
822 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
823 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
824 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
825 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
826 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
827 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
828 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
829 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
830 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
831 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
832 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
833 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
834 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
835 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
836 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
837 from module.
838 * util/grub-mkimage.c (image_target_desc): Removed prefix and
839 prefix_end.
840 (image_targets): Likewise.
841 (generate_image): Put prefix as a module.
842
39705fad
VS
8432011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
844
845 Replace grub_module_iterate with FOR_MODULES.
846
847 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
848 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
849 (grub_efi_modules_addr): ...this.
850 * grub-core/kern/efi/init.c (grub_modbase): New variable.
851 (grub_efi_init): Set grub_modbase.
852 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
853 (grub_modbase): New variable.
854 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
855 (grub_modbase): New variable.
856 (grub_machine_init): Set grub_modbase.
857 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
858 (grub_modbase): New variable.
859 (grub_machine_init): Set grub_modbase.
860 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
861 (grub_modbase): New variable.
862 (grub_machine_init): Set grub_modbase.
863 * grub-core/kern/main.c (grub_module_iterate): Remove.
864 (grub_modules_get_end): Use grub_modbase.
865 (grub_load_modules): Use FOR_MODULES.
866 (grub_load_config): Likewise.
867 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
868 (grub_modbase): New variable.
869 (grub_machine_init): Set grub_modbase.
870 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
871 (grub_modbase): New variable.
872 (grub_machine_init): Set grub_modbase.
873 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
874 Removed.
875 (grub_modbase): New variable.
876 (grub_machine_init): Set grub_modbase.
877 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
878 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
879 (grub_module_iterate): Likewise.
880 (grub_modbase): New variable declaration.
881 (FOR_MODULES): New macro.
882
2afb7f6c
VS
8832011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * configure.ac: Check for __ctzdi2 and __ctzsi2.
886 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
887
366e34fa
VS
8882011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
889
890 Fix few obvious type discrepancies.
891
892 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
893 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
894 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
895 variable.
896 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
897 and connected types.
898 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
899 offset.
900 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
901 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
902 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
903 and connected types.
904
177b960e
VS
9052011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Fix python 3.x incompatibilities.
908
909 * gentpl.py: Put brackets around print strings.
910 * util/import_gcry.py: Open explicitly as utf-8.
911 Use in instead of has_key.
912
3b619ae1
VS
9132011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
916 (GRUB_XFS_INO_AGBITS): Make into inline function.
917 (GRUB_XFS_INO_INOINAG): Likewise.
918 (GRUB_XFS_INO_AG): Likewise.
919 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
920 (GRUB_XFS_EXTENT_OFFSET): Likewise.
921 (GRUB_XFS_EXTENT_BLOCK): Likewise.
922 (GRUB_XFS_EXTENT_SIZE): Likewise.
923 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
924 (GRUB_XFS_NEXT_DIRENT): Likewise.
925 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
926 (grub_xfs_read_file): Fix offset type.
927
8bcebcb8
RM
9282011-10-15 Robert Millan <rmh@gnu.org>
929
930 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
931
0017e5ef
RM
9322011-10-15 Robert Millan <rmh@gnu.org>
933
934 Fix build problem on FreeBSD and GNU/kFreeBSD.
935
936 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
937
d8919552
VS
9382011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
939
940 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
941
942 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
943 types.
944 (grub_hfsplus_btree_recoffset): Likewise.
945 (grub_hfsplus_btree_recptr): Likewise.
946 (grub_hfsplus_find_block): Likewise.
947 (grub_hfsplus_btree_search): Likewise.
948 (grub_hfsplus_read_block): Likewise.
949 (grub_hfsplus_read_file): Likewise.
950 (grub_hfsplus_mount): Likewise.
951 (grub_hfsplus_btree_iterate_node): Likewise.
952 (grub_hfsplus_btree_search): Likewise.
953 (grub_hfsplus_iterate_dir): Likewise.
954 (grub_hfsplus_read): A small code simplification.
955
c81296b6
VS
9562011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/kern/emu/hostdisk.c
959 (convert_system_partition_to_system_disk): Don't assume that children
960 of mapper nodes are mapper nodes.
961
0eb8ffb1
VS
9622011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
965 * include/grub/misc.h (grub_isxdigit): New function.
966 * grub-core/video/colors.c (my_isxdigit): Removed. All users
967 switched to grub_isxdigit.
968 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
969 number starting with a letter.
970
a98f4a08
RM
9712011-10-09 Robert Millan <rmh@gnu.org>
972
973 LVM support for FreeBSD and GNU/kFreeBSD.
974
975 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
976 GNU/kFreeBSD.
977 (LVM_DEV_MAPPER_STRING): Move from here ...
978 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
979 * util/getroot.c: Include `<grub/util/lvm.h>'.
980 (grub_util_get_dev_abstraction): Enable
981 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
982 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
983 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
984 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
985 support it.
986 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
987 GNU/kFreeBSD.
988 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
989 when LVM abstraction is required for ${GRUB_DEVICE}.
990
050e8e90
SJ
9912011-10-06 Szymon Janc <szymon@janc.net.pl>
992
993 Add support for LZO compression in GRUB:
994 - import of minilzo library,
995 - LZO decompression for btrfs,
996 - lzop files decompression.
997
998 * grub-core/io/lzopio.c: New file.
999 * grub-core/lib/adler32.c: Likewise.
1000 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1001 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1002 * grub-core/lib/minilzo/minilzo.c: Likewise.
1003 * grub-core/lib/minilzo/minilzo.h: Likewise.
1004 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1005 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1006 grub-core/lib/minilzo/minilzo.c to common.
1007 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1008 cflags in cppflags.
1009 * grub-core/Makefile.core.def (btrfs): Likewise.
1010 * grub-core/Makefile.core.def (lzopio): New module.
1011 (adler32): Likewise.
1012 * grub-core/fs/btrfs.c: Include minilzo.h.
1013 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1014 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1015 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1016 (grub_btrfs_lzo_decompress): New function.
1017 (grub_btrfs_extent_read): Add support for LZO compression type.
1018 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1019 (GRUB_USHRT_MAX): Likewise.
1020 (GRUB_UINT_MAX): Likewise.
1021 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1022 (UINT_MAX): Likewise.
1023 (CHAR_BIT): Likewise.
1024 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1025 grub-core/lib/posix_wrap/limits.h
1026 (UCHAR_MAX): Likewise.
1027 * include/grub/file.h (grub_file_filter_id): New compression filter
1028 GRUB_FILE_FILTER_LZOPIO.
1029 * include/grub/file.h (grub_file_filter_id): Set
1030 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1031 * include/grub/types.h (grub_get_unaligned16): New function.
1032 (grub_get_unaligned32): Likewise.
1033 (grub_get_unaligned64): Likewise.
1034 * util/import_gcry.py (cryptolist): Add adler32.
1035
0eb8ffb1
VS
10362011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1039 in perspective decreases the complexity of build system and fixes
1040 compilation right now.
1041
ce79cc99 10422011-10-01 Ales Nesrsta <starous@volny.cz>
1043
1044 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1045 (fixed problem related to using UHCI with coreboot).
1046
8667a314
BC
10472011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1048
1049 * gentpl.py: Use Autogen macros so that the output template file
1050 (Makefile.tpl) size is reduced.
1051
fc5efcc0
MK
10522011-09-29 Mads Kiilerich <mads@kiilerich.com>
1053
1054 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1055 extra_dist.
1056
d1ab689d
ML
10572011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1058
1059 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1060 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1061
c05de032
ML
10622011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1063
1064 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1065 _fullpath.
1066
cca7ccd8
ML
10672011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1068
1069 Remove extra declaration of sleep for mingw32.
1070
1071 * util/misc.c (sleep) [__MINGW32__]: Removed.
1072 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1073
e0b0dc83
GS
10742011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1075
1076 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1077 type and packname.
1078 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1079 Resurrected.
1080 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1081 (grub_netbsd_btinfo_bootwedge): New struct.
1082 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1083 New function.
1084 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1085
91a1a164
TH
10862011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1087
1088 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1089 loader.
1090
2ded951e
AB
10912011-09-28 Andreas Born <futur.andy@googlemail.com>
1092
1093 Fix incorrect identifiers in bash-completion.
1094
1095 * util/bash-completion.d/grub-completion.bash.in
1096 (_grub_mkpasswd-pbkdf2): Rename to ...
1097 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1098 (_grub_script-check): Rename to ...
1099 (_grub_script_check): ... this. All users updated.
1100
69915030
VS
11012011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1102
1103 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1104 Return 0 if disk isn't biosdisk.
1105
20fd15f9
GS
11062011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1107
1108 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1109 on NetBSD.
1110 * Makefile.util.def (grub-fstest): Likewise.
1111
1a7d7db9
GS
11122011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1113
1114 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1115 Get sector size from disk label.
1116
2221ab6c
CW
11172011-09-05 Colin Watson <cjwatson@ubuntu.com>
1118
1119 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1120 */README* as well as README*.
1121 Reported by: Axel Beckert.
1122
ca51c4a0
VS
11232011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1124
1125 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1126 case of less than 256 MiB of RAM.
1127
ab80f326
VS
11282011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/commands/wildcard.c (make_regex): Handle @.
1131
4155e697
VS
11322011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1135
ab178c08
SJ
11362011-08-21 Szymon Janc <szymon@janc.net.pl>
1137
1138 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1139 AC_LANG_CONFTEST macros.
1140
7dc3c686
SJ
11412011-08-20 Szymon Janc <szymon@janc.net.pl>
1142
1143 Add grub-fstest option to uncompress data for commands.
1144
1145 * util/grub-fstest.c (uncompress): New var.
1146 (options): New option -u.
1147
fe8d4a7b
SJ
11482011-08-20 Szymon Janc <szymon@janc.net.pl>
1149
1150 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1151 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1152
a5219af1
SJ
11532011-08-20 Szymon Janc <szymon@janc.net.pl>
1154
1155 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1156 file type was not recognized correctly (not gzip or corrupted).
1157
f87abff5
VS
11582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1161 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1162
d94497ea
VS
11632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1166 loongson.
1167 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1168 video_radeon_fuloong2e.
1169 * grub-core/video/radeon_fuloong2e.c: New file.
1170 * include/grub/video.h (grub_video_id_t): Add new ID
1171 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1172
0d1fd011
VS
11732011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1176 define.
1177 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1178 that PRID matches the detected subplatform and reset the subplatform
1179 if it doesn't.
1180
84beb0ee
VS
11812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1184
1227c133
VS
11852011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 Fix PCI iterating on functions >= 4.
1188
1189 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1190 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1191 Removed.
1192 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1193 (grub_pci_read): Fix bitmask.
1194 (grub_pci_read_word): Likewise.
1195 (grub_pci_read_byte): Likewise.
1196 (grub_pci_write): Likewise.
1197 (grub_pci_write_word): Likewise.
1198 (grub_pci_write_byte): Likewise.
1199
9594c689
VS
12002011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1203 can still be specified in TARGET_CFLAGS)
1204
14a2562c
VS
12052011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1208
1209 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1210 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1211 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1212 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1213 (FULOONG): Rename to ...
1214 (FULOONG2F): ... this. All users updated.
1215 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1216 (machtype_fuloong2f_str): ... this.
1217 (machtype_fuloong2e_str): New string.
1218 Check for machtype_fuloong2e_str.
1219 * grub-core/loader/mips/linux.c (loongson_machtypes)
1220 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1221 * grub-core/term/serial.c (loongson_defserial)
1222 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1223 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1224 loongson_defserial.
1225 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1226 Rename to ...
1227 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1228 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1229 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1230 to IMAGE_FULOONG2F_FLASH. All users updated.
1231 (image_targets): Rename images.
1232 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1233
b526cbb6
SJ
12342011-08-19 Szymon Janc <szymon@janc.net.pl>
1235
1236 Make enable of disk cache statistics code configurable.
1237
1238 * configure.ac: --enable-cache-stats added.
1239 * config.h.in (DISK_CACHE_STATS): New define.
1240 * grub-core/Makefile.core.def (cacheinfo): New command.
1241 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1242 * grub-core/commands/cacheinfo.c: New file.
1243 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1244 moved to cacheinfo.c.
1245 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1246 debug code.
1247 * include/grub/disk.h: Likewise.
1248
fb739ccd
SJ
12492011-08-19 Szymon Janc <szymon@janc.net.pl>
1250
1251 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1252 * grub-core/Makefile.am: Likewise.
1253
2bba8cfd
VS
12542011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1257 non-zero pull.
1258
43526629
VS
12592011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1262 All users updated.
1263 (grub_jfs_lookup_symlink): Use correct starting inode.
1264
5c144cc8
VS
12652011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * util/grub-setup.c (main): Add missing gcry initialisation.
1268
b1257f65
VS
12692011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 Don't accept text modes on EFI when booting Linux.
1272
1273 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1274 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1275
828bc390
ML
12762011-08-15 Mario Limonciello <mario_limonciello@dell.com>
12772011-08-15 Colin Watson <cjwatson@ubuntu.com>
1278
1279 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1280 use of "/path/.." as in grub-install for EFI as well as handling
1281 symlinks correctly.
1282 Fixes Debian bug #637768.
1283
5f60ccac
CW
12842011-08-15 Colin Watson <cjwatson@ubuntu.com>
1285
1286 * util/grub-probe.c: Remove duplicate #include.
1287
6dc212f9
RM
12882011-08-10 Robert Millan <rmh@gnu.org>
1289
1290 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1291
1292 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1293 function.
1294 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1295 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1296
66816d85
RM
12972011-08-03 Robert Millan <rmh@gnu.org>
1298
1299 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1300 la_array as packed.
1301 Reported by: Zachary Bedell
1302
20168fca
CW
13032011-07-26 Colin Watson <cjwatson@ubuntu.com>
1304
1305 * configure.ac: The Loongson port requires grub-mkfont due to its
1306 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1307 be built.
1308
303b6246
CW
13092011-07-26 Colin Watson <cjwatson@ubuntu.com>
1310
1311 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1312 processing arguments (otherwise help2man fails when GRUB has not yet
1313 been installed).
1314
6795300e
VS
13152011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1316
41aa28ea
VS
1317 New script grub-mkstandalone.
1318
1319 * Makefile.util.def (grub-mkstandalone): New script.
1320 * docs/man/grub-mkstandalone.h2m: New file.
1321 * util/grub-mkstandalone.in: Likewise.
1322
13232011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 Support ATA disks with 4K sectors.
6795300e
VS
1326
1327 * include/grub/ata.h (grub_ata): New member log_sector_size.
1328 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1329 (grub_ata_identify): Read sector size.
1330 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1331
92227597
VS
13322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1333
1334 * util/grub-install.in: Don't use uhci outside of x86.
1335
c77069f5
VS
13362011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/grub-mkrescue.in: Add missing quotes.
1339
13402011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1341
1342 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1343 dereference.
1344
583168a2
VS
13452011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1348
6be1c01f
VS
13492011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * include/grub/video.h: add missing EXPORT_FUND on
1352 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1353
a1167439
VS
13542011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * include/grub/mips/kernel.h: Fix define conflict.
1357
bf66054f
VS
13582011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1361 all four ways.
1362
8fc4fa45
CW
13632011-07-21 Colin Watson <cjwatson@ubuntu.com>
1364
1365 Preferred resolution detection for VBE.
1366
1367 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1368 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1369 the Flat Panel extension, in line with the X.org VESA driver.
1370 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1371 New function.
1372 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1373 (grub_vbe_bios_read_edid): Likewise.
1374 (grub_vbe_get_preferred_mode): Likewise.
1375 (grub_video_vbe_setup): When the mode is "auto", try to get the
1376 preferred mode from VBE, and use the largest mode that is no larger
1377 than the preferred mode (some BIOSes expose a preferred mode that is
1378 not in their mode list!). If this fails, fall back to 640x480 as a
1379 safe conservative choice.
1380 (grub_video_vbe_get_edid): New function.
1381 (grub_video_vbe_adapter): Add get_edid.
1382 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1383 (struct grub_video_adapter): Add get_edid.
1384 (grub_video_edid_checksum): Add prototype.
1385 (grub_video_edid_preferred_mode): Likewise.
1386 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1387 structure.
1388
1389 * grub-core/commands/videoinfo.c (print_edid): New function.
1390 (grub_cmd_videoinfo): Print EDID if available.
1391
1392 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1393 is more appropriate on a wider range of platforms than 640x480.
1394 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1395 documentation.
1396
ca5572a9
VS
13972011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1400
e4bcf625
VS
14012011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * po/POTFILES.in: Regenerate.
1404
c4edd548
VS
14052011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1408 incorrect memory usage.
1409
16a2bab0
VS
14102011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1411
1412 * util/grub-install.in: Source grub-mkconfig_lib.
1413
2e418de6
VS
14142011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 Remove getroot.c from core on emu platform.
1417
1418 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1419 kern/emu/raid.c.
1420 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1421 useless.
1422 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1423 * util/getroot.c (get_win32_path): ... here.
1424 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1425 * util/getroot.c (fini_libzfs): ... here.
1426 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1427 * util/getroot.c (grub_get_libzfs_handle): ... here.
1428 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1429 Moved from here...
1430 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1431 * grub-core/kern/emu/misc.c
1432 (grub_make_system_path_relative_to_its_root): Moved from here...
1433 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1434 * grub-core/kern/emu/getroot.c: Moved from here ...
1435 * util/getroot.c: ... here. All users updated.
1436 * grub-core/kern/emu/raid.c: Moved from here ...
1437 * util/raid.c: ... here. All users updated.
1438
def9832a
VS
14392011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * po/POTFILES.in: Regenerate.
1442
cd8fe79a
VS
14432011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 Fix compilation on GNU/Linux.
1446
1447 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1448 Disable geli.
1449 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1450 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1451 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1452
a251b719
VS
14532011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
14542011-07-07 Michael Gorven <michael@gorven.za.net>
14552011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1456
1457 LUKS and GELI support.
1458
1459 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1460 grub-core/disk/luks.c, grub-core/disk/geli.c,
1461 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1462 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1463 grub-core/lib/arg.c.
1464 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1465 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1466 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1467 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1468 (grub-bin2h): Add libgcry.a.
1469 (grub-mkimage): Likewise.
1470 (grub-mkrelpath): Likewise.
1471 (grub-script-check): Likewise.
1472 (grub-editenv): Likewise.
1473 (grub-mkpasswd-pbkdf2): Likewise.
1474 (grub-pe2elf): Likewise.
1475 (grub-fstest): Likewise.
1476 (grub-mkfont): Likewise.
1477 (grub-mkdevicemap): Likewise.
1478 (grub-probe): Likewise.
1479 (grub-ofpath): Likewise.
1480 (grub-mklayout): Likewise.
1481 (example_unit_test): Likewise.
1482 (grub-menulst2cfg): Likewise.
1483 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1484 * grub-core/Makefile.core.def (cryptodisk): New module.
1485 (luks): Likewise.
1486 (geli): Likewise.
1487 * grub-core/disk/AFSplitter.c: New file.
1488 * grub-core/disk/cryptodisk.c: Likewise.
1489 * grub-core/disk/geli.c: Likewise.
1490 * grub-core/disk/luks.c: Likewise.
1491 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
1492 grub_util_is_lvm.
1493 (grub_util_get_dm_abstraction): New function.
1494 (grub_util_follow_gpart_up): Likewise.
1495 (grub_util_get_geom_abstraction): Likewise.
1496 (grub_util_get_dev_abstraction): Use new functions.
1497 (grub_util_pull_device): Pull GELI and LUKS.
1498 (grub_util_get_grub_dev): Handle LUKS and GELI.
1499 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
1500 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
1501 (follow_geom_up): Removed.
1502 (grub_util_fd_seek): New function.
1503 (open_device): Use grub_util_fd_seek.
1504 (nread): Rename to ..
1505 (grub_util_fd_read): ... this. All users updated.
1506 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
1507 (grub_crypto_cbc_decrypt): Likewise.
1508 (grub_crypto_hmac_write): Likewise.
1509 (grub_crypto_hmac_buffer): Likewise.
1510 (grub_password_get): Extend to util.
1511 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
1512 New member modname.
1513 (gcry_md_spec) [GRUB_UTIL]: Likewise.
1514 * include/grub/cryptodisk.h: New file.
1515 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
1516 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
1517 LUKS and GELI.
1518 (grub_util_follow_gpart_up): New proto.
1519 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
1520 (grub_util_fd_read): Likewise.
1521 (grub_cryptodisk_cheat_mount): Likewise.
1522 (grub_util_cryptodisk_print_uuid): Likewise.
1523 (grub_util_get_fd_sectors): Likewise.
1524 * util/grub-fstest.c (mount_crypt): New var.
1525 (fstest): Mount crypto if requested.
1526 (options): New option -C.
1527 (argp_parser): Parse -C.
1528 (main): Init and fini gcry.
1529 * util/grub-install.in: Support cryptodisk install.
1530 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
1531 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
1532 cryptodisk.
1533 (prepare_grub_to_access_device): Likewise.
1534 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
1535 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
1536 (probe_cryptodisk_uuid): New function.
1537 (probe_abstraction): Likewise.
1538 (probe): Use new functions.
1539 * util/import_gcry.py: Create Makefile.utilgcry.def.
1540 Add modname member.
1541
9bfdcbbc
VS
15422011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Lazy device scanning.
1545
1546 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
1547 (grub-setup): Remove util/raid.c.
1548 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
1549 * grub-core/disk/lvm.c (scan_depth): New variable.
1550 (grub_lvm_iterate): Rescan if necessary.
1551 (find_lv): New function based on grub_lvm_open.
1552 (grub_lvm_open): Use find_lv. Rescan on error.
1553 (is_node_readable): New function.
1554 (is_lv_readable): Likewise.
1555 (grub_lvm_scan_device): Skip already found disks.
1556 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
1557 Stop if searched device is found and readable.
1558 * grub-core/disk/raid.c (inscnt): New variable.
1559 (scan_depth): Likewise.
1560 (scan_devices): New function based on grub_raid_register. Abort if
1561 looked for device is found.
1562 (grub_raid_iterate): Rescan if needed.
1563 (find_array): NEw function based on -grub_raid_open.
1564 (grub_raid_open): Use find_array and rescan.
1565 (insert_array): Set became_readable_at.
1566 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
1567 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
1568 New function.
1569 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
1570 (grub_util_pull_device): New function.
1571 (grub_util_get_grub_dev): Call grub_util_pull_device.
1572 * util/raid.c: Moved to ..
1573 * grub-core/kern/emu/raid.c: ... here.
1574 (grub_util_raid_getmembers): New parameter "bootable".
1575 All users updated. Support 1.x.
1576 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
1577 All users updated.
1578 * include/grub/disk.h (grub_disk_pull_t): New enum.
1579 (grub_disk_dev): Change iterate prototype.
1580 All users updated.
1581 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
1582 New proto.
1583 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
1584 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
1585 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
1586 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
1587 All users updated.
1588 * include/grub/util/raid.h: Removed.
1589
1c358e59
VS
15902011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * po/POTFILES.in: Regenerate.
1593
abee94ed
VS
15942011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Unify sparc init with other ieee1275.
1597
1598 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
1599 instead of kern/sparc64/ieee1275/init.c.
1600 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
1601 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
1602 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
1603 grub/machine/kernel.h.
1604 (grub_ieee1275_original_stack) [__sparc__]: New variable.
1605 (grub_claim_heap) [__sparc__]: Use sparc version.
1606 (grub_machine_init): Moved args parsing to
1607 (grub_parse_cmdline): ...this.
1608 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
1609 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
1610 New definition.
1611 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
1612
1613 Move BOOTP to separate file.
1614
1615 * grub-core/Makefile.core.def (net): Add net/bootp.c.
1616 * grub-core/net/net.c: Move all BOOTP functions to
1617 * grub-core/net/bootp.c: ... here.
1618
1619 Use frame interface on PXE.
1620
1621 * grub-core/Makefile.core.def (pxecmd): Removed.
1622 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
1623 * grub-core/commands/i386/pc/pxecmd.c: Removed.
1624 * grub-core/i386/pc/pxe.c: Moved from here ...
1625 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
1626 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
1627 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
1628
1629 EFI network support.
1630
1631 * grub-core/Makefile.core.def (efinet): New module.
1632 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
1633 here...
1634 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
1635 All users updated.
1636 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
1637 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
1638 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
1639 * grub-core/net/drivers/efi/efinet.c: New file.
1640 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
1641 (grub_efi_net_config): New extern var.
1642
1643 Various cleanups and bugfixes.
1644
1645 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
1646 error.
1647 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
1648 disk declared as partition.
1649 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
1650 leak on failure.
1651 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
1652 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
1653 (grub_debug_zalloc): Likewise.
1654 (grub_debug_realloc): Likewise.
1655 (grub_debug_memalign): Likewise.
1656 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
1657 Check that target is IPv4.
1658 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
1659 local-mac-address as fallback.
1660 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
1661 memory leak.
1662 * grub-core/net/ip.c (ipchksum): Rename to ...
1663 (grub_net_ip_chksum): ... this. All users updated.
1664 (grub_net_recv_ip_packets): Special handling for DHCP.
1665 * util/grub-mkimage.c (generate_image): Zero-out aout header.
1666
1667 Unify prefix handling
1668
1669 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
1670 (grub_machine_get_bootlocation): ... this.
1671 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
1672 (grub_machine_get_bootlocation): ... this.
1673 (grub_prefix): New variable.
1674 (prefix): Removed.
1675 (root_dev): New variable.
1676 (dir): Likewise.
1677 (main): Use new variables.
1678 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
1679 Revamped into ...
1680 (grub_machine_get_bootlocation): ... this.
1681 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
1682 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
1683 (grub_machine_get_bootlocation): ... this.
1684 (grub_machine_set_prefix): Removed.
1685 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
1686 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
1687 Revamped into ...
1688 (grub_machine_get_bootlocation): ... this.
1689 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
1690 (grub_set_prefix_and_root): ... this. All users updated.
1691 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
1692 Revamped into ...
1693 (grub_machine_get_bootlocation): ... this.
1694 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
1695 (grub_machine_get_bootlocation): New proto.
1696 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
1697
1698 Less intrusive and more reliable seek on network implementation.
1699
1700 * grub-core/kern/file.c (grub_file_net_seek): Removed.
1701 (grub_file_seek): Don't call grub_file_net_seek.
1702 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
1703 (grub_net_fs_read_real): .. this.
1704 (grub_net_seek_real): Use net->offset.
1705 (grub_net_fs_read): Seek if necessary.
1706
1707 Unify IEEE1275 netwotk config with the other platforms.
1708
1709 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
1710 New variable.
1711 (grub_machine_get_bootlocation): Support network.
1712 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1713 Support type and device parsing.
1714 (grub_ieee1275_get_device_type): New function.
1715 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
1716 into ...
1717 (grub_ieee1275_net_config_real): ... this.
1718 (grub_ofnet_probecards): Removed.
1719 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
1720 * include/grub/ieee1275/ofnet.h: Removed.
1721 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
1722 extern var.
1723 (grub_ieee1275_get_device_type): New function.
1724
1725 Unify network device closing across platforms and make more robust.
1726
1727 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
1728 grub_grubnet_fini.
1729 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
1730 already.
1731 * grub-core/net/net.c (grub_net_network_level_interface_register):
1732 Update num_ifaces.
1733 (grub_net_card_unregister): Close all interfaces.
1734 (receive_packets): Don't poll if no iterfaces are registered.
1735 Open if necessary.
1736 (grub_net_fini_hw): New function.
1737 (grub_net_restore_hw): Likewise.
1738 (fini_hnd): New variable.
1739 (GRUB_MOD_INIT): Register preboot hook.
1740 (GRUB_MOD_FINI): Run and unregister preboot hook.
1741
1742 Poll network cards when idle.
1743
1744 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1745 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1746 * grub-core/net/net.c (receive_packets): Save last poll time.
1747 (grub_net_poll_cards_idle_real): New function.
1748 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1749 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1750 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1751
1752 Rename ofnet interfaces.
1753
1754 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1755 (grub_ofnet_findcards): Use ofnet_%s names.
1756
1757 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1758
1759 Cleanup socket opening.
1760
1761 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1762 (grub_net_fs_close): Likewise.
1763 (grub_net_fs_read_real): Use eof member.
1764 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1765 (+grub_net_udp_close): New inline function.
1766
1767 * include/grub/net/tftp.h: Moved to the top of ...
1768 * grub-core/net/tftp.c: ... here.
1769 * include/grub/net/ip.h: Moved mostly to the top of ...
1770 * grub-core/net/ip.c: ... here.
1771 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1772 * grub-core/net/ethernet.c: ... here.
1773
1774 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1775
1776 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1777 FS name.
1778
1779 * include/grub/net/ip.h (ipv4_ini): Removed.
1780 (ipv4_fini): Likewise.
1781
1782 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
1783 (grub_net_send_ip_packets): Likewise.
1784
cf1337aa
VS
17852011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
1788 grub_read_cmos prototype.
1789
93c06ff9
VS
17902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 VGA text support in qemu-mips
1793
1794 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
1795 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
1796 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
1797 text.
1798 * grub-core/kern/i386/qemu/init.c: Renamed to ...
1799 * grub-core/kern/vga_init.c: ... this.
1800 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
1801 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
1802 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
1803 Adjust.
1804 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
1805 GRUB_MACHINE_PCI_IO_BASE.
1806
748ccabe
VS
18072011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 MIPS qemu flash support.
1810
1811 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
1812 magic.
1813 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
1814 (grub_machine_init): Probe memory if its size isn't known.
1815 * util/grub-mkimage.c (image_targets): Add flash targets.
1816 (generate_image): Handle flash targets.
1817
d7345994
VS
18182011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 MIPS qemu at_keyboard support.
1821
1822 * gentpl.py (videoinkernel): Add qemu-mips.
1823 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
1824 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
1825 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
1826 modules.
1827 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
1828 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
1829 * grub-core/term/serial.c (grub_serial_register)
1830 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
1831
a07a81b3
VS
18322011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 CMOS support on sparc.
1835
1836 * gentpl.py (cmos): Add powerpc and sparc.
1837 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
1838 powerpc and sparc.
1839 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
1840 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
1841 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
1842 grub_set_datetime_cmos.
1843 * grub-core/lib/ieee1275/cmos.c: New file.
1844 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
1845 (find_rtc): Set no_ieee1275_rtc on error.
1846 (grub_get_datetime): Call grub_get_datetime_cmos on error.
1847 (grub_set_datetime): Call grub_set_datetime_cmos on error.
1848 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
1849 fail. Move value to argument. All users updated
1850 (grub_cmos_write): Likewise.
1851 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
1852 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
1853 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
1854 grub_get_datetime_cmos and grub_set_datetime_cmos.
1855
77546584
GS
18562011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1857
1858 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
1859 sourcing grub-mkconfig_lib.
1860 * util/update-grub_lib.in: Likewise.
1861 * util/grub.d/00_header.in: Likewise.
1862 * util/grub.d/10_hurd.in: Likewise.
1863 * util/grub.d/10_kfreebsd.in: Likewise.
1864 * util/grub.d/10_linux.in: Likewise.
1865 * util/grub.d/10_netbsd.in: Likewise.
1866 * util/grub.d/10_windows.in: Likewise.
1867 * util/grub.d/20_linux_xen.in: Likewise.
1868 * util/grub.d/30_os-prober.in: Likewise.
1869
54894791
CW
18702011-06-28 Colin Watson <cjwatson@ubuntu.com>
1871
1872 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1873 default_bg_color rather than black.
1874 (grub_gfxterm_fullscreen): Likewise.
1875 (grub_gfxterm_background_color_cmd): Save new background color in
1876 default_bg_color.
1877
8d5d8444
VS
18782011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
1881
5afeb5bd
VS
18822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
1885 mismerge.
1886
ba7df45e
VS
18872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1888
1889 Chainloading on coreboot support.
1890
1891 * grub-core/Makefile.core.def (chain): Add coreboot.
1892 * grub-core/loader/i386/coreboot/chainloader.c: New file.
1893
d0b526b2
VS
18942011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
1897 if it happens.
1898
5ff1d945
VS
18992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 Implement time command.
1902
1903 * grub-core/Makefile.core.def (time): New module.
1904 * grub-core/commands/time.c: New file.
1905 * grub-core/script/parser.y: Remove "time" keyword.
1906 * grub-core/script/yylex.l: Likewise.
1907
5ebaad7e
VS
19082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
1911
bdea3798
VS
19122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
1915 when handling leftovers.
1916
b28c5655
VS
19172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
1920 so that help2man doesn't fail.
1921
b6f945dc
VS
19222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
1925 type in pointers on sparc64.
1926 (get_card_packet): Likewise.
1927
f9b75e8a
CW
19282011-06-27 Colin Watson <cjwatson@ubuntu.com>
1929
1930 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
1931 with `*'.
1932 (grub_cmd_videoinfo): Fetch current video mode.
1933
1e3d9b86
VS
19342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1935
1936 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
1937 because of underlying system restrictions.
1938
efff4b1c
VS
19392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1940
1941 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
1942 necessary.
1943
9fc9ce37
VS
19442011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Coreboot video support.
1947
1948 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
1949 (vbe): Likewise.
1950 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
1951 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
1952 here ...
1953 * grub-core/kern/i386/int.S: ... here.
1954 * grub-core/video/i386/pc/vbe.c: Updated includes.
1955 * grub-core/video/i386/pc/vga.c: Likewise.
1956 * include/grub/i386/coreboot/memory.h
1957 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
1958 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
1959 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
1960 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
1961 Disable interrupts.
1962 * include/grub/i386/pc/vga.h: Removed. All users updated.
1963
41bec7fe
VS
19642011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
1967 definitions for dprintf.
1968 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
1969
ca80309d
VS
19702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
1973 prototype.
1974 (get_card_packet): Likewise.
1975
9e322ce8
YB
19762011-06-26 Yves Blusseau <blusseau@zetam.org>
1977
1978 Display the path of the file when file is not found
1979
1980 * grub-core/fs/fat.c: Display the filename when file is not found.
1981 * grub-core/fs/fshelp.c: Likewise.
1982 * grub-core/fs/hfs.c: Likewise.
1983 * grub-core/fs/jfs.c: Likewise.
1984 * grub-core/fs/minix.c: Likewise.
1985 * grub-core/fs/ufs.c: Likewise.
1986 * grub-core/fs/btrfs.c: Likewise.
1987 * grub-core/commands/i386/pc/play.c: Likewise.
1988
cbf597af
SJ
19892011-06-26 Szymon Janc <szymon@janc.net.pl>
1990
1991 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
1992 pointer checks before calling grub_free().
1993 * grub-core/commands/wildcard.c (match_devices): Likewise.
1994 * grub-core/commands/wildcard.c (match_files): Likewise.
1995 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
1996 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
1997 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
1998 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
1999 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2000 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2001 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2002 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2003 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2004
6295b32f
P
20052011-06-25 Patrick <p55@mailinator.com>
2006
2007 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2008
77c0840b
VS
20092011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2012 (grub_pxe_send): Likewise.
2013 (GRUB_MOD_INIT): Fix types.
2014
40ea05de
SJ
20152011-06-24 Szymon Janc <szymon@janc.net.pl>
2016
2017 * grub-core/io/xzio.c: Fix code style issues
2018
90162423
MRA
20192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
20202011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2021
2022 Network infrastructure.
2023 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2024
2025 * include/grub/net/arp.h: New file.
90162423
MRA
2026 * include/grub/net/device.h: Likewise.
2027 * include/grub/net/ethernet.h: Likewise.
2028 * include/grub/net/ip.h: Likewise.
2029 * include/grub/net/netbuff.h: Likewise.
2030 * include/grub/net/tftp.h: Likewise.
2031 * include/grub/net/udp.h: Likewise.
2032 * include/grub/ieee1275/ofnet.h: Likewise.
2033 * include/grub/emu/export.h: Likewise.
2034 * include/grub/net.h: Likewise.
2035 * grub-core/net/arp.c: Likewise.
2036 * grub-core/net/ethernet.c: Likewise.
2037 * grub-core/net/ip.c: Likewise.
2038 * grub-core/net/udp.c: Likewise.
2039 * grub-core/net/tftp.c: Likewise.
2040 * grub-core/net/netbuff.c: Likewise.
2041 * grub-core/net/net.c: Likewise.
2042 * grub-core/net/drivers/emu/emunet.c: Likewise.
2043 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2044 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2045 export.h.
2046 * grub-core/Makefile.core.def (net): New module.
2047 (tftp): Likewise.
2048 (ofnet): Likewise.
2049 (emunet): Likewise.
2050 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2051 network protocols.
2052 * grub-core/kern/device.c (grub_net_open) : New variable.
2053 (grub_device_open): Handle network device.
2054 (grub_device_close): Likewise.
2055 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2056 (grub_grubnet_fini): Likewise.
2057 (grub_file_seek): Seek in network device.
2058 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2059 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2060 network root.
2061 (grub_machine_fini): Call grub_grubnet_fini.
2062 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2063 network.
2064 (grub_ieee1275_get_aliasdevname): New function.
2065 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2066 Add unofficial Solaris network info.
2067 (grub_multiboot_make_mbi): Likewise.
2068 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2069 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2070 * include/grub/device.h (grub_fs): Removed.
2071 * include/grub/err.h (grub_err_t): Add network-related values.
2072 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2073 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2074 (grub_ieee1275_get_aliasdevname): New proto.
2075 * include/grub/net.h: Rewritten.
423a1849 2076
031f22a0
VS
20772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2080 names.
2081
4388ca72
VS
20822011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2085 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2086 it truncates the output.
2087 Reported by: Ximin Luo.
2088
98e2f506
VS
20892011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2092
2a5e94d8
VS
20932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2094
2095 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2096 partmap before abstraction.
2097
535c1910
AK
20982011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2099
2100 * util/grub-mkconfig_lib.in: Add missing quotes.
2101
bc09e1a2
VS
21022011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2105 old method if mountinfo would return /dev/root and /dev/root doesn't
2106 exist.
2107
290766fb
VS
21082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 ZFS zlib support
2111
2112 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2113 (decomp_table): Add zlib entries.
2114 (zio_read): USe 8 bits for compression function rather than 3.
2115 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2116
21172011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/disk/ahci.c: Add missing license statements.
2120 * grub-core/fs/romfs.c: Likewise.
2121 * grub-core/lib/ia64/setjmp.S: Likewise.
2122 * grub-core/loader/i386/pc/freedos.c: Likewise.
2123 * grub-core/loader/ia64/efi/linux.c: Likewise.
2124 * grub-core/video/colors.c: Likewise.
2125 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2126
5ab3f48a
VS
21272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 AHCI support.
2130
2131 * grub-core/Makefile.core.def (ata_pthru): Removed.
2132 (ahci): New module.
2133 (pata): Likewise.
2134 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2135 on unload.
2136 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2137 readwrite.
2138 (grub_hdparm_do_check_powermode_cmd): Likewise.
2139 (grub_hdparm_do_smart_cmd): Likewise.
2140 (grub_hdparm_set_val_cmd): Likewise.
2141 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2142 * grub-core/disk/ahci.c: New file.
2143 * grub-core/disk/ata.c: Factor out the low-level part into ...
2144 * grub-core/disk/pata.c: ... here.
2145 * grub-core/disk/ata_pthru.c: Contents moved to ...
2146 * grub-core/disk/pata.c: ... here.
2147 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2148 (grub_scsi_iterate): Use grub_scsi_names.
2149 (grub_scsi_open): Likewise.
2150 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2151 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2152 (grub_ata_regs_t): New struct.
2153 (grub_disk_ata_pass_through_parms): Likewise.
2154 (grub_ata_device): Renamed to ...
2155 (grub_ata): ... this.
2156 (grub_ata_dev): New struct.
2157 Removed all low-level inline functions.
2158 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2159 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2160 iterate hooks and open. All users updated.
2161 * util/grub-install.in: Handle AHCI disk module.
2162
c31dc5f5
SJ
21632011-06-23 Szymon Janc <szymon@janc.net.pl>
2164
2165 Add support for DRI and RSTn markers in JPEG files.
2166
2167 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2168 (JPEG_MARKER_RST0): Likewise.
2169 (JPEG_MARKER_RST1): Likewise.
2170 (JPEG_MARKER_RST2): Likewise.
2171 (JPEG_MARKER_RST3): Likewise.
2172 (JPEG_MARKER_RST4): Likewise.
2173 (JPEG_MARKER_RST5): Likewise.
2174 (JPEG_MARKER_RST6): Likewise.
2175 (JPEG_MARKER_RST7): Likewise.
2176 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2177 (grub_jpeg_decode_dri): New function.
2178 (grub_jpeg_decode_sos): Move image data related part into
2179 grub_jpeg_decode_data function.
2180 (grub_jpeg_decode_data): New function.
2181 (grub_jpeg_reset): New function.
2182 (grub_jpeg_decode_jpeg): Handle new markers.
2183
fe12fd5b
VS
21842011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * util/ieee1275/ofpath.c (check_sas): Close fd.
2187 (main): Free of_path.
2188 Reported by: David Volgyes <dvolgyes>.
2189
03147f46
VS
21902011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2193 Reported by: David Volgyes <dvolgyes>.
2194
cad3237f
VS
21952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2198 file after stat.
2199 Reported by: David Volgyes <dvolgyes>.
2200
13548d26
VS
22012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2204
2205 Reported by: David Volgyes <dvolgyes>.
2206
e061a1b5
VS
22072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2210 Prevent memory leak.
2211
1abe47dc
VS
22122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2215 (main): Close file.
e061a1b5 2216 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2217
fbc62666
VS
22182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2221 to continue if allocation is failed.
2222
2223 Reported by: David Volgyes <dvolgyes>.
2224
e98c83e9
DV
22252011-06-23 David Volgyes <dvolgyes>
2226
2227 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2228 dereference.
2229
a199a8cd
VS
22302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 Fix spurious warning.
2233
2234 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2235 (acorn_partition_map_find): Use .bin member.
2236
e2d1dba0
VS
22372011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2240 /dev/root as a valid device.
2241
8a5d6919
JM
22422011-06-23 Jim Meyering <meyering@redhat.com>
2243
e2d1dba0
VS
2244 Avoid NULL deref in grub_device_open.
2245
8a5d6919
JM
2246 * grub-core/kern/device.c (grub_device_open): Don't dereference
2247 a NULL pointer upon failed grub_env_get.
2248
f7db6f4a
VS
22492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 Support non-512B sectors and agglomerate reads.
2252
2253 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2254 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2255 (disk_io_guid): Removed.
2256 (make_devices): Locate solely by BlockIO.
2257 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2258 (grub_efidisk_read): Use read_blocks.
2259 (grub_efidisk_write): Use write_blocks.
2260 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2261 log_sector_size.
2262 (get_safe_sectors): Handle non-512B sectors.
2263 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2264 sectors.
2265 (grub_biosdisk_write): Handle non-512B sectors.
2266 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2267 (grub_scsi_read): Remove special non-512B block handling (now handled
2268 one level up).
2269 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2270 and do sanity checks.
2271 (grub_disk_adjust_range): Handle non-512B sectors.
2272 (transform_sector): New function.
2273 (grub_disk_read_small): Likewise.
2274 (grub_disk_read): Rewritten.
2275 (grub_disk_write): Handle non-512B sectors.
2276 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2277 log_sector_size.
2278 (open_device): Use log_sector_size.
2279 (grub_util_biosdisk_read): Likewise.
2280 (grub_util_biosdisk_write): Likewise.
2281 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2282 non-512B sectors.
2283 (pc_partition_map_embed): Likewise.
2284 * include/grub/disk.h (grub_disk): New field log_sector_size.
2285 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2286 (GRUB_DISK_CACHE_BITS): Increased to 6.
2287 * util/grub-fstest.c (fstest): New command testload.
2288 (argp_parser): Likewise.
2289
881ac815
RM
22902011-06-16 Robert Millan <rmh@gnu.org>
2291
2292 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2293 `ata' driver on kernel of FreeBSD 9.
2294
2295 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2296 (get_ataraid_disk_name): New functions.
2297 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2298 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2299 get_ataraid_disk_name() and get_ada_disk_name().
2300
1e9aef7d
CW
23012011-06-13 Colin Watson <cjwatson@ubuntu.com>
2302
2303 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2304 input format.
2305
351c7c8a
CW
23062011-05-29 Colin Watson <cjwatson@ubuntu.com>
2307
2308 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2309 `ftp.gnu.org' for `alpha.gnu.org'.
2310
6b4e6430
CW
23112011-05-27 Colin Watson <cjwatson@ubuntu.com>
2312
2313 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2314 partitions under /dev/disk/by-id/.
2315
c64db050
CW
23162011-05-27 Colin Watson <cjwatson@ubuntu.com>
2317
2318 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2319 after ten consecutive open failures. Scanning all the way up to
2320 10000 is excessive and can cause serious performance problems in
2321 some configurations.
2322 Fixes Ubuntu bug #787461.
2323
245f4aba
VS
23242011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2327 opening new one.
2328
f767c929
VS
23292011-05-21 Colin Watson <cjwatson@ubuntu.com>
23302011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 Don't stat devices unless we have to.
2333
2334 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2335 dir == /dev/mapper.
2336 (grub_guess_root_device): Use already known os_dev if possible.
2337 * grub-core/kern/emu/hostdisk.c
2338 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2339 if device is known to be a dm one.
2340
f35fa3a6
CW
23412011-05-20 Colin Watson <cjwatson@ubuntu.com>
2342
2343 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2344 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2345 Reported by: Pawel Tecza.
2346
9a79fcf2
VS
23472011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2350 (lsefisystab): Likewise.
2351 (lssal): Likewise.
2352 (lsefimmap): Likewise.
2353 (hdparm): Enable on qemu-mips.
2354 (setjmp): Add ia64 nodist.
2355 (serial): Simplify tags.
2356
63e3eea9
CW
23572011-05-18 Colin Watson <cjwatson@ubuntu.com>
2358
2359 * Makefile.util.def (grub-ofpathname): Install manual page.
2360
09728256
CW
23612011-05-18 Colin Watson <cjwatson@ubuntu.com>
2362
2363 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2364
8b63a142
CW
23652011-05-18 Colin Watson <cjwatson@ubuntu.com>
2366
2367 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2368
e775d8ed
VS
23692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2372 into dprintf.
2373
bf947d36
VS
23742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 Use full 64-bit division.
2377
2378 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2379 (grub_divmod64): ... this.
2380 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2381 version.
2382
b84f26c5
CW
23832011-05-18 Colin Watson <cjwatson@ubuntu.com>
2384
2385 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2386 `source'.
2387
5626056f
CW
23882011-05-18 Colin Watson <cjwatson@ubuntu.com>
2389
2390 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2391 to avoid accidents when debugging with 'sh -x'.
2392 * grub-core/gensyminfo.sh.in: Likewise.
2393 * tests/example_scripted_test.in: Likewise.
2394 * tests/grub_cmd_regexp.in: Likewise.
2395 * tests/grub_script_blanklines.in: Likewise.
2396 * tests/grub_script_dollar.in: Likewise.
2397 * tests/grub_script_expansion.in: Likewise.
2398 * tests/grub_script_final_semicolon.in: Likewise.
2399 * tests/partmap_test.in: Likewise.
2400 * tests/util/grub-shell-tester.in: Likewise.
2401 * tests/util/grub-shell.in: Likewise.
2402
e2965f4a
CW
24032011-05-18 Colin Watson <cjwatson@ubuntu.com>
2404
2405 Move gfxmenu color handling to video, so that gfxterm can use it
2406 too.
2407
2408 * grub-core/gfxmenu/named_colors.c: Move to ...
2409 * grub-core/video/colors.c: ... here. Rename
2410 grub_gui_get_named_color to grub_video_get_named_color.
2411 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2412 * grub-core/video/colors.c (my_isxdigit): ... here.
2413 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2414 Move to ...
2415 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2416 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2417 to ...
2418 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2419
2420 * include/grub/gui.h (grub_gui_color_t): Move to ...
2421 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2422 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2423 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2424 * include/grub/gui.h (grub_gui_map_color): Move to ...
2425 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2426 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2427 to ...
2428 * include/grub/video.h (grub_video_get_named_color): ... here.
2429 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2430 * include/grub/video.h (grub_video_parse_color): ... here.
2431
2432 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2433 video/colors.c.
2434 (gfxmenu): Remove gfxmenu/named_colors.c.
2435 (video) [videomodules]: Add video/colors.c.
2436
2437 Add a background_color command.
2438
2439 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2440 function.
2441 (GRUB_MOD_INIT): Register background_color command.
2442 (GRUB_MOD_FINI): Unregister background_color command.
2443 (redraw_screen_rect): Allow blend/replace of text layer to be
2444 controlled independently from whether there is a background bitmap.
2445 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2446 changing bitmap.
2447
1e4b4390
VS
24482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2449
26618ff0
VS
2450 Patch BPB in ntldr and chainloader --bpb.
2451
1e4b4390
VS
2452 * grub-core/fs/fat.c: Include grub/fat.h.
2453 (grub_fat_bpb): Moved to ...
2454 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2455 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2456 grub/ntfs.h.
2457 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2458 Moved from here...
2459 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2460 here.
2461 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2462 New function.
2463 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2464 (GRUB_MOD_INIT): Show --bpb.
2465 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2466 * grub-core/normal/main.c (features): New variable.
2467 (GRUB_MOD_INIT): Set feature_* variables.
2468 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2469 proto.
2470 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2471
cf02731e
VS
24722011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2473
2474 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2475 for cleanness.
2476
e3a1073f
VS
24772011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 FreeDOS direct loading support.
2480
2481 * docs/grub.texi (Supported OS): Add FreeDOS.
2482 * grub-core/Makefile.core.def (freedos): New module.
2483 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2484 variable.
2485 (grub_relocator16_boot): Handle %ebx.
2486 * grub-core/lib/i386/relocator16.S: Likewise.
2487 * grub-core/loader/i386/pc/freedos.c: New file.
2488
05caa461
VS
24892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 Long Linux command line support.
2492
2493 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2494 (maximal_cmdline_size): New variable.
2495 (allocate_pages): Use maximal_cmdline_size.
2496 (grub_cmd_linux): Set and use maximal_cmdline_size.
2497 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2498 (allocate_pages): Use maximal_cmdline_size.
2499 (grub_cmd_linux): Set and use maximal_cmdline_size.
2500 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
2501 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
2502 and cmdline_size.
2503
a2491e23
VS
25042011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
25052011-05-18 Colin Watson <cjwatson@ubuntu.com>
2506
2507 Improve devmapper support
2508
2509 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
2510 (grub_util_is_lvm): New function.
2511 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
2512 than lvm if not dmraid.
2513 Handle mapped md nodes.
2514 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
2515 (grub_util_device_is_mapped): ... this. Make always available. All users
2516 updated.
2517 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
2518 (convert_system_partition_to_system_disk): Handle lvm, mpath and
2519 dmraid nodes.
2520 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
2521
6ad6223e
VS
25222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
2525
2526 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
2527 * grub-core/modinfo.sh.in: New file.
2528 * grub-core/Makefile.core.def (modinfo.sh): New script.
2529 * util/grub-mknetdir.in: Use modinfo.sh.
2530 * util/grub-mkrescue.in: Likewise.
2531
543a8f6e
VS
25322011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2535 Fix potential usage of Elf32 instead of Elf64 when compiling on
2536 32-bit architecture. Add endianness macros while on it.
2537
4959e111
VS
25382011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 Use mipsel- rather than mips- in directories involving mipsel ports to
2541 allow both endiannesses coexist.
2542
2543 * configure.ac: proparate target_cpu=mipsel rather than resetting to
2544 mips. All conditions adjusted.
2545 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
2546 variable.
2547 * util/grub-install.in: Adjust conditions to take renaming into account.
2548 * util/grub-mkimage.c (image_targets): Likewise. New target
2549 mips-qemu_mips-elf for bigendian mips.
2550
35341bbc
VS
25512011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 Avoid unnecessary copying on MIPS.
2554
2555 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
2556 early if src == dest.
2557 * util/grub-mkimage.c (generate_image): Arange for src == dest if
2558 compression is none.
2559
b772baed
VS
25602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 Reduce memory footprint on SGI by putting modules before the kernel
2563 as opposed to after.
2564
2565 * grub-core/Makefile.core.def (kernel): Increase linking address.
2566 (none_decompress): Likewise.
2567 (xz_decompress): Likewise.
2568 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
2569 address.
2570 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
2571 layout change.
2572 (grub_arch_modules_addr): New function.
2573 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
2574 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
2575 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
2576 here.
2577 * grub-core/kern/mips/startup.S (total_size): Rename to ...
2578 (grub_total_modules_size): ... this. Make global.
2579 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
2580 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
2581 New definition.
2582 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
2583 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
2584 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
2585 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
2586 * util/grub-mkimage.c (image_target_desc): New flag
2587 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
2588 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
2589 (generate_image): Handle images with modules before kernel.
2590
566a1917
VS
25912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 Prevent potential loss of memory map by overwrite on qemu-mips.
2594
2595 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2596 Save ram size in $s4.
2597 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
2598 All users changed to grub_arch_memsize.
2599 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
2600 Loongson.
2601 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
2602 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
2603 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
2604 external variable.
2605
5d420cd9
CW
26062011-05-17 Colin Watson <cjwatson@ubuntu.com>
2607
2608 * .bzrignore: Remove grub-dumpbios.
2609
d064b830
CW
26102011-05-17 Colin Watson <cjwatson@ubuntu.com>
2611
2612 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
2613 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
2614 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
2615 existing options which append).
2616 * docs/grub.texi (Simple configuration): Document new options.
2617 Reported by: Ian Jackson. Fixes Debian bug #617538.
2618
3ca2b466
CW
26192011-05-17 Colin Watson <cjwatson@ubuntu.com>
2620
2621 * util/grub-fstest.c (cmd_cat): New function.
2622 (fstest): Handle CMD_CAT.
2623 (options): Add cat.
2624 (argp_parser): Handle cat.
2625
24c9143a
CW
26262011-05-17 Colin Watson <cjwatson@ubuntu.com>
2627
2628 * Makefile.util.def (grub-bin2h): Don't install.
2629 * docs/man/grub-bin2h.h2m: Remove.
2630
90f7ac19
VS
26312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
2634 place.
2635
8d4a5178
VS
26362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 Reenable qemu-mips port.
2639
2640 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
2641 Fix small arc bug while on it.
2642 * gentpl.py: Handle qemu_mips.
2643 * grub-core/Makefile.am: Likewise.
2644 * grub-core/Makefile.core.def: Likewise.
2645 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
2646 inappropriate includes.
2647 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
2648 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
2649 * grub-core/kern/main.c (grub_modules_get_end)
2650 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
2651 * grub-core/kern/mips/qemu-mips: Moved to ..
2652 * grub-core/kern/mips/qemu_mips: ... this.
2653 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
2654 (grub_machine_init): Call terminfo_init and serial_init.
2655 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
2656 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2657 New variable.
2658 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
2659 parameter passing.
2660 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
2661 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
2662 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
2663 * include/grub/mips/qemu_mips/cmos.h: New file.
2664 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
2665 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
2666 Removed.
2667 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
2668 Use correct mips-style address.
2669 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
2670 (GRUB_TICKS_PER_SECOND): Removed.
2671 (grub_get_rtc): Likewise.
2672 (grub_cpu_idle): Likewise.
2673 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
2674 New definition.
2675 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
2676 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
2677 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
2678 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
2679 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2680 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2681 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
2682 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
2683
400b9371
VS
26842011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 SGI ARCS port.
2687
2688 * Makefile.util.def (libgrubmods.a): Add dvh.c.
2689 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
2690 platforms.
2691 * configure.ac: New target mips-arc.
2692 * gentpl.py: Likewise.
2693 * grub-core/Makefile.am: Likewise.
2694 * grub-core/Makefile.core.def: Likewise.
2695 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
2696 (none_decompress): Likewise.
2697 (lsdev): New module.
2698 (datetime): Use lib/arc/datetime.c on ARC.
2699 (part_dvh): New module.
2700 * grub-core/commands/arc/lsdev.c: New file.
2701 * grub-core/disk/arc/arcdisk.c: Likewise.
2702 * grub-core/kern/mips/arc/init.c: Likewise.
2703 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
2704 aligned addresses.
2705 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
2706 support.
2707 (grub_arch_dl_relocate_symbols): Likewise.
2708 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
2709 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
2710 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
2711 platforms.
2712 * grub-core/lib/arc/datetime.c: New file.
2713 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
2714 pci.h on non-loongson.
2715 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
2716 (grub_linux_boot): Set unused registers to 0.
2717 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
2718 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
2719 * grub-core/mmap/mips/uppermem.c: ...here.
2720 * grub-core/partmap/dvh.c: New file.
2721 * grub-core/term/arc/console.c: Likewise.
2722 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
2723 (grub_terminfo_set_current): Add terminal "arc".
2724 (grub_terminfo_readkey): Support ARC sequences.
2725 * include/grub/arc/arc.h: New file.
2726 * include/grub/arc/console.h: Likewise.
2727 * include/grub/disk.h (grub_disk_dev_id): Add
2728 GRUB_DISK_DEVICE_ARCDISK_ID.
2729 * include/grub/mips/arc/kernel.h: New file.
2730 * include/grub/mips/arc/memory.h: Likewise.
2731 * include/grub/mips/arc/time.h: Likewise.
2732 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2733 * include/grub/mips/kernel.h (grub_halt): ... here.
2734 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2735 here...
2736 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2737 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2738 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2739 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2740 proto.
2741 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2742 from here ...
2743 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2744 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2745 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2746 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2747 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2748 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2749 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2750 (grub_phys_addr_t): Moved from here ...
2751 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2752 (grub_vtop): Moved from here ...
2753 * include/grub/mips/memory.h (grub_vtop): ... here.
2754 (grub_map_memory): Moved from here ...
2755 * include/grub/mips/memory.h (grub_map_memory): ... here.
2756 (grub_unmap_memory): Moved from here ...
2757 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2758 (grub_machine_mmap_iterate): Moved from here ...
2759 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2760 (grub_mmap_get_lower): Moved from here ...
2761 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2762 (grub_mmap_get_upper): Moved from here ...
2763 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2764 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2765 here ...
2766 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2767 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2768 here ...
2769 * include/grub/mips/time.h (grub_get_rtc): ... here.
2770 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2771 here ...
2772 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2773 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2774 here ...
2775 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2776 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2777 definition.
2778 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2779 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2780 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2781 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2782 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2783 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2784 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
2785 (GRUB_MACHINE_LINK_ADDR): Likewise.
2786 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
2787 to 6.
2788 * util/grub-install.in: Run dvhtool on ARC.
2789 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 2790 (generate_image): Handle ECOFF output for mips-arc.
400b9371 2791
c8ecc840
VS
27922011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2793
2794 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
2795 blocks.
2796
153a4b55
VS
27972011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
2800 after enabling port.
2801
ff44d107
VS
28022011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 Skip incorrect USB devices.
2805
2806 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
2807 configcnt == 0.
2808 * include/grub/usb.h (grub_usb_err_t): New enum value
2809 GRUB_USB_ERR_BADDEVICE.
2810
638dbe4f
VS
28112011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 Fuloong video init support.
2814
2815 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
2816 well.
2817 (grub_vga_read_arx): New function.
2818 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
2819 definition.
2820 (framebuffer): New members io, mmioptr and mmiobase.
2821 (read_sis_cmd): New function.
2822 (write_sis_cmd): Likewise.
2823 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
2824 rather than 640x400.
2825 * grub-core/video/sis315_init.c: New file.
2826
c3fc520c
VS
28272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
2830 non-loongson.
2831 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
2832 to grub_dl_register_symbol.
2833
67b1e5c9
VS
28342011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 Fix compilation errors.
2837
2838 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
2839 potentially unused.
2840 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
2841 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
2842 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
2843 to loongson machines.
2844
b756f75f
VS
28452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 Several FS mtime support.
2848
2849 * grub-core/fs/affs.c (grub_affs_time): New struct.
2850 (grub_affs_file): New field mtime.
2851 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
2852 type. Removed 'size'. New field 'di'. All users updated.
2853 (grub_affs_mount): Simplify checsum checking.
2854 (grub_affs_iterate_dir): New helper grub_affs_create_node.
2855 (grub_affs_dir): Handle mtime.
2856 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
2857 (grub_cpio_dir): Likewise.
2858 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
2859 (grub_hfs_filerec): New field mtime.
2860 (grub_hfs_dir): Handle mtime.
2861 (grub_hfs_mtime): New function.
2862 (grub_hfs_fs): Register grub_hfs_mtime.
2863 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
2864 (grub_iso9660_dir): New field mtime.
2865 (grub_fshelp_node): New field dirent.
2866 (iso9660_to_unixtime): New function.
2867 (iso9660_to_unixtime2): Likewise.
2868 (grub_iso9660_read_symlink): Use node->dirent.
2869 (grub_iso9660_iterate_dir): Likewise.
2870 (grub_iso9660_dir): Set mtime.
2871 (grub_iso9660_mtime): New function.
2872 (grub_iso9660_fs): Register grub_iso9660_mtime.
2873 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
2874 (grub_jfs_inode): New fields atime, ctime and mtime.
2875 (grub_jfs_dir): Set mtime.
2876 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2877 * grub-core/fs/ntfs.c (list_file): Set mtime.
2878 (grub_ntfs_dir): Likewise.
2879 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
2880 (grub_reiserfs_iterate_dir): Set mtime.
2881 (grub_reiserfs_dir): Likewise.
2882 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
2883 (grub_fshelp_node): Likewise.
2884 (grub_sfs_iterate_dir): Set mtime.
2885 (grub_sfs_dir): Likewise.
2886 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
2887 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
2888 (grub_xfs_inode): New fields atime, mtime, ctime.
2889 (grub_xfs_dir): Set mtime.
2890 * include/grub/datetime.h (grub_datetime2unixtime): New function.
2891 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
2892 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
2893
2894 Support UDF symlinks.
2895
2896 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
2897 (grub_ufs_read_symlink): New function. All users updated.
2898
2899 Check amiga partmap checksum.
2900
2901 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
2902 (grub_amiga_partition): Likewise.
2903 (amiga_partition_map_checksum): New function.
2904 (amiga_partition_map_iterate): Check checksum.
2905
5470225d
VS
29062011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 ROMFS support.
2909
2910 * Makefile.util.def (libgrubmods.a): Add romfs.
2911 * grub-core/Makefile.core.def (romfs): New module.
2912 * grub-core/fs/romfs.c: New file.
2913
d4680a35
VS
29142011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Squashfs v4 support.
2917
2918 * Makefile.util.def (libgrubmods.a): Add squash4.
2919 * grub-core/Makefile.core.def (squash4): New module.
2920 * grub-core/fs/squash4.c: New file.
2921 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
2922 disk_input_start, disk_input.
2923 (get_byte): Handle disk_input.
2924 (grub_zlib_disk_read): New function.
2925 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
2926
bcb18e74
FZ
29272011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
29282011-05-15 Feiran Zheng <famcool@gmail.com>
2929
2930 * Makefile.util.def (libgrubmods.a): Add minix3.
2931 * grub-core/Makefile.core.def (minix3): New module.
2932 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
2933 (GRUB_MINIX_BSIZE): Removed.
2934 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
2935 (grub_minix_ino_t): New type.
2936 (grub_minix_le_to_cpu_ino): New macro.
2937 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
2938 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
2939 (grub_minix_data): New field block_size.
2940 (grub_minix_read_file): Handle 64-bit correctly.
2941 * grub-core/fs/minix3.c: New file.
2942
32297d5f
TG
29432011-05-15 Tristan Gingold <gingold@free.fr>
29442011-05-15 Robert Millan <rmh.grub@aybabtu.com>
29452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 IA64 support.
2948
2949 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
2950 * configure.ac: Add ia64-efi target.
2951 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
2952 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
2953 * gentpl.py: Add ia64_efi platform.
2954 Rename x86_efi to efi and Add ia64-efi. All users updated.
2955 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
2956 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
2957 Remove kern/generic/rtc_get_time_ms.c on EFI.
2958 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
2959 kern/ia64/dl_helper.c on ia64-efi.
2960 Add kern/emu/cache.c on emu.
2961 (linux): Use on loader/ia64/efi/linux.c on ia64.
2962 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
2963 whether symbol is a function.
2964 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
2965 (grub_symbol): New field 'isfunc'.
2966 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
2967 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
2968 (grub_dl_load_segments): Place all sections into the same region.
2969 [__ia64__]: Create trampolines and got.
2970 [GRUB_MACHINE_EMU]: Call mprotect.
2971 (grub_dl_resolve_symbols): Resolve symbol type as well.
2972 [__ia64__]: Create function descriptors.
2973 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
2974 (grub_rtc_get_time_ms): ... this. Expressions simplified.
2975 (grub_get_rtc): New function.
2976 * grub-core/kern/emu/cache.c [__ia64__]: New file.
2977 * grub-core/kern/emu/cache.S: Renamed to ...
2978 * grub-core/kern/emu/cache_s.S: ... this.
2979 [__ia64__]: Add a nop.
2980 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
2981 [__ia64__]: New function.
2982 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
2983 * grub-core/kern/ia64/dl.c: New file.
2984 * grub-core/kern/ia64/dl_helper.c: Likewise.
2985 * grub-core/kern/ia64/efi/init.c: New file.
2986 * grub-core/kern/ia64/efi/startup.S: Likewise.
2987 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
2988 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
2989 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
2990 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
2991 * grub-core/loader/ia64/efi/linux.c: New file.
2992 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
2993 (GRUB_MOD_DEP): Likewise.
2994 (grub_dl) [__ia64__]: New fields got and tramp.
2995 (grub_dl): New field 'base'.
2996 (grub_dl_register_symbol): New argument isfunc. All users updated.
2997 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
2998 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
2999 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3000 (grub_ia64_dl_get_tramp_got_size): New proto.
3001 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3002 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3003 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3004 * include/grub/efi/api.h: Skip call wrappers on ia64.
3005 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3006 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3007 * include/grub/elf.h (ELF_ST_INFO): New definition.
3008 * include/grub/ia64/efi/kernel.h: New file.
3009 * include/grub/ia64/efi/memory.h: Likewise.
3010 * include/grub/ia64/efi/time.h: Likewise.
3011 * include/grub/ia64/kernel.h: Likewise.
3012 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3013 * include/grub/ia64/time.h: New file.
3014 * include/grub/ia64/types.h: Likewise.
3015 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3016 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3017 New protos.
3018 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3019 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3020 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3021 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3022 All users updated.
3023 (EFI64_HEADER_SIZE): New definition. All users updated.
3024 (image_targets): Add ia64-efi.
3025 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3026 jumpers_addr. All users updated.
3027 Create function descriptors.
3028 (count_funcs): New function.
3029 (unaligned_uint32): New struct.
3030 (MASK20): New definition.
3031 (MASK19): Likewise.
3032 (MASKF21): Likewise.
3033 (add_value_to_slot_20b): New function.
3034 (add_value_to_slot_21_real): Likewise.
3035 (add_value_to_slot_21): Likewise.
3036 (ia64_kernel_trampoline): New struct.
3037 (nopm): New variable.
3038 (jump): Likewise.
3039 (make_trampoline): New function.
3040 (relocate_addresses): Handle ia64.
3041 (make_reloc_section): Likewise.
3042 (load_image): Likewise.
3043
983b414d
VS
30442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3047 warning. Move variables before code while on it.
3048
5d063cdc
VS
30492011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 Fuloong support.
3052
3053 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3054 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3055 * grub-core/boot/mips/loongson/fuloong.S: New file.
3056 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3057 Explicitly init CS5536.
3058 [FULOONG]: Don't use serial until CS5536 is available.
3059 Set GPIO based on dumps.
3060 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3061 [FULOONG]: Handle GPIO and memory controller differences.
3062 Parse machine type in $a2.
3063 * grub-core/boot/mips/startup_raw.S: Determine and save the
3064 architecture.
3065 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3066 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3067 init on architecture type.
3068 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3069 SIS315E. Don't init at_keyboard on fuloong.
3070 (grub_halt): Support Fuloong.
3071 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3072 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3073 (loongson_machtypes): New array.
3074 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3075 type.
3076 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3077 config. All users updated. Handle CS5536 serial.
3078 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3079 default port on machine type. Register serial as inactive.
3080 * grub-core/video/sis315pro.c: New file.
3081 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3082 definition.
3083 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3084 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3085 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3086 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3087 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3088 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3089 to ...
3090 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3091 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3092 definition.
3093 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3094 (grub_arch_machine): New extern var.
3095 * include/grub/mips/loongson/serial.h
3096 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3097 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3098 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3099 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3100 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3101 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3102 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3103 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3104 * include/grub/term.h (grub_term_register_input_inactive): New inline
3105 function.
3106 (grub_term_register_output_inactive): Likewise.
3107 * include/grub/video.h (grub_video_driver_id): New value
3108 GRUB_VIDEO_DRIVER_SIS315PRO.
3109 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3110 New field "names". All users updated.
3111 New field value IMAGE_FULOONG_FLASH.
3112 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3113
6ada82d1
JU
31142011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3115
3116 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3117 and add some clarification.
3118
90c571a4
VS
31192011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3120
3121 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3122 platforms if kernel is compressed.
3123
de04eecf
VS
31242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3127 unused modules since currently referrence counter isn't reliable and
3128 there isn't much memory to recover there anyway.
3129
57688121
VS
31302011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3133 rather than resetting it to allow modules to reference themselves
3134 in init.
3135
3d2c7e35
VS
31362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3139 counter on dependencies since grub_dl_unref already handles this.
3140
b25db218
VS
31412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3144 on error if not already done.
3145
25a45338
VS
31462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3147
3148 Fix few potential memory misusage.
3149
3150 * grub-core/font/font.c (load_font_index): Don't free char_index to
3151 avoid double free.
b25db218
VS
3152 (grub_font_load): Zero-fill font at alloc for safety.
3153 Close file on error.
3154 (free_font): Free bmp_idx.
25a45338 3155
0cac83df
VS
31562011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * docs/grub.texi (Installation): Fix several outdated claims.
3159
2217a143
VS
31602011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Handle module_license on windows.
3163
3164 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3165 sections shifted.
3166 (insert_string): Make argument const char * instead of char *.
3167 (write_section_data): Handle long section names.
3168 Handle module_license.
3169
d4de6b01
VS
31702011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3173 handle class-free menuentries.
3174 (grub_normal_add_menu_entry): Add a check to be sure.
3175
4c2a3b43
VS
31762011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3179 PgUp and PgDown.
3180
85c6210f
VS
31812011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * configure.ac: Bump version to 1.99.
3184
36084912
VS
31852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 Give ATA device a bit more time on first try in order to allow disks
3188 to spin up.
3189
3190 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3191 if dev->present is 1. Reset dev->present on failure.
3192 (grub_ata_device_initialize): Set dev->present to 1.
3193 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3194 (grub_ata_device): New member 'present'.
3195
bda0e219
VS
31962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 * util/grub-mkimage.c (generate_image): Update hash.
3199
19e1c41b
VS
32002011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 Flush caches on DMA memory.
3203
3204 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3205 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3206 (grub_dma_free): Likewise.
3207 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3208
91bbcc0c
VS
32092011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3212 to avoid asm treating ld and sd as macros.
3213
60ddfad3
VS
32142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3217 decompressor.
3218
a298aa04
VS
32192011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3222 grub_decompress_core since later would fail if grub_decompress_core
3223 is too far.
3224
9b44feca
VS
32252011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3226
3227 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3228 R_MIPS_JALR since it's used by newer compiler.
3229
56dbe7b4
VS
32302011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3233
52856af2
VS
32342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3237 file_path to 0 for surety.
3238 (grub_chainloader_boot): Set exit_data to NULL.
3239 Unset the loader once done.
3240 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3241
9c9bfc6d
VS
32422011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3245 unknown key into a dprintf.
3246
dd94a3df
VS
32472011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3250 on first non-existant partition.
3251
fa68d99c
VS
32522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3255 openning fails.
3256 Reported by: Mark Korenberg.
3257
157effb7
VS
32582011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3261 overflow.
3262
ea75312f
VS
32632011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3266 before closing to ensure that it will be readable by grub-setup.
3267
072b5d31
VS
32682011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3271 (devpath_1): Use MAKE_PIWG_PATH.
3272 (devpath_2): Likewise.
3273 (devpath_3): Likewise.
3274 (devpath_4): Likewise.
3275 (devpath_5): Likewise.
3276 (devpath_6): Likewise.
3277
3278 The appleldr.mod was checked that to be binary identical to previous
3279 version.
3280
7fae0051
Z
32812011-05-05 Zach <mikezackles>
3282
3283 Support 2010 Macbooks.
3284
3285 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3286 (devs): Add devpath_6.
3287
7c515bee
VS
32882011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3291 /dev/random. /dev/urandom is good enough for our purposes (salting).
3292
ed660bd8
VS
32932011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3296
ee5614b7
VS
32972011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3298
3299 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3300 hexadecimal.
3301
664889a6
VS
33022011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3305 and not 0 on failure.
3306
bd405bbc
CW
33072011-05-03 Colin Watson <cjwatson@ubuntu.com>
3308
3309 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3310 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3311 disk; otherwise grub_fs_probe will not fall back to the next
3312 filesystem.
3313 (grub_pxefs_open): Likewise, for consistency.
3314 Reported and tested by: Ezekiel Grave.
3315
4ebff753
CW
33162011-05-03 Colin Watson <cjwatson@ubuntu.com>
3317
3318 * tests/partmap_test.in: Don't hardcode path to parted.
3319 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3320
8f942553
CW
33212011-05-01 Colin Watson <cjwatson@ubuntu.com>
3322
3323 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3324 of `ls' to find out which devices are available.
3325
3c62402d
VS
33262011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3329 than source address for efi mmap buffer.
3330
723f63f2
VS
33312011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3332
3333 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3334 wrong action on non-detecting the magic.
3335
68797f92
VS
33362011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3339 already supplied by another part of the module (fixes compilation on
3340 FreeBSD).
3341
6be8715d
VS
33422011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3345 match the one used by mdadm.
3346
e91dba5b
CW
33472011-04-21 Colin Watson <cjwatson@ubuntu.com>
3348
3349 * po/README: Add instructions for creating po/LINGUAS.
3350
c85140b3
CW
33512011-04-21 Colin Watson <cjwatson@ubuntu.com>
3352
3353 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3354 #551428.
3355
3356 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3357 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3358 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3359 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3360 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3361 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3362 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3363 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3364 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3365 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3366 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3367 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3368 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3369 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3370 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3371 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3372 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3373 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3374 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3375 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3376 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3377 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3378
92051871
CW
33792011-04-21 Colin Watson <cjwatson@ubuntu.com>
3380
3381 * grub-core/kern/emu/getroot.c
3382 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3383 test that was incorrectly reintroduced in r3214.
3384 Reported by: Ian Dall. Fixes Savannah bug #33133.
3385
b13f79a4
CW
33862011-04-21 Colin Watson <cjwatson@ubuntu.com>
3387
3388 Fix stack pointer handling in 16-bit relocator.
3389
3390 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3391 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3392 Fixes Ubuntu bug #683904.
3393
9b710a88
VS
33942011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 * configure.ac: Bump version to 1.99~rc2.
3397
d97e7b59
VS
33982011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3401 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3402 * grub-core/lib/x86_64/setjmp.S: Likewise.
3403 * grub-core/lib/mips/setjmp.S: Likewise.
3404 * grub-core/lib/powerpc/setjmp.S: Likewise.
3405 * grub-core/lib/sparc64/setjmp.S: Likewise.
3406
0624551c
VS
34072011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3410 * grub-core/lib/efi/datetime.c: Likewise.
3411
e8f28d4c
VS
34122011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3413
3414 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3415 New function.
3416 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3417 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3418 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3419
bba79a15
VS
34202011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3423 bitmap.
3424 (grub_gfxterm_term_init): Likewise.
3425
abc474ef
VS
34262011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 Take into account the decorations the computing menu entry width.
3429
3430 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3431 (grub_gfxmenu_create_box): Register get_border_width.
3432 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3433 if available.
3434 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3435 get_border_width.
3436
e74b3947
EP
34372011-04-18 Endres Puschner <code@e7p.de>
3438
3439 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3440 Don't skip first class.
3441
34faa595
VS
34422011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3445 chunks.
3446 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3447
93a777e3
VS
34482011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 Complete 64-bit division support.
3451
3452 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3453 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3454 * include/grub/misc.h (grub_divmod64): Rename to ...
3455 (grub_divmod64_full): ... this.
3456 (grub_divmod64): New inline function.
3457
a5102d94
VS
34582011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3461
f3fb7b36
VS
34622011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3465 performing the necessary test.
3466
9ac718b0
VS
34672011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3470 (kfreebsd.elf): Likewise.
3471 (pc-chainloader.elf): Likewise.
3472 (ntldr.elf): Likewise.
3473
50d2cc5a
VS
34742011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 Identify RAID by its UUID rather than (guessed) name.
3477
3478 * grub-core/disk/raid.c (ascii2hex): New function.
3479 (grub_raid_open): Accept mduuid/%s specification.
3480 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3481 (get_mdadm_uuid): ... this.
3482 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3483
e03f7bea
VS
34842011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3487 to negative size.
3488
e74c3112
CW
34892011-04-13 Colin Watson <cjwatson@ubuntu.com>
3490
3491 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
3492 btrfs subvolume.
3493 * util/grub.d/20_linux_xen.in: Likewise.
3494
78fa584f
CW
34952011-04-13 Colin Watson <cjwatson@ubuntu.com>
3496
3497 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
3498 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
3499
3500 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3501 Build a list of relevant visible mounts using the mnt_id and
3502 parent_mnt_id fields, and then scan that list at the end.
3503
9d5f8162
CW
35042011-04-12 Colin Watson <cjwatson@ubuntu.com>
3505
3506 * docs/grub.texi (normal): New section.
3507 (normal_exit): New section.
3508 (Embedded configuration): Add reference to normal.
3509 (GRUB only offers a rescue shell): Likewise.
3510 * docs/grub-dev.texi (Error Handling): Fix typo.
3511
09a9d66f
CW
35122011-04-12 Colin Watson <cjwatson@ubuntu.com>
3513
3514 * NEWS: Drop obsolete entry about probe-only btrfs support.
3515
0c676933
CW
35162011-04-12 Colin Watson <cjwatson@ubuntu.com>
3517
3518 * util/import_gcry.py: Fix typo.
3519
ec9f5e0d
VS
35202011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * NEWS: Add btrfs support.
3523
fe6b2cba
VS
35242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
35252011-04-11 Colin Watson <cjwatson@ubuntu.com>
3526
3527 BtrFS support. Written by me (Vladimir) with important bugfixes and
3528 even more important testing by Colin.
3529
3530 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
3531 * grub-core/Makefile.core.def (btrfs): Add crc.c.
3532 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
3533 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
3534 mem_input_off and mem_input. All users updated to accept in-RAM input.
3535 (gzio_seek): New function.
3536 (test_zlib_header): Likewise.
3537 (grub_gzio_read): Likewise.
3538 (grub_zlib_decompress): Likewise.
3539 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
3540 Accept partial and non-virtual mounts.
3541 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
3542 avoid receiving /dev/dm-X as device.
3543 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
3544 Handle bind and partial mounts.
3545 * grub-core/lib/crc.c: New file.
3546 * include/grub/deflate.h: Likewise.
3547 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
3548 proto.
3549 * include/grub/lib/crc.h: New file.
3550
e745cf0c
VS
35512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 Implement automatic module license checking according to new GNU
3554 guidelines.
3555
3556 * grub-core/kern/dl.c (grub_dl_check_license): New function.
3557 (grub_dl_load_core): Use grub_dl_check_license.
3558 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
3559 (GRUB_MOD_LICENSE): Likewise.
3560 (GRUB_MOD_DUAL_LICENSE): Likewise.
3561 All modules updated.
3562
2a9bc016
CW
35632011-04-11 Colin Watson <cjwatson@ubuntu.com>
3564
3565 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
3566 reserved_first_sector to 1. btrfs reserves plenty of space for boot
3567 loaders.
3568 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
3569
8a3bc88e
VS
35702011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
3573
af869a4a
VS
35742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * util/grub-fstest.c (read_file): Report GRUB error if file opening
3577 failed.
3578
9ee8d94f
VS
35792011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3580
3581 * grub-core/kern/file.c (grub_file_open): Don't take into account the
3582 parenthesis in the middle of the filename.
3583
b01abe3e
VS
35842011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3585
3586 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
3587 rather than trying to put initrd way too high.
3588 Reported by: Ryan Lortie <desrt@desrt.ca>
3589
335bda1e
VS
35902011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
3593 improperly removed string.
3594
5ca1a64d
VS
35952011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
3598 is_disk.
3599 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
3600 (open_device) Likewise.
3601 (grub_util_biosdisk_close): Likewise.
d8ce9995 3602 Reported by: Mark Korenberg.
5ca1a64d 3603
cbac5b1e
AK
36042011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
3605
3606 * util/grub-mkconfig_lib.in: Add missing quotes.
3607
088cdb65
CW
36082011-04-10 Colin Watson <cjwatson@ubuntu.com>
3609
3610 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
3611 is NULL.
3612
8b8a81fa
VS
36132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 Dynamically count the number of lines for the lower banner.
3616
3617 * grub-core/normal/menu_entry.c (per_term_screen): New member
3618 num_entries.
3619 (print_down): Use num_entries.
3620 (update_screen): Likewise.
3621 (grub_menu_entry_run): Set num_entries.
3622 * grub-core/normal/menu_text.c (menu_viewer_data): New member
3623 num_entries.
3624 (grub_print_message_indented): Move real part to ...
3625 (grub_print_message_indented_real): ... here. Additional argument
3626 dry_run.
3627 (draw_border): Additional argument num_entries.
3628 (print_message): Additional argument dry_run.
3629 (print_entries): Receive menu viewer data.
3630 (grub_menu_init_page): New argment num_entries.
3631 (menu_text_set_chosen_entry): Use num_entries.
3632 (grub_menu_try_text): Likewise.
3633 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
3634 All users updated.
3635 (grub_ucs4_count_lines): New function.
3636 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
3637 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
3638 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
3639 (grub_term_border_height): Likewise.
3640 (grub_term_num_entries): Likewise.
3641
277f955b
VS
36422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
3645 Remove now unused string.
3646
536ce85a
CW
36472011-04-09 Colin Watson <cjwatson@ubuntu.com>
3648
3649 * docs/grub-dev.texi (Finding your way around): Update for 1.99
3650 build system.
3651 (Getting started): GRUB is developed in Bazaar now, not Subversion.
3652
3653 (Comment): Fix typo.
3654 (Getting started): General copy-editing.
3655 (Typical Development Experience): Likewise.
3656 (Error Handling): Likewise.
3657 (Video API): Likewise.
3658
2cf09e32
CW
36592011-04-09 Colin Watson <cjwatson@ubuntu.com>
3660
3661 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
3662 throughout.
3663
1ec652f4
VS
36642011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * util/grub-mkimage.c (main): Handle special naming of yeeloong
3667 directory.
3668
2c583728
CW
36692011-04-08 Colin Watson <cjwatson@ubuntu.com>
3670
3671 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
3672 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
3673 "development".
3674
d7a565e9
VS
36752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
3678 grub_strcpy since the lines aren't necessarily 0-terminated.
3679
7c2e4909
VS
36802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
3683 root on legacy.
3684
34c09785
VS
36852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/commands/probe.c (options): Argument to set isn't optional.
3688 (GRUB_MOD_INIT): DEVICE isn't optional.
3689
6a6f8058
VS
36902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
3693 word on new line if it's too long anyway. Fixes a hang.
3694
2e335e90
VS
36952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
3698 const.
3699 * util/grub-setup.c (main): Reuse md device name if available.
3700 * util/raid.c (grub_util_raid_getmembers): Receive device name and
3701 not GRUB name as argument.
3702 Based on patch by: Florian Wagner <fwagner>.
3703
10a7a867
VS
37042011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3705
3706 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3707 Place mbi on low memory for better compatibility.
3708
7a3d6cd9
VS
37092011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
3712
18dd6b47
VS
37132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
37142011-04-08 Colin Watson <cjwatson@ubuntu.com>
3715
3716 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 3717 * conf/Makefile.common: Likewise.
18dd6b47 3718
3c0e3f14
VS
37192011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3720
f7148863
VS
3721 * grub-core/normal/menu.c: Add missing include.
3722
37232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 3726
6d1fa41f
MZ
37272011-04-08 Martin Zuther <mzuther@mzuther.de>
3728
3729 * util/grub-mkconfig.in: Ignore emacsen backup.
3730
478182a8
VS
37312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3734 on open.
3735 (grub_util_biosdisk_close): Likewise.
3736
72a89a54
VS
37372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3740 const attribute and use grub_isdigit.
3741
b5ebecfa
A
37422011-04-06 Andrey <dev_null@ukr.net>
3743
3744 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3745 gcc warning.
3746
7755f66e
VS
37472011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3750 useful grub_dprintf's.
3751
461121ff
VS
37522011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3755
2a961775
VS
37562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3759
adf594cc
VS
37602011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Output errors if theme loading failed.
3763
3764 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3765 grub_gfxterm_fullscreen on error paths to ...
3766 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3767 theme loading error.
3768
665900a3
VS
37692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3772 space for older compilers.
3773 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3774
a562b479
VS
37752011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3778 and report them as not RAID members since they are useless for GRUB.
3779 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3780
850e9373
VS
37812011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 Increase LVM implementation robustness in order not to crash on
3784 configurations like pvmove. Previously code assumed that in some places
3785 only lvs or only pvs are used whereas it seems that they are used
3786 interchangeably.
3787
3788 * grub-core/disk/lvm.c (read_node): New function.
3789 (read_lv): Use read_node.
3790 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
3791 Match volumes only at the end when all lvs are found. Take both
3792 pvs (first) and lvs (second) into account.
3793 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
3794 mirror_* into node_*. All users updated.
3795 (grub_lvm_stripe): Merge this ...
3796 (grub_lvm_mirror): ... and this ...
3797 (grub_lvm_node): ... into this. All users updated.
3798
6f332153
VS
37992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
3802 of function to allow further scanning for LVMs.
3803
829ea451
VS
38042011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3805
3806 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
3807 on failed seek as it breaks open fd reusage.
3808
09ceb9a5
VS
38092011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * util/grub-install.in: Add a recommendation to use --recheck before
3812 reporting bugs.
3813
67e11623
VS
38142011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
3817 are obtained.
3818
caee5efd
VS
38192011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3820
3821 GRUB developper manual based on existing Internals section and
3822 contributions by the various authors with active copyright assignment.
3823
3824 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
3825 * docs/font_char_metrics.png: New file.
3826 * docs/font_char_metrics.txt: Likewise.
3827 * docs/grub-dev.texi: Likewise.
3828 * docs/grub.texi (Internals): Move from here ...
3829 * docs/grub-dev.texi: ... here.
3830
2cccc747
CW
38312011-04-01 Colin Watson <cjwatson@ubuntu.com>
3832
3833 Store the loopback device as data on loopback grub_disk structures,
3834 rather than the file it points to. This fixes use of freed memory
3835 if an existing loopback device is replaced.
3836
3837 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
3838 disk->data, not dev->file.
3839 (grub_loopback_read): Adjust file assignment to match.
3840 Fixes Ubuntu bug #742967.
3841
186ae367
CW
38422011-04-01 Colin Watson <cjwatson@ubuntu.com>
3843
3844 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
3845 when replacing an existing device.
3846
cfed2ad0
VS
38472011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
3850 memory corruptions.
3851
3852 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
3853 unsigned.
3854 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
3855 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
3856 (grub_jfs_read_inode): Likewise.
3857 (grub_jfs_opendir): Likewise. Remove now useless casts.
3858 (grub_jfs_getent): Likewise.
3859 Make ino a grub_uint32_t rather than int.
3860 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
3861 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
3862 division and module with bit operations.
3863 (grub_jfs_find_file): Make ino a grub_uint32_t.
3864 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
3865
05d2ed32
CW
38662011-04-01 Colin Watson <cjwatson@ubuntu.com>
3867
3868 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
3869 warning. (This was in fact always initialised before use, but GCC
3870 wasn't smart enough to prove that.)
3871 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3872
91dc6073
VS
38732011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
3876 stack alignment.
3877 (efi_wrap_1): Likewise.
3878 (efi_wrap_2): Likewise.
3879 (efi_wrap_3): Likewise.
3880 (efi_wrap_4): Likewise.
3881 (efi_wrap_5): Likewise.
3882 (efi_wrap_6): Likewise.
3883 (efi_wrap_10): Likewise.
3884 Based on information by: Red Hat/Peter Jones.
3885
a8afc1d1
CW
38862011-03-31 Colin Watson <cjwatson@ubuntu.com>
3887
3888 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
3889 set-but-not-used variable.
3890
a826cc7d
CW
38912011-03-31 Colin Watson <cjwatson@ubuntu.com>
3892
3893 * docs/grub.texi (Simple configuration): Be more explicit about
3894 GRUB_DEFAULT, and add an example.
3895 Reported by: Leslie Rhorer.
3896
875b67ba
CW
38972011-03-30 Colin Watson <cjwatson@ubuntu.com>
3898
3899 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
3900 shell".
3901
fd7cd914
AS
39022011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3903
3904 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
3905 * util/grub.d/20_linux_xen.in: Likewise.
3906
090b1b6a
VS
39072011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * util/grub.d/10_linux.in: Try alternative config filenames where
3910 we parse config file.
3911 * util/grub.d/20_linux_xen.in: Likewise.
3912
baad885c
AS
39132011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3914
3915 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
3916 * util/grub.d/20_linux_xen.in: Likewise.
3917
241e41f5
VS
39182011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 * grub-core/disk/raid.c (insert_array): Add few potentially
3921 useful grub_util_info.
3922 (grub_raid_register): Likewise.
3923
56445fb2
VS
39242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
3927 Preserve partition number in mdadm code path.
3928
c871b1c6
VS
39292011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
3932 few potentially useful grub_util_info.
3933
5e631b4f
CW
39342011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
3937
2d5d0333
CW
39382011-03-30 Colin Watson <cjwatson@ubuntu.com>
3939
3940 * docs/grub.texi (default): Use @example rather than nested
3941 itemized lists to avoid breaking gendocs.
3942
3d7ed04e
CW
39432011-03-30 Colin Watson <cjwatson@ubuntu.com>
3944
3945 * docs/grub.texi (Future): Update.
3946
abf04200 39472011-03-30 Colin Watson <cjwatson@ubuntu.com>
3948
3949 * docs/grub.texi (Environment): New chapter.
3950 (Changes from GRUB Legacy): Link to "Environment block" section for
3951 details of limitations.
3952 (Simple configuration): Likewise. Link to documentation of gfxmode
3953 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
3954 respectively.
3955 (Shell-like scripting): Note that normal variables are stored in the
3956 environment.
3957 (gettext): Link to documentation of lang and locale_dir.
3958 (list_env): New section.
3959 (load_env): New section.
3960 (save_env): New section.
3961
3962 (Reporting bugs): Fix typo.
3963
e1ad0edd
VS
39642011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
3967 the example.
3968
5d803174
VS
39692011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3970
3971 * grub-core/term/at_keyboard.c (set_scancodes)
3972 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
3973
2a2da1d0
CW
39742011-03-30 Colin Watson <cjwatson@ubuntu.com>
3975
3976 * docs/grub.texi (Menu-specific commands): Remove some semantics
3977 that were true in GRUB Legacy but not in GRUB 2.
3978 (submenu): New section.
3979 (false): New section.
3980 (read): New section.
3981 (true): New section.
3982
a7527639
CW
39832011-03-30 Colin Watson <cjwatson@ubuntu.com>
3984
3985 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
3986
39872011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
3988
3989 * docs/grub.texi (Simple configuration): Explain some of the
3990 current limitations of grub-mkconfig.
8a748df2 3991 Reported by: Leslie Rhorer.
e30af029 3992
fc858482
VS
39932011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 Old macs search for boot.efi rather than for bootia32.efi.
3996
3997 * util/grub-install.in: Copy bootia32.efi to boot.efi.
3998 * util/grub-mkrescue.in: Likewise.
3999 Suggested by: Peter Jones.
4000
e1eb511d
VS
40012011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4004
70e75364
VS
40052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4008 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4009 (grub_lvm_mirror): New struct.
4010 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4011 (grub_lvm_iterate): Iterate only visible volumes.
4012 (grub_lvm_read): Factor out to ..
4013 (read_lv): ... this. Support mirrors.
4014 (grub_lvm_read): New wrapper function.
4015 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4016 stripped or mirrored.
4017
fc18f6a3
VS
40182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4021
5c650f4c
CW
40222011-03-29 Colin Watson <cjwatson@ubuntu.com>
4023
4024 * docs/grub.texi (loopback): New section.
4025
61d7156b
CW
40262011-03-29 Colin Watson <cjwatson@ubuntu.com>
4027
4028 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4029 removed -p option.
4030
994b8264
CW
40312011-03-29 Colin Watson <cjwatson@ubuntu.com>
4032
4033 * docs/grub.texi (BIOS installation): New section, partly based on
4034 previous text in other sections.
4035 (Installing GRUB using grub-install): Replace BIOS discussion with a
4036 cross-reference.
4037 (Images): Likewise.
4038
9e4d19e0
VS
40392011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4040
4041 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4042 [HAVE_DIOCGDINFO]: Add safety checks.
4043
a307c0b2
VS
40442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4047 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4048
b4db4f39
CW
40492011-03-29 Colin Watson <cjwatson@ubuntu.com>
4050
4051 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4052 real_sb->size is zero (e.g. RAID-0), get the disk size from
4053 real_sb->data_size instead.
4054 Fixes Ubuntu bug #743136.
4055
35e5f84c
VS
40562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4059 printf clauses for printing size and start.
4060
d2e29d81
VS
40612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4064 Reported and tested by: Timothy Nikkel.
4065
ed5587af
VS
40662011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4069 (dirty_region_add_real): ... this.
4070 (dirty_region_add): Don't discard margin refresh when performing
4071 scheduled repaint.
4072
a1dc717c
VS
40732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * grub-core/lib/relocator.c (allocate_regstart)
4076 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4077 terminals are capabple of malloc-free operation.
4078 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4079 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4080
9f3677d3
VS
40812011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4082
4083 * util/grub-setup.c: Copy the partition table zone if floppy support
4084 is disabled, even if no partition table is found.
4085
4086 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4087 during POST if an invalid partition table is contained in the PBR
4088 of the active partition when GRUB is installed to a partition.
4089
24148725
CW
40902011-03-28 Colin Watson <cjwatson@debian.org>
4091
4092 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4093 comment.
4094
f329eda7
CW
40952011-03-28 Colin Watson <cjwatson@debian.org>
4096
4097 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4098 to be specific about what kind of RAID device we're scanning for.
4099
c482ad98
SG
41002011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4101
4102 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4103 return freed string.
4104
5ee04984
VS
41052011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4108
f4727da9
VS
41092011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4110
4111 Use libgeom on FreeBSD to detect partitions.
4112
4113 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4114 (grub-mkrelpath): Likewise.
4115 (grub-script-check): Likewise.
4116 (grub-editenv): Likewise.
4117 (grub-mkpasswd-pbkdf2): Likewise.
4118 (grub-fstest): Likewise.
4119 (grub-mkfont): Likewise.
4120 (grub-mkdevicemap): Likewise.
4121 (grub-probe): Likewise.
4122 (grub-setup): Likewise.
4123 (grub-ofpathname): Likewise.
4124 (grub-mklayout): Likewise.
4125 (example_unit_test): Likewise.
4126 (grub-menulst2cfg): Likewise.
4127 * grub-core/Makefile.core.def (grub-emu): Likewise.
4128 (grub-emu-lite): Likewise.
4129 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4130 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4131 define HAVE_DIOCGDINFO.
4132 (follow_geom_up) [FreeBSD]: New function.
4133 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4134 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4135 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4136 unconditionally of HAVE_DIOCGDINFO.
4137
82fe6c75
VS
41382011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 Fix FreeBSD compilation problem.
4141
4142 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4143 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4144
4c6c9431
CW
41452011-03-24 Colin Watson <cjwatson@ubuntu.com>
4146
4147 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4148 Switch back to page zero before loading a kernel, since some kernel
4149 drivers expect that.
4150 Thanks to: Felix Kuehling.
4151
c7064d94
VS
41522011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4153
4154 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4155 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4156 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4157
3f71cded
VS
41582011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4161 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4162
ef6de21a
VS
41632011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4166 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4167 malloc is disabled.
4168
8bc66a2c
VS
41692011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4172 for modules headers when counting the needed allocation size.
4173
5657722c
VS
41742011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4177 if no ASCII character is found to prevent crash.
4178
41a85f55
AK
41792011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4180
4181 * grub-core/video/bitmap.c (match_extension): Ignore case.
4182
59e1e5f1
VS
41832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4186
bd4d051a
VS
41872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/script/parser.y: Declare "time" as valid argument.
4190
bae7fcc1
PJ
41912011-03-23 Peter Jones <pjones@redhat.com>
4192
4193 Fix incorrect assert failure reporting.
4194
4195 * grub-core/tests/example_functional_test.c (example_test): Add
4196 a failure comment.
4197 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4198 (failure_start): ...this. Check that malloc succeeded.
4199 Don't call xvasprintf. Return failure struct.
4200 (failure_append_vtext): New function.
4201 (failure_append_text): Likewise.
4202 (add_failure): Likewise.
4203 (grub_test_assert_helper): Likewise.
4204 * include/grub/test.h (grub_test_assert_helper): New declaration.
4205 (grub_test_assert): Macro rewritten.
4206
537dc9be
VS
42072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4210
fa3e01bf
VS
42112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4214
b1d28404
VS
42152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4218 into GRUB-style one.
4219
2e3e2e09
VS
42202011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4223 error and not grub_errno.
4224 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4225
ed57e557
VS
42262011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4229 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4230
d1611f01
VS
42312011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/efiemu/i386/pc/cfgtables.c
4234 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4235 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4236 (grub_xnu_unlock): Likewise.
4237 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4238
7d4e39d6
VS
42392011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4242 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4243 * grub-core/commands/hashsum.c (aliases): Likewise.
4244 * grub-core/commands/setpci.c (pci_registers): Likewise.
4245 * grub-core/disk/usbms.c (attach_hook): Likewise.
4246 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4247 (zio_checksum_table): Likewise.
4248 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4249 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4250 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4251 * grub-core/lib/relocator.c (leftovers): Likewise.
4252 (extra_blocks): Likewise.
4253 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4254 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4255 (modules_last): Likewise.
4256 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4257 (devices): Likewise.
4258 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4259 (modules_last): Likewise.
4260 * grub-core/normal/auth.c (users): Likewise.
4261 * grub-core/normal/context.c (initial_menu): Likewise.
4262 (current_menu): Likewise.
4263 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4264 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4265 (grub_serial_terminfo_input_template): Likewise.
4266 (grub_serial_terminfo_output_template): Likewise.
4267 (grub_serial_terminfo_input): Likewise.
4268 (grub_serial_terminfo_output): Likewise.
4269 (registered): Likewise.
4270 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4271
40fc4659
VS
42722011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4275 grub_video_mode_type_t.
4276 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4277 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4278 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4279
2da48d28
VS
42802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 * util/grub-install.in: Correct the x86-64 name as x86_64.
4283
9b43bf39
CW
42842011-03-11 Colin Watson <cjwatson@ubuntu.com>
4285
4286 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4287 initial chunk read from the kernel always includes GRUB's multiboot
4288 header, which is now outside the first sector.
4289
be1a7ce0
CW
42902011-03-09 Colin Watson <cjwatson@ubuntu.com>
4291
4292 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4293 cached mmap_size, so that this works correctly when called multiple
4294 times.
4295 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4296
83a3c48d
CW
42972011-03-09 Colin Watson <cjwatson@ubuntu.com>
4298
4299 * docs/grub.texi (Simple configuration): Tidy up formatting.
4300
57d75699
SJ
43012011-03-07 Szymon Janc <szymon@janc.net.pl>
4302
4303 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4304 Set-but-not-used variable removed.
4305
028501a0
VS
43062011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Workaround yet another IEEE1275 bug.
4309
4310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4311 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4312 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4313 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4314 is set.
4315 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4316 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4317
d998657d
VS
43182011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4321 error.
4322
fee7cdd4
CW
43232011-02-11 Colin Watson <cjwatson@ubuntu.com>
4324
4325 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4326 empty, since in that case we can only generate either nothing or a
4327 syntactically invalid configuration file.
4328 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4329
97286eb5
CW
43302011-02-09 Colin Watson <cjwatson@ubuntu.com>
4331
4332 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4333 (Making a GRUB bootable CD-ROM): Likewise.
4334 (Invoking grub-mkrescue): New section.
4335 Reported by: Yann Dirson. Fixes Debian bug #612585.
4336
22b28eb3
CW
43372011-02-09 Colin Watson <cjwatson@ubuntu.com>
4338
4339 * util/grub-install.in: Remove unnecessary brackets from tr
4340 arguments.
4341 * util/grub.d/10_hurd.in: Likewise.
4342 * util/grub.d/10_kfreebsd.in: Likewise.
4343 * util/grub.d/10_linux.in: Likewise.
4344 * util/grub.d/20_linux_xen.in: Likewise.
4345 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4346
7e735e43
CW
43472011-02-08 Colin Watson <cjwatson@ubuntu.com>
4348
4349 * include/grub/file.h (not_easly_seekable): Rename to ...
4350 (not_easily_seekable): ... this. Update all users.
4351
800f1881
CW
43522011-01-28 Colin Watson <cjwatson@ubuntu.com>
4353
4354 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4355 grub-mkrescue.
4356
3281d3d6
VS
43572011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * util/grub-mkimage.c (generate_image): Refuse to create the images
4360 bigger than the actual flash (512K) in Loongson machines. 512K is also
4361 the biggest chip supported by them.
4362
3533413c
VS
43632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4366
73ae4f4f
VS
43672011-01-22 Anthony DeRobertis <anthony@derobert.net>
4368
4369 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4370 super_offset field.
4371
37f4f608
VS
43722011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/grub-install.in: Ignore install device on platforms
4375 where it doesn't make sense. Always use UUIDs except on pc, efi and
4376 sparc64.
4377 Reported by: Daniel Kahn Gillmor.
4378
03a4ccb5
VS
43792011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4382
ffc8f4d8
VS
43832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4386 (iterate_real): Don't rely on partition being non-NULL.
4387
80f23be7
VS
43882011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4389
4390 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4391 supported platforms. Put a compile time assert for this rather than
4392 generate a warning with 32-bit shift.
4393
5d4f4dd5
VS
43942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4395
4396 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4397 logical expression more readable.
4398
e489601a
VS
43992011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4402 even if some elements have a name.
4403 Reported by: Alexander GQ Gerasiov.
4404
96e0a6ea
CW
44052011-01-22 Colin Watson <cjwatson@ubuntu.com>
4406
4407 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4408 path unreadable if `grub-probe -t abstraction' fails, for example if
4409 memberlist fails on an LVM volume group.
4410 Reported by: Darius Jahandarie.
4411
81431e2b
CW
44122011-01-22 Colin Watson <cjwatson@ubuntu.com>
4413
4414 * docs/grub.texi (Simple configuration): Document
4415 GRUB_PRELOAD_MODULES.
4416
5e79d66a
CW
44172011-01-17 Colin Watson <cjwatson@ubuntu.com>
4418
4419 * .bzrignore: Remove nonexistent grub-pbkdf2.
4420
646ada34
VS
44212011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4422
4423 * configure.ac: Bump version to 1.99~rc1.
4424
04360337
VS
44252011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4428 for safety.
4429
46c9db88
VS
44302011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4433 module.
4434
44352011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
4436
4437 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4438
4fbf1852
VS
44392011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4442 diskdevid.
4443
f1632d4d
VS
44442011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 Fix compilation on cygwin.
4447
4448 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4449 -R .drectve on cygwin.
4450 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4451 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4452 (COND_CYGWIN): New condition.
4453 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4454 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4455 not @TARGET_OBJ2ELF@.
4456 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4457 type to determine whether aux is to be used.
4458
0b5e127b
VS
44592011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4462 realpath'ed device string.
4463 Handle floppy (somewhat).
4464 Issue error in unknown case rather than garbage.
4465 Reported by: Axel Beckert.
4466
173b71e9
VS
44672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 * util/grub.d/00_header.in (load_video): Handle the case when no video
4470 drivers available.
4471 Thanks to: Axel Beckert.
4472
f8f479db
VS
44732011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4476 variable. Fixes problem on big endian platforms.
4477
8fc0a245
VS
44782011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4481 It doesn't work well there.
4482
b8494fbe
VS
44832011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4486 warning.
4487 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
4488 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
4489 counter.
4490
b44a558c
VS
44912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 Use alias->path rather than buggy "canon".
4494
4495 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
4496 (ofdisk_hash_add): New argument curcan. All users updated.
4497
51fa856c
CW
44982011-01-11 Colin Watson <cjwatson@ubuntu.com>
4499
4500 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
4501
9da068a5
VS
45022011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
4505 loadmask before doing any calculations. Use correct type for offset.
4506 (grub_linux_load64): Likewise.
4507
86205c94
CW
45082011-01-11 Colin Watson <cjwatson@ubuntu.com>
4509
4510 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
4511 with NULL.
4512 (console_grub_equivalences_unshift): Likewise.
4513 Reported by: Daniel Dehennin.
4514
4531a206
VS
45152011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
4518 (set_env_limn_ro): Likewise.
4519 (GRUB_MOD_INIT): Likewise.
4520 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
4521 ARRAY_SIZE while on it.
4522 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
4523 * grub-core/normal/context.c (grub_env_export): Move from here ...
4524 * grub-core/kern/env.c (grub_env_export): ... here.
4525 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
4526 prefix.
4527 * grub-core/kern/main.c (grub_main): Export root and prefix.
4528 * include/grub/env.h (grub_env_export): Export.
4529 Reported by: Seth Goldberg.
4530
45146057
VS
45312011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4534 Take into account space used by ELF sections and multiboot palette.
4535 Reported by: Grégoire Sutre.
4536
f093110b
VS
45372011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 * BUGS: New file.
4540
3395fe52
VS
45412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 Pass more appropriate video id to Linux.
4544
4545 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
4546 grub_video_get_driver_id and variable gfxpayloadforcelfb to
4547 fill have_vga.
4548 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
4549 shift params->lfb_size.
4550 * include/grub/i386/linux.h: Make an enume out of have_vga values.
4551
c2fa6cbb
VS
45522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * util/grub-menulst2cfg.c: Add missing include of misc.h.
4555
b3ff6ff0
VS
45562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
4559 separator and pass bootpath/devid even if only one of them is available.
4560 Reported by: Seth Goldberg.
4561
ae67942e
VS
45622011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
4565 implementations bug on them.
4566
4567 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
4568 memory.
4569 (filter_memory_map): Likewise.
4570
d570097a
VS
45712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4572
4573 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
4574 Reported by: nebuchadnezzar.
4575
a508e776
VS
45762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
4579 Reported by: nebuchadnezzar.
4580
dcb883b1
VS
45812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 Submenu default support.
4584
4585 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
4586 auto_boot. All users updated.
4587 Declared static.
4588 Handle chosen and default with submenus.
4589 (grub_menu_execute_with_fallback): Declared static.
4590 Don't notify failure if autobooted. Upper level does it.
4591 (menuentry_eq): New function.
4592 (get_entry_number): Use menuentry_eq.
4593 (show_menu): New parameter "autobooted". All users updated.
4594 (grub_show_menu): Likewise.
4595 * include/grub/normal.h (grub_show_menu): Likewise.
4596 * include/grub/menu.h (grub_menu_execute_entry): Removed.
4597 (grub_menu_execute_with_fallback): Likewise.
4598
6fef99b4
VS
45992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4600
4601 * util/grub-mklayout.c (usage): Update help text.
4602
47a77af5
VS
46032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
4606
ce6bb3ee
VS
46072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * util/grub-menulst2cfg.c (main): Trim the line.
4610
db87be2a
VS
46112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
4614 (grub_machine_init): Don't check amount of low memory as reportedly
4615 INT 12h can be broken and if low memory is too low we wouldn't have
4616 gotten into grub_machine_init anyway.
4617
c49849cc
VS
46182011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
4621 (grub_machine_mmap_iterate): Take low memory into account
4622
b1969b30
VS
46232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4624
4625 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4626 badfs.
4627 Reported by: TiCPU.
4628
cf0eaf13
VS
46292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
4632 members errors.
4633
1f060f39
GS
46342011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4635
4636 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
4637 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
4638
a21e5672
GS
46392011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4640
4641 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
4642 openbsd and netbsd types being in part_bsd module.
4643
c88172fa
VS
46442011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4645
4646 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
4647 (_FILE_OFFSET_BITS): Likewise.
4648 Reported by: Seth Goldberg.
4649
53798c4b
GS
46502011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
4651
4652 * configure.ac: Check for libdevmapper header.
4653
e7121b69
VS
46542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
4657 avoid aliasing.
4658 (fzap_lookup): Likewise.
4659 (dnode_get): Likewise.
4660 (make_mdn): Likewise.
4661 (zfs_mount): Likewise.
4662 (fzap_iterate): Use temporary pointer to avoid aliasing.
4663 (grub_zfs_read): Likewise.
4664 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
4665 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
4666 pointers to avoid aliasing.
4667 (grub_cmd_xnu_kernel64): Likewise.
4668 (grub_xnu_load_driver): Likewise.
4669
fc836af9
VS
46702011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
4673 aliasing warning.
4674 (grub_cmd_terminal_output): Likewise.
4675 Reported and tested by: Grégoire Sutre.
4676
f9f37648
VS
46772011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
4680 warning.
4681 Reported and tested by: Grégoire Sutre.
4682
ec1dfd63
VS
46832011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * configure.ac: Do CPU substitution even if it's specified explicitly.
4686 Reported and tested by: Alain Greppin.
4687
9462775a
VS
46882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
4691 Reported and tested by: Alain Greppin.
4692
0fd48e35
VS
46932011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4694
4695 Satisfy some bison versions need for inttypes.h.
4696
4697 * grub-core/lib/posix_wrap/inttypes.h: New file.
4698 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
4699 (int16_t): Likewise.
4700 (int32_t): Likewise.
4701 (int64_t): Likewise.
4702 Reported and tested by: Alain Greppin.
4703
43f1bc83
VS
47042011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
4707 Silence spurious warning.
4708 Reported and tested by: Alain Greppin.
4709
64d1f041
SJ
47102011-01-07 Szymon Janc <szymon@janc.net.pl>
4711
4712 * docs/grub.texi (Support automatic decompression): Update with xz
4713 decompression support.
4714
25953e10
SJ
47152011-01-07 Szymon Janc <szymon@janc.net.pl>
4716
4717 Improve loaders' kernel command line handling.
4718
4719 * grub-core/lib/cmdline.c: New file.
4720 * include/grub/lib/cmdline.h: Likewise.
4721 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
4722 grub_create_loader_cmdline to create kernel command line.
4723 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4724 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
4725 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
4726 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
4727 (linux): Add lib/cmdline.c on common.
4728
e72d259f
VS
47292011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4730
4731 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
4732 inopos might be unaligned.
4733
c0cf26da
VS
47342011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4737 endian transformations.
4738 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4739 Based on report by: Doug Nazar.
4740
0ca09e6c
DN
47412011-01-07 Doug Nazar <nazard.michi@gmail.com>
4742
4743 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4744 array->members[i].start_sector.
4745 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4746
014b6806
VS
47472011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4750 Reported and tested by: Grégoire Sutre.
4751
415502c2
CW
47522011-01-06 Colin Watson <cjwatson@ubuntu.com>
4753
4754 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4755 avoid causing test failures by clearing the screen.
4756
71b6a2b7
CW
47572011-01-06 Colin Watson <cjwatson@ubuntu.com>
4758
4759 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4760 Fix prefix check to handle the case where dir ends with a slash
4761 (most significantly, "/" itself).
4762 Reported by: Michael Vogt.
4763
b3f8d28a
VS
47642011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 Run terminfo_cls on initing terminfo output to clear the screen and
4767 move the cursor to (0,0).
4768
4769 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4770 Call grub_terminfo_output_init.
4771 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4772 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4773 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4774
4c3e4f37
VS
47752011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4778 only when needed.
4779
488f71f1
VS
47802011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4783 CTRL.
4784
18a38098
VS
47852011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 The E820 type 5 is BADRAM, not EXEC_CODE.
4788
4789 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4790 (GRUB_E820_BADRAM): New define.
4791 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
4792 into reserved. Propagate BADRAM.
4793 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4794 (GRUB_E820_BADRAM): New define.
4795
9eae2084
VS
47962011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4797
4798 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
4799 Ignore the memory post-4G.
4800 (grub_relocator_firmware_alloc_region): Additional debug statement.
4801
ebc71d28
VS
48022011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
4805 names.
4806 Reported by: David Pravec.
4807
446fa400
VS
48082011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4809
4810 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
4811 BIOSes.
4812
a0159f37
VS
48132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4814
4815 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
4816 Prevent overflow.
4817 (grub_reed_solomon_recover): Likewise.
4818
e5146ca1
VS
48192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4820
4821 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
4822
48232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
4824
4825 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
4826 variable.
4827
5b1bdf12
CW
48282011-01-04 Colin Watson <cjwatson@ubuntu.com>
4829
4830 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
4831 descriptions of extract_legacy_entries_source and
4832 extract_legacy_entries_configfile.
4833 Reported by: Seung Soo, Ha.
4834
99d925aa
CW
48352011-01-03 Colin Watson <cjwatson@ubuntu.com>
4836
4837 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
4838 on devices that do not implement function 0.
4839
4af0504b
DV
48402011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
4841
4842 * grub-core/fs/hfsplus.c: Make parent unsigned.
4843 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
4844 overflows.
4845 (grub_hfsplus_cmp_extkey): Likewise
4846
469ee10a
VS
48472011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * util/grub-install.in: Correctly use bootloader_id and not
4850 GRUB_DISTRIBUTOR on efibootmgr line.
4851
323a8e9c
VS
48522011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4853
4854 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
4855
1b394975
IC
48562010-12-31 Ian Campbell <ijc@hellion.org.uk>
4857
4858 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
4859 Xen and reorder menu item wording to make it clearer that this entry
4860 will launch Xen. Print separate messages when loading Xen and
4861 Linux.
4862
275bff5f
VS
48632010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4864
4865 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
4866 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
4867 loop in case of incorrect amiga partmap.
4868
307806cb
VS
48692010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
4872 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
4873 Reported by:EHeM.
4874
b12b923e
VS
48752010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
4878 spurious warning.
4879 Reported by: crocket
4880
14b48a19
VS
48812010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
4884 Preload EFIemu.
4885 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
4886
693db2df
VS
48872010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
4890 is loaded
4891 (grub_cmd_xnu_kextdir): Likewise.
4892 (grub_cmd_xnu_splash): Likewise.
4893
c7638645
VS
48942010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4895
4896 Avoid using Reed-Solomon with 0 redundancy.
4897
4898 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
4899 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
4900 or 0 redundancy.
4901 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
4902 (grub_reed_solomon_recover): Likewise.
4903
25dd4780
VS
49042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 Don't use disk subsystem in freebsd_boot.
4907
4908 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
4909 (freebsd_biosdev): Likewise.
4910 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
4911 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
4912
0b2db943
VS
49132010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4914
4915 Handling of files of unknown size is currently limited. They can't be
4916 used e.g. for initrd or modules. Moreover gzip handling of not
4917 easily seekable files is buggy. Disable unknown file size for now. May
4918 be inefficient but works.
4919
4920 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
4921 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4922
5c408d0f
MP
49232010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
4924
4925 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
4926 floppy probe.
4927
190a011a
JD
49282010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
4929
4930 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
4931
022d01b8
SL
49322010-12-25 Shea Levy <shlevy>
4933
4934 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
4935
c4855fdc
VS
49362010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
4939 Windows Server 2008.
4940 Reported by: Devin Giddings.
4941
0354b867
VS
49422010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
4945 writing an error message because of async power management.
4946 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
4947 (grub_reboot): Likewise.
4948
ab66c69f
JU
49492010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
4950
4951 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
4952 keep unit tests from failing when they shouldn't.
4953
1426ef35
CW
49542010-12-21 Colin Watson <cjwatson@ubuntu.com>
4955
4956 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
4957 previous patch increased the size of the RS code by 20 bytes (at
4958 least with gcc-4.4), so increase this by 20 bytes to match.
4959 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4960
20641b6b
CW
49612010-12-21 Colin Watson <cjwatson@ubuntu.com>
4962
4963 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
4964 scratch area. Make sure to initialise chosen in standalone mode as
4965 well as non-standalone.
4966 Reported by: Robert Hooker and Andy Whitcroft.
4967 Tested by: Andy Whitcroft.
4968
d060ad60
CW
49692010-12-21 Colin Watson <cjwatson@ubuntu.com>
4970
4971 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
4972 constructing a new unescaped string and passing it to grub_xputs in
4973 one go, rather than passing characters to grub_printf one at a time.
4974
b889cfad
CW
49752010-12-21 Colin Watson <cjwatson@ubuntu.com>
4976
4977 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
4978 initialising utf16.
4979
4e01b6c8
CW
49802010-12-21 Colin Watson <cjwatson@ubuntu.com>
4981
4982 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
4983 comment. Add an extra layer of quotation, requiring the output of
4984 this function to be used in a printf format string.
4985 (gettext_printf): New function.
4986 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
4987 Extract translatable strings from here-documents and use a temporary
4988 variable instead, so that xgettext can find them.
4989 * util/grub.d/10_kfreebsd.in: Likewise.
4990 * util/grub.d/10_linux.in: Likewise.
4991 * util/grub.d/20_linux_xen.in: Likewise.
4992
4993 * po/grub.d.sed: New file.
4994 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
4995 arguments. Set c-format flags on all strings extracted from
4996 util/grub.d/ (xgettext refuses to include these itself for strings
4997 it extracted from a shell file, but these really are c-format).
4998
5318fe98
VS
49992010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5002 Avoid next pointing to nowhere.
5003
6c85b743
VS
50042010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5005
5006 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5007 rather than assuming than rootblock is exactly in the middle.
5008 (grub_affs_label): Likewise.
5009
a2a08a35
VS
50102010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5013 reserved_first_sector to 0.
5014 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5015 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5016 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5017
7059d1ec
VS
50182010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 Fix handling of UTF-16 UDF labels.
5021
5022 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5023 (read_string): .. here.
5024 (grub_udf_label): Use read_string.
5025
30aff4cb
BC
50262010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5027
5028 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5029 editor under argument scope.
5030 Reported by: Jordan Uggla
5031
5cf86f4b
VS
50322010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5035
32570200
CW
50362010-12-18 Colin Watson <cjwatson@ubuntu.com>
5037
5038 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5039 line, and other keys scroll an entire page (previous handling was
5040 for \r and \n to scroll a page and other keys to scroll two lines).
5041
e1dffcf2
VS
50422010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5045 Set ptrdest to correct get_physical_target_address rather than
5046 incorrect get_virtual_current_address.
5047
b04298cf 50482010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5049
5050 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5051 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5052
5367ecd3
CW
50532010-12-10 Colin Watson <cjwatson@ubuntu.com>
5054
5055 * .bzrignore: Ignore grub-core/rs_decoder.S.
5056
1fb430f8
CW
50572010-12-10 Colin Watson <cjwatson@ubuntu.com>
5058
5059 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5060 .mo/.mo.gz opening sequence to ...
5061 (grub_mofile_open_lang): ... here.
5062 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5063 * util/grub.d/00_header.in (grub_lang): Include country part of
5064 locale.
5065 Reported by: Mario Limonciello.
5066
a94a6671
RM
50672010-12-09 Robert Millan <rmh@gnu.org>
5068
5069 * NEWS: Document addition of ZFS support.
5070
24b7938b
CW
50712010-12-04 Colin Watson <cjwatson@ubuntu.com>
5072
5073 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5074 rather than `/ 2', as the latter requires -Wa,--divide which would
5075 require bumping our minimum binutils version.
5076
bddc3ef6
BC
50772010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5078
5079 * util/grub-script-check.c (main): Print script line number on
5080 error.
5081
bf78d5b2
RM
50822010-12-01 Robert Millan <rmh@gnu.org>
5083
5084 * grub-core/fs/zfs/zfs.c: New file.
5085 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5086 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5087 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5088 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5089
5090 * include/grub/zfs/dmu.h: Likewise.
5091 * include/grub/zfs/dmu_objset.h: Likewise.
5092 * include/grub/zfs/dnode.h: Likewise.
5093 * include/grub/zfs/dsl_dataset.h: Likewise.
5094 * include/grub/zfs/dsl_dir.h: Likewise.
5095 * include/grub/zfs/sa_impl.h: Likewise.
5096 * include/grub/zfs/spa.h: Likewise.
5097 * include/grub/zfs/uberblock_impl.h: Likewise.
5098 * include/grub/zfs/vdev_impl.h: Likewise.
5099 * include/grub/zfs/zap_impl.h: Likewise.
5100 * include/grub/zfs/zap_leaf.h: Likewise.
5101 * include/grub/zfs/zfs.h: Likewise.
5102 * include/grub/zfs/zfs_acl.h: Likewise.
5103 * include/grub/zfs/zfs_znode.h: Likewise.
5104 * include/grub/zfs/zil.h: Likewise.
5105 * include/grub/zfs/zio.h: Likewise.
5106 * include/grub/zfs/zio_checksum.h: Likewise.
5107
5108 * Makefile.util.def: Build ZFS into libgrubmods.
5109 * grub-core/Makefile.core.def: Build zfs.mod.
5110
3f0f3831
SJ
51112010-11-30 Szymon Janc <szymon@janc.net.pl>
5112
5113 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5114 variable.
5115 * grub-core/commands/wildcard.c (match_files): Likewise.
5116
3a4253b2
RM
51172010-11-30 Robert Millan <rmh@gnu.org>
5118
5119 * grub-core/loader/i386/bsd.c
5120 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5121 whether kernel is loaded using grub_loader_is_loaded(), rather
5122 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5123 certain error conditions.
5124
8c317b27
RM
51252010-11-30 Robert Millan <rmh@gnu.org>
5126
c5c9cd3e
RM
5127 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5128 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5129
49d3ab46
VS
51302010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 Avoid using tricks for initialising endian variables.
5133
5134 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5135 Make const.
5136 (GRUB_MOD_INIT): Don't byte-swap.
5137 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5138 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5139 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5140 (grub_swap_bytes32_compile_time): Likewise.
5141 (grub_cpu_to_le32_compile_time): Likewise.
5142 (grub_cpu_to_le16_compile_time): Likewise.
5143
f420a804
VS
51442010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * util/grub-setup.c (setup): Stop recommending --force. People who
5147 understand the dangers of blocklists are able to find this option
5148 anyway and the ones who don't shouldn't use it anyway.
5149
4e7db17b
RM
51502010-11-26 Robert Millan <rmh@gnu.org>
5151
5152 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5153 Update all users.
5154
9be57a0d
CW
51552010-11-26 Colin Watson <cjwatson@ubuntu.com>
5156
5157 Fix LVM-on-RAID probing.
5158
5159 * util/grub-probe.c (probe): Remember which disk was detected as
5160 RAID (perhaps an LVM physical volume). Use that disk's raidname
5161 rather than that of the top-level disk.
5162
2c7859b3 51632010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5164
d7647bb6
BC
5165 Fix cmdline argument quotes for setparams command of menuentry
5166 definitions.
7e623b0d
BC
5167
5168 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5169 quotes for arguments.
f866fe80 5170 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5171 grub_strchrsub function instead.
f866fe80 5172
7955bea0 5173 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5174
74f72a64
CW
51752010-11-24 Colin Watson <cjwatson@ubuntu.com>
5176
5177 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5178 effort by skipping "." and ".." entries up-front.
5179 Suggested by: Michael Lazarev.
5180
5a407278
CW
51812010-11-24 Colin Watson <cjwatson@ubuntu.com>
5182
5183 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5184 ldflags to ldadd, to fix link line ordering.
5185 (none_decompress): Likewise.
5186
3030d8ec
CW
51872010-11-24 Colin Watson <cjwatson@ubuntu.com>
5188
5189 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5190 platforms.
5191 (grub-emu-lite): Remove kern/emu/cache.S.
5192
b7fbac12
CW
51932010-11-23 Colin Watson <cjwatson@ubuntu.com>
5194
5195 * util/deviceiter.c (compare_devices): If the by-id link for a
5196 device couldn't be resolved, fall back to sorting by the by-id link
5197 rather than segfaulting.
5198 Reported and tested by: Daniel Mierswa.
5199
5225f328
CW
52002010-11-23 Colin Watson <cjwatson@ubuntu.com>
5201
5202 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5203 ldflags, to fix link line ordering.
5204
038b3ce8
CW
52052010-11-23 Colin Watson <cjwatson@ubuntu.com>
5206
5207 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5208 linkers are picky about this.
5209
bf16e98e
CW
52102010-11-23 Colin Watson <cjwatson@ubuntu.com>
5211
5212 * grub-core/Makefile.am (command.lst): Adjust sed expression
5213 ordering so that extended and priority commands aren't treated as
5214 ordinary commands.
5215
7242bab6
CW
52162010-11-23 Colin Watson <cjwatson@ubuntu.com>
5217
5218 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5219 Remove byte-swapping function calls, which are not valid in
5220 structure initialisers.
5221 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5222 non-const.
5223 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5224 grub_gpt_partition_type_bios_boot.
5225
14e8b279
CW
52262010-11-22 Colin Watson <cjwatson@ubuntu.com>
5227
5228 Fix test program build on GNU/kFreeBSD.
5229
5230 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5231 $(LIBNVPAIR)' library dependencies.
5232
e6f63338 52332010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5234
5235 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5236
cf8ffc38
CW
52372010-11-22 Colin Watson <cjwatson@ubuntu.com>
5238
5239 * util/grub-install.in: Remove excessive quoting that broke
5240 installations to RAID devices.
5241
7f8b0fd7
VS
52422010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5245 bootloader version instead of 0.
5246
dfd240b1
VS
52472010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5250 warning.
5251
7b61e609
VS
52522010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5255 retrieve the metadat sector if size isn't known.
5256 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5257
9dfe92d0
RM
52582010-11-18 Robert Millan <rmh@gnu.org>
5259
5260 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5261 with grub_memcmp().
5262
41cc919e
VS
52632010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5266 arrow.
5267 Reported by: Jordan Uggla.
5268
1afcc914
VS
52692010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Make better UTF compliant.
5272
5273 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5274 sequences as incorrect.
5275 (grub_is_valid_utf8): Likewise.
5276 (grub_utf8_to_ucs4): Likewise.
5277 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5278 (grub_ucs4_to_utf8_alloc): Likewise.
5279 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5280
f1808884
VS
52812010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Make legacy_source behave like source.
5284
5285 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5286 grub_show_menu.
5287 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5288
24ec575b
CW
52892010-11-16 Colin Watson <cjwatson@debian.org>
5290
5291 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5292 (-Wunused implies -Wunused-parameter, but not vice versa).
5293
72b7c7aa
CW
52942010-11-16 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * configure.ac: Make error messages less confusing by testing for
5297 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5298 accepted, but produces a diagnostic if something else is wrong).
5299
e98937aa
VS
53002010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5303 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5304 (now unused).
5305 (grub_keyboard_controller_init)
5306 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5307 read the initial state since controller isn't inited yet.
5308
f6bbabc3
VS
53092010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5312 allocate_regbeg may need to create new chunk header.
5313
22e7dbb2
VS
53142010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 Fix quoting in legacy parser.
5317
5318 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5319 single quotes.
5320 (grub_legacy_parse): Likewise.
5321 Reported by: Jordan Uggla.
5322 Tested by: Jordan Uggla.
5323
03f80960
VS
53242010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 Don't add -lgcc on i386 and x86_64.
5327
5328 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5329 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5330 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5331
779dc15b
VS
53322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * configure.ac: Add -Wno-trampolines when supported.
5335
d20a3b37
MV
53362010-11-14 Modestas Vainius <modax@debian.org>
5337
5338 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5339 fakeraid.
5340
e5360933
GC
53412010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5342
5343 Add generic logical block size support for UDF.
5344
5345 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5346 (GRUB_UDF_BLKSZ): Removed.
5347 (struct grub_udf_data): New field "lbshift" to hold the logical block
5348 size of the file system in log2 format. All users updated.
5349 (sblocklist): Change type to unsigned.
5350 (grub_udf_mount): Change type of "sblklist" to unsigned.
5351 Move AVDP search before VRS recognition, because the latter requires
5352 knowledge of the logical block size, which is detected during the
5353 former.
5354 Detect and validate logical block size during AVDP search, adding
5355 support for block sizes 512, 1024 and 4096.
5356 Make VRS recognition independent of block size.
5357
cb0229c5
GC
53582010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5359
5360 Properly handle deleted files on UDF.
5361
5362 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5363 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5364 set.
5365
406858a8
GC
53662010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5367
5368 Support reading files larger than 2 GiB.
5369
5370 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5371 "offset" to grub_off_t.
5372 (grub_udf_read_file): Likewise for parameter "pos".
5373
130da6a7
VS
53742010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5377 unavailable.
5378 (Simple configuration): Refer to Changes from GRUB Legacy about
5379 save_env availability.
5380
65e93f6b
VS
53812010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * util/grub-install.in: Ignore empty partition table detection
5384 instead of trying to include part_ module.
5385
1fd08bf1
VS
53862010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5389 LVM on RAID support.
5390
de1a024f
VS
53912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5392
5393 Properly define WORDS_BIGENDIAN in wrapped environments.
5394
5395 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5396 definition.
5397 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5398
5399 Reported by: Manoel Rebelo Abranches.
5400 Tested by: Manoel Rebelo Abranches.
5401
bc5dd0b9
VS
54022010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 * util/grub-mkconfig.in: Fix quoting.
5405
58c184be
VS
54062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 Support big ext2 files.
5409
5410 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5411 (grub_ext2_read_block): Support triple indirect blocks.
5412 (grub_ext2_read_file): Use 64-bit types and read size_high.
5413 (grub_ext2_open): Read size_high.
5414 Reported by: Ximin Luo.
5415 Tested by: Manoel Rebelo Abranches.
5416
5f0c02b3
VS
54172010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * util/grub-install.in: Handle filenames containing spaces.
5420 Reported by: Jordan Uggla.
5421 Tested by: Jordan Uggla.
5422
4417aae6
VS
54232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * util/grub-mkconfig.in (grub_script_check): New variable.
5426 Use grub_script_check instead of grub-script-check.
5427 Reported by: Barry Jackson.
5428
7625a68e
VS
54292010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * docs/grub.texi (menu): Correct the order.
5432 Reported by: D. Hugh Redelmeier.
5433
10001ac5
VS
54342010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5437 jump.
5438
9c4cf53b
MRA
54392010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5440
10001ac5
VS
5441 * include/grub/elfload.h (grub_elf32_size): New parameter.
5442 All users updated.
9c4cf53b
MRA
5443 Return maximum segments alignment.
5444 (grub_elf64_size): Likewise.
5445 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5446 Return maximum segments alignment.
5447 (grub_elf64_size): Likewise.
5448 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
5449 (grub_linux_claimmap_iterate): New function. Uses the
5450 "available" property in the "memory" node for memory allocation
5451 for kernel in the PowerPC loader.
9c4cf53b
MRA
5452 (grub_linux_load32): Correctly find linux entry point offset.
5453 (grub_linux_load64): Likewise.
5454
d2bf06bf
RM
54552010-11-07 Robert Millan <rmh@gnu.org>
5456
5457 On mips-yeeloong, build with -march=loongson2f when this flag is
5458 available (GCC >= 4.4).
5459 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5460 `-march=mips3'.
5461 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5462 or otherwise add -march=mips3.
5463
898c99a2
BC
54642010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5465
87220a68
BC
5466 Suppress shell expansion on echo '*' and echo "*" like cases.
5467 Reported by: Jordan Uggla.
898c99a2
BC
5468
5469 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5470 string arguments before shell expansion.
5471 * tests/grub_cmd_echo.in: New testcases.
5472
4f9b406a
RM
54732010-11-07 Robert Millan <rmh@gnu.org>
5474
5475 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5476 transition.
5477
80c6d25e
VS
54782010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/kern/emu/hostdisk.c
5481 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5482
4a1a0153
VS
54832010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5486 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5487 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
5488
34706ddc
VS
54892010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
5492
6972dea9
VS
54932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * util/grub-install.in: Replace useless recomendation to pass
5496 --modules with a recomendation to report a bug.
5497
9c693bd6
VS
54982010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 Properly register serial terminfo.
5501 Reported by: Jordan Uggla
5502
5503 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
5504 const.
5505 (grub_serial_terminfo_output_template): Likewise.
5506 (grub_cmd_serial): Register "serial" with terminfo.
5507 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
5508 grub_serial_terminfo_output.
5509
6c9e4c0c
RM
55102010-11-05 Robert Millan <rmh@gnu.org>
5511
5512 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
5513 needed).
5514
b9b3839f
RM
55152010-11-05 Robert Millan <rmh@gnu.org>
5516
5517 On Yeeloong, pass machine type information to Linux.
5518
5519 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
5520 (LOONGSON_MACHTYPE): New macro, set to
5521 "machtype=lemote-yeeloong-2f-8.9inches".
5522 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
5523 additional argument to Linux.
5524
1a3aaff4
RM
55252010-11-04 Robert Millan <rmh@gnu.org>
5526
5527 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
5528 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
5529 (its SATA disks are detected as slaveless IDE master drives on
5530 kFreeBSD).
5531 Reported by Carsten Aulbert.
5532
a75f4f62
CW
55332010-11-02 Colin Watson <cjwatson@ubuntu.com>
5534
5535 * util/bin2h.c (main): Fix spelling error in generated output.
5536
33b4b0c6
GS
55372010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
5538
5539 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
5540
2b36fbf4
VS
55412010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5542
5543 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
5544 vga= option is supplied.
5545
74aaf558
VS
55462010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
5549 * util/grub.d/10_kfreebsd.in: Likewise.
5550 * util/grub.d/10_linux.in: Likewise.
5551 * util/grub.d/20_linux_xen.in: Likewise.
5552
6428dec3
VS
55532010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
5556 argument as an argument to no-argument option.
5557
f8729d98
VS
55582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * util/grub.d/10_linux.in: Add missing load_video with explicit
5561 GRUB_GFXPAYLOAD_LINUX.
5562
89d68fa6
VS
55632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5564
5565 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
5566
3a1197cd
VS
55672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5568
5569 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
5570 elements with invlid index.
5571 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5572 * grub-core/disk/raid.c (insert_array): Automatically reallocate
5573 members.
5574 * include/grub/raid.h (grub_raid_member): New struct.
5575 (grub_raid_array): Transform devices and start_sector into usage of
5576 grub_raid_member. All users updated
5577 (allocated_devs): New member.
5578
71574288
VS
55792010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
5582 is modified
5583
8d40ec65
BC
55842010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
5585
5586 NetBSD build fix for getline function conflict from gnulib.
5587
5588 * Makefile.util.def (libgrubkern.a): New library for grub kernel
5589 components that depend on gnulib headers.
5590 (libgrubmods.a): Renamed from earlier libgrub.a.
5591 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
5592
95b9257e
VS
55932010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
5596 install rather than creating a broken install.
5597
26c53dc6
VS
55982010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5599
5600 * util/grub-setup.c (argp): Remove misleading example of installing to
5601 a partition.
5602
4171b3c5
VS
56032010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * util/grub-setup.c (setup): Clarify the error message.
5606
18568d18
VS
56072010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
5610
4f6a2e21
VS
56112010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5612
5613 * grub-core/kern/emu/misc.c
5614 (grub_make_system_path_relative_to_its_root)
5615 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
5616
56172010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
5618
5619 * grub-core/kern/emu/misc.c
5620 (grub_make_system_path_relative_to_its_root): Revert r2882.
5621
e138c458
VS
56222010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
5625 useless field head. All users updated.
5626 (free_subchunk): Correct handling of IN_REGION subchunk.
5627
0cbcdf0e
CW
56282010-10-22 Colin Watson <cjwatson@ubuntu.com>
5629
5630 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
5631 (Supported kernels): Likewise.
5632
b65ea155
GS
56332010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5634
5635 Make mktemp invocations portable.
5636
5637 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
5638 exit if mktemp fails.
5639 * tests/grub_script_blockarg.in: Likewise.
5640 * tests/partmap_test.in: Likewise.
5641 * tests/util/grub-shell-tester.in: Likewise.
5642 * tests/util/grub-shell.in: Likewise.
5643 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
5644 * Makefile.am: Likewise, and chain shell commands with `&&'
5645 instead of ';'.
5646 * util/grub-mkrescue.in: Use the same explicit template as above, and
5647 exit if mktemp fails.
5648
05f43cdd
BC
56492010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
5650
5651 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
5652 Linux kernel, reported by Dennis Schridde.
5653
800e6a9b
SJ
56542010-10-17 Szymon Janc <szymon@janc.net.pl>
5655
5656 * grub-core/normal/auth.c (grub_auth_check_authentication):
5657 Set-but-not-used variable removed.
5658
d82df574
VS
56592010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 * docs/grub.texi (GNU/Linux): Document APM unavailability with
5662 32-bit linux protocol.
5663
7bced458
VS
56642010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
5667 cursor shape for sanity.
5668
5b027690
VS
56692010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * docs/grub.texi (Installation): Document buggy BIOS install.
5672
ba5f65cf
VS
56732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * docs/grub.texi (Installation): Indent.
5676
fdf2ec9c
VS
56772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * util/grub-setup.c (setup): New parameter allow_floppy.
5680 (arguments): New member allow_floppy.
5681 (argp_parser): Handle --allow-floppy.
5682 (main): Pass allow_floppy.
5683 * util/grub-install.in: New option --allow-floppy passed though to
5684 grub-setup.
5685
861dfd4c
VS
56862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * util/grub-install.in: Handle partitionless disks.
5689
f77a8c24
VS
56902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * util/grub-setup.c (setup): Don't clean blocklists before readability
5693 verfification.
5694
27d9ee32
VS
56952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * docs/grub.texi (Installation): Document embedding zone. Remove
5698 obsolete grub-install example.
5699
6bdda8f8
SJ
57002010-10-16 Szymon Janc <szymon@janc.net.pl>
5701
5702 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5703 Set-but-not-used variable ifdef'ed.
5704 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
5705 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
5706 variable removed.
5707 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
5708 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
5709 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5710 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
5711 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
5712 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5713 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
5714 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
5715 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5716 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
5717 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
5718 Likewise.
5719
e19b016b
VS
57202010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
5723 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
5724 enum value.
5725
6c8d3002
VS
57262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
5729 synonym to _S5_. Needed for some DSDTs.
5730
c32b51c9
VS
57312010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5732
5733 Userspace ACPI parser debugging.
5734
5735 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5736 headers and add relevant defines. Don't include standard headers.
5737 (main) [GRUB_DSDT_TEST]: New function.
5738 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5739 Don't declare functions.
5740
fbfbeb39
VS
57412010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 Remove dead grub_efi_mm_fini.
5744
5745 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5746 (ALLOCATED_PAGES_SIZE): Likewise.
5747 (MAX_ALLOCATED_PAGES): Likewise.
5748 (allocated_pages): Likewise.
5749 (grub_efi_allocate_pages): Don't record allocated pages.
5750 (grub_efi_free_pages): Likewise.
5751 (grub_efi_mm_init): Likewise.
5752 (grub_efi_mm_fini): Removed.
5753
65f7ed7c
VS
57542010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5757 (grub_efi_mm_init): Take into account the memory map size increase.
5758
24977b44
VS
57592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5762 (serial_hw_put): Wait based on real time rather than port reads. Don't
5763 roken ports.
5764 * include/grub/serial.h (grub_serial_port): New field broken.
5765
1eb01cd2
RM
57662010-10-16 Robert Millan <rmh@gnu.org>
5767
5768 * grub-core/kern/emu/misc.c
5769 (grub_make_system_path_relative_to_its_root): Fix premature return
5770 when processing non-root ZFS filesystems.
5f8b440b 5771 Reported by Sergio Talens-Oliag.
1eb01cd2 5772
2d5fed60
RM
57732010-10-15 Robert Millan <rmh@gnu.org>
5774
5775 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5776 guarantee compressed ones are processed first.
5777
d0f4c1ea
VS
57782010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5781 grub_efiemu_autocore.
5782
d87c681f
VS
57832010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
5786 rather than 0x1b.
5787 (grub_console_getkey): Use correct jae opcode rather than ja.
5788
219b3564
RM
57892010-10-12 Robert Millan <rmh@gnu.org>
5790
5791 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
5792 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
5793 variable. All references updated.
5794
5795 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
5796
20c6bb7e
VS
57972010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 Correctly distinguish mdraid flavours.
5800
5801 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
5802 (insert_array): New argument raid.
5803 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
5804 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
5805 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
5806
74baff84
VS
58072010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5808
5809 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
5810 handling of special keys.
5811
3ef068df 58122010-10-02 Aleš Nesrsta <starous@volny.cz>
5813
c7980ad9
VS
5814 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
5815 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 5816
a9455194 58172010-10-02 Aleš Nesrsta <starous@volny.cz>
5818
c7980ad9
VS
5819 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
5820 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
5821 users updated.
a9455194 5822 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 5823 Use right endpoint when querying descriptor.
a9455194 5824
441cfe65
VS
58252010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5826
5827 Clear out 0x80 color bit on EFI.
5828 Tested by: decoder
5829 Reported by: decoder and meta tech.
5830
5831 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
5832 (grub_console_setcolorstate): Clear out 0x80 bit.
5833 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
5834 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
5835 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
5836
bf26bcc4
VS
58372010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
5840 Set to "auto".
5841
6e3c515d
VS
58422010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5843
5844 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
5845 mo_file after freeing.
5846
e6d983ba
VS
58472010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
5850
74ccb5b5
VS
58512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
5854 flags.
5855
17821956
VS
58562010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
5859 usage.
5860
ee74fa48
VS
58612010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 Put terminfo into core on ieee1275 and yeeloong (needed for console).
5864
5865 * gentpl.py: New groups terminfoinkernel and terminfomodule.
5866 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
5867 and terminfo.h when needed.
5868 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
5869 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
5870 (terminfo): Enable only on terminfokernel.
5871 (extcmd): Likewise.
5872 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
5873 * include/grub/lib/arg.h: Likewise.
5874 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
5875 incorrect usage of ->.
5876
aa438e68
VS
58772010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5878
5879 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
5880 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
5881
57994012
VS
58822010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 Fix coreboot compilation.
5885
5886 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5887 Take VBE info into account even if only text is supported.
5888 (fill_vbe_info): Take into account the case when only VGA text
5889 is supported.
5890 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
5891 on coreboot, multiboot and qemu.
5892
2a406611
VS
58932010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
5896 debug messages.
5897 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
5898
d33613fc
VS
58992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
5902 parameters.
5903
44a1b432
VS
59042010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
5907 if they were BSD-style.
5908
edde54e6
VS
59092010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5910
5911 * grub-core/boot/i386/pc/lnxboot.S: Replace
5912 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
5913 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
5914
b65830fa
VS
59152010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 Write embedding zone using Reed-Solomon.
5918
5919 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
5920 * grub-core/Makefile.am (rs_decoder.S): New target.
5921 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
5922 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
5923 (multiboot): Move to RS part.
5924 (post_reed_solomon): New label.
5925 (grub_boot_drive): Move to non-RS part since it's modified in memory
5926 on boot.
5927 Include rs_decoder.S.
5928 * grub-core/lib/reed_solomon.c: New file.
5929 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
5930 New definition.
5931 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
5932 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
5933 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
5934 * include/grub/partition.h (grub_partition_map): Change prototype of
5935 embed to allow returning additional sectors.
5936 * include/grub/reed_solomon.h: New file.
5937 * util/grub-setup.c (setup): Handle Reed-Solomon.
5938
0b4b227f
CW
59392010-09-28 Colin Watson <cjwatson@ubuntu.com>
5940
5941 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5942 i386 and x86-64 definedness tests.
5943
f772623b
YB
59442010-09-27 Yves Blusseau <blusseau@zetam.org>
5945
5946 Fix generation of kernel_syms.lst
5947
5948 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
5949 ASM_PREFIX
5950
8e57a6ca
RM
59512010-09-26 Robert Millan <rmh@gnu.org>
5952
5953 Support degraded ZFS arrays in "grub-probe -t device" resolution.
5954
5955 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
5956 the pool is an array of devices, iterate through it and return the
5957 first device that passes a stat() test (instead of blindly returning
5958 the first one).
5959
f9130836
RM
59602010-09-26 Robert Millan <rmh@gnu.org>
5961
5962 Build fixes for GNU/kFreeBSD.
5963
5964 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
5965 to programs that require ZFS conversion.
5966 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
5967 kernels that don't have FLOPPY_MAJOR.
5968
96510faf
BC
59692010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5970
5971 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
5972
449333eb
BC
59732010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5974
5975 Fix grub-emu build.
5976
5977 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
5978 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
5979 mdraid09 and mdraid1x.
5980
e1fd1939
CW
59812010-09-24 Colin Watson <cjwatson@ubuntu.com>
5982
5983 Re-enable grub-extras.
5984
5985 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
5986 avoid confusing Automake. Run autogen only twice, once for the top
5987 level and once for grub-core. Add Makefile.util.def and
5988 Makefile.core.def from extra modules to the appropriate autogen
5989 invocations. If Makefile.common exists in an extra module, include
5990 it in both Makefile.util.am and grub-core/Makefile.core.am;
5991 similarly, include any Makefile.util.common file in Makefile.util.am
5992 and any Makefile.core.common file in grub-core/Makefile.core.am.
5993 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
5994 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
5995 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
5996 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
5997
5998 * gentpl.py (gvar_add): Turn GVARS into a set.
5999 (global_variable_initializers): Sort global variables on output.
6000 (vars_init): New function.
6001 (first_time): Likewise.
6002 (library): Ensure that non-global variable initialisations are
6003 emitted before the first time we emit code for a library block.
6004 Append to variables rather than setting them. Only emit
6005 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6006 each conditional path.
6007 (program): installdir() emits an Autogen macro, so must be passed to
6008 var_add rather than gvar_add.
6009 (data): Likewise.
6010 (script): Likewise.
6011 (rules): New function, centralising handling for different target
6012 types. Set up Guile association lists for first_time and vars_init,
6013 and send most output to a diversion so that variable initialisations
6014 can be emitted first.
6015 (module_rules): Use new rules function.
6016 (kernel_rules): Likewise.
6017 (image_rules): Likewise.
6018 (library_rules): Likewise.
6019 (program_rules): Likewise.
6020 (script_rules): Likewise.
6021 (data_rules): Likewise.
6022
6023 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6024
6025 * .bzrignore: Add contrib and grub-core/contrib. Remove
6026 grub-core/Makefile.gcry.am.
6027
1d12cf29
YB
60282010-09-24 Yves Blusseau <blusseau@zetam.org>
6029
6030 * grub-core/lib/LzFind.c: Add missing include.
6031 * grub-core/lib/LzmaEnc.c: Likewise.
6032 * grub-core/script/lexer.c: Likewise.
6033 * grub-core/script/yylex.l: Likewise.
6034 * util/grub-macho2img.c: Likewise.
6035 * util/grub-menulst2cfg.c: Likewise.
6036 * util/grub-mklayout.c: Likewise.
6037 * util/grub-mkpasswd-pbkdf2.c
6038 * util/grub-mkrelpath.c: Likewise.
6039 * util/resolve.c: Likewise.
6040
dd363028
BC
60412010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6042
6043 * Makefile.util.def (example_unit_test): Add
6044 grub-core/gnulib/libgnu.a.
6045
f5a109e2
GS
60462010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6047
6048 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6049
6d0fa83c
VS
60502010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 Support xz compression on yeeloong.
6053
6054 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6055 * configure.ac: Check for LZMA.
6056 * grub-core/Makefile.core.def (xz_decompress): New target.
6057 (none_decompress): Likewise.
6058 * grub-core/boot/decompressor/minilib.c: New file.
6059 * grub-core/boot/decompressor/none.c: Likewise.
6060 * grub-core/boot/decompressor/xz.c: Likewise.
6061 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6062 * grub-core/kern/mips/cache_flush.S: Likewise.
6063 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6064 * grub-core/kern/mips/startup.S: Move first stage to ...
6065 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6066 nomacro.
6067 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6068 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6069 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6070 Allocate statically.
6071 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6072 Allocate statically or use scratch. Don't check CRC32.
6073 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6074 Allocate statically. Don't check CRC32.
6075 * include/grub/decompressor.h: New file.
6076 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6077 Removed.
6078 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6079 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6080 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6081 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6082 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6083 * util/grub-mkimage.c (grub_compression_t): New type.
6084 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6085 (image_target_desc): New field default_compression.
6086 (image_targets): Adjust yeeloong targets.
6087 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6088 (compress_kernel): New parameter comp.
6089 (generate_image): Likewise. Handle new compression case.
6090 (options): New option --compression
6091 (help): Likewise.
6092 (main): Handle new option.
6093
1b655af6
GS
60942010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6095
6096 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6097
8f03f0b5
CW
60982010-09-22 Colin Watson <cjwatson@ubuntu.com>
6099
6100 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6101 typo in __i386__ conditional.
6102
7835dfd3
VS
61032010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6106 include.
6107
e255597e
VS
61082010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6109
6d0fa83c 6110 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6111
6112 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6113 new tags as supported.
6114 (acpiv2_size): New function.
6115 (grub_multiboot_get_mbi_size): Take new tags into account.
6116 (grub_multiboot_make_mbi): Add new tags.
6117 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6118
6cc14051 61192010-09-21 Aleš Nesrsta <starous@volny.cz>
6120
6121 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6122 Added missing configuration of USB device.
6123
df7769d8
CW
61242010-09-21 Colin Watson <cjwatson@ubuntu.com>
6125
6126 * grub-core/normal/menu_entry.c (run): Make sure we always return
6127 a value.
6128
b031012d
CW
61292010-09-21 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6132 NumberOfPages is UINT64 according to the UEFI specification, not
6133 UINTN. Fix printf format.
6134
174de8f3
CW
61352010-09-21 Colin Watson <cjwatson@ubuntu.com>
6136
6137 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6138 `err' to grub_usb_err_t.
6139 Reported and tested by: KESHAV P.R.
6140
d7dbe923
CW
61412010-09-21 Colin Watson <cjwatson@ubuntu.com>
6142
6143 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6144 tpart non-const, so that we can assign to it. (Since this is a
6145 typedef, the constness refers to the pointer rather than what it
6146 points to.)
6147
8d5e2af3
CW
61482010-09-21 Colin Watson <cjwatson@ubuntu.com>
6149
6150 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6151 $(top_srcdir)/grub-core/gnulib as well as
6152 $(top_builddir)/grub-core/gnulib.
6153 Reported by: KESHAV P.R.
6154
5c527783
CW
61552010-09-21 Colin Watson <cjwatson@ubuntu.com>
6156
6157 * util/grub-install.in: Fix the bootloader ID option to be
6158 consistently --bootloader-id, not --bootloader_id.
6159 Reported by: KESHAV P.R.
6160
d309a16e
CW
61612010-09-21 Colin Watson <cjwatson@ubuntu.com>
6162
6163 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6164 check hash checksum." consistently translatable.
6165
b830cd16
YB
61662010-09-21 Yves Blusseau <blusseau@zetam.org>
6167
6168 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6169 $(top_builddir).
6170
c4fe27a8
CW
61712010-09-21 Colin Watson <cjwatson@ubuntu.com>
6172
6173 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6174 (GRUB_MOD_INIT): Register sha1sum command.
6175 (GRUB_MOD_FINI): Unregister sha1sum command.
6176
a4c1d277
YB
61772010-09-21 Yves Blusseau <blusseau@zetam.org>
6178
6179 Keep boot and grub directory names in sync with utils scripts
6180
6181 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6182 * config.h.in: Add previous macros.
6183 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6184 * util/grub-install.in: Use $bootdir and $grubdir variables.
6185
4eff79d2
CW
61862010-09-21 Colin Watson <cjwatson@ubuntu.com>
6187
6188 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6189 convert partition names to disk names if the new `convert' parameter
6190 is set.
6191 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6192 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6193 disk in its own right. This can happen with Xen disk images.
6194
934d7e44
YB
61952010-09-21 Yves Blusseau <blusseau@zetam.org>
6196
6197 * util/grub-editenv.c: Update strings to avoid warnings when generating
6198 grub.pot file.
6199 * util/grub-setup.c: Likewise.
934d7e44 6200
df3367cc
VS
62012010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * configure.ac: Change version to 1.99~beta0.
6204
77a94e98
VS
62052010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6208 Add BADRAM.
6209 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6210 Likewise.
6211 * include/multiboot.h: Resynced with specification.
6212 * include/multiboot2.h: Likewise.
6213
269004c1
CW
62142010-09-21 Colin Watson <cjwatson@ubuntu.com>
6215
6216 Fix po directory handling.
6217
6218 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6219 * grub-core/gnulib/Makefile.am: Import gettext module.
6220 * m4/gnulib-cache.m4: Likewise.
6221 * m4/gnulib-comp.m4: Likewise.
6222 * m4/gettext.m4: New file, from gnulib.
6223 * m4/glibc2.m4: Likewise.
6224 * m4/iconv.m4: Likewise.
6225 * m4/intdiv0.m4: Likewise.
6226 * m4/intl.m4: Likewise.
6227 * m4/intldir.m4: Likewise.
6228 * m4/intlmacosx.m4: Likewise.
6229 * m4/intmax.m4: Likewise.
6230 * m4/inttypes-pri.m4: Likewise.
6231 * m4/lcmessage.m4: Likewise.
6232 * m4/lib-ld.m4: Likewise.
6233 * m4/lib-link.m4: Likewise.
6234 * m4/lib-prefix.m4: Likewise.
6235 * m4/lock.m4: Likewise.
6236 * m4/nls.m4: Likewise.
6237 * m4/po.m4: Likewise.
6238 * m4/printf-posix.m4: Likewise.
6239 * m4/progtest.m4: Likewise.
6240 * m4/threadlib.m4: Likewise.
6241 * m4/uintmax_t.m4: Likewise.
6242 * m4/visibility.m4: Likewise.
6243 * po/Makefile.am: Remove.
6244 * po/Makefile.in.in: New file, from gettext.
6245 ($(DOMAIN).pot-update): Support POTFILES-shell.
6246 * po/Makevars: New file.
6247 * po/POTFILES-shell: Rename to ...
6248 * po/POTFILES-shell.in: ... this. Update.
6249 * po/POTFILES: Rename to ...
6250 * po/POTFILES.in: ... this. Update.
6251 * po/Rules-quot: New file, from gettext.
6252 * po/boldquot.sed: Likewise.
6253 * po/en@boldquot.header: Likewise.
6254 * po/en@quot.header: Likewise.
6255 * po/insert-header.sin: Likewise.
6256 * po/quot.sed: Likewise.
6257 * po/remove-potcdate.sin: Likewise.
6258
3e0fa5d0
VS
62592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6262
ade9bd66
VS
62632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * util/grub.d/20_linux_xen.in: Use submenus.
6266
fc55cc4c
VS
62672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 Support submenus.
6270
6271 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6272 parameter submenu. All users updated.
6273 * grub-core/normal/main.c (free_menu): Rename to ...
6274 (grub_normal_free_menu): ... this. Made global.
6275 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6276 if requested.
6277 * grub-core/normal/menu_entry.c (screen): New field submenu.
6278 (make_screen): Set submenu.
6279 (run): Open new context if requested.
6280 * include/grub/menu.h (grub_menu_entry): New field submenu.
6281 * include/grub/normal.h (grub_normal_free_menu): New proto.
6282
600cedf7
VS
62832010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 Menu entries extractor.
6286
6287 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6288 variants.
6289 (GRUB_MOD_INIT): Register new variants.
6290 (GRUB_MOD_FINI): Unregister new variants.
6291 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6292 into grub_cmd_legacy_source.
6293 (grub_cmd_legacy_source): Implement extractor variants.
6294 (GRUB_MOD_INIT): Register new variants.
6295 (GRUB_MOD_FINI): Unregister new variants.
6296 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6297 as an extractor.
6298 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6299 search as an extractor.
6300 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6301 test as an extractor.
6302 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6303 as an extractor.
6304 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6305 (grub_env_new_context): New function.
6306 (grub_env_context_open): Likewise.
6307 (grub_env_extractor_open): Likewise.
6308 (grub_env_extractor_close): Likewise.
6309 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6310 grub_extractor_level.
6311 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6312 * include/grub/env.h (grub_env_extractor_open): New proto.
6313 (grub_env_extractor_close): Likewise.
6314 * include/grub/normal.h (grub_extractor_level): New external variable.
6315
7bda3a87
VS
63162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 Make cutmem accept a region specification.
6319 Suggested by: Samuel Thibault
6320
6321 * grub-core/mmap/mmap.c (parsemem): New function.
6322 (grub_cmd_cutmem): Handle new arguments.
6323
2ea57f88
VS
63242010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 New command cutmem.
6327
6328 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6329 (GRUB_MOD_INIT): Register new command.
6330 (GRUB_MOD_FINI): Unregister new command.
6331
74342e31
VS
63322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 Support some annoying BSD and Minix subpartitions.
6335
6336 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6337 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6338 Properly handle concatenation.
6339 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6340 * grub-core/normal/completion.c (iterate_partition): Likewise.
6341 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6342 contain partition. All users updated.
6343 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6344 struct.
6345 (grub_openbsdlabel_partition_map): Likewise.
6346 (bsdlabel_partition_map_iterate): Rename to ..
6347 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6348 (bsdlabel_partition_map_iterate): New function.
6349 (netopenbsdlabel_partition_map_iterate): Likewise.
6350 (netbsdlabel_partition_map_iterate): Likewise.
6351 (openbsdlabel_partition_map_iterate): Likewise.
6352 (GRUB_MOD_INIT): Register new partmaps.
6353 (GRUB_MOD_FINI): Unregister new partmaps.
6354 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6355 (grub_partition_msdos_iterate): ... this. All users updated.
6356 Don't support embedding other than in a minix partition.
6357 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6358 proto.
6359 * include/grub/partition.h (grub_partition): New field msdostype.
6360 * util/grub-install.in: Handle openbsd and netbsd types being in
6361 part_bsd module.
6362
1e8d555b
VS
63632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6366
6367 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6368 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6369 (mdraid09): ... this.
6370 (mdraid1x): New module.
6371 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6372 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6373
899d8af4
VS
63742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6375
6376 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6377 vsprintf.
6378
40901acd
CW
63792010-09-20 Colin Watson <cjwatson@ubuntu.com>
6380
6381 * grub-core/commands/efi/lsefimmap.c: Correct header.
6382 * NEWS: Update.
6383
dfe3b247
CW
63842010-09-20 Colin Watson <cjwatson@ubuntu.com>
6385
6386 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6387 as printf format strings; the translations might contain '%' which
6388 could cause a crash.
6389 (main): Likewise.
6390 * util/grub-fstest.c (argp_parser): Likewise.
6391 * util/grub-setup.c (argp_parser): Likewise.
6392 (main): Likewise.
6393
3286a4b4
VS
63942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Use argp in grub-fstest.
6397
6398 * util/grub-fstest.c: Don't include getopt.h.
6399 Include argp.h.
6400 (root): New variable.
6401 (args_count): Likewise.
6402 (nparm): Likewise.
6403 (num_disks): Likewise.
6404 (images): Likewise.
6405 (cmd): Likewise.
6406 (debug_str): Likewise.
6407 (args): Likewise.
6408 (options): Transformed to argp.
6409 (usage): Removed.
6410 (main): Split argument parsing into ...
6411 (argp_parser): ... this. Changed to argp format.
6412 (argp): New variable.
6413 (main): Use argp_parse.
6414
3dccbe4b
TG
64152010-09-20 Tristan Gingold <gingold@free.fr>
64162010-09-20 Robert Millan <rmh.grub@aybabtu.com>
64172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 * grub-core/commands/efi/lsefimmap.c: New file.
6420 * grub-core/Makefile.core.def (lsefimmap): New module.
6421 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6422
38c259a7
VS
64232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 Pause the execution (10s max) if any errors are displayed so the user
6426 has a chance to see them.
6427
6428 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6429 (grub_print_error): Increment grub_err_printed_errors.
6430 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6431 execution if any errors were displayed.
6432 (show_menu): Remove old code for pause.
6433 * grub-core/normal/menu_entry.c (run): Likewise.
6434 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6435 users updated.
6436 (grub_normal_get_char_counter): Likewise.
6437 * include/grub/err.h (grub_err_printed_errors): New external variable.
6438 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6439
f218b09c
VS
64402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 Support multiboot VBE info.
6443
6444 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6445 Take VBE info into account.
6446 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6447 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6448 Call fill_vbe_info when appropriate.
6449 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6450 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6451 as supported.
6452 (grub_multiboot_get_mbi_size): Take new tags into account.
6453 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6454 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6455 Call fill_vbe_tag when appropriate.
6456 (grub_multiboot_make_mbi): Properly align tags.
6457 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6458 function.
6459 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6460 proto.
6461 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6462
a9cc5438
VS
64632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Suport manual terminal geometry specification.
6466
6467 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6468 Save state in grub_ofconsole_terminfo_output.
6469 (grub_ofconsole_term): Use grub_terminfo_getwh.
6470 (grub_ofconsole_getwh): Removed.
6471 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6472 (grub_serial_term): Use grub_terminfo_getwh.
6473 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6474 (options): New struct.
6475 (OPTION_*): New enum.
6476 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6477 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6478 width and height.
6479 (grub_terminfo_getwh): New proto.
6480 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6481
1a8fed20
VS
64822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 Handle legacy "terminal" command.
6485
6486 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6487 and FLAG_TERMINAL.
6488 (legacy_commands): Add terminal and title.
6489 (grub_legacy_parse): Handle terminal. Simplify title handling.
6490
41e9c57d
VS
64912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
6494 parameters overflow.
6495
61c874c5
CW
64962010-09-20 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
6499 widthspec.h.
6500
6501 * docs/grub.texi (Shell-like scripting): Document `!'.
6502 (Network): Simplify using new i386-pc-pxe format. Mention
6503 grub-mknetdir.
6504
6505 * NEWS: Update.
6506
943682b4
CW
65072010-09-20 Colin Watson <cjwatson@ubuntu.com>
6508
6509 * Makefile.am (SUBDIRS): Restore "."; it's important to force
6510 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
6511 when needed.
6512
6d3d698d
CW
65132010-09-20 Colin Watson <cjwatson@ubuntu.com>
6514
6515 * grub-core/commands/efi/lsefisystab.c: Correct header.
6516 * grub-core/commands/efi/lssal.c: Likewise.
6517 * grub-core/commands/testload.c: Likewise.
6518
c982589f
CW
65192010-09-20 Colin Watson <cjwatson@ubuntu.com>
6520
6521 * util/grub-mkrescue.in: Add explicit root argument to --set to
6522 prevent the UUID being interpreted as an argument to --set (matches
6523 previous change to prepare_grub_to_access_device).
6524
a63c31b6
CW
65252010-09-20 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
6528 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
6529 the verbosity of later #ifs.
6530 (find_partition_start): Define this function on FreeBSD too.
6531 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
6532 function.
6533 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
6534 on FreeBSD.
6535
6439b8ee
YB
65362010-09-20 Yves Blusseau <blusseau@zetam.org>
6537
6538 * util/grub-editenv.c: Use argp instead of getopt.
6539
c5930ec8
YB
65402010-09-20 Yves Blusseau <blusseau@zetam.org>
6541
6542 * util/grub-setup.c: Use argp instead of getopt.
6543
15c69261
YB
65442010-09-20 Yves Blusseau <blusseau@zetam.org>
6545
6546 Use gnulib-tool to create gnulib source files.
6547
6548 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
6549 grub-core/gnulib directories
6550 * .bzignore: Add **/.deps and autogenerated gnulib files
6551 * configure.ac: Assign auxiliary directory to build-aux, add invocation
6552 of gnulib macros, add grub-core/gnulib/Makefile
6553 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
6554 include m4 directory to aclocal.
6555 * Makefile.util.def: Remove direct compilation of gnulib source files
6556 and use the new grub-core/gnulib/libgnu.a.
6557 * build-aux/config.rpath: move config.rpath from top directory to
6558 build-aux
6559 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
6560 in gnulib headers
6561 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
6562 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
6563 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
6564 header.
6565 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
6566 string.
6567
e511c9f5
YB
65682010-09-20 Yves Blusseau <blusseau@zetam.org>
6569
6570 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
6571 grub-core/genmod.sh and grub-core/gensyminfo.sh
6572
c2dede05
BC
65732010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
6574
6575 Add a test for echo command options.
6576
6577 * tests/grub_cmd_echo.in: New test.
6578 * Makefile.util.def: Rules for new test.
6579
c55f5018
SJ
65802010-09-20 Szymon Janc <szymon@janc.net.pl>
6581
6582 Remove crc.mod and move crc command to hashsum.mod.
6583 Remove lib/crc.c - users updated to use gcrypt implementation.
6584
6585 * grub-core/commands/crc.c: Removed.
6586 * grub-core/Makefile.core.def (crc): Module removed.
6587 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
6588 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
6589 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
6590 * grub-core/lib/crc.c: Removed.
6591 * include/grub/lib/crc.h: Removed.
6592 * Makefile.util.def (crc): Remove lib/crc.c
6593 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
6594 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
6595 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
6596 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
6597 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
6598 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
6599
e0337366
VS
66002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
6603
742f9232
VS
66042010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 Split config.h for util and core.
6607
6608 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
6609 (ADDR32): Likewise.
6610 (DATA32): Likewise.
6611 (BSS_START_SYMBOL): Likewise.
6612 (END_SYMBOL): Likewise.
6613 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
6614 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
6615 * config.h.in: New file.
6616 * configure.ac: Use config-util.h as config define file.
6617 Rename MACHINE into GRUB_MACHINE. All users updated.
6618 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
6619 updated.
6620 (NESTED_FUNC_ATTR): Likewise.
6621 Substitue new variables.
6622 (COND_HAVE_ASM_USCORE): New conditional.
6623 * grub-core/Makefile.am (ASM_PREFIX): New variable.
6624 (kernel_syms.lst): Use ASM_PREFIX.
6625 * grub-core/kern/emu/console.c: Include config-util.h.
6626 * grub-core/kern/emu/misc.c: Likewise.
6627 * grub-core/kern/emu/mm.c: Likewise.
6628 * include/grub/emu/misc.h: Likewise.
6629 * include/grub/libgcc.h: Likewise.
6630
39feb0e8
VS
66312010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6632
6633 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
6634 constants usage.
6635 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
6636 Fix GRUB_TERM_KEY_* constants usage.
6637 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
6638
9af6dac3
VS
66392010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6640
6641 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
6642 print pointer.
6643 * grub-core/bus/usb/uhci.c: Remove empty define.
6644 (grub_uhci_check_transfer): Add missing cast.
6645 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
6646 print pointer.
6647 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
6648 PRIuGRUB_SIZE.
6649 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
6650
d6d94820
VS
66512010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/Makefile.core.def (legacycfg): Add
6654 lib/i386/pc/vesa_modes_table.c on emu.
6655
3572f2b6
BC
66562010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6657
6658 Reduce number of temporary files generated by build system.
6659
6660 * grub-core/gencmdlist.sh: Removed.
6661 * grub-core/genfslist.sh: Removed.
6662 * grub-core/genhandlerlist.sh: Removed.
6663 * grub-core/genmodsrc.sh: Removed.
6664 * grub-core/genpartmaplist.sh: Removed.
6665 * grub-core/genparttoollist.sh: Removed.
6666 * grub-core/gentermiinallist.sh: Removed.
6667 * grub-core/genvideolist.sh: Removed.
6668
6669 * grub-core/genmod.sh.in: New file.
6670 * grub-core/gensyminfo.sh.in: New file.
6671
6672 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
6673 * conf/Makefile.extra-dist: Update with new files.
6674 * gentpl.py: Remove rules related to unnecessary temporary files.
6675 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
6676 and und-* files.
6677 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
6678 genmod.sh scripts.
6679 * grub-core/bus/usb/uhci.c: Remove empty #define.
6680 * grub-core/genmoddep.awk: Updated with new syminfo format.
6681 * util/bash-completion.d/Makefile.am: Add config.log to
6682 CLEANFILES.
6683
c836b030
YB
66842010-09-19 Yves Blusseau <blusseau@zetam.org>
6685
6686 * Makefile.util.def: Add forgotten $(LIBINTL) library.
6687
2f4e8053
BC
66882010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
6689
6690 * util/grub-mkconfig.in: Check the config script for syntax errors
6691 before saving.
6692
75831c34
CW
66932010-09-19 Colin Watson <cjwatson@ubuntu.com>
66942010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * Makefile.util.def (grub-install): Use util/grub-install.in on all
6697 platforms.
6698 * util/grub-install.in: Add EFI and IEEE1275 support.
6699 * util/i386/efi/grub-install.in: Removed.
6700 * util/ieee1275/grub-install.in: Likewise.
6701
eaf41b25
VS
67022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
6705 (grub_cmd_cmosclean): Likewise.
6706 (GRUB_MOD_INIT): Register command cmosclean.
6707 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
6708 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
6709
1a9130dd
CPE
67102010-09-18 Carles Pina i Estany <carles@pina.cat>
67112010-09-18 Aleš Nesrsta <starous@volny.cz>
67122010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Add keyboard layouts support.
6715
6716 * Makefile.util.def (grub-mklayout): New file.
6717 (grub-kbdcomp): New script.
6718 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
6719 Add keyboard_layouts.h.
6720 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
6721 commands/boot.c on yeeloong.
6722 (keylayouts): New module.
6723 * grub-core/bus/usb/ohci.c
6724 * grub-core/bus/usb/uhci.c
6725 * grub-core/bus/usb/usbhub.c (rescan): New variable.
6726 (grub_usb_add_hub): Poll interrupt pipe for device handling.
6727 (attach_root_port): Likewise.
6728 (poll_nonroot_hub): Likewise.
6729 (grub_usb_poll_devices): Likewise.
6730 (detach_device): Close transfer.
6731 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
6732 function.
6733 (grub_usb_bulk_setup_readwrite): Likewise.
6734 (grub_usb_bulk_finish_readwrite): Likewise.
6735 * grub-core/commands/keylayouts.c: New file.
6736 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6737 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6738 aliases.
6739 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6740 support scancode 2.
6741 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6742 * include/grub/keyboard_layouts.h: New file.
6743 * util/grub-mklayout.c: New file.
6744 * util/grub-kbdcomp.in: Likewise.
6745
a1d84a5e
VS
67462010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6747
6748 Unify memory types.
6749
6750 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6751 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6752 types.
6753 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6754 (grub_upper_mem): Likewise.
6755 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6756 * include/grub/memory.h (grub_memory_type_t): New enum.
6757 All users updated.
6758
9696382e
VS
67592010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/Makefile.core.def (lsapm): New module.
6762 * grub-core/commands/i386/pc/lsapm.c: New file.
6763 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6764 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6765 Likewise.
6766 * include/grub/i386/pc/apm.h: New file.
6767 * include/multiboot.h (multiboot_apm_info): New struct.
6768
67692010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 GRUB-legacy configuration file support.
6772
6773 * Makefile.util.def (grub-menulst2cfg): New util.
6774 * docs/man/grub-menulst2cfg.h2m: New file.
6775 * grub-core/Makefile.core.def (legacycfg): New module.
6776 * grub-core/commands/legacycfg.c: New file.
6777 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6778 (grub_normal_add_menu_entry): ... this.
6779 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6780 (grub_normal_set_password): ...this.
6781 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6782 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
6783 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
6784 * grub-core/lib/legacy_parse.c: New file.
6785 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
6786 * include/grub/i386/pc/vesa_modes_table.h: New file.
6787 * include/grub/legacy_parse.h: Likewise.
6788 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
6789 * util/grub-menulst2cfg.c: New file.
6790
bf8d1338
CW
67912010-09-17 Colin Watson <cjwatson@ubuntu.com>
6792
6793 * grub-core/kern/emu/hostdisk.c
6794 (convert_system_partition_to_system_disk): Initialise node.
6795
9c0bad2e
CW
67962010-09-17 Colin Watson <cjwatson@ubuntu.com>
6797
6798 * grub-core/kern/emu/hostdisk.c
6799 (convert_system_partition_to_system_disk): Fix devmapper memory pool
6800 leak.
6801 Reported and based on patch by: Modestas Vainius.
6802
a939d135
CW
68032010-09-17 Colin Watson <cjwatson@ubuntu.com>
6804
6805 Fix DM-RAID probing with recent versions of device-mapper udev
6806 rules.
6807
6808 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
6809 canonicalise device paths under /dev/mapper/.
6810 (convert_system_partition_to_system_disk): Compare the
6811 uncanonicalised path to /dev/mapper/ rather than the canonicalised
6812 path, since device nodes under /dev/mapper/ are often symlinks.
6813
0f7ee3c9
YB
68142010-09-17 Yves Blusseau <blusseau@zetam.org>
6815
6816 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
6817
10854d0d
YB
68182010-09-16 Yves Blusseau <blusseau@zetam.org>
6819
6820 * configure.ac: Avoid some annoying error messages if freetype-config
6821 program is not found.
6822
108538d8
CW
68232010-09-16 Colin Watson <cjwatson@ubuntu.com>
6824
6825 Support RAID on virtio devices, and others.
6826
6827 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
6828 Rename to ...
6829 [__MINGW32__] (grub_find_device): ... this.
6830 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
6831 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
6832 reasonable default if dir is NULL.
6833 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
6834 ...
6835 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
6836 (grub_guess_root_device): Update callers.
6837 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
6838
6839 * util/raid.c (grub_util_getdiskname): Remove.
6840 (grub_util_raid_getmembers): Use grub_find_device rather than
6841 grub_util_getdiskname.
6842
e5bfc130
CW
68432010-09-16 Colin Watson <cjwatson@ubuntu.com>
6844
6845 * docs/grub.texi (serial): Remove obsolete comment about GRUB
6846 needing to be compiled with serial support.
6847 (ls): Indicate that multiple files are accepted.
6848 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
6849 indicate that multiple files are accepted.
6850
be458ae2
CW
68512010-09-16 Colin Watson <cjwatson@ubuntu.com>
6852
6853 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
6854 libgrub_a_init.c, and util/bash-completion.d/grub.
6855
cb731b5e
VS
68562010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * util/grub-setup.c (setup): Fix incorrect container semantics.
6859
35139e8a
VS
68602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
6863 misusage.
6864 Reported by: J. Nick Terry
6865
e50fca4a
VS
68662010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 Move embedding routines to partmap sources files.
6869
6870 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
6871 [GRUB_UTIL]: New variable.
6872 (gpt_partition_map_iterate): Set part.parent.
6873 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
6874 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
6875 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
6876 New function.
6877 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
6878 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
6879 (grub_partition_map) [GRUB_UTIL]: New field embed.
6880 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
6881 (setup): Use ->embed.
6882
f00478b7
VS
68832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
6886 function.
6887 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
6888 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
6889
2b94e3ff
YB
68902010-09-15 Yves Blusseau <blusseau@zetam.org>
6891
6892 Add function to get completions from usage.
6893
6894 * util/bash-completion.d/grub-completion.bash.in: Add function to get
6895 completions from usage. Use LC_ALL=C to get options properly.
6896
2e04a006
VS
68972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6898
6899 * grub-core/gnulib/basename-lgpl.c: Imported.
6900 * grub-core/gnulib/basename.c: Likewise.
6901 * grub-core/gnulib/dirname-lgpl.c: Likewise.
6902 * grub-core/gnulib/dirname.c: Likewise.
6903 * grub-core/gnulib/dirname.h: Likewise.
6904 * grub-core/gnulib/stripslash.c: Likewise.
6905
5dcdf93a
VS
69062010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/gnulib/error.c: Resynced.
6909 * grub-core/gnulib/getopt.c: Likewise.
6910 * grub-core/gnulib/getopt_int.h: Likewise.
6911 * grub-core/gnulib/regex.h: Likewise.
6912 * grub-core/gnulib/regex_internal.c: Likewise.
6913 * grub-core/gnulib/regex_internal.h: Likewise.
6914
014f47b7
SJ
69152010-09-15 Szymon Janc <szymon@janc.net.pl>
6916
6917 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
6918 CRC calculations and validity checks.
6919 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
6920 calculations.
6921
dd521a4a
SJ
69222010-09-15 Szymon Janc <szymon@janc.net.pl>
6923
6924 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
6925
79c4eeb9
VS
69262010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 Fix incorrect echo options handling.
6929 Reported by: Yves Blusseau.
6930
6931 * include/grub/command.h (grub_command_flags_t): New flags
6932 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
6933 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
6934 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
6935
ed80f7d5
VS
69362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
6939 users updated.
6940 (GRUB_COMMAND_FLAG_MENU): Likewise.
6941 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6942 (GRUB_COMMAND_FLAG_TITLE): Removed.
6943 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6944 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
6945 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
6946 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
6947 (grub_command_flags_t): New enum. All users updated.
6948
5fe7620a
SG
69492010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
6950
6951 Fix solaris compilation.
6952
6953 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
6954 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
6955 (grub-emu-list): Likewise.
6956
545b752f
VS
69572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 Remove deprecated root command.
6960
6961 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
6962 updated.
6963
6c1a338c
VS
69642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * util/i386/pc/grub-setup.c: Merge this ...
6967 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
6968 * util/grub-setup.c: ... into this.
6969 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
6970 New struct.
6971
69722010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
6975 possible.
6976
d2ea4551
VS
69772010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
6980 allocate p.
6981
3c3b5040
VS
69822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6985 explicit root argument to set to prevent UUID to be interpreted as
6986 argument to set.
6987
b71c3fae
VS
69882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
6991
275433e6
VS
69922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Don't export grub_gate_a20.
6995
6996 * grub-core/kern/i386/pc/init.c: Remove leftovers.
6997 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
6998 to ...
6999 (grub_gate_a20): ... this. All users updated.
7000 * include/grub/i386/pc/init.h: Removed. All users updated.
7001
a5dbb1f1
VS
70022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7003
7004 Create euro.pf2 which supports most European languages.
7005
7006 * Makefile.am (grubdata_DATA): Add euro.pf2.
7007 (euro.pf2): New target.
7008 (CLEANFILES): Add euro.pf2.
7009
62a747cb
VS
70102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * configure.ac: Disable emu-usb by default to prevent inadvertent
7013 device takeover.
7014
608e43b1
VS
70152010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 Disable usbserial on grub-emu since our libusb code isn't good enough
7018 yet.
7019
7020 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7021 (usbserial_pl2303): Likewise.
7022 (usbserial_ftdi): Likewise.
7023
94564f81
VS
70242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * include/grub/disk.h (grub_disk): Remove has_partitions.
7027 All users updated.
7028 * disk/loopback.c (grub_loopback): Remove has_partitions.
7029 All users updated.
7030 (options): Remove partitions. All users updated.
7031 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7032 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7033 actual partition table is found.
7034
3352800b
VS
70352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Remove readability checks (too many false negatives).
7038
7039 * util/grub-install.in: Remove readability checks.
7040 * util/grub-mkconfig.in: Likewise.
7041 * util/grub.d/10_hurd.in: Likewise.
7042 * util/grub.d/10_kfreebsd.in: Likewise.
7043 * util/grub.d/10_linux.in: Likewise.
7044 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7045 way.
7046
2419f17a
VS
70472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 Enable acpi shutdown on all ACPI platforms.
7050
7051 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7052 on coreboo, multiboot and EFI.
7053 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7054 (grub_acpi_halt): Likewise.
7055 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7056 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7057 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7058 * grub-core/lib/i386/halt.c (grub_halt)
7059 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7060
0575c7c3
VS
70612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7064 context.
7065
54ac3cd1
VS
70662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7067
7068 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7069 * grub-core/video/efi_uga.c: Likewise.
7070
b2a30ac5
VS
70712010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 Filter devaliases and never open same device twice.
7074
7075 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7076 (last_ihandle): Likewise.
7077 (ofdisk_hash_ent): New member shortest.
7078 (ofdisk_hash_add): Add canonical path too.
7079 (scan): New function.
7080 (grub_ofdisk_iterate): Iterate over hashed entries.
7081 (compute_dev_path): Don't add :0.
7082 (grub_ofdisk_open): Don't really open the disk.
7083 (grub_ofdisk_close): Avoid closing unrelated disk.
7084 (grub_ofdisk_read): Implement reopen logic.
7085 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7086 New function.
7087 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7088 New proto.
7089
fb53b340
VS
70902010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 Fix sparc64.
7093
7094 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7095 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7096 right address. Add sparc64_ieee1275_ldflags.
7097 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7098 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7099 to grub_host_to_target_addr
7100 (load_image): Likewise.
7101
f452b040
VS
71022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/normal/completion.c (complete_file): Handle device
7105 containing slash.
7106 Fix based on patch by Doug Nazar.
7107
9b5b2541
VS
71082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 grub-mknetdir script.
7111
7112 * Makefile.util.def (grub-mknetdir): New module.
7113 * tests/util/grub-shell.in: Support boot=net
7114 * util/grub-mknetdir.in: New file.
7115
9d2be652
VS
71162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 videoinfo on non-vbe.
7119
7120 * grub-core/Makefile.core.def (vbeinfo): Removed.
7121 (vbetest): Removed.
7122 (videoinfo): New module.
7123 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7124 * grub-core/commands/i386/pc/vbetest.c: Removed.
7125 * grub-core/commands/videoinfo.c: New file.
7126 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7127 specification.
7128 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7129 as vbetest.
7130 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7131 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7132 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7133 mode_number. New parameter mode. All users updated.
7134 (grub_video_gop_iterate): New function.
7135 (grub_video_efi_gop): New member iterate.
7136 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7137 (grub_vbe_set_video_mode): Remove setting useless fields.
7138 (vbe2videoinfo): New function.
7139 (grub_video_vbe_iterate): Likewise.
7140 (grub_video_vbe_setup): Use vbe2videoinfo.
7141 (grub_video_vbe_print_adapter_specific_info): New function.
7142 (grub_video_vbe_adapter): New fields iterate and
7143 print_adapter_specific_info.
7144 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7145 All users updated.
7146 (grub_video_mode_info): New field mode_number.
7147 (grub_video_adapter): New fields iterate and
7148 print_adapter_specific_info.
7149
179503f5
TG
71502010-09-13 Tristan Gingold <gingold@free.fr>
71512010-09-13 Robert Millan <rmh.grub@aybabtu.com>
71522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/commands/efi/lsefisystab.c: New file.
7155 * grub-core/commands/efi/lssal.c: Likewise.
7156 * grub-core/Makefile.core.def (lsacpi): New module.
7157 (lsefisystab): Likewise.
7158 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7159 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7160 (grub_efi_sal_system_table): New struct.
7161 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7162 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7163 (grub_efi_sal_system_table_platform_features): Likewise.
7164 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7165 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7166 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7167 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7168
cf9827de
VS
71692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7170
7171 Support explicit user claim that a device is BIOS-visible.
7172
7173 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7174 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7175 * grub-core/kern/emu/hostdisk.c
7176 (convert_system_partition_to_system_disk): Support mdX.
7177 (find_system_device): New parameter add. All users updated.
7178 (grub_util_biosdisk_is_present): New function.
7179 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7180 proto.
7181
53f0eb1f
VS
71822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 Search hints support.
7185
7186 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7187 All users updated.
7188
b23ffd70
YB
71892010-09-13 Yves Blusseau <blusseau@zetam.org>
7190
7191 Bash completion script for util commands
7192
7193 * Makefile.am: Add util/bash-completion.d directory
7194 * configure.ac: Likewise.
7195 * util/bash-completion.d/Makefile.am: New file.
7196 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7197
d547dc28
VS
71982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7201 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7202 Reported by: Yves Blusseau.
7203
2fc8ccb9
VS
72042010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7207 partition size and offset.
7208
d8a84076
VS
72092010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7212
84fb3b3d
VS
72132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7216
768ec2e2
VS
72172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7220 (grub_xvasprintf): Likewise.
7221
4870900f
VS
72222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7223
7224 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7225
faca6bec
VS
72262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7229 args ending with NULL.
7230
72312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7232
7233 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7234 pointer.
7235
3c70f225
SJ
72362010-09-11 Szymon Janc <szymon@janc.net.pl>
7237
7238 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7239
4df7996d
VS
72402010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 Shutdown using ACPI.
7243
7244 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7245 * grub-core/commands/acpihalt.c: New file.
7246 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7247 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7248 (grub_acpi_halt): New proto.
7249 (GRUB_ACPI_SLP_EN): New const.
7250 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7251 (GRUB_ACPI_OPCODE_*): New enum.
7252 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7253
126b4c32
TG
72542010-09-11 Tristan Gingold <gingold@free.fr>
72552010-09-11 Robert Millan <rmh.grub@aybabtu.com>
72562010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * commands/lsacpi.c: New file.
7259 * grub-core/Makefile.core.def (lsacpi): New module.
7260 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7261 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7262 (grub_acpi_madt_entry_header): New struct.
7263 (grub_acpi_madt): Likewise.
7264 (grub_acpi_madt_entry_interrupt_override): Likewise.
7265 (grub_acpi_madt_entry_sapic): Likewise.
7266 (grub_acpi_madt_entry_lsapic): Likewise.
7267 (grub_acpi_madt_entry_platform_int_source): Likewise.
7268 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7269 (PRIuGRUB_UINT32_T): Likewise.
7270 (PRIxGRUB_UINT64_T): Likewise.
7271
1aa4fe88
VS
72722010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 Implement loading palette on ieee1275_fb.
7275
7276 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7277 (have_setcolors): Likewise.
7278 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7279 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7280 (grub_video_ieee1275_set_palette): Implement.
7281
25761e13
VS
72822010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
72832010-09-11 Colin Watson <cjwatson@ubuntu.com>
7284
7285 * util/grub-install.in (grub_partition): New variable.
7286 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7287 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7288 Fixes a bug reported by Yves Blusseau.
7289
050abaea
VS
72902010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7291
7292 Fix emu on mipsel.
7293
7294 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7295 =grub_cpu_flush_cache on all mips and not only yeeloong.
7296 * configure.ac (COND_mips): New conditional.
7297 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7298 platforms.
7299 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7300 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7301 [GRUB_LINKER_HAVE_INIT]: New function.
7302 (grub_emu_post_init): Likewise.
7303 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7304 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7305 * include/grub/cache.h (_mips): Include mips/cache.h.
7306 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7307 LVM and RAID prototypes.
7308 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7309 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7310 function.
7311
5ed7d816
CW
73122010-09-10 Colin Watson <cjwatson@ubuntu.com>
7313
7314 * util/grub-install.in: Don't try to verify core.img until after
7315 running grub-mkimage to create it.
7316
90367e04
RM
73172010-09-10 Robert Millan <rmh@gnu.org>
7318
7319 * util/grub.d/10_hurd.in: Add misc readability checks.
7320 * util/grub.d/10_kfreebsd.in: Likewise.
7321 * util/grub.d/10_linux.in: Likewise.
7322
c452fa66
CW
73232010-09-10 Colin Watson <cjwatson@ubuntu.com>
7324
7325 * util/grub-install.in: ${imgext} won't be defined here until the
7326 install branch is merged. For the meantime, only verify core.img on
7327 i386-pc and sparc64-ieee1275 platforms.
7328
c38fe9f4
RM
73292010-09-10 Robert Millan <rmh@gnu.org>
7330
7331 Solaris support in grub_find_zpool_from_dir(). Thanks
7332 Seth Goldberg for referring to getextmntent() facility.
7333
7334 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7335 `sys/mkdev.h'.
7336 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7337 `<sys/mnttab.h>'.
7338 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7339 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7340 method for finding zpool name.
7341
905f7773
CW
73422010-09-10 Colin Watson <cjwatson@ubuntu.com>
7343
7344 grub-fstest needs the host and hostfs modules while other utilities
7345 actively require those modules to be absent, so grub-fstest needs
7346 its own initialisation and finalisation code.
7347
7348 * Makefile.am (grub_fstest.pp): New target.
7349 (grub_fstest_init.lst): Likewise.
7350 (grub_fstest_init.c): Likewise.
7351 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7352
fb90b546
RM
73532010-09-10 Robert Millan <rmh@gnu.org>
7354
7355 * configure.ac: Check for `struct statfs.f_fstypename' and
7356 `struct statfs.f_mntfromname'.
7357
7358 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7359 kFreeBSD-specific code.
7360
66d4bea5
RM
73612010-09-10 Robert Millan <rmh@gnu.org>
7362
7363 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7364 on ZFS. Now non-main filesystems are supported as / too.
7365
b6a690ee
CW
73662010-09-09 Colin Watson <cjwatson@ubuntu.com>
7367
7368 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7369 and grub-core/disk/host.c to ...
7370 (grub-fstest): ... here. Having the host disk implementation
7371 present confuses grub-probe and other utility programs.
7372
7373 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7374 when writing to a file, not when writing to stdout.
7375
8901b00c 73762010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7377
7378 * tests/partmap_test.in: New test for partitions.
7379 * Makefile.util.def: Rules for new test.
7380
7bf45fdd
RM
73812010-09-09 Robert Millan <rmh@gnu.org>
7382
7383 * util/grub-probe.c (probe): Fix a pair of unhandled error
7384 conditions.
7385
4dfbc574
RM
73862010-09-09 Robert Millan <rmh@gnu.org>
7387
7388 Basic Btrfs support (detection and UUID).
7389
7390 * grub-core/fs/btrfs.c: New file.
7391 * Makefile.util.def (library): Register btrfs.c.
7392 * grub-core/Makefile.core.def: Likewise.
7393
6b8e78ae
RM
73942010-09-08 Robert Millan <rmh@gnu.org>
7395
7396 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7397 with (optional) parameters to specify device and relative path.
7398 * util/grub-install.in: Use is_path_readable_by_grub() to
7399 verify readability of a few critical files.
7400 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7401 verify readability of grub.cfg.new.
7402
27f21a8b
VS
74032010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 Split minix.mod into minix.mod and minix2.mod.
7406
7407 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7408 * grub-core/Makefile.core.def (minix2): New module.
7409 * grub-core/fs/minix.c: Use definitions instead of runtime version
7410 checking.
7411 * grub-core/fs/minix2.c: New file.
7412
c0e53ea5
YB
74132010-09-08 Yves Blusseau <blusseau@zetam.org>
7414
7415 Add new --boot-directory option to replace --root-directory
7416
7417 * util/grub-install.in: Add new --boot-directory option
7418 * util/grub-reboot.in: Likewise.
7419 * util/grub-set-default.in: Likewise.
7420
b9fe6ea2
YB
74212010-09-08 Yves Blusseau <blusseau@zetam.org>
7422
7423 * util/grub-mkconfig.in: Use new variable.
7424
d87aedff
YB
74252010-09-08 Yves Blusseau <blusseau@zetam.org>
7426
7427 * configure.ac: Define some useful variables.
7428
e55e8495
VS
74292010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7432 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7433 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7434 Use terminfo and don't use cursor-on/cursor-off unless it's known
7435 to work.
7436 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7437 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7438
6fa6d675
CW
74392010-09-08 Colin Watson <cjwatson@ubuntu.com>
7440
7441 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7442 starts with "(,", fill the drive containing the loaded image in
7443 between those two characters, but expect that a full partition
7444 specification including partition map names will follow.
7445
92f2aef0
RM
74462010-09-08 Robert Millan <rmh@gnu.org>
7447
7448 * configure.ac: Remove `--enable-grub-fstest' option.
7449 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7450
7451 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7452 `grub-fstest' instead of `grub-probe' for readability verification.
7453 * util/grub-probe.c (probe): Remove readability verification kludge.
7454
99fd620d
RM
74552010-09-08 Robert Millan <rmh@gnu.org>
7456
7457 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7458 initializing `GRUB_FS'.
7459
058e30ac 74602010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7461
7462 Not command (!) support to GRUB script.
7463
7464 * tests/grub_script_not.in: New test.
7465 * Makefile.util.def: Rules for new test.
7466
7467 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7468 ! command as a special case.
7469 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7470
b61d05ed 74712010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7472
058e30ac 7473 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7474 grub_free.
b61d05ed 7475
4d69c786 74762010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7477
7478 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7479
aa3119c4 74802010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7481
7482 * docs/grub.texi (Shell-like scripting): Documentation for break,
7483 continue, shift and return commands.
7484
db0f7e3d
VS
74852010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 Rename CD-ROM to cd on BIOS.
7488
7489 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
7490 "cd".
7491 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
7492
88b87c93
VS
74932010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7494
7495 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
7496 * util/grub-probe.c (main): Likewise.
7497 * util/i386/pc/grub-setup.c (main): Likewise.
7498 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7499 Reported and debugged by: alexxy
7500
294f324d
VS
75012010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7502
7503 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
7504 diagnostic info.
7505
d7ee3441
JS
75062010-09-05 Jo Shields <directhex@apebox.org>
7507
7508 * util/grub.d/30_os-prober.in: Add missing classes.
7509
d7e06c1f
VS
75102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * docs/grub.texi (Theme file format): Document new position format.
7513
fc157e53
VS
75142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
7517 a table. Use @code instead of @verbatim.
7518
506e9a1c
CB
75192010-09-05 Colin D Bennett <colin@gibibit.com>
7520
7521 Gfxmenu documentation.
7522
7523 * docs/grub.texi (Theme file format): New chapter.
7524
f0aff67c
SJ
75252010-09-05 Szymon Janc <szymon@janc.net.pl>
7526
7527 * grub-core/Makefile.core.def (xzio): New module.
7528 * grub-core/io/xzio.c: New file.
7529 * grub-core/lib/xzembed/xz.h: New file (from xembed).
7530 * grub-core/lib/xzembed/xz_config.h: Likewise.
7531 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
7532 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
7533 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
7534 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
7535 * grub-core/lib/xzembed/xz_private.h: Likewise.
7536 * grub-core/lib/xzembed/xz_stream.h: Likewise.
7537 * include/grub/file.h (grub_file_filter_id): New compression filter
7538 GRUB_FILE_FILTER_XZIO.
7539
82a85062
VS
75402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
7543 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
7544 size.
7545
3579415d
VS
75462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
7549 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
7550
5124ae6d
VS
75512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 Uncompressed checksum support.
7554
7555 * grub-core/commands/hashsum.c (options): Add option --uncompress.
7556 (check_list): New parameter uncompress.
7557 (grub_cmd_hashsum): Handle --uncompress.
7558
9aadb3d1
VS
75592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Reintroduce testload.
7562
7563 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
7564 from here ...
7565 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
7566 (GRUB_MOD_INIT): New function.
7567 (GRUB_MOD_FINI): Likewise.
7568 * grub-core/Makefile.core.def (testload): New module.
7569
a17792c3
SJ
75702010-09-05 Szymon Janc <szymon@janc.net.pl>
7571
7572 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
7573 (uint8_t): New type.
7574 (uint16_t): Likewise.
7575 (uint32_t): Likewise.
7576 (uint64_t): Likewise.
7577
b81e40a3
SJ
75782010-09-05 Szymon Janc <szymon@janc.net.pl>
7579
7580 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
7581
fc2ef117
VS
75822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
7585 Made static.
7586 (grub_gzfile_open): Removed. All users updated.
7587 (GRUB_MOD_INIT): New function.
7588 (GRUB_MOD_FINI): Likewise.
7589 * grub-core/kern/file.c (grub_file_filters_all): New variable.
7590 (grub_file_filters_enabled): Likewise.
7591 (grub_file_open): Handle filters.
7592 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
7593 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
7594 * include/grub/file.h (grub_file_filter_id_t): New type.
7595 (grub_file_filter_t): Likewise.
7596 (grub_file_filters_all): New extern variable.
7597 (grub_file_filters_enabled): Likewise.
7598 (grub_file_filter_register): New inline function.
7599 (grub_file_filter_unregister): Likewise.
7600 (grub_file_filter_disable): Likewise.
7601 (grub_file_filter_disable_compression): Likewise.
7602 * include/grub/gzio.h: Removed.
7603
35ee15e0
BC
76042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7605
7606 Filename expansion support for wildcards in GRUB script.
7607
7608 * tests/grub_script_expansion.in: New test.
7609 * Makefile.util.def: Rule for new test.
7610
7611 * grub-core/commands/wildcard.c: New file, implements filename
7612 expansion support for GRUB script.
7613 * grub-core/Makefile.core.def: Rule update for regexp.mod.
7614 * grub-core/script/argv.c: Cosmetic changes.
7615 * grub-core/script/execute.c (grub_script_arglist_to_argv):
7616 Refactored to perform wildcard expansion on arguments.
7617 * include/grub/script_sh.h (grub_script_wildcard_translator): New
7618 struct.
7619
7620 * tests/util/grub-shell.in: Fix quoting for read input.
7621
5f0c4aca
BC
76222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7623
7624 Support for updating environment variables with matched substrings
7625 of regexp.
7626
7627 * tests/grub_cmd_regexp.in: New test.
7628 * Makefile.util.def: Rule for new test.
7629
7630 * grub-core/commands/regexp.c: New option -s to update environment
7631 variables with regexp matches.
7632
3759a35f
SJ
76332010-09-04 Szymon Janc <szymon@janc.net.pl>
7634
7635 * include/grub/file.h (grub_file): New member not_easly_seekable.
7636 (grub_file_seekable): New inline function.
7637 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
7638 easily seekable.
7639 (grub_gzio_open): Set not_easly_seekable.
7640 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
7641 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
7642
ed8c6dec
BC
76432010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7644
7645 Support for options to appear multiple times on cmdline.
7646
7647 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
7648 * grub-core/commands/extcmd.c: Support for repeatable option.
7649 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
7650 repeatable option support.
7651
7652 Refactor menuentry into a regular command.
7653
7654 * grub-core/commands/menuentry.c: New file, menuentry command
7655 implementation.
7656 * grub-core/Makefile.core.def: Rule update for normal.mod.
7657 * grub-core/normal/main.c: Moved menuentry creation to
7658 grub-core/commands/menuentry.c.
7659 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
7660 (grub_menu_execute_entry_real): Removed.
7661 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
7662 function.
7663 (grub_script_execute_menuentry): Removed.
7664 * grub-core/script/parser.y (menuentry): Removed.
7665 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
7666 * grub-core/script/yylex.l (menuentry): Removed.
7667 * include/grub/menu.h (grub_menu_init): New prototype.
7668 (grub_menu_fini): New prototype.
7669 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
7670 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
7671 (grub_script_execute_sourcecode): New prototype.
7672
dacd0cf0
BC
76732010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7674
7675 "return" command for GRUB script functions.
7676
7677 * tests/grub_script_return.in: New test.
7678 * Makefile.util.def: Rules for new test.
7679
7680 * grub-core/script/execute.c (grub_script_return): New function.
7681 * grub-core/script/main.c: Register/unregister return commaond.
7682 * include/grub/script_sh.h (grub_script_return): New prototype.
7683
52e72f9d
BC
76842010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7685
7686 "setparams" command to update positional parameters.
7687
7688 * tests/grub_script_setparams.in: New test.
7689 * Makefile.util.def: Rules for new test.
7690
7691 * grub-core/script/argv.c (grub_script_argv_make): New function.
7692 * grub-core/script/execute.c (replace_scope): New function.
7693 (grub_script_setparams): New function.
7694 * grub-core/script/lexer.c: Remove unused variables.
7695 * grub-core/script/main.c: Register/unregister setparams command.
7696 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
7697 (grub_script_setparams): New prototype.
7698
25b60c91
BC
76992010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7700
7701 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
7702 grub_free order.
7703
37e7bf68
BC
77042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7705
7706 Support for passing block of commands as an argument to extcmds.
7707
7708 * Makefile.util.def: Rules for new test.
7709 * tests/grub_script_blockarg.in: New test.
7710 * grub-core/tests/test_blockarg.c: New file, block argument
7711 command used in the test.
7712
7713 * include/grub/extcmd.h (grub_extcmd_context): New struct.
7714 (grub_register_extcmd_prio): New function prototype.
7715 (grub_extcmd_dispatcher): New function prototype.
7716 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
7717 type.
7718 * include/grub/script_sh.h (struct grub_script): New members
7719 `children', `next_siblings' and `refcnt' for block arguments and
7720 reference counting.
7721 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
7722 (grub_script_arg): New member `script' for block argument.
7723 (grub_script_argv): New member `script' for block argument.
7724 (grub_parser_param): New member `scripts' for block argument.
7725 (grub_script_mem_free): New extern function prototype.
7726 (grub_script_ref): New function prototype.
7727 (grub_script_unref): New function prototype.
7728
7729 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
7730 extcmd form to support block arguments.
7731 * grub-core/script/argv.c: Block arguments support.
7732 * grub-core/script/execute.c: Likewise.
7733 * grub-core/script/lexer.c: Likewise.
7734 * grub-core/script/main.c: Likewise.
7735 * grub-core/script/script.c: Likewise.
7736 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7737 non-terminals.
7738
7739 * grub-core/commands/acpi.c: Update extcmd implementations with
7740 grub_extcmd_context_t.
7741 * grub-core/commands/cat.c: Likewise.
7742 * grub-core/commands/echo.c: Likewise.
7743 * grub-core/commands/extcmd.c: Likewise.
7744 * grub-core/commands/hashsum.c: Likewise.
7745 * grub-core/commands/hdparm.c: Likewise.
7746 * grub-core/commands/help.c: Likewise.
7747 * grub-core/commands/hexdump.c: Likewise.
7748 * grub-core/commands/i386/cpuid.c: Likewise.
7749 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7750 * grub-core/commands/i386/pc/halt.c: Likewise.
7751 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7752 * grub-core/commands/iorw.c: Likewise.
7753 * grub-core/commands/keystatus.c: Likewise.
7754 * grub-core/commands/loadenv.c: Likewise.
7755 * grub-core/commands/ls.c: Likewise.
7756 * grub-core/commands/lspci.c: Likewise.
7757 * grub-core/commands/memrw.c: Likewise.
7758 * grub-core/commands/probe.c: Likewise.
7759 * grub-core/commands/search_wrap.c: Likewise.
7760 * grub-core/commands/setpci.c: Likewise.
7761 * grub-core/commands/sleep.c: Likewise.
7762 * grub-core/disk/loopback.c: Likewise.
7763 * grub-core/hello/hello.c: Likewise.
7764 * grub-core/loader/i386/bsd.c: Likewise.
7765 * grub-core/loader/xnu.c: Likewise.
7766 * grub-core/term/gfxterm.c: Likewise.
7767 * grub-core/term/serial.c: Likewise.
7768 * grub-core/tests/lib/functional_test.c: Likewise.
7769
888d1500
BC
77702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7771
7772 Multi-line quoted strings support.
7773
7774 * grub-core/script/lexer.c (append_newline): Removed.
7775 (grub_script_lexer_yywrap): Refactored.
7776 (grub_script_lexer_init): Refactored.
7777 * grub-core/script/yylex.l (yywrap): New function.
7778 (grub_lexer_resplit): New function.
7779 (grub_lexer_unput): New function.
7780 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7781 and resplit.
7782 * tests/grub_script_echo1.in: Added few more testcases.
7783
dda060dd
VS
77842010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/kern/misc.c: Don't add abort alias in utils.
7787 Reported by: echoline.
7788
6556eba9
BC
77892010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
7790
7791 Add missing files into "make dist" tarball for other platforms.
7792
7793 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
7794 * conf/Makefile.common (dist_noinst_DATA): New variable.
7795 * conf/Makefile.extra-dist: Added missing make dist files.
7796 * grub-core/Makefile.core.def: Likewise.
7797
c8e7bf5f
VS
77982010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7799
7800 Compress grub_prefix.
7801
7802 * grub-core/boot/i386/pc/lnxboot.S: Use
7803 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
7804 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
7805 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
7806 GRUB_MACHINE_PREFIX_END. All users updated.
7807 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
7808 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
7809 + 0x40.
7810 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7811 * util/grub-mkimage.c (image_target_desc): Change data_end to
7812 prefix_end. All users updated.
7813
a7c00cdb
VS
78142010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
7817 value.
7818 (grub_openbsd_boot): Likewise.
7819 (grub_netbsd_boot): Likewise.
7820 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
7821 (grub_xnu_boot): Likewise.
7822
9f915872
VS
78232010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * configure.ac: Clean LIBS variable after tests.
7826
efa1bee7
CW
78272010-09-02 Colin Watson <cjwatson@ubuntu.com>
7828
7829 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
7830
61d720e5
VS
78312010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7832
7833 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
7834 echo if libdevmapper will be used.
7835
ef8e0ec8
IT
78362010-09-02 Ian Turner <Ian.Turner@deshaw.com>
7837
7838 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
7839 constant for the same file.
7840
03e261d8
VS
78412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7842
7843 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
7844
c2a4eba6
CW
78452010-09-02 Colin Watson <cjwatson@ubuntu.com>
7846
7847 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
7848 grub-core/*.pp.
7849
9056cbf3
CW
78502010-09-02 Colin Watson <cjwatson@ubuntu.com>
7851
7852 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
7853 required by the boot protocol.
7854
7855 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
7856 ebp and edi members.
7857 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
7858 state.ebp and state.edi.
7859 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
7860 %ebp and %edi according to grub_relocator32_ebp and
7861 grub_relocator32_edi respectively.
7862 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
7863 and state.edi.
7864
529cc99a
VS
78652010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 Add i386-pc-pxe image target.
7868
7869 * util/grub-mkimage.c (image_target_desc): New enum value
7870 IMAGE_I386_PC_PXE.
7871 (image_targets): New target i386-pc-pxe.
7872 (generate_image): Handle i386-pc-pxe image.
7873
9a093920
VS
78742010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 Fix grub_pxe_scan.
7877
7878 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
7879 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
7880 All users updated.
7881 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
7882 (grub_pxe_pxenv): Correct type.
7883
f9cefc4e
CW
78842010-09-01 Colin Watson <cjwatson@ubuntu.com>
7885
7886 * NEWS: Document most of the important changes since 1.98.
7887
4066f57f
CW
78882010-09-01 Colin Watson <cjwatson@ubuntu.com>
7889
7890 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
7891 generated manual page) a little.
7892
da2891f9
CW
78932010-09-01 Colin Watson <cjwatson@ubuntu.com>
7894
7895 * docs/grub.texi: Add myself as an author.
7896
ad717fae
VS
78972010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7898
7899 * Makefile.util.def (libgrub.a): Add missing sunpc.
7900 Reported by: Seth Goldberg.
7901
eefe8abd
VS
79022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7903
7904 Interrupt wrapping and code simplifications.
7905
9494ef9a
VS
7906 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
7907 x86_noieee1275 which are functionaly equivalent in this case.
7908 (grub-install): Make source on each platform explicit. Enable on
7909 all noemu.
7910 * gentpl.py (x86_efi_pc): Removed group.
7911 (x86_noefi): Likewise.
7912 (i386_noefi): Likewise.
7913 (x86_noieee1275): Likewise.
7914 (i386_noieee1275): Likewise.
7915 (i386_noefi_noieee1275): Likewise.
7916 (i386_pc_qemu_coreboot): Likewise.
7917 (i386_coreboot_multiboot): Likewise.
7918 (i386_pc_coreboot_multiboot_qemu): Likewise.
7919 (x86_noefi_mips): Likewise.
7920 (noieee1275): Likewise.
7921 (ieee1275_mips): Likewise.
7922 (noemu_noieee1275): Likewise.
7923 (cmos): New group.
7924 (usb): Likewise.
7925 (videoinkernel): Likewise.
7926 (videomodules): Likewise.
eefe8abd 7927 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
7928 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
7929 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
7930 include/grub/loader.h, include/grub/msdos_partition.h,
7931 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
7932 include/grub/machine/console.h, include/grub/machine/vga.h,
7933 include/grub/machine/vbe.h, include/grub/machine/init.h,
7934 include/grub/machine/kernel.h, include/grub/cpu/time.h,
7935 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 7936 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
7937 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
7938 * grub-core/Makefile.core.def (kernel): Explicit the source for
7939 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
7940 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
7941 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
7942 Use videoinkernel tag.
7943 (usb): Enable on all usb.
7944 (usbserial_common): Likewise.
7945 (usbserial_pl2303): Likewise.
7946 (usbserial_ftdi): Likewise.
7947 (uhci): Enable on all x86.
7948 (ohci): Enable on all pci.
7949 (cmostest): Enable on all CMOS.
7950 (acpi): Include commands/acpi.c on all platforms.
7951 (halt): Add relevant lib/*/halt.c.
7952 (hdparm): Enable on all pci.
7953 (lspci): Likewise.
7954 (usbtest): Enable on all usb.
7955 (ata): Enable on all pci.
7956 (ata_pthru): Likewise.
7957 (usbms): Enable on all usb.
7958 (usb_keyboard): Likewise.
7959 (font): Use tag videomodules.
7960 (bufio): Likewise.
7961 (datetime): Use tag cmos. Enable on all noemu.
7962 (mmap): Use tags common and x86.
7963 (gfxterm): Use tag videomodules.
7964 (bitmap): Likewise.
7965 (bitmap_scale): Likewise.
7966 (video_fb): Likewise.
7967 (video): Likewise.
7968 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
7969 adjust padding accordingly. All users updated.
7970 (grub_ohci_transaction): Fix bad format specification.
7971 (GRUB_MOD_INIT): Add asserts for struct size.
7972 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
7973 (grub_alloc_td): Likewise.
7974 (grub_free_queue): Likewise.
7975 (grub_uhci_transfer): Likewise.
7976 (grub_uhci_transaction): Fix bad format specification.
7977 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7978 (grub_usb_bulk_readwrite): Likewise.
7979 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
7980 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
7981 Made static.
7982 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
7983 Made static.
7984 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
7985 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
7986 Transformed into C.
7987 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
7988 Moved from here ...
7989 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
7990 ... here. Transformed into C. Made static.
7991 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
7992 Moved from here ...
7993 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
7994 ... here. Transformed into C. Made static.
7995 * grub-core/kern/i386/pc/startup.S
7996 (grub_biosdisk_check_int13_extensions): Moved from here ...
7997 * grub-core/disk/i386/pc/biosdisk.c
7998 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
7999 Made static.
8000 * grub-core/kern/i386/pc/startup.S
8001 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8002 * grub-core/disk/i386/pc/biosdisk.c
8003 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8004 Transformed into C. Made static.
8005 * grub-core/kern/i386/pc/startup.S
8006 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8007 * grub-core/disk/i386/pc/biosdisk.c
8008 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8009 Transformed into C. Made static.
8010 * grub-core/kern/i386/pc/startup.S
8011 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8012 * grub-core/disk/i386/pc/biosdisk.c
8013 (grub_biosdisk_get_diskinfo_standard): ... here.
8014 Transformed into C. Made static.
8015 * grub-core/kern/i386/pc/startup.S
8016 (grub_biosdisk_get_num_floppies): Moved from here ...
8017 * grub-core/disk/i386/pc/biosdisk.c
8018 (grub_biosdisk_get_num_floppies): ... here.
8019 Transformed into C. Made static.
8020 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8021 New function.
8022 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8023 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8024 Transformed into C. Made static.
8025 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8026 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8027 Transformed into C. Made static.
8028 * grub-core/kern/i386/ieee1275/init.c: Removed.
8029 * grub-core/kern/i386/misc.S: Likewise.
8030 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8031 Splitted from here ...
8032 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8033 Transformed into C. Made static. All users updated.
8034 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8035 Transformed into C. Made static. All users updated.
8036 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8037 Moved from here...
8038 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8039 Transformed into C. Made static. All users updated.
8040 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8041 Moved from here...
8042 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8043 Transformed into C. Made static. All users updated.
8044 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8045 Removed (replaced by C version).
8046 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8047 Moved from here...
8048 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8049 Transformed into C. Made static.
8050 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8051 Moved from here...
8052 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8053 ... here. Transformed into C.
8054 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8055 Moved from here...
8056 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8057 ... here. Transformed into C.
8058 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8059 Moved from here...
8060 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8061 ... here. Transformed into C. Made static.
8062 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8063 Moved from here...
8064 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8065 ... here. Transformed into C.
21ed554b
VS
8066 * grub-core/kern/i386/pc/startup.S
8067 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8068 * grub-core/video/i386/pc/vbe.c
8069 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8070 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8071 Moved from here...
8072 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8073 ... here. Transformed into C.
8074 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8075 Moved from here...
8076 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8077 ... here. Transformed into C.
8078 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8079 Moved from here...
8080 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8081 ... here. Transformed into C.
8082 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8083 Moved from here...
8084 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8085 ... here. Transformed into C.
8086 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8087 Moved from here...
8088 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8089 ... here. Transformed into C. Made static.
8090 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8091 Moved from here...
8092 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8093 ... here. Transformed into C. Made static.
8094 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8095 Moved from here...
8096 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8097 ... here. Transformed into C. Made static.
8098 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8099 pxe_rm_entry as third argument.
8100 (grub_bios_interrupt): New function.
8101 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8102 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8103 of calling grub_stop.
8104 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8105 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8106 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8107 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8108 * grub-core/lib/i386/halt.c: Moved from here ...
8109 * grub-core/lib/i386/halt.c: ... here.
8110 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8111 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8112 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8113 grub_stop_floppy.
8114 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8115 * include/grub/i386/coreboot/init.h: Removed.
8116 * include/grub/i386/multiboot/init.h: Likewise.
8117 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8118 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8119 * include/grub/i386/pc/int.h: New file.
8120 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8121 (grub_pxe_scan): Removed.
8122 (grub_pxe_call): Update prototype.
8123 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8124 prototypes.
8125 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8126 * include/grub/i386/qemu/init.h: Removed.
8127 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8128 noreturn.
8129 (grub_halt): Likewise.
8130 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8131 (grub_reboot): Likewise.
8132 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8133 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8134 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8135
215dd471
RM
81362010-08-30 Robert Millan <rmh@gnu.org>
8137
8138 * NEWS: Document addition of ZFS support in `grub-install' and
8139 `grub-mkconfig'.
8140
ebd65b82
BC
81412010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8142
8143 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8144 dprintf output.
8145
11721d19
VS
81462010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 Remove leftover embedding of font objects.
8149
8150 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8151 * util/grub-install.in (font): Removed.
8152 * util/grub-mkimage.c (generate_image): Remove font support. All users
8153 updated.
8154
37837d4e
VS
81552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 Remove leftover embedding of font objects.
8158
8159 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8160 * util/grub-install.in (font): Removed.
8161 * util/grub-mkimage.c (generate_image): Remove font support. All users
8162 updated.
8163
b4c1aae0
VS
81642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8167 Reported by: Ian Turner
b4c1aae0 8168
8920a08d
VS
81692010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8172 timeout to avoid indefinite boot stalling.
8173
f21db033
VS
81742010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8177 (grub_env_write_color_highlight): Likewise.
8178
9a9de209
VS
81792010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * grub-core/normal/term.c (print_more): Return to normal and not
8182 to standard state after printing "---MORE---".
8183
3dca01d7
VS
81842010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8187 Mask out the bit 0x80 since it has other meaning that specifiing color.
8188
0b986c40
VS
81892010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 New relocator. Allows for more kernel support and more straightforward
8192 loader writing.
8193
8194 * Makefile.am (BOOTTARGET): New variable.
8195 (QEMU32): Likewise.
8196 (linux.init.x86_64): New target.
8197 (linux.init.i386): Likewise.
8198 (multiboot.elf): Likewise.
8199 (kfreebsd.elf): Likewise.
8200 (kfreebsd.aout): Likewise.
8201 (pc-chainloader.elf): Likewise.
8202 (pc-chainloader.bin): Likewise.
8203 (ntldr.elf): Likewise.
8204 (ntldr.bin): Likewise.
8205 (multiboot2.elf): Likewise.
8206 (kfreebsd.init.x86_64): Likewise.
8207 (kfreebsd.init.i386): Likewise.
8208 (knetbsd.init.i386): Likewise.
8209 (kopenbsd.init.i386): Likewise.
8210 (knetbsd.init.x86_64): Likewise.
8211 (kopenbsd.init.x86_64): Likewise.
8212 (linux-initramfs.i386): Likewise.
8213 (linux-initramfs.x86_64): Likewise.
8214 (kfreebsd-mfsroot.i386.img): Likewise.
8215 (knetbsd.image.i386): Likewise.
8216 (kopenbsd.image.i386): Likewise.
8217 (kopenbsd.image.x86_64): Likewise.
8218 (knetbsd.miniroot-image.i386.img): Likewise.
8219 (kfreebsd-mfsroot.x86_64.img): Likewise.
8220 (knetbsd.image.x86_64): Likewise.
8221 (knetbsd.miniroot-image.x86_64.img): Likewise.
8222 (kfreebsd-mfsroot.i386.gz): Likewise.
8223 (bootcheck-kfreebsd-i386): Likewise.
8224 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8225 (bootcheck-kfreebsd-x86_64): Likewise.
8226 (knetbsd.miniroot-image.i386.gz): Likewise.
8227 (bootcheck-knetbsd-i386): Likewise.
8228 (bootcheck-kopenbsd-i386): Likewise.
8229 (bootcheck-kopenbsd-x86_64): Likewise.
8230 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8231 (bootcheck-knetbsd-x86_64): Likewise.
8232 (bootcheck-linux-i386): Likewise.
8233 (bootcheck-linux-x86_64): Likewise.
8234 (bootcheck-linux16-i386): Likewise.
8235 (bootcheck-linux16-x86_64): Likewise.
8236 (bootcheck-multiboot): Likewise.
8237 (bootcheck-multiboot2): Likewise.
8238 (bootcheck-kfreebsd-aout): Likewise.
8239 (bootcheck-pc-chainloader): Likewise.
8240 (bootcheck-ntldr): Likewise.
8241 (CLEANFILES): Add new targets.
8242 (BOOTCHECKS): New variable.
8243 (.PHONY): Add bootchecks.
8244 (SUCCESSFUL_BOOT_STRING): New variable.
8245 (BOOTCHECK_TIMEOUT): Likewise.
8246 (bootcheck): New target
8247 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8248 * configure.ac: Correct efiemu excuse.
8249 * docs/grub.texi (Supported kernels): New chapter.
8250 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8251 include/grub/mm_private.h. Simplify inclusion of
8252 include/grub/boot.h, include/grub/loader.h
8253 and include/grub/msdos_partition.h
8254 (KERNEL_HEADER_FILES) [i386_coreboot]:
8255 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8256 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8257 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8258 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8259 include/grub/machine/loader.h.
8260 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8261 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8262 extra_dist.
8263 (pci.mod): Enable on i386-multiboot.
8264 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8265 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8266 i386-qemu.
8267 (relocator.mod): Rewritten.
8268 (aout.mod): Enable on all x86.
8269 (bsd.mod): Likewise.
8270 (ntldr.mod): New module.
8271 (linux.mod): Use loader/i386/linux.c on all x86.
8272 (xnu.mod): Enable on all x86.
8273 (vga_text.mod): disable on EFI and QEMU.
8274 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8275 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8276 * grub-core/efiemu/loadcore.c: Likewise.
8277 * grub-core/efiemu/main.c: Likewise.
8278 (grub_efiemu_exit_boot_services): Removed.
8279 (grub_efiemu_finish_boot_services): Likewise.
8280 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8281 function.
8282 * grub-core/efiemu/i386/nocfgtables.c: New file.
8283 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8284 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8285 (grub_efi_finish_boot_services): Moved from here ...
8286 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8287 Fille finish memory map and related data.
8288 (finish_mmap_buf): New variable.
8289 (grub_efi_uintn_t finish_mmap_size): Likewise.
8290 (grub_efi_uintn_t finish_key): Likewise.
8291 (grub_efi_uintn_t finish_desc_size): Likewise.
8292 (grub_efi_uint32_t finish_desc_version): Likewise.
8293 (grub_efi_is_finished): Likewise.
8294 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8295 finished.
8296 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8297 (grub_elf64_phdr_iterate): Likewise.
8298 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8299 (grub_os_area_size): Likewise.
8300 (grub_machine_init): Don't reserve os area.
8301 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8302 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8303 * grub-core/kern/i386/loader.S: Removed.
8304 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8305 (grub_os_area_size): Likewise.
8306 (grub_machine_init): Don't reserve os area.
8307 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8308 Don't call grub_dl_unload_all.
8309 Don't include loader.S.
8310 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8311 Declare the memory after _end as available.
8312 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8313 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8314 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8315 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8316 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8317 * include/grub/mm_private.h (grub_mm_header): ... here.
8318 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8319 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8320 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8321 (grub_mm_region): ..here. Removed addr. Added pre_size.
8322 All users updated.
8323 * grub-core/kern/mm.c (base): Renamed to ...
8324 (grub_mm_base): ... this. Made global.
8325 (grub_real_malloc): Alloc from end of region.
8326 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8327 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8328 * grub-core/kern/powerpc/cache_flush.S: ... here.
8329 * grub-core/lib/efi/relocator.c: New file.
8330 * grub-core/lib/i386/relocator.c: Rewritten.
8331 * grub-core/lib/i386/relocator16.S: New file.
8332 * grub-core/lib/i386/relocator32.S: Likewise.
8333 * grub-core/lib/i386/relocator64.S: Likewise.
8334 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8335 * grub-core/lib/i386/relocator_common.S: New file.
8336 * grub-core/lib/ieee1275/relocator.c: Likewise.
8337 * grub-core/lib/mips/relocator.c: Rewritten.
8338 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8339 stylistic adjustments.
8340 * grub-core/lib/powerpc/relocator.c: New file.
8341 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8342 * grub-core/lib/relocator.c: Rewritten.
8343 * grub-core/lib/x86_64/relocator_asm.S: New file.
8344 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8345 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8346 (bsd_tag): New struct.
8347 (tags): New variable.
8348 (tags_last): Likewise.
8349 (netbsd_module): New struct.
8350 (netbsd_mods): New variable.
8351 (netbsd_mods_last): Likewise.
8352 (openbsd_opts): New parameter "serial".
8353 (OPENBSD_SERIAL_ARG): New definition.
8354 (netbsd_opts): New parameter "serial".
8355 (NETBSD_SERIAL_ARG): New definition.
8356 (grub_freebsd_add_meta): Reorganised into ...
8357 (grub_bsd_add_meta): ...this. All users updated.
8358 (grub_freebsd_add_mmap): Reorganised into ...
8359 (generate_e820_mmap): ...this...
8360 (grub_bsd_add_mmap): ...and this. All users updated.
8361 (grub_freebsd_list_modules): Use tags.
8362 (grub_netbsd_add_meta_module): New function.
8363 (grub_netbsd_list_modules): Likewise.
8364 (grub_freebsd_boot): Use relocator and finish EFI.
8365 (grub_openbsd_boot): Likewise.
8366 (grub_netbsd_setup_video): New function.
8367 (grub_netbsd_add_modules): Likewise.
8368 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8369 and finish EFI.
8370 (grub_bsd_unload): Unload tags.
8371 (grub_bsd_load_aout): Use relocator.
8372 (grub_bsd_elf32_size_hook): New function.
8373 (grub_bsd_elf32_hook): Use relocator.
8374 (grub_bsd_elf64_size_hook): New function.
8375 (grub_bsd_elf64_hook): Use relocator.
8376 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8377 (grub_bsd_load): Zero-out openbsd_ramdisk.
8378 (grub_bsd_load): Use relocator.
8379 (grub_cmd_openbsd): Support serial.
8380 (grub_cmd_netbsd): Support modules.
8381 (grub_cmd_freebsd_module): Use relocator.
8382 (grub_netbsd_module_load): New function.
8383 (grub_cmd_netbsd_module): Likewise.
8384 (grub_cmd_openbsd_ramdisk): Likewise.
8385 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8386 kopenbsd_ramdisk.
8387 (GRUB_MOD_FINI): Unregister new commands.
8388 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8389 (grub_freebsd_load_elfmodule_obj): Use relocator.
8390 (grub_freebsd_load_elfmodule): Likewise.
8391 (grub_freebsd_load_elf_meta): Likewise.
8392 (grub_netbsd_load_elf_meta): New function.
8393 (grub_openbsd_find_ramdisk): Likewise.
8394 * grub-core/loader/i386/bsd_helper.S: Removed.
8395 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8396 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8397 * grub-core/loader/i386/efi/linux.c: Likewise.
8398 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8399 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8400 (DEFAULT_VIDEO_MODE): Likewise.
8401 (real_mode_target): New variable.
8402 (prot_mode_target): Likewise.
8403 (initrd_mem_target): Likewise.
8404 (relocator): Likewise.
8405 (efi_mmap_buf): Likewise.
8406 (efi_mmap_size): Likewise.
8407 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8408 (free_pages): Use relocator.
8409 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8410 (grub_linux_setup_video): Return error.
8411 (grub_linux_trampoline_start): Removed.
8412 (grub_linux_trampoline_end): Likewise.
8413 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8414 andd video parameters depending on firmware.
8415 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8416 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8417 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8418 (grub_cmd_initrd): Use relocator.
8419 * grub-core/loader/i386/linux_trampoline.S: Removed.
8420 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8421 (elf_sec_entsize): Likewise.
8422 (elf_sec_shstrndx): Likewise.
8423 (elf_sections): Likewise.
8424 (grub_multiboot_load): Use relocator.
8425 (grub_multiboot_get_mbi_size): Account for sections.
8426 (grub_multiboot_make_mbi): Use relocator and support sections.
8427 (grub_multiboot_add_elfsyms): New function.
8428 (grub_multiboot_free_mbi): Free sections.
8429 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8430 (grub_linux_real_target): Likewise.
8431 (grub_linux_real_chunk): Likewise.
8432 (grub_linux16_prot_size): Likewise.
8433 (grub_linux16_boot): Use relocator.
8434 (grub_linux_unload): Unload relocator.
8435 (grub_cmd_linux): Use relocator.
8436 (grub_cmd_initrd): Likewise.
8437 * grub-core/loader/i386/pc/ntldr.c: New file.
8438 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8439 Don't try to guess CPU frequency.
8440 (grub_xnu_set_video): Stretch bitmap.
8441 (grub_xnu_boot): Use relocator.
8442 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8443 (grub_linux_unload): Free relocator.
8444 (grub_linux_load32): Use relocator.
8445 (grub_linux_load64): Likewise.
8446 (grub_cmd_initrd): Likewise.
8447 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8448 (grub_multiboot_unload): Unload relocator.
8449 (grub_cmd_multiboot): Use relocator.
8450 (grub_cmd_module): Likewise.
8451 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8452 Use relocator and support sections.
8453 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8454 (elf_sec_entsize): Likewise.
8455 (elf_sec_shstrndx): Likewise.
8456 (elf_sections): Likewise.
8457 (grub_multiboot_load): Use relocator.
8458 (grub_multiboot_get_mbi_size): Account for sections.
8459 (grub_multiboot_make_mbi): Use relocator and support sections.
8460 (grub_multiboot_add_elfsyms): New function.
8461 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8462 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8463 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8464 Prototype changed. All users updated.
8465 (grub_xnu_align_heap): Simplified.
8466 (grub_xnu_writetree_toheap): Likewise.
8467 (grub_xnu_unload): Unload relocator.
8468 (grub_cmd_xnu_kernel): Use relocator.
8469 (grub_cmd_xnu_kernel64): Likewise.
8470 (grub_xnu_register_memory): Simplified.
8471 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
8472 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8473 EFI is finished.
8474 (grub_console_checkkey): Likewise.
8475 (grub_console_getkey): Likewise.
8476 (grub_console_getwh): Likewise.
8477 (grub_console_getxy): Likewise.
8478 (grub_console_gotoxy): Likewise.
8479 (grub_console_cls): Likewise.
8480 (grub_console_setcolorstate): Likewise.
8481 (grub_console_setcursor): Likewise.
8482 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8483 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8484 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8485 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8486 * grub-core/tests/boot/kernel-8086.S: Likewise.
8487 * grub-core/tests/boot/kernel-i386.S: Likewise.
8488 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
8489 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
8490 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
8491 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
8492 * grub-core/tests/boot/knetbsd.cfg: Likewise.
8493 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
8494 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
8495 * grub-core/tests/boot/linux.cfg: Likewise.
8496 * grub-core/tests/boot/linux.init-i386.S: Likewise.
8497 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
8498 * grub-core/tests/boot/linux16.cfg: Likewise.
8499 * grub-core/tests/boot/multiboot.cfg: Likewise.
8500 * grub-core/tests/boot/multiboot2.cfg: Likewise.
8501 * grub-core/tests/boot/ntldr.cfg: Likewise.
8502 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
8503 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
8504 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
8505 New definition.
8506 * include/grub/dl.h (grub_dl_unload_all): Removed.
8507 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
8508 (grub_efi_finish_boot_services): Change prototype.
8509 (grub_efi_is_finished): New variable.
8510 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
8511 Changed prototype.
8512 (grub_efiemu_finish_boot_services): Removed.
8513 (grub_machine_efiemu_init_tables): New prototype.
8514 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
8515 (grub_elf64_phdr_iterate): Likewise.
8516 * include/grub/i386/bsd.h: Include relocator.h.
8517 (freebsd_tag_header): New struct.
8518 (grub_openbsd_bios_mmap): Removed.
8519 (grub_unix_real_boot): Removed.
8520 (grub_freebsd_load_elfmodule32): Changed prototype.
8521 (grub_freebsd_load_elfmodule_obj64): Likewise.
8522 (grub_freebsd_load_elf_meta32): Likewise.
8523 (grub_freebsd_load_elf_meta64): Likewise.
8524 (grub_freebsd_add_meta): Removed.
8525 (grub_netbsd_load_elf_meta32): New prototype.
8526 (grub_netbsd_load_elf_meta64): Likewise.
8527 (grub_bsd_add_meta): Likewise.
8528 (grub_openbsd_ramdisk_descriptor): New struct.
8529 (grub_openbsd_find_ramdisk32): New prototype.
8530 (grub_openbsd_find_ramdisk64): Likewise.
8531 * include/grub/i386/coreboot/loader.h: Removed.
8532 * include/grub/i386/efi/loader.h: Likewise.
8533 * include/grub/i386/ieee1275/loader.h: Likewise.
8534 * include/grub/i386/linux.h (linux_kernel_header): Change void *
8535 to grub_uint32_t.
8536 * include/grub/i386/loader.h: Removed.
8537 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
8538 value.
8539 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
8540 (grub_phys_addr_t): New type.
8541 (grub_vtop): New inline function.
8542 (grub_map_memory): Likewise.
8543 (grub_unmap_memory): Likewise.
8544 * include/grub/i386/multiboot/loader.h: Removed.
8545 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
8546 (NETBSD_BTINFO_CONSOLE): New definition.
8547 (NETBSD_BTINFO_SYMTAB): Likewise.
8548 (NETBSD_BTINFO_MODULES): Likewise.
8549 (NETBSD_BTINFO_FRAMEBUF): Likewise.
8550 (grub_netbsd_bootinfo): New struct.
8551 (grub_netbsd_btinfo_common): Use explicit bitsize.
8552 (grub_netbsd_btinfo_mmap_entry): Removed.
8553 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
8554 (grub_netbsd_btinfo_bootdisk): New struct.
8555 (grub_netbsd_btinfo_symtab): Likewise.
8556 (grub_netbsd_btinfo_serial): Likewise.
8557 (grub_netbsd_btinfo_modules): Likewise.
8558 (grub_netbsd_btinfo_framebuf): Likewise.
8559 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
8560 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
8561 Likewise.
8562 (grub_openbsd_bootargs): Use explicit bitsize.
8563 (grub_openbsd_bootarg_console): New struct.
8564 (GRUB_OPENBSD_COM_MAJOR): New definition.
8565 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
8566 * include/grub/i386/pc/efiemu.h: Removed.
8567 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
8568 * include/grub/i386/qemu/loader.h: Removed.
8569 * include/grub/i386/relocator.h: Rewritten.
8570 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
8571 * include/grub/mips/memory.h: New file.
8572 * include/grub/mips/multiboot.h: Rewritten.
8573 * include/grub/mips/relocator.h: Rewritten.
8574 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
8575 (grub_vtop): New function.
8576 (grub_map_memory): Likewise.
8577 (grub_unmap_memory): Likewise.
8578 * include/grub/misc.h (ALIGN_DOWN): New definition.
8579 * include/grub/mm.h (grub_mm_check_real): New proto.
8580 (GRUB_MM_CHECK): New definition.
8581 * include/grub/mm_private.h: New file.
8582 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
8583 (grub_multiboot_get_mbi_size): Removed.
8584 (grub_multiboot_make_mbi): Change prottype.
8585 (grub_multiboot_set_accepts_video): New proto.
8586 (grub_multiboot_add_elfsyms): Likewise.
8587 (grub_multiboot_payload_eip): New variable.
8588 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
8589 New prototype.
8590 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
8591 New definition.
8592 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
8593 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
8594 * include/grub/powerpc/ieee1275/loader.h: Removed.
8595 * include/grub/powerpc/memory.h: New file.
8596 * include/grub/powerpc/relocator.h: Likewise.
8597 * include/grub/relocator.h: Likewise.
8598 * include/grub/relocator_private.h: Likewise.
8599 * include/grub/sparc64/ieee1275/loader.h: Removed.
8600 * include/grub/x86_64/memory.h: New file.
8601 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
8602 (grub_xnu_heap_malloc): Likewise.
8603 (grub_xnu_heap_real_start): Removed.
8604 (grub_xnu_heap_start): Likewise.
8605 (grub_xnu_relocator): New variable.
8606 (grub_xnu_heap_target_start): Likewise.
8607 * tests/util/grub-shell.in: Support non-pc.
8608 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 8609
5303b85d
VS
86102010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8611
8612 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
8613 on malloc error.
8614 (grub_bidi_logical_to_visual): Check that malloc succeded.
8615 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
8616 puts.
8617 (grub_xputs_normal): Likewise.
8618
d768d159
VS
86192010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
8622 extra_dist.
8623
86242010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * grub-core/efiemu/runtime/efiemu.sh: Removed.
8627
5bf84df4
VS
86282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
8631
3626810e
VS
86322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8633
8634 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
8635 dprintf.
8636
a7363f53
BC
86372010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
8638
8639 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
8640
902f75f6
VS
86412010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 * grub-core/normal/term.c (print_more): Fix a memory leak.
8644 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
8645 (grub_xputs_normal): Likewise.
8646
3c707967
VS
86472010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8648
8649 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
8650 the begining of the string
8651
2053cc07
VS
86522010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 * grub-core/script/script.c (grub_script_parse): Free parsed on
8655 failure.
8656
46422ebf
VS
86572010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
8660 on failure.
8661
9e0fa3f6
VS
86622010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
8665 return.
8666
3393cf16
VS
86672010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
8670 (scroll_up): Fix a memory leak.
8671
b17540cb
VS
86722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
8675 errors.
8676
67140446
VS
86772010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 Handle USB pendrives exposed as floppies.
8680
8681 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
8682 floppy.
8683 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
8684 Check for partitions on all devices.
8685
e35e46fc
VS
86862010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
8689 (readkey): Likewise.
8690
d24c6190
BC
86912010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
8692
8693 Multiple variable names support to "export" command.
8694
8695 * normal/context.c (grub_cmd_export): "export" command supports
8696 multiple variable names.
8697
04ddcc6a
ST
86982010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
8699
8700 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
8701 --target=drive output to Mach device name.
8702
0c8b61d8
BC
87032010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8704
8705 New Automake based build system for GRUB.
8706
8707 * ABOUT-NLS: New file.
8708 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
8709 in Makefile.util.def file.
8710 * Makefile.util.def: New file. Autogen build definitions file for
8711 GRUB host utils.
8712 * conf/Makefile.common: New file. Common variables for GRUB host
8713 utils and target modules.
8714 * conf/Makefile.extra-dist: New file. Extra files for make dist.
8715 * docs/Makefile.am: New file. Automake file for docs.
8716 * gentpl.py: New file. Python script to generate Autogen
8717 template.
8718 * grub-core/Makefile.am: New file. GRUB target modules' rules
8719 that doesn't fit in Makefile.core.def file.
8720 * grub-core/Makefile.core.def: New file. Autogen build
8721 definitions file for GRUB target modules.
8722 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
8723 specific setjmp.S file.
8724 * po/Makefile.am: New file.
8725
8726 * .bzrignore: New ignores.
8727 * INSTALL: New requirements, without Ruby.
8728 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
8729 * autogen.sh: Updated to invoke autogen as necessary.
8730 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
8731 and defines for Automake conditionals.
8732 * geninit.sh: Refactoring.
8733
8734 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8735 necessary.
8736 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8737 New prototype.
8738
8739 * include/grub/test.h: Fix functional test modules' naming.
8740 * grub-core/tests/example_functional_test.c: Fix test module name.
8741
8742 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8743 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8744 * util/grub-editenv.c: Likewise.
8745 * util/grub-fstest.c: Likewise.
8746 * util/grub-mkdevicemap.c: Likewise.
8747 * util/grub-mkfont.c: Likewise.
8748 * util/grub-mkimage.c: Likewise.
8749 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8750 * util/grub-probe.c: Likewise.
8751 * util/grub-script-check.c: Likewise.
8752 * util/i386/pc/grub-setup.c: Likewise.
8753 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8754
8755 * tests/util/grub-shell.in: Fix override directory path.
8756 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8757 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8758
8759 * util/lvm.c: Update #includes.
8760 * util/raid.c: Likewise.
8761 * util/resolve.c: Likewise.
8762 * grub-core/bus/emu/pci.c: Likewise.
8763 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8764 * grub-core/lib/posix_wrap/string.h: Likewise.
8765 * grub-core/kern/emu/main.c: Likewise.
8766
8767 * grub-core/gensymlist.sh: New file. Script for generating kernel
8768 symbols file.
8769 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8770
8771 * grub-core/gentrigtables.c: Fix unused variable warnings.
8772
8773 * Makefile.in: Removed.
8774 * conf/any-emu.rmk: Removed.
8775 * conf/common.rmk: Removed.
8776 * conf/i386-coreboot.rmk: Removed.
8777 * conf/i386-efi.rmk: Removed.
8778 * conf/i386-ieee1275.rmk: Removed.
8779 * conf/i386-multiboot.rmk: Removed.
8780 * conf/i386-pc.rmk: Removed.
8781 * conf/i386-qemu.rmk: Removed.
8782 * conf/i386.rmk: Removed.
8783 * conf/mips-yeeloong.rmk: Removed.
8784 * conf/mips.rmk: Removed.
8785 * conf/powerpc-ieee1275.rmk: Removed.
8786 * conf/sparc64-ieee1275.rmk: Removed.
8787 * conf/tests.rmk: Removed.
8788 * conf/x86-efi.rmk: Removed.
8789 * conf/x86_64-efi.rmk: Removed.
8790 * gendistlist.sh: Removed.
8791 * geninitheader.sh: Removed.
8792 * genkernsyms.sh.in: Removed.
8793 * genmk.rb: Removed.
8794 * gensymlist.sh.in: Removed.
8795 * mkinstalldirs: Removed.
8796 * boot: Moved ...
8797 * grub-core/boot: ... to here.
8798 * bus: Moved ...
8799 * grub-core/bus: ... to here.
8800 * commands: Moved ...
8801 * grub-core/commands: ... to here.
8802 * disk: Moved ...
8803 * grub-core/disk: ... to here.
8804 * efiemu: Moved ...
8805 * grub-core/efiemu: ... to here.
8806 * font: Moved ...
8807 * grub-core/font: ... to here.
8808 * fs: Moved ...
8809 * grub-core/fs: ... to here.
8810 * gencmdlist.sh: Moved ...
8811 * grub-core/gencmdlist.sh: ... to here.
8812 * genemuinit.sh: Moved ...
8813 * grub-core/genemuinit.sh: ... to here.
8814 * genemuinitheader.sh: Moved ...
8815 * grub-core/genemuinitheader.sh: ... to here.
8816 * genfslist.sh: Moved ...
8817 * grub-core/genfslist.sh: ... to here.
8818 * genhandlerlist.sh: Moved ...
8819 * grub-core/genhandlerlist.sh: ... to here.
8820 * genmoddep.awk: Moved ...
8821 * grub-core/genmoddep.awk: ... to here.
8822 * genmodsrc.sh: Moved ...
8823 * grub-core/genmodsrc.sh: ... to here.
8824 * genpartmaplist.sh: Moved ...
8825 * grub-core/genpartmaplist.sh: ... to here.
8826 * genparttoollist.sh: Moved ...
8827 * grub-core/genparttoollist.sh: ... to here.
8828 * genterminallist.sh: Moved ...
8829 * grub-core/genterminallist.sh: ... to here.
8830 * gentrigtables.c: Moved ...
8831 * grub-core/gentrigtables.c: ... to here.
8832 * genvideolist.sh: Moved ...
8833 * grub-core/genvideolist.sh: ... to here.
8834 * gettext: Moved ...
8835 * grub-core/gettext: ... to here.
8836 * gfxmenu: Moved ...
8837 * grub-core/gfxmenu: ... to here.
8838 * gnulib: Moved ...
8839 * grub-core/gnulib: ... to here.
8840 * hello: Moved ...
8841 * grub-core/hello: ... to here.
8842 * hook: Moved ...
8843 * grub-core/hook: ... to here.
8844 * io: Moved ...
8845 * grub-core/io: ... to here.
8846 * kern: Moved ...
8847 * grub-core/kern: ... to here.
8848 * lib: Moved ...
8849 * grub-core/lib: ... to here.
8850 * loader: Moved ...
8851 * grub-core/loader: ... to here.
8852 * mmap: Moved ...
8853 * grub-core/mmap: ... to here.
8854 * normal: Moved ...
8855 * grub-core/normal: ... to here.
8856 * partmap: Moved ...
8857 * grub-core/partmap: ... to here.
8858 * parttool: Moved ...
8859 * grub-core/parttool: ... to here.
8860 * script: Moved ...
8861 * grub-core/script: ... to here.
8862 * term: Moved ...
8863 * grub-core/term: ... to here
8864 * tests/example_functional_test.c: Moved ...
8865 * grub-core/tests/example_functional_test.c: ... to here.
8866 * tests/lib/functional_test.c: Moved ...
8867 * grub-core/tests/lib/functional_test.c: ... to here.
8868 * tests/lib/test.c: Moved ...
8869 * grub-core/tests/lib/test.c: ... to here.
8870 * video: Moved ...
8871 * grub-core/video: ... to here.
8872
645586e6
BC
88732010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8874
8875 Replace --enable-grub-emu-modules with grub-emu-lite.
8876
8877 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
8878 cache.S.
8879
8880 * include/grub/emu/misc.h (grub_emu_init): New prototype.
8881 * kern/emu/full.c: New file. For grub-emu specific initialization.
8882 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
8883 * kern/emu/main.c: Call initialization function grub_emu_init.
8884
8885 * Makefile.in: Include grub-emu-lite in install.
8886 * commands/parttool.c: Use grub_no_autoload to differentiate
8887 between grub-emu and grub-emu-lite.
8888 * include/grub/misc.h: New variable grub_no_autoload.
8889
8890 * conf/any-emu.rmk: New rules for grub-emu-lite.
8891 * configure.ac: Remove --enable-grub-emu-modules.
8892 * genmk.rb: Cleanup unnecessary rules.
8893 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
8894
8895 * normal/main.c: Don't load list files on grub-emu-lite.
8896 * util/misc.c (grub_arch_sync_caches): Removed.
8897
f86a4030
CW
88982010-08-23 Colin Watson <cjwatson@ubuntu.com>
8899
8900 * kern/mips/startup.S (grub_prefix): Update comment to refer to
8901 grub-mkimage rather than grub-mkelfimage.
8902 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8903
06776944
VS
89042010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
8907 a key after CapsLock or NumLock. It's just a qemu bug.
8908
df262419
VS
89092010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
8912 needed by libusb wrapper.
8913
b40ea81b
ST
89142010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8915
8916 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
8917
dee50575
VS
89182010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
8921 --nounzip is passed.
8922
fb1d7b79
VS
89232010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 USB hotunplugging and USB serial support.
8926
8927 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
8928 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
8929 (grub_uhci_transfer): Respect timeout and set *actual.
8930 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
8931 non-standard length.
8932 (grub_usb_device_attach): Autoload modules.
8933 (GRUB_MOD_INIT): Set grub_term_poll_usb.
8934 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
8935 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
8936 users updated.
8937 (grub_usb_add_hub): Fill nports and children.
8938 (attach_root_port): Receive hub instead of controller.
8939 All users updated. Fill hub->devices.
8940 (grub_usb_root_hub): Allocate hub->devices.
8941 (detach_device): New function.
8942 (poll_nonroot_hub): Fill children and detach devices.
8943 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
8944 actual arguments. All users updated.
8945 (grub_usb_bulk_read_extended): New function.
8946 * bus/usb/serial/common.c: New file.
8947 * bus/usb/serial/ftdi.c: Likewise.
8948 * bus/usb/serial/pl2303.c: Likewise.
8949 * commands/terminal.c (handle_command): Support wildcard.
8950 * commands/usbtest.c: Output "Unknown" instead of empty string.
8951 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
8952 (usbserial_common_mod_SOURCES): New variable.
8953 (usbserial_common_mod_CFLAGS): Likewise.
8954 (usbserial_common_mod_LDFLAGS): Likewise.
8955 (pkglib_MODULES): Add usbserial_pl2303.mod.
8956 (usbserial_pl2303_mod_SOURCES): New variable.
8957 (usbserial_pl2303_mod_CFLAGS): Likewise.
8958 (usbserial_pl2303_mod_LDFLAGS): Likewise.
8959 (pkglib_MODULES): Add usbserial_ftdi.mod.
8960 (usbserial_ftdi_mod_SOURCES): New variable.
8961 (usbserial_ftdi_mod_CFLAGS): Likewise.
8962 (usbserial_ftdi_mod_LDFLAGS): Likewise.
8963 (pkglib_MODULES): Add serial.mod.
8964 (serial_mod_SOURCES): New variable.
8965 (serial_mod_CFLAGS): Likewise.
8966 (serial_mod_LDFLAGS): Likewise.
8967 * conf/i386-pc.rmk: Likewise.
8968 * conf/mips-yeeloong.rmk: Likewise.
8969 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
8970 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
8971 * disk/usbms.c (first_available_slot): New variable.
8972 (grub_usbms_attach): Don't reuse free slots due to potential cache
8973 problems.
8974 * include/grub/serial.h: Moved to ..
8975 * include/grub/ns8250.h: ...this.
8976 * include/grub/serial.h: New file.
8977 * include/grub/term.h (grub_term_poll_usb): New variable.
8978 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
8979 readkey. All users updated.
8980 (grub_terminfo_output_state): Pass term to put.
8981 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
8982 (grub_usb_controller_dev): Add timeout and actual arguments to
8983 transfer. All users updated.
8984 (grub_usb_interface): New field detach_data.
8985 (grub_usb_device): New fields children and nports.
8986 (grub_usb_ep_type_t): New type.
8987 (grub_usb_get_ep_type): New function.
8988 (grub_usb_bulk_read_extended): Likewise.
8989 * include/grub/usbdesc.h (grub_usb_desc): New type.
8990 * include/grub/usbserial.h: New file.
8991 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
8992 * kern/term.c (grub_term_poll_usb): New variable.
8993 (grub_getkey): Call grub_term_poll_usb if set.
8994 (grub_checkkey): Likewise.
8995 (grub_getkeystatus): Likewise.
8996 * term/serial.c: Moved controller-specific parts to ...
8997 * term/ns8250.c: ... here.
8998 * term/serial.c: Mostly rewritten.
8999 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9000 according to spec.
9001
21a313de
RM
90022010-08-20 Robert Millan <rmh@gnu.org>
9003
9004 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9005 a separate module and maybe other interesting combinations.
9006
9007 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9008 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9009 (kfreebsd_entry): Add generic filesystem module load routine.
9010 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9011
63c734a6
CW
90122010-08-20 Colin Watson <cjwatson@ubuntu.com>
9013
9014 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9015 "numcenter" (I misunderstood the purpose of this entry).
9016 * docs/grub.texi (sendkey): Likewise.
9017
c4d16542
CW
90182010-08-20 Colin Watson <cjwatson@ubuntu.com>
9019
9020 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9021 status flag options; simply omitting the option is equivalent and
9022 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9023 (keysym_table): Rename "num5numlock" to "numlock".
9024 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9025 can uniformly say that only the last of multiple `sendkey'
9026 invocations has any effect.
9027 * docs/grub.texi (sendkey): New section.
9028
93541d66
CW
90292010-08-19 Colin Watson <cjwatson@ubuntu.com>
9030
9031 * commands/i386/pc/sendkey.c (options): Fix three typos.
9032
b4ece5e1
VS
90332010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Implement sendkey support.
9036
9037 * commands/i386/pc/sendkey.c: New file.
9038 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9039 (sendkey_mod_SOURCES): New variable.
9040 (sendkey_mod_CFLAGS): Likewise.
9041 (sendkey_mod_LDFLAGS): Likewise.
9042
51f1f5af
CW
90432010-08-18 Colin Watson <cjwatson@ubuntu.com>
9044
9045 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9046 fix warnings from Autoconf.
9047
9da94e05
CW
90482010-08-18 Colin Watson <cjwatson@ubuntu.com>
9049
9050 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9051 to avoid false positives with some assemblers that output things
9052 like "someprefix_func" as part of their output.
9053
729a0f2e
RM
90542010-08-15 Robert Millan <rmh@gnu.org>
9055
9056 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9057 errors.
9058 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9059 grub_get_libzfs_handle() errors.
9060
f3710e08
RM
90612010-08-14 Robert Millan <rmh@gnu.org>
9062
9063 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9064 filesystem is not ZFS.
9065
7a3c13de
BC
90662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9067
9068 Fix for misspelled color names defaulting to black/black (bug
9069 reported by Doug Nazar)
9070
9071 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9072 status to prototype.
9073 * normal/color.c (grub_parse_color_name_pair): Return failure
9074 status.
9075 (grub_env_write_color_normal): Ignore bad color names.
9076 (grub_env_write_color_highlight): Likewise.
9077 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9078
ab8ba50d
BC
90792010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9080
9081 "shift" command support to GRUB script.
9082
9083 * include/grub/script_sh.h (grub_script_shift): New prototype.
9084 * script/execute.c (grub_script_shift): New function.
9085 * script/main.c (grub_script_init): Register shift command.
9086 (grub_script_fini): Unregister shift command.
9087 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9088
9089 * tests/grub_script_shift.in: New testcase.
9090 * conf/tests.rmk: Rules for new testcase.
9091
4d61999e
BC
90922010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9093
9094 "continue" command support to GRUB script.
9095
9096 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9097 (grub_script_break): Continue support.
9098 * script/main.c (grub_script_init): Register continue command.
9099 (grub_script_fini): Unregister continue command.
9100
9101 * tests/grub_script_continue.in: New testcase.
9102 * conf/tests.rmk: Rules for new testcase.
9103
4df51e00
BC
91042010-08-12 BVK Chaitanya <bvk@dbook>
9105
9106 "break" command support to GRUB script.
9107
9108 * conf/common.rmk: Rule updates to grub-script-check.
9109 * include/grub/misc.h (grub_min): New function.
9110 * include/grub/script_sh.h (grub_script_init): New prototype.
9111 (grub_script_fini): New prototype.
9112 (grub_script_break): New prototype.
9113 * script/main.c (grub_script_init): New function.
9114 (grub_script_fini): New function.
9115 * script/execute.c (grub_script_break): New function.
9116 * normal/main.c: Calls to grub_script_{init,fini}.
9117 * util/grub-script-check.c (grub_script_break): New function.
9118
9119 * tests/grub_script_break.in: New testcase.
9120 * conf/tests.rmk: Rules for new test case.
9121
f12c8420
BC
91222010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9123
9124 Function parameters support to GRUB script.
9125
9126 * script/yylex.l (VARIABLE): Regular expression update.
9127 * script/function.c (grub_script_function_call): Moved ...
9128 * script/execute.c (grub_script_function_call): ... to here.
9129 (grub_script_execute_arglist_to_argv): Removed.
9130 (grub_script_arglist_to_argv): New function.
9131 * script/argv.c: New file.
9132 (grub_script_argv_free): New function.
9133 (grub_script_argv_next): Likewise.
9134 (grub_script_argv_append): Likewise.
9135 (grub_script_argv_split_append): Likewise.
9136 * include/grub/script_sh.h (grub_script_argv): New struct.
9137 (grub_script_argv_free): New function.
9138 (grub_script_argv_next): Likewise.
9139 (grub_script_argv_append): Likewise.
9140 (grub_script_argv_split_append): Likewise.
9141
9142 * conf/common.rmk (normal.mod): New source script/argv.c.
9143
9144 * tests/grub_script_echo1.in: More tests.
9145 * tests/grub_script_vars1.in: Likewise.
9146 * tests/grub_script_functions.in: New test case.
9147 * conf/tests.rmk: Rules for new testcase.
9148
8022b748
BC
91492010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9150
9151 Remove grub_script_cmdblock struct.
9152
9153 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9154 * script/parser.y: Likewise.
9155 * script/execute.c: Rename cmdblock suffix to cmdlist.
9156 * script/script.c: Likewise.
9157 * util/grub-script-check.c: Likewise.
9158
79a6ba61
YB
91592010-08-11 Yves Blusseau <blusseau@zetam.org>
9160
9161 * .bzrignore: add grub-macho2img
9162
d04b9414
VS
91632010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9164
9165 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9166
f947ab49
VS
91672010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 Remove the dump of sm712 initialisation sequence.
9170
9171 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9172 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9173 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9174 (GRUB_VGA_CR_*): Added many registers.
9175 (GRUB_VGA_SR_*): Likewise.
9176 (GRUB_VGA_GR_*): Likewise.
9177 (grub_vga_write_arx): New function.
9178 (grub_video_hw_config): New struct.
9179 (grub_vga_set_geometry): New function.
9180 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9181 GRUB_PCI_CLASS_SUBCLASS_VGA.
9182 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9183 * video/sm712.c (grub_sm712_write_reg): New function
9184 (grub_sm712_read_reg): Likewise.
9185 (grub_sm712_sr_write): Likewise.
9186 (grub_sm712_gr_write): Likewise.
9187 (grub_sm712_cr_write): Likewise.
9188 (grub_sm712_write_arx): Likewise.
9189 (grub_sm712_cr_shadow_write): Likewise.
9190 (grub_sm712_write_dda_lookup): Likewise.
9191 (grub_video_sm712_setup): Initialise the video rather then
9192 blindly replay the dump.
9193 (main) [TEST]: Add a routine to be able to compile as standalone for
9194 tests.
9195 * video/sm712_init.c (sm712_init): Removed.
9196 (sm712_sr_seq1): New array.
9197 (sm712_sr_seq2): Likewise.
9198
f0206638
VS
91992010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * include/grub/vga.h: Add missing grub/pci.h include.
9202
2764da3b
YB
92032010-08-10 Yves Blusseau <blusseau@zetam.org>
9204
9205 * util/grub-macho2img.c (main): fix typo
9206
cf0c775e
VS
92072010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9210 (grub_vga_gr_read): Likewise.
9211 (grub_vga_cr_write): Likewise.
9212 (grub_vga_cr_read): Likewise.
9213 (grub_vga_sr_write): Likewise.
9214 (grub_vga_sr_read): Likewise.
9215 (grub_vga_palette_read): Likewise.
9216 (grub_vga_palette_write): Likewise.
9217 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9218 (grub_sm712_sr_read): New function.
9219 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9220 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9221
07f360e9
RM
92222010-08-09 Robert Millan <rmh@gnu.org>
9223
9224 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9225 out unused variables on non-ZFS build.
9226
346c2072
RM
92272010-08-08 Robert Millan <rmh@gnu.org>
9228
9229 Fix path generation for sub-filesystems in ZFS.
9230
9231 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9232 missing slash.
9233
71175420
RM
92342010-08-08 Robert Millan <rmh@gnu.org>
9235
9236 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9237
0d8286f3
RM
92382010-08-08 Robert Millan <rmh@gnu.org>
9239
9240 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9241 exist, issue a proper error message (rely on `ls' for translated
9242 strings).
9243
55dd2924
RM
92442010-08-08 Robert Millan <rmh@gnu.org>
9245
9246 Fix grub-probe invocation.
9247
9248 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9249
d3dd9e80
RM
92502010-08-04 Robert Millan <rmh@gnu.org>
9251
9252 * configure.ac: Remove checks for getfsstat() and getmntany().
9253 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9254 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9255 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9256 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9257 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9258 function.
9259 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9260 via find_mount_point_from_dir() and getfsstat() / getmntany().
9261
0de22aa9
RM
92622010-08-04 Robert Millan <rmh@gnu.org>
9263
9264 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9265 (grub_find_zpool_from_mount_point): Merge into ...
9266 (grub_find_zpool_from_dir): ... this.
9267 * kern/emu/misc.c: Likewise.
9268
9269 * kern/emu/misc.c
9270 (grub_make_system_path_relative_to_its_root): Replace
9271 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9272 with grub_find_zpool_from_dir().
9273 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9274
62858144
RM
92752010-08-04 Robert Millan <rmh@gnu.org>
9276
9277 Support OpenSolaris in ZFS device resolution.
9278
9279 * configure.ac: Check for getmntany().
9280 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9281 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9282 support.
9283
9dd6fd50
RM
92842010-08-03 Robert Millan <rmh@gnu.org>
9285
9286 Fix grub-emu build.
9287
9288 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9289 * include/grub/emu/misc.h: ... here.
9290
9291 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9292 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9293
9294 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9295 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9296 (grub_get_libzfs_handle): Move to ...
9297 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9298 (grub_get_libzfs_handle): ... here.
9299
c9f7ff97
BC
93002010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9301
9302 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9303 as command name case.
9304
a870a783
CW
93052010-08-02 Colin Watson <cjwatson@ubuntu.com>
9306
9307 * disk/raid.c (insert_array): Select unique numbers for named arrays
9308 as well, for use as keys in the disk cache.
9309
c7db243b
RM
93102010-08-01 Robert Millan <rmh@gnu.org>
9311
9312 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9313 kFreeBSD device name, except on ZFS where the filesystem label is
9314 used.
9315 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9316 `/boot/zfs/zpool.cache'.
9317 Set mountfrom kernel variable using ${kfreebsd_device}.
9318
f7abdefb
RM
93192010-08-01 Robert Millan <rmh@gnu.org>
9320
9321 Make it even harder to use uninitialized `libzfs_handle' (and
9322 make the interface a bit simpler).
9323
9324 * include/grub/util/misc.h (grub_util_init_libzfs)
9325 (libzfs_handle): Remove.
9326 (grub_get_libzfs_handle): New prototype.
9327
9328 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9329 attribute.
9330 (grub_util_init_libzfs): Remove.
9331 (grub_get_libzfs_handle): New function.
9332
9333 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9334 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9335 accessing `libzfs_handle' directly.
9336
c882acc0
RM
93372010-08-01 Robert Millan <rmh@gnu.org>
9338
9339 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9340 (grub_find_zpool_from_mount_point): New function prototypes.
9341
9342 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9343 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9344
9345 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9346 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9347 `static' attribute.
9348
9349 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9350 finding zpool from mount point into ...
9351 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9352
9353 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9354 requested path is part of a ZFS pool, use
9355 grub_find_zpool_from_mount_point() to detect its filesystem name,
9356 and generate a path with `/fsname@path' syntax.
9357
8bfe31d8
CW
93582010-08-01 Colin Watson <cjwatson@ubuntu.com>
9359
9360 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9361 (void) rather than () so that this is a proper prototype.
9362
553df63d
VS
93632010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9366
8687cf07
VS
93672010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9370 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9371
ea9be8ea
CW
93722010-08-01 Colin Watson <cjwatson@ubuntu.com>
9373
9374 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9375
6eea041a
CW
93762010-08-01 Colin Watson <cjwatson@ubuntu.com>
9377
9378 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9379
2cfb45df
CW
93802010-08-01 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9383 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9384 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9385 disable gfxpayload.
9386 (Shell-like scripting): Add real content.
9387 (Serial terminal): Suggest `terminal_input serial; terminal_output
9388 serial' rather than putting the two commands on separate lines,
9389 since console input will be inoperative after the first command.
9390 (menuentry): Document --class, --users, and --hotkey options.
9391 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9392 Vladimir Serbinenko).
9393
7decd202
VS
93942010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
93952010-08-01 Colin Watson <cjwatson@ubuntu.com>
9396
9397 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9398
c882acc0
RM
93992010-08-01 Robert Millan <rmh@gnu.org>
9400
9401 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9402 (grub_find_zpool_from_mount_point): New function prototypes.
9403
9404 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9405 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9406
9407 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9408 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9409 `static' attribute.
9410
9411 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9412 finding zpool from mount point into ...
9413 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9414
9415 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9416 requested path is part of a ZFS pool, use
9417 grub_find_zpool_from_mount_point() to detect its filesystem name,
9418 and generate a path with `/fsname@path' syntax.
9419
deb0caa3
RM
94202010-08-01 Robert Millan <rmh@gnu.org>
9421
9422 Prevent accidental use of uninitialized libzfs_handle.
9423
9424 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9425 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9426 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9427
ce04ef47
CW
94282010-08-01 Colin Watson <cjwatson@ubuntu.com>
9429
9430 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9431 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9432
ebf53056
RM
94332010-08-01 Robert Millan <rmh@gnu.org>
9434
9435 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 9436
3710bb6b
RM
94372010-07-31 Robert Millan <rmh@gnu.org>
9438
9439 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9440
8072efeb
RM
94412010-07-31 Robert Millan <rmh@gnu.org>
9442
9443 * kern/emu/misc.c: Add missing license header.
9444
3169f4c7
RM
94452010-07-31 Robert Millan <rmh@gnu.org>
9446
9447 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9448
9449 * include/grub/util/libnvpair.h: Include `<config.h>'.
9450 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9451 declaring libnvpair prototypes ourselves.
9452 * include/grub/util/libzfs.h: Include `<config.h>'.
9453 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9454 declaring libzfs prototypes ourselves.
9455
9456 (libzfs_handle): Moved to ...
9457 * include/grub/util/misc.h (libzfs_handle): ... here.
9458 Include `<grub/util/libzfs.h>'.
9459
c9a00aee
RM
94602010-07-30 Robert Millan <rmh@gnu.org>
9461
9462 * include/grub/emu/misc.h: Add missing license header.
9463
a184f9c8
RM
94642010-07-30 Robert Millan <rmh@gnu.org>
9465
9466 Enable `grub-probe -t device' resolution on ZFS.
9467
9468 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9469 * include/grub/util/libnvpair.h: New file.
9470 * include/grub/util/libzfs.h: New file.
9471
9472 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9473 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9474 `<grub/util/libnvpair.h>'.
9475 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9476
9477 (find_mount_point_from_dir): New static function.
9478 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9479 function.
9480 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9481 find_root_device_from_libzfs() before ressorting to find_root_device().
9482
9483 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9484 prototype.
9485 * util/misc.c: Include `<grub/util/libzfs.h>'.
9486 (grub_util_init_libzfs): New function.
9487 [HAVE_LIBZFS] (libzfs_handle): New global variable.
9488 [HAVE_LIBZFS] (fini_libzfs): New static function.
9489 (grub_util_init_libzfs): New function.
9490 * util/grub-probe.c (main): Call grub_util_init_libzfs().
9491
f7790cdd
RM
94922010-07-30 Robert Millan <rmh@gnu.org>
9493
9494 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
9495 (xmalloc, xrealloc, xstrdup, xasprintf): Add
9496 `warn_unused_result' attribute.
9497 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
9498 (grub_xasprintf, grub_xvasprintf): Likewise.
9499 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9500
0806b63c
RM
95012010-07-29 Robert Millan <rmh@gnu.org>
9502
9503 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
9504 (probe): Handle `PRINT_FS_LABEL'.
9505 (main): Handle `-t fs_label'.
9506
9f841f5c
RM
95072010-07-29 Robert Millan <rmh@gnu.org>
9508
9509 * configure.ac: Remove grub-mkisofs checks.
9510
46371121
VS
95112010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * util/ieee1275/grub-install.in: Don't use empty grub_device.
9514 Reported by: Lennart Sorensen.
9515
95162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
9519 prior to terminal_input/terminal_output separation. It's been over 1.5
9520 years and those versions weren't widely deployed.
9521
a9600892
CW
95222010-07-22 Colin Watson <cjwatson@ubuntu.com>
9523
9524 * disk/raid.c (insert_array): Don't count named arrays when looking
9525 for unused array numbers.
697e053c 9526 Reported and tested by: Michael Guntsche.
a9600892 9527
c03507df
CW
95282010-07-20 Colin Watson <cjwatson@ubuntu.com>
9529
9530 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
9531 implementation of this so that grub-emu links again, with a note
9532 that this should support hotplugging in the future.
9533
b26f1c11
CW
95342010-07-20 Colin Watson <cjwatson@ubuntu.com>
9535
9536 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9537
efc9d7f1
CW
95382010-07-20 Colin Watson <cjwatson@ubuntu.com>
9539
9540 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
9541 handle on failure.
9542 (grub_loopback_close): Remove empty function.
9543 (grub_loopback_dev): Remove close method.
9544
dd8ff5c9
CW
95452010-07-20 Colin Watson <cjwatson@ubuntu.com>
9546
9547 Disable EFI cursor when the EFI console becomes inactive.
9548
9549 * term/efi/console.c (grub_efi_console_init): New function.
9550 (grub_efi_console_fini): New function.
9551 (grub_console_term_output): Register init and fini methods.
9552
5e3bec67
VS
95532010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * tests/util/grub-shell-tester.in: Remove bashism and declare as
9556 sh script.
9557
afaec079
VS
95582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * disk/loopback.c (grub_loopback): Replace filename with file.
9561 (delete_loopback): Handle new semantics.
9562 (grub_cmd_loopback): Likewise.
9563 (grub_loopback_iterate): Likewise.
9564 (grub_loopback_close): Likewise.
9565
a6a11f3c
VS
95662010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
9569 with -p "".
9570 Reported by: Tito Keitel.
9571
64a638b0
VS
95722010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * docs/grub.texi (Naming convention): Document new naming convention.
9575
ab8ba957
VS
95762010-07-20 Vadim Solomin <vadic052@gmail.com>
95772010-07-20 Colin Watson <cjwatson@ubuntu.com>
9578
9579 Generate device.map in something closer to the old ordering.
9580
9581 * util/deviceiter.c (struct device): New declaration.
9582 (compare_file_names): Rename to ...
9583 (compare_devices): ... this. Sort by kernel name in preference to
9584 the stable by-id name, but keep the latter as a fallback comparison.
9585 Update header comment.
9586 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
9587 of `struct device' rather than of plain file names.
9588
a29d6a4b
TF
95892010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
9590
9591 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
9592 on i386.
9593
39d824e8
VS
95942010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * commands/acpi.c (setup_common_tables): Use sizeof instead of
9597 hardcoding size.
9598 (setv1table): Likewise.
9599
f058276b
FZ
96002010-07-20 Colin Watson <cjwatson@ubuntu.com>
9601
9602 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
9603 removing the homehost if present.
9604 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
9605 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
9606 removing the homehost if present.
9607 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
9608 if possible.
9609 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
9610
9611 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
9612 parameter. Set its pointer target to 0.
9613 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
9614 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
9615 `data_offset' value from the superblock for 1.x metadata.
9616 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
9617 data on the device.
9618 (insert_array): Record the start sector of data on the device.
9619 (grub_raid_register): Pass start_sector parameters to
9620 grub_raid_list->detect and insert_array.
9621 * include/grub/raid.h (struct grub_raid_array): Add start_sector
9622 member.
9623 (struct grub_raid): Add start_sector parameter to `detect'.
9624
9625 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
9626 __attribute__ ((packed)), leaving a comment.
9627 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
9628 (grub_mdraid_detect_09): ... here and ...
9629 (grub_mdraid_detect_1x): ... here.
9630
96312010-07-20 Peter Henn <peter.henn@web.de>
9632
9633 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
9634 chunk size and disk size, which are already given as sector counts
9635 as distinct from the 0.90 units. Fetch the correct device number
9636 from the role table instead of using the table index.
9637
96382010-07-20 Felix Zielcke <fzielcke@z-51.de>
9639
9640 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
9641 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
9642 (WriteMostly1): New macro.
9643 Set array->name to NULL for metadata format 0.90. Add support for
9644 metadata 1.x. Fix some comments.
9645 * disk/raid.c (): Add support for name based RAID arrays. Fix a
9646 few comments.
9647 * util/getroot.c (grub_util_get_grub_dev): Add support for
9648 /dev/md/name style devices.
9649
4b761da9
CW
96502010-07-20 Colin Watson <cjwatson@ubuntu.com>
9651
9652 * .bzrignore: Ignore 20_linux_xen.
9653
5771289a
CW
96542010-07-17 Colin Watson <cjwatson@ubuntu.com>
9655
9656 * util/import_unicode.py: Remove unnecessary imports.
9657
5dab68df
AN
96582010-07-17 Aleš Nesrsta <starous@volny.cz>
9659
9660 Hotplugging and USB hub support.
9661
9662 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
9663 (grub_ohci): Likewise.
9664 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
9665 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
9666 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
9667 (GRUB_OHCI_CTRL_EDS): Likewise.
9668 (GRUB_OHCI_BULK_EDS): Likewise.
9669 (GRUB_OHCI_TDS): Likewise.
9670 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
9671 (grub_ohci_ed_phys2virt): New function.
9672 (grub_ohci_virt_to_phys): Likewise.
9673 (grub_ohci_td_phys2virt): Likewise.
9674 (grub_ohci_td_virt2phys): Likewise.
9675 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
9676 attachment.
9677 (grub_ohci_find_ed): New function.
9678 (grub_ohci_alloc_td): Likewise.
9679 (grub_ohci_free_td): Likewise.
9680 (grub_ohci_free_tds): Likewise.
9681 (grub_ohci_transfer): Use previously allocated memory.
9682 (grub_ohci_portstatus): Reset status changed bit.
9683 (grub_ohci_detect_dev): Supply status changed.
9684 (grub_ohci_fini_hw): Free memory.
9685 (grub_ohci_restore_hw): Reallocate memory.
9686 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
9687 Reset status change.
9688 (grub_uhci_detect_dev): Supply status_change.
9689 * bus/usb/usb.c (attach_hooks): New var.
9690 (grub_usb_device_attach): New function.
9691 (grub_usb_register_attach_hook_class): Likewise.
9692 (grub_usb_unregister_attach_hook_class): Likewise.
9693 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
9694 (grub_usb_add_hub): Reset connection changed bit.
9695 (attach_root_port): New function.
9696 (grub_usb_root_hub): Likewise.
9697 (poll_nonroot_hub): Likewise.
9698 (grub_usb_poll_devices): Likewise.
9699 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
9700 * disk/usbms.c (grub_usbms_open): Use device hooks.
9701 (grub_usbms_iterate) :Poll devices.
9702 (grub_usbms_finddevs): Split into ...
9703 (grub_usbms_attach): ... this ...
9704 (grub_usbms_attach): ... and this.
9705 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
9706 in detect_dev.
9707 (grub_usb_interface): New fields attached and detach_hook.
9708 (grub_usb_attach_hook_class): New type.
9709 (grub_usb_attach_desc): New struct.
9710 (grub_usb_register_attach_hook_class): New function.
9711 (grub_usb_unregister_attach_hook_class): Likewise.
9712 (grub_usb_poll_devices): Likewise.
9713 (grub_usb_device_attach): Likewise.
9714 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
9715 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
9716
3222efaf
VS
97172010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9718
9719 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
9720 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
9721 delta determination style. Works with most NetBSD partitions too.
9722
139b714a
VS
97232010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
9726 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
9727
986aad56
VS
97282010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
9731
99be513c
AB
97322010-07-14 Anton Blanchard <anton@samba.org>
9733
9734 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9735 ET_DYN files.
9736
18075f62
GS
97372010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9738
9739 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9740
8d9a5b15
GS
97412010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9742
9743 * kern/partition.c (grub_partition_check_containment): New function to
9744 check that a partition is physically contained in a parent. Since
9745 offsets are relative (and non-negative), this reduces to checking that
9746 the partition ends before its parent.
9747 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9748 (grub_partition_iterate): Likewise.
9749 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9750 comments.
9751 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9752 partitions that start before their parent, and add debug printfs.
9753
19563c25
CW
97542010-07-13 Colin Watson <cjwatson@ubuntu.com>
9755
9756 * Makefile.in (.SUFFIX): Spell correctly, as ...
9757 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9758 bare module name without `.mod', e.g. `test') tried to invoke a
9759 Modula-2 compiler.
9760
1a1f1e67
CW
97612010-07-13 Colin Watson <cjwatson@ubuntu.com>
9762
9763 * README: Point to the Info manual.
9764
811b0dca
JS
97652010-07-13 Jiro SEKIBA <jir@unicus.jp>
9766
9767 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9768 2nd superblock position from partition size.
9769
e4f4eafc
CW
97702010-07-10 Colin Watson <cjwatson@ubuntu.com>
9771
9772 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9773 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9774 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9775 outputs.
9776
4274c30f
VS
97772010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9778
9779 Restructure SCSI .id handling.
9780 Reported and tested by: Aleš Nesrsta.
9781
9782 * disk/ata.c (grub_atapi_close): Removed. All users updated.
9783 (grub_atapi_dev): Changed .name to "ata". New field .id.
9784 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
9785 (grub_usbms_dev): New field .id.
9786 * disk/scsi.c (grub_scsi_iterate): Generate name.
9787 (grub_scsi_open): Parse name.
9788 * include/grub/scsi.h (grub_make_scsi_id): New function.
9789 (grub_scsi_dev): Change iterate and open to number instead of naming
9790 busses. All users updated.
9791 (grub_scsi): Remove name. Add .bus.
9792
5bc24388
VS
97932010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 * commands/help.c (grub_cmd_help): Fix a typo.
9796
249975ba
VS
97972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
9800 Reported and tested by: Colin Watson.
9801
3eaac1a1
VS
98022010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
9805 in this context.
9806
becce1b1
VS
98072010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
9810
f7bf0918
CW
98112010-07-07 Colin Watson <cjwatson@ubuntu.com>
9812
9813 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
9814 indentation.
9815
0b0f9620
CW
98162010-07-06 Colin Watson <cjwatson@ubuntu.com>
9817
9818 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
9819 and disk/raid6_recover.c.
9820 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9821 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9822
1e545469
CW
98232010-07-06 Colin Watson <cjwatson@ubuntu.com>
9824
9825 * term/gfxterm.c (repaint_schedulded): Rename to ...
9826 (repaint_scheduled): ... this. Update all callers.
9827 (repaint_was_schedulded): Rename to ...
9828 (repaint_was_scheduled): ... this. Update all callers.
9829
5357687a
CW
98302010-07-06 Colin Watson <cjwatson@ubuntu.com>
9831
9832 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
9833 which we expect to be handled by upper layers.
9834
29d7e783
BC
98352010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
9836
9837 * bus/usb/usbhub.c: #include time.h header.
9838
37582066
CW
98392010-07-06 Colin Watson <cjwatson@ubuntu.com>
9840
9841 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
9842 entry_name also for entries without stat blocks (e.g. ".."); fixes
9843 corruption of the first entry in a directory.
9844
c8c06953
CW
98452010-07-06 Colin Watson <cjwatson@ubuntu.com>
9846
9847 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
9848 after setting gfxterm as the active terminal. GRUB_BACKGROUND
9849 doesn't work otherwise.
9850
e75056f1
CW
98512010-07-05 Colin Watson <cjwatson@ubuntu.com>
9852
9853 * docs/grub.texi (Features): Update list of supported file systems.
9854 (GNU/Linux): Update for GRUB 2.
9855 (Serial terminal): Remove mention of --disable-serial, which was a
9856 GRUB Legacy configure option. Update instructions to use
9857 `terminal_input' and `terminal_output' rather than `terminal'.
9858 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
9859 configuration' and `Installing GRUB using grub-install'.
9860 (Menu entry editor): Update for GRUB 2.
9861 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
9862 Document new -a, -u, and -v options.
9863 (initrd): New section.
9864 (initrd16): New section.
9865 (linux): New section.
9866 (linux16): New section.
9867 (search): The `var' argument to `--set' is optional.
9868 (GRUB only offers a rescue shell): Go into a little more detail on
9869 drive ordering.
9870
5cf69151
CW
98712010-07-05 Colin Watson <cjwatson@ubuntu.com>
9872
9873 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
9874
e3f90044
CW
98752010-07-05 Colin Watson <cjwatson@ubuntu.com>
9876
9877 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
9878 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
9879
38d8f4f3
CW
98802010-07-05 Colin Watson <cjwatson@ubuntu.com>
9881
9882 * util/i386/pc/grub-setup.c (setup): Rename prefix to
9883 install_prefix, in line with install_dos_part and install_bsd_part.
9884 Add new prefix variable, which is copied to install_prefix after
9885 comparing core.img in memory with the one read from disk in the
9886 no-embedding case, and use that rather than overwriting
9887 install_prefix immediately when installing to a partition.
9888 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
9889 Bicakci.
9890
57ebd41e
GS
98912010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9892
9893 * configure.ac: Avoid == in test command, it's not portable.
9894 * util/grub.d/30_os-prober.in: Likewise.
9895
cb7f64b2
CW
98962010-07-04 Colin Watson <cjwatson@ubuntu.com>
9897
9898 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
9899
6b654bb0
GS
99002010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9901
9902 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
9903 multiple (top-level) partmaps.
9904
72a2026d
VS
99052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 9908 Reported by: Tino Keitel.
72a2026d 9909
df3eb88f
VS
99102010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 Bidi and diacritics support.
9913
9914 * Makefile.in (widthspec.bin): New target.
9915 (widthspec.h): Likewise.
9916 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
9917 * autogen.sh: Generate unidata.c.
9918 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
9919 * commands/ls.c (grub_ls_list_devices): Likewise.
9920 (grub_ls_list_files): Likewise.
9921 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
9922 (grub_mini_cmd_lsmod): Likewise.
9923 * commands/read.c: Likewise.
9924 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
9925 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
9926 * lib/arg.c (grub_arg_show_help): Likewise.
9927 * lib/crypto.c (grub_password_get): Likewise.
9928 * normal/auth.c (grub_username_get): Likewise.
9929 * normal/misc.c (grub_normal_print_device_info): Likewise.
9930 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
9931 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
9932 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
9933 (normal/charset.c_DEPENDENCIES): New variable.
9934 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
9935 (pkglib_MODULES): Remove charset.mod.
9936 (charset_mod_SOURCES): Removed.
9937 (charset_mod_CFLAGS): Likewise.
9938 (charset_mod_LDFLAGS): Likewise.
9939 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
9940 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
9941 and term/tparm.c.
9942 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9943 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9944 (kernel_img_HEADERS): Add terminfo.h.
9945 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
9946 Fill ->font. Reverse ascii bitmaps.
9947 (grub_font_get_xheight): New function.
9948 * font/font.c (grub_font_get_string_width): Moved from here ...
9949 * gfxmenu/font.c (grub_font_get_string_width): ... here.
9950 * font/font.c (grub_font_draw_string): Moved from here ...
9951 * gfxmenu/font.c (grub_font_draw_string): ... here.
9952 * font/font.c (grub_font_dup_glyph): New function.
9953 (grub_font_blit_glyph): Likewise.
9954 (grub_font_blit_glyph_mirror): Likewise.
9955 (blit_comb): Likewise.
9956 (grub_font_construct_dry_run): Likewise.
9957 (grub_font_get_constructed_device_width): Likewise.
9958 (grub_font_construct_glyph): Likewise.
9959 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
9960 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
9961 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
9962 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
9963 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
9964 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
9965 (grub_font_get_xheight): New proto.
9966 (grub_font_get_constructed_device_width): Likewise.
9967 (grub_font_construct_glyph): Likewise.
9968 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
9969 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
9970 * include/grub/font.h (grub_font_draw_string): Moved from here ...
9971 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
9972 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
9973 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
9974 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
9975 (grub_console_getcharwidth): Likewise.
9976 * include/grub/misc.h (grub_xputs): New proto.
9977 (grub_puts): Inlined.
9978 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
9979 (grub_normal_get_line_counter): Removed.
9980 (grub_install_newline_hook): Likewise.
9981 (grub_normal_get_char_counter): New proto.
9982 (grub_normal_reset_more): Likewise.
9983 (grub_xputs_normal): Likewise.
9984 * include/grub/powerpc/ieee1275/console.h: Removed.
9985 * include/grub/sparc64/ieee1275/console.h: Likewise.
9986 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
9987 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
9988 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
9989 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
9990 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
9991 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
9992 (grub_term_input): Pass reference to self. All users updated.
9993 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
9994 Pass reference to self. New fields normal_color, highlight_color and
9995 data. All users updated.
9996 (grub_putchar): Removed.
9997 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
9998 (grub_unicode_estimate_width): New function.
9999 (grub_term_getcharwidth): Add defaults.
10000 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10001 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10002 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10003 (grub_cls): Remove EXPORT_FUNC.
10004 (grub_setcolorstate): Inline.
10005 (grub_newline_hook): Removed.
10006 * include/grub/terminfo.h: Rewritten. All users updated.
10007 * include/grub/unicode.h: New file.
10008 * include/grub/video.h (grub_video_signed_rect): New type.
10009 * kern/emu/console.c (grub_console_highlight_color): Removed.
10010 (grub_console_normal_color): Likewise.
10011 (grub_console_standard_color): Made static.
10012 (grub_ncurses_putchar): Remove mapping.
10013 (grub_ncurses_getcharwidth): Removed.
10014 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10015 (grub_ncurses_setcolor): Removed.
10016 (grub_ncurses_getcolor): Likewise.
10017 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10018 (grub_console_putchar): ... this.
10019 (grub_console_putchar): Handle argument difference.
10020 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10021 console_init_early and console_init_lately.
10022 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10023 * kern/misc.c (grub_puts): Removed.
10024 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10025 (grub_vsnprintf_real): Remove str = NULL support.
10026 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10027 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10028 * kern/term.c (grub_putcode): Renamed to ...
10029 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10030 (grub_putchar): Removed.
10031 (grub_xputs_dumb): New function.
10032 (grub_xputs): New variable.
10033 * lib/charset.c: Move from here ...
10034 * normal/charset.c: ... to here.
10035 (grub_ucs4_to_utf8): New function.
10036 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10037 (join_types): New variable.
10038 (unpack_join): New function.
10039 (bidi_types): New variable.
10040 (unpack_bidi): New function.
10041 (get_bidi_type): Likewise.
10042 (get_join_type): Likewise.
10043 (is_mirrored): Likewise.
10044 (grub_unicode_get_comb_type): Likewise.
10045 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10046 (is_type_after): Likewise.
10047 (grub_unicode_aglomerate_comb): Likewise.
10048 (bidi_line_wrap): Likewise.
10049 (grub_bidi_line_logical_to_visual): Likewise.
10050 (grub_bidi_logical_to_visual): Likewise.
10051 (grub_unicode_mirror_code): Likewise.
10052 (grub_unicode_shape_code): Likewise.
10053 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10054 Don't use grub_putchar.
10055 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10056 (grub_normal_reader_init): Likewise.
10057 (grub_xputs_saved): New variable.
10058 (GRUB_MOD_INIT): Set grub_xputs.
10059 (GRUB_MOD_FINI): Restore grub_xputs.
10060 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10061 (menu_init): Avoid printing gfxmenu error.
10062 (show_menu): Use grub_normal_get_char_counter.
10063 * normal/menu_entry.c (update_screen): Fix out-of-array.
10064 (complete): Avoid NULL dereferencing.
10065 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10066 * normal/menu_text.c (print_spaces): Removed.
10067 (grub_print_ucs4): Likewise.
10068 (grub_print_message_indented): Use grub_print_ucs4.
10069 (print_message): Use grub_putcode.
10070 (print_entry): Hanlde diacritics.
10071 * normal/term.c (term_state): New type.
10072 (grub_more_lines): Removed.
10073 (term_states): New variable.
10074 (grub_normal_line_counter): Renamed to ..
10075 (grub_normal_char_counter): ...this. All users updated.
10076 (grub_normal_get_line_counter): Renamed to ...
10077 (grub_normal_get_char_counter): ... this.
10078 (grub_normal_reset_more): New function.
10079 (process_newline): Removed.
10080 (print_more): New function.
10081 (grub_install_newline_hook): Removed.
10082 (map_code): New function.
10083 (grub_puts_terminal): Use grub_print_ucs4.
10084 (putglyph): New function.
10085 (putcode_real): Likewise.
10086 (grub_putcode): Use putcode_real.
10087 (get_maxwidth): New function.
10088 (get_startwidth): Likewise.
10089 (print_ucs4_terminal): Likewise.
10090 (find_term_state): Likewise.
10091 (put_glyphs_terminal): Likewise.
10092 (print_backlog): Likewise.
10093 (print_ucs4_real): Likewise.
10094 (grub_print_ucs4): Likewise.
10095 (grub_xputs_normal): Likewise.
10096 * term/efi/console.c (grub_console_putchar): Output diacritics.
10097 (grub_console_getcharwidth): Removed.
10098 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10099 * term/gfxterm.c (clear_char): Free chars.
10100 (scroll_up): Avoid leaking memory.
10101 (grub_gfxterm_putchar): Support diacritics.
10102 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10103 * term/i386/pc/console.c (grub_console_term_output): Declare as
10104 GRUB_TERM_CODE_TYPE_VGA.
10105 * term/i386/pc/vga.c (grub_vga_term): Declare as
10106 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10107 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10108 GRUB_TERM_CODE_TYPE_VGA.
10109 * term/i386/vga_common.c (map_char): Removed.
10110 (grub_console_putchar): Likewise.
10111 (grub_console_getcharwidth): Likewise.
10112 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10113 (colors): Reordered to match terminfo.
10114 (grub_ofconsole_normal_color): Removed.
10115 (grub_ofconsole_writeesc): Likewise.
10116 (grub_ofconsole_highlight_color): Likewise.
10117 (grub_ofconsole_getcharwidth): Likewise.
10118 (grub_ofconsole_setcolorstate): Likewise.
10119 (grub_ofconsole_setcolor): Likewise.
10120 (grub_ofconsole_getcolor): Likewise.
10121 (grub_ofconsole_readkey): Renamed to ...
10122 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10123 key.
10124 (grub_ofconsole_checkkey): Removed.
10125 (grub_ofconsole_getkey): Likewise.
10126 (grub_ofconsole_getxy): Likewise.
10127 (grub_ofconsole_gotoxy): Likewise.
10128 (grub_ofconsole_cls): Likewise.
10129 (grub_ofconsole_refresh): Likewise.
10130 (grub_ofconsole_terminfo_input): New struct.
10131 (grub_ofconsole_terminfo_output): Likewise.
10132 (grub_ofconsole_term_input): Use terminfo.
10133 (grub_ofconsole_term_output): Likewise.
10134 (grub_console_init): Split into ...
10135 (grub_console_init_early): ...this and ...
10136 (grub_console_init_lately): ...this. Use terminfo.
10137 (grub_ofconsole_putchar): Renamed to ...
10138 (put): ... this. Remove mapping.
10139 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10140 * term/serial.c: Simplify using terminfo.
10141 (xpos): Removed.
10142 (ypos): Likewise.
10143 (keep_track): Likewise.
10144 (registered): Likewise.
10145 (input_buf): Likewise.
10146 (npending): Likewise.
10147 (serial_translate_key_sequence): Likewise.
10148 (fill_input_buf): Likewise.
10149 (grub_serial_checkkey): Likewise.
10150 (grub_serial_getkey): Likewise.
10151 (grub_serial_getxy): Likewise.
10152 (grub_serial_gotoxy): Likewise.
10153 (grub_serial_putchar): Likewise.
10154 (grub_serial_cls): Likewise.
10155 (grub_serial_setcolorstate): Likewise.
10156 (grub_serial_setcursor): Likewise.
10157 (serial_hw_init): Use serial_hw_fetch.
10158 (grub_serial_terminfo_input): New variable.
10159 (grub_serial_terminfo_output): Likewise.
10160 (grub_serial_term_input): Use terminfo.
10161 (grub_serial_term_output): Likewise.
10162 * term/terminfo.c (putstr): Use put.
10163 (grub_terminfo_all_free): New function
10164 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10165 (grub_terminfo_output_register): New function.
10166 (grub_terminfo_output_unregister): Likewise.
10167 (grub_terminfo_getxy): Likewise.
10168 (grub_terminfo_readkey): Likewise.
10169 (grub_terminfo_checkkey): Likewise.
10170 (grub_terminfo_getkey): Likewise.
10171 (grub_terminfo_input_init): Likewise.
10172 (print_terminfo): Likewise.
10173 (grub_cmd_terminfo): Handle encoding.
10174 (grub_terminfo_gotoxy): Track position.
10175 (grub_terminfo_cls): Likewise.
10176 (grub_terminfo_putchar): Likewise.
10177 (grub_terminfo_setcolorstate): Handle colors
10178 (grub_terminfo_cursor_on): This ...
10179 (grub_terminfo_cursor_off): ... and this merged into ...
10180 (grub_terminfo_setcursor): ... this.
10181 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10182 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10183 * unicode/BidiMirroring.txt: Likewise.
10184 * unicode/UnicodeData.txt: Likewise.
10185 * unicode/COPYING: Likewise.
10186 * util/grub-editenv.c (grub_putchar): Removed.
10187 (grub_xputs_real): New function.
10188 (grub_xputs): New variable.
10189 * util/grub-fstest.c (grub_putchar): Removed.
10190 (grub_xputs_real): New function.
10191 (grub_xputs): New variable.
10192 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10193 (grub_xputs_real): New function.
10194 (grub_xputs): New variable.
10195 * util/grub-probe.c (grub_putchar): Removed.
10196 (grub_xputs_real): New function.
10197 (grub_xputs): New variable.
10198 * util/grub-script-check.c (grub_putchar): Removed.
10199 (grub_xputs_real): New function.
10200 (grub_xputs): New variable.
10201 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10202 (grub_xputs_real): New function.
10203 (grub_xputs): New variable.
10204 * util/import_unicode.py: New file.
10205 * util/grub-mkfont.c (ft_errmsgs): New array.
10206 (grub_glyph_info): Make bitmap a pointer.
10207 (file_formats): New type WIDTH_SPEC.
10208 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10209 (options): Add width-spec.
10210 (help): Likewise.
10211 (add_char): Renamed to ...
10212 (add_glyph): ... this.
10213 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10214 (glyph_replace): New type.
10215 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10216 (add_char): New function.
10217 (add_subst): Likewise.
10218 (process_cursive): Likewise.
10219 (add_font): Handle GSUB.
10220 (write_font_width_spec): New function.
10221 (main): Sort glyphs.
10222 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10223 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10224 * kern/term.c (grub_cls): Moved from here...
10225 * normal/term.c (grub_cls): ... here.
10226
50f0bcda
CW
102272010-07-02 Colin Watson <cjwatson@ubuntu.com>
10228
10229 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10230 suitable for using within the format argument of printf when
10231 converting grub_size_t.
10232 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10233 "x" to convert grub_size_t arguments.
10234
40372103
VS
102352010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10238 too long captions.
10239 (list_get_minimal_size): Take selection box into account.
10240
942a10c7
VS
102412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10244 NULL font.
10245
2bdb2892
CW
102462010-07-02 Colin Watson <cjwatson@ubuntu.com>
10247
10248 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10249 devices when iterating over /dev/disk/by-id; they will be handled
10250 later if appropriate, which they aren't always (e.g. LVM).
10251
e03ed6c1
CW
102522010-07-02 Colin Watson <cjwatson@ubuntu.com>
10253
10254 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10255 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10256 fails.
10257 (grub_halt): Likewise.
10258 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10259 reset-all fails.
10260 (grub_halt): Don't return, even if all of shut-down, power-off, and
10261 poweroff fail.
10262
47695765
CW
102632010-07-02 Colin Watson <cjwatson@ubuntu.com>
10264
10265 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10266 arguments, not three.
10267
507736c8
CW
102682010-07-02 Colin Watson <cjwatson@ubuntu.com>
10269
10270 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10271 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10272 LVM-on-RAID is handled correctly.
10273
e3c8cd37
CW
102742010-07-02 Colin Watson <cjwatson@ubuntu.com>
10275
10276 * docs/grub.texi (Changes from GRUB Legacy): New section.
10277 (Future): Fix typo.
10278
8d4a2fec
CW
102792010-07-02 Colin Watson <cjwatson@ubuntu.com>
10280
10281 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10282 grub.d/README accidentally ends up executable for one reason or
10283 another. Ignore it.
10284
1c4827be
VS
102852010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10286
10287 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10288 (gpt_partition_map_iterate): Support non-512B sectors.
10289
d9a0c941
VS
102902010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10293 Tested by: Seth Goldberg.
10294
48f27e87
VS
102952010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10298 Properly align mbi.
10299 Reported by: Seth Goldberg.
10300
b0c4f956
VS
103012010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10302
10303 * util/grub-mkrescue.in: Avoid module duplication.
10304
105a2e8c
SF
103052010-07-01 Sean Finney <seanius@seanius.net>
10306
10307 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10308
5944958c
SF
103092010-07-01 Sean Finney <seanius@seanius.net>
10310
10311 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10312
103132010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10314
10315 * disk/lvm.c (grub_lvm_checkvalue): New function.
10316 (grub_lvm_check_flag): Likewise.
10317
b79889ba
RM
103182010-07-01 Robert Millan <rmh@gnu.org>
10319
10320 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10321 Support 'p' as partition separator on kernel of FreeBSD (used
10322 with GPT labels).
10323 (grub_util_biosdisk_get_grub_dev): Likewise.
10324
ec1d04f1
VS
103252010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 Yeeloong firmware port.
10328
10329 * boot/mips/yeeloong/fwstart.S: New file.
10330 * bus/cs5536.c (gpiodump): New const.
10331 (set_io_space): New function.
10332 (set_iod): Likewise.
10333 (set_p2d): Likewise.
10334 (grub_cs5536_init_geode): Likewise.
10335 * commands/mips/yeeloong/lsspd.c: New file.
10336 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10337 (serial_mod_SOURCES): New variable.
10338 (serial_mod_CFLAGS): Likewise.
10339 (serial_mod_LDFLAGS): Likewise.
10340 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10341 term/terminfo.c and term/tparm.c.
10342 (pkglib_IMAGES): Add fwstart.img.
10343 (fwstart_img_SOURCES): New variable.
10344 (fwstart_img_CFLAGS): Likewise.
10345 (fwstart_img_ASFLAGS): Likewise.
10346 (fwstart_img_LDFLAGS): Likewise.
10347 (fwstart_img_FORMAT): Likewise.
10348 (pkglib_MODULES): Add lsspd.mod.
10349 (lsspd_mod_SOURCES): New variable.
10350 (lsspd_mod_CFLAGS): Likewise.
10351 (lsspd_mod_LDFLAGS): Likewise.
10352 (pkglib_MODULES): Add halt.mod.
10353 (halt_mod_SOURCES): New variable.
10354 (halt_mod_CFLAGS): Likewise.
10355 (halt_mod_LDFLAGS): Likewise.
10356 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10357 (serial_mod_SOURCES): Removed.
10358 (serial_mod_CFLAGS): Likewise.
10359 (serial_mod_LDFLAGS): Likewise.
10360 * disk/ata.c (check_device): New function.
10361 (grub_ata_device_initialize): Use check_device.
10362 (grub_ata_iterate): Recheck devices.
10363 (grub_ata_open): Likewise.
10364 (grub_atapi_iterate): Likewise.
10365 (grub_atapi_open): Likewise.
10366 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10367 (GRUB_ATA_CH1_PORT1): Likewise.
10368 (GRUB_ATA_CH0_PORT2): Likewise.
10369 (GRUB_ATA_CH1_PORT2): Likewise.
10370 * include/grub/mips/loongson.h: New file.
10371 * include/grub/mips/yeeloong/ec.h: Likewise.
10372 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10373 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10374 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10375 * include/grub/misc.h (grub_halt): Declare as noreturn.
10376 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10377 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10378 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10379 (UART_ENABLE_DTRRTS): Likewise.
10380 (UART_ENABLE_MODEM): Removed.
10381 (UART_ENABLE_OUT2): New const.
10382 * include/grub/term.h (grub_term_register_input_active): New function.
10383 (grub_term_register_output_active): Likewise.
10384 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10385 argument.
10386 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10387 (init_pci): New function.
10388 (grub_machine_init): Execute platform init when firmware. Init serial.
10389 (grub_halt): Implement.
10390 (grub_exit): Likewise.
10391 (grub_reboot): Likewise.
10392 * term/serial.c (serial_hw_init): Update macros.
10393 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10394 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10395 (image_targets): New target mipsel-yeeloong-flash.
10396 (generate_image): Support IMAGE_YEELOONG_FLASH.
10397 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10398 (grub_video_sm712_setup): Init card.
10399 (grub_video_sm712_set_palette): Removed.
10400 * video/sm712_init.c: New file.
10401
ff4a70d2
CW
104022010-06-30 Colin Watson <cjwatson@ubuntu.com>
10403
10404 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10405 PATH when running help2man and then run it on the unadorned
10406 executable names, rather than passing $(builddir)/* paths to
10407 help2man. This avoids the build directory ending up in generated
10408 manual pages.
10409
1246efeb
CW
104102010-06-29 Colin Watson <cjwatson@ubuntu.com>
10411
10412 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10413 to avoid accidents when debugging with 'sh -x'.
10414 * util/grub-mkrescue.in: Likewise.
10415 * util/grub.d/00_header.in: Likewise.
10416 * util/grub.d/10_hurd.in: Likewise.
10417 * util/grub.d/10_kfreebsd.in: Likewise.
10418 * util/grub.d/10_linux.in: Likewise.
10419 * util/grub.d/10_netbsd.in: Likewise.
10420 * util/grub.d/10_windows.in: Likewise.
10421 * util/grub.d/20_linux_xen.in: Likewise.
10422 * util/grub.d/30_os-prober.in: Likewise.
10423 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10424
1ba9b889
CW
104252010-06-29 Colin Watson <cjwatson@ubuntu.com>
10426
10427 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10428 last character in the buffer.
10429 Reported by: Vladimir Serbinenko.
10430
dccaf99d
RM
104312010-06-29 Robert Millan <rmh@gnu.org>
10432
10433 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10434 (Command-line and menu entry commands): Document `badram' command.
10435
d500ed12
RM
104362010-06-28 Robert Millan <rmh@gnu.org>
10437
10438 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10439 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10440 command using ${GRUB_BADRAM} as parameter.
10441
20bc84a6
CW
104422010-06-28 Colin Watson <cjwatson@ubuntu.com>
10443
10444 * docs/grub.texi (Device map): New section.
10445 (Themes): New section (stub).
10446 * Makefile.in (docs/grub.info): The info documentation now builds
10447 without errors. Make sure it stays that way.
10448
4045dee1
VS
104492010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 Use normal parser for menu entries.
10452 Reported by: Thomas Frauendorfer
10453
10454 * include/grub/parser.h (grub_parser_execute): Don't export.
10455 * normal/menu.c (grub_menu_execute_entry_real): New function.
10456 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10457
bca58c7b
CW
104582010-06-28 Colin Watson <cjwatson@ubuntu.com>
10459
10460 * docs/grub.texi (Embedded configuration): New section (replacing
10461 old "Preset Menu" stub).
10462 (Images): New section.
10463 (configfile): Note that any menu entries defined in `file' are shown
10464 immediately.
10465
dec53e63
JT
104662010-06-28 Josh Triplett <josh@joshtriplett.org>
10467
10468 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10469
c06e40f7
CW
104702010-06-28 Colin Watson <cjwatson@ubuntu.com>
10471
10472 * util/grub-install.in: Add --debug-image= option.
10473
cb88052b
CW
104742010-06-28 Colin Watson <cjwatson@ubuntu.com>
10475
10476 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10477 possible on Linux.
10478
10479 * util/deviceiter.c (check_device): Rename to ...
10480 (check_device_readable_unique): ... this. Update all callers.
10481 Maintain and check a list of which devices (by canonicalized name)
10482 have already been seen.
10483 (clear_seen_devices): New function.
10484 (compare_file_names) [__linux__]: New function.
10485 (grub_util_iterate_devices): Clear the list of seen devices on exit
10486 and (just in case) on entry.
10487 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
10488 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
10489 seen-devices list, superseded by general code in check_device.
10490
bbe34652
CW
104912010-06-28 Colin Watson <cjwatson@ubuntu.com>
10492
10493 * commands/cat.c (options): New variable.
10494 (grub_cmd_cat): Parse options. If the --dos option is given, print
10495 DOS-style "\r\n" line endings as simple newlines (Debian bug
10496 #586358).
10497 (GRUB_MOD_INIT): Use extcmd.
10498 (GRUB_MOD_FINI): Likewise.
10499 * docs/grub.texi (cat): Document --dos.
10500
412e09f3
VS
105012010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 XEN with Linux grub-mkconfig support.
10504
10505 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
10506 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
10507 GRUB_CMDLINE_XEN_DEFAULT.
10508 * util/grub.d/20_linux_xen.in: New file.
10509
53f3ef38 105102010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
10511
10512 Initialise VGA video on qemu ourselves.
10513
10514 * boot/i386/qemu/boot.S: Don't call 0xc000.
10515 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
10516 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
10517 (kernel_img_HEADERS): Add pci.h.
10518 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
10519 * configure.ac: Force unifont on qemu and yeeloong.
10520 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
10521 (grub_vga_palette_write): Use correct register.
10522 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
10523 Call grub_qemu_init_cirrus.
10524 * kern/i386/qemu/init.c: New file.
10525 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
10526
10527 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
10528
c75be4fb
PR
105292010-06-26 Pavel Roskin <proski@gnu.org>
10530
10531 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
10532 13.
10533
d8034603
CW
105342010-06-26 Colin Watson <cjwatson@ubuntu.com>
10535
10536 * docs/grub.texi (Simple configuration): Explain that
10537 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10538 set to `true' to disable their respective recovery entries, not
10539 merely set.
10540
3fa06487
CW
105412010-06-26 Colin Watson <cjwatson@ubuntu.com>
10542
10543 Make the `source' command slightly faster.
10544
10545 * normal/main.c (grub_normal_execute): Don't re-read list files when
10546 nested.
10547
e9b29642
CW
105482010-06-23 Colin Watson <cjwatson@ubuntu.com>
10549
10550 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
10551 field position and mask size to red fields from mode_info, not
10552 green.
10553 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
10554 Remove redundant tag->common.framebuffer_type assignment.
10555 Reported by: Seth Goldberg.
10556
e726542f
CW
105572010-06-23 Colin Watson <cjwatson@ubuntu.com>
10558
10559 Sync up other versions of the Linux loader with Robert Millan's
10560 change of 2010-01-09, "Make loader output a bit more user-friendly".
10561
10562 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
10563 grub_dprintf().
10564 (grub_cmd_linux): Likewise.
10565 (grub_cmd_initrd): Likewise.
10566 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
10567 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10568
d6e98a17
CW
105692010-06-21 Colin Watson <cjwatson@ubuntu.com>
10570
10571 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
10572 larger than MEMORY_MAP_SIZE.
10573
14d3f08e
BC
105742010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
10575
10576 Fix parallel build.
10577
10578 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
10579 dependency.
10580 * script/parser.y: #include grub_script.tab.h header.
10581
4f9613a3
VS
105822010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10583
10584 Support >3GiB and <16MiB RAM in i386-qemu.
10585
10586 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
10587 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
10588 (grub_lower_mem): Removed.
10589 (grub_upper_mem): Likewise.
10590 (mem_size): Made static.
10591 (above_4g): New variable.
10592 (grub_machine_mmap_init): Detect small mem_size and above_4g.
10593 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
10594 support.
10595
05e51879
VS
105962010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10597
10598 Cirrus 5446 and Bochs video cards support.
10599
10600 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
10601 video_bochs.mod
10602 (video_cirrus_mod_SOURCES): New variable.
10603 (video_cirrus_mod_CFLAGS): Likewise.
10604 (video_cirrus_mod_LDFLAGS): Likewise.
10605 (video_bochs_mod_SOURCES): Likewise.
10606 (video_bochs_mod_CFLAGS): Likewise.
10607 (video_bochs_mod_LDFLAGS): Likewise.
10608 * include/grub/vga.h: New file.
10609 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
10610 (grub_video_fb_set_page_t): New type.
10611 (grub_video_fb_setup): New prototype.
10612 (grub_video_fb_swap_buffers): Likewise.
10613 (grub_video_fb_get_info_and_fini): Likewise.
10614 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
10615 (CRTC_DATA_PORT): Likewise.
10616 (CRTC_CURSOR): Likewise.
10617 (CRTC_CURSOR_ADDR_HIGH): Likewise.
10618 (CRTC_CURSOR_ADDR_LOW): Likewise.
10619 (CRTC_CURSOR_DISABLE): Likewise.
10620 (update_cursor): Use grub_vga_cr_write.
10621 (grub_vga_text_setcursor): Likewise.
10622 * video/bochs.c: New file.
10623 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
10624 (palette): Likewise.
10625 (palette_size): Likewise.
10626 (framebuffer): New variable.
10627 (grub_video_fb_init): Use 'framebuffer'.
10628 (grub_video_fb_fini): Likewise.
10629 (grub_video_fb_get_info): Likewise.
10630 (grub_video_fb_get_palette): Likewise.
10631 (grub_video_fb_set_palette): Likewise.
10632 (grub_video_fb_set_viewport): Likewise.
10633 (grub_video_fb_get_viewport): Likewise.
10634 (grub_video_fb_map_color): Likewise.
10635 (grub_video_fb_map_rgb): Likewise.
10636 (grub_video_fb_map_rgba): Likewise.
10637 (grub_video_fb_unmap_color): Likewise.
10638 (grub_video_fb_unmap_color_int): Likewise.
10639 (grub_video_fb_fill_rect): Likewise.
10640 (grub_video_fb_blit_bitmap): Likewise.
10641 (grub_video_fb_blit_render_target): Likewise.
10642 (grub_video_fb_scroll): Likewise.
10643 (grub_video_fb_create_render_target): Likewise.
10644 (grub_video_fb_doublebuf_blit_init): Likewise.
10645 (grub_video_fb_set_active_render_target): Handle doublebuffering.
10646 (doublebuf_pageflipping_update_screen): New function.
10647 (doublebuf_pageflipping_init): Likewise.
10648 (grub_video_fb_setup): Likewise.
10649 (grub_video_fb_swap_buffers): Likewise.
10650 (grub_video_fb_get_info_and_fini): Likewise.
10651 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
10652 All users updated.
10653 (doublebuf_pageflipping_commit): Restructured into ...
10654 (doublebuf_pageflipping_set_page): ... this.
10655 (doublebuf_pageflipping_update_screen): Removed.
10656 (doublebuf_pageflipping_init): Likewise.
10657 (double_buffering_init): Likewise.
10658 (grub_video_vbe_setup): Use grub_video_fb_setup.
10659 (grub_video_vbe_swap_buffers): Removed.
10660 (grub_video_vbe_set_active_render_target): Likewise.
10661 (grub_video_vbe_get_active_render_target): Likewise.
10662 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
10663 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
10664 grub_video_fb_set_active_render_target and
10665 grub_video_fb_get_active_render_target.
10666 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
10667 (SEQUENCER_DATA_PORT): Likewise.
10668 (MAP_MASK_REGISTER): Likewise.
10669 (CRTC_ADDR_PORT): Likewise.
10670 (CRTC_DATA_PORT): Likewise.
10671 (START_ADDR_HIGH_REGISTER): Likewise.
10672 (START_ADDR_LOW_REGISTER): Likewise.
10673 (GRAPHICS_ADDR_PORT): Likewise.
10674 (GRAPHICS_DATA_PORT): Likewise.
10675 (READ_MAP_REGISTER): Likewise.
10676 (INPUT_STATUS1_REGISTER): Likewise.
10677 (INPUT_STATUS1_VERTR_BIT): Likewise.
10678 (get_map_mask): Use grub_vga_sr_read.
10679 (set_map_mask): Use grub_vga_sr_write.
10680 (set_read_map): Use grub_vga_gr_write.
10681 (set_start_address): Use grub_vga_cr_write.
10682 * video/sm712.c (framebuffer): Remove leftover fields.
10683
4321c64a
CW
106842010-06-20 Colin Watson <cjwatson@ubuntu.com>
10685
10686 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
10687 setting GRUB_VIDEO_BACKEND. Make it available as a user override
10688 instead. Replace the gfxterm backend check with a check that
10689 ${GRUB_PREFIX}/video.lst is non-empty.
10690 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
10691 again.
10692 (load_video): New generated function. Call it before loading
10693 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
10694 * util/grub.d/10_linux.in (linux_entry): Call load_video.
10695 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
10696 * docs/grub.texi (Simple configuration): Document
10697 GRUB_VIDEO_BACKEND.
10698
106992010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 Use video functions in linux and xnu loaders.
10702
10703 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
10704 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
10705 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
10706 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
10707 loader/i386/pc/linux.c.
10708 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
10709 (find_line_len): Removed.
10710 (find_framebuf): Likewise.
10711 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
10712 * loader/i386/efi/xnu.c: Removed.
10713 * loader/i386/pc/xnu.c: Moved from here...
10714 * loader/i386/xnu.c: ...here.
10715
10716 Enable priorities in video drivers.
10717
10718 * include/grub/video.h (grub_video_adapter_prio_t): New type.
10719 (grub_video_adapter): New field prio.
10720 (grub_video_register): Respect prio when inserting.
10721 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
10722 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
10723 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
10724 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
10725 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
10726 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
10727 * video/sm712.c (grub_video_sm712_adapter): Likewise.
10728
10729 Fix SDL driver ID.
10730
10731 * include/grub/video.h (grub_video_driver_id_t): New value
10732 GRUB_VIDEO_DRIVER_SDL.
10733 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10734
7d24e434
CW
107352010-06-17 Colin Watson <cjwatson@ubuntu.com>
10736
10737 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10738 argument to printf.
10739 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10740
c88a83f6
CW
107412010-06-17 Colin Watson <cjwatson@ubuntu.com>
10742
10743 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10744 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10745
094dfb69
CW
107462010-06-17 Colin Watson <cjwatson@ubuntu.com>
10747
10748 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10749 directly, and recommend grub-install instead.
10750 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10751
2164da6b
CW
107522010-06-17 Colin Watson <cjwatson@ubuntu.com>
10753
10754 Fix i386-pc prefix handling with nested partitions (Debian bug
10755 #585068). Note that the case where the core image is booted using
10756 multiboot and relocated from its original location still requires
10757 more work.
10758
10759 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10760 with "(,", fill the boot drive in between those two characters, but
10761 expect that a full partition specification including partition map
10762 names will follow.
10763 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10764 specified, write a prefix without the drive name but including a
10765 full partition specification.
10766
044e2e60
CW
107672010-06-16 Colin Watson <cjwatson@ubuntu.com>
10768
10769 * util/grub-mkconfig.in: Ignore non-option arguments, for
10770 compatibility with older versions (before 2010-06-12) which did the
10771 same. In particular, this makes it easier to ship an update-grub
10772 wrapper which is compatible with that used with GRUB Legacy (Debian
10773 bug #586056).
10774
5591324f
GS
107752010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10776
10777 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10778 for manual page generation.
10779
662e24d5
GS
107802010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10781
10782 * po/POTFILES: Remove leftover commands/handler.c.
10783
8d70754e
CW
107842010-06-14 Colin Watson <cjwatson@ubuntu.com>
10785
10786 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
10787 left this script non-functional.
10788
41160e2e
CW
107892010-06-14 Colin Watson <cjwatson@ubuntu.com>
10790
10791 * docs/man/grub-emu.h2m: New file.
10792
b5309cc1
CW
107932010-06-13 Colin Watson <cjwatson@ubuntu.com>
10794
10795 * docs/grub.texi (Commands): Document reduced command set in rescue
10796 mode.
10797 (cpuid): New section.
10798
fcb2d090
GS
107992010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
10800
10801 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
10802 new partition naming style.
10803 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
10804
96e5c556
BC
108052010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
10806
10807 Add "-o grub.iso" like cmdline options support.
10808
10809 * util/grub-install.in: Improve cmdline option parsing.
10810 * util/grub-mkconfig.in: Likewise.
10811 * util/grub-mkrescue.in: Likewise.
10812 * util/grub-reboot.in: Likewise.
10813 * util/grub-set-default.in: Likewise.
10814 * util/i386/efi/grub-install.in: Likewise.
10815 * util/ieee1275/grub-install.in: Likewise.
10816 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10817
c16be99b
CW
108182010-06-12 Colin Watson <cjwatson@ubuntu.com>
10819
10820 * .bzrignore: Ignore 41_custom.
10821
ce08a9fb
TS
108222010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10823
10824 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
10825
7beac90c
CW
108262010-06-12 Colin Watson <cjwatson@ubuntu.com>
10827
10828 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
10829 prototype declarations.
10830
10831 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
10832 generating fs, partmap, and video lists.
10833 * include/grub/fs.h (grub_fs_register): Omit prototype if
10834 GRUB_LST_GENERATOR is defined.
10835 * include/grub/partition.h (grub_partition_map_register): Likewise.
10836 * include/grub/video.h (grub_video_register): Likewise.
10837
1c8f0f8d
JM
108382010-06-12 Javier Martín <lordhabbit@gmail.com>
10839
10840 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
10841
a6085973
TS
108422010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10843
10844 * util/grub-mkrescue.in: Support --xorriso argument.
10845
25c56d29
VS
108462010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10847
10848 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
10849 Suggested by: Thomas Schmitt.
10850
e03e4b24
VS
108512010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
10854 Suggested by: Thomas Schmitt.
10855
57711df6
VS
108562010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10857
10858 custom.cfg support.
10859
10860 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
10861 * util/grub.d/41_custom.in: New file.
10862
ee62c427
CW
108632010-06-12 Colin Watson <cjwatson@ubuntu.com>
10864
10865 * util/grub-mkrescue.in (make_image): Remove sh module, which has
10866 been merged back into normal.
10867
283af07a
CW
108682010-06-11 Colin Watson <cjwatson@ubuntu.com>
10869
10870 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
10871 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
10872
56a0d956
CW
108732010-06-11 Colin Watson <cjwatson@ubuntu.com>
10874
10875 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
10876 when generating manual pages.
10877 * docs/man/grub-bin2h.h2m: New file.
10878 * docs/man/grub-editenv.h2m: New file.
10879 * docs/man/grub-fstest.h2m: New file.
10880 * docs/man/grub-install.h2m: New file.
10881 * docs/man/grub-macho2img.h2m: New file.
10882 * docs/man/grub-mkconfig.h2m: New file.
10883 * docs/man/grub-mkdevicemap.h2m: New file.
10884 * docs/man/grub-mkfont.h2m: New file.
10885 * docs/man/grub-mkimage.h2m: New file.
10886 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
10887 * docs/man/grub-mkrelpath.h2m: New file.
10888 * docs/man/grub-mkrescue.h2m: New file.
10889 * docs/man/grub-ofpathname.h2m: New file.
10890 * docs/man/grub-pe2elf.h2m: New file.
10891 * docs/man/grub-probe.h2m: New file.
10892 * docs/man/grub-reboot.h2m: New file.
10893 * docs/man/grub-script-check.h2m: New file.
10894 * docs/man/grub-set-default.h2m: New file.
10895 * docs/man/grub-setup.h2m: New file.
10896
3a37e322
VS
108972010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 Use FOR_* macros instead of *_iterate whenever possible.
10900
10901 * commands/handler.c: Removed.
10902 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
10903 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
10904 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10905 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
10906 (grub_probe_SOURCES): Remove kern/parser.c.
10907 (util/grub-script-check.c_DEPENDENCIES): Removed.
10908 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
10909 and grub_script_check_init.c.
10910 (grub_script_check_init.lst): Removed.
10911 (grub_script_check_init.h): Likewise.
10912 (grub_script_check_init.c): Likewise.
10913 (pkglib_MODULES): Remove handler.mod and sh.mod.
10914 (handler_mod_SOURCES): Removed.
10915 (handler_mod_CFLAGS): Likewise.
10916 (handler_mod_LDFLAGS): Likewise.
10917 (normal_mod_SOURCES): Remove normal/handler.c.
10918 Add script/main.c, script/script.c, script/execute.c,
10919 script/function.c, script/lexer.c, grub_script.tab.c
10920 and grub_script.yy.c.
10921 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10922 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10923 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
10924 (grub_setup_SOURCES): Remove kern/parser.c.
10925 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10926 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
10927 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10928 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10929 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10930 (grub_setup_SOURCES): Remove kern/parser.c.
10931 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10932 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
10933 * include/grub/command.h (grub_command_iterate): Removed.
10934 (FOR_COMMANDS): New macro.
10935 * include/grub/dl.h (grub_dl): New member next.
10936 (grub_dl_iterate): Removed.
10937 (grub_dl_head): New variable declaration.
10938 (FOR_DL_MODULES): New macro.
10939 * include/grub/fs.h: Include list.h.
10940 (grub_fs): Make next first element.
10941 (grub_fs_list): New variable declaration.
10942 (grub_fs_register): Make inline.
10943 (grub_fs_unregister): Likewise.
10944 (grub_fs_iterate): Removed.
10945 (FOR_FILESYSTEMS): New macro.
10946 * include/grub/handler.h: Removed.
10947 * include/grub/list.h (grub_list_hook_t): Removed.
10948 (grub_list_test_t): Likewise.
10949 (grub_list_pop): Likewise.
10950 (grub_list_iterate): Likewise.
10951 (grub_list_insert): Likewise.
10952 (FOR_LIST_ELEMENTS): New macro.
10953 * include/grub/parser.h (grub_parser_class): Removed.
10954 (grub_parser_register): Likewise.
10955 (grub_parser_unregister): Likewise.
10956 (grub_parser_get_current): Likewise.
10957 (grub_parser_set_current): Likewise.
10958 (grub_register_rescue_parser): Likewise.
10959 (grub_rescue_parse_line): New function.
10960 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
10961 * include/grub/script_sh.h (grub_script_function_list): New variable
10962 declaration.
10963 (FOR_SCRIPT_FUNCTIONS): New macro.
10964 (grub_script_function_iterate): Removed.
10965 (grub_normal_parse_line): New prototype.
10966 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
10967 (FOR_DISABLED_TERM_INPUTS): Likewise.
10968 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10969 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10970 * include/grub/video.h (grub_video_adapter): Move 'next' to first
10971 element.
10972 (grub_video_register): Inline.
10973 (grub_video_unregister): Likewise.
10974 (grub_video_adapter_list): New variable declaration.
10975 (grub_video_iterate): Removed.
10976 (FOR_VIDEO_ADAPTERS): New macro.
10977 * kern/dl.c (grub_dl_list): Removed. All users updated.
10978 (grub_dl_iterate): Removed.
10979 * kern/fs.c (grub_fs_list): Make global.
10980 (grub_fs_register): Removed.
10981 (grub_fs_unregister): Likewise.
10982 (grub_fs_iterate): Likewise.
10983 * kern/handler.c: Removed.
10984 * kern/list.c (grub_list_pop): Removed.
10985 (grub_list_iterate): Likewise.
10986 (grub_list_insert): Likewise.
10987 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
10988 (grub_prio_list_insert): Don't use grub_list_insert.
10989 * kern/main.c (grub_register_rescue_parser): Don't call
10990 grub_register_rescue_parser.
10991 * kern/parser.c (grub_parser_class): Removed.
10992 (grub_parser_execute): Use grub_rescue_parse_line.
10993 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
10994 (grub_rescue_parser): Removed.
10995 (grub_register_rescue_parser): Likewise.
10996 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
10997 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
10998 (grub_auth_check_authentication): Likewise.
10999 * normal/completion.c (iterate_command): Removed.
11000 (grub_normal_do_completion): Use FOR_COMMANDS.
11001 * normal/handler.c: Removed.
11002 * normal/main.c (read_config_file): Remove parser changing.
11003 (grub_normal_execute): Don't call read_handler_list.
11004 (grub_normal_read_line_real): Statically allocate prompt.
11005 (grub_cmdline_run): Use grub_normal_parse_line.
11006 (GRUB_MOD_FINI): Don't call free_handler_list.
11007 * normal/menu_entry.c (run): Likewise.
11008 * script/function.c (grub_script_function_list): Make global.
11009 (grub_script_function_iterate): Removed.
11010 * script/main.c (grub_normal_parse_line): Make global.
11011 (grub_sh_parser): Removed.
11012 (GRUB_MOD_INIT): Likewise.
11013 (GRUB_MOD_FINI): Likewise.
11014 * tests/lib/functional_test.c (grub_functional_test): Use
11015 FOR_LIST_ELEMENTS.
11016 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11017 (grub_test_run): Use FOR_LIST_ELEMENTS.
11018 * tests/lib/unit_test.c (main): Likewise.
11019 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11020 grub_list_pop.
11021 * util/grub-fstest.c (grub_term_input_class): Removed.
11022 (grub_term_output_class): Likewise.
11023 * util/grub-probe.c: Likewise.
11024 * util/i386/pc/grub-setup.c: Likewise.
11025 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11026 * util/grub-script-check.c (main): Don't call grub_init_all and
11027 grub_fini_all.
11028 * video/video.c (grub_video_adapter_list): Make global.
11029 (grub_video_register): Removed.
11030 (grub_video_unregister): Likewise.
11031 (grub_video_iterate): Likewise.
11032
6289c3a7
VS
110332010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11036 reported by Henrique Ferreiro.
11037
91460247
RM
110382010-06-09 Robert Millan <rmh@gnu.org>
11039
11040 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11041 ones, when both are available.
11042
0ea7c4f9
GS
110432010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11044
11045 Make --version uniform and avoid hard-coded program name.
11046
11047 * util/grub-mkimage.c (main): Use `program_name' instead of
11048 hard-coded string.
11049 * util/i386/pc/grub-setup.c (main): Likewise.
11050 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11051 * util/grub-install.in: Save the basename of $0 in $self, and use the
11052 latter in informational messages. Use the same format for --version
11053 as the binary programs.
11054 * util/grub-mkconfig.in: Likewise.
11055 * util/grub-mkrescue.in: Likewise.
11056 * util/grub-reboot.in: Likewise.
11057 * util/grub-set-default.in: Likewise.
11058 * util/i386/efi/grub-install.in: Likewise.
11059 * util/ieee1275/grub-install.in: Likewise.
11060 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11061
e8a6f3b6
GS
110622010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11063
11064 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11065 embedding area. Use <= instead of == when checking for non-emptiness.
11066
f4d095d7
GS
110672010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11068
11069 * configure.ac: Add `.' to the directories searched for unifont.
11070
50e532ca
CW
110712010-06-08 Colin Watson <cjwatson@ubuntu.com>
11072
11073 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11074 grub_script.yy.h.
11075
d39f3dec
CW
110762010-06-08 Colin Watson <cjwatson@ubuntu.com>
11077
11078 * docs/grub.texi (History): Expand to cover GRUB 2.
11079 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11080 commands, not `terminal'.
11081 (serial): Likewise.
11082 (terminal_input): New section.
11083 (terminal_output): New section.
11084 (uppermem): New section (stub).
11085 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11086
6ef0ddb4
CW
110872010-06-08 Colin Watson <cjwatson@ubuntu.com>
11088
11089 * docs/grub.texi (Security): Menu entries are unrestricted by
11090 default, not restricted to superusers as I had previously thought.
11091 Reword to account for this.
11092
e0f4c438
CW
110932010-06-07 Colin Watson <cjwatson@ubuntu.com>
11094
11095 * kern/emu/misc.c (device_mapper_null_log): New function.
11096 (grub_device_mapper_supported): New function.
11097 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11098 prototype.
11099 * kern/emu/hostdisk.c (find_partition_start): Check whether
11100 device-mapper is supported before trying to use it.
11101 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11102
da908200
CW
111032010-06-07 Colin Watson <cjwatson@ubuntu.com>
11104
11105 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11106 (File name syntax): Likewise.
11107 (help): --all is no longer supported in GRUB 2. Be more precise
11108 about pattern matching.
11109
fb55c3ac
CW
111102010-06-07 Colin Watson <cjwatson@ubuntu.com>
11111
11112 * normal/completion.c (grub_normal_do_completion): When completing
11113 arguments to "set" and the current word contains an equals sign,
11114 skip to after the equals sign before starting completion.
11115
258c2573
CW
111162010-06-07 Colin Watson <cjwatson@ubuntu.com>
11117
11118 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11119
ee75515e
CW
111202010-06-07 Colin Watson <cjwatson@ubuntu.com>
11121
11122 * docs/grub.texi (Network): New section.
11123 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11124 `(nd)' as in GRUB Legacy.
11125 (pxe_unload): New section.
11126
a6a700aa
CW
111272010-06-07 Colin Watson <cjwatson@ubuntu.com>
11128
11129 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11130 in the rescue shell, so recommend using `set' instead. Thanks,
11131 Jordan Uggla.
11132
4003dd38
CW
111332010-06-07 Colin Watson <cjwatson@ubuntu.com>
11134
11135 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11136 (password): New section.
11137 (password_pbkdf2): New section.
11138 (search): New section.
11139 (Security): New section.
11140 (Troubleshooting): New section, currently very incomplete.
11141 (Invoking grub-mkpasswd-pbkdf2): New section.
11142 (Internals): New section, currently very incomplete.
11143
e1cbcc40
CW
111442010-06-07 Colin Watson <cjwatson@ubuntu.com>
11145
11146 * util/grub.d/00_header.in: Add some more quoting (of
11147 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11148 work again.
11149 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11150
db8fa1ad
CW
111512010-06-07 Colin Watson <cjwatson@ubuntu.com>
11152
11153 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11154 to `count', fixing variable shadowing that broke the -c option.
11155
111562010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11157
11158 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11159 in case they contain spaces.
11160
f28a9212
CW
111612010-06-04 Colin Watson <cjwatson@ubuntu.com>
11162
11163 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11164 "part_" to partmap module names, in line with grub-install.
11165 Reported by: Jindřich Makovička (Debian bug #584426).
11166
9cdfe32f
CW
111672010-06-04 Colin Watson <cjwatson@ubuntu.com>
11168
11169 * util/grub-mkimage.c: Make target-related error messages slightly
11170 more helpful; -O talks about "format". Explicitly point to the use
11171 of -O if no target is specified.
11172 Reported by: Didier Raboud (Debian bug #584415).
11173
795b593a
CW
111742010-06-03 Colin Watson <cjwatson@ubuntu.com>
11175
11176 * INSTALL: Document several build requirements for optional features
11177 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11178
9d9b5833
GS
111792010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11180
11181 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11182 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11183 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11184
0819fec8
CW
111852010-06-02 Colin Watson <cjwatson@ubuntu.com>
11186
11187 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11188 Thanks to Jordan Uggla for spotting this.
11189
49396b4f
VS
111902010-06-02 Aleš Nesrsta <starous@volny.cz>
11191
11192 Finally make USB usable.
11193
11194 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11195 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11196 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11197 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11198 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11199 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11200 (GRUB_OHCI_FSMPS): Likewise.
11201 (GRUB_OHCI_PERIODIC_START): Likewise.
11202 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11203 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11204 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11205 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11206 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11207 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11208 (grub_ohci_transaction): Likewise.
11209 (grub_ohci_transfer): Improve condition detection algorithms.
11210 Handle toggle property. Program the transactions correctly.
11211 Improve error handling. Various important fixups.
11212 (grub_ohci_portstatus): Put register writes in right order.
11213 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11214 (grub_uhci_transfer): Don't show "failed" message on success.
11215 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11216 array.
11217 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11218 determine its size.
11219 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11220 before initialization is completed. Use IN direction for empty
11221 transfers. Use last_trans and compute toggle.
11222 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11223 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11224 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11225 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11226 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11227 (grub_usb_device): Increase toggle to 256.
11228 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11229 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11230 GRUB_USBMS_SUBCLASS_SFF8070.
11231 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11232 (grub_scsi_inquiry): New member page and alloc_length.
11233 (grub_scsi_request_sense): New structure.
11234 (grub_scsi_request_sense_data): Likewise.
11235 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11236 control.
11237 * disk/scsi.c (grub_scsi_request_sense): New function.
11238 (grub_scsi_test_unit_ready): Likewise.
11239 (grub_scsi_inquiry): Fill new fields.
11240 (grub_scsi_read_capacity): Likewise.
11241 (grub_scsi_read10): Add request sense at the end.
11242 (grub_scsi_read12): Likewise.
11243 (grub_scsi_write10): Likewise.
11244 (grub_scsi_write12): Likewise.
11245 (grub_scsi_open): Add Test Unit Ready.
11246 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11247 Support additional subclasses. Con't clear halt yet. Activate the
11248 proper config. Calculate LUNs correctly.
11249 (grub_usbms_transfer): Various important fixups.
11250
112512010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11254 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11255 (grub_ohci_fini_hw): New function.
11256 (grub_ohci_restore_hw): Likewise.
11257 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11258 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11259 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11260
112612010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Dedicated DMA allocations.
11264
11265 * bus/pci.c (grub_memalign_dma32): New function
11266 (grub_dma_free): Likewise.
11267 (grub_dma_get_virt): Likewise.
11268 (grub_dma_get_phys): Likewise.
11269 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11270 (grub_ohci_pci_iter): Use dma32_alloc.
11271 (grub_ohci_transfer): Likewise.
11272 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11273 (grub_usb_bulk_readwrite): Likewise.
11274 * include/grub/pci.h: Add declarations.
11275
112762010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 CS5536 support.
11279
11280 * bus/cs5536.c: New file.
11281 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11282 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11283 (cs5536_mod_SOURCES): New variable.
11284 (cs5536_mod_CFLAGS): Likewise.
11285 (cs5536_mod_LDFLAGS): Likewise.
11286 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11287 machine/pci.h.
11288 (kernel_img_SOURCES): Add bus/cs5536.c.
11289 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11290 usb_keyboard.mod.
11291 (usb_mod_SOURCES): New variable.
11292 (usb_mod_CFLAGS): New variable.
11293 (usb_mod_LDFLAGS): New variable.
11294 (usbtest_mod_SOURCES): New variable.
11295 (usbtest_mod_CFLAGS): New variable.
11296 (usbtest_mod_LDFLAGS): New variable.
11297 (ohci_mod_SOURCES): New variable.
11298 (ohci_mod_CFLAGS): New variable.
11299 (ohci_mod_LDFLAGS): New variable.
11300 (usbms_mod_SOURCES): New variable.
11301 (usbms_mod_CFLAGS): New variable.
11302 (usbms_mod_LDFLAGS): New variable.
11303 (usb_keyboard_mod_SOURCES): New variable.
11304 (usb_keyboard_mod_CFLAGS): New variable.
11305 (usb_keyboard_mod_LDFLAGS): New variable.
11306 * include/grub/smbus.h: New file.
11307 * include/grub/cs5536.h: New file.
11308
0b35b2a9
CW
113092010-06-02 Colin Watson <cjwatson@ubuntu.com>
11310
11311 * util/grub.d/00_header.in: Add safety check to make sure that
11312 ${locale_dir} exists before trying to probe it.
11313
ca0afd5b
CW
113142010-06-02 Colin Watson <cjwatson@ubuntu.com>
11315
11316 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11317 per the GNU Coding Standards; this is now too obscure to be worth
11318 documenting.
11319 (QNX): Likewise.
11320 (chainloader): Remove cross-reference to `SCO UnixWare'.
11321
1c41aa78
CW
113222010-06-02 Colin Watson <cjwatson@ubuntu.com>
11323
11324 * docs/grub.texi (Chain-loading): New section.
11325 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11326 adjusted for GRUB 2.
11327 (SCO UnixWare): Likewise.
11328 (QNX): Likewise.
11329 (chainloader): Add reference to `Block list syntax'.
11330 (drivemap): New section.
11331 (parttool): New section.
11332
bb8ea0f5
CW
113332010-06-02 Colin Watson <cjwatson@ubuntu.com>
11334
11335 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11336 the grub shell'.
11337 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11338 (Installing GRUB using grub-install): Remove reference to the grub
11339 shell; mention `grub-mkimage' and `grub-setup' instead.
11340 (Invoking grub-install): Likewise.
11341 (Interface): Add reference to `Menu entry editor'.
11342 (serial): Remove `--device' option.
11343
288dd6ed
CW
113442010-06-02 Colin Watson <cjwatson@ubuntu.com>
11345
11346 * docs/grub.texi (Configuration): New section, documenting
11347 configuration file generation using grub-mkconfig. I've left a slot
11348 for documenting the full shell scripting format but have not yet
11349 started on writing that up.
11350 (Invoking grub-mkconfig): New section.
11351
34c9f0e9
CW
113522010-06-02 Colin Watson <cjwatson@ubuntu.com>
11353
11354 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11355 (GNU GRUB manual): Likewise.
11356 (General commands): Update description of `terminfo' for GRUB 2.
11357
9121567e
CW
113582010-06-02 Colin Watson <cjwatson@ubuntu.com>
11359
11360 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11361 (GRUB_MOD_INIT): Fix capitalisation.
11362 * docs/grub.texi (Command-line and menu entry commands): Document
11363 gettext and gptsync commands.
11364
ab631611
CW
113652010-06-02 Colin Watson <cjwatson@ubuntu.com>
11366
11367 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11368 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11369
bde4a9ac
CW
113702010-06-01 Colin Watson <cjwatson@ubuntu.com>
11371
11372 Add btrfs probing support, currently only in the single-device case.
11373
11374 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11375 function.
11376 (grub_guess_root_device): Call find_root_device_from_mountinfo
11377 before looking in /dev.
11378
b1d17e10
VS
113792010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11380
11381 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11382 GRUB_DISK_SIZE_UNKNOWN.
11383 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11384
dfbfe004
JS
113852010-05-31 Jiro SEKIBA <jir@unicus.jp>
11386
11387 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11388 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11389 corrupted or not synced properly.
11390
c2ffc8e9
VS
113912010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11394 Reported by: Seth Goldberg.
11395
56293166
VS
113962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11399 addition of dest.
11400 Reported by: Seth Goldberg.
11401
7620e7de
VS
114022010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11405 Reported by: Seth Goldberg.
11406
c837af3f
VS
114072010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11410 64-bit address as signed on MIPS.
11411
c7c75cf4
CW
114122010-05-28 Colin Watson <cjwatson@ubuntu.com>
11413
11414 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11415 to the empty string.
11416
fa4b8490
BC
114172010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11418
11419 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11420
11421 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11422 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11423 * kern/misc.c (__enable_execute_stack): Disable on
11424 GRUB_MACHINE_EMU.
11425
a33075b9
CW
114262010-05-28 Colin Watson <cjwatson@ubuntu.com>
11427
11428 Make grub-probe work with symbolic links under /dev/mapper as well
11429 as with real block devices. The Linux world seems to be (at best)
11430 in transition here, and GRUB shouldn't get caught in the middle.
11431
11432 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11433 /dev/mapper.
11434
d8708134
CW
114352010-05-27 Colin Watson <cjwatson@ubuntu.com>
11436
11437 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11438 input files (in which case exit zero).
11439
db2102a0
CW
114402010-05-27 Colin Watson <cjwatson@ubuntu.com>
11441
11442 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11443 return NULL for various reasons even if it has a maximum-length
11444 buffer: for example, there might be a symlink loop, or the path
11445 might exceed PATH_MAX. If this happens, return NULL.
11446
5fdba519
RM
114472010-05-27 Robert Millan <rmh@gnu.org>
11448
11449 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11450 partmap module to handle cross-partmap setups.
11451 Reported by Orestes Mas. Gràcies!
11452
d1d368e4
CW
114532010-05-27 Colin Watson <cjwatson@ubuntu.com>
11454
11455 * util/grub-mkrescue.in: Initialise override_dir rather than
11456 assuming that it's unset or empty in the environment.
11457
95ac3c73
GS
114582010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11459
11460 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11461 variable index into p_index to suppress a warning with -Wshadow.
11462
7d8c0213
BC
114632010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11464
11465 * INSTALL: Added flex >= 2.5.35 requirement.
11466
db4d5813
VS
114672010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11470
f24f4300
VS
114712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 cmostest support.
11474
11475 * commands/i386/cmostest.c: New file.
11476 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11477 (cmostest_mod_SOURCES): New variable.
11478 (cmostest_mod_CFLAGS): Likewise.
11479 (cmostest_mod_LDFLAGS): Likewise.
11480 * conf/i386-pc.rmk: Likewise.
11481 * docs/grub.texi (Vendor power-on keys): New section.
11482 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11483 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11484 and GRUB_BUTTON_CMOS_ADDRESS.
11485 * util/grub.d/00_header.in: Handle powering-on by separate button.
11486
ad603f61
VS
114872010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11488
11489 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
11490 Removed drawing_scrollbar argument. All users updated
11491 Fixes #29792.
11492 Reported by Jo Shields
11493
3ecb080a
VS
114942010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11495
11496 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
11497 buffer since gfxterm handles double repaint.
11498
5f2316c1
VS
114992010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
11502 * term/gfxterm.c (real_scroll): Likewise.
11503
9a25f885
VS
115042010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
11507 before calling BIOS.
11508
39fbb79a
VS
115092010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11510
11511 * include/grub/i18n.h: Always enable grub_gettext.
11512
228cfa97
VS
115132010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
11516 partition naming style.
11517
21717c8f
CW
115182010-05-21 Colin Watson <cjwatson@ubuntu.com>
11519
11520 * util/grub-mkconfig.in: Fix handling of -o so that it works when
11521 not the first option.
11522
c0f48e65
CW
115232010-05-20 Colin Watson <cjwatson@ubuntu.com>
11524
11525 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
11526
96779aec
CW
115272010-05-20 Colin Watson <cjwatson@ubuntu.com>
11528
11529 * util/misc.c: Move inclusion of <limits.h> to ...
11530 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
11531
fa9d256e
GS
115322010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
11533
11534 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
11535 Fix merge error in NetBSD code.
11536 (find_partition_start) [__NetBSD__]: Likewise.
11537
123b7a85
BC
115382010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
11539
11540 Fix grub-mkrescue usage unit testing.
11541
11542 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
11543
74276c0d
CF
115442010-05-18 Christian Franke <franke@computer.org>
11545
11546 * util/grub.d/10_windows.in: Use path names instead of
11547 drive letters to prevent warning from Cygwin 1.7.
11548 Add drivemap command to menuentry if needed.
11549
c4f7b523
ST
115502010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
11551
11552 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
11553 gnumach and gnumach.gz.
11554
95b97950
VS
115552010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11556
11557 * include/grub/i18n.h (gettext): Inline instead of using #define.
11558 (grub_gettext): Likewise.
11559 (_): Likewise.
11560
01b8d2d7
VS
115612010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
11564 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
11565 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
11566 (main): Add a slash after pkglibdirroot.
11567
654e1d1e
VS
115682010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11569
11570 * util/grub-install.in: Add missing "in" keyword.
11571
26966aeb
VS
115722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
11575 Reported by: Seth Goldberg.
11576
75006747
VS
115772010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
11580
74cbf5bd
CW
115812010-05-18 Colin Watson <cjwatson@ubuntu.com>
11582
11583 * configure.ac: Check for Linux device-mapper support.
11584
11585 * util/hostdisk.c (device_is_mapped): New function.
11586 (find_partition_start): New function, partly broken out from
11587 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
11588 device-mapper support added.
11589 (linux_find_partition): Use find_partition_start.
11590 (convert_system_partition_to_system_disk): Add `st' argument.
11591 Support Linux /dev/mapper/* devices if device-mapper support is
11592 available; only DM-RAID devices are understood at present.
11593 (find_system_device): Add `st' argument. Pass it to
11594 convert_system_partition_to_system_disk.
11595 (grub_util_biosdisk_get_grub_dev): Pass stat result to
11596 find_system_device and convert_system_partition_to_system_disk. Use
11597 find_partition_start.
11598
11599 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
11600 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
11601 * util/deviceiter.c [__linux__]: Define MINOR.
11602 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
11603 * util/mkdevicemap.c (grub_putchar): New function.
11604 (grub_getkey): New function.
11605 (grub_refresh): New function.
11606 (main): Set debug=all if -v -v is used.
11607
355b51e9
CW
116082010-05-18 Colin Watson <cjwatson@ubuntu.com>
11609
11610 Fix build with non-GNU libcs.
11611
11612 * util/misc.c (canonicalize_file_name): Move to ...
11613 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
11614 grub_make_system_path_relative_to_its_root.
11615
7fb5c25f
CW
116162010-05-18 Colin Watson <cjwatson@ubuntu.com>
11617
11618 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
11619 we handle finding grub-mkimage. Default to finding grub-mkimage in
11620 ${bindir} with program_transform_name applied, and provide a
11621 --grub-mkimage option to override this.
11622
1d3293d6
VS
116232010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 Remove grub-mkisofs.
11626
11627 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
11628 (grub_mkisofs_SOURCES): Removed.
11629 (grub_mkisofs_CFLAGS): Removed.
11630 * util/mkisofs/defaults.h: Removed.
11631 * util/mkisofs/eltorito.c: Likewise.
11632 * util/mkisofs/exclude.h: Likewise.
11633 * util/mkisofs/hash.c: Likewise.
11634 * util/mkisofs/include/: Likewise.
11635 * util/mkisofs/include/fctldefs.h: Likewise.
11636 * util/mkisofs/include/mconfig.h: Likewise.
11637 * util/mkisofs/include/prototyp.h: Likewise.
11638 * util/mkisofs/include/statdefs.h: Likewise.
11639 * util/mkisofs/iso9660.h: Likewise.
11640 * util/mkisofs/joliet.c: Likewise.
11641 * util/mkisofs/match.c: Likewise.
11642 * util/mkisofs/match.h: Likewise.
11643 * util/mkisofs/mkisofs.c: Likewise.
11644 * util/mkisofs/mkisofs.h: Likewise.
11645 * util/mkisofs/msdos_partition.h: Likewise.
11646 * util/mkisofs/multi.c: Likewise.
11647 * util/mkisofs/name.c: Likewise.
11648 * util/mkisofs/rock.c: Likewise.
11649 * util/mkisofs/tree.c: Likewise.
11650 * util/mkisofs/write.c: Likewise.
11651
5dde9afe
VS
116522010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 Unify grub-mkimage accross platforms.
11655
11656 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
11657 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
11658 (grub_mkelfimage_SOURCES): Removed.
11659 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
11660 (util/grub-mkimage.c_DEPENDENCIES): .. this.
11661 (bin_UTILITIES): Add grub-mkimage.
11662 (grub_mkimage_SOURCES): New variable.
11663 (kernel_img_HEADERS): Remove machine/kernel.h.
11664 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
11665 (pkglib_PROGRAMS): Add kernel.img.
11666 (kernel_img_HEADERS): Add machine/kernel.h.
11667 (kernel_img_FORMAT): Removed.
11668 (bin_UTILITIES): Remove grub-mkimage.
11669 (grub_mkimage_SOURCES): Removed.
11670 (grub_mkimage_CFLAGS): Likewise.
11671 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11672 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
11673 (pkglib_PROGRAMS): Add kernel.img.
11674 (bin_UTILITIES): Remove grub-mkimage.
11675 (grub_mkimage_SOURCES): Removed.
11676 (grub_mkimage_CFLAGS): Likewise.
11677 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11678 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
11679 (pkglib_PROGRAMS): Add kernel.img.
11680 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
11681 (pkglib_PROGRAMS): Add kernel.img.
11682 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
11683 (grub_mkimage_SOURCES): Removed.
11684 (grub_mkimage_CFLAGS): Likewise.
11685 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11686 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
11687 (pkglib_PROGRAMS): Add kernel.img.
11688 (bin_UTILITIES): Remove grub-mkimage.
11689 (grub_mkimage_SOURCES): Removed.
11690 (grub_mkimage_CFLAGS): Likewise.
11691 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11692 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
11693 (grub_mkimage_SOURCES): Removed.
11694 (grub_mkimage_CFLAGS): Likewise.
11695 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
11696 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
11697 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
11698 (grub_pe32_optional_header): ... this.
11699 (grub_pe64_optional_header): ... and this. All users updated.
11700 (GRUB_PE32_PE32_MAGIC): Split into ..
11701 (GRUB_PE32_PE32_MAGIC): .. this.
11702 (GRUB_PE32_PE64_MAGIC): .. and this.
11703 (GRUB_PE32_SIGNATURE_SIZE): New definition.
11704 * include/grub/elf.h (PT_GNU_STACK): New definition.
11705 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
11706 * include/grub/i386/efi/kernel.h: Likewise.
11707 * include/grub/i386/kernel.h: Likewise.
11708 * include/grub/i386/pc/kernel.h: Likewise.
11709 * include/grub/i386/qemu/boot.h: Likewise.
11710 * include/grub/mips/kernel.h: Likewise.
11711 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11712 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11713 * include/grub/powerpc/kernel.h: Likewise.
11714 * include/grub/sparc64/ieee1275/boot.h: Likewise.
11715 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11716 * include/grub/sparc64/kernel.h: Likewise.
11717 * include/grub/x86_64/efi/kernel.h: Likewise.
11718 * include/grub/x86_64/kernel.h: Likewise.
11719 * include/grub/offsets.h: New file.
11720 * include/grub/kernel.h (grub_module_info): Split into ...
11721 (grub_module_info32): ... this.
11722 (grub_module_info64): ... and this.
11723 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
11724 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
11725 (grub_boot_blocklist): Moved from here ...
11726 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
11727 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
11728 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
11729 * include/grub/types.h (grub_target_to_host16): Removed.
11730 (grub_target_to_host32): Likewise.
11731 (grub_target_to_host64): Likewise.
11732 (grub_host_to_target16): Likewise.
11733 (grub_host_to_target32): Likewise.
11734 (grub_host_to_target64): Likewise.
11735 (grub_host_to_target_addr): Likewise.
11736
11737 Support grub-mkrescue for efi, coreboot and qemu.
11738
11739 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11740 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11741 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11742 * util/grub-mkrawimage.c: Moved from here ...
11743 * util/grub-mkimage.c: ... here. All users updated.
11744 (ALIGN_ADDR): Use image_target.
11745 (TARGET_NO_FIELD): New const.
11746 (image_target_desc): New type.
11747 (image_targets): New array.
11748 (grub_target_to_host64): Use image_target.
11749 (grub_target_to_host32): Likewise.
11750 (grub_target_to_host16): Likewise.
11751 (grub_host_to_target64): Likewise.
11752 (grub_host_to_target32): Likewise.
11753 (grub_host_to_target16): Likewise.
11754 (grub_host_to_target_addr): Likewise.
11755 (generate_image): Handle multiimage.
11756 (main): Require -O parameter. All users updated.
11757 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11758 util/efi/grub-mkimage.c
11759 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11760 New option --rom-directory.
11761 Use xorriso.
11762 * util/i386/efi/grub-mkimage.c: Removed.
11763 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11764 (grub_target_to_host32): Likewise.
11765 (grub_target_to_host64): Likewise.
11766 (grub_host_to_target16): Likewise.
11767 (grub_host_to_target32): Likewise.
11768 (grub_host_to_target64): Likewise.
11769 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11770 (grub_target_to_host32): Likewise.
11771 (grub_target_to_host64): Likewise.
11772 (grub_host_to_target16): Likewise.
11773 (grub_host_to_target32): Likewise.
11774 (grub_host_to_target64): Likewise.
11775
f4fc97d0
BC
117762010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11777
11778 Source tree is reorganized for emu build.
11779
11780 * include/grub/util/console.h: Move from here...
11781 * include/grub/emu/console.h: ...to here.
11782 * include/grub/util/getroot.h: Move from here...
11783 * include/grub/emu/getroot.h: ...to here.
11784 * include/grub/util/hostdisk.h: Move from here...
11785 * include/grub/emu/hostdisk.h: ...to here.
11786 * util/console.c: Move from here...
11787 * kern/emu/console.c: ...to here.
11788 * util/getroot.c: Move from here...
11789 * kern/emu/getroot.c: ...to here.
11790 * util/grub-emu.c: Move from here...
11791 * kern/emu/main.c: ...to here.
11792 * util/hostdisk.c: Move from here...
11793 * kern/emu/hostdisk.c: ...to here.
11794 * util/hostfs.c: Move from here...
11795 * kern/emu/hostfs.c: ...to here.
11796 * util/mm.c: Move from here...
11797 * kern/emu/mm.c: ...to here.
11798 * util/pci.c: Move from here...
11799 * bus/emu/pci.c: ...to here.
11800 * util/sdl.c: Move from here...
11801 * video/emu/sdl.c: ...to here.
11802 * util/time.c: Move from here...
11803 * kern/emu/time.c: ...to here.
11804 * util/usb.c: Move from here...
11805 * bus/usb/emu/usb.c: ...to here.
11806
11807 * include/grub/emu/misc.h: New header for grub-emu functions.
11808 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
11809
11810 * conf/any-emu.rmk: Rule updates for above renames.
11811 * conf/common.rmk: Likewise.
11812 * conf/i386-pc.rmk: Likewise.
11813 * conf/i386-qemu.rmk: Likewise.
11814 * conf/mips.rmk: Likewise.
11815 * conf/sparc64-ieee1275.rmk: Likewise.
11816 * conf/x86-efi.rmk: Likewise.
11817
11818 * disk/lvm.h: #include updates for above renames.
11819 * util/grub-mkrelpath.c: Likewise.
11820 * util/grub-probe.c: Likewise.
11821 * util/i386/pc/grub-setup.c: Likewise.
11822 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11823 * kern/emu/console.c: Likewise.
11824 * kern/emu/getroot.c: Likewise.
11825 * kern/emu/hostdisk.c: Likewise.
11826 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
11827
11828 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
11829 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
11830 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
11831 * util/misc.c: Remove grub-emu functions.
11832
cced9145
VS
118332010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11834
11835 Fix gfxmenu crash.
11836 Reported by: Thorsten Grützmacher.
11837
11838 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
11839 timeout hook.
11840 (circprog_set_property): Register and unregister timeout hook.
11841 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
11842 (label_destroy): Free template. and unregister hook.
11843 (label_set_state): New function.
11844 (label_set_property): Handle templates and hooks.
11845 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
11846 timeout hook.
11847 (progress_bar_set_property): Register and unregister timeout hook.
11848 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
11849 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
11850 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
11851 (update_timeout_visit): Removed.
11852 (update_timeouts): New function.
11853 (redraw_timeouts): Likewise.
11854 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
11855 (grub_gfxmenu_clear_timeout): Likewise.
11856 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
11857 (grub_gfxmenu_timeout_notify): Likewise.
11858 (grub_gfxmenu_timeout_notifications): New external variable.
11859 (grub_gfxmenu_timeout_register): New function.
11860 (grub_gfxmenu_timeout_unregister): Likewise.
11861
c6e5caab
VS
118622010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 Transform (broken) vga terminal into (working) vga video driver.
11865
11866 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
11867 video/i386/pc/vga.c.
11868 * include/grub/video.h (grub_video_driver_id):
11869 Add GRUB_VIDEO_DRIVER_VGA.
11870 * term/i386/pc/vga.c: Renamed to ...
11871 * video/i386/pc/vga.c: ...this
11872 (DEBUG_VGA): Removed.
11873 (CHAR_WIDTH): Likewise.
11874 (CHAR_HEIGHT): Likewise.
11875 (TEXT_WIDTH): Likewise.
11876 (TEXT_HEIGHT): Likewise.
11877 (DEFAULT_FG_COLOR): Likewise.
11878 (DEFAULT_BG_COLOR): Likewise.
11879 (colored_char): Likewise.
11880 (xpos): Likewise.
11881 (ypos): Likewise.
11882 (cursor_state): Likewise.
11883 (fg_color): Likewise.
11884 (bg_color): Likewise.
11885 (text_buf): Likewise.
11886 (page): Likewise.
11887 (font): Likewise.
11888 (framebuffer): New variable.
11889 (set_read_map): Disabled.
11890 (setup): New variable.
11891 (is_target): Likewise.
11892 (grub_vga_mod_init): Likewise.
11893 (grub_vga_mod_fini): Likewise.
11894 (check_vga_mem): Likewise.
11895 (write_char): Likewise.
11896 (write_cursor): Likewise.
11897 (scroll_up): Likewise.
11898 (grub_vga_putchar): Likewise.
11899 (grub_vga_getcharwidth): Likewise.
11900 (grub_vga_getwh): Likewise.
11901 (grub_vga_getxy): Likewise.
11902 (grub_vga_gotoxy): Likewise.
11903 (grub_vga_cls): Likewise.
11904 (grub_vga_setcolorstate): Likewise.
11905 (grub_vga_setcursor): Likewise.
11906 (grub_video_vga_init): New function.
11907 (grub_video_vga_setup): Likewise.
11908 (grub_video_vga_fini): Likewise.
11909 (update_target): Likewise.
11910 (grub_video_vga_blit_bitmap): Likewise.
11911 (grub_video_vga_blit_render_target): Likewise.
11912 (grub_video_vga_set_active_render_target): Likewise.
11913 (grub_video_vga_get_active_render_target): Likewise.
11914 (grub_video_vga_swap_buffers): Likewise.
11915 (grub_video_vga_set_palette): Likewise.
11916 (grub_video_vga_get_info_and_fini): Likewise.
11917 (grub_vga_term): Removed.
11918 (grub_video_vga_adapter): New variable.
11919 (GRUB_MOD_INIT): Register a video driver instead of terminal.
11920 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
11921
2bf61a98
VS
119222010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 * video/readers/jpeg.c: Indented.
11925
09ddcd11
VS
119262010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 Various jpeg cleanups.
11929
11930 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
11931 (grub_jpeg_decode_quan_table): Use sizeof.
11932 (grub_jpeg_decode_du): Use ARRAY_SIZE.
11933
e5507505
PH
119342010-05-05 Peter Hurley <No e-mail available> (tiny change)
11935
11936 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
11937 tables. Ignore non-last ac bit.
11938 (grub_jpeg_decode_quan_table): Likewise.
11939
7e720a9b
VS
119402010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
11943 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
11944 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11945 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
11946 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
11947 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
11948
a7fc080b
VS
119492010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
11952 error.
11953
2bf6012d
VS
119542010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11955
11956 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
11957
265d68cd
VS
119582010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
11961 condition.
11962
119632010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
11964
11965 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
11966 part.
11967
265d68cd 119682010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
11969
11970 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
11971 pointers.
11972
265d68cd 119732010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
11974
11975 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
11976
d1b61374
CF
119772010-05-01 Christian Franke <franke@computer.org>
11978
11979 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
11980 Remove broken Cygwin path conversion.
11981 * util/misc.c: [__CYGWIN__] Add include and define.
11982 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
11983 for Cygwin 1.7.
11984 (make_system_path_relative_to_its_root): Simplify loop, replace early
11985 return by break.
11986 [__CYGWIN__] Add conversion to win32 path.
11987 Include "/" case in trailing slash removal.
11988
3558c6e9
VS
119892010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * kern/main.c (grub_load_config): Fix copy-pasted comment.
11992 Reported by: Seth Goldberg
11993
f5f3ff93
VS
119942010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * commands/help.c (grub_cmd_help): Fix a typo.
11997 Reported by: Seth Goldberg
11998
d8b5cd40
VS
119992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12002 name and add N_.
12003 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12004 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12005 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12006 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12007 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12008 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12009 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12010 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12011 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12012 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12013 * normal/context.c (GRUB_MOD_INIT): Likewise.
12014 * normal/main.c (GRUB_MOD_INIT): Likewise.
12015 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12016 * term/serial.c (GRUB_MOD_INIT): Likewise.
12017 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12018
88c14915
VS
120192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12020
12021 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12022 extra == 0.
12023
165134bc
VS
120242010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 * commands/iorw.c: New file.
12027 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12028 (iorw_mod_SOURCES): New variable.
12029 (iorw_mod_CFLAGS): Likewise.
12030 (iorw_mod_LDFLAGS): Likewise.
12031
c5ac9b32
VS
120322010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 Hotkey support
12035
12036 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12037 * normal/main.c (hotkey_aliases): New variable.
12038 (grub_normal_add_menu_entry): Parse "--hotkey".
12039 * normal/menu_text.c (run_menu): Handle hotkeys.
12040
ce60689c
VS
120412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * kern/i386/coreboot/init.c (grub_machine_init): Call
12044 grub_machine_mmap_init on qemu.
12045
0359d006
VS
120462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12047
12048 * boot/i386/qemu/boot.S: Add a missing .code16.
12049
7819a456
VS
120502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 Use LBIO on coreboot.
12053
12054 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12055 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12056 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12057 New declaration.
12058 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12059 grub_machine_mmap_init on coreboot.
12060 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12061 GRUB_LINUXBIOS_MEMBER_LINK.
12062 (grub_machine_mmap_iterate): Fix declaration.
12063 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12064
7210dca9
VS
120652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 Split coreboot and multiboot ports.
12068
12069 * conf/i386-multiboot.rmk: New file.
12070 * configure.ac: Add multiboot port.
12071 * include/grub/i386/multiboot/boot.h: New file.
12072 * include/grub/i386/multiboot/console.h: Likewise.
12073 * include/grub/i386/multiboot/init.h: Likewise.
12074 * include/grub/i386/multiboot/kernel.h: Likewise.
12075 * include/grub/i386/multiboot/loader.h: Likewise.
12076 * include/grub/i386/multiboot/memory.h: Likewise.
12077 * include/grub/i386/multiboot/serial.h: Likewise.
12078 * include/grub/i386/multiboot/time.h: Likewise.
12079 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12080 * loader/multiboot.c: Likewise.
12081 * loader/multiboot_mbi2.c: Likewise.
12082 * util/grub-mkrescue.in: Generate multiboot rescue.
12083
6f8aaf68
VS
120842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12085
3080f7a7
VS
12086 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12087
120882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12091
12092 * commands/terminal.c (abstract_terminal): New struct.
12093 (handle_command): New function. Based on grub_cmd_terminal_input.
12094 (grub_cmd_terminal_input): Use handle_command.
12095 (grub_cmd_terminal_output): Use handle_command.
12096
a8ebb841
BC
120972010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12098
12099 Fix comment handling.
12100
12101 * tests/grub_script_comments.in: New testcase.
12102 * conf/tests.rmk: Rules for new testcase.
12103 * script/yylex.l: Updated flex rules.
12104
bb06ba08
ST
121052010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12106
12107 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12108 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12109 if argc is 1.
bb06ba08 12110
cc9d2425
VS
121112010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12114 autogen issues.
12115
460d8402
CF
121162010-04-26 Christian Franke <franke@computer.org>
12117
12118 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12119 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12120 (grub_get_prefix): Remove function.
12121 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12122 make_system_path_relative_to_its_root ().
12123 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12124
553c01f9
CF
121252010-04-24 Christian Franke <franke@computer.org>
12126
12127 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12128 (kernel_img_LDFLAGS): Remove -static-libgcc.
12129
2aec1692
CF
121302010-04-24 Christian Franke <franke@computer.org>
12131
12132 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12133 and CHECK_END_SYMBOL if grub-emu is built.
12134 Unset TARGET_OBJ2ELF if grub-emu is built
12135 without module support.
12136
f67dc308
JS
121372010-04-24 Jiro SEKIBA <jir@unicus.jp>
12138
12139 Nilfs2 support.
12140
12141 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12142 (grub_fstest_SOURCES): Likewise.
12143 (pkglib_MODULES): Add nilfs2.mod.
12144 (nilfs2_mod_SOURCES): New variable.
12145 (nilfs2_mod_CFLAGS): Likewise.
12146 (nilfs2_mod_LDFLAGS): Likewise.
12147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12148 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12149 * fs/nilfs2.c: New file.
12150
4ba8d354
VS
121512010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12154 is not supported.
12155
0d2c20c6
GS
121562010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12157
12158 Add grub-mkconfig support for NetBSD.
12159
12160 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12161 * util/grub-mkconfig.in: export new NetBSD specific variables.
12162 * po/POTFILES-shell: added 10_netbsd.in.
12163 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12164
bc4a2d83
BC
121652010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12166
12167 Fix emu build with grub-emu-pci and grub-emu-modules.
12168
12169 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12170 functions.
12171 * include/grub/libpciaccess.h: New file.
12172 * conf/any-emu.rmk: Update kernel headers for emu build.
12173
f48c87aa
VS
121742010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12175
12176 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12177
18959385
VS
121782010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12181
0037de3f
VS
121822010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12183
12184 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12185 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12186 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12187 util/ieee1275/ofpath.c.
12188 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12189 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12190 * include/grub/sparc64/ieee1275/boot.h
12191 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12192 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12193 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12194 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12195 const char *.
12196 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12197 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12198 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12199 install.
12200
38e55e90
GS
122012010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12202
12203 * util/grub-mkconfig.in: Corrected two == equality tests.
12204 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12205 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12206 expect a number appended to it.
12207 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12208 expects a number appended to it.
12209
a9e6ff28
VS
122102010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12213
0b830b8f
VS
122142010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12215
12216 * util/hostdisk.c (make_device_name): Change to new partition naming.
12217
0973daeb
VS
122182010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12221
460d8402 122222010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12223
12224 * Makefile.in: Add missing localedir setting.
12225
0b456309
CW
122262010-04-14 Colin Watson <cjwatson@ubuntu.com>
12227
12228 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12229 mistake in r2156. Noticed by Anthony Fok.
12230
12231 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12232 @localedir@.
12233 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12234
08f46d62
BC
122352010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12236
12237 Fix a spurious, uninitialized variable warning.
12238
12239 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12240 Initialize variable, shdr.
12241 (grub_freebsd_load_elfmodule): Likewise.
12242 (grub_freebsd_load_elf_meta): Likewise.
12243
8c4a72d4
BC
122442010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12245
12246 Fix for escaped dollar in double quoted strings.
12247
12248 * script/yylex.l: Updated flex rules.
12249 * conf/tests.rmk: Rule for new testcase.
12250 * tests/grub_script_dollar.in: New testcase.
12251
ce44826e
CPE
122522010-04-13 Carles Pina i Estany <carles@pina.cat>
122532010-04-13 Colin Watson <cjwatson@ubuntu.com>
12254
12255 Enclose all translated strings in grub.cfg in single quotes, and
12256 escape them appropriately (Ubuntu bug #552921).
12257
12258 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12259 * util/grub.d/10_hurd.in: Use it.
12260 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12261 * util/grub.d/10_linux.in (linux_entry): Likewise.
12262
4b0cd8f8
VS
122632010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12264
12265 Fix cygwin compilation.
12266
12267 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12268 * include/grub/misc.h (__register_frame_info)
12269 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12270 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12271 * kern/misc.c (__register_frame_info)
12272 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12273 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12274
01fcf061
VS
122752010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12278
5d04b11e
VS
122792010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 Unify libgcc processing.
12282
12283 * Makefile.in (kernel_img_LDFLAGS): New variable.
12284 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12285 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12286 overwriting.
12287 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12288 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12289 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12290 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12291 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12292 overwriting. Remove -lgcc and -static-libgcc
12293 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12294 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12295 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12296 (kernel_img_LDFLAGS): Append instead of overwriting.
12297 Remove -lgcc and -static-libgcc
12298 * conf/sparc64-ieee1275.rmk: Likewise.
12299 * include/grub/powerpc/libgcc.h: Move to ...
12300 * include/grub/libgcc.h: .. this.
12301 * include/grub/libgcc.h: Don't export most of the function on x86.
12302 (__bswapsi2): New export.
12303 (__bswapdi2): Likewise.
12304 * include/grub/mips/libgcc.h: Removed.
12305 * include/grub/sparc64/libgcc.h: Likewise.
12306
b7f3ac29
VS
123072010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12310 disk_info_msg (conflicts with gettexting into languages with cases).
12311
2c7031b1
GS
123122010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12313
12314 Add grub-probe support for NetBSD.
12315
12316 * util/getroot.c (find_root_device): Convert block device to
12317 character device on NetBSD.
12318 * util/probe.c (probe): Require character device on NetBSD.
12319 * util/hostdisk.c: NetBSD specific headers.
12320 (configure_device_driver): new function to tune device driver
12321 parameters (currently only for NetBSD floppy driver).
12322 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12323 via disklabel ioctl).
12324 (open_device): call configure_device_driver on NetBSD.
12325 (convert_system_partition_to_system_disk): NetBSD specific code.
12326 (device_is_wholedisk): Likewise.
12327 (grub_util_biosdisk_get_grub_dev): Likewise.
12328 (make_device_name): Fixed a typo in bsd_part_str.
12329 * configure.ac: check for opendisk() and getrawpartition() on
12330 NetBSD and set LIBUTIL.
12331 * Makefile.in: add LIBUTIL to LIBS.
12332
f516290c
BC
123332010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12334
12335 Documentation fix.
12336
12337 * util/grub-script-check.c: Better help message.
12338
d8dcc0df
BC
123392010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12340
12341 Fix FreeBSD build.
12342
12343 * configure.ac: Flex version check.
12344 * conf/common.rmk: Add -Wno-error to sh.mod.
12345 * script/yylex.l: Remove all #pragma.
12346
6734334a
VS
123472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12350 prototype.
12351 Reported by: Seth Goldberg.
12352
daea6abd
VS
123532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12354
12355 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12356 Rename "module" to "module2".
12357 Reported by: Seth Goldberg.
12358
f2fd9d2b
VS
123592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12360
12361 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12362 EXPORT_FUNC.
12363 Reported by: Seth Goldberg.
12364
be124579
VS
123652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12366
12367 * lib/posix_wrap/locale.h: Add missing file.
12368 Reported by: Seth Goldberg.
12369
ef5da797
VS
123702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 grub-emu module load support.
12373
12374 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12375 NO_DYNAMIC_MODULES switched to this.
12376 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12377 (CFLAGS): Likewise.
12378 * conf/any-emu.rmk: Generate symlist.
12379 (kernel_img_HEADERS): Add util/datetime.h.
12380 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12381 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12382 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12383 kern/$(target_cpu)/cache.S.
12384 * configure.ac (grub-emu-modules): New option.
12385 * genmk.rb: Handle multiple source lists.
12386 * include/grub/sdl.h: New file.
12387 * include/grub/libusb.h: Likewise.
12388 * util/grub-emu.c (main): Hanle (host) root.
12389 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12390 GRUB_ERR_UNKNOWN_DEVICE.
12391 * util/misc.c: Move mm functions to ...
12392 * util/mm.c: ... here. All users updated.
12393
47822096
VS
123942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12397 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12398 missing files.
12399 (maintainer-clean): Remove libgcrypt-grub.
12400
5d7e7445
VS
124012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12402
12403 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12404
25f4e252
EC
124052010-04-09 EFI Coder <eficoder@hotmail.com>
12406
12407 * normal/menu_text.c (print_message): Clean up the message and show
12408 the Fn information when on EFI
12409 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12410
027de555
VS
124112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12414 All users updated.
12415 * normal/crypto.c (read_crypto_list): Likewise.
12416 * normal/dyncmd.c (read_command_list): Likewise.
12417 * normal/term.c (read_terminal_list): Likewise.
12418 * normal/main.c (read_lists): Use explicit prefix.
12419 (read_lists_hook): Use read_lists.
12420 (grub_normal_execute): Likewise.
12421
47779711
VS
124222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12423
12424 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12425 Reported by: Thomas Schmitt.
12426 Add -no-emul-boot to grub-mkisofs parameters.
12427
1118c32e
VS
124282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * font/font.c: Indented.
12431
7d652447
BC
124322010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12433
12434 Elif support to GRUB script (by Deepak Vankadaru).
12435
12436 * tests/grub_script_if.in: New testcase.
12437 * conf/tests.rmk: Rule for new testcase.
12438 * script/parser.y: Grammar rules for elif.
12439
34bb22df
BC
124402010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12441
12442 While and until loops support to GRUB script.
12443
12444 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12445 (grub_script_create_cmdwhile): New function prototype.
12446 (grub_script_execute_cmdwhile): New function prototype.
12447 * script/execute.c (grub_script_execute_cmdwhile): New function.
12448 * script/parser.y (command): New commands.
12449 (whilecmd): New grammar rule.
12450 (untilcmd): New grammar rule.
12451 * script/script.c (grub_script_create_cmdwhile): New function.
12452 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12453 function.
12454
12455 * tests/grub_script_while1.in: New testcase.
12456 * conf/tests.rmk: Rule for new testcase.
12457
e215d8e0
VS
124582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12461 as *.jpg.
12462
d7c43ba1
MV
124632010-04-09 Mario Vazquez <mariovazq@gmail.com>
12464
12465 GRUB_BACKGROUND support.
12466
12467 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12468 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12469
d64795c0
VS
124702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 12473 Idea by: Mario Vazquez
d64795c0
VS
12474
12475 * util/grub.d/00_header.in: Load pf2 and image modules.
12476
f267f83a
VS
124772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 grub-mkconfig multiple terminal support.
12480
12481 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12482 * util/grub.d/00_header.in: Likewise.
12483
b7841ceb
VS
124842010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12485
12486 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12487 we use cd $(srcdir).
12488
df60998c
CW
124892010-04-08 Colin Watson <cjwatson@ubuntu.com>
12490
12491 * util/grub.d/10_linux.in: Only use the first word of
12492 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
12493 spaces in GRUB_DISTRIBUTOR.
12494 * util/grub.d/10_kfreebsd.in: Likewise.
12495 * util/grub.d/10_hurd.in: Likewise.
12496
fa09c82e
BC
124972010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
12498
14e18ae3 12499 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12500
12501 * tests/util/grub-shell.in: Remove -serial stdio option.
12502
daf892b3
BC
125032010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12504
12505 POSIX header file wrappers.
12506
12507 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
12508 equivalents.
12509 * lib/posix_wrap/ctype.h: Likewise.
12510 * lib/posix_wrap/errno.h: Likewise.
12511 * lib/posix_wrap/langinfo.h: Likewise.
12512 * lib/posix_wrap/limits.h: Likewise.
12513 * lib/posix_wrap/localcharset.h: Likewise.
12514 * lib/posix_wrap/stdint.h: Likewise.
12515 * lib/posix_wrap/stdio.h: Likewise.
12516 * lib/posix_wrap/stdlib.h: Likewise.
12517 * lib/posix_wrap/string.h: Likewise.
12518 * lib/posix_wrap/sys/types.h: Likewise.
12519 * lib/posix_wrap/unistd.h: Likewise.
12520 * lib/posix_wrap/wchar.h: Likewise.
12521 * lib/posix_wrap/wctype.h: Likewise.
12522 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
12523 (grub_script.yy.h): Likewise.
12524 * script/yylex.l: Remove POSIX emulation #defines.
12525 * Makefile.in (POSIX_CFLAGS): New variable.
12526 (GNULIB_UTIL_CFLAGS): Likewise.
12527
12528 Regexp support.
12529
12530 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
12531 (regexp_mod_SOURCES): New variable.
12532 (regexp_mod_CFLAGS): Likewise.
12533 (regexp_mod_LDFLAGS): Likewise.
12534 * commands/regexp.c: New file.
12535 * gnulib/regcomp.c: New file. Imported from gnulib.
12536 * gnulib/regex.c: Likewise.
12537 * gnulib/regex_internal.c: Likewise.
12538 * gnulib/regex_internal.h: Likewise.
12539 * gnulib/regexec.c: Likewise.
12540 * gnulib/regex.h: Likewise.
12541
974ac4f7
VS
125422010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12543
12544 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
12545 unsupported video mode types.
12546
2622c3ff
VS
125472010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12548
12549 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
12550
064cb524
VS
125512010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
12554 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
12555
a8c3b552
VS
125562010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12557
12558 Remove unused grub_vga_get_font.
12559
12560 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
12561 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
12562
187bbe3d
GS
125632010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12564
12565 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
12566 * include/grub/misc.h: Likewise.
12567
b9396631
GS
125682010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12569
12570 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
12571 for which failure is fatal.
12572
50479feb
GS
125732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12574
12575 * util/grub-install.in: Use mkdir -p to create grub directory.
12576 * util/i386/efi/grub-install.in: Likewise.
12577 * util/ieee1275/grub-install.in: Likewise.
12578
b1654fdf
GS
125792010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12580
12581 * Makefile.in (LEX): new variable.
12582
bd5a6415
GS
125832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12584
12585 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
12586 `=' and added double quotes on operands of this equality test.
12587
3db3a82b
VS
125882010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12589
12590 * Makefile.in (uninstall): Remove a leftover debug echo.
12591 Reported by: Grégoire Sutre
12592
38023412
VS
125932010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 MIPS multiboot2 support.
12596
12597 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
12598 (multiboot2_mod_SOURCES): New variable.
12599 (multiboot2_mod_CFLAGS): Likewise.
12600 (multiboot2_mod_LDFLAGS): Likewise.
12601 (multiboot2_mod_ASFLAGS): Likewise.
12602 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
12603 definition.
12604 (MULTIBOOT_ENTRY_REGISTER): Likewise.
12605 (MULTIBOOT_MBI_REGISTER): Likewise.
12606 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
12607 (MULTIBOOT_ELF32_MACHINE): Likewise.
12608 (MULTIBOOT_ELF64_MACHINE): Likewise.
12609 * include/grub/mips/multiboot.h: New file.
12610 * include/grub/video.h (grub_video_driver_id): New type
12611 GRUB_VIDEO_DRIVER_SM712.
12612 (grub_video_get_info_and_fini): Export.
12613 (grub_video_get_palette): Likewise.
12614 (grub_video_get_driver_id): Likewise.
12615 * include/multiboot2.h: Resynced with spec.
12616 * loader/i386/multiboot.c: Moved from here ...
12617 * loader/multiboot.c: ... here. All users updated.
12618 (grub_multiboot_boot): Use platform-specific macros.
12619 * loader/i386/multiboot_elfxx.c: Moved from here ...
12620 * loader/multiboot_elfxx.c: ... here. All users updated.
12621 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
12622 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
12623 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
12624
47674667
VS
126252010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 Import gnulib argp module.
12628
12629 * gnulib/argp-ba.c: New file.
12630 * gnulib/argp-eexst.c: Likewise.
12631 * gnulib/argp-fmtstream.c: Likewise.
12632 * gnulib/argp-fmtstream.h: Likewise.
12633 * gnulib/argp-fs-xinl.c: Likewise.
12634 * gnulib/argp-help.c: Likewise.
12635 * gnulib/argp-namefrob.h: Likewise.
12636 * gnulib/argp-parse.c: Likewise.
12637 * gnulib/argp-pin.c: Likewise.
12638 * gnulib/argp-pv.c: Likewise.
12639 * gnulib/argp-pvh.c: Likewise.
12640 * gnulib/argp-version-etc.c: Likewise.
12641 * gnulib/argp-version-etc.h: Likewise.
12642 * gnulib/argp-xinl.c: Likewise.
12643 * gnulib/argp.h: Likewise.
12644
495442ed
VS
126452010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * kern/device.c (grub_device_iterate): Clear errors after failed
12648 opening device.
12649
f9fd65df
VS
126502010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
12653 returned by firmware.
12654
af09641e
VS
126552010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12656
12657 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
12658 compilation on coreboot and qemu
12659
016883a5
VS
126602010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * include/multiboot2.h: Resync with spec.
12663
f97e1f7d
VS
126642010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 Multiboot2 tag support
12667
12668 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
12669 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
12670 Remove loader/multiboot_loader.c.
12671 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
12672 (grub_multiboot2_real_boot): Likewise.
12673 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
12674 (grub_get_multiboot_mmap_count): New proto.
12675 (grub_fill_multiboot_mmap): Likewise.
12676 (grub_multiboot_set_video_mode): Likewise.
12677 (grub_multiboot_set_console): Likewise.
12678 (grub_multiboot_load): Likewise.
12679 (grub_multiboot_load_elf): Likewise.
12680 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
12681 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
12682 * include/multiboot.h: Resynced with specification.
12683 * include/multiboot2.h: Resynced with specification.
12684 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
12685 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
12686 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
12687 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
12688 users updated.
12689 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
12690 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
12691 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
12692 Removed.
12693 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
12694 Moved from here...
12695 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
12696 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
12697 Moved from here...
12698 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
12699 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
12700 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
12701 All users updated.
12702 * loader/i386/multiboot_mbi2.c: New file.
12703
3506b90b
VS
127042010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12705
12706 Resync with gnulib.
12707
12708 * Makefile.in (GNULIB_CFLAGS): New variable.
12709 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
12710 (grub_script_check_CFLAGS): New variable.
12711 * gnulib/alloca.h: Resync with gnulib.
12712 * gnulib/error.c: Likewise.
12713 * gnulib/error.h: Likewise.
12714 * gnulib/fnmatch.c: Likewise.
12715 * gnulib/fnmatch_loop.c: Likewise.
12716 * gnulib/getdelim.c: Likewise.
12717 * gnulib/getline.c: Likewise.
12718 * gnulib/getopt.c: Likewise.
12719 * gnulib/getopt1.c: Likewise.
12720 * gnulib/getopt_int.h: Likewise.
12721 * gnulib/gettext.h: Likewise.
12722 * gnulib/progname.c: Likewise.
12723 * gnulib/progname.h: Likewise.
12724
394a3120
GS
127252010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
12726
12727 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
12728 which is the case with --disabled-nls.
12729
12730 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
12731 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
12732 * util/misc.c: Likewise.
12733 * util/mkisofs/mkisofs.c: Likewise.
12734 * util/mkisofs/mkisofs.h: Likewise.
12735
969d1c78
VS
127362010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 Simplify Apple CC support.
12739
12740 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12741 Add 0 byte at the end not to have a symbol with empty target.
12742 * mmap/i386/pc/mmap_helper.S: Likewise.
12743 * genmk.rb: Ignore errors 2030 and 2050.
12744 * kern/i386/pc/startup.S: Use LOCAL when possible.
12745
8d2977bb
BC
127462010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12747
12748 Testcase and the fix for final semicolon on cmdline.
12749
12750 * tests/grub_script_final_semicolon.in: New testcase.
12751 * conf/tests.rmk: Rules for the new testcase.
12752 * script/parser.y: Grammar fix.
12753
a7bd6915
BC
127542010-03-26 BVK Chaitanya <bvk@localhost>
12755
12756 Blank lines testcase for GRUB script.
12757
12758 * tests/grub_script_blanklines.in: New testcase.
12759 * conf/tests.rmk: Rules for the new testcase.
12760
e4ff6628
VS
127612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12762
12763 Don't use __FILE__.
12764
12765 * genmk.rb: Add -DGRUB_FILE to all C targets.
12766 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12767 * include/grub/list.h: Likewise.
12768 * include/grub/misc.h: Likewise.
12769 * include/grub/mm.h: Likewise.
12770 * include/grub/test.h: Likewise.
12771 * kern/mm.c: Likewise.
12772 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12773
6a5cf6b6
VS
127742010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12775
12776 Sunpc partitions support.
12777
12778 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12779 (grub_fstest_SOURCES): Likewise.
12780 (pkglib_MODULES): Add part_sunpc.mod.
12781 (part_sunpc_mod_SOURCES): New variable.
12782 (part_sunpc_mod_CFLAGS): Likewise.
12783 (part_sunpc_mod_LDFLAGS): Likewise.
12784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
12785 * partmap/sunpc.c: New file.
12786
746d9045
BC
127872010-03-26 BVK Chaitanya <bvk@localhost>
12788
12789 For loop support to GRUB script.
12790
12791 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
12792 (grub_script_create_cmdfor): New function prototype.
12793 (grub_script_execute_cmdfor): New function prototype.
12794 * script/execute.c (grub_script_execute_cmdfor): New function.
12795 * script/parser.y (command): New for command.
12796 (forcmd): New grammar rule.
12797 * script/script.c (grub_script_create_cmdfor): New function.
12798 * util/grub-script-check.c (grub_script_execute_cmdfor): New
12799 function.
12800 * tests/grub_script_for1.in: New testcase.
12801 * conf/tests.rmk: Rules for new testcase.
12802
18486b18
VS
128032010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12804
12805 Nested partitions
12806
12807 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
12808 'partition' is NULL, grub_partition_get_start already does that.
12809 * commands/loadenv.c (check_blocklists): Likewise.
12810 (write_blocklists): Likewise.
12811 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
12812 (grub_fstest_SOURCES): Likewise.
12813 (pkglib_MODULES): Add part_bsd.mod.
12814 (part_bsd_mod_SOURCES): New variable.
12815 (part_bsd_mod_CFLAGS): Likewise.
12816 (part_bsd_mod_LDFLAGS): Likewise.
12817 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
12818 (grub_emu_SOURCES): Likewise.
12819 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12820 * include/grub/bsdlabel.h: New file.
12821 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
12822 'get_name'.
12823 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
12824 (grub_partition_map_list): New variable.
12825 (grub_partition_map_register): Inline.
12826 (grub_partition_map_unregister): Likewise.
12827 (FOR_PARTITION_MAPS): New macro.
12828 (grub_partition_map_iterate): Removed.
12829 (grub_partition_get_start): Handle nested partitions.
12830 * include/grub/msdos_partition.h: Remove bsd-related entries.
12831 (grub_pc_partition): Remove.
12832 * kern/disk.c (grub_disk_close): Free partition data.
12833 (grub_disk_adjust_range): Handle nested partitions.
12834 * kern/partition.c (grub_partition_map_probe): New function.
12835 (grub_partition_probe): Parse name to number, handle subpartitions.
12836 (get_partmap): New function.
12837 (grub_partition_iterate): Handle subpartitions.
12838 (grub_partition_get_name): Likewise.
12839 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
12840 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
12841 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
12842 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
12843 Set 'number'.
12844 (acorn_partition_map_probe): Remove.
12845 (acorn_partition_map_get_name): Likewise.
12846 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
12847 Set 'number'.
12848 Set 'index' to 0 since there can be only one partition entry per sector.
12849 (amiga_partition_map_probe): Remove.
12850 (amiga_partition_map_get_name): Likewise.
12851 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
12852 Set 'number'.
12853 Set 'offset' and 'index' to real positions of partitions.
12854 (apple_partition_map_probe): Remove.
12855 (apple_partition_map_get_name): Likewise.
12856 * partmap/bsdlabel.c: New file.
12857 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
12858 Set 'number'.
12859 Allocate 'data' so it can be correctly freed.
12860 Set 'index' to offset inside sector.
12861 (gpt_partition_map_probe): Remove.
12862 (gpt_partition_map_get_name): Likewise.
12863 * partmap/msdos.c (grub_partition_parse): Remove.
12864 (pc_partition_map_iterate): Don't force raw access.
12865 Set 'number'.
12866 Make 'ext_offset' a local variable.
12867 (pc_partition_map_probe): Remove.
12868 (pc_partition_map_get_name): Remove.
12869 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
12870 Set 'number'.
12871 (sun_partition_map_probe): Remove.
12872 (sun_partition_map_get_name): Likewise.
12873 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
12874 (grub_pcpart_type): Likewise.
12875 * util/hostdisk.c (open_device): Handle new numbering scheme.
12876 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
12877 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
12878 * util/grub-probe.c (probe_partmap): Handle nested paritions.
12879 * util/grub-install.in: Insert all subpartition modules.
12880 * util/ieee1275/grub-install.in: Likewise.
12881
a3940f88
AG
128822010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
12883
12884 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
12885 grammar.
12886
21b99926 128872010-03-24 Colin Watson <cjwatson@ubuntu.com>
12888
12889 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
12890
bed1d352
CW
128912010-03-21 Colin Watson <cjwatson@ubuntu.com>
12892
12893 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
12894 match where 'make install' puts them.
12895 * util/i386/efi/grub-install.in: Likewise.
12896
c9f58427
CW
128972010-03-19 Colin Watson <cjwatson@ubuntu.com>
12898
12899 * .bzrignore: Add gentrigtables, grub-script-check,
12900 grub_script_check_init.c, grub_script_check_init.h, and
12901 trigtables.c.
12902
f84afb27
VS
129032010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
12904
12905 * kern/parser.c: Indented.
12906
ed0e3d30
VS
129072010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12908
12909 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
12910
0ea81d98
VS
129112010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
12914 alpha_mask_size == 0 case.
12915
0cdc2a09
BC
129162010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
12917
12918 GRUB shell lexer and parser improvements.
12919
12920 * conf/any-emu.rmk: Build rule updates.
12921 * conf/common.rmk: Likewise.
12922 * conf/i386-coreboot.rmk: Likewise.
12923 * conf/i386-efi.rmk: Likewise.
12924 * conf/i386-ieee1275.rmk: Likewise.
12925 * conf/i386-pc.rmk: Likewise.
12926 * conf/powerpc-ieee1275.rmk: Likewise.
12927 * conf/x86_64-efi.rmk: Likewise.
12928
12929 * configure.ac: Configure check for flex.
12930
12931 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
12932 types.
12933 (grub_lexer_param): Struct member updates.
12934 (grub_parser_param): Likewise.
12935 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
12936 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
12937 (grub_script_lexer_init): Prototype update.
12938 (grub_script_lexer_record_start): Likewise.
12939 (grub_script_lexer_record_stop): Likewise.
12940 (grub_script_lexer_yywrap): New function prototype.
12941 (grub_script_lexer_fini): Likewise.
12942 (grub_script_execute_argument_to_string): Removed by...
12943 (grub_script_execute_argument_to_argv): ...better version.
12944
12945 * script/execute.c (ROUND_UPTO): New macro.
12946 (grub_script_execute_cmdline): Out of memory fixes.
12947 (grub_script_execute_menuentry): Likewise.
12948 (grub_script_execute_argument_to_string): Removed. Update all
12949 users by...
12950 (grub_script_execute_argument_to_argv): ...better version.
12951 * script/function.c (grub_script_function_create): Use
12952 grub_script_execute_argument_to_argv instead of
12953 grub_script_execute_argument_to_string.
12954
12955 * script/lexer.c (check_varstate): Removed.
12956 (check_textstate): Removed.
12957 (grub_script_lexer_record_start): Likewise.
12958 (grub_script_lexer_record_stop): Likewise.
12959 (recordchar): Replaced with...
12960 (grub_script_lexer_record): ...new function.
12961 (nextchar): Removed.
12962 (grub_script_lexer_init): Rewritten.
12963 (grub_script_yylex): Rewritten.
12964 (append_newline): New function.
12965 (grub_script_lexer_yywrap): New function.
12966 (grub_script_lexer_fini): New function.
12967 (grub_script_yyerror): Sets error flag.
12968
12969 * script/yylex.l: New file.
12970 (grub_lexer_yyfree): Wrapper for flex yyffre.
12971 (grub_lexer_yyalloc): Likewise.
12972 (grub_lexer_yyrealloc): Likewise.
12973 * script/parser.y: Refactored.
12974
12975 * script/script.c (grub_script_arg_add): Out of memory fixes.
12976 (grub_script_add_arglist): Likewise.
12977 (grub_script_create_cmdline): Likewise.
12978 (grub_script_create_cmdmenu): Likewise.
12979 (grub_script_add_cmd): Likewise.
12980 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
12981 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
12982 unnecessary code.
12983
12984 * tests/grub_script_echo1.in: New testcase.
12985 * tests/grub_script_vars1.in: New testcase.
12986 * tests/grub_script_echo_keywords.in: New testcase.
12987
1d63a066
VS
129882010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12989
12990 Remove some redundancy in build system.
12991
12992 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
12993 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
12994 (TARGET_LDFLAGS): Add -nostdlib.
12995 (TARGET_IMG_LDFLAGS): Likewise.
12996 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
12997 anything since mmap isn't available.
12998 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
12999 Add util/time.c.
13000 (pkglib_MODULES): Remove reboot.mod.
13001 (reboot_mod_SOURCES): Removed.
13002 (reboot_mod_CFLAGS): Likewise.
13003 (reboot_mod_LDFLAGS): Likewise.
13004 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13005 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13006 (DEFSYMFILES): Add kernel_syms.lst.
13007 (kernel_img_HEADERS): Add common headers.
13008 (symlist.c): New target.
13009 (kernel_syms.lst): Likewise.
13010 (pkglib_MODULES): Add memdisk.mod.
13011 (memdisk_mod_SOURCES): New variable.
13012 (memdisk_mod_CFLAGS): Likewise.
13013 (memdisk_mod_LDFLAGS): Likewise.
13014 (pkglib_MODULES): Add reboot.mod.
13015 (reboot_mod_SOURCES): New variable.
13016 (reboot_mod_CFLAGS): Likewise.
13017 (reboot_mod_LDFLAGS): Likewise.
13018 (pkglib_MODULES): Add date.mod.
13019 (date_mod_SOURCES): New variable.
13020 (date_mod_CFLAGS): Likewise.
13021 (date_mod_LDFLAGS): Likewise.
13022 (pkglib_MODULES): Add datehook.mod.
13023 (datehook_mod_SOURCES): New variable.
13024 (datehook_mod_CFLAGS): Likewise.
13025 (datehook_mod_LDFLAGS): Likewise.
13026 (pkglib_MODULES): Add lsmmap.mod.
13027 (lsmmap_mod_SOURCES): New variable.
13028 (lsmmap_mod_CFLAGS): Likewise.
13029 (lsmmap_mod_LDFLAGS): Likewise.
13030 (pkglib_MODULES): Add boot.mod.
13031 (boot_mod_SOURCES): New variable.
13032 (boot_mod_CFLAGS): Likewise.
13033 (boot_mod_LDFLAGS): Likewise.
13034 * conf/i386-coreboot.rmk: Removed redundant parts.
13035 * conf/i386-ieee1275.rmk: Likewise.
13036 * conf/i386-pc.rmk: Likewise.
13037 * conf/mips-yeeloong.rmk: Likewise.
13038 * conf/mips.rmk: Likewise.
13039 * conf/powerpc-ieee1275.rmk: Likewise.
13040 * conf/sparc64-ieee1275.rmk: Likewise.
13041 * conf/x86_64-efi.rmk: Likewise.
13042 * conf/i386-coreboot.rmk: Moved qemu parts ..
13043 * conf/i386-qemu.rmk: ... here
13044 * conf/i386-efi.rmk: Moved common parts to...
13045 * conf/x86-efi.rmk: ... here.
13046 * conf/i386.rmk: Added modules common to all x86 variants.
13047 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13048 * disk/memdisk.c: Remove grub/machine/kernel.h.
13049 * gensymlist.sh.in: Include symbol.h.
13050 * hook/datehook.c: Correct module name.
13051 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13052 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13053 * include/grub/i386/efi/serial.h: New file.
13054 * include/grub/x86_64/efi/serial.h: Likewise.
13055 * util/time.c: Likewise.
13056 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13057
463ac55f
CK
130582010-03-14 Colin King <colin.king@ubuntu.com>
130592010-03-14 Colin Watson <cjwatson@ubuntu.com>
13060
13061 Shrink the pre-partition-table part of boot.img by eight bytes.
13062
13063 * boot/i386/pc/boot.S (ERR): New macro.
13064 (chs_mode): Use ERR.
13065 (geometry_error): Likewise.
13066 (hd_probe_error): Remove. This is only used once, so we wrwite
13067 it inline instead.
13068 (read_error): Instead of printing read_error_string, just set up
13069 %si and fall through to ...
13070 (error_message): ... this new function, also used by ERR.
13071
08e46ede
CW
130722010-03-14 Colin Watson <cjwatson@ubuntu.com>
13073
13074 Speed up consecutive hostdisk operations on the same device.
13075
13076 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13077 (grub_util_biosdisk_open): Initialise disk->data.
13078 (struct linux_partition_cache): New structure.
13079 (linux_find_partition): Cache partition start positions; these are
13080 expensive to compute on every read and write.
13081 (open_device): Cache open file descriptor in disk->data, so that we
13082 don't have to reopen it and flush the buffer cache for consecutive
13083 operations on the same device.
13084 (grub_util_biosdisk_close): New function.
13085 (grub_util_biosdisk_dev): Set `close' member.
13086
13087 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13088 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13089 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13090 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13091 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13092
4a6d2d06
VS
130932010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13094
13095 Compile parts of grub-emu as modules.
13096
13097 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13098 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13099 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13100 (all-local): Add $(GRUB_EMU).
13101 (install-local): Install $(GRUB_EMU).
13102 (uninstall): Uninstall $(GRUB_EMU).
13103 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13104 * kern/dl.c: Likewise.
13105 * commands/sleep.c: Not include machine/time.h.
13106 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13107 (COMMON_CFLAGS): Likewise.
13108 (sbin_UTILITIES): Remove grub-emu.
13109 (grub_emu_SOURCES): Removed.
13110 (kernel_img_RELOCATABLE): New variable.
13111 (pkglib_PROGRAMS): Add kernel.img.
13112 (kernel_img_SOURCES): New variable
13113 (kernel_img_CFLAGS): Likewise.
13114 (kernel_img_LDFLAGS): Likewise.
13115 (TARGET_NO_STRIP): Likewise.
13116 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13117 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13118 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13119 (grub-emu): New target.
13120 (GRUB_EMU): New variable.
13121 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13122 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13123 * loader/xnu.c: Likewise.
13124 * include/grub/pci.h: Likewise.
13125 * genemuinit.sh: New file.
13126 * genemuinitheader.sh: Likewise.
13127 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13128 Support TARGET_NO_DYNAMIC_MODULES.
13129 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13130 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13131 * disk/loopback.c: Likewise.
13132 * font/font_cmd.c: Likewise.
13133 * partmap/acorn.c: Likewise.
13134 * partmap/amiga.c: Likewise.
13135 * partmap/apple.c: Likewise.
13136 * partmap/gpt.c: Likewise.
13137 * partmap/msdos.c: Likewise.
13138 * partmap/sun.c: Likewise.
13139 * parttool/msdospart.c: Likewise.
13140 * term/gfxterm.c: Likewise.
13141 * video/bitmap.c: Likewise.
13142 * video/readers/jpeg.c: Likewise.
13143 * video/readers/png.c: Likewise.
13144 * video/readers/tga.c: Likewise.
13145 * video/video.c: Likewise.
13146 * util/grub-emu.c (read_command_list): Removed.
13147 (main): Don't call util_init_nls.
13148 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13149 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13150
91fdd2ed
VS
131512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13152
13153 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13154 date.mod, datehook.mod.
13155 (datetime_mod_SOURCES): New variable.
13156 (datetime_mod_CFLAGS): Likewise.
13157 (datetime_mod_LDFLAGS): Likewise.
13158 (date_mod_SOURCES): Likewise.
13159 (date_mod_CFLAGS): Likewise.
13160 (date_mod_LDFLAGS): Likewise.
13161 (datehook_mod_SOURCES): Likewise.
13162 (datehook_mod_CFLAGS): Likewise.
13163 (datehook_mod_LDFLAGS): Likewise.
13164 * conf/sparc64-ieee1275.rmk: Likewise.
13165 * lib/ieee1275/datetime.c: New file.
13166
873ccae6
VS
131672010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13170 (ieee1275_fb_mod_SOURCES): New variable.
13171 (ieee1275_fb_mod_CFLAGS): Likewise.
13172 (ieee1275_fb_mod_LDFLAGS): Likewise.
13173 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13174 New proto.
13175 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13176 (HEAP_MAX_ADDR): Likewise.
13177 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13178 type.
13179 Correct stop condition.
13180 (grub_ieee1275_devices_iterate): New function.
13181 * video/ieee1275.c: New file.
13182
601c97c0
VS
131832010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13186
13187 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13188 as scratch.
13189 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13190 SCRATCH_PAD_DISKBOOT as scratch.
13191 (bootit): Pass Openfirmware pointer in %o4.
13192 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13193 of 0x200000.
13194 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13195 with util/grub-mkrawimage.c.
13196 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13197 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13198 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13199 (grub_aout_load) [GRUB_UTIL]: Likewise.
13200 * include/grub/kernel.h (grub_modules_get_end): New proto.
13201 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13202 (SCRATCH_PAD_BOOT): New definition.
13203 (SCRATCH_PAD_DISKBOOT): Likewise.
13204 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13205 * include/grub/sparc64/ieee1275/ieee1275.h
13206 (grub_ieee1275_original_stack): New variable
13207 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13208 New definition
13209 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13210 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13211 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13212 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13213 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13214 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13215 (grub_platform_image_format_t): New type.
13216 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13217 * kern/main.c (grub_modules_get_end)
13218 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13219 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13220 (codestart): Switch stacks.
13221 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13222 variable.
13223 (grub_heap_init): Use grub_modules_get_end.
13224 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13225 stack.
13226 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13227 (main): Likewise.
13228 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13229
d68b491e
TG
132302010-03-14 Thorsten Glaser <tg@mirbsd.org>
13231
13232 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13233
4e02ed50
MK
132342010-03-08 Matt Kraai <kraai@ftbfs.org>
13235
13236 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13237 bug #559005).
13238
1f15fc1e
VS
132392010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13240
13241 * genmoddep.awk: Output all missing symbols and not only first.
13242
fce5d8ff
VS
132432010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13244
13245 * NEWS: Put the date of 1.98 release.
13246
d1e8a02f
VS
132472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13250 ft2build.h.
13251
696fd607
VS
132522010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13255 completition in the middle of string.
13256
33e2e6f3
VS
132572010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13258
13259 * util/grub-mkrescue.in: Use mktemp with explicit template.
13260
b1f6d291
VS
132612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13264
2ac227c7
VS
132652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13268 right pointer.
13269
8f9a632b
VS
132702010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 Fix FreeBSD compilation.
13273
13274 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13275 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13276
60b03859
VS
132772010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13278
13279 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13280
48a5a769
VS
132812010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13282
13283 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13284
3ab4bd77
VS
132852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13286
13287 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13288
d116e0d8
RM
132892010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13290
13291 Support relative image path in theme file.
13292
13293 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13294 (image_set_property): Handle theme_dir and relative path.
13295
c7ef54aa
VS
132962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13297
13298 * configure.ac: Alias amd64 to x86_64.
13299
fcee14ed
VS
133002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13301
13302 * NEWS: mention multiboot on EFI.
13303
d0780363
VS
133042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13305
13306 * kern/main.c (grub_load_modules): Handle errors from init functions of
13307 embeded modules.
13308
41168ea4
VS
133092010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13310
13311 * normal/autofs.c (autoload_fs_module): Handle errors.
13312
b54d93ac
VS
133132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13314
13315 Disable linux.mod on qemu-mips since it's not functional and leads
13316 to compilation failure.
13317
13318 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13319 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13320 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13321 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13322 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13323 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13324 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13325 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13326 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13327 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13328 Reported by: BVK Chaitanya
13329
fc8345da
JU
133302010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13331
13332 * INSTALL: Add gettext as a dependency and add qemu to a new section
13333 "Prerequisites for make-check".
13334
4760f979
CF
133352010-03-04 Christian Franke <franke@computer.org>
13336
13337 * util/grub-pe2elf.c: Add missing include "progname.h".
13338
f209b5b2
VS
133392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 * normal/crypto.c (read_crypto_list): Fix a typo.
13342 Reported by: Seth Goldberg.
13343
b4b7be98
VS
133442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13345
13346 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13347 Reported by: Seth Goldberg.
b4b7be98 13348
c0ee0385
VS
133492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13350
13351 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13352 ascii.bitmaps.
13353
a8efbf64
VS
133542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13357 Reported by: Seth Goldberg.
a8efbf64 13358
08dcd913
VS
133592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13360
13361 * util/i386/efi/grub-install.in: Copy gettext files.
13362
c4d0b332
VS
133632010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13366
c6f2fe52
VS
133672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 Wait for user entry basing on presence of output rather than on errors.
13370
13371 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13372 (grub_install_newline_hook): Likewise.
13373 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13374 * normal/menu.c (show_menu): Check line_counter to determine presence
13375 of output.
13376 * normal/term.c (grub_normal_line_counter): New variable.
13377 (grub_normal_get_line_counter): New function.
13378 (grub_install_newline_hook): Likewise.
13379
5382b1e4
VS
133802010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13381
13382 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13383
5519963b
VS
133842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * configure.ac: Update version to 1.98.
13387
72b28631
VS
133882010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13389
13390 * util/grub.d/10_linux.in (linux_entry): Don't default to
13391 gfxpayload=keep if Linux doesn't support video handover.
13392
c140a180
VS
133932010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13394
13395 Don't compile video modules on yeeloong since video subsystem is part
13396 of kernel.
13397
13398 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13399 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13400 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13401 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13402 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13403 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13404 * include/grub/bitmap_scale.h: Likewise.
13405 * include/grub/bufio.h: Likewise.
13406 * include/grub/font.h: Likewise.
13407 * include/grub/gfxterm.h: Likewise.
13408 * include/grub/video.h: Likewise.
13409 * include/grub/vbe.h: Don't include video_fb.h.
13410 * video/i386/pc/vbe.c: Include video_fb.h.
13411 * commands/i386/pc/vbetest.c: Include video.h.
13412
a0ca21c2
CW
134132010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13414
13415 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13416 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13417 default entry if GRUB_SAVEDEFAULT=true. This allows using
13418 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13419 saving a new default on every boot.
13420
4a8a763c
VS
134212010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13422
13423 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13424 * normal/term.c (read_terminal_list): Likewise.
13425 * normal/main.c (grub_normal_init_page): Likewise.
13426 (grub_normal_read_line_real): Likewise.
13427
607ffde2
VS
134282010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13431 memory leak.
13432 Reported by: Seth Goldberg.
13433
2b8fa975
CW
134342010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13435
13436 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13437 duplicate declaration of `start'.
13438
618307dd
VS
134392010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13442 filename.
13443 Reported by: Georgy Buranov
13444
7dd05b96 134452010-02-20 Carles Pina i Estany <carles@pina.cat>
13446
13447 * util/grub-mkrawimage.c (usage): Change string formatting to
13448 improve gettext.
13449
d1484a42
MRA
134502010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13451
13452 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13453 backspace keys.
13454
42b1d186
VS
134552010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13458 Reported by: Michael Suchanek.
13459
134602010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
13461
13462 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13463 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13464
d9f31a41
VS
134652010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13466
13467 Remove any reference to non-free fonts.
13468
13469 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13470 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13471 uses non-free components.
13472 * font/font.c (grub_font_get_name): Remove example name.
13473 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13474 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13475 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13476 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13477
2793c71e
GB
134782010-02-16 Georgy Buranov <gburanov@gmail.com>
13479
13480 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13481
402e3779
VS
134822010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13483
13484 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13485 Double divisor.
13486 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13487 features.
13488 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
13489
0dd1e0dd
VS
134902010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13491
13492 * gensymlist.sh.in: Use TARGET_CC instead of CC.
13493
6fa7cfce
ST
134942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13495
13496 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
13497 * docs/grub.texi (Command-line and menu entry commands): Document play
13498 command.
13499
37c8483b
ST
135002010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13501
13502 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
13503 parse arguments as inline tempo and notes. Move code for playing notes
13504 to...
13505 (play): ... new function.
13506
14da0fb7
ST
135072010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13508
13509 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
13510 grub_uint16_t instead of short.
13511 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
13512 disk from little endian to cpu endianness.
13513
04459e70
ST
135142010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
13515
13516 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
13517 GRUB_TICKS_PER_SECOND instead of 120.
13518
a0876943
VS
135192010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13520
13521 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
13522 escape sequence after \e.
13523
e29f95dc
VS
135242010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13525
13526 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
13527 non-ASCII characters.
13528
d27859b2
VS
135292010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
13532 set root in single quotes to prevent \, from being unescaped.
13533
bc028f2f
VS
135342010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Prevent unknown commands from stopping menuentry execution.
13537
13538 * script/execute.c (grub_script_execute_cmdline): Print error after
13539 unknown command.
13540
095f5f82
VS
135412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
13544 Reported by: Pavel Pisa.
13545
8c717950
VS
135462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13547
13548 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
13549
904935c3
VS
135502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13551
13552 Merge grub_ieee1275_map_physical into grub_map and rename to
13553 grub_ieee1275_map
13554
13555 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
13556 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
13557 Remove.
13558 * kern/ieee1275/openfw.c (grub_map): Rename to ...
13559 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
13560 necessary.
13561 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
13562
5b59a4e3
VS
135632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13564
13565 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
13566 opening and not after.
13567
69e137e8
VS
135682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
13571 constants.
13572
2c0fcc36
VS
135732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
13576 (alloc_phys): Use ALIGN_UP instead of align_addr.
13577
8c6052ce
VS
135782010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
13581
17cec782
VS
135822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
13585
e0128bbd
VS
135862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
13589 verbose dprintf.
13590
ca62070b
VS
135912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13592
13593 Fix over-4GiB seek on sparc64.
13594
13595 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
13596 Replace pos_i and pos_lo with pos. All users updated.
13597 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13598 New constant.
13599 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13600 Likewise.
13601 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
13602 and pos_lo.
13603
bdca2607
VS
136042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13605
13606 * util/grub-mkrawimage.c (main): Call set_program_name.
13607
da278c4d
VS
136082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 Properly align 64-bit targets.
13611
13612 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
13613 (generate_image): Use ALIGN_ADDR.
13614
b274d734
VS
136152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 Properly create cross-endian images.
13618
13619 * include/grub/types.h (grub_host_to_target_addr): New macro
13620 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
13621
82da2062
VS
136222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
13625
7cae4377
VS
136262010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
13629
13630 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
13631 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
13632 (grub_linux_boot): Divide by 64K when on VESA.
13633
65a533e7
VS
136342010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13635
13636 Support GRUB_GFXPAYLOAD_LINUX.
13637
13638 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
13639 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
13640
dd01d397
VS
136412010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13642
13643 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
13644 to show messages instead of discarding them.
13645 Process errors after executing command and not before. Keep old method
13646 too as precaution.
13647
660960d6
VS
136482010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
13649
13650 * configure.ac: Check for ft2build.h.
13651
62509f04
VS
136522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13653
13654 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
13655
473df63d
VS
136562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13657
13658 * genkernsyms.sh.in: Use TARGET_CC.
13659
c98d2a13
CW
136602010-02-07 Colin Watson <cjwatson@ubuntu.com>
13661
13662 * NEWS: Update.
13663
6e14234c
VS
136642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13665
13666 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
13667 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
13668 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 13669
b255e9cf
YB
136702010-02-07 Yves Blusseau <blusseau@zetam.org>
13671
6e14234c 13672 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 13673
98e6959d
VS
136742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 Fix warnings in grub-emu when compiling with maximum warning options.
13677
13678 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
13679 (grub_arch_modules_addr): Return 0 and not NULL.
13680 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 13681 (xstrdup): Use newstr instead of dup.
f88d801b
VS
13682 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
13683 of disk to dsk to avoid shadowing.
74e4934e
VS
13684 (find_free_slot): Fix prototype.
13685 * util/getroot.c (grub_util_is_dmraid): Make static.
13686 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
13687 Add missing prototype.
13688 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 13689
74e31b5c
VS
136902010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * loader/i386/linux.c (grub_linux_setup_video): Handle error
13693 appropriately.
13694
6b2ad14b
VS
136952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
13698 code out.
13699
8f891adc
VS
137002010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
13703 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
13704 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
13705 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
13706 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
13707 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
13708
74b45184
VS
137092010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * include/grub/err.h (grub_err_printf): Don't export.
13712
a4bced77
VS
137132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
13716
007d0695
VS
137172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * include/grub/i18n.h (grub_gettext_dummy): Removed.
13720 * kern/misc.c (grub_gettext_dummy): Make static.
13721
b6c0d9c2
VS
137222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13723
13724 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
13725 by non-valid ones.
13726 * kern/term.c (grub_putchar): Likewise.
13727
f51a90d0
VS
137282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13729
13730 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
13731 buggy hook call and memory leak.
13732
6846cec5
VS
137332010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13736
468d69fe
VS
137372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13738
13739 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13740
51906b8c
VS
137412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13742
13743 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13744 modevar.
13745 Return grub_errno on allocation error.
13746
09706ce5
VS
137472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13748
13749 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13750
911df80c
YB
137512010-02-06 Yves Blusseau <blusseau@zetam.org>
13752
13753 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13754 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13755
3746a6bc
VS
137562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13757
13758 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13759 non-pxe disk.
13760 (grub_pxefs_open): Likewise.
13761
09706ce5
VS
137622010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13763
13764 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13765 * util/grub.d/10_kfreebsd.in: Likewise.
13766 * util/grub.d/10_linux.in: Likewise.
13767
7cc192d9
VS
137682010-02-06 Colin D Bennett <colin@gibibit.com>
13769
13770 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13771 (gfxmenu_mod_SOURCES): New variable.
13772 (gfxmenu_mod_CFLAGS): Likewise.
13773 (gfxmenu_mod_LDFLAGS): Likewise.
13774 * include/grub/term.h (grub_term_set_current_output): Declare
13775 argument as const.
13776 * docs/gfxmenu-theme-example.txt: New file.
13777 * gfxmenu/gfxmenu.c: Likewise.
13778 * gfxmenu/gui_box.c: Likewise.
13779 * gfxmenu/gui_canvas.c: Likewise.
13780 * gfxmenu/gui_circular_progress.c: Likewise.
13781 * gfxmenu/gui_image.c: Likewise.
13782 * gfxmenu/gui_label.c: Likewise.
13783 * gfxmenu/gui_list.c: Likewise.
13784 * gfxmenu/gui_progress_bar.c: Likewise.
13785 * gfxmenu/gui_string_util.c: Likewise.
13786 * gfxmenu/gui_util.c: Likewise.
13787 * gfxmenu/icon_manager.c: Likewise.
13788 * gfxmenu/model.c: Likewise.
13789 * gfxmenu/named_colors.c: Likewise.
13790 * gfxmenu/theme_loader.c: Likewise.
13791 * gfxmenu/view.c: Likewise.
13792 * gfxmenu/widget-box.c: Likewise.
13793 * include/grub/gfxmenu_model.h: Likewise.
13794 * include/grub/gfxmenu_view.h: Likewise.
13795 * include/grub/gfxwidgets.h: Likewise.
13796 * include/grub/gui.h: Likewise.
13797 * include/grub/gui_string_util.h: Likewise.
13798 * include/grub/icon_manager.h: Likewise.
13799
138002010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13801
13802 Agglomerate scrolling in gfxterm.
13803
13804 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
13805 (grub_virtual_screen_setup): Initialise 'total_screen'.
13806 (write_char): Split to ...
13807 (paint_char): ... this ...
13808 (write_char): ... and this.
13809 (paint_char): Handle delayed scrolling.
13810 (draw_cursor): Likewise.
13811 (scroll_up): Split to ...
13812 (real_scroll): ... this ...
13813 (scroll_up): ... and this.
13814 (real_scroll): Handle multi-line scroll and draw below-the-bottom
13815 characters.
13816 (grub_gfxterm_refresh): Call real_scroll.
13817
138182010-02-06 Colin D Bennett <colin@gibibit.com>
13819
13820 * include/grub/misc.h (grub_iscntrl): New inline function.
13821 (grub_isalnum): Likewise.
13822 (grub_strtol): Likewise.
13823
138242010-02-06 Colin D Bennett <colin@gibibit.com>
13825
13826 * normal/menu_text.c (get_entry_number): Move from here ...
13827 * normal/menu.c (get_entry_number): ... moved here.
13828 * include/grub/menu.h (grub_menu_get_default_entry_index):
13829 New prototype.
13830 * normal/menu.c (grub_menu_get_default_entry_index): New function.
13831 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
13832 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
13833 (grub_menu_viewer_should_return): Likewise.
13834 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
13835 * normal/menu_text.c (run_menu): Enable menu switching.
13836 * normal/menu_viewer.c (should_return): New variable.
13837 (menu_viewer_changed): Likewise.
13838 (grub_menu_viewer_show_menu): Handle menu viewer changes.
13839 (grub_menu_viewer_should_return): New function.
13840 (menuviewer_write_hook): Likewise.
13841 (grub_menu_viewer_init): Likewise.
13842
138432010-02-06 Colin D Bennet <colin@gibibit.com>
138442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13845
13846 Support for gfxterm in a window.
13847
13848 * include/grub/gfxterm.h: New file.
13849 * include/grub/video.h (struct grub_video_rect): New declaration.
13850 (grub_video_rect_t): Likewise.
13851 * term/gfxterm.c (struct grub_gfxterm_window): New type.
13852 (refcount): New variable.
13853 (render_target): Likewise.
13854 (window): Likewise.
13855 (repaint_callback): Likewise.
13856 (grub_virtual_screen_setup): Use 'render_target'.
13857 (init_window): New function.
13858 (grub_gfxterm_init_window): Likewise.
13859 (grub_gfxterm_init): Check reference counter.
13860 Use init_window.
13861 (destroy_window): New function.
13862 (grub_gfxterm_destroy_window): Likewise.
13863 (grub_gfxterm_fini): Check reference counter.
13864 Use destroy_window.
13865 (redraw_screen_rect): Restore viewport.
13866 Use 'render_target' and 'window'.
13867 Call 'repaint_callback'.
13868 (write_char): Use 'render_target'.
13869 (draw_cursor): Likewise.
13870 (scroll_up): Restore viewport.
13871 Use 'render_target' and 'window'.
13872 Call 'repaint_callback'.
13873 (grub_gfxterm_cls): Likewise.
13874 (grub_gfxterm_refresh): Use 'window'.
13875 (grub_gfxterm_set_repaint_callback): New function.
13876 (grub_gfxterm_background_image_cmd): Use 'window'.
13877 (grub_gfxterm_get_term): New function.
13878 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
13879
138802010-02-06 Colin D Bennett <colin@gibibit.com>
13881
13882 Bitmap scaling support.
13883
13884 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
13885 (bitmap_scale_mod_SOURCES): New variable.
13886 (bitmap_scale_mod_CFLAGS): Likewise.
13887 (bitmap_scale_mod_LDFLAGS): Likewise.
13888 * include/grub/bitmap_scale.h: New file.
13889 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
13890 (background_image_cmd_options): New variable.
13891 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
13892 (cmd): Rename and change type to ...
13893 (background_image_cmd_handle): ... this. All users updated.
13894 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
13895 * video/bitmap_scale.c: New file.
13896
138972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13898
13899 SDL support.
13900
13901 * Makefile.in (LIBSDL): New variable.
13902 (enable_grub_emu_sdl): Likewise.
13903 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
13904 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
13905 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
13906 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
13907 * util/sdl.c: New file.
13908
139092010-02-06 Colin D Bennett <colin@gibibit.com>
139102010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 Double buffering support.
13913
13914 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
13915 * include/grub/video.h: Update comment.
13916 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
13917 New type.
13918 (grub_video_fb_doublebuf_blit_init): New prototype.
13919 * term/gfxterm.c (scroll_up): Support double buffering.
13920 (grub_gfxterm_refresh): Likewise.
13921 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
13922 (grub_video_fb_doublebuf_blit_init): Likewise.
13923 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
13924 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
13925 'displayed_page', 'render_page' and 'update_screen'.
13926 (grub_video_vbe_fini): Free offscreen buffer.
13927 (doublebuf_pageflipping_commit): New function.
13928 (doublebuf_pageflipping_update_screen): Likewise.
13929 (doublebuf_pageflipping_init): Likewise.
13930 (double_buffering_init): Likewise.
13931 (grub_video_vbe_setup): Enable doublebuffering.
13932 (grub_video_vbe_swap_buffers): Implement.
13933 (grub_video_vbe_set_active_render_target): Handle double buffering.
13934 (grub_video_vbe_get_active_render_target): Likewise.
13935 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
13936 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
13937 (grub_video_vbe_enable_double_buffering): Likewise.
13938 (grub_video_vbe_swap_buffers): Use update_screen.
13939 (grub_video_set_mode): Use double buffering.
13940
139412010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13942
13943 * maintainance/gentrigtables.py: Remove.
13944 * lib/trig.c: Likewise.
13945
13946 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
13947
13948 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
13949 `trigtables.c'.
13950 (trigtables.c): New rule.
13951 (gentrigtables): Likewise.
13952 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
13953
139542010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13955
13956 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
13957 integer constants.
13958
139592010-02-06 Colin D Bennet <colin@gibibit.com>
13960
13961 Trigonometry support.
13962
13963 * include/grub/trig.h: New file.
13964 * lib/trig.c: Likewise.
13965 * maintainance/gentrigtables.py: Likewise.
13966 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
13967 (trig_mod_SOURCES): New variable.
13968 (trig_mod_CFLAGS): Likewise.
13969 (trig_mod_LDFLAGS): Likewise.
13970
5562834e
VS
139712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13972
13973 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
13974 disk devices.
13975
4f8528fc
VS
139762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13977
13978 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
13979 error.
13980
2b4068e9
VS
139812010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13982
13983 * util/hostdisk.c (open_device): Don't use partition device when reading
13984 before the partition.
13985 (grub_util_biosdisk_read): Don't read from partition and before the
13986 partition in single operation.
13987 (grub_util_biosdisk_write): Don't write to partition and before the
13988 partition in single operation.
13989
399f6e4d
TL
139902010-02-03 Torsten Landschoff <torsten@debian.org>
13991
13992 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13993 last sectors.
13994
996649b0
VS
139952010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
13998 CDROM reads.
13999 (grub_biosdisk_write): Refuse to write to CDROM.
14000
3b205d4d
VS
140012010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14002
14003 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14004
61e89d9d
VS
140052010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * font/font.c (find_glyph): Check that bmp_idx is available before
14008 using it.
14009 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14010 with (font == NULL).
14011
bf7fcba2
CS
140122010-01-28 Christian Schmitt <chris@ilovelinux.de>
14013
14014 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14015
f45d2663
BC
140162010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14017
14018 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14019 * util/grub-script-check.c (getline): Fix empty lines case.
14020
ec1444e6
RM
140212010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14022
14023 * Makefile.in (check): Exit with fail status when one of the tests
14024 fails.
14025 * tests/example_functional_test.c (example_test): Fix reversed assert.
14026 * tests/example_unit_test.c (example_test): Likewise.
14027
2e1cb9bb
CW
140282010-01-28 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * util/grub.d/10_linux.in: This script does not use any of the
14031 contents of gettext.sh, only the external command `gettext', so stop
14032 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14033 the same prefix as GRUB.)
14034 * util/grub.d/10_kfreebsd.in: Likewise.
14035
63533ab0
VS
140362010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14039 of the line.
14040
989e1f93
VS
140412010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14044 last sectors.
14045
e709ebe2
VS
140462010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14049 having a 4KiB and not 32KiB buffer size.
14050
27dea7ed
RM
140512010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14052
14053 * util/hostfs.c: Include `<errno.h>'.
14054 (grub_hostfs_read): Handle errors from fseeko() and fread().
14055
67667b9c
RM
140562010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14057
14058 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14059 loop when using read hooks on files whose size isn't sector-aligned.
14060
c294d9d8
RM
140612010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14062
14063 Remove unused parameter.
14064
14065 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14066 (grub_iso9660_open): Remove initialization of `data->length'.
14067
af75a9f1
RM
140682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14069
14070 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14071 memleak conditions.
14072
254e2ce5 140732010-01-27 Carles Pina i Estany <carles@pina.cat>
14074
14075 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14076 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14077
b510928c 140782010-01-26 Carles Pina i Estany <carles@pina.cat>
14079
14080 * util/bin2h.c (usage): Fix warning (space after backslash).
14081
aa2f9dd2 140822010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14083
14084 * font/font.c: Include `grub/fontformat.h.
14085 Remove font file format constants.
14086 (grub_font_load): Use the new macros.
14087 * include/grub/fontformat.h: New file.
14088 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14089 (write_font_pf2): Use the new macros.
14090
94e7e712
RM
140912010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14092
14093 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14094 does.
14095
3973a59a
RM
140962010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14097
14098 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14099
14100 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14101 (_start): Macroify `0x7F'.
14102
14103 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14104 (make_install_device): Use "(pxe)" as fallback prefix when booting
14105 via PXE.
14106
42e0cba3
GS
141072010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 * configure.ac: Reset LIBS after check for libgcc symbols.
14110
847effd8
CW
141112010-01-25 Colin Watson <cjwatson@ubuntu.com>
14112
14113 * util/hostdisk.c (open_device): Add trailing newline to debug
14114 message.
14115
ea4a7e35
GS
141162010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14117
14118 * configure.ac: Check for `limits.h'.
14119 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14120
67951a53
RM
141212010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14122
14123 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14124 capitalize error strings.
14125
c273d4ce
ST
141262010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14127
14128 * util/grub.d/10_hurd.in: Add a recovery mode.
14129
69be5b74
VS
141302010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * configure.ac: Check for libgcc symbols with -nostdlib.
14133
fc9e5810
BC
141342010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14135
14136 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14137
4b358c0a
VS
141382010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14141 stack since heap may be unavailable at that point.
14142 (grub_ofconsole_gotoxy): Likewise.
14143
454fcd1c
VS
141442010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * configure.ac: Check for _restgpr_14_x.
14147 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14148 and _savegpr_* prototypes.
14149
566863ca
RM
141502010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14151
14152 Use generic grub_reboot() for i386-efi.
14153
14154 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14155 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14156 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14157
bf86e59a
VS
141582010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14161 presence of "prefix" variable as it breaks when normal.mod is
14162 embedded.
14163
d645e0f8
VS
141642010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14167 stack since heap is unavailable at that point.
14168
f9ab2e25
VS
141692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14172 (grub_freebsd_bootinfo): Rewritten.
14173 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14174
01fc7054
VS
141752010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14178
caab4fd6
RM
141792010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14180
14181 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14182 domain now.
14183
67eb1427
FZ
141842010-01-20 Felix Zielcke <fzielcke@z-51.de>
14185
14186 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14187 around for handling "/" to the correct fix. Fix a memory leak. Use
14188 xstrdup instead of strdup.
14189
a9ed4ff3
VS
141902010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14191
14192 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14193
141942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14195
14196 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14197
14198 * font/font.c (struct grub_font): New member 'bmp_idx'.
14199 (font_init): Initialise 'bmp_idx'.
14200 (load_font_index): Fill 'bmp_idx'.
14201 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14202
48209f4f
VS
142032010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14204
14205 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14206 unnecessary calls.
14207
9f0a4bb7
VS
142082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 Move context handling out of the kernel.
14211
14212 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14213 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14214 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14215 * conf/i386-efi.rmk: Likewise.
14216 * conf/i386-ieee1275.rmk: Likewise.
14217 * conf/i386-pc.rmk: Likewise.
14218 * conf/powerpc-ieee1275.rmk: Likewise.
14219 * conf/sparc64-ieee1275.rmk: Likewise.
14220 * conf/x86_64-efi.rmk: Likewise.
14221 * include/grub/env.h: Include grub/menu.h.
14222 (grub_env_var_type): Removed.
14223 (grub_env_var): Replaced field 'type' with 'global'.
14224 (grub_env_find): New prototype.
14225 (grub_env_context_open): Remove EXPORT_FUNC.
14226 (grub_env_context_close): Likewise.
14227 (grub_env_export): Likewise.
14228 (grub_env_set_data_slot): Removed.
14229 (grub_env_get_data_slot): Likewise.
14230 (grub_env_unset_data_slot): Likewise.
14231 (grub_env_unset_menu): New prototype.
14232 (grub_env_set_menu): Likewise.
14233 (grub_env_get_menu): Likewise.
14234 * include/grub/env_private.h: New file.
14235 * include/grub/normal.h (grub_context_init): New prototype.
14236 (grub_context_fini): Likewise.
14237 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14238 * normal/context.c (grub_cmd_export): ... to here.
14239 * kern/env.c: Include env_private.h.
14240 (HASHSZ): Moved to include/grub/env_private.h.
14241 (grub_env_context): Likewise.
14242 (grub_env_sorted_var): Likewise.
14243 (current_context): Renamed from this ...
14244 (grub_current_context): ...to this. 'static' removed. All users updated.
14245 (grub_env_find): Removed 'static'.
14246 (grub_env_context_open): Moved to normal/context.c.
14247 (grub_env_context_close): Likewise.
14248 (grub_env_export): Likewise.
14249 (mangle_data_slot_name): Removed.
14250 (grub_env_set_data_slot): Likewise.
14251 (grub_env_get_data_slot): Likewise.
14252 (grub_env_unset_data_slot): Likewise.
14253 * kern/main.c (grub_set_root_dev): Don't export root.
14254 It will be done later.
14255 (grub_main): Don't export prefix.
14256 It will be done later.
14257 * normal/context.c: New file.
14258 * normal/main.c (free_menu): Use grub_env_unset_menu.
14259 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14260 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14261 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14262 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14263
8dd35b8c
VS
142642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 setpci support.
14267
14268 * commands/setpci.c: New file.
14269 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14270 (setpci_mod_SOURCES): New variable.
14271 (setpci_mod_CFLAGS): Likewise.
14272 (setpci_mod_LDFLAGS): Likewise.
14273
449193d5
VS
142742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14275
14276 Byte-addressable PCI configuration space.
14277
14278 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14279 dword address.
14280 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14281 GRUB_PCI_REG_CACHELINE.
14282 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14283 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14284 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14285 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14286 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14287 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14288 grub_pci_make_address.
14289 (lock_rom_area): Likewise.
14290 * commands/lspci.c (grub_lspci_iter): Use macroses
14291 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14292 of grub_pci_make_address.
14293 * disk/ata.c (grub_ata_pciinit): Likewise.
14294 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14295 (GRUB_PCI_REG_VENDOR): Likewise.
14296 (GRUB_PCI_REG_DEVICE): Likewise.
14297 (GRUB_PCI_REG_COMMAND): Likewise.
14298 (GRUB_PCI_REG_STATUS): Likewise.
14299 (GRUB_PCI_REG_REVISION): Likewise.
14300 (GRUB_PCI_REG_CLASS): Likewise.
14301 (GRUB_PCI_REG_CACHELINE): Likewise.
14302 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14303 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14304 (GRUB_PCI_REG_BIST): Likewise.
14305 (GRUB_PCI_REG_ADDRESSES): Likewise.
14306 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14307 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14308 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14309 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14310 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14311 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14312 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14313 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14314 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14315 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14316 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14317 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14318 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14319 (GRUB_PCI_REG_MIN_GNT): Likewise.
14320 (GRUB_PCI_REG_MAX_LAT): Likewise.
14321 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14322 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14323 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14324 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14325 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14326 space.
14327
96d73208
RM
143282010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14329
14330 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14331 can be reliably determined to be supported.
14332
d4484482
RM
143332010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14334
14335 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14336 that VESA is supported.
14337 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14338 supported.
14339
00308ecf
VS
143402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14343
f66924a4
RM
143442010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14345
14346 * util/misc.c (make_system_path_relative_to_its_root): Work around
14347 special-casing of "/", as previous incarnation of this routine did.
14348
cbca0ada
VS
143492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 Fix any-emu compilation.
14352
14353 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14354 * grub_bin2h_SOURCES: New variable.
14355
34a66d99
RM
143562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14357
14358 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14359
94fabf58
RM
143602010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14361
14362 * util/grub.d/00_header.in: Fix handling of locale_dir.
14363
02cf98ca
VS
143642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14367 as possible unifont location (Gentoo).
14368 Reported by: Alexander Brüning
14369
327dbcd7
VS
143702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 Don't try to generate lists for kernel.img.
14373
14374 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14375 (pkglib_MODULES): Remove kernel.img.
14376 (kernel_img_EXPORTS): Removed.
14377 (kernel_img_RELOCATABLE): New variable.
14378 * conf/x86_64-efi.rmk: Likewise.
14379 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14380
ca467290
VS
143812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14384 grub_xasprintf or grub_snprintf.
14385 (grub_vsprintf): Likewise.
14386 (grub_snprintf): New proto.
14387 (grub_vsnprintf): Likewise.
14388 (grub_xasprintf): Likewise.
14389 (grub_xvasprintf): Likewise.
14390 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14391 (grub_sprintf): Removed.
14392 (grub_vsnprintf): New function.
14393 (grub_snprintf): Likewise.
14394 (grub_xvasprintf): Likewise.
14395 (grub_xasprintf): Likewise.
14396 (grub_vsprintf): Renamed to ...
14397 (grub_vsnprintf_real): ...this. New argument max_len.
14398
aca655fd
BC
143992010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14400
14401 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14402 fix grub-script-check warning.
14403
7ee92c32
VS
144042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * include/grub/font.h (grub_font_load): Fix prototype.
14407
f80927ca
VS
144082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14411
119c50ea
VS
144122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * include/grub/x86_64/at_keyboard.h: New file.
14415
47d5f3c1
VS
144162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14417
14418 * loader/mips/linux.c: Include missing grub/i18n.h.
14419
55ff5266
RM
144202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14421
14422 * normal/menu.c (notify_execution_failure): Clarify error message.
14423
c893cc87
RM
144242009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14425
14426 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14427 return value (and revert all return statements). Update users.
14428
917dd370
CW
144292010-01-20 Dan Merillat <debian@dan.merillat.org>
14430
14431 * kern/device.c (grub_device_iterate): Allocate new part_ent
14432 structure based on sizeof (*p) rather than sizeof (p->next), to
14433 account for structure padding.
14434
14435 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14436 disk is NULL, which might happen for LVM physical volumes with no
14437 LVM signature.
14438
d4a4ee57
RM
144392009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14440
14441 * loader/mips/linux.c (grub_cmd_initrd)
14442 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14443
144442009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14445
14446 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14447 (grub_video_video_init, grub_video_bitmap_init)
14448 (grub_font_manager_init, grub_term_gfxterm_init)
14449 (grub_at_keyboard_init): New extern declarations.
14450 (grub_machine_init): Initialize gfxterm and at_keyboard.
14451
14452 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14453
14454 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14455 `gfxterm.mod' into core image.
14456
14457 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14458 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14459 (kernel_img_FORMAT): Copy to ...
14460
14461 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14462 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14463 (kernel_img_FORMAT): ... here, and ...
14464
14465 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14466 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14467 (kernel_img_FORMAT): ... here.
14468
14469 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14470 and input (at_keyboard) terminals in kernel.
14471 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14472
14473 (pkglib_MODULES): Remove `pci.mod'.
14474 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14475 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14476 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14477 (at_keyboard_mod_LDFLAGS): Remove variables.
14478
144792010-01-11 Felix Zielcke <fzielcke@z-51.de>
14480
14481 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14482
144832009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14484
14485 * include/grub/mips/libgcc.h: Only export symbols for functions
14486 that libgcc provides.
14487
144882009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 MIPS support.
14491
14492 * bus/bonito.c: New file.
14493 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
14494 GRUB_PCI_NUM_DEVICES.
14495 * term/i386/pc/serial.c: Move to ...
14496 * term/serial.c: ... here. All users updated.
14497 * util/i386/pc/grub-mkimage.c: Move to ...
14498 * util/grub-mkrawimage.c: ... here. All users updated.
14499 * term/i386/pc/at_keyboard.c: Move to ...
14500 * term/at_keyboard.c: ... here. All users updated.
14501 * conf/mips-qemu-mips.rmk: New file.
14502 * conf/mips-yeeloong.rmk: Likewise.
14503 * conf/mips.rmk: Likewise.
14504 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
14505 mipsel-qemu-mips.
14506 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
14507 to port addresses.
14508 (grub_ata_pciinit): Support CS5536.
14509 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
14510 * font/font_cmd.c (loadfont_command): Open file before passing it to
14511 grub_font_load.
14512 (pseudo_file_read): New function.
14513 (pseudo_file_close): Likewise.
14514 (pseudo_fs): New structure.
14515 (load_font_module): New function.
14516 (GRUB_MOD_INIT(font_manager)): Load embedded font.
14517 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
14518 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
14519 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
14520 * include/grub/i386/at_keyboard.h: Split into ...
14521 * include/grub/at_keyboard.h: ... this ...
14522 * include/grub/i386/at_keyboard.h: ... and this.
14523 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
14524 New prototype.
14525 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
14526 updated.
14527 (grub_elf64_size): Likewise.
14528 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
14529 filename.
14530 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
14531 * include/grub/i386/coreboot/serial.h: Rewritten.
14532 * include/grub/i386/ieee1275/serial.h: Include
14533 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
14534 * include/grub/i386/pc/serial.h: Moved from here ...
14535 * include/grub/serial.h: ... to here. All users updated.
14536 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
14537 (GRUB_PCI_NUM_BUS): Likewise.
14538 (GRUB_PCI_NUM_DEVICES): Likewise.
14539 (grub_pci_device_map_range): Add missing volatile keyword.
14540 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
14541 * include/grub/mips/at_keyboard.h: New file.
14542 * include/grub/mips/cache.h: Likewise.
14543 * include/grub/mips/io.h: Likewise.
14544 * include/grub/mips/kernel.h: Likewise.
14545 * include/grub/mips/libgcc.h: Likewise.
14546 * include/grub/mips/pci.h: Likewise.
14547 * include/grub/mips/qemu-mips/boot.h: Likewise.
14548 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14549 * include/grub/mips/qemu-mips/loader.h: Likewise.
14550 * include/grub/mips/qemu-mips/memory.h: Likewise.
14551 * include/grub/mips/qemu-mips/serial.h: Likewise.
14552 * include/grub/mips/qemu-mips/time.h: Likewise.
14553 * include/grub/mips/relocator.h: Likewise.
14554 * include/grub/mips/time.h: Likewise.
14555 * include/grub/mips/types.h: Likewise.
14556 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
14557 * include/grub/mips/yeeloong/boot.h: Likewise.
14558 * include/grub/mips/yeeloong/kernel.h: Likewise.
14559 * include/grub/mips/yeeloong/loader.h: Likewise.
14560 * include/grub/mips/yeeloong/memory.h: Likewise.
14561 * include/grub/mips/yeeloong/pci.h: Likewise.
14562 * include/grub/mips/yeeloong/serial.h: Likewise.
14563 * include/grub/mips/yeeloong/time.h: Likewise.
14564 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
14565 * kern/elf.c (grub_elf32_size): New parameter. All users
14566 updated.
14567 (grub_elf64_size): Likewise.
14568 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
14569 Load modules before saying "Welcome to GRUB!".
14570 Call grub_refresh after saying "Welcome to GRUB!".
14571 * kern/mips/cache.S: New file.
14572 * kern/mips/cache_flush.S: Likewise.
14573 * kern/mips/dl.c: Likewise.
14574 * kern/mips/init.c: Likewise.
14575 * kern/mips/qemu-mips/init.c: Likewise.
14576 * kern/mips/startup.S: Likewise.
14577 * kern/mips/yeeloong/init.c: Likewise.
14578 * kern/term.c (grub_putcode): Handle NULL terminal.
14579 (grub_getcharwidth): Likewise.
14580 (grub_getkey): Likewise.
14581 (grub_checkkey): Likewise.
14582 (grub_getkeystatus): Likewise.
14583 (grub_getxy): Likewise.
14584 (grub_getwh): Likewise.
14585 (grub_gotoxy): Likewise.
14586 (grub_cls): Likewise.
14587 (grub_setcolorstate): Likewise.
14588 (grub_setcolor): Likewise.
14589 (grub_getcolor): Likewise.
14590 (grub_refresh): Likewise.
14591 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
14592 (write_jump): Add hatch nop.
14593 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
14594 * lib/mips/setjmp.S: New file.
14595 * loader/mips/linux.c: Likewise.
14596 * term/i386/pc/at_keyboard.c: Move from here ...
14597 * term/at_keyboard.c: ... to here.
14598 * term/i386/pc/serial.c: Moved from here ...
14599 * term/serial.c: ... to here. All users updated.
14600 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
14601 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
14602 (serial_translate_key_sequence): Avoid deadlock.
14603 (grub_serial_getkey): Handle backspace.
14604 (grub_serial_putchar): Fix newline handling.
14605 * util/i386/pc/grub-mkimage.c: Move from here ...
14606 * util/grub-mkrawimage.c: ... to here. All users updated.
14607 (generate_image): New parameters 'font_path' and 'format'.
14608 Support embedding font.
14609 Use grub_host_to_target* instead of grub_cpu_to_le*.
14610 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
14611 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
14612 (options): New option "--font".
14613 (usage): Likewise.
14614 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
14615 (main): Handle "--font".
14616 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
14617 (grub_virtual_screen_setup): Set bg_color_display.
14618 (redraw_screen_rect): Use bg_color_display instead of incorrect
14619 bg_color.
14620 (grub_gfxterm_cls): Likewise.
14621 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
14622 Support embedding config file.
14623 (add_segments): Likewise.
14624 (options): New option "--config".
14625 (main): Handle "--config".
14626 * video/sm712.c: New file.
14627
25c2b5b3
RM
146282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14629
14630 Fix parallel builds.
14631
14632 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
14633 font.c depend on ascii.h).
14634
146352010-01-12 Carles Pina i Estany <carles@pina.cat>
14636
14637 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
14638
146392010-01-11 Carles Pina i Estany <carles@pina.cat>
14640
14641 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
14642 By default: disabled.
14643 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
14644 parameter.
14645
146462010-01-10 Carles Pina i Estany <carles@pina.cat>
14647
14648 * font/font.c: Update copyright years.
14649 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
14650
146512010-01-10 Carles Pina i Estany <carles@pina.cat>
14652
14653 * font/font.c: Include `ascii.h'.
14654 (ASCII_BITMAP_SIZE): New macro.
14655 (ascii_font_glyph): Define.
14656 (ascii_glyph_lookup): New function.
14657 (grub_font_get_string_width): Change comment. If glyph not found, use
14658 ascii_glyph_lookup.
14659 (grub_font_get_glyph_with_fallback): If glyph not available returns
14660 ascii_glyph_lookup.
14661 * util/grub-mkfont.c (file_formats): New enum.
14662 (options): Add `ascii-bitmaps' new option.
14663 (usage): Add `asii-bitmaps' new option.
14664 (write_font_ascii_bitmap): New function.
14665 (write_font): Rename to ...
14666 (write_font_p2): ... this. Remove print_glyphs call.
14667 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
14668 used. Call print_glyphs.
14669 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
14670
146712010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14672
14673 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
14674 (grub_bin2h_SOURCES): New variable.
14675 * util/bin2h.c: New file.
14676
915fc1b8
VS
146772010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14678
14679 * include/multiboot.h: Resynced with spec.
14680 * include/multiboot2.h: Likewise.
14681 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
14682 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
14683
9444b678
RM
146842010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14685
14686 * include/grub/term.h (grub_term_register_input,
14687 grub_term_register_output): Check return of terminal init()
14688 routines, and abort if errors are raised.
14689
14690 * commands/terminal.c: Update copyright year.
14691
cba98e8d
RM
146922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14693
14694 * commands/terminal.c (grub_cmd_terminal_input)
14695 (grub_cmd_terminal_output): Check return of terminal init()
14696 routines, and abort if errors are raised.
14697
6f7db5d6
VS
146982010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * include/grub/i386/bsd.h: Fix include pathes.
14701
262bff8d
VS
147022010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 Add missing *BSD copyright headers.
14705
14706 * include/grub/aout.h: Add BSD licence.
14707 * include/grub/i386/bsd.h: Parts under different licences moved to ...
14708 * include/grub/i386/freebsd_linker.h: ... here,
14709 * include/grub/i386/freebsd_reboot.h: ... here,
14710 * include/grub/i386/netbsd_bootinfo.h: ... here,
14711 * include/grub/i386/netbsd_reboot.h: ... here,
14712 * include/grub/i386/openbsd_bootarg.h: ... here,
14713 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
14714 licence to each file.
14715
b2cab848
RM
147162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14717
14718 * acinclude.m4: Remove `nop' assembly instruction; it's not
14719 implemented by all architectures.
14720
2cb6be4b
RM
147212010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14722
14723 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
14724 ELILO. This is no longer necessary.
14725
a2eaee15
BC
147262010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
14727
14728 Added new tool, grub-scrit-check to verify grub.cfg syntax.
14729
14730 * util/grub-script-check.c: grub-script-check tool.
14731 * conf/common.rmk: Make rules for grub-script-check.
14732
88d17012
RM
147332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14734
14735 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14736 spotting it back in 2008. Shame on me for forgetting he did.
14737
14738 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14739
8040619d
RM
147402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14741
14742 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14743 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14744 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14745 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14746 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14747 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14748
a0c2a0f6
RM
147492010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14750
14751 * include/grub/test.h: Add license header.
14752 * tests/example_functional_test.c: Likewise.
14753 * tests/example_unit_test.c: Likewise.
14754 * tests/lib/functional_test.c: Likewise.
14755 * tests/lib/test.c: Likewise.
14756 * tests/lib/unit_test.c: Likewise.
14757
b0b13907
VS
147582010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 Use flag-based instead of hook-based video mode selection and "auto"
14761 keyword.
14762
14763 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14764 (grub_video_set_mode): Changed prototype. All users updated.
14765 (grub_video_check_mode_flag): New inline function.
14766 * video/video.c (parse_modespec): New function.
14767 (grub_video_set_mode): Parse flags and keywords.
14768
ea379330 147692010-01-17 Carles Pina i Estany <carles@pina.cat>
14770
14771 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14772 fprintf call.
14773
e15c215e
FZ
147742010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14775
14776 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14777
409ae1c9 147782010-01-16 Carles Pina i Estany <carles@pina.cat>
14779
14780 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14781 string.
14782 * util/grub-emu.c (usage): Likewise.
14783 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
14784 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14785 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14786 * util/i386/pc/grub-setup.c (usage): Likewise.
14787
70a14d3d 147882010-01-16 Carles Pina i Estany <carles@pina.cat>
14789
14790 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
14791 the message.
14792 (grub_util_info): Likewise.
14793 (grub_util_error): Likewise.
14794 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
14795 and/or new lines in `grub_util_warna', `grub_util_info',
14796 `grub_util_error' calls.
14797 * util/getroot.c: Likewise.
14798 * util/grub-editenv.c: Likewise.
14799 * util/grub-emu.c: Likewise.
14800 * util/grub-fstest.c: Likewise.
14801 * util/grub-mkdevicemap.c: Likewise.
14802 * util/grub-mkfont.c: Likewise.
14803 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14804 * util/grub-mkrelpath.c: Likewise.
14805 * util/grub-pe2elf.c: Likewise.
14806 * util/grub-probe.c: Likewise.
14807 * util/hostdisk.c: Likewise.
14808 * util/i386/efi/grub-mkimage.c: Likewise.
14809 * util/i386/pc/grub-mkimage.c: Likewise.
14810 * util/i386/pc/grub-setup.c: Likewise.
14811 * util/ieee1275/ofpath.c: Likewise.
14812 * util/mkisofs/eltorito.c: Likewise.
14813 * util/mkisofs/rock.c: Likewise.
14814 * util/mkisofs/write.c: Likewise.
14815 * util/raid.c: Likewise.
14816 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14817 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14818
a0b766fc
VS
148192010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14820
14821 Enable multiboot on non-pc.
14822
14823 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
14824 multiboot.mod and multiboot2.mod to ...
14825 * conf/i386.rmk (pkglib_MODULES): ... here.
14826 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
14827 Moved to ...
14828 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
14829 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
14830 Moved to ...
14831 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
14832 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
14833 Moved to ...
14834 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
14835 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
14836 Moved to ...
14837 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
14838 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
14839 relocator.mod.
14840 (ata_mod_SOURCES): Removed.
14841 (ata_mod_CFLAGS): Likewise.
14842 (ata_mod_LDFLAGS): Likewise.
14843 (relocator_mod_SOURCES): Removed.
14844 (relocator_mod_CFLAGS): Likewise.
14845 (relocator_mod_ASFLAGS): Likewise.
14846 (relocator_mod_LDFLAGS): Likewise.
14847 Include i386.mk.
14848 * include/grub/x86_64/multiboot.h: New file.
14849 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
14850 Terminate EFI.
14851
884ade56
VS
148522010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 Video multiboot support.
14855
14856 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
14857 New prototype.
14858 * include/multiboot.h: Resynced with multiboot specification.
14859 * include/multiboot2.h: Likewise.
14860 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
14861 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
14862 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
14863 (HAS_VGA_TEXT): Likewise.
14864 (accepts_video): New variable.
14865 (grub_multiboot_set_accepts_video): New function.
14866 (grub_multiboot_get_mbi_size): Account for video structures.
14867 (set_video_mode): New function.
14868 (retrieve_video_parameters): Likewise.
14869 (grub_multiboot_make_mbi): Fill video fields.
14870
0d90e8a6
VS
148712010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14872
14873 Video driver ids.
14874
14875 * include/grub/video.h (grub_video_driver_id): New type.
14876 (grub_video_adapter): New member 'id'. All users updated.
14877 (grub_video_get_driver_id): New proto.
14878 * video/video.c (grub_video_get_driver_id): New function.
14879
5c71db1b 148802010-01-14 Carles Pina i Estany <carles@pina.cat>
14881
14882 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
14883 `var=val'.
14884
cca15b52 148852010-01-14 Carles Pina i Estany <carles@pina.cat>
14886
14887 * normal/cmdline.c (print_completion): Gettextizze.
14888
c586fbb2 148892001-01-14 Carles Pina i Estany <carles@pina.cat>
14890
14891 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
14892
ba2f6848 148932010-01-14 Carles Pina i Estany <carles@pina.cat>
14894
14895 * gettext/gettext.c (grub_gettext_translate): Push and pop
14896 grub_errno.
14897 (grub_gettext_delete_list): Change comment style.
14898 * kern/err.c (grub_error): Gettextizze.
14899 (grub_fatal): Gettextizze.
14900
0a46429a
RM
149012010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14902
14903 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
14904 (grub_linux16_real_boot): ... this.
14905 * kern/i386/loader.S: Likewise.
14906 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
14907 (grub_linux16_boot): New function. Switches to text mode and calls
14908 grub_linux16_real_boot().
14909
14910 * loader/i386/bsd.c: Include `<grub/video.h>'.
14911 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
14912 text mode before calling grub_unix_real_boot().
14913
14914 * loader/i386/multiboot.c: Include `<grub/video.h>'.
14915 (grub_multiboot_boot): Switch to text mode before calling
14916 grub_relocator32_boot().
14917
14918 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
14919 (grub_chainloader_boot): Switch to text mode before calling
14920 grub_chainloader_real_boot().
14921
d6f93a66
RM
149222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
149232010-01-05 Colin Watson <cjwatson@ubuntu.com>
14924
14925 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
14926 non-empty value.
14927
149282010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
149292010-01-05 Colin Watson <cjwatson@ubuntu.com>
14930
14931 * util/grub.d/00_header.in: Define a "savedefault" function for use
14932 in menu entries.
14933 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
14934
149352010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
149362010-01-05 Colin Watson <cjwatson@ubuntu.com>
14937
14938 * util/grub-mkconfig_lib.in (save_default_entry): Only set
14939 saved_entry if boot_once is unset.
14940 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
14941 previous saved entry (i.e. grub-reboot).
14942
149432009-12-08 Colin Watson <cjwatson@ubuntu.com>
14944
14945 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
14946
149472009-12-08 Colin Watson <cjwatson@ubuntu.com>
14948
14949 * util/grub.d/00_header.in: Use `set var=val' rather than plain
14950 `var=val'.
14951 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
14952
149532009-12-08 Colin Watson <cjwatson@ubuntu.com>
14954
14955 * util/grub-reboot.in: Fix --version output.
14956 * util/grub-set-default.in: Likewise.
14957
149582009-12-08 Colin Watson <cjwatson@ubuntu.com>
14959
14960 * util/grub.d/00_header.in: Silently ignore zero-sized environment
14961 blocks.
14962
149632009-12-08 Colin Watson <cjwatson@ubuntu.com>
14964
14965 * util/grub.d/00_header.in: Quote the value assigned to `default',
14966 in case it contains spaces.
14967
149682009-12-08 Colin Watson <cjwatson@ubuntu.com>
14969
14970 * util/grub.d/30_os-prober.in: Fix merge error that moved a
14971 `save_default_entry' call from the macosx case to the linux case.
14972
149732009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
149742009-10-25 Colin Watson <cjwatson@ubuntu.com>
14975
14976 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
14977 in `chosen' environment variable.
14978 * normal/menu_text.c (get_entry_number): Check if the variable
14979 matches the title of a menu entry.
14980 (run_menu): Pass menu to get_entry_number.
14981
14982 * util/grub-reboot.in: New file.
14983 * util/grub-set-default.in: New file.
14984 * conf/common.rmk (grub-reboot): New utility.
14985 (grub-set-default): New utility.
14986
14987 * util/grub-mkconfig_lib.in (save_default_entry): New function.
14988 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
14989 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
14990 move it to `saved_entry' for the next boot. Load environment on
14991 initialisation.
14992 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
14993 * util/grub.d/10_hurd.in: Likewise.
14994 * util/grub.d/10_linux.in (linux_entry): Likewise.
14995 * util/grub.d/10_windows.in: Likewise.
14996 * util/grub.d/30_os-prober.in: Likewise.
14997
14998 * util/grub-install.in: Create environment block.
14999 * util/i386/efi/grub-install.in: Likewise.
15000 * util/ieee1275/grub-install.in: Likewise.
15001 * util/sparc64/ieee1275/grub-install.in: Likewise.
15002
0934d184
BC
150032010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15004
15005 Unit testing framework for GRUB.
15006
15007 * Makefile.in: Test framework build rules for 'make check'.
15008 * conf/tests.rmk: Build rules for individual tests and framework.
15009
15010 * include/grub/test.h: Header file for whitebox tests.
15011 * tests/lib/functional_test.c: Framework support for whitebox
15012 functional tests.
15013 * tests/lib/test.c: Common whitebox testing code for unit and
15014 functional tests.
15015 * tests/lib/unit_test.c: Framework support for whitebox unit
15016 tests.
15017
15018 * tests/util/grub-shell-tester.in: Support utility for grub-script
15019 tests.
15020 * tests/util/grub-shell.in: Utility to execute grub-script
15021 commands in a Qemu instance.
15022
15023 * tests/example_functional_test.c: Example whitebox functional
15024 test.
15025 * tests/example_grub_script_test.in: Example grub-script test.
15026 * tests/example_scripted_test.in: Example scripted test.
15027 * tests/example_unit_test.c: Example whitebox unit test.
15028
9c4ffeeb
VS
150292010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15030
15031 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15032 Add loader/i386/multiboot_mbi.c.
15033 (multiboot2_mod_SOURCES): Likewise.
15034 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15035 (multiboot2_mod_SOURCES): Likewise.
15036 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15037 (grub_multiboot_make_mbi): Likewise.
15038 (grub_multiboot_free_mbi): Likewise.
15039 (grub_multiboot_init_mbi): Likewise.
15040 (grub_multiboot_add_module): Likewise.
15041 (grub_multiboot_set_bootdev): Likewise.
15042 * loader/i386/multiboot.c (mbi): Removed.
15043 (mbi_dest): Likewise.
15044 (alloc_mbi): New variable.
15045 (grub_multiboot_payload_size): Removed. All users updated.
15046 (grub_multiboot_pure_size): New variable.
15047 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15048 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15049 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15050 (grub_fill_multiboot_mmap): Likewise.
15051 (grub_multiboot_get_bootdev): Likewise.
15052 (grub_multiboot): Use multiboot_mbi functions.
15053 * loader/i386/multiboot_mbi.c: New file.
15054
17383dfe
VS
150552010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15058 it would result in module crash.
15059
c1f28820
VS
150602010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15063 (grub_ofconsole_getwh): Split to ...
15064 (grub_ofconsole_getwh): ... this.
15065 (grub_ofconsole_dimensions): ...and this.
15066 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15067
58655a16
RM
150682010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15069
15070 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15071
10891398
VS
150722010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15073
15074 * loader/i386/pc/multiboot2.c: Removed stalled file.
15075
0b8a223c
VS
150762010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15079 Reported by: Grégoire Sutre
15080
92ab12b0
RM
150812010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15082
15083 * util/misc.c (canonicalize_file_name): New function.
15084 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15085 instead of realpath().
15086
a788afb6
CW
150872010-01-11 Colin Watson <cjwatson@ubuntu.com>
15088
15089 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15090 and make it clearer that it's optional. Based on confusion
15091 witnessed on IRC.
15092
ffa8e3d2
VS
150932010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15096 in premature implicit newline.
15097
e9060a9d
VS
150982010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15101 which resulted in garbled command line at the end of screen.
15102
f0d0c0b7
RM
151032010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15104
15105 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15106 initialization with similar approach as with other Linux loaders.
15107
0e60bae7
RM
151082010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15109
15110 Fix i386-ieee1275 build.
15111
15112 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15113 and grub_term_height() for video_{width,height} initialization.
15114
151152010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15116
15117 Fix grub-emu build.
15118
15119 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15120
cdb3f378
RM
151212010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
151222010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15123
15124 Support for multiple terminals.
15125
15126 * Makefile.in (pkglib_DATA): terminal.lst.
15127 (terminal.lst): New target.
15128 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15129 (GRUB_MOD_INIT(handler)): Likewise.
15130 (GRUB_MOD_FINI(handler)): Likewise.
15131 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15132 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15133 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15134 (grub_cmd_sleep): Use grub_term_save_pos.
15135 * commands/terminal.c: New file.
15136 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15137 commands/terminal.c and lib/charset.c.
15138 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15139 (pkglib_MODULES): Add terminal.mod.
15140 (terminal_mod_SOURCES): New variable.
15141 (terminal_mod_CFLAGS): Likewise.
15142 (terminal_mod_LDFLAGS): Likewise.
15143 * genhandlerlist.sh: Don't handle terminals.
15144 * genmk.rb: Generate terminal-*.lst.
15145 * genterminallist.sh: New file.
15146 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15147 (grub_is_valid_utf8): Likewise.
15148 (grub_utf8_to_ucs4_alloc): Likewise.
15149 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15150 (grub_menu_register_viewer): Changed argument.
15151 (grub_menu_try_text): New proto.
15152 (grub_gfxmenu_try_hook): New declaration.
15153 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15154 (grub_menu_init_page): Additional argument term.
15155 (grub_normal_init_page): Likewise.
15156 (grub_cmdline_get): Arguments simplified.
15157 (grub_utf8_to_ucs4_alloc): Removed.
15158 (grub_print_ucs4): Additional argument term.
15159 (grub_getstringwidth): Likewise.
15160 (grub_print_message_indented): Likewise.
15161 (grub_menu_text_register_instances): New proto.
15162 (grub_show_menu): Likewise.
15163 (read_terminal_list): Likewise.
15164 (grub_set_more): Likewise.
15165 * include/grub/parser.h: Include handler.h.
15166 * include/grub/reader.h: Rewritten.
15167 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15168 (GRUB_TERM_WIDTH): Changed to function.
15169 (GRUB_TERM_HEIGHT): Likewise.
15170 (GRUB_TERM_BORDER_WIDTH): Likewise.
15171 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15172 (GRUB_TERM_NUM_ENTRIES): Likewise.
15173 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15174 (GRUB_TERM_CURSOR_X): Likewise.
15175 (grub_term_input_class): Likewise.
15176 (grub_term_output_class): Likewise.
15177 (grub_term_outputs_disabled): New declaration.
15178 (grub_term_inputs_disabled): Likewise.
15179 (grub_term_outputs): Likewise.
15180 (grub_term_inputs): Likewise.
15181 (grub_term_register_input): Rewritten.
15182 (grub_term_register_output): Likewise.
15183 (grub_term_unregister_input): Likewise.
15184 (grub_term_unregister_output): Likewise.
15185 (FOR_ACTIVE_TERM_INPUTS): New macro.
15186 (FOR_DISABLED_TERM_INPUTS): Likewise.
15187 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15188 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15189 * include/grub/terminfo.h: Add oterm argument to all protypes.
15190 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15191 Use grub_rescue_run.
15192 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15193 All users updated.
15194 * kern/reader.c: Removed. All users updated.
15195 * kern/rescue_reader.c (grub_rescue_init): Removed.
15196 (grub_rescue_reader): Likewise.
15197 (grub_register_rescue_reader): Likewise.
15198 (grub_rescue_run): New function based on kern/reader.c.
15199 * kern/term.c: Adapted for multiterm.
15200 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15201 (grub_is_valid_utf8): Likewise.
15202 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15203 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15204 right terminal.
15205 * loader/i386/linux.c (grub_linux_boot): Likewise.
15206 * normal/auth.c (grub_username_get): New function.
15207 (grub_auth_check_authentication): Use grub_username_get.
15208 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15209 * normal/color.c: Adapt for multiterm.
15210 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15211 (grub_normal_init_page): Additional argument term.
15212 (read_lists): Call read_terminal_lists.
15213 (grub_enter_normal_mode): Call grub_cmdline_run.
15214 Handle grub_normal_exit_level.
15215 (grub_cmd_normal): Make reentrant.
15216 (grub_cmd_normal_exit): New function.
15217 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15218 * normal/menu.c: Adapt for multiterm.
15219 * normal/menu_entry.c: Likewise.
15220 * normal/menu_text.c: Likewise.
15221 * normal/menu_viewer.c: Removed. All users updated.
15222 * normal/term.c: New file.
15223 * util/console.c: Change order of includes to workaround a bug in
15224 ncurses headers.
15225 * term/terminfo.c: New argument oterm on all exported functions.
15226 All users updated.
15227 * util/grub-editenv.c (grub_term_input_class): Removed.
15228 (grub_term_output_class): Likewise.
15229
1a064917
RM
152302010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15231
15232 Make loader output a bit more user-friendly.
15233
15234 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15235 is being loaded. Likewise for the Hurd.
15236
15237 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15238 that kernel of FreeBSD ${version} is being loaded.
15239
15240 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15241 grub_dprintf().
15242 (grub_cmd_initrd): Likewise.
15243 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15244 that Linux ${version} is being loaded. Likewise for initrd.
15245
5ce0a83a 152462010-01-09 Carles Pina i Estany <carles@pina.cat>
15247
15248 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15249
809bbfeb 152502010-01-08 Carles Pina i Estany <carles@pina.cat>
15251
15252 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15253 (GRUB_MOD_INIT): Gettextizze.
15254 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15255 (GRUB_MOD_INIT): Gettextizze.
15256 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15257 (grub_cmd_linux): Capitalise Linux.
15258 (GRUB_MOD_INIT): Gettextizze.
15259 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15260 (grub_cmd_linux): Capitalise Linux.
15261 (GRUB_MOD_INIT): Gettextizze.
15262 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15263 (grub_cmd_linux): Capitalise Linux.
15264 (GRUB_MOD_INIT): Gettextizze.
15265 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15266 (GRUB_MOD_INIT): Gettextizze.
15267 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15268 (grub_cmd_linux): Capitalise Linux.
15269 (GRUB_MOD_INIT): Gettextizze.
15270 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15271 (grub_cpu_xnu_init): Gettextizze.
15272 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15273 (GRUB_MOD_INIT): Gettextizze.
15274 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15275 (GRUB_MOD_INIT): Gettextizze.
15276 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15277 (grub_linux_load64): Capitalise Linux.
15278 (GRUB_MOD_INIT): Gettextizze.
15279 * loader/xnu.c: Include `<grub/i18n.h>'.
15280 (GRUB_MOD_INIT): Gettextizze.
15281 * po/POTFILES: Add `loader/efi/appleloader.c',
15282 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15283 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15284 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15285 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15286 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15287 and `loader/xnu.c'.
15288
b394b2ca
RM
152892010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15290
15291 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15292
152932010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15294
15295 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15296 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15297 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15298
bc8b32b3
RM
152992010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15300
15301 Reset Multiboot 2 support. New loader implements the draft in
15302 /branches/multiboot2 and shares as much code as possible with the
15303 production Multiboot 1 implementation.
15304
15305 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15306 * loader/multiboot2.c: Likewise.
15307 * loader/i386/multiboot_helper.S: Likewise.
15308 * include/multiboot2.h: Replace with latest version from the draft
15309 in /branches/multiboot2.
15310
15311 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15312 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15313 and `loader/multiboot2.c'.
15314 (pkglib_MODULES): Add `multiboot2.mod'.
15315 (multiboot2_mod_SOURCES): New variable.
15316 (multiboot2_mod_LDFLAGS): Likewise.
15317 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15318
15319 * conf/i386-pc.rmk: Likewise.
15320
15321 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15322 (multiboot_mod_SOURCES): Remove variable.
15323 (multiboot_mod_LDFLAGS): Likewise.
15324 (multiboot_mod_CFLAGS): Likewise.
15325
15326 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15327 `<multiboot2.h>' instead of `<multiboot.h>'.
15328 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15329 (MULTIBOOT_HEADER_MAGIC): New macros.
15330
15331 * loader/multiboot_loader.c (module_version_status): Remove variable.
15332 (find_multi_boot2_header): Remove function.
15333 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15334 logic. Always check for the Multiboot version we're compiling for.
15335 (grub_cmd_module_loader): Likewise.
15336 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15337 command instead of `multiboot'.
15338
5d2c52b8
RM
153392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15340
15341 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15342 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15343 all users.
15344
53108d92
RM
153452010-01-07 Robert Millan <rmh.grub@aybabtu.com>
153462010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 Fix breakage introduced with previous commit.
15349
15350 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15351 commands.
15352 * normal/handler.c (read_handler_list): Revert part of previous commit
15353 affecting this file.
15354 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15355 (grub_normal_execute): ... here.
15356
e2e936b2
RM
153572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15358
15359 Merge prefix-redefinition-fix branch.
15360
15361 * normal/autofs.c (read_fs_list): Make function capable of being
15362 run multiple times, gracefuly replacing the previous data
15363 structures.
15364 * normal/dyncmd.c (read_command_list): Likewise.
15365 * normal/handler.c (read_handler_list): Likewise.
15366 * normal/main.c (read_lists): New function. Calls all the
15367 list reading functions.
15368 (grub_normal_execute): Use read_lists() instead of calling all
15369 list reading functions explicitly. Register read_lists() as a
15370 variable hook attached to ${prefix}.
15371
607a3701
VS
153722010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 Merge crypto branch.
15375
15376 * Makefile.in (pkglib_DATA): Add crypto.lst.
15377 (crypto.lst): New target.
15378 * commands/hashsum.c: New file.
15379 * commands/password.c (check_password): Use grub_crypto_memcmp.
15380 * commands/password_pbkdf2.c: New file.
15381 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15382 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15383 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15384 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15385 -I$(srcdir)/lib/libgcrypt_wrap.
15386 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15387 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15388 password_pbkdf2.mod.
15389 (crypto_mod_SOURCES): New variable.
15390 (crypto_mod_CFLAGS): Likewise.
15391 (crypto_mod_LDFLAGS): Likewise.
15392 (hashsum_mod_SOURCES): New variable.
15393 (hashsum_mod_CFLAGS): Likewise.
15394 (hashsum_mod_LDFLAGS): Likewise.
15395 (pbkdf2_mod_SOURCES): New variable.
15396 (pbkdf2_mod_CFLAGS): Likewise.
15397 (pbkdf2_mod_LDFLAGS): Likewise.
15398 (password_pbkdf2_mod_SOURCES): New variable.
15399 (password_pbkdf2_mod_CFLAGS): Likewise.
15400 (password_pbkdf2_mod_LDFLAGS): Likewise.
15401 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15402 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15403 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15404 Include conf/gcry.rmk.
15405 * include/grub/auth.h: Rewritten.
15406 * include/grub/crypto.h: New file.
15407 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15408 * include/grub/normal.h (read_crypto_list): New prototype.
15409 * lib/crypto.c: New file.
15410 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15411 * lib/pbkdf2.c: Likewise.
15412 * normal/auth.c (grub_auth_strcmp): Removed.
15413 (grub_iswordseparator): Likewise.
15414 (grub_auth_strword): Likewise.
15415 (is_authenticated): Use grub_strword.
15416 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15417 and grub_strword. Pass entered password to authentication callback.
15418 * normal/crypto.c: New file.
15419 * normal/main.c: Call read_crypto_list.
15420 * util/grub-mkpasswd-pbkdf2.c: New file.
15421 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15422
42841caa
VS
154232010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15424
15425 Fix descent and ascent calculation.
15426
15427 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15428 (options): New option "asce".
15429 (usage): Likewise.
15430 (add_char): Ignore invalid glyphs for descent calculation.
15431 Calculate ascent from actual content.
15432 (print_glyphs): Use 'asce'.
15433 (write_font): Likewise. Allow ascent override.
15434 (main): Handle "asce" option.
15435
e7730de7 154362010-01-06 Carles Pina i Estany <carles@pina.cat>
15437
15438 * kern/err.c: Include `<grub/i18n.h>'.
15439 (grub_print_error): Add full stop. Gettextizze.
15440 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15441 (grub_bsd_load_elf): Capitalise ELF.
15442 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15443 (grub_cmd_freebsd_module): Likewise.
15444 (grub_cmd_freebsd_module_elf): Likewise.
15445 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15446
40e3a41f 154472010-01-06 Carles Pina i Estany <carles@pina.cat>
15448
15449 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15450 * commands/search_file.c (HELP_MESSAGE): New macro.
15451 * commands/search_label.c (HELP_MESSAGE): Likewise.
15452 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15453 * po/POTFILES: Add `commands/search_file.c',
15454 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15455 `commands/search.c'.
15456
83507e68
RM
154572010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15458
15459 * config.rpath: Update from Gnulib.
15460
465c787b
YB
154612010-01-05 Yves Blusseau <blusseau@zetam.org>
15462
15463 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15464
6581dd3a
YB
154652010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15466
15467 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15468
3bff18c5
CW
154692010-01-05 Colin Watson <cjwatson@ubuntu.com>
15470
15471 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15472 arguments to fread so that we get a return value in bytes, rather
15473 than something that will normally be rounded down to 0.
15474 Adjust error handling to avoid producing garbage when size_t is not
15475 the same size as long long.
15476
a1368118
CW
154772010-01-05 Colin Watson <cjwatson@ubuntu.com>
15478
15479 * util/mkisofs/write.c (padblock_write): Check return value of
15480 fread.
15481
7c302978
RM
154822010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15483
15484 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15485 floppy images now.
15486
15487 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
15488
e33ace06
RM
154892010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15490
15491 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
15492 instead of manual alignment.
15493 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
15494 verbose). Avoid attempts to read past end of the device
15495 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
15496 but GRUB_DISK_CACHE_SIZE may exceed that).
15497
4b856776
RM
154982010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15499
15500 * commands/crc.c (grub_cmd_crc): Abort on read errors.
15501 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
15502 it to upper layer.
15503
52c2d97f
VS
155042010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15505
15506 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
15507 New constant.
15508 (grub_efi_piwg_device_path): New structure
15509 (grub_efi_piwg_device_path_t): New type.
15510 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
15511 (devpath_1): Transform to a structure. All users updated.
15512 (devpath_2): Likewise.
15513 (devpath_3): Likewise.
15514 (devpath_4): Likewise.
15515 (devpath_5): Likewise.
15516
98ff6a54
VS
155172010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * loader/efi/appleloader.c: Restored. Update all users.
15520
3a73dcb6
RM
155212010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15522
15523 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
15524
15525 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
15526 (struct boot_blocklist): Move from here ...
15527 * include/grub/i386/pc/boot.h [ASM_FILE]
15528 (struct grub_boot_blocklist): ... to here. Update all users.
15529 (setup): Only initialize `start' member of `first_block'
15530 structure. Add assert() calls to verify the other members.
15531
15532 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
15533 (generate_image): Fix broken blocklist length initialization.
15534 Add assert() call to verify blocklist `segment' field.
15535
ab0eeb0c
RM
155362010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15537
15538 * loader/efi/appleloader.c: Remove. Update all users.
15539
58bc8bd5
RM
155402010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15541
15542 * boot/i386/pc/boot.S: Update copyright year.
15543 * boot/i386/pc/cdboot.S: Likewise.
15544 * boot/i386/pc/diskboot.S: Likewise.
15545 * boot/i386/pc/lnxboot.S: Likewise.
15546 * boot/i386/pc/pxeboot.S: Likewise.
15547 * bus/pci.c: Likewise.
15548 * commands/cmp.c: Likewise.
15549 * commands/help.c: Likewise.
15550 * commands/hexdump.c: Likewise.
15551 * commands/i386/pc/halt.c: Likewise.
15552 * commands/i386/pc/play.c: Likewise.
15553 * commands/i386/pc/vbeinfo.c: Likewise.
15554 * commands/ls.c: Likewise.
15555 * commands/test.c: Likewise.
15556 * disk/dmraid_nvidia.c: Likewise.
15557 * disk/i386/pc/biosdisk.c: Likewise.
15558 * disk/ieee1275/nand.c: Likewise.
15559 * disk/ieee1275/ofdisk.c: Likewise.
15560 * disk/lvm.c: Likewise.
15561 * disk/raid.c: Likewise.
15562 * disk/raid6_recover.c: Likewise.
15563 * disk/scsi.c: Likewise.
15564 * fs/affs.c: Likewise.
15565 * fs/cpio.c: Likewise.
15566 * fs/ext2.c: Likewise.
15567 * fs/hfs.c: Likewise.
15568 * fs/iso9660.c: Likewise.
15569 * fs/ntfs.c: Likewise.
15570 * fs/sfs.c: Likewise.
15571 * fs/udf.c: Likewise.
15572 * fs/ufs.c: Likewise.
15573 * fs/xfs.c: Likewise.
15574 * gencmdlist.sh: Likewise.
15575 * genmk.rb: Likewise.
15576 * include/grub/disk.h: Likewise.
15577 * include/grub/efi/api.h: Likewise.
15578 * include/grub/efi/efi.h: Likewise.
15579 * include/grub/efi/pe32.h: Likewise.
15580 * include/grub/elf.h: Likewise.
15581 * include/grub/fs.h: Likewise.
15582 * include/grub/i386/at_keyboard.h: Likewise.
15583 * include/grub/i386/pc/memory.h: Likewise.
15584 * include/grub/i386/pc/vbe.h: Likewise.
15585 * include/grub/i386/pci.h: Likewise.
15586 * include/grub/i386/tsc.h: Likewise.
15587 * include/grub/ieee1275/ieee1275.h: Likewise.
15588 * include/grub/ntfs.h: Likewise.
15589 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15590 * include/grub/sparc64/libgcc.h: Likewise.
15591 * include/grub/symbol.h: Likewise.
15592 * include/grub/types.h: Likewise.
15593 * include/multiboot2.h: Likewise.
15594 * io/gzio.c: Likewise.
15595 * kern/device.c: Likewise.
15596 * kern/disk.c: Likewise.
15597 * kern/efi/efi.c: Likewise.
15598 * kern/efi/mm.c: Likewise.
15599 * kern/elf.c: Likewise.
15600 * kern/file.c: Likewise.
15601 * kern/i386/dl.c: Likewise.
15602 * kern/i386/pc/init.c: Likewise.
15603 * kern/i386/pc/startup.S: Likewise.
15604 * kern/ieee1275/ieee1275.c: Likewise.
15605 * kern/ieee1275/init.c: Likewise.
15606 * kern/main.c: Likewise.
15607 * kern/mm.c: Likewise.
15608 * kern/powerpc/dl.c: Likewise.
15609 * kern/sparc64/dl.c: Likewise.
15610 * kern/x86_64/dl.c: Likewise.
15611 * lib/hexdump.c: Likewise.
15612 * loader/efi/appleloader.c: Likewise.
15613 * loader/i386/ieee1275/linux.c: Likewise.
15614 * loader/i386/pc/chainloader.c: Likewise.
15615 * loader/i386/pc/linux.c: Likewise.
15616 * loader/i386/pc/multiboot2.c: Likewise.
15617 * loader/ieee1275/multiboot2.c: Likewise.
15618 * loader/multiboot2.c: Likewise.
15619 * loader/multiboot_loader.c: Likewise.
15620 * loader/powerpc/ieee1275/linux.c: Likewise.
15621 * normal/completion.c: Likewise.
15622 * normal/menu_entry.c: Likewise.
15623 * partmap/apple.c: Likewise.
15624 * util/grub.d/10_hurd.in: Likewise.
15625 * util/hostfs.c: Likewise.
15626 * video/readers/png.c: Likewise.
15627
e2d70b5c
CW
156282010-01-03 Colin Watson <cjwatson@ubuntu.com>
15629
15630 * include/grub/misc.h (GNUC_PREREQ): New macro.
15631 (ATTRIBUTE_ERROR): New macro.
15632 * include/grub/list.h (grub_bad_type_cast_real): Use
15633 ATTRIBUTE_ERROR.
15634
a173283f 156352010-01-03 Carles Pina i Estany <carles@pina.cat>
15636
15637 * normal/menu_text.c (print_message): Change messages.
15638
7fa7ff74 156392010-01-03 Carles Pina i Estany <carles@pina.cat>
15640
15641 * normal/menu_entry.c (store_completion): Gettextizze.
15642
136d24f6 156432010-01-03 Carles Pina i Estany <carles@pina.cat>
15644
15645 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
15646
f936862e 156472010-01-03 Carles Pina i Estany <carles@pina.cat>
15648
15649 * po/POTFILES: Sort correctly.
15650
29c44ad1 156512010-01-03 Carles Pina i Estany <carles@pina.cat>
15652
15653 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
15654 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
15655 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
15656 full stop.
15657 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
15658 summary. Gettextizze the strings.
15659 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
15660 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
15661 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
15662 full stop.
15663 (GRUB_MOD_INIT): Remove command name from summary.
15664 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
15665 summary.
15666 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
15667 * term/i386/pc/serial.c (options): Add full stops.
15668 (GRUB_MOD_INIT): Remove command name from the summary.
15669
77a79592 156702010-01-03 Carles Pina i Estany <carles@pina.cat>
15671
15672 * commands/acpi.c: Gettextizze help strings and/or options. Include
15673 `grub/i18n.h' if needed.
15674 * commands/blocklist.c: Likewise.
15675 * commands/boot.c: Likewise.
15676 * commands/cat.c: Likewise.
15677 * commands/cmp.c: Likewise.
15678 * commands/configfile.c: Likewise.
15679 * commands/crc.c: Likewise.
15680 * commands/date.c: Likewise.
15681 * commands/echo.c: Likewise.
15682 * commands/efi/fixvideo.c: Likewise.
15683 * commands/efi/loadbios.c: Likewise.
15684 * commands/gptsync.c: Likewise.
15685 * commands/halt.c: Likewise.
15686 * commands/handler.c: Likewise.
15687 * commands/hdparm.c: Likewise.
15688 * commands/hexdump.c: Likewise.
15689 * commands/i386/cpuid.c: Likewise.
15690 * commands/i386/pc/drivemap.c: Likewise.
15691 * commands/i386/pc/halt.c: Likewise.
15692 * commands/i386/pc/pxecmd.c: Likewise.
15693 * commands/i386/pc/vbeinfo.c: Likewise.
15694 * commands/i386/pc/vbetest.c: Likewise.
15695 * commands/ieee1275/suspend.c: Likewise.
15696 * commands/keystatus.c: Likewise.
15697 * commands/loadenv.c: Likewise.
15698 * commands/ls.c: Likewise.
15699 * commands/lsmmap.c: Likewise.
15700 * commands/lspci.c: Likewise.
15701 * commands/memrw.c: Likewise.
15702 * commands/minicmd.c: Likewise.
15703 * commands/parttool.c: Likewise.
15704 * commands/password.c: Likewise.
15705 * commands/probe.c: Likewise.
15706 * commands/read.c: Likewise.
15707 * commands/reboot.c: Likewise.
15708 * commands/search.c: Likewise.
15709 * commands/sleep.c: Likewise.
15710 * commands/test.c: Likewise.
15711 * commands/true.c: Likewise.
15712 * commands/usbtest.c: Likewise.
15713 * commands/videotest.c: Likewise.
15714 * commands/xnu_uuid.c: Likewise.
15715 * disk/loopback.c: Likewise.
15716 * hello/hello.c: Likewise.
15717 * loader/i386/bsd.c: Likewise.
15718 * term/i386/pc/serial.c: Likewise.
15719 * po/POTFILES: Add new files.
15720
da8d5c53
CW
157212010-01-02 Colin Watson <cjwatson@ubuntu.com>
15722
15723 * term/i386/pc/at_keyboard.c
15724 (keyboard_controller_wait_untill_ready): Rename to ...
15725 (keyboard_controller_wait_until_ready): ... this. Update all users.
15726
33937904 157272010-01-01 Carles Pina i Estany <carles@pina.cat>
15728
15729 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
15730 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
15731 string using string width.
15732 * normal/menu_text.c (grub_print_message_indented): Use
15733 grub_print_spaces and not print_spaces.
15734 (print_timeout): Likewise.
15735 (print_spaces): Move to...
15736 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15737
3fd3b8d8
RM
157382010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15739
15740 Import from Gnulib.
15741
15742 * gnulib/getdelim.c: New file.
15743 * gnulib/getline.c: Likewise.
15744
33433555
VS
157452009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15746
15747 * include/grub/list.h (grub_assert_fail): Removed.
15748 (grub_bad_type_cast_real): New function.
15749 (grub_bad_type_cast): New macro.
15750 (GRUB_AS_LIST): Use grub_bad_type_cast.
15751 (GRUB_AS_LIST_P): Likewise.
e44721e8 15752 (GRUB_AS_NAMED_LIST): Likewise.
33433555 15753 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 15754 (GRUB_AS_PRIO_LIST): Likewise.
33433555 15755 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 15756 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 15757
f5a51306
VS
157582009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15761 Fix syntax error.
15762
90d1e879
RM
157632009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15764
15765 * configure.ac: Check for TARGET_CFLAGS initialization before we
15766 initialize it ourselves (sigh).
15767 Move a few modifications to TARGET_CFLAGS to be unconditional
15768 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15769 eh_frame)
15770
15771 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15772 * term/i386/pc/at_keyboard.c
15773 (keyboard_controller_wait_untill_ready): Likewise.
15774 (keyboard_controller_led): Rename `led_status' paramter to avoid
15775 name conflict.
15776
465b5a81 157772009-12-28 Carles Pina i Estany <carles@pina.cat>
15778
15779 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15780 quotes.
15781
c181849b
VS
157822009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
15785
9c8739a4
VS
157862009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * normal/menu_text.c (grub_print_message_indented): Prevent
15789 past-the-end-of-array dereference.
15790
3e74249c
VS
157912009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
15794 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
15795
64fd18ed 157962009-12-27 Carles Pina i Estany <carles@pina.cat>
15797
15798 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
15799 * normal/main.c (grub_normal_read_line): Remove a space from the
15800 default prompt.
15801
714af9b9 158022009-12-27 Carles Pina i Estany <carles@pina.cat>
15803
15804 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
15805 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15806 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15807 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15808 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15809 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15810 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15811
82f3e412 158122009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 15813
15814 * video/readers/jpeg.c (cmd): Declare.
15815 (grub_cmd_jpegtest): Use `grub_command_t' type.
15816 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15817 Assign to `cmd'.
15818 (GRUB_MOD_FINI): Use `cmd' to unregister.
15819 * video/readers/png.c (cmd): Declare.
15820 (grub_cmd_pngtest): Use `grub_command_t' type.
15821 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15822 Assign to `cmd'.
15823 (GRUB_MOD_FINI): Use `cmd' to unregister.
15824 * video/readers/tga.c (cmd): Declare.
15825 (grub_cmd_tgatest): Use `grub_command_t' type.
15826 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15827 Assign to `cmd'.
15828 (GRUB_MOD_FINI): Use `cmd' to unregister.
15829
82f3e412 158302009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 15831
15832 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
15833 stops.
15834 * kern/corecmd.c (grub_register_core_commands): Likewise.
15835 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
15836 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15837 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
15838 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15839 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15840 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
15841 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15842 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
15843 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15844 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15845 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15846 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15847 * normal/handler.c (insert_handler): Likewise.
15848 * normal/main.c (GRUB_MOD_INIT): Likewise.
15849 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15850
fdcdbb66 158512009-12-26 Carles Pina i Estany <carles@pina.cat>
15852
15853 * commands/help.c (grub_cmd_help): Print the command name before the
15854 summary.
15855 (GRUB_MOD_INIT): Remove command name from the summary.
15856 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 15857 string as summary.
fdcdbb66 15858 * lib/arg.c (find_long): Print the command name before the summary.
15859 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
15860 summary.
15861 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
15862 * commands/cat.c (GRUB_MOD_INIT): Likewise.
15863 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
15864 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
15865 * commands/crc.c (GRUB_MOD_INIT): Likewise.
15866 * commands/date.c (GRUB_MOD_INIT): Likewise.
15867 * commands/echo.c (GRUB_MOD_INIT): Likewise.
15868 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
15869 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15870 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15871 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
15872 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
15873 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
15874 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
15875 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15876 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
15877 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
15878 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
15879 * commands/ls.c (GRUB_MOD_INIT): Likewise.
15880 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15881 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15882 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15883 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
15884 * commands/password.c (GRUB_MOD_INIT): Likewise.
15885 * commands/probe.c (GRUB_MOD_INIT): Likewise.
15886 * commands/read.c (GRUB_MOD_INIT): Likewise.
15887 * commands/search.c (GRUB_MOD_INIT): Likewise.
15888 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
15889 * commands/test.c (GRUB_MOD_INIT): Likewise.
15890 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
15891 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15892 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15893 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
15894 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15895 * lib/arg.c (GRUB_MOD_INIT): Likewise.
15896 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
15897 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15898 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15899 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15900 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15901 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
15902 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
15903 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
15904
9c288be2
VS
159052009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 Use search command for preliminar UUID search.
15908
15909 * commands/search.c: Split into ...
15910 * commands/search_wrap.c: ...this
15911 * commands/search.c: ...and this.
15912 * commands/search_file.c: New file.
15913 * commands/search_label.c: New file.
15914 * commands/search_uuid.c: New file.
15915 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
15916 Add commands/search_wrap.c, commands/search_file.c,
15917 commands/search_label.c and commands/search_uuid.c.
15918 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
15919 (search_mod_SOURCES): Set to commands/search_wrap.c.
15920 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
15921 search_label.mod.
15922 (search_fs_file_mod_SOURCES): New variable.
15923 (search_fs_file_mod_CFLAGS): Likewise.
15924 (search_fs_file_mod_LDFLAGS): Likewise.
15925 (search_label_mod_SOURCES): Likewise.
15926 (search_label_mod_CFLAGS): Likewise.
15927 (search_label_mod_LDFLAGS): Likewise.
15928 (search_fs_uuid_mod_SOURCES): New variable.
15929 (search_fs_uuid_mod_CFLAGS): Likewise.
15930 (search_fs_uuid_mod_LDFLAGS): Likewise.
15931 (fs_file_mod_SOURCES): Removed.
15932 (fs_file_mod_CFLAGS): Likewise.
15933 (fs_file_mod_LDFLAGS): Likewise.
15934 (fs_uuid_mod_SOURCES): Removed.
15935 (fs_uuid_mod_CFLAGS): Likewise.
15936 (fs_uuid_mod_LDFLAGS): Likewise.
15937 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
15938 Set to util/grub-install.in.
15939 * disk/fs_file.c: Removed.
15940 * disk/fs_uuid.c: Likewise.
15941 * include/grub/search.h: New file.
15942 * util/grub-install.in: Handle sparc64.
15943 Create and use load.cfg.
15944 * util/sparc64/ieee1275/grub-install.in: Removed.
15945
db943399
VS
159462009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
15949 Ignore return status if CF is cleared.
15950 (grub_biosdisk_get_diskinfo_standard): Likewise.
15951
3fdae612
RM
159522009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15953
15954 * term/i386/pc/at_keyboard.c
15955 (keyboard_controller_wait_untill_ready): New function.
15956 (grub_keyboard_controller_write, grub_keyboard_controller_read)
15957 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
15958 for keyboard polling, rather than duplicate the same loop. This
15959 saves a few bytes in code size.
15960
7ebaa2b4
VS
159612009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15962
15963 Support for (pxe[:server[:gateway]]) syntax and
15964 use environment variable for PXE.
15965
15966 * commands/i386/pc/pxecmd.c (options): Removed.
15967 (print_ip): Removed.
15968 (grub_cmd_pxe): Removed
15969 (grub_cmd_pxe_unload): New function.
15970 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
15971 (grub_pxe_your_ip): Made static.
15972 (grub_pxe_default_server_ip): Likewise.
15973 (grub_pxe_default_gateway_ip): Likewise.
15974 (grub_pxe_blksize): Likewise.
15975 (parse_ip): New function.
15976 (grub_pxe_open): Support server and gateway specification.
15977 (grub_pxe_close): Free disk->data.
15978 (grub_pxefs_open): Use disk->data.
15979 (grub_pxefs_read): Likewise.
15980 (grub_env_write_readonly): New function.
15981 (set_mac_env): Likewise.
15982 (set_env_limn_ro): Likewise.
15983 (parse_dhcp_vendor): Likewise.
15984 (grub_pxe_detect): Set the environment variables.
15985 (set_ip_env): New function.
15986 (write_ip_env): Likewise.
15987 (grub_env_write_pxe_default_server): Likewise.
15988 (grub_env_write_pxe_default_gateway): Likewise.
15989 (grub_env_write_pxe_blocksize): Likewise.
15990 (GRUB_MOD_INIT(pxe)): Set environment variables.
15991 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
15992 (grub_pxe_mac_addr_t): ... this. All users updated.
15993 (grub_pxe_your_ip): Removed.
15994 (grub_pxe_server_ip): Likewise.
15995 (grub_pxe_gateway_ip): Likewise.
15996 (grub_pxe_blksize): Likewise.
15997
ec5f98ab 159982009-12-25 Carles Pina i Estany <carles@pina.cat>
15999
16000 * commands/help.c: Include `<grub/i18n.h>'.
16001 (grub_cmd_help): Gettextizze.
16002 (GRUB_MOD_INIT): Likewise.
16003 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16004 (GRUB_MOD_INIT): Gettextizze.
16005 * commands/search.c: Include `<grub/i18n.h>'.
16006 (options): Gettextizze.
16007 (GRUB_MOD_INIT): Gettextizze.
16008 * lib/arg.c: Include `<grub/i18n.h>'.
16009 (help_options): Gettextizze.
16010 (find_long): Likewise.
16011 (grub_arg_show_help): Likewise.
16012 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16013 (read_command_list): Gettextizze.
16014 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16015 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16016
22815526
RM
160172009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16018
16019 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16020 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16021 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16022 (led_status): New variable.
16023 (keyboard_controller_led): New function.
16024 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16025 update led status for caps lock, num lock and scroll lock.
16026
0ad46fd7
FZ
160272009-12-25 Felix Zielcke <fzielcke@z-51.de>
16028
16029 * util/hostdisk.c (open_device): Fix a comment.
16030
d0e158c2
RM
160312009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16032
16033 * util/grub-install.in (host_os): New variable.
16034 * util/i386/efi/grub-install.in (host_os): Likewise.
16035
401c0ad6
RM
160362009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16037
16038 * util/mkisofs/write.c (padblock_write): Abort when given an
16039 excedingly large embed image, instead of silently truncating it.
16040
d14d3370
RM
160412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16042
16043 * include/multiboot.h: Indentation fixes.
16044
eeed10b4
RM
160452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16046
16047 * include/multiboot.h (struct multiboot_aout_symbol_table)
16048 (struct multiboot_elf_section_header_table): New structure
16049 declarations (stolen from GRUB Legacy).
16050 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16051 table information.
16052
16053 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16054 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16055 type aliases.
16056
681c70ab
RM
160572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16058
16059 * include/multiboot.h: Make comments src2texi-friendly.
16060
e4d47d8d
RM
160612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16062
16063 For consistency with [multiboot]/docs/boot.S.
16064
16065 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16066 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16067 (MULTIBOOT_MAGIC2): Rename from this ...
16068 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16069
a0b70bda
RM
160702009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16071
16072 * include/multiboot.h: Remove `<grub/types.h>'.
16073 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16074 types. Update all users.
16075
61ba42be 160762009-12-25 Carles Pina i Estany <carles@pina.cat>
16077
16078 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16079 `couldn't' and `can not' by `cannot'.
16080 * commands/i386/pc/drivemap.c: Likewise.
16081 * disk/ata.c: Likewise.
16082 * disk/ieee1275/nand.c: Likewise.
16083 * fs/affs.c: Likewise.
16084 * fs/fat.c: Likewise.
16085 * fs/hfs.c: Likewise.
16086 * fs/hfsplus.c: Likewise.
16087 * fs/iso9660.c: Likewise.
16088 * fs/jfs.c: Likewise.
16089 * fs/minix.c: Likewise.
16090 * fs/reiserfs.c: Likewise.
16091 * fs/sfs.c: Likewise.
16092 * fs/udf.c: Likewise.
16093 * fs/ufs.c: Likewise.
16094 * fs/xfs.c: Likewise.
16095 * loader/powerpc/ieee1275/linux.c: Likewise.
16096 * loader/sparc64/ieee1275/linux.c: Likewise.
16097 * util/grub-probe.c: Likewise.
16098 * util/misc.c: Likewise.
16099
7fd0baee 161002009-12-24 Carles Pina i Estany <carles@pina.cat>
16101
16102 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16103 grub_errno calls.
16104 * commands/acpi.c: Likewise.
16105 * commands/blocklist.c: Likewise.
16106 * commands/efi/loadbios.c: Likewise.
16107 * commands/i386/pc/drivemap.c: Likewise.
16108 * commands/loadenv.c: Likewise.
16109 * commands/memrw.c: Likewise.
16110 * commands/password.c: Likewise.
16111 * commands/videotest.c: Likewise.
16112 * disk/ata.c: Likewise.
16113 * disk/ata_pthru.c: Likewise.
16114 * disk/dmraid_nvidia.c: Likewise.
16115 * disk/ieee1275/nand.c: Likewise.
16116 * disk/ieee1275/ofdisk.c: Likewise.
16117 * disk/loopback.c: Likewise.
16118 * disk/lvm.c: Likewise.
16119 * disk/mdraid_linux.c: Likewise.
16120 * disk/raid.c: Likewise.
16121 * disk/raid6_recover.c: Likewise.
16122 * disk/scsi.c: Likewise.
16123 * efiemu/main.c: Likewise.
16124 * efiemu/mm.c: Likewise.
16125 * efiemu/pnvram.c: Likewise.
16126 * efiemu/symbols.c: Likewise.
16127 * font/font.c: Likewise.
16128 * fs/cpio.c: Likewise.
16129 * fs/hfsplus.c: Likewise.
16130 * fs/iso9660.c: Likewise.
16131 * fs/jfs.c: Likewise.
16132 * fs/minix.c: Likewise.
16133 * fs/ntfs.c: Likewise.
16134 * fs/ntfscomp.c: Likewise.
16135 * fs/reiserfs.c: Likewise.
16136 * fs/ufs.c: Likewise.
16137 * fs/xfs.c: Likewise.
16138 * gettext/gettext.c: Likewise.
16139 * include/grub/auth.h: Likewise.
16140 * kern/elf.c: Likewise.
16141 * kern/file.c: Likewise.
16142 * kern/ieee1275/init.c: Likewise.
16143 * kern/ieee1275/mmap.c: Likewise.
16144 * kern/ieee1275/openfw.c: Likewise.
16145 * kern/powerpc/dl.c: Likewise.
16146 * kern/sparc64/dl.c: Likewise.
16147 * lib/arg.c: Likewise.
16148 * loader/i386/bsd.c: Likewise.
16149 * loader/i386/bsdXX.c: Likewise.
16150 * loader/i386/efi/linux.c: Likewise.
16151 * loader/i386/efi/xnu.c: Likewise.
16152 * loader/i386/ieee1275/linux.c: Likewise.
16153 * loader/i386/linux.c: Likewise.
16154 * loader/i386/multiboot.c: Likewise.
16155 * loader/i386/pc/linux.c: Likewise.
16156 * loader/i386/pc/multiboot2.c: Likewise.
16157 * loader/i386/xnu.c: Likewise.
16158 * loader/ieee1275/multiboot2.c: Likewise.
16159 * loader/macho.c: Likewise.
16160 * loader/machoXX.c: Likewise.
16161 * loader/multiboot2.c: Likewise.
16162 * loader/multiboot_loader.c: Likewise.
16163 * loader/powerpc/ieee1275/linux.c: Likewise.
16164 * loader/sparc64/ieee1275/linux.c: Likewise.
16165 * loader/xnu.c: Likewise.
16166 * loader/xnu_resume.c: Likewise.
16167 * mmap/i386/pc/mmap.c: Likewise.
16168 * normal/menu_viewer.c: Likewise.
16169 * partmap/acorn.c: Likewise.
16170 * partmap/amiga.c: Likewise.
16171 * partmap/apple.c: Likewise.
16172 * script/lexer.c: Likewise.
16173 * term/gfxterm.c: Likewise.
16174 * term/i386/pc/serial.c: Likewise.
16175 * term/i386/pc/vga.c: Likewise.
16176 * term/ieee1275/ofconsole.c: Likewise.
16177 * term/terminfo.c: Likewise.
16178 * video/bitmap.c: Likewise.
16179 * video/efi_gop.c: Likewise.
16180 * video/efi_uga.c: Likewise.
16181 * video/fb/video_fb.c: Likewise.
16182 * video/i386/pc/vbe.c: Likewise.
16183 * video/readers/tga.c: Likewise.
16184 * video/video.c: Likewise.
16185
0ad46fd7 161862009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16187
16188 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16189 * commands/lspci.c: Likewise.
16190 * commands/probe.c: Likewise.
16191 * commands/xnu_uuid.c: Likewise.
16192 * conf/i386-coreboot.rmk: Likewise.
16193 * conf/i386-efi.rmk: Likewise.
16194 * conf/i386-ieee1275.rmk: Likewise.
16195 * conf/i386-pc.rmk: Likewise.
16196 * conf/powerpc-ieee1275.rmk: Likewise.
16197 * conf/sparc64-ieee1275.rmk: Likewise.
16198 * conf/x86_64-efi.rmk: Likewise.
16199 * fs/i386/pc/pxe.c: Likewise.
16200 * gettext/gettext.c: Likewise.
16201 * include/grub/efi/graphics_output.h: Likewise.
16202 * include/grub/i386/pc/memory.h: Likewise.
16203 * kern/env.c: Likewise.
16204 * kern/i386/qemu/startup.S: Likewise.
16205 * lib/i386/pc/biosnum.c: Likewise.
16206 * lib/i386/relocator.c: Likewise.
16207 * lib/i386/relocator_asm.S: Likewise.
16208 * lib/relocator.c: Likewise.
16209 * loader/i386/bsd.c: Likewise.
16210 * loader/i386/multiboot.c: Likewise.
16211 * loader/i386/pc/chainloader.c: Likewise.
16212 * loader/i386/xnu.c: Likewise.
16213 * loader/xnu.c: Likewise.
16214 * normal/main.c: Likewise.
16215 * normal/menu_text.c: Likewise.
16216 * util/getroot.c: Likewise.
16217 * util/grub-mkconfig_lib.in: Likewise.
16218 * util/grub.d/00_header.in: Likewise.
16219 * util/i386/pc/grub-mkimage.c: Likewise.
16220 * util/mkisofs/eltorito.c: Likewise.
16221 * util/mkisofs/exclude.h: Likewise.
16222 * util/mkisofs/hash.c: Likewise.
16223 * util/mkisofs/iso9660.h: Likewise.
16224 * util/mkisofs/joliet.c: Likewise.
16225 * util/mkisofs/mkisofs.c: Likewise.
16226 * util/mkisofs/mkisofs.h: Likewise.
16227 * util/mkisofs/multi.c: Likewise.
16228 * util/mkisofs/name.c: Likewise.
16229 * util/mkisofs/rock.c: Likewise.
16230 * util/mkisofs/tree.c: Likewise.
16231 * util/mkisofs/write.c: Likewise.
16232 * video/efi_gop.c: Likewise.
16233
009ec743
VS
162342009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16237 size counting.
16238
0ad46fd7 162392009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16240
16241 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16242 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16243
d3d30ea0
VS
162442009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16245
16246 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16247 (GRUB_MOD_INIT(memrw)): Update help line.
16248
a34f5c70
VS
162492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16250
16251 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16252 Use grub_extcmd_t. All users updated.
16253 (options): New variable.
16254 (grub_cmd_read): Restructure for readability. Support "-v" option.
16255 (grub_cmd_write): Restructure for readability.
16256
0ad46fd7 162572009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16258
16259 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16260
0ad46fd7 162612009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16262
16263 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16264 with the actual contents of the correspondending make variable.
16265 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16266 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16267 specifying `*.lst' and `efiemu??.o'
16268
0ad46fd7 162692009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16270
16271 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16272 after function name.
16273 Noticed by Rene Engelhard <rene@debian.org>.
16274
dc77a799
VS
162752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16278 (options): New variable.
16279 (iospace): Likewise.
16280 (grub_lspci_iter): List IO spaces if "-i" was given.
16281 (grub_cmd_lspci): Parse options.
16282 (GRUB_MOD_INIT(lspci)): Use extcmd.
16283 (GRUB_MOD_FINI(lspci)): Likewise.
16284
0ad46fd7 162852009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16286
16287 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16288 `function' keyword.
16289 Patch by Tony Mancill <tmancill@debian.org>.
16290
b5d5993b
VS
162912009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16292
16293 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16294 (grub_uhci_portstatus): Likewise.
16295 (grub_uhci_portstatus): Add necessary delay.
11d18281 16296 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16297
941903f2 162982009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16299
941903f2 16300 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16301 (GRUB_MOD_INIT): Likewise.
16302 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16303 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16304 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16305 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16306 (enable_rom_area): Likewise.
16307 (GRUB_MOD_INIT): Likewise.
16308 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16309 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16310 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16311 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16312 * commands/hexdump.c (options): Likewise.
16313 * commands/i386/cpuid.c (options): Likewise.
16314 (GRUB_MOD_INIT): Likewise.
16315 * commands/i386/pc/drivemap.c (options): Likewise.
16316 (GRUB_MOD_INIT): Likewise.
16317 * commands/i386/pc/halt (options): Likewise.
16318 (GRUB_MOD_INIT): Likewise.
16319 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16320 * commands/i386/pc/pxecmd.c (options): Likewise.
16321 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16322 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16323 * commands/keystatus.c (options): Likewise.
16324 (GRUB_MOD_INIT): Likewise.
16325 * commands/loadenv.c (options): Likewise.
16326 * commands/ls.c (options): Likewise.
16327 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16328 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16329 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16330 * commands/parttool.c (helpmsg): Likewise.
16331 * commands/probe.c (options): Likewise.
16332 * commands/read.c (GRUB_MOD_INIT): Likewise.
16333 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16334 * commands/search.c (options): Likewise.
16335 * commands/sleep.c (options): Likewise.
16336 * commands/test.c (GRUB_MOD_INIT): Likewise.
16337 * commands/true.c (GRUB_MOD_INIT): Likewise.
16338 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16339 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16340 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16341 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16342 `$(XGETTEXT)'.
98a50553 16343 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16344
0ad46fd7 163452009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16346
ef3c2c3a 16347 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16348 instead of specifying them explicit.
16349
7922f68b
RM
163502009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16351
16352 * NEWS: Add grub-probe support for GNU/Hurd.
16353
537ce47f
RM
163542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16355
16356 * NEWS: gettext was added after 1.97.
16357
9b214e3a
RM
163582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16359
16360 * util/mkisofs/msdos_partition.h: New file (based on
16361 include/grub/msdos_partition.h).
16362 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16363 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16364 (ld_options, main): Recognize --protective-msdos-label.
16365 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16366 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16367 (padblock_write): If `use_protective_msdos_label' is set, patch a
16368 protective DOS-style label in the output image.
16369
16370 * util/grub-mkrescue.in: Use --protective-msdos-label.
16371
e9309813
RM
163722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16373
16374 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16375 boot.
16376
0ae56929
RM
163772009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16378
16379 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16380 variables.
16381 (ld_options, main): Recognize `--embedded-boot'.
16382 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16383 declarations.
16384 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16385 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16386 (padblock_write): Likewise. Rewrite to support embedded boot image.
16387
16388 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16389 for BIOS-based disk boot instead of only ElTorito.
16390
b15937b1
RM
163912009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16392
16393 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16394 build (not needed for bootstrap).
16395
52cc3ce0
RM
163962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16397
16398 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16399 from i386-pc build (not needed for bootstrap).
16400 Rewrite a pair of strings.
16401
36f5ff04
RM
164022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16403
16404 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16405
973c6c85 164062009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
16407
16408 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16409
05d21547
AB
164102009-12-21 Andreas Born <futur.andy@googlemail.com>
16411
16412 * kern/env.c (grub_env_context_open): Mark exported variable for
16413 reexport.
16414
0175d51f
AB
164152009-12-21 Andreas Born <futur.andy@googlemail.com>
16416
16417 * kern/env.c (grub_env_export): Create nonexistent variables before
16418 exporting.
16419
7f39d92f 164202009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 16421
7f39d92f 16422 * include/grub/auth.h: Include `<grub/i18n.h>'.
16423 (GRUB_GET_PASSWORD): Gettextizze string.
16424 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16425 menu_text.c.
16426 (grub_utf8_to_ucs4_alloc): Fix indentation.
16427 (grub_print_ucs4): Likewise.
16428 (grub_getstringwidth): Likewise.
16429 (print_message_indented): New declaration.
16430 * normal/auth.c: Include `<grub/i18n.h>'.
16431 (grub_auth_check_authentication): Gettexttize string.
16432 * normal/cmdline.c: Include `<grub/i18n.h>'.
16433 (grub_cmdline_get): Gettextizze.
16434 * normal/color.c: Include `<grub/i18n.h>'.
16435 (grub_parse_color_name_pair): Gettexttize strings.
16436 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16437 string (use `print_message_indented').
16438 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16439 `include/grub/normal.h'.
16440 (print_message_indented): Renamed to ...
16441 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16442 used in normal/main.c).
16443 (print_message): Use `grub_print_message_indented' instead of
16444 `print_message_indented'.
16445 (print_timeout): Likewise.
16446 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16447 (grub_normal_print_device_info): Gettexttize strings.
16448 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16449
3041d898
VS
164502009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16453 of arguments. Return number of tokens and not arguments. All users
16454 updated.
16455
de15bf8e
VS
164562009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16459 non-MSDOS paritions.
16460
e0a6ca52
VS
164612009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16462
16463 * include/grub/types.h (UNUSED): Removed since it conflicts with
16464 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16465 Reported by Grégoire Sutre.
16466
b99518d1 164672009-12-19 Carles Pina i Estany <carles@pina.cat>
16468
16469 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16470 (grub_print_ucs4_alloc): Likewise.
16471 (grub_getstringwidth): Likewise.
16472 * normal/main.c (grub_normal_init_page): Gettextize version string.
16473 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16474 (getstringwidth): Renamed to ...
16475 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16476 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16477 (grub_print_ucs4): Remove `static' qualifer (now used in
16478 normal/main.c).
16479 * po/POTFILES: Add normal/main.c.
16480
bfd5e52b 164812009-12-19 Carles Pina i Estany <carles@pina.cat>
16482
16483 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16484 (print_message_indented): Add `margin_left' and `margin_right'
16485 parameters.
16486 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16487 strings.
16488 (print_timeout): Use `print_message_indented' to print the message.
16489 Deletes `second_stage' parameter.
16490 (run_menu): Update `print_timeout' calls.
16491
5a1ad2b9
VS
164922009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 Fix console palette on OpenFirmware.
16495
16496 * term/ieee1275/ofconsole.c (MAX): Removed.
16497 (colors): Redone based on VGA palette.
16498 (grub_ofconsole_setcolor): Discard brightness bit since only 8
16499 colors are supported.
16500 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
16501
b045f00a
VS
165022009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16503
16504 Fix potential EfiEmu double prepare.
16505
16506 * efiemu/main.c (prepared): New variable
16507 (grub_efiemu_unload): Set prepare to '0'.
16508 (grub_efiemu_prepare): Return if already prepared. Set prepared.
16509
16510 set_virtual_address_map support.
16511
16512 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
16513 prototype.
16514 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
16515 prototype.
16516 (grub_efiemu_crc32): Likewise.
16517 (grub_efiemu_crc64): Likewise.
16518 (grub_efiemu_set_virtual_address_map): Likewise.
16519 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
16520 New definition.
16521 (grub_autoefi_set_virtual_address_map): Likewise.
16522 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
16523 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
16524 Restructure flow to accomodate it.
16525 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
16526 (grub_efiemu_crc): Recompute CRC32.
16527 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
16528 (efiemu_ptv_relocated): ... this. Made global. All users updated.
16529 * efiemu/symbols.c (relocated_handle): New variable.
16530 (grub_efiemu_free_syms): Free relocated_handle.
16531 (grub_efiemu_alloc_syms): Allocate relocated_handle.
16532 (grub_efiemu_write_sym_markers): New function.
16533 (grub_efiemu_set_virtual_address_map): Likewise.
16534
16535 Newer XNU parameters.
16536
16537 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
16538 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
16539 (grub_xnu_fill_devicetree): New prototype.
16540 (grub_xnu_heap_real_start): New variable.
16541 * loader/xnu.c (get_name_ptr): New function.
16542 (grub_xnu_load_driver): Fill namelen and name.
16543
16544 64-bit xnu support.
16545
16546 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
16547 and 'loader/macho64.c'.
16548 * conf/i386-pc.rmk: Likewise.
16549 * conf/x86_64-efi.rmk: Likewise.
16550 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
16551 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
16552 * include/grub/macho.h (grub_macho_segment64): New structure.
16553 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
16554 (grub_macho_size32): ... to this.
16555 (grub_macho32_get_entry_point): Renamed from ...
16556 (grub_macho_get_entry_point32): ... to this.
16557 (grub_macho_contains_macho64): New prototype.
16558 (grub_macho_size64): Likewise.
16559 (grub_macho_get_entry_point64): Likewise.
16560 (grub_macho32_load): Renamed from ...
16561 (grub_macho_load32): ... to this.
16562 (grub_macho32_filesize): Renamed from ...
16563 (grub_macho_filesize32): ... to this.
16564 (grub_macho32_readfile): Renamed from ...
16565 (grub_macho_readfile32): ... to this.
16566 (grub_macho_filesize64): New prototype.
16567 (grub_macho_readfile64): Likewise.
16568 (grub_macho_parse32): Likewise.
16569 (grub_macho_parse64): Likewise.
16570 * loader/macho.c: Split into ...
16571 * loader/machoXX.c: ... and this. Replace 32 with XX.
16572 * loader/macho32.c: New file.
16573 * loader/macho64.c: Likewise.
16574 * loader/xnu.c (grub_xnu_is_64bit): New variable.
16575 (grub_cmd_xnu_kernel): Make 32-bit only.
16576 (grub_cmd_xnu_kernel64): New function.
16577 (grub_xnu_load_driver): Support Mach-O 64.
16578 (grub_cmd_xnu_mkext): Likewise.
16579 * util/grub.d/30_os-prober.in (osx_entry): New function.
16580 Generate entries for 64-bit boot too.
16581
16582 Eliminate ad-hoc tree format in XNU and EfiEmu.
16583
16584 * efiemu/main.c (grub_efiemu_prepare): Update comment.
16585 * efiemu/pnvram.c: Rewritten to use environment variables.
16586 All users updated.
16587
16588 Inline utf16_to_utf8.
16589
16590 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
16591 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
16592 All users updated.
16593 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
16594
16595 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
16596 * commands/usbtest.c (grub_usb_get_string): ... move here.
16597 (usb_print_str): Fix error handling.
16598 * include/grub/usb.h (grub_usb_get_string): Remove.
16599
16600 UTF-8 to UTF-16 transformation.
16601
16602 * conf/common.rmk (pkglib_MODULES): Add charset.mod
16603 (charset_mod_SOURCES): New variable.
16604 (charset_mod_CFLAGS): Likewise.
16605 (charset_mod_LDFLAGS): Likewise.
16606 * include/grub/utf.h: New file.
16607 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
16608
16609 Support for device properties.
16610
16611 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
16612 (grub_xnu_devprop_device_header): Likewise.
16613 (grub_xnu_devprop_device_descriptor): Likewise.
16614 (grub_xnu_devprop_add_device): New prototype.
16615 (grub_xnu_devprop_remove_device): Likewise.
16616 (grub_xnu_devprop_remove_property): Likewise.
16617 (grub_xnu_devprop_add_property_utf8): Likewise.
16618 (grub_xnu_devprop_add_property_utf16): Likewise.
16619 (grub_cpu_xnu_init): Likewise.
16620 (grub_cpu_xnu_fini): Likewise.
16621 (grub_cpu_xnu_unload): Likewise.
16622 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
16623 (property_descriptor): Likewise.
16624 (devices): New variable.
16625 (grub_xnu_devprop_remove_property): New function.
16626 (grub_xnu_devprop_add_device): Likewise.
16627 (grub_xnu_devprop_remove_device): Likewise.
16628 (grub_xnu_devprop_add_property): Likewise.
16629 (grub_xnu_devprop_add_property_utf8): Likewise.
16630 (grub_xnu_devprop_add_property_utf16): Likewise.
16631 (hextoval): Likewise.
16632 (grub_cpu_xnu_fill_devprop): Likewise.
16633 (grub_cmd_devprop_load): Likewise.
16634 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
16635 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
16636 (cmd_devprop_load): New variable.
16637 (grub_cpu_xnu_init): New function.
16638 (grub_cpu_xnu_fini): Likewise.
16639 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
16640 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
16641 (grub_cmd_xnu_devtree): Likewise.
16642 (hextoval): New function.
16643 (unescape): Likewise.
16644 (grub_xnu_fill_devicetree): Likewise.
16645
16646 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
16647 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
16648
0945f181
VS
166492009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 Workaround for broken ATI VBE.
16652
16653 * video/i386/pc/vbe.c (last_set_mode): New variable.
16654 (grub_vbe_set_video_mode): Set 'last_set_mode'.
16655 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
16656 (grub_video_vbe_setup): Don't check for reserved flag.
16657
0ad46fd7 166582009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
16659
16660 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
16661 the `find' command.
16662
c179ebe4
VS
166632009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 UUID support for HFS.
16666
16667 * fs/hfs.c (grub_hfs_uuid): New function.
16668 (grub_hfs_fs): New value .uuid.
16669 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
16670
0ad46fd7 166712009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
16672
16673 Fix a segfault with parsing unknown long options.
16674
16675 * util/grub-mkrelpath.c (options): Zero terminate it.
16676
c4a3e41a
CPE
166772009-12-13 Carles Pina i Estany <carles@pina.cat>
16678
16679 * include/grub/misc.h (grub_puts): New declaration.
16680 (grub_puts_): Likewise.
a22008a6 16681 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
16682 (grub_puts_): Likewise.
16683
2e8a7602
RM
166842009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16685
16686 * util/grub-probe.c (probe): Improve error message.
16687
b50b77b9
RM
166882009-12-13 Robert Millan <rmh.grub@aybabtu.com>
16689
16690 * loader/i386/multiboot_elfxx.c
16691 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
16692 initialization.
16693
166942009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16695
16696 Relocator framework
16697
16698 * loader/i386/xnu_helper.S: Removed. All users updated.
16699 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
16700 (relocator_mod_SOURCES): New variable.
16701 (relocator_mod_CFLAGS): Likewise.
16702 (relocator_mod_LDFLAGS): Likewise.
16703 (relocator_mod_ASFLAGS): Likewise.
16704 * conf/x86_64.rmk: Likewise.
16705 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
16706 (grub_multiboot_payload_entry_offset): Likewise.
16707 (grub_multiboot_forward_relocator): Likewise.
16708 (grub_multiboot_forward_relocator_end): Likewise.
16709 (grub_multiboot_backward_relocator): Likewise.
16710 (grub_multiboot_backward_relocator_end): Likewise.
16711 (grub_multiboot_payload_eip): New variable.
16712 (grub_multiboot_payload_orig): Likewise.
16713 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
16714 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
16715 * include/grub/i386/memory.h
16716 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
16717 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
16718 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
16719 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
16720 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
16721 * include/grub/i386/relocator.h: New file.
16722 * include/grub/x86_64/relocator.h: Likewise.
16723 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
16724 (XNU_RELOCATOR): New macro.
16725 (grub_xnu_launcher_start): Remove.
16726 (grub_xnu_launcher_end): Likewise.
16727 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
16728 (grub_xnu_heap_real_start): Remove.
16729 (grub_xnu_heap_start): Change to void *. All users updated.
16730 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
16731 * lib/i386/relocator.c: New file.
16732 * lib/i386/relocator_asm.S: Likewise.
16733 * lib/i386/relocator_backward.S: Likewise.
16734 * lib/mips/relocator.c: Likewise.
16735 * lib/mips/relocator_asm.S: Likewise.
16736 * lib/relocator.c: Likewise.
16737 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16738 (entry): Removed.
16739 (playground): Likewise.
16740 (grub_multiboot_payload_orig): New variable.
16741 (grub_multiboot_payload_dest): Likewise.
16742 (grub_multiboot_payload_size): Likewise.
16743 (grub_multiboot_payload_eip): Likewise.
16744 (grub_multiboot_payload_esp): Likewise.
16745 (grub_multiboot_boot): Use grub_relocator32_boot.
16746 (grub_multiboot_unload): Free relocators.
16747 (grub_multiboot): Setup stack. Use relocators.
16748 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16749 (grub_multiboot_load_elfXX): Use relocators.
16750 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16751 (grub_multiboot_payload_size): Likewise.
16752 (grub_multiboot_payload_dest): Likewise.
16753 (grub_multiboot_payload_entry_offset): Likewise.
16754 (grub_multiboot_forward_relocator): Likewise.
16755 (grub_multiboot_backward_relocator): Likewise.
16756 (grub_multiboot_real_boot): Likewise.
16757 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16758 (grub_xnu_entry_point): Likewise.
16759 (grub_xnu_arg1): Likewise.
16760 (grub_xnu_stack): Likewise.
16761 (grub_xnu_launch): Removed.
16762 (grub_xnu_boot_resume): New function.
16763 (grub_xnu_boot): Use relocators.
16764 * loader/i386/xnu_helper.S: Removed.
16765 * loader/xnu.c (grub_xnu_heap_start): New variable.
16766 (grub_xnu_heap_size): Likewise.
16767 (grub_xnu_heap_malloc): Use relocators.
16768 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16769
29eb90c6
VS
167702009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16771
16772 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16773 anything.
16774
31027430
CPE
167752009-12-13 Carles Pina i Estany <carles@pina.cat>
16776
16777 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16778 GRUB_ERR_NONE before calling grub_env_set.
16779
dc0c71d9
RM
167802009-12-12 Robert Millan <rmh@aybabtu.com>
16781
16782 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
16783 * genmk.rb (video): New variable.
16784 (CLEANFILES, VIDEOFILES): Add #{video}.
16785 (#{video}): New target rule.
16786 * genvideolist.sh: New file.
16787 * Makefile.in (pkglib_DATA): Add video.lst.
16788 (video.lst): New target rule.
16789 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
16790 `video.lst'.
16791 * util/grub.d/30_os-prober.in: Replace `vbe' with
16792 ${GRUB_VIDEO_BACKEND}.
16793
2a4bfcf0
RM
167942009-12-11 Robert Millan <rmh.grub@aybabtu.com>
16795
16796 * THANKS: Add David Miller.
16797
2a3aa4d5
RM
167982009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
16799
16800 libpciaccess support.
16801
16802 * Makefile.in (LIBPCIACCESS): New variable.
16803 (enable_grub_emu_pci): Likewise.
16804 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
16805 util/pci.c and commands/lspci.c.
16806 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
16807 * configure.ac (grub-emu-pci): New option.
16808 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
16809 (grub_pci_device_unmap_range): Likewise.
16810 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
16811 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
16812 (grub_pci_address_t) [!GRUB_UTIL]: New type.
16813 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
16814 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
16815 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
16816 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
16817 * include/grub/pciutils.h: New file.
16818 * util/pci.c: Likewise.
16819
0ad46fd7 168202009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
16821
16822 * util/misc.c: Don't include <errno.h> twice.
16823
0ad46fd7 168242009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
16825
16826 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
16827 name in an error message.
16828 (grub_biosdisk_rw): Likewise.
16829
2e59983c
VS
168302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16831
16832 Eliminate NTFS 4Gib barrier.
16833
16834 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
16835 (read_run_data): Likewise.
16836 (grub_ntfs_read_run_list): Likewise.
16837 (grub_ntfs_read_block): Likewise.
16838 (grub_ntfs_iterate_dir): Likewise.
16839 (read_mft): Likewise.
16840 (read_data): Likewise.
16841 Use COM_LOG_LEN.
16842 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
16843 to avoid 64-bit division
16844 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
16845 (grub_ntfs_rlst): Use grub_disk_addr_t.
16846
71ee178a
VS
168472009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16848
16849 Eliminate grub-fstest 4Gib barrier.
16850
16851 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
16852 (read_file): Fix error reporting.
16853
2520d4b8
VS
168542009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16855
16856 Eliminate hexdump 4Gib barrier.
16857
16858 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
16859 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
16860
e1f27065
VS
168612009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16862
16863 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
16864 Fixes amarsh bug.
16865
1a0f7f45
RM
168662009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
16867
16868 Remove miscellaneous files in distclean target.
16869
16870 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
16871
c631d9fb
CW
168722009-12-09 Colin Watson <cjwatson@ubuntu.com>
16873
16874 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
16875 if they're already set. This resolves the conflict between my
16876 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
16877 fixing the --grub-probe option again.
16878 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
16879 change on 2009-10-06, so that we now once again source
16880 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16881
7c7b6106
RM
168822009-12-08 Robert Millan <rmh.grub@aybabtu.com>
16883
16884 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
16885 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
16886 `util/devicemap.c'.
16887
e3069ec1
CPE
168882009-12-08 Carles Pina i Estany <carles@pina.cat>
16889
16890 * include/grub/misc.h (grub_printf_): New declaration.
16891 * kern/misc.c (grub_printf_): New definition.
16892 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
16893 instead of `grub_printf' and `_'.
16894 * normal/menu_entry.c (store_completion): Likewise.
16895 (run): Likewise.
16896 (grub_menu_entry_run): Likewise.
16897 * normal/menu_text.c (grub_wait_after_message): Likewise.
16898 (notify_booting): Likewise.
16899 (notify_fallback): Likewise.
16900 (notify_execution_failure): Likewise.
16901
d6ceebf1
CW
169022009-12-07 Colin Watson <cjwatson@ubuntu.com>
16903
16904 * configure.ac: Check for vasprintf.
16905 * util/misc.c (asprintf): Move allocation from here ...
16906 (vasprintf): ... to here. New function.
16907 (xasprintf): New function.
16908 * include/grub/util/misc.h (vasprintf, xasprintf): Add
16909 prototypes.
16910 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16911 * util/grub-mkfont.c (write_font): Likewise.
16912 * util/grub-probe.c (probe): Likewise.
16913 * util/hostdisk.c (make_device_name): Likewise.
16914
de6daa8b
DM
169152009-12-06 David S. Miller <davem@sunset.davemloft.net>
16916
16917 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
16918 anything even prefixed with 'cdrom' as a cdrom.
16919
0ad46fd7 169202009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
16921
16922 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
16923 mount points.
16924
98d3dc02
CPE
169252009-12-05 Carles Pina i Estany <carles@pina.cat>
16926
16927 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
16928 grub_gettext_msg_list.
16929 (grub_gettext_gettranslation_from_position): Return const char *
16930 and not char *.
a2c1332b 16931 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
16932 returns from the list if existing there.
16933 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
16934 (grub_gettext_delete_list): Delete the list.
16935 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
16936 lang environment variable is changed.
16937 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
16938
b283f108
VS
169392009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16940
16941 Rename kernel.mod to kernel.img.
16942
16943 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
16944 (kernel_mod_EXPORTS): Rename to ...
16945 (kernel_img_EXPORTS): ... this.
16946 (kernel_mod_SOURCES): Rename to ...
16947 (kernel_img_SOURCES): ... this.
16948 (kernel_mod_HEADERS): Rename to ...
16949 (kernel_img_HEADERS): ... this. All users updated.
16950 (kernel_mod_CFLAGS): Rename to ...
16951 (kernel_img_CFLAGS): ... this.
16952 (kernel_mod_ASFLAGS): Rename to ...
16953 (kernel_img_ASFLAGS): ... this.
16954 (kernel_mod_LDFLAGS): Rename to ...
16955 (kernel_img_LDFLAGS): ... this.
16956 * conf/x86_64-efi.rmk: Likewise.
16957 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
16958 (read_kernel_image): ... this. All users updated.
16959 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
16960
69055f8a
CPE
169612009-12-05 Carles Pina i Estany <carles@pina.cat>
16962
16963 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
16964 (print_spaces): New function.
16965 (grub_print_ucs4): New function.
16966 (getstringwidth): New function.
16967 (print_message_indented): New function.
16968 (print_message): Gettexttize strings using print_message_indented.
16969 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
16970 width.
16971 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 16972 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
16973 Gettextize.
16974 * normal/menu_entry.c (store_completion): Cleanup the gettextized
16975 string.
16976 (run): Likewise.
16977 (grub_menu_entry_run): Likewise.
16978 * PO/POTFILES: Add normal/menu_entry.c.
16979
f616f51c
VS
169802009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16981
16982 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
16983
57bbe3be
CPE
169842009-12-05 Carles Pina i Estany <carles@pina.cat>
16985
16986 * util/grub-install.in: Install gettext .mo files.
16987 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
16988
013d67a1
CPE
169892009-12-05 Carles Pina i Estany <carles@pina.cat>
16990
16991 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
16992 grub_dprintf.
16993
fb954db0
RM
169942009-12-05 Robert Millan <rmh.grub@aybabtu.com>
16995
16996 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
16997 non-firmware-dependant one in realmode.S takes precedence.
16998
6b8474f8
RM
169992009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17000
17001 * commands/halt.c: Replace misc arch-specific headers with
17002 `<grub/misc.h>'.
17003 * commands/reboot.c: Likewise.
17004 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17005 `<grub/misc.h>'.
17006 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17007 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17008 (kernel_img_SOURCES): ... to here.
17009
17010 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17011 * include/grub/i386/pc/init.h: Likewise.
17012 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17013 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17014
17015 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17016
17017 * include/grub/i386/halt.h: Remove.
17018 * include/grub/i386/reboot.h: Likewise.
17019
17020 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17021
4b2e6ca2
DM
170222009-12-03 David S. Miller <davem@sunset.davemloft.net>
17023
17024 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17025 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17026 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17027 "progname.h"
17028 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17029 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17030 (usage): Add missing comma in printf.
17031
5239348f
RM
170322009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17033
17034 Use the same reboot approach on i386 coreboot and qemu as we do on
17035 BIOS.
17036
17037 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17038 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17039 * kern/i386/reboot.c: Remove.
17040 * include/grub/i386/reboot.h (grub_reboot): Export function.
17041 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17042 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17043 0xf000:0xfff0 instead of 0xffff:0x0000.
17044 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17045 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17046
ef34cbd4
RM
170472009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17048
17049 Fix $srcdir != $objdir build.
17050
17051 * Makefile.in (po/%.po): Rewrite as ...
17052 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17053
dc9837ea
ST
170542009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17055
17056 Fix GNU/Hurd grub-install crash.
17057 * util/grub-probe.c (probe): Try to access `path' only when it is not
17058 NULL.
17059
2f857f98
VS
170602009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17061
17062 Correct module naming.
17063
17064 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17065 (GRUB_MOD_INIT(efi_uga)): ... to this
17066 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17067 (GRUB_MOD_FINI(efi_uga)): ... to this
17068 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17069 (GRUB_MOD_INIT(efi_gop)): ... to this
17070 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17071 (GRUB_MOD_FINI(efi_gop)): ... to this
17072
c5448046
RM
170732009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17074
17075 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17076 translatable.
17077 (usage): Translate `arg' strings using gettext().
17078 Thanks to Jordi Mallach for the suggestion.
17079
c85184ad
VS
170802009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 GOP support. Based on patch from Bean
17083 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17084
17085 * video/efi_gop.c: New file.
17086 * include/grub/efi/graphics_output.h: Likewise.
17087 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17088 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17089 variables.
17090 * conf/x86_64-efi.rmk: Likewise.
17091
8a4c48d8
VS
170922009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17093
17094 Rename efi_fb to efi_uga.
17095
17096 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17097 'efi_uga.mod'.
17098 (efi_fb_mod_SOURCES): Rename this ...
17099 (efi_uga_mod_SOURCES): ... to this.
17100 (efi_fb_mod_CFLAGS): Rename this ...
17101 (efi_uga_mod_CFLAGS): ... to this.
17102 (efi_fb_mod_LDFLAGS): Rename this ...
17103 (efi_uga_mod_LDFLAGS): ... to this.
17104 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17105 'efi_uga.mod'.
17106 (efi_fb_mod_SOURCES): Rename this ...
17107 (efi_uga_mod_SOURCES): ... to this.
17108 (efi_fb_mod_CFLAGS): Rename this ...
17109 (efi_uga_mod_CFLAGS): ... to this.
17110 (efi_fb_mod_LDFLAGS): Rename this ...
17111 (efi_uga_mod_LDFLAGS): ... to this.
17112 * video/efi_fb.c: Move this ...
17113 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17114
fb6c1a7b
RM
171152009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17116
17117 * po/README: New file. Explain our PO file workflow.
17118
3bc7896c
RM
171192009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17120
17121 * po/ChangeLog: Remove. Move relevant entries back to ...
17122 * ChangeLog: ... here.
17123 * po/ca.po: Remove (now handled by TLP).
17124 * po/id.po: Likewise.
17125 * po/zh_CN.po: Likewise.
17126 * Makefile.in (LINGUAS): Initialize in a way that supports
17127 empty set.
17128
9ed4841d
RM
171292009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17130
17131 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17132 reliing on po/LINGUAS.
17133 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17134 (po/%.po): ... this.
17135
0ad46fd7 171362009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17137
17138 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17139 (main): Use `program_name' instead of nonexistent `progname'.
17140
e30dd392
FZ
171412009-11-26 Felix Zielcke <fzielcke@z-51.de>
17142
17143 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17144 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17145
7656de4f
RM
171462009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17147
17148 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17149 commit.
17150 * conf/i386-efi.rmk: Likewise.
17151 * conf/i386-ieee1275.rmk: Likewise.
17152 * conf/powerpc-ieee1275.rmk: Likewise.
17153 * conf/sparc64-ieee1275.rmk: Likewise.
17154 * conf/x86_64-efi.rmk: Likewise.
17155
db77c4d4
FZ
171562009-11-26 Felix Zielcke <fzielcke@z-51.de>
17157
17158 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17159
a755bb04
FZ
171602009-11-26 Felix Zielcke <fzielcke@z-51.de>
17161
17162 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17163
8a4c07fd
RM
171642009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17165
17166 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17167 (grub_mkdevicemap_SOURCES): New variable.
17168 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17169 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17170 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17171 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17172 (grub_mkdevicemap_SOURCES): Remove.
17173 * conf/i386-efi.rmk: Likewise.
17174 * conf/i386-ieee1275.rmk: Likewise.
17175 * conf/i386-pc.rmk: Likewise.
17176 * conf/powerpc-ieee1275.rmk: Likewise.
17177 * conf/sparc64-ieee1275.rmk: Likewise.
17178 * conf/x86_64-efi.rmk: Likewise.
17179 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17180 (usage): Fix strings to use `program_name'.
17181 (main): Initialize gettext.
17182 * util/grub-editenv.c: Likewise.
17183 * util/grub-emu.c: Likewise.
17184 * util/grub-fstest.c: Likewise.
17185 * util/grub-mkdevicemap.c: Likewise.
17186 * util/grub-mkfont.c: Likewise.
17187 * util/grub-mkrelpath.c: Likewise.
17188 * util/grub-pe2elf.c: Likewise.
17189 * util/grub-probe.c: Likewise.
17190 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17191 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17192 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17193
17194 * util/misc.c: Include `"progname.h"'.
17195 (progname): Remove variable.
17196 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17197
6f61ed55
FZ
171982009-11-25 Felix Zielcke <fzielcke@z-51.de>
17199
17200 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17201 printf and print a newline after the menuentry header line.
17202 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17203
f022876b
FZ
172042009-11-25 Felix Zielcke <fzielcke@z-51.de>
17205
17206 autoconf >= 2.60 support $(localedir).
17207
17208 * INSTALL: Note that autoconf 2.60 is required.
17209 * configure.ac (AC_PREREQ): Bump to 2.60.
17210 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17211 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17212
6717926e
YB
172132009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17214
17215 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17216 aclocal is run.
17217
08806a54
RM
172182009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17219
17220 * normal/main.c (grub_normal_read_line): Fix off-by-one
17221 buffer overflow.
17222
13b33fba
RM
172232009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17224
17225 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17226 "parser.grub" in grub_command_execute() call.
17227
4a8572e9
CPE
172282009-11-24 Carles Pina i Estany <carles@pina.cat>
17229
17230 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17231 * conf/i386-efi.rmk: Likewise.
17232 * conf/i386-ieee1275.rmk: Likewise.
17233 * conf/i386-pc.rmk: Likewise.
17234 * conf/powerpc-ieee1275.rmk: Likewise.
17235 * conf/sparc64-ieee1275.rmk: Likewise.
17236 * conf/x86_64-efi.rmk: Likewise.
17237 * gettext/gettex.c: Include <grub/i18n.h>.
17238 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17239 here ...
17240 * include/grub/i18n.h: ... to here
17241 * include/grub/i18n.h: ... to here.
17242 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17243 (grub_gettext_dummy): Move above user.
4a8572e9 17244
bee48093
FZ
172452009-11-24 Felix Zielcke <fzielcke@z-51.de>
17246
17247 * util/Makefile.in (install-local): Convert a `for' into a normal
17248 shell expansion.
17249
a031e91c
RM
172502009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17251
17252 * autogen.sh: Add automake call.
17253 * config.guess: Remove.
17254 * config.sub: Likewise.
17255 * install-sh: Likewise.
17256
26bec39d
FZ
172572009-11-24 Felix Zielcke <fzielcke@z-51.de>
17258
17259 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17260
8e2532fd
FZ
172612009-11-24 Felix Zielcke <fzielcke@z-51.de>
17262
17263 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17264 function to a normal shell `for'.
17265
fefa1b7d
FZ
172662009-11-24 Felix Zielcke <fzielcke@z-51.de>
17267
17268 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17269
4501250b
FZ
172702009-11-24 Felix Zielcke <fzielcke@z-51.de>
17271
17272 * util/grub-mkrelpath.c: New file.
17273 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17274 (grub_mkrelpath_SOURCES): New variable.
17275 * include/grub/util/misc.h: New function prototype.
17276 * util/misc.c (make_system_path_relative_to_its_root): New function.
17277
17278 * util/grub-mkconfig_lib.in (bindir): New variable.
17279 (grub_mkrelpath): Likewise.
17280 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17281
17282 * util/probe.c (probe): Make the file path relative to its root.
17283 Change a info message to use the GRUB path. Enable again the
17284 check if we can read the file with GRUB facilities.
17285
17286 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17287 to its root.
17288
11d9778b
FZ
172892009-11-24 Felix Zielcke <fzielcke@z-51.de>
17290
17291 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17292 platform.
17293
4465287d
FZ
172942009-11-24 Felix Zielcke <fzielcke@z-51.de>
17295
17296 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17297 strncmp().
17298
62b47f22
FZ
172992009-11-24 Felix Zielcke <fzielcke@z-51.de>
17300
17301 * util/getroot.c (grub_util_is_dmraid): New function.
17302 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17303 devices as normal ones, not as LVM.
17304
1eafb9b9 173052009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17306
17307 * conf/common.rmk: Add grub-gettext_lib target and updates
17308 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17309 LDFLAGS.
17310 * gettext/gettext.c: New file. (Reads mo files).
17311 * include/grub/file.h (grub_file_pread): New prototype.
17312 * include/grub/i18n.h (_): New prototype.
17313 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17314 prototypes.
17315 * kern/misc.c (grub_gettext_dummy): New function.
17316 * normal/menu_text.c: Include <grub/i18n.h>.
17317 * normal/menu_text.c (print_timeout): Gettexttize string.
17318 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17319 * po/POTFILES: Add `normal/menu_text.c'.
17320 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17321 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17322 gettext module and defines locale_dir and lang in grub.cfg.
17323 * NEWS: Add gettext support.
17324
0fdb2568
RM
173252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17326
17327 * util/hostdisk.c: Include `<grub/i18n.h>'.
17328 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17329 (make_device_name): Rewrite using asprintf.
17330 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17331 (find_system_device): If a device is not found, generate one just
17332 by reusing the OS path name.
17333 (read_device_map): Make it permissible for device.map not to exist.
17334
f515aa62
RM
173352009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17336
17337 * script/sh/execute.c: Move from here ...
17338 * script/execute.c: ... to here. Update all users.
17339 * script/sh/function.c: Move from here ...
17340 * script/function.c: ... to here. Update all users.
17341 * script/sh/lexer.c: Move from here ...
17342 * script/lexer.c: ... to here. Update all users.
17343 * script/sh/main.c: Move from here ...
17344 * script/main.c: ... to here. Update all users.
17345 * script/sh/parser.y: Move from here ...
17346 * script/parser.y: ... to here. Update all users.
17347 * script/sh/script.c: Move from here ...
17348 * script/script.c: ... to here. Update all users.
17349
f84b481b
RM
173502009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17351
17352 * configure.ac: Detect all `emu' platforms. Define
17353 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17354 --enable-grub-emu logic. Disable include/grub/machine
17355 symlink on `emu' platforms.
17356
17357 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17358 * gensymlist.sh.in: Likewise.
17359
17360 * include/grub/i386/coreboot/machine.h: Remove file.
17361 * include/grub/i386/efi/machine.h: Likewise.
17362 * include/grub/i386/ieee1275/machine.h: Likewise.
17363 * include/grub/i386/pc/machine.h: Likewise.
17364 * include/grub/i386/qemu/machine.h: Likewise.
17365 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17366 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17367 * include/grub/x86_64/efi/machine.h: Likewise.
17368
17369 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17370 * commands/halt.c: Likewise.
17371 * commands/reboot.c: Likewise.
17372 * include/grub/autoefi.h: Likewise.
17373 * include/grub/i386/at_keyboard.h: Likewise.
17374 * include/grub/i386/kernel.h: Likewise.
17375 * include/grub/i386/loader.h: Likewise.
17376 * include/grub/i386/pc/memory.h: Likewise.
17377 * kern/dl.c: Likewise.
17378 * kern/i386/coreboot/init.c: Likewise.
17379 * loader/i386/bsd.c: Likewise.
17380 * loader/i386/linux.c: Likewise.
17381 * loader/multiboot_loader.c: Likewise.
17382 * term/i386/pc/serial.c: Likewise.
17383 * term/usb_keyboard.c: Likewise.
17384
17385 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17386 `<grub/machine/machine.h>'
17387 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17388 * util/misc.c: Remove `<grub/machine/machine.h>' and
17389 `<grub/machine/time.h>'.
17390
17391 * Makefile.in (enable_grub_emu): Remove variable.
17392 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17393
17394 * conf/any-emu.rmk: New file.
17395 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17396 (grub_emu_init.c): Move from here ...
17397 * conf/any-emu.rmk: ... to here.
17398
17399 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17400 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17401 * conf/any-emu.rmk: ... to here.
17402
4efeab03
RM
174032009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17404
17405 * include/grub/parser.h (grub_parser_register): Document need
17406 of `name' parameter.
17407 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17408 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17409 "sh" to "grub".
17410
ea1dd8bf
RM
174112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17412
17413 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17414 `$(XGETTEXT)'.
17415 * include/grub/i18n.h (N_): New macro.
17416 * util/mkisofs/mkisofs.h: Likewise.
17417 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17418 around N_().
17419 (usage): Use gettext() to translate help strings when printing them.
17420
0c140626
RM
174212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17422
17423 Based on patch from Bean
17424 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17425
17426 * video/efi_fb.c: New file.
17427 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17428 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17429 variables.
17430 * conf/x86_64-efi.rmk: Likewise.
17431
87d58298
RM
174322009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17433
17434 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17435 * util/i386/pc/grub-setup.c: Likewise.
17436
994cc3a3
ST
174372009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17438
17439 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17440 <hurd/fs.h>
17441 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17442 file_get_storage_info to implement grub_guess_root_device.
17443
26a61d6a
FZ
174442009-11-21 Felix Zielcke <fzielcke@z-51.de>
17445
17446 * Makefile.in (target): Use make's builtin $(shell) function
17447 instead of calling directly $(SHELL) to create the locale directories,
17448 inside the $(foreach) function.
17449
74ff1dd5
FZ
174502009-11-21 Felix Zielcke <fzielcke@z-51.de>
17451
17452 * util/grub-mkrescue.in: Print an error and usage if output option
17453 has not been given.
17454
0b787d0e
FZ
174552009-11-21 Felix Zielcke <fzielcke@z-51.de>
17456
17457 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17458 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17459 root and /boot are on different devices.
17460
1164b270
RM
174612009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17462
17463 Fix build for srcdir != objdir.
17464
17465 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17466 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17467 $(srcdir).
17468 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17469 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17470 reference for input.
17471
13774a2f
RM
174722009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17473
17474 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17475 or hardlinking it). Remove -J option, Joliet is not compatible with
17476 multiple source directories.
17477
efda854e
RM
174782009-11-21 Carles Pina i Estany <carles@pina.cat>
174792009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17480
17481 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17482 (process_input_dir): New function. Process an arbitrary input
17483 directory.
17484 Misc adjustments to support both "override mode" and system-wide mode.
17485
6c09890c
FZ
174862009-11-20 Felix Zielcke <fzielcke@z-51.de>
17487
17488 * configure.ac (UNIFONT_BDF): Rename to ...
17489 (FONT_SOURCE): ... this. Update all users.
17490
a797824f
FZ
174912009-11-20 Felix Zielcke <fzielcke@z-51.de>
17492
17493 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
17494 to the list of unifont files to look for.
17495
cd4f42b0
RM
174962009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17497
17498 Patch from Joe Auricchio <jauricchio@gmail.com>
17499 * commands/minicmd.c (grub_mini_cmd_clear): New function.
17500 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
17501 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
17502
393c783d
FZ
175032009-11-19 Felix Zielcke <fzielcke@z-51.de>
17504
17505 * Makefile.in (install-local): Add a missing backslash.
17506
b2f1e327
FZ
175072009-11-19 Felix Zielcke <fzielcke@z-51.de>
17508
17509 * include/grub/x86_64/io.h: New file.
17510
f577f7a0
RM
175112009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17512
17513 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
17514 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
17515 Include `"progname.h"'.
17516 (main): Initialize gettext.
17517 * util/i386/pc/grub-setup.c: Gettexttize.
17518 * util/i386/pc/grub-mkimage.c: Likewise.
17519
17520 * Makefile.in (po/*.po): Redefine as ...
17521 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
17522
3bc7896c
RM
17523 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
17524
c37943b6
RM
175252009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17526
17527 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
17528 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
17529 (program_name): Remove.
17530 (main): Initialize gettext support.
6323f705
RM
17531 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
17532 Include `<libintl.h>'.
17533 (_): New macro.
c37943b6
RM
17534
17535 * util/mkisofs/eltorito.c: Gettexttize.
17536 * util/mkisofs/joliet.c: Likewise.
17537 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
17538 * util/mkisofs/multi.c: Likewise.
17539 * util/mkisofs/rock.c: Likewise.
17540 * util/mkisofs/tree.c: Likewise.
17541 * util/mkisofs/write.c: Likewise.
17542
3bc7896c
RM
17543 * po/POTFILES: Update with new files.
17544
5ce77c6e
RM
175452009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17546
17547 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
17548 * util/mkisofs/iso9660.h: Likewise.
17549 * util/mkisofs/joliet.c: Likewise.
17550 * util/mkisofs/mkisofs.c: Likewise.
17551 * util/mkisofs/mkisofs.h: Likewise.
17552 * util/mkisofs/rock.c: Likewise.
17553 * util/mkisofs/tree.c: Likewise.
17554 * util/mkisofs/write.c: Likewise.
17555
17556 * util/mkisofs/eltorito.c (rcsid): Remove.
17557 * util/mkisofs/hash.c: Likewise.
17558 * util/mkisofs/joliet.c: Likewise.
17559 * util/mkisofs/name.c: Likewise.
17560 * util/mkisofs/rock.c: Likewise.
17561 * util/mkisofs/tree.c: Likewise.
17562 * util/mkisofs/write.c: Likewise.
17563
1dabbc77
RM
175642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17565
17566 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
17567 instead of static allocation.
17568 * util/mkisofs/match.h: Likewise.
17569
633877cb
RM
175702009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17571
3bc7896c
RM
17572 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
17573 and `util/grub.d/10_linux.in'.
633877cb
RM
17574 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
17575 translatable Shell files.
17576
af1c0c85
RM
175772009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17578
17579 * Makefile.in ($(srcdir)/aclocal.m4): New target.
17580
769ae37b
RM
175812009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17582
17583 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 17584 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
17585 * util/grub.d/10_kfreebsd.in (bindir): New variable.
17586 Add gettext initialization.
17587 (kfreebsd_entry): Make menuentry output translatable.
17588
175892009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17590
17591 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
17592 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
17593 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
17594 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
17595 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 17596 * po/LINGUAS: New file.
769ae37b
RM
17597
175982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17599
17600 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
17601 other things).
17602 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
17603 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
17604 bindtextdomain() calls for gettext initialization.
17605
176062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17607
17608 * gnulib/progname.c: New file (imported from Gnulib).
17609 * gnulib/progname.h: Likewise.
17610 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17611 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
17612 (usage): Replace `progname' with `program_name'.
17613 (main): Use set_program_name() for program name initialization.
17614
176152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17616
17617 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
17618 from here ...
17619 * Makefile.in (CPPFLAGS): ... to here.
17620
176212009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17622
17623 * aclocal.m4: Move from here ...
17624 * acinclude.m4: ... to here.
17625 * autogen.sh: Add call to `aclocal'.
17626 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
17627
176282009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17629
17630 * Makefile.in (CLEANFILES): Add `po/*.mo'.
17631 (LINGUAS): New variable.
17632 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
17633 (install-local): Install MO files.
17634 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
17635 * include/grub/i18n.h: New file.
3bc7896c
RM
17636 * po/POTFILES: New file.
17637 * po/ca.po: New file.
769ae37b
RM
17638 * util/grub.d/10_linux.in (bindir): New variable.
17639 Add gettext initialization.
17640 (linux_entry): Make menuentry output translatable.
17641 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
17642 (usage): Make --help output translatable.
17643 (main): Initialize gettext.
17644
02c0a6ad
RM
176452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17646
17647 * import_gcry.py: New file (written by Vladimir with minor
17648 adjustments).
17649 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
17650 ciphers.
17651 * INSTALL: Document that Python is required for bootstrap.
17652
176532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17654
17655 Import ciphers from libgcrypt 1.4.4.
17656
17657 * lib/libgcrypt/cipher/ChangeLog
17658 * lib/libgcrypt/cipher/ac.c
17659 * lib/libgcrypt/cipher/arcfour.c
17660 * lib/libgcrypt/cipher/bithelp.h
17661 * lib/libgcrypt/cipher/blowfish.c
17662 * lib/libgcrypt/cipher/camellia-glue.c
17663 * lib/libgcrypt/cipher/camellia.c
17664 * lib/libgcrypt/cipher/camellia.h
17665 * lib/libgcrypt/cipher/cast5.c
17666 * lib/libgcrypt/cipher/cipher.c
17667 * lib/libgcrypt/cipher/crc.c
17668 * lib/libgcrypt/cipher/des.c
17669 * lib/libgcrypt/cipher/dsa.c
17670 * lib/libgcrypt/cipher/ecc.c
17671 * lib/libgcrypt/cipher/elgamal.c
17672 * lib/libgcrypt/cipher/hash-common.c
17673 * lib/libgcrypt/cipher/hash-common.h
17674 * lib/libgcrypt/cipher/hmac-tests.c
17675 * lib/libgcrypt/cipher/md.c
17676 * lib/libgcrypt/cipher/md4.c
17677 * lib/libgcrypt/cipher/md5.c
17678 * lib/libgcrypt/cipher/primegen.c
17679 * lib/libgcrypt/cipher/pubkey.c
17680 * lib/libgcrypt/cipher/rfc2268.c
17681 * lib/libgcrypt/cipher/rijndael-tables.h
17682 * lib/libgcrypt/cipher/rijndael.c
17683 * lib/libgcrypt/cipher/rmd.h
17684 * lib/libgcrypt/cipher/rmd160.c
17685 * lib/libgcrypt/cipher/rsa.c
17686 * lib/libgcrypt/cipher/seed.c
17687 * lib/libgcrypt/cipher/serpent.c
17688 * lib/libgcrypt/cipher/sha1.c
17689 * lib/libgcrypt/cipher/sha256.c
17690 * lib/libgcrypt/cipher/sha512.c
17691 * lib/libgcrypt/cipher/tiger.c
17692 * lib/libgcrypt/cipher/twofish.c
17693 * lib/libgcrypt/cipher/whirlpool.c
17694
af2f93ac
RM
176952009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17696
17697 Fix build for systems without error().
17698
17699 * gnulib/error.c: New file (imported from Gnulib).
17700 * gnulib/error.h: Likewise.
17701 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
17702 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
17703 (this variable is now used by error()).
17704
73fb3dd5
FZ
177052009-11-16 Felix Zielcke <fzielcke@z-51.de>
17706
814f5e96
FZ
17707 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
17708 instead of relying that char is signed.
73fb3dd5 17709
a691ca33
VS
177102009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17711
17712 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
17713 blocksize different from specified.
17714 (grub_pxefs_read): Likewise.
17715
2af8f0f4
FZ
177162009-11-16 Felix Zielcke <fzielcke@z-51.de>
17717
17718 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
17719
17720 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
17721 (grub_ata_readwrite): Likewise. Update 2 format strings.
17722 (grub_atapi_read): Likewise.
17723
17724 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
17725 * conf/i386.rmk (pkglib_MODULES): ... to here ...
17726 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
17727 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
17728 (ata_mod_LDFLAGS): Move from here ...
17729 * conf/i386.rmk: ... to here ...
17730 * conf/x86_64-efi.rmk: ... and here.
17731 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
17732 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17733
83bdecaf
RM
177342009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17735
17736 Relicense multiboot.h, with RMS' blessing.
17737
17738 * include/multiboot.h: Change to X11 license.
17739
fd6fd3d7
RM
177402009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17741
17742 Support --version in grub-mkisofs.
17743
17744 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17745 (OPTION_VERSION): New macro.
17746 (ld_options): Recognize --version.
17747 (usage): Move `program_name' from here ...
17748 (program_name): ... to here. Add `static' qualifier.
17749 (main): Recognize `OPTION_VERSION'.
17750
16a88c49
FZ
177512009-11-15 Felix Zielcke <fzielcke@z-51.de>
17752
17753 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17754 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17755
a4158476
RM
177562009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17757
17758 Fix help2man generation for mkisofs.
17759
17760 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17761 (usage): Send output to stdout (rather than stderr).
17762
fc2208b0
RM
177632009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17764
17765 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17766 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17767 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17768 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17769 (bin_SCRIPTS): Add `grub-mkfloppy'.
17770 (grub_mkfloppy_SOURCES): New variable.
17771
17772 * util/grub-mkrescue.in: New file.
17773 * util/i386/pc/grub-mkfloppy.in: New file.
17774
17775 * util/i386/coreboot/grub-mkrescue.in: Remove.
17776 * util/i386/pc/grub-mkrescue.in: Remove.
17777
8d0edf4a
RM
177782009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17779
17780 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17781 from here ...
17782 * include/multiboot.h (struct multiboot_header): ... to here. Update
17783 all users.
17784 * include/grub/multiboot.h (struct grub_multiboot_info): Move
17785 from here ...
17786 * include/multiboot.h (struct multiboot_info): ... to here. Update
17787 all users.
17788 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
17789 from here ...
17790 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
17791 Update all users.
17792 * include/grub/multiboot.h (struct grub_mod_list): Move
17793 from here ...
17794 * include/multiboot.h (struct multiboot_mod_list): ... to here.
17795 Update all users.
17796
a73f5969
RM
177972009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17798
17799 * include/multiboot2.h (multiboot_word): Rename from this ...
17800 (multiboot2_word): ... to this. Update all users.
17801 (multiboot_header): Rename from this ...
17802 (multiboot2_header): ... to this. Update all users.
17803 (multiboot_tag_header): Rename from this ...
17804 (multiboot2_tag_header): ... to this. Update all users.
17805 (multiboot_tag_start): Rename from this ...
17806 (multiboot2_tag_start): ... to this. Update all users.
17807 (multiboot_tag_name): Rename from this ...
17808 (multiboot2_tag_name): ... to this. Update all users.
17809 (multiboot_tag_module): Rename from this ...
17810 (multiboot2_tag_module): ... to this. Update all users.
17811 (multiboot_tag_memory): Rename from this ...
17812 (multiboot2_tag_memory): ... to this. Update all users.
17813 (multiboot_tag_unused): Rename from this ...
17814 (multiboot2_tag_unused): ... to this. Update all users.
17815 (multiboot_tag_end): Rename from this ...
17816 (multiboot2_tag_end): ... to this. Update all users.
17817
1c8927f0
RM
178182009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17819
17820 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
17821 this platform we should support Multiboot1 first.
17822
17823 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17824 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
17825 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
17826
6e1e0d89
RM
178272009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17828
17829 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
17830 of write calls (converting them to fwrite() if they aren't already).
17831 (get_torito_desc): Likewise.
17832 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
17833
7f2b34d8
RM
178342009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17835
17836 * util/i386/pc/grub-install.in: Move from here ...
17837 * util/grub-install.in: ... to here. Update all users.
17838
c0ef3311
CW
178392009-11-11 Colin Watson <cjwatson@ubuntu.com>
17840
17841 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
17842
e1f240ff
RM
178432009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17844
17845 Support for El Torito without floppy emulation.
17846
17847 * util/mkisofs/eltorito.c: Include `<errno.h>'.
17848 (init_boot_catalog): Improve error handling.
17849 (get_torito_desc): Don't use floppy emulation unless requested by
17850 user. Patch boot information table when requested via
17851 `-boot-info-table'.
17852 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
17853 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
17854 (use_boot_info_table): New variables.
17855 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
17856 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
17857 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
17858 `--eltorito-emul-floppy'.
17859 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
17860 and `OPTION_ELTORITO_EMUL_FLOPPY'.
17861 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
17862 (use_boot_info_table, get_731): New prototypes.
17863 * util/mkisofs/write.c (get_731): New function.
17864
af7d4de5
FZ
178652009-11-11 Felix Zielcke <fzielcke@z-51.de>
17866
17867 Fix the generation of the man page.
17868
17869 * util/pc/i386/grub-install.in: Source
17870 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17871
2c55dbc0
RM
178722009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17873
17874 Large file support for grub-mkisofs.
17875
17876 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
17877 * util/mkisofs/mkisofs.c (next_extent, last_extent)
17878 (session_start): Upgrade type to `uint64_t'. Update all users.
17879 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
17880 (struct directory_entry): Upgrade type of `starting_block' and
17881 `size' to `uint64_t'. Update all users.
17882 (struct deferred): Remove unused structure.
17883 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
17884 Update all users.
17885 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
17886 file is larger than `UINT32_MAX'.
17887 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
17888 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
17889 return value.
17890 (struct deferred_write): Upgrade type of `extent' and `size' to
17891 `uint64_t'. Update all users.
17892 (last_extent_written): Upgrade type to `uint64_t'. Update all
17893 users.
17894 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
17895 Update all users. Upgrade type of `remain' to `int64_t' and
17896 `use' to `size_t'. Use error() to handle fread() errors.
17897 (write_files): Rely on write_one_file() rather than calling
17898 xfwrite() directly.
17899
6a9cead5
FZ
179002009-11-09 Felix Zielcke <fzielcke@z-51.de>
17901
17902 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
17903
4825d790
RM
179042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17905
17906 * util/mkisofs/fnmatch.c: Remove.
17907 * util/mkisofs/getopt1.c: Likewise.
17908 * util/mkisofs/getopt.c: Likewise.
17909 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
17910 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
17911 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
17912 `gnulib/getopt1.c' and `gnulib/getopt.c'.
17913 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
17914
17915 * configure.ac: Detect `mingw32msvc' host_os.
17916 Check for lstat(), getuid() and getgid().
17917
17918 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
17919 instances of `u_char' with `uint8_t'.
17920
17921 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
17922 [!HAVE_GETUID] (getuid): New function (stub).
17923 [!HAVE_GETGID] (getgid): Likewise.
17924 [!HAVE_LSTAT] (lstat): Likewise.
17925 [!S_IROTH] (S_IROTH): New macro (dummy).
17926 [!S_IRGRP] (S_IRGRP): Likewise.
17927
84b860d8
RM
179282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17929
17930 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
17931 conditional expression).
17932
66e9b712
RM
179332009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17934
17935 Import from Gnulib.
17936
17937 * gnulib/fnmatch.c: New file.
17938 * gnulib/fnmatch.h: Likewise.
17939 * gnulib/fnmatch_loop.c: Likewise.
17940 * gnulib/getopt.c: Likewise.
17941 * gnulib/getopt.h: Likewise.
17942 * gnulib/getopt1.c: Likewise.
17943 * gnulib/getopt_int.h: Likewise.
17944 * gnulib/gettext.h: Likewise.
17945
34f4a5b0
RM
179462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17947
17948 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
17949 * normal/handler.c (read_handler_list): Likewise.
17950
ac451143
RM
179512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17952
17953 Misc cleanup.
17954
17955 * kern/command.c (grub_register_command_prio): Use
17956 grub_zalloc() instead of explicitly zeroing data.
17957 * kern/list.c: Include `<grub/mm.h>'.
17958 (grub_named_list_find): Replace `0' with `NULL'.
17959 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
17960 (fs_module_list): Change type to `grub_named_list_t'. Update all
17961 users.
17962 * normal/dyncmd.c (read_command_list): Add space between function
17963 call and parenthesis.
17964 * normal/handler.c (read_handler_list): Likewise.
17965
4089b167
RM
179662009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17967
17968 * normal/auth.c (punishment_delay): Moved from here ...
17969 (grub_auth_strcmp): ... to here (inside function).
17970
325f5037
RM
179712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17972
17973 * include/grub/list.h (struct grub_named_list): Remove `const'
17974 qualifier from `name'.
17975 (struct grub_prio_list): Likewise.
17976
7aea29a3
RM
179772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17978
17979 * normal/auth.c: Include `<grub/time.h>'.
17980 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
17981
3fd6f044
RM
179822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17983
17984 * normal/auth.c (punishment_delay): New variable.
17985 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
17986 (grub_auth_check_authentication): Punish failed login attempts with
17987 an incremental (2^N) delay.
17988
a4cd68e4
RM
179892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17990
17991 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
17992 path with $(srcdir).
17993
7ad12f43
VS
179942009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17995
17996 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
17997
c1129f03
RM
179982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17999
18000 * util/i386/coreboot/grub-mkrescue.in: New file.
18001 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18002 variables.
18003
18004 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18005 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18006 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18007 requirements.
18008 * util/mkisofs/defaults.h: New file.
18009 * util/mkisofs/eltorito.c: Likewise.
18010 * util/mkisofs/exclude.h: Likewise.
18011 * util/mkisofs/fnmatch.c: Likewise.
18012 * util/mkisofs/getopt.c: Likewise.
18013 * util/mkisofs/getopt1.c: Likewise.
18014 * util/mkisofs/hash.c: Likewise.
18015 * util/mkisofs/include/fctldefs.h: Likewise.
18016 * util/mkisofs/include/mconfig.h: Likewise.
18017 * util/mkisofs/include/prototyp.h: Likewise.
18018 * util/mkisofs/include/statdefs.h: Likewise.
18019 * util/mkisofs/iso9660.h: Likewise.
18020 * util/mkisofs/joliet.c: Likewise.
18021 * util/mkisofs/match.c: Likewise.
18022 * util/mkisofs/match.h: Likewise.
18023 * util/mkisofs/mkisofs.c: Likewise.
18024 * util/mkisofs/mkisofs.h: Likewise.
18025 * util/mkisofs/multi.c: Likewise.
18026 * util/mkisofs/name.c: Likewise.
18027 * util/mkisofs/rock.c: Likewise.
18028 * util/mkisofs/tree.c: Likewise.
18029 * util/mkisofs/write.c: Likewise.
18030
ec8bb77d
VS
180312009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18032
18033 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18034 being insecure.
18035
3716b12c
RM
180362009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18037
18038 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18039 `grub-mkimage' (and use $0 when possible).
18040
b97b7b91
RM
180412009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18042
18043 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18044 error message for excessively large memory map.
18045
04114812
RM
180462009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18047
18048 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18049 executable bit.
18050
e4eb2373
RM
180512009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18052
18053 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18054 message for coreboot users.
18055
c926e1d5 180562009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18057
18058 Fix build with GNU gold.
18059
18060 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18061 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18062 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18063 link addresses.
18064 * aclocal.m4: Likewise.
18065
86e5b1db 180662009-11-04 Felix Zielcke <fzielcke@z-51.de>
18067
18068 * configure.ac (AC_PREREQ): Bump to 2.59d.
18069 * INSTALL: Make it more clear when Autoconf and Ruby are
18070 needed and when to run `./autogen.sh'.
18071
246cd78f 180722009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18073
18074 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18075 OSes.
18076
4f9dfb37 180772009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18078
18079 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18080
b82bd5e1 180812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18082
18083 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18084 giving it to GNU Mach.
18085
ff1a9bca 180862009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18087
18088 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18089 GNU partition number to get internal GRUB partition number.
18090
61697d9c 180912009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18092
18093 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18094 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18095
a50569e1 180962009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18097
18098 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18099 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18100 case.
18101
5b153867 181022009-11-01 Felix Zielcke <fzielcke@z-51.de>
18103
18104 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18105
d9e2cd70 181062009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18107
18108 Fix build problem.
18109
18110 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18111 `-isystem=$(srcdir)/include'.
18112
805111a4 181132009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18114
18115 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18116 checked (grub-install doesn't currently rely on it).
18117
fa6e945f 181182009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18119
18120 Revert SVN r2660.
18121
18122 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18123 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18124 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18125 * conf/i386-ieee1275.rmk: Likewise.
18126 * conf/i386-pc.rmk: Likewise.
18127 * conf/powerpc-ieee1275.rmk: Likewise.
18128 * conf/sparc64-ieee1275.rmk: Likewise.
18129 * conf/x86_64-efi.rmk: Likewise.
18130
cee15086 181312009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18132
18133 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18134
95b9239e 181352009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18136
18137 * include/grub/misc.h: Stop checking for APPLE_CC.
18138
2ed19dfd 181392009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18140
18141 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18142 doesn't cause an infinite call loop.
18143
fdcdde19 181442009-10-28 Felix Zielcke <fzielcke@z-51.de>
18145
18146 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18147 strings.
18148
cefabfe1 181492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18150
18151 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18152 variable.
18153 * Makefile.in: Likewise.
18154
ed96ab6d 181552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18156
18157 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18158
0579b753 181592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18160
18161 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18162
478df409 181632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18164
18165 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18166
083d1679 181672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18168
18169 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18170 from here ...
18171 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18172
5947ae32 181732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18174
18175 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18176 in $(MAKEINFO) invocation. This makes it clear in output that
18177 errors are being ignored.
18178
94180ff6 181792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18180
18181 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18182 from here ...
18183 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18184 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18185 * conf/i386-ieee1275.rmk: Likewise.
18186 * conf/i386-pc.rmk: Likewise.
18187 * conf/powerpc-ieee1275.rmk: Likewise.
18188 * conf/sparc64-ieee1275.rmk: Likewise.
18189 * conf/x86_64-efi.rmk: Likewise.
18190
9031b03a 181912009-10-26 Colin Watson <cjwatson@ubuntu.com>
18192
18193 * util/grub-editenv.c (main): If only a command is given, use
18194 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18195 (usage): FILENAME is now optional and has a default.
18196
e4f6809b 181972009-10-26 Colin Watson <cjwatson@ubuntu.com>
18198
18199 Improve grub-mkconfig performance when there are several menu
18200 entries on a single filesystem.
18201
18202 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18203 prepare_grub_to_access_device.
18204 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18205 * util/grub.d/30_os-prober.in: Likewise.
18206
67937d4d 182072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18208
18209 * util/grub.d/10_freebsd.in: Remove.
18210 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18211 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18212
ee3756cc 182132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18214
5c35048e 18215 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18216
4dea1c6f 182172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18218
18219 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18220 grub_util_error() call.
18221
042484d7 182222009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18223
18224 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18225 `reserved_first_sector' member.
18226 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18227 `reserved_first_sector' to 1.
18228 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18229 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18230 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18231 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18232 filesystems which begin at first sector.
18233 (options): New option --skip-fs-probe.
18234 (main): Handle --skip-fs-probe and pass it to setup().
18235
d64448a7 182362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18237
18238 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18239 (memset): Fix function prototype.
18240
508d42ec 182412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
182422009-10-25 Vasily Averin <vvs@parallels.com>
18243
18244 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18245 `dirent.direntlen == 0'.
18246
b240e30c 182472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18248
18249 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18250 `cpio'.
18251 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18252
346e7fbe 182532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18254
18255 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18256 `__trampoline_setup' and `__ucmpdi2'.
18257 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18258 that libgcc provides.
18259
cdb308b0 182602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18261
18262 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18263 * include/grub/sparc64/libgcc.h (memset): Likewise.
18264 * include/grub/misc.h (memset, memcmp): New function prototypes.
18265
fb26abc2 182662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18267
18268 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18269 `cpio'.
18270 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18271
f6693890 182722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18273
18274 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18275 * docs/grub.cfg: Compensate for recent change in multiboot
18276 loader (since 2009-08-14 it won't pass filename to payload).
18277 * util/grub.d/10_hurd.in: Likewise.
18278
0933cdc0 182792009-10-21 Felix Zielcke <fzielcke@z-51.de>
18280
18281 * config.guess: Update to latest version from config git
18282 repository.
18283 * config.sub: Likewise.
18284
3b2fe8c2 182852009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18286
18287 Fix build on sparc64.
18288
18289 * configure.ac: Perform checks for libgcc symbols before
18290 adding `-nostdlib' to LDFLAGS.
18291
46695a62 182922009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 Let user specify OpenBSD root device.
18295
18296 * loader/i386/bsd.c (openbsd_root): New variable.
18297 (openbsd_opts): New option 'root'.
18298 (OPENBSD_ROOT_ARG): New macro.
18299 (grub_openbsd_boot): Use 'openbsd_root'.
18300 (grub_cmd_openbsd): Fill 'openbsd_root'.
18301
d2b6b7fc 183022009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18303
18304 * NEWS: Misc adjustments.
18305
421bd7ac 183062009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18307
18308 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18309
f1d29d87 183102009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18311
18312 * configure.ac: Bump version to 1.97.
18313
6f3cd880 183142009-10-16 Colin Watson <cjwatson@ubuntu.com>
18315
18316 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18317 -mno-3dnow on x86 architectures. Some toolchains enable these
18318 features by default, but they rely on registers that aren't enabled
18319 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18320
035f7122 183212009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18322
18323 Make entry text a bit more readable.
18324
18325 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18326
44998e58 183272009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18328
18329 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18330
cd2851b3 183312009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18334 operations.
18335
c6f3b249 183362009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18337
18338 * configure.ac: Add missing dollar.
18339
6b5886ba 183402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18341
18342 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18343
18344 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18345 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18346 exports.
18347 * include/grub/sparc64/libgcc.h: Likewise. Use
18348 preprocessor conditionals.
18349
e9d66f6d 183502009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18351
18352 * conf/common.rmk (grub-dumpbios): Remove rule.
18353 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18354 * util/grub-dumpbios.in: Remove file.
18355
9155bc17 183562009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18357
18358 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18359 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18360
18361 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18362 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18363 users.
18364
18365 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18366 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18367 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18368 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18369 users.
18370
bf7f7a18 183712009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18372
18373 * term/tparm.c: Switch to GPLv3.
18374
86564c26 183752009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18376
18377 * include/grub/i386/cpuid.h: Add header protection.
18378
5c936493 183792009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18380
18381 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18382
18383 * include/grub/i386/cpuid.h: New file.
18384 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18385 (has_longmode): Rename to ...
18386 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18387 `static' attribute.
18388 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18389 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18390 on a CPU that doesn't implement AMD64 instruction set.
18391
186e7cf2 183922009-10-06 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18395 that version.texi is rebuilt on version number changes.
18396
83b65c4a 183972009-10-06 Colin Watson <cjwatson@ubuntu.com>
18398
18399 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18400 Fixes bug #27602.
18401
d244281c 184022009-10-06 Colin Watson <cjwatson@ubuntu.com>
18403
18404 * util/i386/pc/grub-install.in: Source
18405 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18406 that the --grub-probe option will work.
18407 * util/sparc64/ieee1275/grub-install.in: Likewise.
18408
da25306d 184092009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18410
18411 * configure.ac: Bump version to 1.97~beta4.
18412
e8ee83c0 184132009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18414
18415 Resync grub-mkdevicemap in x86_64-efi.
18416
18417 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18418 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18419 `util/devicemap.c'.
18420
50dcabcf 184212009-10-01 Colin Watson <cjwatson@ubuntu.com>
18422
18423 * util/grub-editenv.c (create_envblk_file): Write new block with a
18424 .new suffix and then rename it into place, to ensure atomic
18425 creation.
18426
0e51c3a7 184272009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18428
18429 Do not automatically install headers.
18430
18431 * Makefile.in (include_DATA): Remove. Update all users.
18432
31299a95 184332009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18434
18435 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18436 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18437
18438 * util/osdetect.lua: Remove.
18439 * script/lua/lauxlib.c: Likewise.
18440 * script/lua/ldebug.c: Likewise.
18441 * script/lua/grub_main.c: Likewise.
18442 * script/lua/lauxlib.h: Likewise.
18443 * script/lua/ldebug.h: Likewise.
18444 * script/lua/ltablib.c: Likewise.
18445 * script/lua/liolib.c: Likewise.
18446 * script/lua/lstrlib.c: Likewise.
18447 * script/lua/lualib.h: Likewise.
18448 * script/lua/ldo.c: Likewise.
18449 * script/lua/ldump.c: Likewise.
18450 * script/lua/ldo.h: Likewise.
18451 * script/lua/loslib.c: Likewise.
18452 * script/lua/lundump.c: Likewise.
18453 * script/lua/grub_lib.c: Likewise.
18454 * script/lua/ldblib.c: Likewise.
18455 * script/lua/lundump.h: Likewise.
18456 * script/lua/lmem.c: Likewise.
18457 * script/lua/grub_lib.h: Likewise.
18458 * script/lua/lmathlib.c: Likewise.
18459 * script/lua/lstate.c: Likewise.
18460 * script/lua/ltm.c: Likewise.
18461 * script/lua/lvm.c: Likewise.
18462 * script/lua/lmem.h: Likewise.
18463 * script/lua/lstate.h: Likewise.
18464 * script/lua/ltm.h: Likewise.
18465 * script/lua/ltable.c: Likewise.
18466 * script/lua/lvm.h: Likewise.
18467 * script/lua/llex.c: Likewise.
18468 * script/lua/lgc.c: Likewise.
18469 * script/lua/grub_lua.h: Likewise.
18470 * script/lua/loadlib.c: Likewise.
18471 * script/lua/lfunc.c: Likewise.
18472 * script/lua/lopcodes.c: Likewise.
18473 * script/lua/lparser.c: Likewise.
18474 * script/lua/ltable.h: Likewise.
18475 * script/lua/llex.h: Likewise.
18476 * script/lua/lgc.h: Likewise.
18477 * script/lua/lfunc.h: Likewise.
18478 * script/lua/lbaselib.c: Likewise.
18479 * script/lua/lopcodes.h: Likewise.
18480 * script/lua/lparser.h: Likewise.
18481 * script/lua/lzio.c: Likewise.
18482 * script/lua/linit.c: Likewise.
18483 * script/lua/lobject.c: Likewise.
18484 * script/lua/llimits.h: Likewise.
18485 * script/lua/lstring.c: Likewise.
18486 * script/lua/lzio.h: Likewise.
18487 * script/lua/lapi.c: Likewise.
18488 * script/lua/lcode.c: Likewise.
18489 * script/lua/lua.h: Likewise.
18490 * script/lua/lobject.h: Likewise.
18491 * script/lua/lstring.h: Likewise.
18492 * script/lua/lapi.h: Likewise.
18493 * script/lua/lcode.h: Likewise.
18494 * script/lua/luaconf.h: Likewise.
18495
cb8a2c38 184962009-09-26 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * docs/grub.texi (Command-line and menu entry commands): Document
18499 date and echo commands.
18500
6b9b6276 185012009-09-24 Pavel Roskin <proski@gnu.org>
18502
18503 * include/grub/kernel.h (struct grub_module_header): Remove
18504 `grub_module_header_types'. Make `type' unsigned. Make `size'
18505 32-bit on all platforms.
18506 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
18507 8-bit field. Use grub_host_to_target32() for `size'.
18508 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
18509 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
18510 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
18511
4e5a02a7 185122009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18513
18514 Fix "lost keypress" bug in at_keyboard.
18515
18516 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
18517 Checks for readyness of input buffer (without flushing it).
18518 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
18519 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
18520
c6dcedf6 185212009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18522
18523 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
18524 size check within GRUB_MACHINE_PCBIOS section.
18525
74c958b1 185262009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18527
18528 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
18529 return value.
18530 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
18531 KEYBOARD_ISREADY check.
18532 (grub_at_keyboard_checkkey): Rename to ...
18533 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
18534 Remove gratuitous cast.
18535
ff420223 185362009-09-23 Colin Watson <cjwatson@ubuntu.com>
18537
18538 * configure.ac: Call AC_PROG_MKDIR_P.
18539 * Makefile.in (docs/stamp-vti): Create docs directory. Create
18540 version.texi in $(builddir) rather than $(srcdir).
18541 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
18542 to makeinfo's @include search path.
18543
d96875df 185442009-09-23 Felix Zielcke <fzielcke@z-51.de>
18545
18546 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
18547
9b3f8365 185482009-09-23 Felix Zielcke <fzielcke@z-51.de>
18549
18550 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
18551 for `*.dpkg-new'.
18552
c44c90db 185532009-09-21 Colin Watson <cjwatson@ubuntu.com>
18554
18555 Build info documentation. Some code borrowed from Automake.
18556
18557 * configure.ac: Check for makeinfo.
18558 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
18559 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
18560 docs/version.texi.
18561 (MOSTLYCLEANFILES): Add vti.tmp.
18562 (docs/version.texi, docs/stamp-vti): Update automatically.
18563 (docs/grub.info): Build info documentation. Use --force and ignore
18564 errors for now.
18565 (all-local): Add $(INFOS).
18566 (install-local): Install info files.
18567 (uninstall): Uninstall info files.
18568 * docs/version.texi: Remove from revision control. This file is
18569 automatically generated on build now.
18570 * gendistlist.sh: Add `*.info'.
18571
e0b37bb5 185722009-09-21 Felix Zielcke <fzielcke@z-51.de>
18573
18574 * kern/term.c: Fix indentation.
18575
5a78865b 185762009-09-21 Felix Zielcke <fzielcke@z-51.de>
18577
18578 * util/hostdisk.c: Fix a comment.
18579
dace7e8a 185802009-09-20 Robert Millan <rmh.grub@aybabtu.com>
18581
18582 Fix regression introduced in r2539.
18583
18584 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
18585 to 0xA1.
18586
a83d079b 185872009-09-19 Colin Watson <cjwatson@ubuntu.com>
18588
18589 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 18590 os-prober. Under normal operation, it does not print anything to
18591 stderr; if it does, we need to debug it, and throwing away stderr
18592 makes that excessively difficult.
a83d079b 18593
be94a509 185942009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
18595
18596 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
18597
63f745e8 185982009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18599
18600 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
18601 AC_LANG_PROGRAM from autoconf.
18602 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
18603 prototypes (fixes warning).
18604
18605 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
18606 `--disable-werror' was used.
18607
bbb2a70f 186082009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18609
18610 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
18611 uninitialized `lastaddr'.
18612
77c24f1d 186132009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18614
0f0b8c87 18615 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 18616
07197f23 186172009-09-14 Colin Watson <cjwatson@ubuntu.com>
18618
18619 * commands/test.c (get_fileinfo): Return immediately if
18620 grub_fs_probe fails.
18621
dabf1798 186222009-09-14 José Martínez <xosemp@gmail.com>
18623
18624 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
18625
d52109a7 186262009-09-14 Colin Watson <cjwatson@ubuntu.com>
18627
18628 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
18629 output.
18630
56532179 186312009-09-13 Robert Millan <rmh.grub@aybabtu.com>
18632
18633 * configure.ac: Remove --enable-grub-pe2elf. Only build
18634 grub-pe2elf when needed by the build system itself.
18635 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
18636
8ef070f5 186372009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18638
18639 * configure.ac: Bump version to 1.97~beta3.
18640 * docs/version.texi: Likewise.
18641
61229557 186422009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18643
18644 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
18645 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
18646 from here ...
18647 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
18648 (grub_linux_setup_video): ... to here (with some adjustments).
18649
5c9f8d84 186502009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18651
18652 Fix memory corruption issue (spotted by Colin Watson).
18653
18654 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
18655 causing returned size to be stored in an incorrect memory location.
18656 Fix use of uninitialized value when storing the returned size.
18657
e8f5d6e9 186582009-09-12 Yves Blusseau <blusseau@zetam.org>
18659
18660 Change clean rules to properly remove files
18661
18662 * genmk.rb: add new clean rules
18663 * Makefile.in (clean): add the new targets
18664 (mostlyclean): likewise
18665
cda2a409 186662009-09-11 Colin Watson <cjwatson@ubuntu.com>
18667
18668 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
18669 to grub_uint64_t.
18670 * fs/ntfs.c (init_file): Understand 64-bit sizes for
18671 non-resident files.
18672
86695375 186732009-09-11 Colin Watson <cjwatson@ubuntu.com>
18674
18675 * configure.ac: Don't look for help2man when cross-compiling. Fixes
18676 part of bug #27349.
18677
8aa1541a 186782009-09-10 Felix Zielcke <fzielcke@z-51.de>
18679
18680 * util/grub-mkconfig.in: Make the created config mode 400 and
18681 print a warning if it fails.
18682
48d9bb0a 186832009-09-10 Robert Millan <rmh.grub@aybabtu.com>
18684
18685 * util/grub.d/40_custom.in: Ask user to type custom entries below
18686 comment, rather than below 'exec tail' line.
18687
3b0521be 186882009-09-10 Colin Watson <cjwatson@ubuntu.com>
18689
18690 * util/grub.d/40_custom.in: Make sure that the explanatory text is
18691 visible in grub.cfg.
18692
50051d55 186932009-09-10 Colin Watson <cjwatson@ubuntu.com>
18694
18695 * util/grub.d/40_custom.in: Make it a little clearer how to use this
18696 file.
18697
c0d34387 186982009-09-10 Felix Zielcke <fzielcke@z-51.de>
18699
18700 * docs/grub.cfg: Add an example menu entry for memtest86+.
18701
80a608f3 187022009-09-09 Felix Zielcke <fzielcke@z-51.de>
18703
a2094832 18704 * config.guess: Update to latest version from config git.
80a608f3 18705 * config.sub: Likewise.
18706
99423078 187072009-09-08 Colin Watson <cjwatson@ubuntu.com>
18708
18709 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
18710 unknown-command case. Fixes bug #27320.
18711
44454e4c 187122009-09-08 Felix Zielcke <fzielcke@z-51.de>
18713
18714 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
18715 `help' if the command exists.
18716
e30d87ad 187172009-09-06 Robert Millan <rmh.grub@aybabtu.com>
18718
18719 * INSTALL: Require GCC 4.1.3 or later.
18720
9a86f1ec 187212009-09-06 Yves Blusseau <blusseau@zetam.org>
18722
18723 * Makefile.in (RMKFILES): add i386-qemu.rmk
18724 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
18725 $(srcdir)/stamp-h.in
18726
7f26d466 187272009-09-05 Robert Millan <rmh.grub@aybabtu.com>
18728
18729 * util/grub-probe.c (probe): Comment out buggy codepath, which
18730 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
18731 should be re-enabled after 1.97.
18732
3a613259 187332009-09-05 Felix Zielcke <fzielcke@z-51.de>
18734
18735 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18736 find searches for.
18737
197f76c7 187382009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18739
18740 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18741 unnecessary calls to grub_error.
18742
70ba68ce 187432009-09-04 Colin Watson <cjwatson@ubuntu.com>
18744
18745 * NEWS: Mention `keystatus' and Unicode fonts.
18746
4ff0d7a4 187472009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18748
18749 * configure.ac: Bump version to 1.97~beta2.
18750 * docs/version.texi: Likewise.
18751
77c55a87 187522009-09-03 Colin Watson <cjwatson@ubuntu.com>
18753
18754 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18755 containing unwind information in some cases where it previously did
18756 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18757 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18758 discussion.
18759
f79572cd 187602009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18761
18762 Embedding loadenv module into grub-emu
18763
18764 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18765 commands/loadenv.c
18766 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18767 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18768 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18770 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18771 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18772
93a81088 187732009-09-03 Magnus Granberg <zorry@ume.nu>
18774
18775 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18776 include -fPIE in the default specs.
18777 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18778 to TARGET_CFLAGS.
18779
160034b2 187802009-09-03 Felix Zielcke <fzielcke@z-51.de>
18781
18782 * INSTALL: Note that GNU Bison 2.3 or later is required.
18783
087c07c4 187842009-09-03 Colin Watson <cjwatson@ubuntu.com>
18785
18786 * kern/i386/pc/startup.S: Fix typo.
18787
cbf978c0 187882009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18789
18790 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
18791 according to GCS.
18792
187932009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 18794
18795 * docs/grub.texi (Naming convention): Describe one-based partition
18796 numbering.
18797 (Device syntax): Likewise.
18798 (File name syntax): Likewise.
18799 (Block list syntax): Likewise.
18800 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
18801 menu.lst.
18802 (File name syntax): Likewise.
18803 (Command-line and menu entry commands): Document acpi, blocklist,
18804 crc, export, insmod, keystatus, ls, set, and unset commands.
18805
f3e8cdfd 188062009-09-02 Colin Watson <cjwatson@ubuntu.com>
18807
18808 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
18809 to avoid implying that only one of --shift, --ctrl, or --alt may be
18810 used.
18811
c0bc232b 188122009-09-02 Colin Watson <cjwatson@ubuntu.com>
18813
18814 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
18815 rather than comparing against S_IFREG, which will almost never work.
18816
aa0f752d 188172009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
18820 (write_blocklists): Likewise.
18821
ecb3166a 188222009-09-01 Colin Watson <cjwatson@ubuntu.com>
18823
18824 * script/lua/grub_lua.h (fputs): Supply a format string as the first
18825 argument to grub_printf.
18826
c403a125 188272009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 18828
18829 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 18830 non GNU test.
31aba781 18831
b5e7312c 188322009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18833
18834 * kern/file.c (grub_file_read): Spelling fix
18835
fe00f472 188362009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
18839 loading of headers in some cases.
18840
cc55302e 188412009-08-30 Robert Millan <rmh.grub@aybabtu.com>
18842
18843 * configure.ac: Bump version to 1.97~beta1.
18844 * docs/version.texi: Likewise.
18845
5c90cdd2 188462009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 18847
18848 * include/grub/i386/xnu.h: Add license header.
18849 include grub/err.h explicitly.
18850
c90edae4 188512009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18852
18853 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
18854 to `ufs' in the vfs.root.mountfrom kernel parameter.
18855
d8888b5c 188562009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18857
18858 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
18859
18860 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
18861 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
18862
18863 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
18864 `ARRAY_SIZE' macro.
18865
6f07b921 188662009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18867
18868 * kern/file.c (grub_file_read): Check offset.
18869 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
18870 * fs/jfs.c (grub_jfs_read_file): Likewise.
18871 * fs/ntfs.c (grub_ntfs_read): Likewise.
18872 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
18873 * fs/minix.c (grub_minix_read_file): Correct offset check.
18874 * fs/ufs.c (grub_ufs_read_file): Likewise.
18875
b4f34077 188762009-08-28 Colin Watson <cjwatson@ubuntu.com>
18877
18878 * term/i386/pc/console.c (bios_data_area): Cast
18879 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
18880
e7c69859 188812009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18882
18883 1-bit optimised blitters.
18884
18885 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
18886 prototype.
18887 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18888 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18889 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18890 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18891 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18892 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18893 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
18894 function.
18895 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18896 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18897 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18898 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18899 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18900 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18901 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
18902 when possible.
18903 * video/video.c (grub_video_get_blit_format): Return
18904 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
18905
a57da43f 189062009-08-28 Colin Watson <cjwatson@ubuntu.com>
18907
18908 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
18909 the first argument to grub_printf.
18910
4cbe67e5 189112009-08-28 Colin Watson <cjwatson@ubuntu.com>
189122009-08-28 Robert Millan <rmh.grub@aybabtu.com>
18913
18914 Add `getkeystatus' terminal method. Add a new `keystatus' command
18915 to query it.
18916
18917 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
18918 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
18919 modifier key bitmasks.
18920 (struct grub_term_input): Add `getkeystatus' member.
18921 (grub_getkeystatus): Add prototype.
18922 * kern/term.c (grub_getkeystatus): New function.
18923
18924 * include/grub/i386/pc/memory.h
18925 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
18926 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
18927 Data Area layout.
18928 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
18929 (grub_console_term_input): Set `getkeystatus' member.
18930 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
18931 constants.
18932 (grub_usb_keyboard_getreport): Likewise.
18933 (grub_usb_keyboard_checkkey): Likewise.
18934 (grub_usb_keyboard_getkeystatus): New function.
18935 (grub_usb_keyboard_term): Set `getkeystatus' member.
18936
18937 * commands/keystatus.c: New file.
18938 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
18939 (keystatus_mod_SOURCES): New variable.
18940 (keystatus_mod_CFLAGS): Likewise.
18941 (keystatus_mod_LDFLAGS): Likewise.
18942 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
18943 commands/keystatus.c.
18944 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18946 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18947 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18948 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18949 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 18950
6e2a9085 189512009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18952
18953 Split befs.mod and afs.mod into *_be.mod and *.mod
18954
18955 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
18956 (grub_fstest_SOURCES): Likewise.
18957 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
18958 (afs_be_mod_SOURCES): New variable.
18959 (afs_be_mod_CFLAGS): Likewise.
18960 (afs_be_mod_LDFLAGS): Likewise.
18961 (befs_be_mod_SOURCES): Likewise.
18962 (befs_be_mod_CFLAGS): Likewise.
18963 (befs_be_mod_LDFLAGS): Likewise.
18964 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
18965 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18966 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18967 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18968 (grub_emu_SOURCES): Likewise.
18969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18970 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18971 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18972 * fs/afs_be.c: New file.
18973 * fs/befs_be.c: New file.
18974 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
18975 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
18976 (U16): Replaced with ...
18977 (grub_afs_to_cpu16): ...this. All users updated.
18978 (U32): Replaced with ...
18979 (grub_afs_to_cpu32): ...this. All users updated.
18980 (U64): Replaced with ...
18981 (grub_afs_to_cpu64): ...this. All users updated.
18982 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
18983 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 18984 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 18985 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18986 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18987 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18988 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18989 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18990 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18991 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18992 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18993
32a71655 189942009-08-26 Bean <bean123ch@gmail.com>
18995
18996 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
18997 64-bit number.
18998 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
18999 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19000 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19001
552bf6c5 190022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19003
19004 NetBSD memory map support.
19005
19006 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19007 (grub_netbsd_btinfo_mmap_header): New structure.
19008 (grub_netbsd_btinfo_mmap_entry): Likewise.
19009 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19010
1ae2078c 190112009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19012
19013 Enable bsd.mod on coreboot.
19014
19015 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19016 (bsd_mod_SOURCES): New variable.
19017 (bsd_mod_CFLAGS): Likewise.
19018 (bsd_mod_LDFLAGS): Likewise.
19019 (bsd_mod_ASFLAGS): Likewise.
19020 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19021 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19022
beefc598 190232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19024
19025 Cleanup NetBSD root support.
19026
19027 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19028 grub_bsd_get_device.
19029 Fix typo.
19030
3b76e68b 190312009-08-25 Felix Zielcke <fzielcke@z-51.de>
19032
19033 * util/grub.d/00_header.in: Move check for the video backend of
19034 gfxterm from here ...
19035 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19036 a suitable video backend.
19037
aea664ea 190382009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19039
19040 Fix breakage in grub-setup.
19041
19042 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19043 "msdos_partition_map".
19044
ff747d50 190452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 Fix breakage in normal/auth.c.
19048
19049 * normal/auth.c (grub_iswordseparator): New function.
19050
e7e1f93f 190512009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19052
19053 Authentication support.
19054
19055 * commands/password.c: New file.
19056 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19057 (password_mod_SOURCES): New variable.
19058 (password_mod_CFLAGS): Likewise.
19059 (password_mod_LDFLAGS): Likewise.
19060 (normal_mod_SOURCES): Add normal/auth.c.
19061 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19062 normal/auth.c.
19063 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19064 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19065 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19067 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19069 * include/grub/auth.h: New file.
19070 * include/grub/err.h (grub_err_t): New enum value
19071 GRUB_ERR_ACCESS_DENIED.
19072 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19073 'users'.
19074 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19075 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19076 users updated.
19077 * normal/auth.c: New file.
19078 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19079 (grub_cmdline_run): Don't allow to go to command line without
19080 authentication.
19081 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19082 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19083 menuentry without superuser rights.
19084 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19085 user isn't a superuser.
19086
70f1161d 190872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19088
19089 Save space by inlining misc.c functions.
19090
19091 * kern/misc.c (grub_iswordseparator): Made static.
19092 * kern/misc.c (grub_strcat): Moved from here ...
19093 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19094 * kern/misc.c (grub_strncat): Moved from here ...
19095 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19096 * kern/misc.c (grub_strcasecmp): Moved from here ...
19097 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19098 * kern/misc.c (grub_strncasecmp): Moved from here ...
19099 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19100 * kern/misc.c (grub_isalpha): Moved from here ...
19101 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19102 * kern/misc.c (grub_isdigit): Moved from here ...
19103 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19104 * kern/misc.c (grub_isgraph): Moved from here ...
19105 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19106 * kern/misc.c (grub_tolower): Moved from here ...
19107 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19108
48e40bff 191092009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19110
19111 * script/sh/function.c (grub_script_function_find): Cut error message
19112 not to flood terminal.
19113 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19114 limit.
19115 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19116
c385bfc3 191172009-08-24 Colin Watson <cjwatson@ubuntu.com>
19118
19119 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19120 `report' grub_uint8_t *.
19121 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19122 Use a 50-millisecond timeout rather than just repeating
19123 grub_usb_keyboard_getreport 50 times.
19124 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19125
2d21e3e8 191262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19127
19128 Rename *_partition_map to part_*
19129
19130 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19131 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19132 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19133 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19134 All users updated.
19135 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19136 All users updated.
19137 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19138 * util/grub-probe.c (probe_partmap): Don't transform partition name
19139 to get module name.
19140
dd103c4e 191412009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 Fix OpenBSD and NetBSD support.
19144
19145 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19146 memory address conflict.
19147 (OPENBSD_MMAP_ACPI): New definition.
19148 (OPENBSD_MMAP_NVS): Likewise.
19149 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19150 and OPENBSD_MMAP_NVS.
19151 Add memory map terminator
19152 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19153 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19154
16c84d74 191552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19156
19157 Let user specify NetBSD root device.
19158
19159 * loader/i386/bsd.c (netbsd_root): New variable.
19160 (netbsd_opts): New option 'root'.
19161 (NETBSD_ROOT_ARG): New macro.
19162 (grub_netbsd_boot): Use 'netbsd_root'.
19163 (grub_bsd_unload): Free 'netbsd_root'.
19164 (grub_cmd_netbsd): Fill 'netbsd_root'.
19165
adb29902 191662009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19167
19168 Support for 64-bit NetBSD.
19169
19170 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19171 point when booting non-FreeBSD.
19172
f5ae9f74 191732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 Support --no-smp and --no-acpi for NetBSD.
19176
19177 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19178 (NETBSD_AB_NOACPI): Likewise.
19179 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19180 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19181
de74f136 191822009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19183
19184 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19185 errors.
19186 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19187 errors. Call grub_error when needed.
19188
e9a925da 191892009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 * commands/search.c (search_fs): Try searching without autoload first.
19192 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19193 filesystem module explicitly for faster booting.
19194
5174302b 191952009-08-23 Colin Watson <cjwatson@ubuntu.com>
19196
19197 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19198
c8c80635 191992009-08-23 Colin Watson <cjwatson@ubuntu.com>
19200
19201 * util/grub.d/30_os-prober.in: Disable os-prober if
19202 `GRUB_DISABLE_OS_PROBER' was set to true.
19203
71acf5e5 192042009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19205
19206 * partmap/pc.c: Rename to ...
19207 * partmap/msdos.c: ... this. Update all users.
19208 (grub_pc_partition_map): Rename to ...
19209 (grub_msdos_partition_map): ... this. Update all users.
19210
19211 * parttool/pcpart.c: Rename to ...
19212 * parttool/msdospart.c: ... this. Update all users.
19213
19214 * include/grub/pc_partition.h: Rename to ...
19215 * include/grub/msdos_partition.h: ... this. Update all users.
19216 (grub_pc_partition_bsd_entry): Rename to ...
19217 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19218 (grub_pc_partition_disk_label): Rename to ...
19219 (grub_msdos_partition_disk_label): ... this. Update all users.
19220 (grub_pc_partition_entry): Rename to ...
19221 (grub_msdos_partition_entry): ... this. Update all users.
19222 (grub_pc_partition_mbr): Rename to ...
19223 (grub_msdos_partition_mbr): ... this. Update all users.
19224 (grub_pc_partition): Rename to ...
19225 (grub_msdos_partition): ... this. Update all users.
19226 (grub_pc_partition_is_empty): Rename to ...
19227 (grub_msdos_partition_is_empty): ... this. Update all users.
19228 (grub_pc_partition_is_extended): Rename to ...
19229 (grub_msdos_partition_is_extended): ... this. Update all users.
19230 (grub_pc_partition_is_bsd): Rename to ...
19231 (grub_msdos_partition_is_bsd): ... this. Update all users.
19232
19233 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19234 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19235 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19236 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19237 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19238 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19239 (gpt_mod_LDFLAGS): Rename to ...
19240 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19241 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19242 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19243 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19244 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19245 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19246 (part_gpt_mod_LDFLAGS): ... this.
19247 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19248 `pcpart.mod' to `msdospart.mod'.
19249 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19250 to ...
19251 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19252 (msdospart_mod_LDFLAGS): ... this.
19253
c11fded5 192542009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19255
19256 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19257 (openbsd_opts): Likewise.
19258 (netbsd_opts): Likewise.
19259 (freebsd_flags): Added 0 terminator.
19260 (openbsd_flags): Likewise.
19261 (netbsd_flags): Likewise.
19262 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19263 (grub_cmd_freebsd): Transformed into extended command.
19264 (grub_cmd_openbsd): Likewise.
19265 (grub_cmd_netbsd): Likewise.
19266 (cmd_freebsd): Changed type to grub_extcmd_t.
19267 (cmd_openbsd): Likewise.
19268 (cmd_netbsd): Likewise.
19269 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19270 grub_cmd_openbsd as extended commands.
19271 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19272 cmd_netbsd and cmd_openbsd
19273
11d1c769 192742009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19277
7a9094e5 192782009-08-21 Pavel Roskin <proski@gnu.org>
19279
5496c37e 19280 * Makefile.in (install-local): When checking if a file is in the
19281 build directory, use "test -e" to detect symlinks.
19282
7a9094e5 19283 * Makefile.in (install-local): Remove all files in
19284 $(DESTDIR)$(pkglibdir) before installing new files there.
19285
e53cea11 192862009-08-18 Felix Zielcke <fzielcke@z-51.de>
19287
19288 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19289 grub-mkelfimage.
19290
9aced544 192912009-08-18 Felix Zielcke <fzielcke@z-51.de>
19292
19293 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19294 explicitly specified by the user.
19295
b7da6bab 192962009-08-18 Pavel Roskin <proski@gnu.org>
19297
19298 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19299 grub_uint8_t pointer for data.
19300 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19301 Likewise.
19302 * video/fb/fbutil.c: Remove unnecessary casts.
19303
19f1b335 193042009-08-17 Michal Suchanek <hramrach@centrum.cz>
19305
19306 VBE cleanup.
19307
19308 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19309 (grub_vbe_set_video_mode): Save active mode info
19310 only after setting the mode.
19311 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19312 second argument.
19313
2f467aa9 193142009-08-17 Michal Suchanek <hramrach@centrum.cz>
19315
19316 Rename variables for clarity.
19317
19318 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19319 (active_vbe_mode_info): ... this. All users updated.
19320 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19321 All users updated.
19322 (initial_mode): Rename to ...
19323 (initial_vbe_mode): ... this. All users updated.
19324 (mode_in_use): Rename to ..
19325 (vbe_mode_in_use): ... this. All users updated.
19326 (mode_list): Rename to ..
19327 (vbe_mode_list): ... this. All users updated.
19328 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19329 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19330 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19331 'mode_list_size' to 'vbe_mode_list_size'.
19332 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19333 'best_mode_info' to 'best_vbe_mode_info' and
19334 'best_mode' to 'best_vbe_mode'
19335
6025fcd7 193362009-08-17 Michal Suchanek <hramrach@centrum.cz>
19337
19338 Remove duplicate grub_video_fb_get_video_ptr.
19339
19340 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19341 (grub_video_fb_get_video_ptr): ... this.
19342 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19343 * video/fb/fbutil.c: Add comment about addressing.
19344 (get_data_ptr): Rename to ...
19345 (grub_video_fb_get_video_ptr): ... this. All users updated.
19346 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19347
cc8c6faf 193482009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19349
19350 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19351 grub_dprintf() that was just added.
19352
08aa61f0 193532009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19354
19355 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19356 (DEFAULT_VIDEO_MODE): Remove macros.
19357 (grub_linux_boot): Remove assumption that Linux has FB support,
19358 and use "text" as default video mode.
19359
7cef4f75 193602009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19363 grub_dprintf.
19364 * fs/fat.c (grub_fat_read_data): Likewise.
19365
e1f39873 193662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19367
19368 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19369 payload.
19370 (grub_module): Likewise.
19371
c166d79e 193722009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19373
19374 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19375 mbi->cmdline but free playground.
19376
c60cee8e 193772009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19378
19379 Handle group offset on UFS1.
19380
19381 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19382 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19383
c0d8b5d4 193842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19385
19386 Split ufs.mod into ufs1.mod and ufs2.mod.
19387
19388 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19389 (grub_fstest_SOURCES): Likewise.
19390 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19391 (ufs_mod_SOURCES): Remove.
19392 (ufs_mod_CFLAGS): Likewise.
19393 (ufs_mod_LDFLAGS): Likewise.
19394 (ufs1_mod_SOURCES): New variable.
19395 (ufs1_mod_CFLAGS): Likewise.
19396 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 19397 (ufs2_mod_SOURCES): New variable.
19398 (ufs2_mod_CFLAGS): Likewise.
19399 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 19400 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19401 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19402 Likewise.
19403 (grub_emu_SOURCES): Likewise.
19404 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19405 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19406 (grub_setup_SOURCES): Likewise.
19407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19408 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19409 (grub_setup_SOURCES): Likewise.
19410 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19411 Likewise.
19412 * fs/ufs2.c: New file.
19413 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19414
d3539132 194152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19416
19417 Framebuffer split.
19418
19419 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19420 subsystem at the end.
19421 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19422 (video_fb_mod_SOURCES): New variable.
19423 (video_fb_mod_CFLAGS): Likewise.
19424 (video_fb_mod_LDFLAGS): Likewise.
19425 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19426 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19427 * video/i386/pc/vbeblit.c: Moved from here ...
19428 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19429 * video/i386/pc/vbefill.c: Moved from here ...
19430 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19431 * video/i386/pc/vbeutil.c: Moved from here ...
19432 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19433 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19434 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19435 * include/grub/i386/pc/vbefill.h: Moved from here ...
19436 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19437 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19438 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19439 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19440 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19441 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19442 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19443 (grub_video_adapter): Added 'get_info_and_fini'.
19444 (grub_video_get_info_and_fini): New prototype.
19445 (grub_video_set_mode): make modestring const char *.
19446 * loader/i386/linux.c (grub_linux_setup_video): Use
19447 grub_video_get_info_and_fini.
19448 (grub_linux_boot): Move modesetting just before booting.
19449 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19450 grub_video_get_info_and_fini.
19451 * video/i386/pc/vbe.c: Moved framebuffer part ...
19452 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19453 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19454 grub_video_fbstd_colors and grub_video_fb_set_palette.
19455 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19456 grub_video_fb_init.
19457 (grub_video_vbe_fini): Use grub_video_fb_fini.
19458 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19459 render_target and use grub_video_fb_set_active_render_target and
19460 grub_video_fb_set_palette.
19461 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19462 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19463 (grub_video_vbe_adapter): Use framebuffer.
19464 * video/video.c (grub_video_get_info_and_fini): New function.
19465 (grub_video_set_mode): Make modestring const char *.
19466 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19467 values are already initialised.
19468
d404ee56 194692009-08-14 Pavel Roskin <proski@gnu.org>
19470
19471 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19472 ABS and APPLE_CC.
19473 * boot/i386/pc/diskboot.S: Likewise.
19474 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19475 sectors allow compilation on MacOSX.
19476 * conf/i386-pc.rmk: Enable unconditional compilation of
19477 lnxboot.img.
19478
9a10df16 194792009-08-13 Colin Watson <cjwatson@ubuntu.com>
19480
19481 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19482 * util/grub.d/00_header.in: Enter interruptible sleep if
19483 GRUB_HIDDEN_TIMEOUT is set.
19484
be3c9ca7 194852009-08-13 Yves Blusseau <blusseau@zetam.org>
19486
19487 * include/grub/symbol.h: Add the LOCAL macro.
19488 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
19489 starting with "L_".
19490
1f9e557e 194912009-08-13 Pavel Roskin <proski@gnu.org>
19492
9ca62843 19493 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
19494 any modern compilers we support.
19495
1f9e557e 19496 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
19497 Use local labels starting with "L_" so that Apple assembler
19498 knows they are local.
19499
81623db6 195002009-08-10 Robert Millan <rmh.grub@aybabtu.com>
19501
19502 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
19503 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
19504 (bsd_kernel_types): ... this enum.
19505
19506 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
19507 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
19508 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
19509
19510 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
19511 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
19512 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
19513 messages.
19514
f5d35e7a 195152009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19516
19517 * util/grub-dumpdevtree: Moved from here ...
19518 * util/i386/efi/grub-dumpdevtree: ... to here.
19519 (hexify): New function. Converts a string to its hex version.
19520 Generate hex versions of "efi" and "device-properties" by calling
19521 hexify() on the ASCII strings rather than by hardcoding numbers.
19522
d1e1d527 195232009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19524
19525 * fs/jfs.c: Update copyright year.
19526
1ebbe064 195272009-08-08 Felix Zielcke <fzielcke@z-51.de>
19528
19529 * util/grub.d/00_header.in: Fix a comment.
19530 * util/grub.d/10_linux.in: Likewise.
19531 * util/grub.d/10_windows.in: Likewise.
19532 * util/grub.d/10_hurd.in: Likewise.
19533
a78c8d24 195342009-08-08 Felix Zielcke <fzielcke@z-51.de>
19535
19536 * util/grub-mkconfig.in: Allow the user to specify the used font
19537 with GRUB_FONT.
19538
29a6b9e8 195392009-08-08 Pavel Roskin <proski@gnu.org>
19540
b5f16cc4 19541 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
19542 available, xfs.mod needs it now.
19543
2f5cb827 19544 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
19545 the "g" modifier in sed when the intention is to strip something
19546 once. This fixes comparison of kernels with multiple dashes.
19547
29a6b9e8 19548 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
19549 on it. Add missing space before closing bracket. Fix
19550 misleading formatting.
19551
892a3d98 195522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19553
19554 * docs/grub.texi: Major overhaul. Remove all sections that are
19555 specific to GRUB Legacy, or mostly composed of Legacy-specific
19556 information.
19557
ed94253f 195582009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19559
19560 * docs/version.texi: New file. Provides version information for
19561 grub.texi.
19562
126d6628 195632009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19564
19565 * docs/grub.texi: Update CVS information to SVN.
19566 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
19567
998b5aa9 195682009-08-07 Felix Zielcke <fzielcke@z-51.de>
19569
19570 * util/grub-mkconfig.in: Remove a wrong `fi'.
19571
818e094a 195722009-08-07 Felix Zielcke <fzielcke@z-51.de>
19573
19574 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
19575 (grub_jfs_uuid): New function.
19576 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
19577
b969c52f 195782009-08-07 Felix Zielcke <fzielcke@z-51.de>
19579
19580 * util/grub-mkconfig_lib.in (font_path): Move the functionality
19581 of it to ...
19582 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
19583 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
19584
7a4894cc 195852009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19586
19587 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
19588 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
19589 Update all users.
19590
19591 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
19592 not just "vmlinu[zx]".
19593 Moved from here ...
19594 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
19595 all users.
19596
19597 * util/grub.d/10_linux.in (find_latest): Moved from here ...
19598 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
19599 all users.
19600
4e2171f8 196012009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19602
19603 * util/grub.d/10_freebsd.in: Use an absolute device path for
19604 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
19605
6dcfcb32 196062009-08-06 Felix Zielcke <fzielcke@z-51.de>
19607
19608 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
19609 handling of multiple abstraction modules.
19610
f56a8756 196112009-08-04 Robert Millan <rmh.grub@aybabtu.com>
19612
19613 Fix a bug resulting in black screen when loading Linux using a
19614 packed video mode.
19615
19616 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
19617 function.
19618
19619 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
19620 (grub_vbe_bios_getset_dac_palette_width): New function.
19621 (grub_vbe_bios_get_dac_palette_width)
19622 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
19623 grub_vbe_bios_getset_dac_palette_width()).
19624
19625 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
19626 check for return status.
19627 (grub_vbe_get_video_mode_info): When getting information for a packed
19628 mode (<= 8 bpp), obtain DAC palette width using
19629 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
19630 {red,green,blue}_mark_size.
19631
222671b2 196322009-08-04 Felix Zielcke <fzielcke@z-51.de>
19633
ecb1a6d9 19634 * commands/search.c (options): Fix help output to match actual code.
222671b2 19635
f84114f5 196362009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
19637
19638 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
19639 of homegrown code.
19640
bd288a20 196412009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 19642
19643 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
19644 on XFS or ReiserFS.
19645
8aab5e25 196462009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
19647
19648 Support Apple partition map with sector size different from 512 bytes.
19649
19650 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
19651 (apple_partition_map_iterate): Respect 'aheader.blocksize'
19652 and 'apart.partmap_size'.
19653
6ad6258a 196542009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
196552009-08-01 Robert Millan <rmh.grub@aybabtu.com>
19656
19657 Fix cpuid command.
19658
19659 * commands/i386/cpuid.c (options): New variable.
19660 (grub_cmd_cpuid): Return real error.
19661 (GRUB_MOD_INIT(cpuid)): Declare options.
19662
67459bc6 196632009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
19664
19665 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
19666 valid.
19667
fbc6ab54 196682009-07-31 Bean <bean123ch@gmail.com>
19669
19670 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
19671 log2_inode.
19672 (grub_fshelp_node): Move inode field to the end.
19673 (grub_xfs_data): Remove inode field.
19674 (grub_xfs_inode_block): Calculate inode size using sblock.
19675 (grub_xfs_inode_offset): Likewise.
19676 (grub_xfs_read_inode): Calculate inode size using sblock.
19677 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
19678 (grub_xfs_iterate_dir): Calculate inode size using sblock.
19679 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
19680 to match inode size.
19681 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
19682 not accessible when data is null.
19683 (grub_xfs_open): Likewise.
19684
f45d6cfc 196852009-07-31 Bean <bean123ch@gmail.com>
19686
19687 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
19688 Don't change pv->disk if it's already set.
19689
19690 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
19691 (grub_raid_register): ... here.
19692 (grub_raid_rescan): Removed.
19693
19694 * include/grub/raid.h (grub_raid_rescan): Removed.
19695
19696 * util/grub-fstest.c: Remove include file <grub/raid.h>.
19697 (fstest): Replace grub_raid_rescan with module fini function followed
19698 by init function.
19699
19700 * util/grub-probe.c: Add include file <grub/raid.h>.
19701 (probe_raid_level): New function.
19702 (probe): Detect abstraction by walking the disk device, support two
19703 level of abstraction (LVM on RAID) when detecting partition map.
19704
24443b5a 197052009-07-31 Pavel Roskin <proski@gnu.org>
19706
19707 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
19708 to grub_zalloc(), it was erroneous.
19709 Reported by Bean <bean123ch@gmail.com>
19710
a275d9e7 197112009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
19712
19713 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 19714 embedding zone, not only the first one.
a275d9e7 19715
56c5a47f 197162009-07-29 Joe Auricchio <jauricchio@gmail.com>
19717
19718 * term/gfxterm.c (clear_char): New function.
19719 (grub_virtual_screen_setup): Use clear_char.
19720 (scroll_up): Likewise.
19721 (grub_virtual_screen_cls): Likewise.
19722
67bb323a 197232009-07-29 Felix Zielcke <fzielcke@z-51.de>
19724
19725 * util/deviceiter.c (get_acceleraid_disk_name): New static
19726 function.
19727 (grub_util_iterate_devices): Handle Accelraid devices.
19728 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
19729
388a7c75 197302009-07-28 Robert Millan <rmh.grub@aybabtu.com>
19731
19732 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19733 separator for the suggested gfxpayload string (';' collides with the
19734 parser and needs escaping).
19735
3bb7abcf 197362009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19737
19738 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19739 Clear direction flag before jumping to OS.
19740 (grub_multiboot2_real_boot): Likewise.
19741
2ddd36d7 197422009-07-28 Felix Zielcke <fzielcke@z-51.de>
19743
19744 * util/i386/pc/grub-install: Fix parsing of --disk-module
19745 option.
19746
c521b62b 197472009-07-28 Felix Zielcke <fzielcke@z-51.de>
19748
19749 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19750 when embedding.
19751
880e0a0c 197522009-07-26 Felix Zielcke <fzielcke@z-51.de>
19753
19754 * util/grub-mkconfig.in (package_version): New variable.
19755 Use it do display the version.
19756
2366e356 197572009-07-25 Felix Zielcke <fzielcke@z-51.de>
19758
19759 * kern/file.c (grub_file_open): Revert to previous check with
19760 grub_errno.
19761
7ad8c80e 197622009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19765 from help line. It's out of sync with code.
19766
72b9658b 197672009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19768
19769 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19770 entries on failed boot.
19771
77435277 197722009-07-25 Felix Zielcke <fzielcke@z-51.de>
19773
19774 * kern/file.c (grub_file_open): Fix an error check.
19775
fcaa8b21 197762009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19777
35d16c74 19778 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19779 partition map couldn't be identified.
fcaa8b21 19780
48904cd1 197812009-07-23 Pavel Roskin <proski@gnu.org>
19782
ef3c317f 19783 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
19784 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
19785 case of little endian words becomes just an optimization.
19786 Respect const modifier.
ad8ea1f4 19787 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 19788
48904cd1 19789 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
19790 to avoid loss of upper bits if align is unsigned and shorter
19791 than addr.
19792
260c9a89 197932009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19794
19795 UUID support for UFS
19796
19797 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
19798 (grub_ufs_uuid): New function.
19799 (grub_ufs_fs): add .uuid
19800
f76ce889 198012009-07-21 Pavel Roskin <proski@gnu.org>
19802
19803 * kern/dl.c (grub_dl_check_header): Make static.
19804
6a6cbcaf 198052009-07-21 Felix Zielcke <fzielcke@z-51.de>
19806
19807 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
19808 add drivemap for Vista. It breaks Windows 7.
19809
cffcddb2 198102009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19811
19812 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
19813 128 bytes
19814
1ef44b80 198152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19816
19817 Add BFS support
19818
19819 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
19820 (grub_fstest_SOURCES): Likewise.
19821 (pkglib_MODULES): Add befs.mod.
19822 (befs_mod_SOURCES): New variable.
19823 (befs_mod_CFLAGS): Likewise.
19824 (befs_mod_LDFLAGS): Likewise.
19825 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19826 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19827 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19828 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19829 (grub_setup_SOURCES): Likewise.
19830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19831 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19832 (grub_setup_SOURCES): Likewise.
19833 * fs/befs.c: New file.
19834 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
19835 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
19836 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
19837 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
19838 (B_KEY_INDEX_ALIGN): New declaration.
19839 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
19840 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
19841 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
19842 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
19843 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
19844 (grub_afs_mount) [MODE_BFS]: Likewise.
19845 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
19846 (grub_afs_fs): Use GRUB_AFS_FSNAME
19847 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
19848 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
19849 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
19850 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
19851
4f253044 198522009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
19853
19854 * util/getroot.c (find_root_device): Add support for MacOSX.
19855 * util/hostdisk.c: Likewise.
19856
57a55913 198572009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19858
19859 * font/font.c (find_glyph): Check whether a font is present to avoid
19860 segmentation fault.
75421ca9 19861
198622009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 19863
19864 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
19865
e98cd0c2 198662009-07-20 Pavel Roskin <proski@gnu.org>
19867
19868 * configure.ac: Trim excessively wordy excuses.
19869
1d2d169a 198702009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 Add symlink, mtime and label support to AtheFS.
19873
19874 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
19875 (grub_afs_iterate_dir): Handle symlinks.
19876 (grub_afs_open): Use grub_afs_read_symlink.
19877 (grub_afs_dir): Likewise.
19878 Pass mtime.
19879 (grub_afs_label): New function.
19880 (grub_afs_fs): Add grub_afs_label.
19881 (grub_afs_read_symlink): New function.
19882
186f3189 198832009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19884
19885 Fix AtheFS support.
19886
19887 * fs/afs.c: Fix comments style.
19888 (grub_afs_blockrun): Declare as packed.
19889 (grub_afs_datastream): Likewise.
19890 (grub_afs_bnode): Likewise.
19891 (grub_afs_btree): Likewise.
19892 (grub_afs_sblock): Likewise.
19893 Declare `name' as char.
19894 (grub_afs_inode): Declare as packed.
19895 Change void *vnode to grub_uint32_t unused.
19896 (grub_afs_iterate_dir): Check that key_size is positive.
19897 (grub_afs_mount): Don't read superblock twice.
75421ca9 19898 (grub_afs_dir): Don't free node in case of error,
186f3189 19899 grub_fshelp_find_file already handles this.
19900 (grub_afs_open): Likewise.
19901
5680109e 199022009-07-19 Pavel Roskin <proski@gnu.org>
19903
19904 * Makefile.in: Remove LIBLZO and enable_lzo.
19905 * conf/i386-pc.rmk: Remove lzo support.
19906 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
19907 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
19908 support.
19909 * kern/i386/pc/lzo1x.S: Remove.
19910 * kern/i386/pc/startup.S: Remove lzo support.
19911 * util/i386/pc/grub-mkimage.c: Likewise.
19912
ac70fa32 199132009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
19914
19915 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
19916 * fs/xfs.c (grub_xfs_dir): Likewise.
19917 * fs/afs.c (grub_afs_dir): Likewise.
19918 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
19919 (grub_iso9660_open): Likewise.
19920 * fs/jfs.c (grub_jfs_open): Likewise.
19921 * fs/ext2.c (grub_ext2_dir): Likewise.
19922 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
19923 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 19924
eab58da2 199252009-07-16 Pavel Roskin <proski@gnu.org>
19926
d2838156 19927 * configure.ac: Never add "-c" to CFLAGS.
19928
55c70904 19929 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
19930
43e6200c 19931 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
19932 grub_cv_cc_efiemu should be used.
19933
ce7a733d 19934 * configure.ac: Typo fixes.
19935
eab58da2 19936 * kern/mm.c (grub_zalloc): New function.
19937 (grub_debug_zalloc): Likewise.
19938 * include/grub/mm.h: Declare grub_zalloc() and
19939 grub_debug_zalloc().
19940 * util/misc.c (grub_zalloc): New function.
19941 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
19942 instead of grub_malloc(), remove unneeded initializations.
19943 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
19944 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
19945 * commands/parttool.c (grub_cmd_parttool): Likewise.
19946 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19947 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
19948 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
19949 * disk/usbms.c (grub_usbms_finddevs): Likewise.
19950 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
19951 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
19952 (grub_cmd_efiemu_pnvram): Likewise.
19953 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
19954 * fs/iso9660.c (grub_iso9660_mount): Likewise.
19955 (grub_iso9660_iterate_dir): Likewise.
19956 * fs/jfs.c (grub_jfs_opendir): Likewise.
19957 * fs/ntfs.c (list_file): Likewise.
19958 (grub_ntfs_mount): Likewise.
19959 * kern/disk.c (grub_disk_open): Likewise.
19960 * kern/dl.c (grub_dl_load_core): Likewise.
19961 * kern/elf.c (grub_elf_file): Likewise.
19962 * kern/env.c (grub_env_context_open): Likewise.
19963 (grub_env_set): Likewise.
19964 (grub_env_set_data_slot): Likewise.
19965 * kern/file.c (grub_file_open): Likewise.
19966 * kern/fs.c (grub_fs_blocklist_open): Likewise.
19967 * loader/i386/multiboot.c (grub_module): Likewise.
19968 * loader/xnu.c (grub_xnu_create_key): Likewise.
19969 (grub_xnu_create_value): Likewise.
19970 * normal/main.c (grub_normal_add_menu_entry): Likewise.
19971 (read_config_file): Likewise.
19972 * normal/menu_entry.c (make_screen): Likewise.
19973 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19974 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
19975 * script/sh/script.c (grub_script_parse): Likewise.
19976 * video/bitmap.c (grub_video_bitmap_create): Likewise.
19977 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
19978 * video/readers/png.c (grub_png_output_byte): Likewise.
19979 (grub_video_reader_png): Likewise.
19980
830afef7 199812009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 19982
19983 Enable all targets that can be built by default
19984
830afef7 19985 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 19986 grub-mkfont and grub-fstest if they can be built
19987
ee293aee 199882009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19989
19990 Fix hang and segmentation fault in grub-emu-usb
19991
19992 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
19993 * util/usb.c (grub_libusb_devices): likewise
19994 (grub_libusb_init): rename to ...
19995 (GRUB_MOD_INIT (libusb)):...this
19996 (grub_libusb_fini): rename to ..
19997 (GRUB_MOD_FINI (libusb)):...this
19998 * disk/usbms.c (grub_usbms_transfer): fix retry logic
19999 * include/grub/disk.h (grub_raid_init): removed, it's useless
20000 (grub_raid_fini): likewise
20001 (grub_lvm_init): likewise
20002 (grub_lvm_fini): likewise
20003 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20004 by grub_init_all
20005
94414221 200062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20007
20008 Fix libusb
20009
20010 * Makefile.in (LIBUSB): new macro
20011 * genmk.rb (Utility/print_tail): new method
20012 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20013 (top level): call util.print_tail at the end.
20014
59ade63d 200152009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20016
20017 Make FreeBSD accept zpool.cache
20018
20019 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20020 type is /boot/zfs/zpool.cache
20021
a58da8c7 200222009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20023
20024 Fix 64-bit efiemu
20025
20026 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20027 correct wrong typedef
20028 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20029
20591577 200302009-07-15 Pavel Roskin <proski@gnu.org>
20031
560ca572 20032 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20033 * kern/disk.c (struct grub_disk_cache): Likewise.
20034
e8e8e4fd 20035 * commands/probe.c (options): Typo fix.
20036
fde24e10 20037 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20038 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20039 accordingly.
20040 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20041
379c54c1 20042 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20043 the end of "Error" to make the message more readable.
20044
7bd8f5bf 20045 * boot/i386/pc/boot.S (kernel_segment): Remove.
20046 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20047 for destination.
20048
40b132c5 20049 * boot/i386/pc/boot.S (boot_version): Remove.
20050 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20051 Remove.
20052
20591577 20053 * include/grub/i386/pc/boot.h: Sort all offsets.
20054 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20055 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20056 * boot/i386/pc/boot.S: Assert location of every offset listed in
20057 include/grub/i386/pc/boot.h.
20058
2df32b2c 200592009-07-13 Pavel Roskin <proski@gnu.org>
20060
44b5d879 20061 * include/grub/i386/coreboot/machine.h: Rename
20062 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20063 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20064 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20065
17dc3751 20066 * kern/dl.c: Force native word size to suppress warnings when
20067 compiling grub-emu.
20068
2df32b2c 20069 * kern/device.c (grub_device_iterate): Change struct part_ent to
20070 hold the name, not a pointer to it. Use one grub_malloc() per
20071 partition, not two. Free partition_name if grub_malloc() fails.
20072 Set ents to NULL only before grub_partition_iterate() is called.
20073
75c59f59 200742009-07-11 Bean <bean123ch@gmail.com>
20075
20076 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20077 childname.
20078
0ae1bf88 200792009-07-10 Bean <bean123ch@gmail.com>
200802009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20081
20082 * kern/ieee1275/openfw.c (grub_children_iterate)
20083 (grub_devalias_iterate): Fix size evaluation for property or path
20084 strings, which was broken since r2132.
20085
8279cade 200862009-07-07 Pavel Roskin <proski@gnu.org>
20087
7d8a52d3 20088 * commands/search.c (search_file): Merge into ...
20089 (search_fs): ... this. Accept search type as argument.
20090 (grub_cmd_search): Pass search type to search_fs().
20091
25f9a05a 20092 * include/grub/util/console.h: New file.
20093 * util/console.c: Use it instead of grub/machine/console.h.
20094 * util/grub-emu.c: Likewise.
20095
8279cade 20096 * lib/arg.c (find_long_option): Remove.
20097 (find_long): Add `len' argument, make `s' const char *.
20098 (grub_arg_parse): Parse long options in place, not in a
20099 temporary buffer.
20100
4a11b60f 201012009-07-06 Pavel Roskin <proski@gnu.org>
20102
99f68041 20103 * commands/search.c (search_fs): Fix potential NULL pointer
20104 dereference.
20105
4a11b60f 20106 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20107 function pointer.
20108
e110f4de 201092009-07-06 Daniel Mierswa <impulze@impulze.org>
20110
20111 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20112 comparison.
20113
46eeb6a2 201142009-07-05 Pavel Roskin <proski@gnu.org>
20115
bab74958 20116 * include/grub/i386/linux.h (struct linux_kernel_params):
20117 Restore padding3, it's still needed.
20118
46eeb6a2 20119 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20120 FreeBSD.
20121 * util/osdetect.lua: Likewise.
20122
b4a1dc79 201232009-07-05 Bean <bean123ch@gmail.com>
20124
20125 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20126
20127 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20128 (grub_lua_getenv): Likewise.
20129 (grub_lua_setenv): Likewise.
20130 (save_errno): New function.
20131 (push_result): Likewise.
20132 (grub_lua_enum_device): Likewise.
20133 (grub_lua_enum_file): Likewise.
20134 (grub_lua_file_open): Likewise.
20135 (grub_lua_file_close): Likewise.
20136 (grub_lua_file_seek): Likewise.
20137 (grub_lua_file_read): Likewise.
20138 (grub_lua_file_getline): Likewise.
20139 (grub_lua_file_getsize): Likewise.
20140 (grub_lua_file_getpos): Likewise.
20141 (grub_lua_file_eof): Likewise.
20142 (grub_lua_file_exist): Likewise.
20143 (grub_lua_add_menu): Likewise.
20144
20145 * script/lua/grub_lua.h (isupper): New inline function.
20146 (islower): Likewise.
20147 (ispunct): Likewise.
20148 (isxdigit): Likewise.
20149 (strcspn): Change to normal function.
20150 (strpbkr): New function declaration.
20151 (memchr): Likewise.
20152
20153 * script/lua/grub_main.c (scan_str): New function.
20154 (strcspn): Likewise.
20155 (strpbrk): Likewise.
20156 (memchr): Likewise.
20157
20158 * script/lua/linit.c (lualibs): Enable the string library.
20159
20160 * util/osdetect.lua: New file.
20161
2da92295 201622009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20163
20164 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20165 `capabilities' member.
20166
b2582ec9 201672009-07-02 Pavel Roskin <proski@gnu.org>
20168
20169 * genparttoollist.sh: Add missing newline at the end.
20170
32622956 201712009-07-01 Pavel Roskin <proski@gnu.org>
20172
87a7339e 20173 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20174
d23af54e 20175 * util/hostdisk.c (open_device): Remove `const' from
20176 `sysctl_size', as sysctlbyname() can change it (in this case it
20177 doesn't actually happen).
20178
c94b18a9 20179 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20180 using signed long int constants.
20181
c6cd3ef0 20182 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20183 constant to avoid a warning on FreeBSD.
20184
0df63420 20185 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20186 where it's needed.
20187
999577f1 20188 * Makefile.in: Install include/grub/machine symlink.
20189
6f41557f 20190 * Makefile.in: When installing symlinks, use "cp -fR", which
20191 works on FreeBSD and MacOSX.
20192 From Yves Blusseau <cl7m42e02@sneakemail.com>
20193
c8d22988 20194 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20195 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20196
1b96e952 20197 * util/misc.c: Move grub_reboot() and grub_halt() ...
20198 * util/grub-emu.c: ... here. Make main_env static.
20199 * include/grub/util/misc.h: Remove main_env.
20200
2ef0084d 20201 * kern/mm.c: Use correct format to print size_t.
20202
32622956 20203 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20204 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20205 * kern/powerpc/dl.c: Likewise.
20206 * kern/sparc64/dl.c: Likewise.
20207 * kern/x86_64/dl.c: Likewise.
20208
3f7f0cd0 202092009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20210
20211 Fix grub-emu build on sparc64-ieee1275.
20212
75421ca9 20213 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20215
211d06b5 202162009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20217
20218 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20219 (grub_reboot, grub_halt): New functions.
20220
20221 * util/i386/pc/misc.c: Delete. Update all users.
20222 * util/sparc64/ieee1275/misc.c: Likewise.
20223 * util/powerpc/ieee1275/misc.c: Likewise.
20224
aaf53e3c 202252009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20226
20227 * conf/i386.rmk (setjmp_mod_SOURCES)
20228 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20229 * conf/common.rmk (setjmp_mod_SOURCES)
20230 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20231 to use $(target_cpu).
20232 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20233 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20234 * conf/powerpc-ieee1275.rmk: Likewise.
20235 * conf/sparc64-ieee1275.rmk: Likewise.
20236
20237 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20238 $(target_cpu) for kern/$(target_cpu)/dl.c.
20239 * conf/i386-efi.rmk: Likewise.
20240 * conf/i386-ieee1275.rmk: Likewise.
20241 * conf/x86_64-efi.rmk: Likewise.
20242 * conf/i386-coreboot.rmk: Likewise.
20243 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20244 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20245 kern/$(target_cpu)/cache.S.
20246 * conf/sparc64-ieee1275.rmk: Likewise.
20247
a337130b 202482009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20251 type to `grub_uint8_t', and adjust `padding9' accordingly.
20252
c6fe4d53 202532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20254
b09db61d 20255 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20256
c6fe4d53 20257 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20258 assembly in final jump, using register constraints.
20259
b09db61d 20260 (grub_linux_boot): For text mode, initialize `have_vga' using
20261 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20262
20263 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20264 right before the final jump.
20265
20266 Set `video_mode' to 0x3.
20267
20268 Document initialization of `video_page', `video_mode' and
20269 `video_ega_bx'.
20270
28333ad0 202712009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20272
20273 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20274 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20275 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20276
02164e1b 202772009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20278
20279 Fix build on Debian / sparc.
20280
20281 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20282
18b6c557 202832009-06-28 Pavel Roskin <proski@gnu.org>
20284
85f2aab6 20285 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20286 fix a warning.
20287
18b6c557 20288 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20289
ad760f81 202902009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20291
20292 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20293 `err'.
20294
87a4623b 202952009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20296
20297 Revert r2338.
20298
20299 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20300 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20301 grub_errno / grub_errmsg appropriately.
87a4623b 20302 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20303
8231fb77 203042009-06-27 Pavel Roskin <proski@gnu.org>
203052009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20306
20307 * include/grub/dl.h: Include grub/elf.h.
20308 (struct grub_dl): Add symtab field.
20309 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20310 GRUB_MODULES_MACHINE_READONLY.
20311 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20312 of the header for read-only modules.
20313 (grub_dl_unload): Free mod->symtab for read-only modules.
20314 * kern/i386/dl.c: Use mod->symtab.
20315 * kern/powerpc/dl.c: Likewise.
20316 * kern/sparc64/dl.c: Likewise.
20317 * kern/x86_64/dl.c: Likewise.
20318
20319 * conf/i386-qemu.rmk: New file.
20320 * kern/i386/qemu/startup.S: Likewise.
20321 * kern/i386/qemu/mmap.c: Likewise.
20322 * boot/i386/qemu/boot.S: Likewise.
20323 * include/grub/i386/qemu/time.h: Likewise.
20324 * include/grub/i386/qemu/serial.h: Likewise.
20325 * include/grub/i386/qemu/kernel.h: Likewise.
20326 * include/grub/i386/qemu/console.h: Likewise.
20327 * include/grub/i386/qemu/boot.h: Likewise.
20328 * include/grub/i386/qemu/init.h: Likewise.
20329 * include/grub/i386/qemu/machine.h: Likewise.
20330 * include/grub/i386/qemu/loader.h: Likewise.
20331 * include/grub/i386/qemu/memory.h: Likewise.
20332
20333 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20334 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20335 [qemu] (pkglib_IMAGES): Add `boot.img'.
20336 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20337 [qemu] (boot_img_FORMAT): New variables.
20338 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20339 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20340 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20341 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20342 [qemu] (kernel_img_FORMAT): New variables.
20343
20344 * configure.ac: Recognise `i386-qemu'.
20345
20346 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20347 (for no compression).
20348 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20349 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20350 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20351 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20352 ifdefs).
20353
97fe384e 203542009-06-27 Pavel Roskin <proski@gnu.org>
20355
20356 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20357 read.
20358 * efiemu/prepare32.c: Likewise.
20359 * efiemu/prepare64.c: Likewise.
20360
c402ab17 203612009-06-26 Pavel Roskin <proski@gnu.org>
20362
20363 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20364 * include/grub/elf.h: Define symbols without "32" or "64" based
20365 on GRUB_TARGET_WORDSIZE.
20366 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20367 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20368 ELF definitions.
20369 * efiemu/loadcore64.c: Likewise.
20370 * loader/i386/bsd32.c: Likewise.
20371 * loader/i386/bsd64.c: Likewise.
20372 * kern/dl.c: Remove own ELF definitions.
20373 * util/i386/efi/grub-mkimage.c: Likewise.
20374
9bbdfd4d 203752009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20376
20377 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20378 segment 0x0 unconditionally, because the reference generated by
20379 GAS is an absolute address.
20380
a42ce6e9 203812009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20382
20383 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20384 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20385
c952cf92 203862009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20387
20388 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20389 indexes. Check for -f explicitly.
cc3752ad 20390 (search_file): Improve error message.
20391 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 20392
132a0a59 203932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20394
20395 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20396 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20397
387a140c 203982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20399
20400 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20401 * conf/i386-ieee1275.rmk: Likewise.
20402 * conf/i386-coreboot.rmk: Likewise.
20403
20404 * kern/i386/pc/startup.S (grub_stop): Remove function.
20405 * kern/i386/ieee1275/startup.S: Likewise.
20406 * kern/i386/coreboot/startup.S: Likewise.
20407 * kern/i386/misc.S (grub_stop): New function.
20408
41da9665 204092009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20410
20411 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20412 * kern/i386/realmode.S (real_to_prot): ... to here.
20413
bf337234 204142009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20415
20416 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20417 with `kernel.img'.
20418 (kernel_elf_SOURCES): Rename to ...
20419 (kernel_img_SOURCES): ... this.
20420 (kernel_elf_HEADERS): Rename to ...
20421 (kernel_img_HEADERS): ... this. Update all users.
20422 (kernel_elf_ASFLAGS): Rename to ...
20423 (kernel_img_ASFLAGS): ... this.
20424 (kernel_elf_CFLAGS): Rename to ...
20425 (kernel_img_CFLAGS): ... this.
20426 (kernel_elf_LDFLAGS): Rename to ...
20427 (kernel_img_LDFLAGS): ... this.
20428 * conf/i386-coreboot.rmk: Likewise.
20429 * conf/powerpc-ieee1275.rmk: Likewise.
20430
20431 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20432 with "kernel.img".
20433
f52196ff 204342009-06-21 Pavel Roskin <proski@gnu.org>
20435
c3cee413 20436 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20437 to match nested functions.
20438 * loader/sparc64/ieee1275/linux.c: Likewise.
20439
f52196ff 20440 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20441
58750afc 204422009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20443
20444 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20445 all i386 platforms.
20446
15355c7d 204472009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20448
20449 Fix asm file handling on ELF, and remove workarounds.
20450
20451 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 20452 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 20453 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20454 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20455
3f3ec72b 204562009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20457
20458 Load BSD ELF modules
20459
20460 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20461 and loader/i386/bsd64.c
20462 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20463 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20464 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20465 (grub_freebsd_load_elfmodule32): New declaration
20466 (grub_freebsd_load_elfmoduleobj64): Likewise
20467 (grub_freebsd_load_elf_meta32): Likewise
20468 (grub_freebsd_load_elf_meta64): Likewise
20469 (grub_freebsd_add_meta): Likewise
20470 (grub_freebsd_add_meta_module): Likewise
20471 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20472 (grub_freebsd_add_meta_module): Likewise and move module-specific
20473 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20474 (grub_cmd_freebsd): Add elf-kernel specific parts
20475 based on grub_freebsd_add_meta_module
20476 (grub_cmd_freebsd_module): Add type parsing moved from
20477 grub_freebsd_add_meta_module
20478 (grub_cmd_freebsd_module_elf): New function
20479 (cmd_freebsd_module_elf): New variable
20480 (GRUB_MOD_INIT): Register freebsd_module_elf
20481 * loader/i386/bsd32.c: New file
20482 * loader/i386/bsd64.c: Likewise
20483 * loader/i386/bsdXX.c: Likewise
20484 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20485 (grub_elf64_load): Likewise
20486 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20487 All users updated
20488 (grub_elf64_load_hook_t): Likewise
20489
0db15301 204902009-06-21 Colin Watson <cjwatson@ubuntu.com>
20491
20492 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
20493 variable.
20494 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
20495 don't write a menu entry for recovery mode.
20496
546796c1 204972009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20498
20499 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
20500 after it's no longer needed.
20501
cd7310d5 205022009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20503
20504 * include/grub/i386/loader.h (grub_linux_prot_size)
20505 (grub_linux_tmp_addr, grub_linux_real_addr)
20506 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
20507 GRUB_MACHINE_PCBIOS.
20508 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
20509 common grub_util_info() call to ...
20510 (generate_image): ... here.
20511 Fix use of uninitialized memory, comparison of signed with
20512 unsigned integers and memory leak.
20513 Remove bogus module address message.
20514
ab32d3b5 205152009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20516
20517 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
20518 grub_raid_register
20519 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
20520
024ef597 205212009-06-19 Pavel Roskin <proski@gnu.org>
20522
20523 * configure.ac: Remove stray AC_MSG_CHECKING.
20524
3ac72b51 205252009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 20528
e14cd814 205292009-06-18 Pavel Roskin <proski@gnu.org>
20530
20531 * conf/common.rmk: Add fs_file.mod.
20532 * disk/fs_file.c: New file.
20533 * include/grub/disk.h (enum grub_disk_dev_id): Add
20534 GRUB_DISK_DEVICE_FILE_ID.
20535
26586d98 205362009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 Fix build with Apple's toolchain. Part 2
20539
20540 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
20541 a fake start
20542
26de2bcd 205432009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20544
20545 Fix build with Apple's toolchain. Part 1
20546
20547 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
20548 for long calls
20549 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 20550 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 20551 Apple's toolchain
20552
09b3490b 205532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 Fix warnings
20556
20557 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
20558 (decomp_block): initialize ch
20559 use grub_memcpy instead of memcpy
20560
c22a006a 205612009-06-17 Pavel Roskin <proski@gnu.org>
20562
d3638678 20563 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
20564 version, use declarations needed to use vga_text as the startup
20565 console.
20566
c22a006a 20567 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
20568 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
20569 the kernel.
20570 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
20571 and grub_at_keyboard_fini(), it's done on module load and
20572 unload.
20573
05b129e0 205742009-06-17 Felix Zielcke <fzielcke@z-51.de>
20575
20576 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
20577 file can't be found.
20578 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20579
cf24ed9e 205802009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 Fix newline handling
20583
20584 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 20585 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 20586 (grub_script_yylex): don't segfault on unterminated script
20587 newline terminates command and variable
20588
74aa8e4b 205892009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20590
20591 avoid double grub_adjust_range call. Bug reported by David Simner
20592
20593 * kern/disk.c (grub_disk_write): change to raw disk access before
20594 calling disk_read
20595
1bd265f3 205962009-06-17 Colin Watson <cjwatson@ubuntu.com>
20597
20598 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
20599 spaces, for the benefit of help2man.
20600 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20601
a2d08c06 206022009-06-16 Pavel Roskin <proski@gnu.org>
20603
20604 * kern/i386/halt.c: Include grub/machine/init.h.
20605 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
20606
b97bcb19 206072009-06-16 Felix Zielcke <fzielcke@z-51.de>
20608
20609 * util/grub.d/30_os-prober.in: Use ${root} in the generated
20610 drivemap menuentry.
20611
0644f96c 206122009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
20613
20614 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
20615 `echo' command.
20616
3ef17a2e 206172009-06-16 Pavel Roskin <proski@gnu.org>
20618
20619 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
20620 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
20621 save %dx, we only need %dl and we never change it.
20622 * boot/i386/pc/cdboot.S: Don't set the root drive.
20623 * boot/i386/pc/pxeboot.S: Likewise.
20624 * include/grub/i386/pc/boot.h: Remove
20625 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
20626 GRUB_BOOT_MACHINE_DRIVE_CHECK.
20627 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
20628 * kern/i386/pc/init.c (make_install_device): Remove references
20629 to grub_root_drive.
20630 * kern/i386/pc/startup.S: Likewise.
20631 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
20632
693fe637 206332009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20634
20635 xnu_uuid command
20636
20637 * commands/xnu_uuid.c: new file
20638 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
20639 (xnu_uuid_mod_SOURCES): new variable
20640 (xnu_uuid_mod_CFLAGS): likewise
20641 (xnu_uuid_mod_LDFLAGS): likewise
20642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20643 * conf/i386-ieee1275.rmk: likewise
20644 * conf/i386-pc.rmk: likewise
20645 * conf/powerpc-ieee1275.rmk: likewise
20646 * conf/sparc64-ieee1275.rmk: likewise
20647 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
20648
c9da87d0 206492009-06-16 Pavel Roskin <proski@gnu.org>
20650
20651 * configure.ac: Avoid '==' in test command, it's not portable.
20652
9c6f4596 206532009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 Probe command
20656
20657 * commands/probe.c: new file
20658 * conf/common.rmk (pkglib_MODULES): add probe.mod
20659 (probe_mod_SOURCES): new variable
20660 (probe_mod_CFLAGS): likewise
20661 (probe_mod_LDFLAGS): likewise
20662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
20663 * conf/i386-ieee1275.rmk: likewise
20664 * conf/i386-pc.rmk: likewise
20665 * conf/powerpc-ieee1275.rmk: likewise
20666 * conf/sparc64-ieee1275.rmk: likewise
20667
70b7f9fd 206682009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
20669
20670 Fix handling of string like \"hello\" and "a
20671 b"
20672
20673 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
20674 (grub_script_yylex): fix parsing of quoting, escaping and newline
20675
71c79a6b 206762009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
20677
dd74360c 20678 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 20679 handling
dd74360c 20680
0644f96c 206812009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 20682
20683 * util/grub-mkconfig.in: Fix parsing of --output option.
20684
e40893c3 206852009-06-12 Pavel Roskin <proski@gnu.org>
20686
20687 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
20688 genmk.rb don't need to be generated or installed.
20689
3a1acfe2 206902009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
20691
20692 * commands/i386/pc/drivemap_int13h.S: add more comments
20693
3a4575d4 206942009-06-11 Pavel Roskin <proski@gnu.org>
20695
0658e928 20696 * Makefile.in (uninstall): Uninstall manuals.
20697
ca0388f0 20698 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
20699 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
20700 and update-grub_lib in two places.
20701 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
20702
e3b27c39 20703 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
20704 a compiler warning.
20705
3a4575d4 20706 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
20707 `entry_lo' to fix variable shadowing.
20708
af1f4f55 207092009-06-11 Christian Franke <franke@computer.org>
20710
20711 * kern/misc.c (__enable_execute_stack): Add missing return type
20712 to prevent gcc warning.
20713
5225e649 207142009-06-11 Felix Zielcke <fzielcke@z-51.de>
20715
20716 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
20717
7d83bd47 207182009-06-11 Pavel Roskin <proski@gnu.org>
20719
c1cb63ba 20720 * Makefile.in: Don't rely on any scripts being executable.
20721 Always use $(SHELL) to run shell scripts.
20722
7d83bd47 20723 * configure.ac: Always define ___main if using -nostdlib. This
20724 fixes tests on Cygwin.
20725
948f48e7 207262009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
20727
20728 UDF fix
20729
7d83bd47 20730 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 20731 is in bytes and not in blocks
7d83bd47 20732
8ada9bc1 207332009-06-11 Pavel Roskin <proski@gnu.org>
20734
20735 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20736 warning.
20737
25ad2323 207382009-06-11 Felix Zielcke <fzielcke@z-51.de>
20739
20740 * util/grub.d/30_os-prober.in: Fix a comment. Source
20741 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20742 to set the root device. Place drivemap command in the generated
20743 chain entry.
20744
e65acb0c 207452009-06-11 Pavel Roskin <proski@gnu.org>
20746
20747 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20748 have long been resolved.
20749
f285fe2d 207502009-06-11 Colin Watson <cjwatson@ubuntu.com>
20751
bd47b0b5 20752 * util/grub.d/10_linux.in: Capitalise "Linux".
20753
f285fe2d 20754 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20755
a0c62e4e 207562009-06-11 Pavel Roskin <proski@gnu.org>
20757
b6783cb2 20758 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20759 fix a gcc warning and ensure that the function won't ever exit.
20760
dde032e8 20761 * kern/i386/ieee1275/init.c: Add missing prototype for
20762 grub_stop_floppy().
20763
22cd079d 20764 * loader/ieee1275/multiboot2.c [__i386__]: Include
20765 grub/cpu/multiboot.h.
20766
a0c62e4e 20767 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20768 casts to short - they are not portable and cause warnings. Fix
20769 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20770
63963d17 207712009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20772
20773 Drivemap fixes
20774
20775 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20776 new function
20777 (grub_get_root_biosnumber_saved): new variable
20778 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20779 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 20780 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 20781 %dx after the call if necessary
20782 * conf/common.rmk (pkglib_MODULES): remove boot.mod
20783 (boot_mod_SOURCES): remove
20784 (boot_mod_CFLAGS): remove
20785 (boot_mod_LDFLAGS): remove
20786 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
20787 (boot_mod_SOURCES): new variable
20788 (boot_mod_CFLAGS): likewise
20789 (boot_mod_LDFLAGS): likewise
20790 * conf/i386-efi.rmk: likewise
20791 * conf/i386-ieee1275.rmk: likewise
20792 * conf/i386-pc.rmk: likewise
20793 * conf/powerpc-ieee1275.rmk: likewise
20794 * conf/sparc64-ieee1275.rmk: likewise
20795 * conf/x86_64-efi.rmk: likewise
20796 * include/grub/i386/pc/biosnum.h: new file
20797 * lib/i386/pc/biosnum.c: likewise
20798 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
20799 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
20800 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 20801
33abf7ae 208022009-06-10 Pavel Roskin <proski@gnu.org>
20803
5ac35b35 20804 * io/gzio.c (test_header): Don't reuse one buffer for all data.
20805 Use separate variables. Read only the file size at the end, but
20806 not the checksum that we don't use.
20807
5c5215d5 20808 * kern/file.c (grub_file_read): Use void pointer for the buffer.
20809 Adjust all callers.
20810
27d5fef7 20811 * kern/ieee1275/openfw.c: Remove libc includes.
20812 * kern/ieee1275/cmain.c: Likewise.
20813 * include/grub/ieee1275/ieee1275.h: Likewise.
20814
33abf7ae 20815 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
20816 compiler warnings.
20817
19d50c2b 208182009-06-10 Felix Zielcke <fzielcke@z-51.de>
20819
20820 * Makefile.in: Remove all trailing whitespace.
20821 * conf/i386-pc.rmk: Likewise.
20822 * conf/powerpc-ieee1275.rmk: Likewise.
20823 * conf/sparc64-ieee1275.rmk: Likewise.
20824 * docs/grub.texi: Likewise.
20825 * docs/texinfo.tex: Likewise.
20826 * disk/fs_uuid.c: Likewise.
20827 * disk/lvm.c: Likewise.
20828 * disk/scsi.c: Likewise.
20829 * disk/ata.c: Likewise.
20830 * disk/ieee1275/ofdisk.c: Likewise.
20831 * disk/i386/pc/biosdisk.c: Likewise.
20832 * disk/host.c: Likewise.
20833 * disk/raid.c: Likewise.
20834 * disk/efi/efidisk.c: Likewise.
20835 * disk/usbms.c: Likewise.
20836 * disk/memdisk.c: Likewise.
20837 * disk/loopback.c: Likewise.
20838 * kern/powerpc/dl.c: Likewise.
20839 * kern/device.c: Likewise.
20840 * kern/dl.c: Likewise.
20841 * kern/sparc64/dl.c: Likewise.
20842 * kern/ieee1275/ieee1275.c: Likewise.
20843 * kern/term.c: Likewise.
20844 * kern/fs.c: Likewise.
20845 * kern/i386/dl.c: Likewise.
20846 * kern/i386/pc/startup.S: Likewise.
20847 * kern/i386/pc/init.c: Likewise.
20848 * kern/i386/pc/mmap.c: Likewise.
20849 * kern/i386/pc/lzo1x.S: Likewise.
20850 * kern/i386/ieee1275/init.c: Likewise.
20851 * kern/i386/realmode.S: Likewise.
20852 * kern/i386/tsc.c: Likewise.
20853 * kern/partition.c: Likewise.
20854 * kern/corecmd.c: Likewise.
20855 * kern/file.c: Likewise.
20856 * kern/efi/efi.c: Likewise.
20857 * kern/efi/init.c: Likewise.
20858 * kern/efi/mm.c: Likewise.
20859 * kern/main.c: Likewise.
20860 * kern/err.c: Likewise.
20861 * kern/env.c: Likewise.
20862 * kern/disk.c: Likewise.
20863 * kern/generic/millisleep.c: Likewise.
20864 * kern/generic/rtc_get_time_ms.c: Likewise.
20865 * kern/misc.c: Likewise.
20866 * kern/parser.c: Likewise.
20867 * genmk.rb: Likewise.
20868 * configure.ac: Likewise.
20869 * boot/i386/pc/diskboot.S: Likewise.
20870 * boot/i386/pc/pxeboot.S: Likewise.
20871 * boot/i386/pc/boot.S: Likewise.
20872 * boot/i386/pc/lnxboot.S: Likewise.
20873 * boot/i386/pc/cdboot.S: Likewise.
20874 * parttool/pcpart.c: Likewise.
20875 * video/readers/tga.c: Likewise.
20876 * video/video.c: Likewise.
20877 * video/bitmap.c: Likewise.
20878 * lib/envblk.c: Likewise.
20879 * lib/i386/setjmp.S: Likewise.
20880 * fs/xfs.c: Likewise.
20881 * fs/afs.c: Likewise.
20882 * fs/fat.c: Likewise.
20883 * fs/ntfs.c: Likewise.
20884 * fs/udf.c: Likewise.
20885 * fs/affs.c: Likewise.
20886 * fs/iso9660.c: Likewise.
20887 * fs/hfs.c: Likewise.
20888 * fs/fshelp.c: Likewise.
20889 * fs/ext2.c: Likewise.
20890 * fs/jfs.c: Likewise.
20891 * fs/reiserfs.c: Likewise.
20892 * fs/hfsplus.c: Likewise.
20893 * fs/minix.c: Likewise.
20894 * fs/cpio.c: Likewise.
20895 * fs/sfs.c: Likewise.
20896 * fs/ufs.c: Likewise.
20897 * efiemu/prepare.c: Likewise.
20898 * efiemu/loadcore_common.c: Likewise.
20899 * efiemu/runtime/efiemu.sh: Likewise.
20900 * efiemu/runtime/efiemu.S: Likewise.
20901 * efiemu/runtime/efiemu.c: Likewise.
20902 * efiemu/pnvram.c: Likewise.
20903 * efiemu/main.c: Likewise.
20904 * efiemu/i386/pc/cfgtables.c: Likewise.
20905 * efiemu/i386/loadcore64.c: Likewise.
20906 * efiemu/i386/loadcore32.c: Likewise.
20907 * efiemu/loadcore.c: Likewise.
20908 * efiemu/symbols.c: Likewise.
20909 * efiemu/mm.c: Likewise.
20910 * include/grub/autoefi.h: Likewise.
20911 * include/grub/datetime.h: Likewise.
20912 * include/grub/term.h: Likewise.
20913 * include/grub/hfs.h: Likewise.
20914 * include/grub/lvm.h: Likewise.
20915 * include/grub/i386/tsc.h: Likewise.
20916 * include/grub/i386/linux.h: Likewise.
20917 * include/grub/i386/xnu.h: Likewise.
20918 * include/grub/i386/efiemu.h: Likewise.
20919 * include/grub/i386/pc/biosdisk.h: Likewise.
20920 * include/grub/i386/pc/memory.h: Likewise.
20921 * include/grub/i386/pc/vbe.h: Likewise.
20922 * include/grub/parttool.h: Likewise.
20923 * include/grub/video.h: Likewise.
20924 * include/grub/memory.h: Likewise.
20925 * include/grub/fs.h: Likewise.
20926 * include/grub/partition.h: Likewise.
20927 * include/grub/xnu.h: Likewise.
20928 * include/grub/efi/api.h: Likewise.
20929 * include/grub/efi/pe32.h: Likewise.
20930 * include/grub/efi/memory.h: Likewise.
20931 * include/grub/multiboot.h: Likewise.
20932 * include/grub/usbdesc.h: Likewise.
20933 * include/grub/multiboot2.h: Likewise.
20934 * include/grub/acpi.h: Likewise.
20935 * include/grub/efiemu/efiemu.h: Likewise.
20936 * include/grub/disk.h: Likewise.
20937 * include/grub/ieee1275/ieee1275.h: Likewise.
20938 * include/grub/net.h: Likewise.
20939 * include/grub/machoload.h: Likewise.
20940 * include/grub/macho.h: Likewise.
20941 * include/multiboot.h: Likewise.
20942 * genmoddep.awk: Likewise.
20943 * normal/main.c: Likewise.
20944 * normal/menu_entry.c: Likewise.
20945 * normal/menu_viewer.c: Likewise.
20946 * normal/completion.c: Likewise.
20947 * normal/cmdline.c: Likewise.
20948 * normal/misc.c: Likewise.
20949 * normal/datetime.c: Likewise.
20950 * bus/usb/usbtrans.c: Likewise.
20951 * bus/usb/ohci.c: Likewise.
20952 * bus/usb/uhci.c: Likewise.
20953 * bus/usb/usb.c: Likewise.
20954 * mmap/efi/mmap.c: Likewise.
20955 * mmap/i386/pc/mmap_helper.S: Likewise.
20956 * mmap/i386/pc/mmap.c: Likewise.
20957 * mmap/i386/mmap.c: Likewise.
20958 * mmap/i386/uppermem.c: Likewise.
20959 * mmap/mmap.c: Likewise.
20960 * commands/acpi.c: Likewise.
20961 * commands/echo.c: Likewise.
20962 * commands/blocklist.c: Likewise.
20963 * commands/loadenv.c: Likewise.
20964 * commands/usbtest.c: Likewise.
20965 * commands/boot.c: Likewise.
20966 * commands/parttool.c: Likewise.
20967 * commands/search.c: Likewise.
20968 * commands/cat.c: Likewise.
20969 * commands/i386/pc/play.c: Likewise.
20970 * commands/i386/pc/drivemap.c: Likewise.
20971 * commands/i386/pc/vbeinfo.c: Likewise.
20972 * commands/i386/pc/acpi.c: Likewise.
20973 * commands/i386/pc/vbetest.c: Likewise.
20974 * commands/ls.c: Likewise.
20975 * commands/cmp.c: Likewise.
20976 * commands/test.c: Likewise.
20977 * commands/efi/acpi.c: Likewise.
20978 * commands/gptsync.c: Likewise.
20979 * commands/help.c: Likewise.
20980 * partmap/amiga.c: Likewise.
20981 * partmap/apple.c: Likewise.
20982 * partmap/acorn.c: Likewise.
20983 * partmap/pc.c: Likewise.
20984 * partmap/sun.c: Likewise.
20985 * partmap/gpt.c: Likewise.
20986 * script/sh/lexer.c: Likewise.
20987 * script/sh/function.c: Likewise.
20988 * font/font.c: Likewise.
20989 * font/font_cmd.c: Likewise.
20990 * loader/powerpc/ieee1275/linux.c: Likewise.
20991 * loader/efi/chainloader.c: Likewise.
20992 * loader/multiboot_loader.c: Likewise.
20993 * loader/macho.c: Likewise.
20994 * loader/i386/multiboot.c: Likewise.
20995 * loader/i386/linux.c: Likewise.
20996 * loader/i386/pc/linux.c: Likewise.
20997 * loader/i386/pc/multiboot2.c: Likewise.
20998 * loader/i386/pc/chainloader.c: Likewise.
20999 * loader/i386/pc/xnu.c: Likewise.
21000 * loader/i386/bsd_trampoline.S: Likewise.
21001 * loader/i386/efi/linux.c: Likewise.
21002 * loader/i386/multiboot_elfxx.c: Likewise.
21003 * loader/i386/bsd_helper.S: Likewise.
21004 * loader/i386/bsd.c: Likewise.
21005 * loader/i386/linux_trampoline.S: Likewise.
21006 * loader/i386/xnu_helper.S: Likewise.
21007 * loader/i386/xnu.c: Likewise.
21008 * loader/i386/bsd_pagetable.c: Likewise.
21009 * loader/i386/multiboot_helper.S: Likewise.
21010 * loader/xnu.c: Likewise.
21011 * loader/xnu_resume.c: Likewise.
21012 * io/gzio.c: Likewise.
21013 * term/efi/console.c: Likewise.
21014 * term/terminfo.c: Likewise.
21015 * term/ieee1275/ofconsole.c: Likewise.
21016 * term/i386/pc/serial.c: Likewise.
21017 * term/i386/pc/vesafb.c: Likewise.
21018 * term/i386/pc/vga.c: Likewise.
21019 * term/usb_keyboard.c: Likewise.
21020 * term/gfxterm.c: Likewise.
21021 * aclocal.m4: Likewise.
21022 * util/lvm.c: Likewise.
21023 * util/grub.d/30_os-prober.in: Likewise.
21024 * util/grub.d/10_hurd.in: Likewise.
21025 * util/console.c: Likewise.
21026 * util/grub-macho2img.c: Likewise.
21027 * util/grub-probe.c: Likewise.
21028 * util/hostfs.c: Likewise.
21029 * util/i386/pc/grub-mkimage.c: Likewise.
21030 * util/i386/pc/grub-setup.c: Likewise.
21031 * util/i386/efi/grub-mkimage.c: Likewise.
21032 * util/grub-mkconfig.in: Likewise.
21033 * util/raid.c: Likewise.
21034 * util/resolve.c: Likewise.
21035 * util/grub-mkdevicemap.c: Likewise.
21036 * util/grub-emu.c: Likewise.
21037 * util/getroot.c: Likewise.
21038 * util/hostdisk.c: Likewise.
21039 * util/usb.c: Likewise.
21040 * util/grub-editenv.c: Likewise.
21041 * util/misc.c: Likewise.
21042
d2d49665 210432009-06-10 Felix Zielcke <fzielcke@z-51.de>
21044
21045 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21046 `genparttoollist.sh'.
21047 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21048 Add `*.sh' to the list find searches for and change `mdate.sh'
21049 to `mdate-sh'.
21050
fe052e37 210512009-06-10 Pavel Roskin <proski@gnu.org>
21052
2763ac18 21053 * include/grub/multiboot2.h: Provide compatibility defines for
21054 multiboot2.h.
21055 * include/multiboot2.h: Include stdint.h only if needed, using
21056 angle brackets.
21057 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21058 grub/multiboot2.h.
21059 * loader/ieee1275/multiboot2.c: Likewise.
21060 * loader/multiboot2.c: Likewise.
21061 * loader/multiboot_loader.c: Likewise.
21062
437e6adc 21063 * configure.ac: Use -nostdlib when probing for the target. It
21064 should not be required to have libc for the target.
21065
06a6836c 21066 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21067 they fail without libc headers for the target.
21068 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21069 exports.
21070 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21071 preprocessor conditionals.
21072
fe052e37 21073 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21074 build system doesn't need to be aware of the tar.c internals.
21075
afd22553 210762009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21077
afd22553 21078 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21079
6b787c4f 210802009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21081
21082 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21083 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21084
210852009-06-09 Felix Zielcke <fzielcke@z-51.de>
21086
21087 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21088 aren't available if ata.mod gets used.
6b787c4f 21089
473d1e45 210902009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21091
473d1e45 21092 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21093 initialising controller.
473d1e45 21094 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21095
255a27d4 210962009-06-08 Felix Zielcke <fzielcke@z-51.de>
21097
21098 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21099 to choose between ata and biosdisk module on i386-pc.
21100
473d1e45 211012009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21102
d55842d8 21103 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21104 Subclass and Programming Interface fields in terms of the 3 byte
21105 Class Code register.
21106 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21107
fa5db0b1 21108 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21109 interface is OHCI. Add grub_dprintf for symmetry with
21110 bus/usb/uhci.c.
21111 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21112 interface is UHCI. Add interf variable for programming
21113 interface. Print interface with class/subclass.
21114
c0947beb 21115 * bus/usb/ohci.c: Set interf with correct field.
21116
69da8877 21117 * bus/usb/uhci.c: Remove unneeded doubled lines.
21118 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21119 Remove whitespace inside comment.
21120
9e172e30 211212009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21122
21123 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21124 as fallback an equivalent option without depth.
21125
de65ee2b 211262009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 Not fail if unable to retrieve C/H/S on LBA disks
21129
473d1e45 21130 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21131 if unable to retrieve C/H/S on LBA disks
21132
b57ea2c9 211332009-06-08 Pavel Roskin <proski@gnu.org>
21134
21135 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21136 about aliasing.
21137
af361263 211382009-06-08 Felix Zielcke <fzielcke@z-51.de>
21139
21140 * Makefile.in (uninstall): Remove all $lib_DATA files.
21141
4c9ec6b3 211422009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21143
21144 Bugfix: install on partitionless device
21145
21146 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21147 is a whole disk
21148
e76fc924 211492009-06-08 Felix Zielcke <fzielcke@z-51.de>
21150
21151 * Makefile.in (uninstall): Remove all $include_DATA files.
21152
ba5a0d05 211532009-06-08 Felix Zielcke <fzielcke@z-51.de>
21154
21155 * commands/true.c: New file. Implement the true and false commands.
21156 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21157 (true_mod_SOURCES): New variable.
21158 (true_mod_CFLAGS): Likewise.
21159 (true_mod_LDFLAGS): Likewise.
21160
c8048e32 211612009-06-05 Colin D Bennett <colin@gibibit.com>
21162
21163 Optimized font character lookup using binary search instead of linear
21164 search. Fonts now are required to have the character index ordered by
21165 code point.
21166
21167 * font/font.c (load_font_index): Verify that fonts have ordered
21168 character indices.
21169 (find_glyph): Use binary search instead of linear search to find a
21170 character in a font.
21171
408305be 211722009-06-05 Michael Scherer <misc@mandriva.org>
21173
21174 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21175 uses case sensitive btree.
21176 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21177 only for case insensitive filesystems.
21178
8ee1e0d9 211792009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21180
21181 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21182 * conf/common.rmk (search_mod_CFLAGS): likewise
21183
a9966eb1 211842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21185
473d1e45 21186 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21187 compensate a compiler bug
21188
9e7100fb 211892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21190
473d1e45 21191 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21192 instead of '\b'
473d1e45 21193
ede21d71 211942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21195
21196 Definitions for creating asm symbols with Apple's CC
21197
21198 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21199 [APPLE_CC] (VARIABLE): likewise
21200
9dbf7653 212012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 Disable lnxboot.img when compiled
21204 with Apple's CC
21205
21206 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21207 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21208 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21209 [! APPLE_CC] (CODE_LENG): skip
21210 [! APPLE_CC] (setup_sects): likewise
21211 [! APPLE_CC]: skip filling
473d1e45 21212
e93cdc3d 212132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21214
21215 Address in trampolines based on 32-bit registers when compiled
21216 with Apple's CC
21217
473d1e45 21218 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21219 for addresses
21220 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21221
6c688477 212222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21225
21226 * kern/misc.c [APPLE_CC] (memcpy): new function
21227 [APPLE_CC] (memmove): likewise
21228 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21229 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21230 (memset): likewise
21231 (abort): likewise
21232 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21233 APPLE_CC are defined
21234 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21235 (grub_assert_fail): make prototype conditional
21236
e37ffc5c 212372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21238
21239 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21240
473d1e45 21241 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21242 grub-macho2img
e37ffc5c 21243 (CLEANFILES): add grub-macho2img
21244 (grub_macho2img_SOURCES): new variable
21245 * kern/i386/pc/startup.S (bss_start): new variable
21246 (bss_end): likewise
21247 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21248 * util/grub-macho2img.c: new file
21249
cf00df31 212502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21251
21252 Use objconv when compiling with Apple's CC
21253
21254 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21255 (efiemu64.o): likewise
21256 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21257 when compiling with Apple's CC
21258 (efiemu64_s.o): likewise
21259 * configure.ac: check for objconv when compiling with Apple's CC
21260 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21261
d119a20c 212622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21263
21264 Define segment as well as section when compiling with
21265 Apple's CC
21266
21267 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21268 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21269 (efiemu_convert_pointer): likewise
21270 (efiemu_set_virtual_address_map): likewise
21271 (efiemu_convert_pointer): likewise
21272 (efiemu_getcrc32): likewise
21273 (init_crc32_table): likewise
21274 (reflect): likewise
21275 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21276 (GRUB_MOD_DEP): likewise
473d1e45 21277
c8600122 212782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21279
21280 Allow a compilation without -mcmodel=large
21281
21282 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21283 when compiled without -mcmodel=large
473d1e45 21284 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21285 without -mcmodel=large
473d1e45 21286 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21287 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21288
e8df1d4e 212892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21290
21291 Remove nested functions in efiemu core
21292
21293 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21294
cc6c3ac1 212952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21298
21299 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21300 temporary storage
473d1e45 21301 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21302 using Apple's CC
cc6c3ac1 21303 (grub_cpu_is_tsc_supported): likewise
21304 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21305
3e325901 213062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21307
21308 Absolute addressing through constant with Apple's cc
21309
21310 * kern/i386/pc/startup.S: Define necessary constants
21311 and address through it when using ABS with Apple's CC
21312 * boot/i386/pc/diskboot.S: likewise
21313 * boot/i386/pc/boot.S: likewise
21314 * boot/i386/pc/lnxboot.S: likewise
21315 * boot/i386/pc/cdboot.S: likewise
21316 * mmap/i386/pc/mmap_helper.S: likewise
21317 * commands/i386/pc/drivemap_int13h.S: likewise
21318
2b167a72 213192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21320
21321 Check if compiler is apple cc
21322
21323 * Makefile.in (ASFLAGS): new variable
21324 (TARGET_ASFLAGS): likewise
21325 (TARGET_MODULE_FORMAT): likewise
21326 (TARGET_APPLE_CC): likewise
21327 (OBJCONV): likewise
21328 (TARGET_IMG_CFLAGS): likewise
21329 (TARGET_CPPFLAGS): add includedir
21330 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21331 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21332 Check for linker script only if compiler isn't Apple's CC
21333 (TARGET_MODULE_FORMAT): set
21334 (TARGET_APPLE_CC): likewise
21335 (TARGET_ASFLAGS): likewise
21336 (ASFLAGS): likewise
21337 Check for objcopy only if compiler isn't Apple's CC
21338 Check for BSS symbol only if compiler isn't Apple's CC
21339 * genmk.rb: adapt nm options if we use Apple's utils
21340 * aclocal.m4 (grub_apple_cc): new test
21341 (grub_apple_target_cc): likewise
473d1e45 21342
fb14123e 213432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21344
21345 Simplify sed expressions and improve awk
21346
21347 * Makefile.in (install-local): simplify sed expression
21348 * gencmdlist.sh: likewise
21349 * genmoddep.awk: avoid adding module as a dependency of itself
21350
5b889789 213512009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21352
21353 Add missing start symbols
21354
21355 * boot/i386/pc/boot.S: add start
fb14123e 21356 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21357
fd2bf2e3 213582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21359
21360 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21361
21362 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21363 (relocate_addresses): consider both r_addend and value at offset
21364 (make_mods_section): zerofill modinfo and header
21365 (convert_elf): write prefix here
473d1e45 21366
5389763d 213672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 Use .asciz instead of .string
21370
21371 * i386/pc/diskboot.S: use .asciz instead of .string
21372 * i386/pc/boot.S: likewise
21373 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21374 (GRUB_MOD_NAME): likewise
473d1e45 21375
3eb5ed4e 213762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21377
21378 gfxpayload support
21379
21380 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21381 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21382 (grub_video_setup): remove
21383 (grub_video_set_mode): new prototype
21384 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21385 (vid_mode): remove
21386 (linux_vesafb_res): compile only on PCBIOS
21387 (grub_linux_boot): support gfxpayload
21388 * loader/i386/pc/xnu.c (video_hook): new function
21389 (grub_xnu_set_video): support gfxpayload
21390 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21391 (DEFAULT_VIDEO_HEIGHT): likewise
21392 (DEFAULT_VIDEO_FLAGS): likewise
21393 (DEFAULT_VIDEO_MODE): new definition
21394 (video_hook): new function
21395 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 21396 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 21397 loading xnu
21398 * video/video.c (grub_video_setup): removed
473d1e45 21399 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 21400 grub_video_setup
21401
4b0e1143 214022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21403
21404 Avoid calling biosdisk in drivemap
21405
21406 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21407 (revparse_biosdisk): likewise
21408 (list_mappings): derive name from id directly
21409 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 21410
fda6cb98 214112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21412
21413 Script fixes
21414
21415 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21416 (grub_lexer_param): add tokenonhold
21417 (grub_script_create_cmdline): remove cmdline. All callers updated
21418 (grub_script_function_create): make functionname
21419 grub_script_arg. All callers updated
21420 (grub_script_execute_argument_to_string): new prototype
21421 * kern/parser.c (state_transitions): reorder
21422 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 21423 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 21424 make global
21425 (grub_script_execute_cmdline): use new format
21426 * script/sh/function.c (grub_script_function_create): make functionname
21427 grub_script_arg. All callers updated
473d1e45 21428 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 21429 (grub_script_yylex): remove
21430 (grub_script_yylex2): renamed to ...
21431 (grub_script_yylex): ...renamed
21432 parse the expressions like a${b}c
21433 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21434 (GRUB_PARSER_TOKEN_VAR): remove
21435 (GRUB_PARSER_TOKEN_NAME): likewise
21436 ("if"): declare as typeless
21437 ("while"): likewise
21438 ("function"): likewise
21439 ("else"): likewise
21440 ("then"): likewise
21441 ("fi"): likewise
21442 (text): remove
21443 (argument): likewise
21444 (script): accept empty scripts and make exit on error
21445 (arguments): use GRUB_PARSER_TOKEN_ARG
21446 (function): likewise
21447 (command): move error handling to script
21448 (menuentry): move grub_script_lexer_ref before
473d1e45 21449 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 21450 argument. All callers updated
21451
f4448a07 214522009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21453
21454 Prevent GRUB from probing floppies during boot.
21455
21456 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21457 * commands/search.c (options): Add --no-floppy.
21458 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21460 --no-floppy when searching for UUIDs.
21461
2bf5885a 214622009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21463
21464 Simplify the code duplication in commands/search.c.
21465
21466 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21467 (search_fs): ... this. Update all users.
21468
f6fd460a 214692009-06-03 Felix Zielcke <fzielcke@z-51.de>
21470
21471 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21472
cbb3c83e 214732009-05-28 Pavel Roskin <proski@gnu.org>
21474
57788cfd 21475 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21476 Remove the original symlink explicitly.
21477
cbb3c83e 21478 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21479 just one slash. That's how grub_fshelp_find_file() does it.
21480
cd0d5e30 214812009-05-26 Pavel Roskin <proski@gnu.org>
21482
f0f8bbe2 21483 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21484 to `str'.
21485
cd0d5e30 21486 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21487 possibly unused.
21488
8c2cab51 214892009-05-25 Christian Franke <franke@computer.org>
21490
21491 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
21492 register.
21493 (grub_atapi_identify): Add wait after drive select.
21494 (grub_ata_identify): Do more strict status register check before
21495 calling grub_atapi_identify (). Suppress error message if status
21496 register is 0x00 after command failure. Add status register
21497 check after PIO read to avoid bogus identify due to stuck DRQ.
21498 Thanks to Pavel Roskin for testing.
21499 (grub_device_initialize): Remove unsafe status register check.
21500 Thanks to 'phcoder' for problem report and patch.
21501 Prevent sign extension in debug message.
21502
230c0ad6 215032009-05-23 Colin D Bennett <colin@gibibit.com>
21504
21505 Cleaned up `include/grub/normal.h'. Grouped prototypes by
21506 definition file, and functions defined in `normal/menu.c' have had
21507 their prototypes moved to `include/grub/menu.h' for consistency.
21508
21509 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
21510 from normal.h.
21511 (grub_menu_get_entry): Likewise.
21512 (grub_menu_get_timeout): Likewise.
21513 (grub_menu_set_timeout): Likewise.
21514 (grub_menu_execute_entry): Likewise.
21515 (grub_menu_execute_with_fallback): Likewise.
21516 (grub_menu_entry_run): Likewise.
21517
21518 * include/grub/normal.h: Re-ordered and grouped function
21519 prototypes by file that the function is defined in.
21520 (grub_menu_execute_callback): Removed; moved to menu.h.
21521 (grub_menu_get_entry): Likewise.
21522 (grub_menu_get_timeout): Likewise.
21523 (grub_menu_set_timeout): Likewise.
21524 (grub_menu_execute_entry): Likewise.
21525 (grub_menu_execute_with_fallback): Likewise.
21526 (grub_menu_entry_run): Likewise.
21527 (grub_menu_addentry): Renamed from this ...
21528 (grub_normal_add_menu_entry): ... to this.
21529
21530 * normal/main.c (grub_menu_addentry): Renamed from this ...
21531 (grub_normal_add_menu_entry): ... to this.
21532
21533 * script/sh/execute.c (grub_script_execute_menuentry): Update
21534 reference to renamed grub_menu_addentry function.
21535
861f03a5 215362009-05-23 Felix Zielcke <fzielcke@z-51.de>
21537
21538 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
21539
96b1619a 215402009-05-22 Pavel Roskin <proski@gnu.org>
21541
bf6a5fb2 21542 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
21543 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
21544 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
21545 compiling for the i386 targets, but not for the utilities.
21546
96b1619a 21547 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
21548 to grub_uint8_t.
21549 (grub_root_drive): Likewise.
21550 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
21551 remove alignment.
21552 (grub_root_drive): Change size to byte.
21553 (grub_start_addr): Remove.
21554 (grub_end_addr): Likewise.
21555 (grub_apm_bios_info): Likewise.
21556
b729776b 215572009-05-21 Felix Zielcke <fzielcke@z-51.de>
21558
21559 * normal/i386: Remove.
21560 * normal/powerpc: Likewise.
21561 * normal/sparc64: Likewise.
21562 * normal/x86_64: Likewise.
21563
0a15ce80 215642009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 21567 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 21568 * loader/i386/xnu_helper.S: Likewise
d6da58e6 21569
33db9015 215702009-05-18 Colin D Bennett <colin@gibibit.com>
21571
d6da58e6 21572 Display error messages when parsing a Lua statement fails.
21573 Previously, executing a syntactically invalid statement like
21574 ")foo" or "bar;" would silently fail.
33db9015 21575
21576 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 21577 (grub_lua_parse_line): Improved reporting of Lua parser and
21578 execution errors.
33db9015 21579
46422c89 215802009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21581
21582 Remove -Werror which causes build to fail on some systems
21583
21584 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
21585 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
21586 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 21587
22f53a96 215882009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 trampoline for linux on 64-bit platform
21591
18f547ad 21592 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
21593 loader/i386/efi/linux_trampoline.S
21594 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 21595 declaration
d6da58e6 21596 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
21597 here
22f53a96 21598 * loader/i386/linux_trampoline.S: moved here
d6da58e6 21599 * loader/i386/efi/linux.c (allocate_pages): reserve space for
21600 trampoline
22f53a96 21601 (jumpvector): removed
21602 (grub_linux_trampoline_start): new declaration
21603 (grub_linux_trampoline_end): likewise
21604 (grub_linux_boot): use trampoline when on 64-bit platform
21605 * loader/i386/linux.c: likewise
21606
cb5a0f40 216072009-05-16 Pavel Roskin <proski@gnu.org>
21608
21609 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
21610 const to avoid a warning.
21611 (grub_lua_setenv): Likewise.
21612 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
21613 lmsg to fix a warning.
21614
334f2c28 216152009-05-16 Felix Zielcke <fzielcke@z-51.de>
21616
21617 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 21618 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21619 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
21620 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21621 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21622 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21623 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21624 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 21625
59e5d3ec 216262009-05-16 Felix Zielcke <fzielcke@z-51.de>
21627
21628 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
21629
9d87a1ba 216302009-05-16 Bean <bean123ch@gmail.com>
21631
21632 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
21633 (lua_mod_SOURCES): New variable.
21634 (lua_mod_CFLAGS): Likewise.
21635 (lua_mod_LDFLAGS): Likewise.
21636
21637 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
21638 (setjmp_mod_SOURCES): New variable.
21639 (setjmp_mod_CFLAGS): Likewise.
21640 (setjmp_LDFLAGS): Likewise.
21641
21642 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
21643 (setjmp_mod_SOURCES): New variable.
21644 (setjmp_mod_CFLAGS): Likewise.
21645 (setjmp_LDFLAGS): Likewise.
21646
21647 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21648 (setjmp_mod_SOURCES): New variable.
21649 (setjmp_mod_CFLAGS): Likewise.
21650 (setjmp_LDFLAGS): Likewise.
21651
21652 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
21653 (setjmp_mod_SOURCES): New variable.
21654 (setjmp_mod_CFLAGS): Likewise.
21655 (setjmp_LDFLAGS): Likewise.
21656
21657 * normal/i386/setjmp.S: Moved from here ...
21658 * lib/i386/setjmp.S: ... Moved here
21659 * normal/x86_64/setjmp.S: Moved from here ...
21660 * lib/x86_64/setjmp.S: ... Moved here
21661 * normal/powerpc/setjmp.S: Moved from here ...
21662 * lib/powerpc/setjmp.S: ... Moved here
21663 * normal/sparc64/setjmp.S: Moved from here ...
21664 * lib/sparc64/setjmp.S: ... Moved here
21665
21666 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
21667 returns_twice in mingw.
21668
21669 * script/lua/grub_lib.c: New file.
21670 * script/lua/grub_lib.h: Likewise.
21671 * script/lua/grub_lua.h: Likewise.
21672 * script/lua/grub_main.c: Likewise.
21673 * script/lua/lapi.c: Likewise.
21674 * script/lua/lapi.h: Likewise.
21675 * script/lua/lauxlib.c: Likewise.
21676 * script/lua/lauxlib.h: Likewise.
21677 * script/lua/lbaselib.c: Likewise.
21678 * script/lua/lcode.c: Likewise.
21679 * script/lua/lcode.h: Likewise.
21680 * script/lua/ldblib.c: Likewise.
21681 * script/lua/ldebug.c: Likewise.
21682 * script/lua/ldebug.h: Likewise.
21683 * script/lua/ldo.c: Likewise.
21684 * script/lua/ldo.h: Likewise.
21685 * script/lua/ldump.c: Likewise.
21686 * script/lua/lfunc.c: Likewise.
21687 * script/lua/lfunc.h: Likewise.
21688 * script/lua/lgc.c: Likewise.
21689 * script/lua/lgc.h: Likewise.
21690 * script/lua/linit.c: Likewise.
21691 * script/lua/liolib.c: Likewise.
21692 * script/lua/llex.c: Likewise.
21693 * script/lua/llex.h: Likewise.
21694 * script/lua/llimits.h: Likewise.
21695 * script/lua/lmathlib.c: Likewise.
21696 * script/lua/lmem.c: Likewise.
21697 * script/lua/lmem.h: Likewise.
21698 * script/lua/loadlib.c: Likewise.
21699 * script/lua/lobject.c: Likewise.
21700 * script/lua/lobject.h: Likewise.
21701 * script/lua/lopcodes.c: Likewise.
21702 * script/lua/lopcodes.h: Likewise.
21703 * script/lua/loslib.c: Likewise.
21704 * script/lua/lparser.c: Likewise.
21705 * script/lua/lparser.h: Likewise.
21706 * script/lua/lstate.c: Likewise.
21707 * script/lua/lstate.h: Likewise.
21708 * script/lua/lstring.c: Likewise.
21709 * script/lua/lstring.h: Likewise.
21710 * script/lua/lstrlib.c: Likewise.
21711 * script/lua/ltable.c: Likewise.
21712 * script/lua/ltable.h: Likewise.
21713 * script/lua/ltablib.c: Likewise.
21714 * script/lua/ltm.c: Likewise.
21715 * script/lua/ltm.h: Likewise.
21716 * script/lua/lua.h: Likewise.
21717 * script/lua/luaconf.h: Likewise.
21718 * script/lua/lualib.h: Likewise.
21719 * script/lua/lundump.c: Likewise.
21720 * script/lua/lundump.h: Likewise.
21721 * script/lua/lvm.c: Likewise.
21722 * script/lua/lvm.h: Likewise.
21723 * script/lua/lzio.c: Likewise.
21724 * script/lua/lzio.h: Likewise.
21725
5e898c9d 217262009-05-16 Bean <bean123ch@gmail.com>
21727
21728 * include/grub/kernel.h (grub_module_header_types): Add type
21729 OBJ_TYPE_CONFIG.
21730
21731 * kern/main.c (grub_load_config): New function.
21732 (grub_main): Call grub_load_config to read boot config.
21733
21734 * grub-mkimage (generate_image): New parameter config_path.
21735 (options): New option --config.
21736 (main): Parse --config option, and pass it to generate_image.
21737
cf353a47 217382009-05-14 Christian Franke <franke@computer.org>
21739
21740 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21741 This fixes build on Cygwin.
21742
3834887f 217432009-05-14 Pavel Roskin <proski@gnu.org>
21744
21745 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21746 jump. This saves two bytes, so the typical case of 2 swapped
21747 drives would fit 32 bytes.
21748
8090fc01 217492009-05-13 Pavel Roskin <proski@gnu.org>
21750
ac963883 21751 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21752 grub_uint32_t to avoid a warning.
21753
8090fc01 21754 * loader/i386/linux.c (allocate_pages): When assigning
21755 real_mode_mem, cast through grub_size_t to fix a warning. The
21756 code already makes sure that the value would fit a pointer.
21757 (grub_linux_setup_video): Cast render_target->data to
21758 grub_size_t to fix a warning.
21759
18f547ad 217602009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 21761
21762 * commands/i386/pc/drivemap.c: New file - implement drivemap
21763 command.
21764 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21765 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21766
6f6a8b28 217672009-05-13 Pavel Roskin <proski@gnu.org>
21768
21769 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21770 embedding_area_exists.
21771
15fbf4c4 217722009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21773
21774 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21775 it easier to understand / work with.
59978c8a 21776 Improve warning messages for cases where there's no embedding area,
21777 or when it is too small (or core.img too large).
15fbf4c4 21778
238e871f 217792009-05-13 Pavel Roskin <proski@gnu.org>
21780
0ab3a9a4 21781 * loader/i386/pc/multiboot2.c: Add necessary includes for
21782 grub_multiboot2_real_boot().
21783
a2c8c5f8 21784 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
21785 PX record is always little-endian. We only need the lower 2
21786 bytes of the mode.
21787
faec96af 21788 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
21789 facilitate code reuse.
21790 (grub_cpio_mount): Use "struct head", not a char buffer. This
21791 fixes a warning reported by gcc 4.4.
21792
238e871f 21793 * kernel/disk.c (grub_disk_read): Use void pointer for the
21794 buffer.
21795 (grub_disk_write): Use const void pointer for the buffer.
21796 Adjust all callers. Remove unnecessary casts.
21797
901d2f0c 217982009-05-10 Robert Millan <rmh.grub@aybabtu.com>
21799
21800 * util/i386/pc/grub-install.in: Update copyright year.
21801
18f547ad 218022009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 21803
21804 gptsync
21805
21806 * commands/gptsync.c: new file
21807 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
21808 (gptsync_mod_SOURCES): new variable
21809 (gptsync_mod_CFLAGS): likewise
21810 (gptsync_mod_LDFLAGS): likewise
18f547ad 21811 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 21812 new definition
21813 (GRUB_PC_PARTITION_TYPE_HFS): likewise
21814 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
21815 * conf/i386-ieee1275.rmk: likewise
21816 * conf/i386-pc.rmk: likewise
21817 * conf/powerpc-ieee1275.rmk: likewise
21818
b4ba690a 218192009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 Fixed grub-emu
21822
21823 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
21824 (grub_dl_ref): likewise
21825
317e1a44 218262009-05-08 Robert Millan <rmh.grub@aybabtu.com>
21827
21828 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
21829 split in two functions (one for msdos and one for gpt).
21830
041b8094 218312009-05-08 Pavel Roskin <proski@gnu.org>
21832
752473c2 21833 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
21834 not modified.
21835
041b8094 21836 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
21837 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
21838 Initialize them with -1. Add sanity check for bad1. Eliminate
21839 nerr variable.
21840
172800ce 218412009-05-08 David S. Miller <davem@davemloft.net>
21842
21843 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
21844
29aa5e81 218452009-05-06 Robert Millan <rmh.grub@aybabtu.com>
21846
21847 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 21848 existence.
29aa5e81 21849
96613b62 218502009-05-05 Felix Zielcke <fzielcke@z-51.de>
21851
21852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 21853 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 21854
eef73c8a 218552009-05-05 David S. Miller <davem@davemloft.net>
21856
21857 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
21858
119494b5 218592009-05-05 Pavel Roskin <proski@gnu.org>
21860
21861 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
21862 of grub_dl_ref() and grub_dl_unref().
21863 * commands/parttool.c: Remove preprocessor conditionals around
21864 grub_dl_ref() and grub_dl_unref().
21865 * fs/affs.c: Likewise.
21866 * fs/afs.c: Likewise.
21867 * fs/cpio.c: Likewise.
21868 * fs/ext2.c: Likewise.
21869 * fs/fat.c: Likewise.
21870 * fs/hfs.c: Likewise.
21871 * fs/hfsplus.c: Likewise.
21872 * fs/iso9660.c: Likewise.
21873 * fs/jfs.c: Likewise.
21874 * fs/minix.c: Likewise.
21875 * fs/ntfs.c: Likewise.
21876 * fs/reiserfs.c: Likewise.
21877 * fs/sfs.c: Likewise.
21878 * fs/udf.c: Likewise.
21879 * fs/ufs.c: Likewise.
21880 * fs/xfs.c: Likewise.
21881 * include/grub/dl.h: Likewise.
21882 * loader/xnu.c: Likewise.
21883
de5fd76e 218842009-05-04 Pavel Roskin <proski@gnu.org>
21885
21886 * commands/acpi.c: Remove unused variable my_mod.
21887 * partmap/amiga.c: Likewise.
21888 * partmap/apple.c: Likewise.
21889 * partmap/gpt.c: Likewise.
21890 * partmap/pc.c: Likewise.
21891 * partmap/sun.c: Likewise.
21892 * term/gfxterm.c: Likewise.
21893 * term/i386/pc/vesafb.c: Likewise.
21894 * term/i386/pc/vga.c: Likewise.
21895
983598ad 218962009-05-04 David S. Miller <davem@davemloft.net>
21897
21898 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
21899 pointer args to grub_ieee1275_get_property().
21900
8aadec43 21901 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
21902
9554b15e 21903 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
21904 devices, and do not traverse down under controller nodes.
21905
67e23c90 21906 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
21907 (grub_ofdisk_open): Use it to un-escape "," characters.
21908 * kern/disk.c (find_part_sep): New.
21909 (grub_disk_open): Use it to find the first non-escaped ','
21910 character in the disk name.
21911 * util/ieee1275/devicemap.c (escape_of_path): New.
21912 (grub_util_emit_devicemap_entry): Use it.
21913 * util/sparc64/ieee1275/grub-install.in: Update script to
21914 strip partition specifiers properly by not triggering on
21915 '\' escaped ',' characters.
21916
74bfdd2f 219172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21918
21919 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
21920 to 0x300.
21921 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
21922 resolutions.
21923 (linux_vesafb_modes): Add a lot of additional modes to the list (based
21924 on documentation from Wikipedia).
21925
4241d2b1 219262009-05-04 Pavel Roskin <proski@gnu.org>
21927
21928 * disk/ata.c: Spelling fixes.
21929 * disk/raid.c: Likewise.
21930 * disk/usbms.c: Likewise.
21931 * disk/dmraid_nvidia.c: Likewise.
21932 * kern/ieee1275/openfw.c: Likewise.
21933 * kern/ieee1275/init.c: Likewise.
21934 * kern/ieee1275/cmain.c: Likewise.
21935 * boot/i386/pc/cdboot.S: Likewise.
21936 * video/readers/png.c: Likewise.
21937 * video/i386/pc/vbe.c: Likewise.
21938 * fs/udf.c: Likewise.
21939 * fs/hfs.c: Likewise.
21940 * fs/reiserfs.c: Likewise.
21941 * efiemu/runtime/efiemu.c: Likewise.
21942 * efiemu/main.c: Likewise.
21943 * efiemu/mm.c: Likewise.
21944 * include/grub/elf.h: Likewise.
21945 * include/grub/xnu.h: Likewise.
21946 * include/grub/usbdesc.h: Likewise.
21947 * include/grub/usb.h: Likewise.
21948 * include/grub/script_sh.h: Likewise.
21949 * include/grub/lib/LzmaEnc.h: Likewise.
21950 * include/grub/efiemu/efiemu.h: Likewise.
21951 * include/grub/command.h: Likewise.
21952 * normal/menu.c: Likewise.
21953 * normal/main.c: Likewise.
21954 * normal/datetime.c: Likewise.
21955 * bus/usb/uhci.c: Likewise.
21956 * mmap/i386/uppermem.c: Likewise.
21957 * mmap/mmap.c: Likewise.
21958 * commands/acpi.c: Likewise.
21959 * commands/test.c: Likewise.
21960 * partmap/apple.c: Likewise.
21961 * font/font.c: Likewise.
21962 * loader/sparc64/ieee1275/linux.c: Likewise.
21963 * loader/macho.c: Likewise.
21964 * loader/i386/bsd_trampoline.S: Likewise.
21965 * loader/i386/bsd.c: Likewise.
21966 * loader/xnu.c: Likewise.
21967 * term/i386/pc/vesafb.c: Likewise.
21968 * term/usb_keyboard.c: Likewise.
21969 * util/resolve.c: Likewise.
21970 * util/getroot.c: Likewise.
21971
0cfc0083 219722009-05-04 Felix Zielcke <fzielcke@z-51.de>
21973
21974 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
21975
7c1d00cd 219762009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21977
21978 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
21979 build error.
21980
b01f0548 219812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21982
21983 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
21984 parameter only available on BIOS.
21985
ecc3eb22 219862009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21987
21988 Removed wrong semicolon in declaration
21989
21990 * grub/misc.h (grub_dprintf): remove semicolon
21991
112972a9 219922009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21993
21994 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
21995 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
21996 is done by grub_cmd_linux() now).
21997 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
21998 restore video to text mode.
21999 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22000 indicates lack of "vga=" parameter. "vga=0" is mapped to
22001 `GRUB_LINUX_VID_MODE_NORMAL'.
22002
afd5c115 220032009-05-04 Felix Zielcke <fzielcke@z-51.de>
22004
22005 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22006 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22007 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22008 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22009 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22010 `grub_script.tab.c'.
22011
22012 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22013 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22015 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22017
faa517ce 22018 * Makefile.in: Remove duplicated 2008 in Copyright line.
22019
ae0c0bdc 220202009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22021
473d1e45 22022 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22023 unconditionally.
22024 * include/grub/util/misc.h (grub_util_warn): New declaration.
22025
22026 * util/i386/pc/grub-install.in: Understand --force and pass it down
22027 to grub-setup.
22028
22029 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22030 down to setup().
22031 (setup): Improve error messages and add warnings when requested to
22032 install in odd layouts. Refuse to install using blocklists unless
22033 --force was set.
22034
18f547ad 220352009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22036
22037 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22038
6d260daa 220392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 Updated copyright year
22042
22043 * fs/hfsplus.c: updated copyright year
18f547ad 22044
69f853f8 220452009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22046
22047 HFS+ UUID
22048
18f547ad 22049 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22050 in the space previously used by unused3
22051 (grub_hfsplus_uuid): new function
22052 (grub_hfsplus_fs): added uuid field
22053
4c402e73 220542009-05-03 Pavel Roskin <proski@gnu.org>
22055
22056 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22057 suppress warnings. It's no longer needed.
22058 * disk/host.c: Likewise.
22059 * disk/ata_pthru.c: Likewise.
22060 * disk/loopback.c: Likewise.
22061 * hook/datehook.c: Likewise.
22062 * parttool/pcpart.c: Likewise.
22063 * fs/i386/pc/pxe.c: Likewise.
22064 * fs/ntfscomp.c: Likewise.
22065 * efiemu/main.c: Likewise.
22066 * mmap/mmap.c: Likewise.
22067 * commands/crc.c: Likewise.
22068 * commands/hexdump.c: Likewise.
22069 * commands/hdparm.c: Likewise.
22070 * commands/acpi.c: Likewise.
22071 * commands/echo.c: Likewise.
22072 * commands/minicmd.c: Likewise.
22073 * commands/blocklist.c: Likewise.
22074 * commands/memrw.c: Likewise.
22075 * commands/loadenv.c: Likewise.
22076 * commands/usbtest.c: Likewise.
22077 * commands/lsmmap.c: Likewise.
22078 * commands/boot.c: Likewise.
22079 * commands/parttool.c: Likewise.
22080 * commands/configfile.c: Likewise.
22081 * commands/search.c: Likewise.
22082 * commands/ieee1275/suspend.c: Likewise.
22083 * commands/cat.c: Likewise.
22084 * commands/i386/pc/pxecmd.c: Likewise.
22085 * commands/i386/pc/play.c: Likewise.
22086 * commands/i386/pc/halt.c: Likewise.
22087 * commands/i386/pc/vbeinfo.c: Likewise.
22088 * commands/i386/pc/vbetest.c: Likewise.
22089 * commands/lspci.c: Likewise.
22090 * commands/date.c: Likewise.
22091 * commands/handler.c: Likewise.
22092 * commands/ls.c: Likewise.
22093 * commands/test.c: Likewise.
22094 * commands/cmp.c: Likewise.
22095 * commands/efi/loadbios.c: Likewise.
22096 * commands/efi/fixvideo.c: Likewise.
22097 * commands/halt.c: Likewise.
22098 * commands/help.c: Likewise.
22099 * commands/reboot.c: Likewise.
22100 * hello/hello.c: Likewise.
22101 * script/sh/main.c: Likewise.
22102 * loader/xnu.c: Likewise.
22103 * term/terminfo.c: Likewise.
22104 * term/i386/pc/serial.c: Likewise.
22105 * term/usb_keyboard.c: Likewise.
22106
515b5079 221072009-05-03 David S. Miller <davem@davemloft.net>
22108
22109 * normal/menu.c: Include grub/parser.h
22110
dfc31a22 221112009-05-03 Pavel Roskin <proski@gnu.org>
22112
2fee74f1 22113 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22114 not char*.
22115 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22116 Suggested by Javier Martín <lordhabbit@gmail.com>
22117
dfc31a22 22118 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22119 efiemu??.o doesn't exist.
22120 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22121 copying.
22122
18f547ad 221232009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22124
22125 FreeBSD 64-bit support
22126
18f547ad 22127 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22128 and loader/i386/bsd_trampoline.S
22129 (bsd_mod_ASFLAGS): new variable
22130 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22131 (FREEBSD_MODTYPE_KERNEL64): likewise
22132 (grub_bsd64_trampoline_start): likewise
22133 (grub_bsd64_trampoline_end): likewise
22134 (grub_bsd64_trampoline_selfjump): likewise
22135 (grub_bsd64_trampoline_gdt): likewise
22136 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22137 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22138 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22139 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22140 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22141 of "attrib" member
22142 * loader/i386/bsd_pagetable.c: new file
22143 * loader/i386/bsd_trampoline.S: likewise
22144 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22145 (ALIGN_VAR): likewise
22146 (entry_hi): new variable
22147 (kern_end_mdofs): likewise
22148 (is_64bit): likewise
22149 (grub_freebsd_add_meta): use ALIGN_VAR
22150 (grub_e820_mmap): new declaration
22151 (grub_freebsd_add_mmap): new function
22152 (grub_freebsd_add_meta_module): support 64 bit kernels
22153 (grub_freebsd_list_modules): use ALIGN_VAR
22154 (gdt_descriptor): new declaration
22155 (grub_freebsd_boot): support 64 bit kernels
22156 (grub_bsd_elf64_hook): new function
22157 (grub_bsd_load_elf): support elf64
22158
038c5720 221592009-05-03 Bean <bean123ch@gmail.com>
22160
22161 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22162 after we get the result of if statement.
22163
fc45fb58 221642009-05-03 Bean <bean123ch@gmail.com>
22165
22166 * Makefile.in (enable_efiemu): New variable.
22167
22168 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22169 set.
22170 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22171 path.
22172 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22173 path, add -mno-red-zone option.
22174 (efiemu64_s.o): Likewise.
22175 (efiemu64.o): Use macro $^ for source file.
22176
22177 * configure.ac (--enable-efiemu): New option.
22178
bbee0f2b 221792009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 xnu support
22182
22183 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22184 (pkglib_MODULES): add xnu.mod
22185 (xnu_mod_SOURCES): new variable
22186 (xnu_mod_CFLAGS): likewise
22187 (xnu_mod_LDFLAGS): likewise
22188 (xnu_mod_ASFLAGS): likewise
22189 * conf/i386-pc.rmk: likewise
22190 * conf/x86_64-efi.rmk: likewise
7dd4a573 22191 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22192 new declaration
22193 * include/grub/i386/macho.h: new file
22194 * include/grub/i386/xnu.h: likewise
22195 * include/grub/macho.h: likewise
22196 * include/grub/machoload.h: likewise
22197 * include/grub/x86_64/macho.h: likewise
22198 * include/grub/x86_64/xnu.h: likewise
22199 * include/grub/xnu.h: likewise
22200 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22201 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22202 * loader/i386/efi/xnu.c: new file
22203 * loader/i386/pc/xnu.c: likewise
22204 * loader/i386/xnu.c: likewise
22205 * loader/i386/xnu_helper.S: likewise
22206 * loader/macho.c: likewise
22207 * loader/xnu.c: likewise
22208 * loader/xnu_resume.c: likewise
22209 * util/grub-dumpdevtree: likewise
22210 * include/grub/i386/pit.h: include grub/err.h
22211 (grub_pit_wait): export
22212 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22213
5caf964d 222142009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22215
22216 Efiemu
7dd4a573 22217
5caf964d 22218 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22219 _linux_efi, linux_efi.
22220 new files in grub-emu
5caf964d 22221 new targets efiemu32.o and efiemu64.o
22222 * loader/linux_normal_efiemu.c: likewise
22223 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22224 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22225 files to copy
22226 * include/grub/autoefi.h: new file
7dd4a573 22227 * include/grub/i386/efiemu.h: likewise
5caf964d 22228 * include/grub/i386/pc/efiemu.h: likewise
22229 * include/grub/efi/api.h: add LL suffix when necessary
22230 new definitions relating to tables
22231 * include/grub/efiemu/efiemu.h: new file
22232 * include/grub/efiemu/runtime.h: likewise
22233 * efiemu/prepare.c: likewise
22234 * efiemu/loadcore_common.c: likewise
22235 * efiemu/loadcore64.c: likewise
22236 * efiemu/runtime/efiemu.sh: likewise
22237 * efiemu/runtime/efiemu.S: likewise
22238 * efiemu/runtime/efiemu.c: likewise
22239 * efiemu/runtime/config.h: likewise
22240 * efiemu/prepare32.c: likewise
22241 * efiemu/main.c: likewise
22242 * efiemu/modules/pnvram.c: likewise
22243 * efiemu/modules/i386: likewise
22244 * efiemu/modules/i386/pc: likewise
22245 * efiemu/modules/acpi.c: likewise
22246 * efiemu/i386/pc/cfgtables.c: likewise
22247 * efiemu/i386/loadcore64.c: likewise
22248 * efiemu/i386/loadcore32.c: likewise
22249 * efiemu/prepare64.c: likewise
22250 * efiemu/loadcore.c: likewise
22251 * efiemu/symbols.c: likewise
22252 * efiemu/mm.c: likewise
22253 * efiemu/loadcore32.c: likewise
7dd4a573 22254
222552009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22256
22257 ACPI spoofing
22258
22259 * commands/acpi.c: new file
22260 * commands/i386/pc/acpi.c: likewise
22261 * commands/efi/acpi.c: likewise
22262 * include/grub/acpi.h: likewise
22263 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22264 (acpi_mod_SOURCES): new variable
22265 (acpi_mod_CFLAGS): likewise
22266 (acpi_mod_LDFLAGS): likewise
22267 * conf/i386-efi.rmk: likewise
22268 * conf/x86_64-efi.rmk: likewise
22269
7dd4a573 222702009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22271
22272 Missing part from mmap patch
22273
22274 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22275 (grub_mmap_unregister)
22276 (grub_mmap_free_and_unregister): use grub_mmap_register
22277
7dd4a573 222782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22279
22280 Mmap services
22281
22282 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22283 * loader/i386/linux.c (find_mmap_size): likewise
22284 (allocate_pages): likewise
22285 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22286 (grub_fill_multiboot_mmap): likewise
22287 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22288 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22289 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22290 (OPENBSD_MMAP_RESERVED): likewise
22291 * include/grub/i386/pc/memory.h: include grub/memory.h
22292 (grub_lower_mem): removed
22293 (grub_upper_mem): likewise
22294 (GRUB_MACHINE_MEMORY_ACPI): new definition
22295 (GRUB_MACHINE_MEMORY_NVS): likewise
22296 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22297 (GRUB_MACHINE_MEMORY_HOLE): likewise
22298 (grub_machine_mmap_register): likewise
22299 (grub_machine_mmap_unregister): likewise
22300 (grub_machine_get_upper): likewise
22301 (grub_machine_get_lower): likewise
22302 (grub_machine_get_post64): likewise
22303 * include/grub/i386/efi/memory.h: new file
22304 * include/grub/x86_64/efi/memory.h: likewise
22305 * include/grub/efi/memory.h: likewise
22306 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22307 (mmap_mod_SOURCES): new variable
22308 (mmap_mod_LDFLAGS): likewise
22309 (mmap_mod_ASFLAGS): likewise
22310 * conf/i386-coreboot.rmk: likewise
22311 * conf/i386-ieee1275.rmk: likewise
22312 * conf/i386-efi.rmk: likewise
22313 * conf/x86_64-efi.rmk: likewise
22314 * include/grub/types.h (UINT_TO_PTR): new macro
22315 (PTR_TO_UINT32): likewise
22316 (PTR_TO_UINT64): likewise
22317 * include/grub/memory.h: new file
22318 * mmap/i386/pc/mmap.c: likewise
22319 * mmap/i386/pc/mmap_helper.S: likewise
22320 * mmap/i386/uppermem.c: likewise
22321 * mmap/mmap.c: likewise
22322 * mmap/efi/mmap.c: likewise
7dd4a573 22323 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22324 grub_upper_mem
22325 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22326 (grub_upper_mem): likewise
22327 (grub_machine_init): don't use grub_upper_mem,
22328 make grub_lower_mem local
22329 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22330 grub_mmap_iterate and grub_mmap_get_upper
22331 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22332
d558e6b5 223332009-05-02 Bean <bean123ch@gmail.com>
22334
22335 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22336 script/sh/parser.y.
22337 (pkglib_MODULES): Add normal.mod and sh.mod.
22338 (normal_SOURCES): New variable.
22339 (normal_mod_CFLAGS): Likewise.
22340 (normal_mod_LDFLAGS): Likewise.
22341 (sh_mod_SOURCES): Likewise.
22342 (sh_mod_CFLAGS): Likewise.
22343 (sh_mod_LDFLAGS): Likewise.
22344
22345 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22346 script/sh/lexer.c_DEPENDENCIES.
22347 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22348 kern/rescue_reader.c and kern/rescue_parser.c.
22349 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22350 (grub_emu_SOURCES): Change source files.
22351 (pkglib_MODULES): Remove normal.mod.
22352 (normal_SOURCES): Removed.
22353 (normal_mod_CFLAGS): Likewise.
22354 (normal_mod_LDFLAGS): Likewise.
22355 * conf/i386-coreboot.rmk: Likewise.
22356 * conf/i386-efi.rmk: Likewise.
22357 * conf/i386-ieee1276.rmk: Likewise.
22358 * conf/powerpc-ieee1275.rmk: Likewise.
22359 * conf/sparc64-ieee1275.rmk: Likewise.
22360 * conf/x86_64-efi.rmk: Likewise.
22361
22362 * include/grub/command.h (grub_command_execute): New inline function.
22363
22364 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22365
22366 * include/grub/normal.h: Remove <grub/setjmp.h>.
22367 (grub_fs_module_list): Moved to normal/autofs.c.
22368 (grub_exit_env): Removed.
22369 (grub_command_execute): Likewise.
22370 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22371 parameter script.
22372 (read_command_list): New function declaration.
22373 (read_fs_list): Likewise.
22374
22375 * include/parser.h: Include <grub/reader.h>.
22376 (grub_parser_split_cmdline): Change type of getline parameter.
22377 (grub_parser): New structure.
22378 (grub_parser_class): New variable.
22379 (grub_parser_execute): New function declaration.
22380 (grub_register_rescue_parser): Likewise.
22381 (grub_parser_register): New inline function.
22382 (grub_parser_unregister): Likewise.
22383 (grub_parser_get_current): Likewise.
22384 (grub_parser_set_current): Likewise.
22385
22386 * include/grub/reader.h: New file.
22387 * kern/reader.c: Likewise.
22388 * kern/rescue_parser.c: Likewise.
22389 * kern/rescue_reader.c: Likewise.
22390 * normal/autofs.c: Likewise.
22391 * normal/dyncmd.c: Likewise.
22392
22393 * include/grub/rescue.h: Removed.
22394 * normal/command.h: Likewise.
22395
22396 * include/grub/script.h: Moved to ...
22397 * include/grub/script_sh.h: ... Moved here.
22398 * normal/execute.c: Moved to ...
22399 * script/sh/execute.c: ... Moved here.
22400 * normal/function.c: Moved to ...
22401 * script/sh/function.c: ... Moved here.
22402 * normal/lexer.c: Moved to ...
22403 * script/sh/lexer.c: ... Moved here.
22404 * normal/parser.y: Moved to ...
22405 * script/sh/parser.y: ... Moved here.
22406 * normal/script.c: Moved to ...
22407 * script/sh/script.c: ... Moved here.
22408
22409 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22410 <grub/reader.h>.
22411 (grub_exit_env): Removed.
22412 (fs_module_list): Moved to normal/autofs.c.
22413 (grub_file_getline): Don't handle comment here.
22414 (free_menu): Skip removed field entry->commands.
22415 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22416 script parameter.
22417 (read_config_file): Removed nested parameter, change getline function.
22418 (grub_enter_normal_mode): Removed.
22419 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22420 (read_command_list): Likewise.
22421 (autoload_fs_module): Moved to normal/autofs.c.
22422 (read_fs_list): Likewise.
22423 (reader_nested): New variable.
22424 (grub_normal_execute): Run parser.sh to switch to sh parser.
22425 (grub_cmd_rescue): Removed.
22426 (cmd_normal): Removed.
22427 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22428 rescue command.
22429 (grub_cmdline_run): New function.
22430 (grub_normal_reader_init): Likewise.
22431 (grub_normal_read_line): Likewise.
22432 (grub_env_write_pager): Likewise.
22433 (cmdline): New variable.
22434 (grub_normal_reader): Likewise.
22435 (GRUB_MOD_INIT): Register normal reader and set as current, register
22436 pager hook, register normal command with grub_register_command_prio,
22437 so that it won't show up in command.lst.
22438 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22439 grub_fs_autoload_hook.
22440
22441 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22442 (grub_menu_execute_entry): Replace grub_script_execute with
22443 grub_parser_execute, change parameter to grub_command_execute.
22444
22445 * normal/menu_text.c: Remove <grub/script.h>.
22446
22447 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22448 and <grub/parser.h>.
22449 (run): Change editor_getline to use new parser interface. Change
22450 parameter to grub_command_execute.
22451
22452 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22453 <grub/reader.h> and <grub/parser.h>.
22454 (grub_load_normal_mode): Execute normal command.
22455 (grub_main): Call grub_register_core_commands,
22456 grub_register_rescue_parser and grub_register_rescue_reader, use
22457 grub_reader_loop to enter input loop.
22458
7dd4a573 22459 * kern/parser.c (grub_parser_split_cmdline): Change type of
22460 getline parameter.
d558e6b5 22461 (grub_parser_class): New variable.
22462 (grub_parser_execute): New function.
22463
22464 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22465 * loader/multiboot2.c: Likewise.
22466 * loader/sparc64/ieee1275/linux.c: Likewise.
22467
22468 * util/grub-emu.c (read_command_list): New dummy function.
22469
18db813d 224702009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22471
22472 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22473 count to 16 for CCISS and IDA.
22474
6c67de15 224752009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22476
22477 * normal/menu_text.c (grub_wait_after_message): Print a newline
22478 after waiting for user input.
22479
22480 * loader/i386/linux.c: Include `<grub/normal.h>'.
22481 (grub_cmd_linux): Improve the error message about `ask' mode, by
22482 waiting for user input so it's not missed (we can do this, since
22483 user requested interaction).
22484
d9dc87b0 224852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22486
22487 Added missing lst to grub-mkrescue
22488
22489 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
22490 and ${input_dir}/parttool.lst
22491
ac8a2baa 224922009-04-30 David S. Miller <davem@davemloft.net>
22493
ad22a610 22494 * util/hostdisk.c (device_is_wholedisk): New function.
22495 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
22496 zero only if device_is_wholedisk() returns true.
22497
6966215d 22498 * util/hostdisk.c (convert_system_partition_to_system_disk):
22499 Handle virtual disk devices named /dev/vdiskX as found on sparc
22500 and powerpc.
22501
ac8a2baa 22502 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
22503 lettered partition specifier is found, convert to numbered.
22504
979b4fb4 225052009-04-29 David S. Miller <davem@davemloft.net>
22506
e2bf39b2 22507 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
22508 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22509
3c64e104 22510 * normal/command.c: Add missing newline at end of file.
22511
979b4fb4 22512 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
22513 warnings.
22514 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
22515 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
22516 grub_ofdisk_read): Likewise, and deal similarly with the fact that
22517 ihandles have a 32-bit type but need to be stored in a "void *".
22518
136d9f82 225192009-04-28 Pavel Roskin <proski@gnu.org>
22520
9459c306 22521 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
22522 not disk. Adjust all dependencies.
2e08a26a 22523 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 22524 grub_disk_close().
22525
136d9f82 22526 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
22527 parent's partition, don't copy it by reference, as it gets freed
22528 on close.
22529
7dd4a573 225302009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 22531
22532 Preboot hooks support
22533
22534 * commands/boot.c (struct grub_preboot_t): new declaration
22535 (preboots_head): new variable
22536 (preboots_tail): likewise
22537 (grub_loader_register_preboot_hook): new function
22538 (grub_loader_unregister_preboot_hook): likewise
22539 (grub_loader_set): launch preboot hooks
22540 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
22541 (grub_loader_register_preboot_hook): new declaration
22542 (grub_loader_unregister_preboot_hook): likewise
22543
5af922b5 225442009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22545
22546 Warning fix
22547
7dd4a573 22548 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 22549 calling grub_dprintf
22550
a5562c30 225512009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 Bug and warning fixes
22554
7dd4a573 22555 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 22556 declaration
22557 * commands/test.c (test_parse): fixed bug with file tests and corrected
22558 declaration of find_file
22559
4006f85c 225602009-04-26 Pavel Roskin <proski@gnu.org>
22561
22562 * Makefile.in: Don't install empty manual pages if help2man is
22563 missing. Use help2man option for output, not shell redirection.
22564
5c77c3de 225652009-04-26 David S. Miller <davem@davemloft.net>
22566
22567 * util/grub-mkdevicemap.c (make_device_map): Add missing
22568 NESTED_FUNC_ATTR to process_device().
22569
033b10a8 225702009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22571
22572 Test command
22573
22574 * commands/test.c: rewritten to use bash-like test
22575
e4343593 225762009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22577
22578 Parttool autoloading and improvements
22579
7dd4a573 22580 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 22581 (parttool.lst): new target
22582 * genmk.rb: generate parttool-*
22583 (CLEANFILES): add #{parttool}
22584 (PARTTOOLFILES): new variable
22585 * genparttoollist.sh: new file
7dd4a573 22586 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 22587 (grub_pcpart_type): likewise
22588 * commands/parttool.c (helpmsg): new variable
22589 (grub_cmd_parttool): output help if not enough arguments are supplied
22590 autoload modules
22591 (GRUB_MOD_INIT(parttool)): use helpmsg
22592
0d312500 225932009-04-24 David S. Miller <davem@davemloft.net>
22594
7dd4a573 22595 Avoiding opening same device multiple times in device iterator.
0d312500 22596
22597 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 22598 and use it to build a list of partitions in iterate_disk() and
0d312500 22599 iterate_partition().
22600
ac20caff 22601 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
22602 on disk->data.
22603
0dcf7495 22604 * disk/ieee1275/nand.c (grub_nand_iterate): Return
22605 grub_devalias_iterate() result instead of unconditional 0.
22606 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
22607 Also, capture hook return value, either directly or via
22608 grub_children_iterate(), and propagate to caller.
22609 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
22610 grub_children_iterate): Return value is now 'int' instead of
22611 'grub_err_t'.
22612 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
22613 like a proper iterator, stopping when hooks return non-zero.
22614 (grub_devalias_iterate): Likewise.
22615
c8c08833 226162009-04-23 David S. Miller <davem@davemloft.net>
22617
22618 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
22619
f01005a8 226202009-04-22 David S. Miller <davem@davemloft.net>
22621
22622 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
22623 is larger than address_cells, use that value for address_cells too.
22624
4e8269da 22625 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
22626 IEEE1275_MAX_PATH_LEN): Define.
22627 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
22628 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
22629 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
22630 'devtype'. Explicitly NULL terminate devalias expansion.
22631
a1447506 22632 * util/sparc64/ieee1275/misc.c: New file.
22633 * util/sparc64/ieee1275/grub-setup.c: New file.
22634 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
22635 * util/sparc64/ieee1275/grub-mkimage.c: New file.
22636 * util/sparc64/ieee1275/grub-install.in: New file.
22637 * util/ieee1275/ofpath.c: New file.
22638 * util/ieee1275/devicemap.c: New file.
22639 * util/devicemap.c: New file.
22640 * util/deviceiter.c: New file.
22641 * kern/sparc64/ieee1275/init.c: New file.
22642 * include/grub/util/ofpath.h: New file.
22643 * include/grub/util/deviceiter.h: New file.
22644 * util/grub-mkdevicemap.c: Include deviceiter.h.
22645 Implement using grub_util_emit_devicemap_entry and
22646 grub_util_iterate_devices.
22647 * conf/i386-corebook.rmk: Build util/deviceiter.c and
22648 util/devicemap.c into grub-mkdevicemap
22649 * conf/i386-efi.rmk: Likewise.
22650 * conf/i386-ieee1275.rmk: Likewise.
22651 * conf/i386-pc.rmk: Likewise.
22652 * conf/powerpc-ieee1275.rmk: Likewise.
22653 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
22654 images and installation utilities. Build kernel as image
22655 instead of as elf binary. Use common rules as much as possible.
22656
7dd4a573 226572009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 22658
22659 Correct GPT definition
22660
7dd4a573 22661 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 22662 of "attrib" member
22663
c6c5219f 226642009-04-19 Felix Zielcke <fzielcke@z-51.de>
22665
22666 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
22667
0552ff9f 226682009-04-19 David S. Miller <davem@davemloft.net>
22669
22670 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
22671 (grub_rescue_cmd_linux): Rename to...
22672 (grub_cmd_linux): and fix prototype.
22673 (grub_rescue_cmd_initrd): Rename to...
22674 (grub_cmd_initrd): and fix prototype.
22675 (cmd_linux, cmd_initrd): New.
22676 (GRUB_MOD_INIT(linux)): Use grub_register_command().
22677 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
22678
d1a282fc 226792009-04-17 Pavel Roskin <proski@gnu.org>
22680
07c5039f 22681 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
22682 format.
22683 (grub_ohci_transfer): Likewise.
22684
b012002d 22685 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
22686
1bc09c35 22687 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
22688 return without a value. Fix inconsistent indentation.
22689
e0ff9126 22690 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
22691 match struct grub_fs.
22692
d1a282fc 22693 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
22694 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
22695 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22696 * commands/lspci.c (grub_lspci_iter): Likewise.
22697
a96df3f2 226982009-04-16 Bean <bean123ch@gmail.com>
22699
22700 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
22701 value.
22702
41bb0fe9 227032009-04-15 Pavel Roskin <proski@gnu.org>
22704
22705 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
22706 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
22707 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
22708 definitions.
22709
596c6970 227102009-04-15 Felix Zielcke <fzielcke@z-51.de>
22711
22712 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 22713 that no multiple data or metadata areas are supported and `Unknown
596c6970 22714 metadata header'.
22715
7dd4a573 227162009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 22717
22718 Move loader out of the kernel
22719
22720 * kern/loader.c: moved to ...
22721 * commands/boot.c: ... moved here
22722 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
22723 * commands/boot.c (grub_cmd_boot): moved here. All users updated
22724 * include/grub/kernel.h (grub_machine_fini): export
22725 * include/grub/loader.h (grub_loader_is_loaded): update declaration
22726 (grub_loader_set): likewise
22727 (grub_loader_unset): likewise
22728 (grub_loader_boot): likewise
22729 * conf/common.rmk: new module boot.mod
22730 (pkglib_MODULES): add boot.mod
22731 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
22732 (grub_emu_SOURCES): likewise
22733 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22734 (grub_emu_SOURCES): likewise
22735 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22736 (grub_emu_SOURCES): likewise
22737 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22738 (grub_emu_SOURCES): likewise
22739 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22740 (grub_emu_SOURCES): likewise
7dd4a573 22741 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22742 (grub_emu_SOURCES): likewise
0d5d5653 22743 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 22744 (grub_emu_SOURCES): likewise
0d5d5653 22745
7dd4a573 227462009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 22747
22748 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 22749
5999d619 22750 * kern/misc.c (grub_itoa): Removed function
22751 (grub_ltoa): likewise
22752 (grub_vsprintf): use grub_lltoa
22753
7dd4a573 227542009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 22755
22756 Restore grub-emu
22757
22758 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22759 * conf/i386-coreboot.rmk: likewise
22760 * conf/i386-ieee1275.rmk: likewise
22761 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22762
20318222 227632009-04-15 Felix Zielcke <fzielcke@z-51.de>
22764
22765 * INSTALL: Add that `./autogen.sh' needs to be run before
22766 `./configure.'.
22767
d05f0df3 227682009-04-14 Bean <bean123ch@gmail.com>
22769
22770 * Makefile.in (pkglib_DATA): Add handler.lst.
22771 (handler.lst): New rule.
22772
22773 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22774 * conf/i386-coreboot.rmk: Likewise.
22775 * conf/i386-ieee1275.rmk: Likewise.
22776 * conf/i386-efi.rmk: Likewise.
22777 * conf/x86_64-efi.rmk: Likewise.
22778 * conf/powerpc-ieee1275.rmk: Likewise.
22779 * conf/sparc64-ieee1275.rmk: Likewise.
22780
22781 * genhandlerlist.sh: New file.
22782
22783 * genmk.rb: Add rules to generate handler.lst.
22784
22785 * include/grub/normal.h (grub_file_getline): New function definition.
22786 (read_handler_list): Likewise.
22787 (free_handler_list): Likewise.
22788
22789 * include/grub/term.h (grub_term_register_input): Add name parameter
22790 for auto generation of handler.lst.
22791 (grub_term_register_output): Likewise.
22792
22793 * normal/handler.c: New file.
22794
22795 * normal/main.c (get_line): Renamed to grub_file_getline.
22796 (read_config_file): Use the newly renamed grub_file_getline.
22797 (read_command_list): Likewise.
22798 (read_fs_list): Likewise.
22799 (grub_normal_execute): Call read_handler_list to parse handler.lst.
22800 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
22801
22802 * term/efi/console.c (grub_console_init): Add name parameter for auto
22803 generation of handler.lst.
22804 * term/gfxterm.c: Likewise.
22805 * term/i386/pc/at_keyboard.c: Likewise.
22806 * term/i386/pc/console.c: Likewise.
22807 * term/i386/pc/serial.c: Likewise.
22808 * term/i386/pc/vesafb.c: Likewise.
22809 * term/i386/pc/vga.c: Likewise.
22810 * term/i386/pc/vga_text.c: Likewise.
22811 * term/ieee1275/ofconsole.c: Likewise.
22812 * term/usb_keyboard.c: Likewise.
22813
33c846be 228142009-04-14 Bean <bean123ch@gmail.com>
22815
22816 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
22817 properly with null character.
22818
4484e01e 228192009-04-14 Felix Zielcke <fzielcke@z-51.de>
22820
22821 * configure: Remove.
22822 * config.h.in: Likewise.
f93d668e 22823 * stamp-h.in: Likewise.
4484e01e 22824 * DISTLIST: Likewise.
22825 * conf/common.mk: Likewise.
22826 * conf/i386-coreboot.mk: Likewise.
22827 * conf/i386-efi.mk: Likewise.
22828 * conf/i386-ieee1275.mk: Likewise.
22829 * conf/i386.mk: Likewise.
22830 * conf/i386-pc.mk: Likewise.
22831 * conf/powerpc-ieee1275.mk: Likewise.
22832 * conf/sparc64-ieee1275.mk: Likewise.
22833 * conf/x86_64-efi.mk: Likewise.
22834
22835 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
22836 develop on GRUB.
22837
7dd4a573 228382009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 22839 David S. Miller <davem@davemloft.net>
22840
22841 * util/hostdisk.c (make_device_name): Fix buffer length
22842 calculations.
22843
e25b5a8c 228442009-04-14 Felix Zielcke <fzielcke@z-51.de>
22845
22846 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
22847 <sys/param.h> and <sys/sysctl.h>.
22848 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
22849 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
22850 opening the device and reset them afterwards.
22851
1f1f580c 228522009-04-13 Pavel Roskin <proski@gnu.org>
22853
22854 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
22855 Reported by John Stanley <jpsinthemix@verizon.net>
22856
7ebc2d6b 228572009-04-13 Robert Millan <rmh@aybabtu.com>
22858
22859 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 22860 that name for menuentries when appropriate.
7ebc2d6b 22861
d8ba3667 228622009-04-13 Felix Zielcke <fzielcke@z-51.de>
22863
22864 * util/grub.d/10_freebsd.in: Add a missing `fi'.
22865
cba416eb 228662009-04-13 Robert Millan <rmh@aybabtu.com>
22867
22868 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
22869 to Linux, simply abort telling the user it's no longer supported.
22870
a547a745 228712009-04-13 Felix Zielcke <fzielcke@z-51.de>
22872
22873 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 22874 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 22875 `freebsd_loadenv' only when devices.hints exist.
22876
232a769c 228772009-04-13 Pavel Roskin <proski@gnu.org>
22878
22879 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
22880
c3012039 228812009-04-13 Felix Zielcke <fzielcke@z-51.de>
22882
22883 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
22884 partition number.
22885 (grub_drive): Likewise.
22886
234022fe 228872009-04-13 David S. Miller <davem@davemloft.net>
22888
22889 * kern/sparc64/ieee1275/ieee1275.c: New file.
22890 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
22891 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
22892 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
22893 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
22894 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
22895 grub_ieee1275_alloc_physmem): Declare new exported functions.
22896
d8e1836c 22897 * include/grub/sparc64/ieee1275/loader.h: New file.
22898 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22899 * include/grub/sparc64/kernel.h: Likewise.
22900 * loader/sparc64/ieee1275/linux.c: Likewise.
22901
96bd81ec 22902 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
22903 (grub_fstest_SOURCES): Likewise.
22904
6a4737e5 22905 * util/hostdisk.c (make_device_name): Do not make any assumptions
22906 about the length of drive names.
22907
1d7a72fd 22908 * kern/dl.c (grub_dl_load_file): Close file immediately when
22909 we are done using it.
22910
56bc2471 229112009-04-12 David S. Miller <davem@davemloft.net>
22912
22913 * kern/misc.c (grub_ltoa): Fix cast when handling negative
22914 values. Noticed by Pavel Roskin.
22915
df38d0bb 22916 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
22917 target compiler.
7dd4a573 22918
e382e93a 22919 * genmk.rb: Add more flexible image type specification, also
22920 pass --strip-unneeded to objcopy.
22921 * conf/i386-pc.rmk: Use *_FORMAT.
22922 * conf/i386-pc.mk: Rebuilt.
22923
f5dbbca9 22924 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
22925 (OFDISK_HASH_SZ): Define.
22926 (ofdisk_hash): New hash table.
22927 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
22928 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
22929 instead of device phandle which is not unique.
22930
91c88b12 22931 * kern/sparc64/ieee1275/init.c: Delete, replace with...
22932 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
22933 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
22934 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
22935 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
22936 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
22937 GRUB_KERNEL_MACHINE_DATA_END): Define.
22938 (grub_kernel_image_size, grub_total_module_size): Declare.
22939
5b5d4aa5 229402009-04-12 Pavel Roskin <proski@gnu.org>
22941
7dd4a573 22942 * configure.ac: Change the logic when we check for target tools.
22943 Do it when the target is specified and it's different from the
22944 specified value of the host.
5b5d4aa5 22945
c91e1793 229462009-04-11 Felix Zielcke <fzielcke@z-51.de>
22947
22948 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
22949 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
22950 GNU/kFreeBSD. Check if a device is a character device. Use
22951 DIOCGMEDIASIZE to get the size.
22952 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
22953 support for GNU/kFreeBSD.
22954 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
22955 is a character device instead of a block device. Add support for
22956 FreeBSD device names.
22957
22958 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
22959 is a character device instead of a block device.
22960
22961 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
22962 is a character device instead of a block device.
22963
b1ac8644 229642009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
22965
22966 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
22967 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
22968 FreeBSD. Check if a device is a character device. Use
22969 DIOCGMEDIASIZE to get the size.
22970 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
22971 support for FreeBSD.
22972 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
22973 is a character device instead of a block device. Add support for
22974 FreeBSD device names.
22975
22976 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
22977 a character device instead of a block device.
22978 (grub_util_check_char_device): New function.
22979
22980 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
22981 a character device instead of a block device.
22982
22983 * include/grub/util/getroot.h (grub_util_check_char_device): New
22984 prototype.
22985
a3f7515a 229862009-04-11 David S. Miller <davem@davemloft.net>
22987
22988 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
22989 static libgcc.
22990 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
22991 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
22992 function, if present.
22993 (__bswapdi2): Likewise.
22994
0d44993d 22995 * include/grub/sparc64/ieee1275/boot.h: New file.
22996 * boot/sparc64/ieee1275/boot.S: Likewise.
22997 * boot/sparc64/ieee1275/diskboot.S: Likewise.
22998
ed3d2bc2 22999 * kern/misc.c (grub_ltoa): New function.
23000 (grub_vsprintf): Use it to format 'long' integers.
23001
d3bfb59c 230022009-04-10 David S. Miller <davem@davemloft.net>
23003
23004 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23005 slots are of type grub_ieee1275_cell_t.
23006 (grub_nand_read): Likewise.
23007 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23008 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23009 macros are used to compare values in arg/ret block of the call.
23010 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23011 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23012 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23013 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23014 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23015 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23016 grub_ieee1275_close, grub_ieee1275_set_property,
23017 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23018 grub_ieee1275_cell_t.
23019 * kern/ieee1275/openfw.c (grub_map): Likewise.
23020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23021 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23022
450e2238 23023 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23024 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23025 (grub_devalias_iterate): Likewise.
23026
7dd4a573 230272009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23028
23029 UFS improvements
23030
23031 * fs/ufs.c (INODE_NBLOCKS): new definition
23032 (struct grub_ufs_dirent): added fields for non-BSD dirents
23033 (grub_ufs_get_file_block): fixed double indirect handling
23034 (grub_ufs_lookup_symlink): use more robust way to determine whether
23035 symlink is inline
23036 (grub_ufs_find_file): support for non-BSD dirents
23037 (grub_ufs_dir): support for non-BSD dirents
23038
e7e6862a 230392009-04-10 Bean <bean123ch@gnail.com>
23040
23041 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23042 attribute, otherwise the size would be wrong for i386 platform.
23043
23044 * include/grub/pci.h (grub_pci_read_word): New inline function.
23045 (grub_pci_read_byte): Likewise.
23046 (grub_pci_write): Likewise.
23047 (grub_pci_write_word): Likewise.
23048 (grub_pci_write_byte): Likewise.
23049
23050 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23051
23052 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23053 (find_framebuf): Scan pci to locate the frame buffer address.
23054
23055 * commands/efi/fixvideo.c: New file.
23056
23057 * commands/efi/loadbios.c: Likewise.
23058
23059 * commands/memrw.c: Likewise.
23060
23061 * util/grub-dumpbios.in: Likewise.
23062
23063 * conf/common.rmk (grub-dumpbios): New utility.
23064 (pkglib_MODULES): New module memrw.mod.
23065 (memrw_mod_SOURCE): New macro.
23066 (memrw_mod_CFLAGS): Likewise.
23067 (memrw_mod_LDFLAGS): Likewise.
23068
7dd4a573 23069 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23070 fixvideo.mod.
23071 (loadbios_mod_SOURCE): New macro.
23072 (loadbios_mod_CFLAGS): Likewise.
23073 (loadbios_mod_LDFLAGS): Likewise.
23074 (fixvideo_mod_SOURCE): Likewise.
23075 (fixvideo_mod_CFLAGS): Likewise.
23076 (fixvideo_mod_LDFLAGS): Likewise.
23077
7dd4a573 23078 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23079 fixvideo.mod.
23080 (loadbios_mod_SOURCE): New macro.
23081 (loadbios_mod_CFLAGS): Likewise.
23082 (loadbios_mod_LDFLAGS): Likewise.
23083 (fixvideo_mod_SOURCE): Likewise.
23084 (fixvideo_mod_CFLAGS): Likewise.
23085 (fixvideo_mod_LDFLAGS): Likewise.
23086
af63ada2 230872009-04-08 Felix Zielcke <fzielcke@z-51.de>
23088
23089 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23090
c2cdde70 230912009-04-07 David S. Miller <davem@davemloft.net>
23092
23093 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23094 support for R_SPARC_OLO10 relocations. Fix compile warning for
23095 R_SPARC_WDISP30 case.
ea3f72cf 23096 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23097
761319cf 230982009-04-06 Pavel Roskin <proski@gnu.org>
23099
1007d1f5 23100 * include/grub/misc.h (ARRAY_SIZE): New macro.
23101 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23102 New macro.
23103 * loader/i386/linux.c (allocate_pages): Use free_pages().
23104 (grub_linux_unload): Don't use free_pages().
23105 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23106 wrong index. Treat all other modes as text modes.
23107 (grub_cmd_linux): Initialize vid_mode unconditionally to
23108 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23109
761319cf 23110 * commands/help.c (print_command_help): Use cmd->prio, not
23111 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23112
ea761d40 231132009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23114
ea761d40 23115 Parttool
23116
23117 * parttool/pcpart.c: new file
23118 * commands/parttool.c: likewise
23119 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23120 (parttool_mod_SOURCES): new variable
23121 (parttool_mod_CFLAGS): likewise
23122 (parttool_mod_LDFLAGS): likewise
23123 (pcpart_mod_SOURCES): likewise
23124 (pcpart_mod_CFLAGS): likewise
23125 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23126 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23127 and parttool/pcpart.c
23128 * conf/i386-efi.rmk: likewise
23129 * conf/i386-ieee1275.rmk: likewise
23130 * conf/i386-pc.rmk: likewise
23131 * conf/powerpc-ieee1275.rmk: likewise
23132 * conf/sparc64-ieee1275.rmk: likewise
23133 * conf/x86_64-ieee1275.rmk: likewise
23134
05aaebfb 231352009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23136
23137 Support for mtime and further expandability of dir command
23138
23139 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23140 * include/grub/datetime.h: ... moved here and added
05aaebfb 23141 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23142 * include/grub/fs.h: new syntax for dir and mtime functions in
23143 struct grub_fs
05aaebfb 23144 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23145 and GRUB_FSHELP_FLAGS_MASK
23146 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23147 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23148 (grub_ext2_mtime): new function
23149 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23150 (grub_hfsplus_mtime): new function
23151 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23152 (GRUB_UFS_ATTR_FILE): likewise
23153 (GRUB_UFS_ATTR_LNK): likewise
23154 (struct grub_ufs_sblock): new fields mtime
23155 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23156 all users updated
23157 (grub_ufs_dir): mtime support
23158 (grub_ufs_mtime): new function
23159 * fs/affs.c (grub_affs_dir): use new dir syntax
23160 * fs/afs.c (grub_afs_dir): likewise
23161 * fs/cpio.c (grub_cpio_dir): likewise
23162 * fs/fat.c (grub_fat_find_dir): likewise
23163 * fs/hfs.c (grub_hfs_dir): likewise
23164 * fs/iso9660.c (grub_iso9660_dir): likewise
23165 * fs/jfs.c (grub_jfs_dir): likewise
23166 * fs/minix.c (grub_minix_dir): likewise
23167 * fs/ntfs.c (grub_ntfs_dir): likewise
23168 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23169 * fs/sfs.c (grub_sfs_dir): likewise
23170 * fs/xfs.c (grub_xfs_dir): likewise
23171 * util/hostfs.c (grub_hostfs_dir): likewise
23172 * lib/datetime.c: moved to ...
23173 * normal/datetime.c: ... moved here
23174 (grub_unixtime2datetime): new function
23175 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23176 * normal/completion.c (iterate_dir): use new dir syntax
23177 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23178 last modification time of a volume
7dd4a573 23179 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23180 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23181 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23182 (normal_mod_SOURCES): likewise
23183 (datetime_mod_SOURCES): Removed lib/datetime.c
23184 * conf/i386-efi.rmk: likewise
7dd4a573 23185 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23186 * conf/i386-pc.rmk: likewise
23187 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23188 * conf/sparc64-ieee1275.rmk: likewise
23189 * conf/x86_64-efi.rmk: likewise
05aaebfb 23190
8a7e1a14 231912009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23194
23195 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23196 on grub_fat_find_dir
23197 (grub_fat_find_dir): use grub_fat_iterate_dir
23198 (grub_fat_label): likewise
23199
04186a9c 232002009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23201
7dd4a573 23202 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23203 and command.h
23204 remove extraneous kernel_elf_HEADERS
23205
da4c0bb6 232062009-04-04 Bean <bean123ch@gnail.com>
23207
23208 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23209
23210 * util/misc.c: Likewise.
23211
54ad9555 232122009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23213
23214 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23215 instead of grub_printf.
23216
7a6bf9f2 232172009-04-03 Robert Millan <rmh@aybabtu.com>
23218
23219 * loader/i386/linux.c (grub_linux_setup_video): Fill
23220 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23221 values from `mode info' structure instead of hardcoded
23222 values.
23223
3fcc2083 232242009-04-01 Pavel Roskin <proski@gnu.org>
23225
23226 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23227 unused now.
23228 * genmk.rb: Likewise.
23229 * configure.ac: Likewise.
23230
5ec9740b 232312009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23232
23233 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23234 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23235
5270cec8 232362009-04-01 David S. Miller <davem@davemloft.net>
23237
23238 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23239 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23240 (grub_setjmp): Mark with 'returns_twice' attribute.
23241 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23242 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23243 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23244
9c3dd854 232452009-04-01 Robert Millan <rmh@aybabtu.com>
23246
23247 Reapply fix from 2008-07-28 which was accidentally reverted; also
23248 perform the same fix to a similar check in same function.
23249
23250 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23251 with the same number are found, just use issue a warning with
23252 grub_dprintf(), as this error has been reported to be non-fatal.
23253
0d818b7e 232542009-03-31 Pavel Roskin <proski@gnu.org>
23255
23256 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23257 for cross-compilation.
23258
95646d92 232592009-03-30 Robert Millan <rmh@aybabtu.com>
23260
23261 Fix i386-ieee1275 build.
23262
23263 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23264 Remove declaration.
23265
6a003ed1 232662009-03-30 Pavel Roskin <proski@gnu.org>
23267
23268 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23269 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23270 zero-terminated, rely only on the strlen value. Fix comparison
23271 of strings differing in length.
23272
92f33540 232732009-03-30 Robert Millan <rmh@aybabtu.com>
23274
23275 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23276 checking for abi version. Improve error messages on BIOS to notify
23277 user about `linux16' command.
23278
a8c48fd5 232792009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23280
f968172e 23281 Leak fixes
a8c48fd5 23282
f968172e 23283 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23284 in case of collision
23285 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23286
9c323f09 232872009-03-29 Robert Millan <rmh@aybabtu.com>
23288
23289 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23290 set `vid_mode' accordingly.
23291 (grub_linux_boot): Process `vid_mode' and set video mode.
23292
ae68f423 232932009-03-29 Robert Millan <rmh@aybabtu.com>
23294
23295 * util/grub.d/10_linux.in (linux_entry): New function.
23296 Factorize generation of Linux boot entries.
23297
5709cfc4 232982009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23299
23300 Make the format of Environment Block plain text. The boot loader
23301 part is not tested well yet.
7dd4a573 23302
5709cfc4 23303 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23304 (buffer): Removed.
23305 (envblk): Likewise.
23306 (usage): Remove "info" and "clear". Add "unset". Update the
23307 description of "set", as this does not delete variables any
23308 longer.
23309 (create_envblk_file): Complete rewrite.
23310 (open_envblk_file): Likewise.
23311 (cmd_info): Removed.
23312 (cmd_list): Likewise.
23313 (cmd_set): Likewise.
23314 (cmd_clear): Likewise.
23315 (list_variables): New function.
23316 (write_envblk): Likewise.
23317 (set_variables): Likewise.
23318 (unset_variables): Likewise.
23319 (main): Complete rewrite.
23320
23321 * commands/loadenv.c (buffer): Removed.
23322 (envblk): Likewise.
23323 (open_envblk_file): New function.
23324 (read_envblk_file): Complete rewrite.
23325 (grub_cmd_load_env): Likewise.
23326 (grub_cmd_list_env): Likewise.
23327 (struct blocklist): New struct.
23328 (free_blocklists): New function.
23329 (check_blocklists): Likewise.
23330 (write_blocklists): Likewise.
23331 (grub_cmd_save_env): Complete rewrite.
23332
23333 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23334 a plain text signature.
23335 (GRUB_ENVBLK_MAXLEN): Removed.
23336 (struct grub_envblk): Complete rewrite.
23337 (grub_envblk_find): Removed.
23338 (grub_envblk_insert): Likewise.
23339 (grub_envblk_open): New prototype.
23340 (grub_envblk_set): Likewise.
23341 (grub_envblk_delete): Put const to VALUE.
23342 (grub_envblk_iterate): Put const to NAME and VALUE.
23343 (grub_envblk_close): New prototype.
23344 (grub_envblk_buffer): New inline function.
23345 (grub_envblk_size): Likewise.
23346
23347 * lib/envblk.c: Include grub/mm.h.
23348 (grub_env_find): Removed.
23349 (grub_envblk_open): New function.
23350 (grub_envblk_close): Likewise.
23351 (escaped_value_len): Likewise.
23352 (find_next_line): Likewise.
23353 (grub_envblk_insert): Removed.
23354 (grub_envblk_set): New function.
23355 (grub_envblk_delete): Complete rewrite.
23356 (grub_envblk_iterate): Likewise.
23357
a9368fd3 233582009-03-28 Robert Millan <rmh@aybabtu.com>
23359
23360 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23361 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23362 variables. Use 16-bit loader.
23363 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23364 loader.
23365 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23366 (grub_linux16_boot): ... this. Update all users.
23367 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23368 (grub_linux_boot): ... this. Update all users.
23369
23370 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23371 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23372 commands to `linux16' and `initrd16'.
23373 (GRUB_MOD_FINI(linux)): Rename to ...
23374 (GRUB_MOD_FINI(linux16)): ... this.
23375
e4dd5a7e 233762009-03-24 Pavel Roskin <proski@gnu.org>
23377
23378 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23379 not just for compilation.
23380
c04d6e05 233812009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23382
23383 Move multiboot helper out of kernel
23384
23385 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23386 `loader/i386/multiboot_helper.S'.
23387 * conf/i386-coreboot.rmk: Likewise
23388 * conf/i386-ieee1275.rmk: Likewise
23389
23390 * kern/i386/loader.S: Move multiboot helpers from here...
23391 * loader/i386/multiboot_helper.S: ...moved here
23392 * include/grub/i386/loader.h: Move declarations of multiboot
23393 helpers from here...
23394 * include/grub/i386/multiboot.h: ...moved here
23395 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23396
42a5b3fc 233972009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23398
23399 * kern/env.c (grub_env_context_open): Added an argument to specify
23400 whether a new context inherits exported variables from current
23401 one. This is useful when making a sandbox to interpret a config
23402 file.
23403 All callers updated.
23404
23405 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23406
b28bbc4e 234072009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23408
23409 * kern/env.c (grub_env_context_close): Fix memory leaks.
23410
f04f02e4 234112009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23412
23413 * normal/main.c (grub_normal_execute): Added an argument
23414 BATCH to specify if an interactive interface should be provided
23415 after reading a config file.
23416 All callers updated.
23417 (read_command_list): Prevent being executed twice.
23418 (read_fs_list): Likewise.
23419
42a5b3fc 23420 * include/grub/normal.h (grub_normal_execute): Updated the
23421 prototype.
f04f02e4 23422
41473ac2 234232009-03-22 Pavel Roskin <proski@gno.org>
23424
fbc00b0c 23425 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23426 _start.
23427 * kern/i386/pc/startup.S: Likewise.
23428 * kern/i386/efi/startup.S: Likewise.
23429 * kern/i386/ieee1275/startup.S: Likewise.
23430 * kern/i386/coreboot/startup.S: Likewise.
23431 * kern/x86_64/efi/startup.S: Likewise.
23432
41473ac2 23433 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23434 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23435 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23436
2274cc8f 234372009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23438
23439 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23440
23441 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23442 limit detection.
23443 Use vaddr of correct segment for entry_point.
23444
b1b797cb 234452009-03-21 Bean <bean123ch@gmail.com>
23446
23447 * commands/blocklist.c: Add include file <grub/command.h>, remove
23448 <grub/normal.h> and <grub/arg.h>.
23449 (grub_cmd_blocklist): Use the new command interface.
23450 (GRUB_MOD_INIT): Likewise.
23451 (GRUB_MOD_FINI): Likewise.
23452 * commands/boot.c: Likewise.
23453 * commands/cat.c: Likewise.
23454 * commands/cmp.c: Likewise.
23455 * commands/configfile.c: Likewise.
23456 * commands/crc.c: Likewise.
23457 * commands/echo.c: Likewise.
23458 * commands/halt.c: Likewise.
23459 * commands/handler.c: Likewise.
23460 * commands/hdparm.c: Likewise.
23461 * commands/help.c: Likewise.
23462 * commands/hexdump.c: Likewise.
23463 * commands/loadenv.c: Likewise.
23464 * commands/ls.c: Likewise.
23465 * commands/lsmmap.c: Likewise.
23466 * commands/lspci.c: Likewise.
23467 * commands/loadenv.c: Likewise.
23468 * commands/read.c: Likewise.
23469 * commands/reboot.c: Likewise.
23470 * commands/search.c: Likewise.
23471 * commands/sleep.c: Likewise.
23472 * commands/test.c: Likewise.
23473 * commands/usbtest.c: Likewise.
23474 * commands/videotest.c: Likewise.
23475 * commands/i386/cpuid.c: Likewise.
23476 * commands/i386/pc/halt.c: Likewise.
23477 * commands/i386/pc/play.c: Likewise.
23478 * commands/i386/pc/pxecmd.c: Likewise.
23479 * commands/i386/pc/vbeinfo.c: Likewise.
23480 * commands/i386/pc/vbetest.c: Likewise.
23481 * commands/ieee1275/suspend.c: Likewise.
23482 * disk/loopback.c: Likewise.
23483 * font/font_cmd.c: Likewise.
23484 * hello/hello.c: Likewise.
23485 * loader/efi/appleloader.c: Likewise.
23486 * loader/efi/chainloader.c: Likewise.
23487 * loader/i386/bsd.c: Likewise.
23488 * loader/i386/efi/linux.c: Likewise.
23489 * loader/i386/ieee1275/linux.c: Likewise.
23490 * loader/i386/linux.c: Likewise.
23491 * loader/i386/pc/chainloader.c: Likewise.
23492 * loader/i386/pc/linux.c: Likewise.
23493 * loader/powerpc/ieee1275/linux.c: Likewise.
23494 * loader/multiboot_loader.c: Likewise.
23495 * term/gfxterm.c: Likewise.
23496 * term/i386/pc/serial.c: Likewise.
23497 * term/terminfo.c: Likewise.
23498
23499 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
23500 * term/i386/pc/vga.c: Likewise.
23501 * video/readers/jpeg.c: Likewise.
23502 * video/readers/png.c: Likewise.
23503 * video/readers/tga.c: Likewise.
23504
23505 * util/grub-fstest (cmd_loopback): Removed.
23506 (cmd_blocklist): Likewise.
23507 (cmd_ls): Likewise.
23508 (grub_register_command): Likewise.
23509 (grub_unregister_command): Likewise.
23510 (execute_command): Use grub_command_find to locate command and execute
23511 it.
23512
23513 * include/grub/efi/chainloader.h: Removed.
23514 * loader/efi/chainloader_normal.c: Likewise.
23515 * loader/i386/bsd_normal.c: Likewise.
23516 * loader/i386/pc/chainloader_normal.c: Likewise.
23517 * loader/i386/pc/multiboot_normal.c: Likewise.
23518 * loader/linux_normal.c: Likewise.
23519 * loader/multiboot_loader_normal.c: Likewise.
23520 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23521
23522 * gencmdlist.sh: Scan new registration command grub_register_extcmd
23523 and grub_register_command_p1.
23524
23525 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
23526 kern/command.c, lib/arg.c and commands/extcmd.c.
23527 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
23528 (minicmd_mod_SOURCES): New variable.
23529 (minicmd_mod_CFLAGS): Likewise.
23530 (minicmd_mod_LDFLAGS): Likewise.
23531 (extcmd_mod_SOURCES): Likewise.
23532 (extcmd_mod_CFLAGS): Likewise.
23533 (extcmd_mod_LDFLAGS): Likewise.
23534 (boot_mod_SOURCES): Removed.
23535 (boot_mod_CFLAGS): Likewise.
23536 (boot_mod_LDFLAGS): Likewise.
23537
23538 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
23539 kern/corecmd.c.
23540 (kernel_img_HEADERS): Add command.h.
23541 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
23542 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
23543 and lib/arg.c.
23544 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
23545 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
23546 remove the corresponding normal mode command.
23547 (normal_mod_SOURCES): Remove normal/arg.c.
23548 * conf/i386-coreboot.rmk: Likewise.
23549 * conf/i386-efi.rmk: Likewise.
23550 * conf/i386-ieee1275.rmk: Likewise.
23551 * conf/powerpc-ieee1275.rmk: Likewise.
23552 * conf/x86_64-efi.rmk: Likewise.
23553
23554 * include/grub/arg.h: Move from here ...
23555 * include/grub/lib/arg.h: ... to here.
23556
23557 * normal/arg.c: Move from here ...
23558 * lib/arg.c: ... to here.
23559
23560 * commands/extcmd.c: New file.
23561 * commands/minicmd.c: Likewise.
23562 * include/grub/command.h: Likewise.
23563 * include/grub/extcmd.h: Likewise.
23564 * kern/command.c: Likewise.
23565 * kern/corecmd.c: Likewise.
23566
23567 * kern/list.c (grub_list_iterate): Return int instead of void.
23568 (grub_list_insert): New function.
23569 (grub_prio_list_insert): Likewise.
23570
23571 * kern/rescue.c (grub_rescue_command): Removed.
23572 (grub_rescue_command_list): Likewise.
23573 (grub_rescue_register_command): Likewise.
23574 (grub_rescue_unregister_command): Likewise.
23575 (grub_rescue_cmd_boot): Move to minicmd.c
23576 (grub_rescue_cmd_help): Likewise.
23577 (grub_rescue_cmd_info): Likewise.
23578 (grub_rescue_cmd_boot): Likewise.
23579 (grub_rescue_cmd_testload): Likewise.
23580 (grub_rescue_cmd_dump): Likewise.
23581 (grub_rescue_cmd_rmmod): Likewise.
23582 (grub_rescue_cmd_lsmod): Likewise.
23583 (grub_rescue_cmd_exit): Likewise.
23584 (grub_rescue_print_devices): Moved to corecmd.c.
23585 (grub_rescue_print_files): Likewise.
23586 (grub_rescue_cmd_ls): Likewise.
23587 (grub_rescue_cmd_insmod): Likewise.
23588 (grub_rescue_cmd_set): Likewise.
23589 (grub_rescue_cmd_unset): Likewise.
7d074e3c 23590 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 23591 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 23592 commands, remove grub_rescue_register_command calls.
b1b797cb 23593
7d074e3c 23594 * normal/command.c (grub_register_command): Removed.
b1b797cb 23595 (grub_unregister_command): Likewise.
23596 (grub_command_find): Likewise.
23597 (grub_iterate_commands): Likewise.
23598 (rescue_command): Likewise.
23599 (export_command): Moved to corecmd.c.
23600 (set_command): Removed.
23601 (unset_command): Likewise.
23602 (insmod_command): Likewise.
23603 (rmmod_command): Likewise.
23604 (lsmod_command): Likewise.
23605 (grub_command_init): Likewise.
23606
23607 * normal/completion.c (iterate_command): Use cmd->prio to check for
23608 active command.
23609 (complete_arguments): Use grub_extcmd_t structure to find options.
23610 (grub_normal_do_completion): Change function grub_iterate_commands to
23611 grub_command_iterate.
23612
23613 * normal/execute.c (grub_script_execute_cmd): No need to parse
23614 argument here.
23615
23616 * normal/main.c (grub_dyncmd_dispatcher): New function.
23617 (read_command_list): Register unload commands as dyncmd.
23618 (grub_cmd_normal): Use new command interface, register rescue,
23619 unregister normal at entry, register normal, unregister rescue at exit.
23620
23621 * include/grub/list.h (grub_list_test_t): New type.
23622 (grub_list_iterate): Return int instead of void.
23623 (grub_list_insert): New function.
23624 (GRUB_AS_NAMED_LIST_P): New macro.
23625 (GRUB_AS_PRIO_LIST): Likewise.
23626 (GRUB_AS_PRIO_LIST_P): Likewise.
23627 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
23628 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
23629 (grub_prio_list): New structure.
23630 (grub_prio_list_insert): New function.
23631 (grub_prio_list_remove): New inline function.
23632
23633 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
23634 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
23635 (GRUB_COMMAND_FLAG_MENU): Likewise.
23636 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23637 (GRUB_COMMAND_FLAG_TITLE): Likewise.
23638 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23639 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
23640 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
23641 (grub_command): Likewise.
23642 (grub_register_command): Likewise.
23643 (grub_command_find): Likewise.
23644 (grub_iterate_commands): Likewise.
23645 (grub_command_init): Likewise.
23646 (grub_arg_parse): Likewise.
23647 (grub_arg_show_help): Likewise.
23648
23649 * include/grub/rescue.h (grub_rescue_register_command): Removed.
23650 (grub_rescue_unregister_command): Likewise.
23651
23652 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
23653 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
23654 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
23655
23656 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
23657 grub_rescue_cmd_initrd.
23658 * include/grub/i386/loader.h: Likewise.
23659 * include/grub/x86_64/loader.h: Likewise.
23660
23661 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
23662
1f4147aa 236632009-03-21 Bean <bean123ch@gmail.com>
23664
23665 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
23666 instead of stat in mingw environment.
23667
23668 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
23669
23670 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
23671
23672 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
23673 AC_CONFIG_LINKS.
23674
2156d5ba 236752009-03-21 Bean <bean123ch@gmail.com>
23676
23677 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
23678 out of range error.
23679
177b82ca 236802009-03-18 Michel Dänzer <michel@daenzer.net>
23681
23682 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
23683 checking inode flags for EXT4_EXTENTS_FLAG.
23684
14aad807 236852009-03-18 Robert Millan <rmh@aybabtu.com>
23686
23687 * loader/i386/linux.c: Include `<grub/video.h>' and
23688 `<grub/i386/pc/vbe.h>'..
23689 (grub_linux_setup_video): New function. Loosely based on the EFI one.
23690 (grub_linux32_boot): Attempt to configure video settings with
23691 grub_linux_setup_video().
23692 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
23693 to avoid grub_console_fini() which would step out of graphical mode
23694 unconditionally.
23695
8cf83a27 236962009-03-14 Robert Millan <rmh@aybabtu.com>
23697
23698 Fix build on powerpc.
23699 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
23700
40164e75 237012009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
23704 background image command.
23705
c58bc32a 237062009-03-12 Colin D Bennett <colin@gibibit.com>
23707
23708 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
23709 (grub_gfxterm_putchar): Extract pairs of identical calls to
23710 draw_cursor out of conditional blocks.
23711
5415144a 237122009-03-11 Pavel Roskin <proski@gnu.org>
23713
23714 * fs/hfs.c (grub_hfs_strncasecmp): New function.
23715 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
23716
6394042e 237172009-03-11 Robert Millan <rmh@aybabtu.com>
23718
23719 * loader/i386/multiboot_elfxx.c
23720 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
23721
b7b50e5f 237222009-03-11 Felix Zielcke <fzielcke@z-51.de>
23723
23724 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
23725 `kern/handler.c'.
23726
1ca7fc96 237272009-03-11 Robert Millan <rmh@aybabtu.com>
23728
23729 * loader/i386/multiboot.c (code_size): New variable.
23730 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 23731 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 23732 4-byte alignment to MBI and others by increasing
7d074e3c 23733 `boot_loader_name_length' appropriately.
1ca7fc96 23734
23735 * loader/i386/multiboot_elfxx.c
23736 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23737
a83ea1d2 237382009-03-09 Felix Zielcke <fzielcke@z-51.de>
23739
23740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23741 `fs/ext2.c'.
23742
aa9f3bff 237432009-03-08 Robert Millan <rmh@aybabtu.com>
23744
23745 Make loader/i386/linux.c usable on i386-pc again.
23746
23747 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23748 memory to heap.
23749 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23750 `#error' stanza.
23751
d8b3b60e 237522009-03-07 Bean <bean123ch@gmail.com>
23753
23754 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23755 allocation.
23756
b362c9e9 237572009-03-06 Robert Millan <rmh@aybabtu.com>
23758
23759 Fix display issue on terminals with screen size other than 80x25
23760 (e.g. gfxterm with resolution higher than 640x480).
23761
23762 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 23763 position relative to the center of the terminal instead of relying
b362c9e9 23764 on a hardcoded offset.
23765
9304eef1 237662009-03-04 Robert Millan <rmh@aybabtu.com>
23767
23768 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23769 installed.
23770
23771 * Makefile.in (host_kernel): New variable.
23772 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23773 scripts instead of just the windows one.
23774 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23775
eabc95fb 237762009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 23777
23778 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23779 `kern/handler.c'.
23780 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23781 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23782 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23783 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23784 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23785 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23786
ceb1223c 237872009-03-04 Felix Zielcke <fzielcke@z-51.de>
23788
23789 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
23790 or if there's no space for the disk label and print the partition number on a
23791 invalid magic.
23792
4910684a 237932009-03-04 Felix Zielcke <fzielcke@z-51.de>
23794
23795 * util/misc.c: Include <time.h>.
23796 (grub_millisleep): New function.
23797
7e9ca17a 237982009-03-04 Bean <bean123ch@gmail.com>
23799
23800 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
23801 another option -mno-red-zone.
23802
23803 * commands/handler.c: Change module description.
23804
23805 * kern/handler.c: Add missing space at the end of description line.
23806
23807 * kern/list.c: Likewise.
23808
f501677c 238092009-03-03 Robert Millan <rmh@aybabtu.com>
23810
23811 Move more components to the relocation area, and fix mbi pointer
23812 handling to use the destination rather than the origin (thanks to
23813 Vladimir Serbinenko for spotting).
23814
23815 * loader/i386/multiboot.c (mbi_dest): New variable.
23816 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
23817 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
23818 relocation area.
23819
9902d047 238202009-03-01 Bean <bean123ch@gmail.com>
23821
50fb7002 23822 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 23823 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
23824 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
23825 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
23826
23827 * loader/i386/efi/linux.c (acpi_guid): New variable.
23828 (acpi_guid): Likewise.
23829 (EBDA_SEG_ADDR): New constant.
23830 (LOW_MEM_ADDR): Likewise.
23831 (FAKE_EBDA_SEG): Likewise.
23832 (fake_bios_data): New function.
23833 (grub_linux_boot): Call fake_bios_data.
23834
71b9f361 238352009-03-01 Bean <bean123ch@gmail.com>
23836
23837 * commands/terminal.c: Removed.
23838
23839 * commands/handler.c: New file.
23840
23841 * include/grub/list.h: Likewise.
23842
23843 * include/grub/handler.h: Likewise.
23844
23845 * kern/list.c: Likewise.
23846
23847 * kern/handler.c: Likewise.
23848
23849 * kern/term.h: Include header file <grub/handler.h>.
23850 (grub_term_input): Move next field to the beginning.
23851 (grub_term_output): Likewise.
23852 (grub_term_input_class): New variable.
23853 (grub_term_output_class): Likewise.
23854 (grub_term_register_input): Changed to inline function.
23855 (grub_term_register_output): Likewise.
23856 (grub_term_unregister_input): Likewise.
23857 (grub_term_unregister_output): Likewise.
23858 (grub_term_set_current_input): Likewise.
23859 (grub_term_set_current_output): Likewise.
23860 (grub_term_get_current_input): Likewise.
23861 (grub_term_get_current_output): Likewise.
23862 (grub_term_iterate_input): Removed.
23863 (grub_term_iterate_output): Likewise.
23864
23865 * kern/term.c (grub_term_list_input): Removed.
23866 (grub_term_list_output): Likewise.
23867 (grub_term_input_class): New variable.
23868 (grub_term_output_class): Likewise.
50fb7002 23869 (grub_cur_term_input): Change variable as macro.
71b9f361 23870 (grub_cur_term_output): Likewise.
23871 (grub_term_register_input): Removed.
23872 (grub_term_register_output): Likewise.
23873 (grub_term_unregister_input): Likewise.
23874 (grub_term_unregister_output): Likewise.
23875 (grub_term_set_current_input): Likewise.
23876 (grub_term_set_current_output): Likewise.
23877 (grub_term_iterate_input): Likewise.
23878 (grub_term_iterate_output): Likewise.
23879 (grub_term_get_current_input): Likewise.
23880 (grub_term_get_current_output): Likewise.
23881
23882 * util/grub-editenv.c: Include header file <grub/handler.h>.
23883 (grub_term_get_current_input): Removed.
23884 (grub_term_get_current_output): Likewise.
23885 (grub_term_input_class): New variable.
50fb7002 23886 (grub_term_output_class): Likewise.
71b9f361 23887
23888 * util/grub-fstest.c (grub_term_get_current_input): Removed.
23889 (grub_term_get_current_output): Likewise.
23890 (grub_term_input_class): New variable.
50fb7002 23891 (grub_term_output_class): Likewise.
71b9f361 23892
23893 * util/grub-probe.c (grub_term_get_current_input): Removed.
23894 (grub_term_get_current_output): Likewise.
23895 (grub_term_input_class): New variable.
50fb7002 23896 (grub_term_output_class): Likewise.
71b9f361 23897
23898 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
23899 (grub_term_get_current_output): Likewise.
23900 (grub_term_input_class): New variable.
50fb7002 23901 (grub_term_output_class): Likewise.
71b9f361 23902
23903 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
23904 (terminal_mod_SOURCES): Likewise.
23905 (terminal_mod_CFLAGS): Likewise.
23906 (terminal_mod_LDFLAGS): Likewise.
23907
23908 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
23909 handler.c.
23910 (kernel_img_SOURCES): Add list.c and handler.c.
23911 (kernel_img_HEADERS): Add list.h and handler.h.
23912
23913 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23914 handler.c.
23915 (kernel_mod_SOURCES): Add list.c and handler.c.
23916 (kernel_mod_HEADERS): Add list.h and handler.h.
23917
23918 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
23919 handler.c.
23920 (kernel_elf_SOURCES): Add list.c and handler.c.
23921 (kernel_elf_HEADERS): Add list.h and handler.h.
23922
23923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23924 handler.c.
23925 (kernel_elf_SOURCES): Add list.c and handler.c.
23926 (kernel_elf_HEADERS): Add list.h and handler.h.
23927
23928 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23929 handler.c.
23930 (kernel_mod_SOURCES): Add list.c and handler.c.
23931 (kernel_mod_HEADERS): Add list.h and handler.h.
23932
23933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23934 handler.c.
23935 (kernel_elf_SOURCES): Add list.c and handler.c.
23936 (kernel_elf_HEADERS): Add list.h and handler.h.
23937
8a31787f 239382009-02-27 Robert Millan <rmh@aybabtu.com>
23939
23940 Factorize elf32 / elf64 code in Multiboot loader. This will
23941 prevent it from getting out of sync again.
23942
23943 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
23944 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
23945 grub_multiboot_load_elf64): Move from here ...
23946 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
23947 grub_multiboot_load_elf): ... to here (new file).
23948
51cd3dfc 239492009-02-27 Robert Millan <rmh@aybabtu.com>
23950
23951 * util/grub.d/10_linux.in: Rename "single-user mode" to
23952 "recovery mode".
23953
6e8c9c3a 239542009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
23955
23956 Don't leak in SCSI code.
23957 * disk/scsi.c (grub_scsi_close): free `scsi'.
23958
4b6bf4f9 239592009-02-27 Robert Millan <rmh@aybabtu.com>
23960
23961 * loader/i386/pc/multiboot.c: Move from here ...
23962 * loader/i386/multiboot.c: ... to here. Update all users.
23963
b9413424 239642009-02-27 Robert Millan <rmh@aybabtu.com>
23965
23966 Patch from Alexandre Bique <bique.alexandre@gmail.com>
23967 * util/i386/pc/grub-setup.c (setup): Fix directory path.
23968
50fb7002 239692009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 23970
23971 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
23972 b-tree.
23973
8cc50345 239742009-02-27 Robert Millan <rmh@aybabtu.com>
23975
23976 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
23977 `0x' qualifier as 0 when base is specified as parameter).
23978
6e09b8b7 239792009-02-24 Bean <bean123ch@gmail.com>
23980
23981 * configure.ac: Check for -mcmodel=large in x86_64 target.
23982
23983 * include/grub/efi/api.h (efi_call_10): New macro.
23984 (efi_wrap_10): New function.
23985
23986 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
23987 (GRUB_PE32_REL_BASED_HIGH): Likewise.
23988 (GRUB_PE32_REL_BASED_LOW): Likewise.
23989 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
23990 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
23991 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
23992 (GRUB_PE32_REL_BASED_SECTION): Likewise.
23993 (GRUB_PE32_REL_BASED_REL): Likewise.
23994 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
23995 (GRUB_PE32_REL_BASED_DIR64): Likewise.
23996 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
23997
23998 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
23999 issue.
24000
24001 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24002 (efi_wrap_10): New function.
24003
24004 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24005
24006 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24007 MB/MBP model (NV chipset).
24008 (devdata_devs): Add devpath_5 to the list.
24009
24010 * load/i386/efi/linux.c (video_base): Remove variable.
24011 (RGB_MASK): New macro.
24012 (RGB_MAGIC): Likewise.
24013 (LINE_MIN): Likewise.
24014 (LINE_MAX): Likewise.
24015 (FBTEST_STEP): Likewise.
24016 (FBTEST_COUNT): Likewise.
24017 (fb_list): New variable.
24018 (grub_find_video_card): Remove function.
24019 (find_framebuf): New function.
24020 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24021 line length.
24022
24023 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24024 problem for x86_64.
24025
74b21bee 240262009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24027
24028 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24029
24030 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24031 coding tool name.
24032
a455f472 240332009-02-22 Robert Millan <rmh@aybabtu.com>
24034
24035 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24036 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24037 in our relocation, instead of using it directly from heap. Also
24038 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24039
6374daf3 240402009-02-21 Robert Millan <rmh@aybabtu.com>
24041
24042 Implement USB keyboard support (based on patch by Marco Gerards)
24043
24044 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24045 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24046 (usb_keyboard_mod_LDFLAGS): New variables.
24047
24048 * term/usb_keyboard.c: New file.
24049
8fa4ea70 240502009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 Corrected wrong declaration
24053
24054 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24055
353976ac 240562009-02-14 Christian Franke <franke@computer.org>
24057
24058 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24059 (grub_lspci_iter): Print class code and programming interface byte.
24060
6aa1169b 240612009-02-14 Christian Franke <franke@computer.org>
24062
24063 * gendistlist.sh: Ignore `.svn' directories.
24064
265372ca 240652009-02-14 Felix Zielcke <fzielcke@z-51.de>
24066
24067 * fs/fat.c: Add 2009 to Copyright line.
24068
9ff516f3 240692009-02-14 Christian Franke <franke@computer.org>
24070
24071 * commands/hdparm.c: New file. Provides `hdparm' command
24072 which sends ATA commands via grub_disk_ata_pass_through ().
24073
24074 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24075
24076 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24077 and <grub/cpu/io.h> to include/grub/ata.h.
24078 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24079 (GRUB_CDROM_SECTOR_SIZE): Remove.
24080 (GRUB_ATA_*): Move to include/grub/ata.h.
24081 (GRUB_ATAPI_*): Likewise.
24082 (enum grub_ata_commands): Likewise.
24083 (enum grub_ata_timeout_milliseconds): Likewise.
24084 (struct grub_ata_device): Likewise.
24085 (grub_ata_regset): Likewise.
24086 (grub_ata_regget): Likewise.
24087 (grub_ata_regset2): Likewise.
24088 (grub_ata_regget2): Likewise.
24089 (grub_ata_check_ready): Likewise.
24090 (grub_ata_wait_not_busy): Remove static, exported in
24091 include/grub/ata.h.
24092 (grub_ata_wait_drq): Likewise.
24093 (grub_ata_pio_read): Likewise.
24094
24095 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24096 function for hdparm.mod.
24097
24098 * include/grub/ata.h: New file, contains declarations from
24099 disk/ata.c.
24100 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24101
24102 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24103 (grub_disk_ata_pass_through): New exported variable.
24104
24105 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24106
772e23da 241072009-02-13 Colin D Bennett <colin@gibibit.com>
24108
24109 Support multiple fallback entries, and provide an API to support
24110 executing default+fallback menu entries. Renamed the `terminal' menu
24111 viewer to `text'.
24112
24113 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24114 variable declaration.
24115 (grub_menu_execute_callback): New structure declaration.
24116 (grub_menu_execute_callback_t): New typedef.
24117 (grub_menu_execute_with_fallback): New function declaration.
24118 (grub_menu_get_entry): Likewise.
24119 (grub_menu_get_timeout): Likewise.
24120 (grub_menu_set_timeout): Likewise.
24121
24122 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24123
24124 * normal/menu.c (grub_wait_after_message): Moved to
24125 `normal/menu_text.c'.
24126 (draw_border): Likewise.
24127 (print_message): Likewise.
24128 (print_entry): Likewise.
24129 (print_entries): Likewise.
24130 (grub_menu_init_page): Likewise.
24131 (get_entry_number): Likewise.
24132 (print_timeout): Likewise.
24133 (run_menu): Likewise.
24134 (grub_menu_execute_entry): Likewise.
24135 (show_text_menu): Likewise.
24136 (get_and_remove_first_entry_number): New function.
24137 (grub_menu_execute_with_fallback): Likewise.
24138 (get_entry): Renamed to ...
24139 (grub_menu_get_entry): .. this and made it global.
24140 (get_timeout): Renamed to ...
24141 (grub_menu_get_timeout): ... this and made it global.
24142 (set_timeout): Renamed to ...
24143 (grub_menu_set_timeout): ... this and made it global.
24144 (grub_normal_terminal_menu_viewer): Renamed to ...
24145 (grub_normal_text_menu_viewer): ... this.
24146
24147 * normal/menu_text.c: New file. Extracted text-menu-specific code
24148 from normal/menu.c.
24149
24150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24151 (normal_mod_SOURCES): Likewise.
24152
24153 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24154 (normal_mod_SOURCES): Likewise.
24155
24156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24157 (normal_mod_SOURCES): Likewise.
24158
24159 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24160 (normal_mod_SOURCES): Likewise.
24161
24162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24163 (normal_mod_SOURCES): Likewise.
24164
24165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24166 (normal_mod_SOURCES): Likewise.
24167
24168 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24169 (normal_mod_SOURCES): Likewise.
24170
16ac430e 241712009-02-11 Robert Millan <rmh@aybabtu.com>
24172
24173 * util/grub.d/00_header.in: Update old reference to `font' command.
24174
06ff20fc 241752009-02-10 Felix Zielcke <fzielcke@z-51.de>
24176
24177 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24178
24179 Based on patch from Javier Martín.
24180
96da9407 241812009-02-09 Felix Zielcke <fzielcke@z-51.de>
24182
24183 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24184 to avoid false positives with FAT.
96da9407 24185 (grub_fstest_SOURCES): Likewise.
24186 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24187 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24189 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24190 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24191 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24192
6dca6fe4 241932009-02-09 Felix Zielcke <fzielcke@z-51.de>
24194
06ff20fc 24195 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24196 bpb.version_specific.fat12_or_fat16.fstype and
24197 bpb.version_specific.fat32.fstype.
24198
2550c62f 241992009-02-08 Robert Millan <rmh@aybabtu.com>
24200
be110b30 24201 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24202
56978920 242032009-02-08 Robert Millan <rmh@aybabtu.com>
24204
24205 * Makefile.in (host_os, host_cpu): New variables.
24206 (target_os): Remove. Update all users.
24207
d64399b5 242082009-02-08 Marco Gerards <marco@gnu.org>
24209
24210 * Makefile.in (enable_grub_emu_usb): New variable.
24211 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24212 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24213 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24214 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24215 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24216 `usbtest.mod' and `usbms.mod'.
24217 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24218 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24219 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24220 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24221 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24222 variables.
24223
24224 * disk/usbms.c: New file.
24225
24226 * include/grub/usb.h: Likewise.
24227
24228 * include/grub/usbtrans.h: Likewise.
24229
24230 * include/grub/usbdesc.h: Likewise.
24231
24232 * bus/usb/usbtrans.c: Likewise.
24233
24234 * bus/usb/ohci.c: Likewise.
24235
24236 * bus/usb/uhci.c: Likewise.
24237
24238 * bus/usb/usbhub.c: Likewise.
24239
24240 * bus/usb/usb.c: Likewise.
24241
24242 * commands/usbtest.c: Likewise.
24243
24244 * util/usb.c: Likewise.
50fb7002 24245
d64399b5 24246 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24247
24248 * configure.ac: Test for libusb presence.
50fb7002 24249
d64399b5 24250 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24251
2b40d6bb 242522009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24253
24254 * kern/mm.c: Add more comments.
24255
73a4ce81 242562009-02-08 Robert Millan <rmh@aybabtu.com>
24257
24258 Patch from Javier Martín.
24259 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24260 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24261
f821ce59 242622009-02-08 Robert Millan <rmh@aybabtu.com>
24263
24264 * fs/cpio.c: Split tar functionality to ...
24265 * fs/tar.c: ... here (new file). Update all users.
24266
aebfc4b0 242672009-02-07 Robert Millan <rmh@aybabtu.com>
24268
24269 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24270 backward-incompatible features.
24271
24272 Based on patch from Javier Martín, with some adjustments.
24273
50fb7002 242742009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24275
24276 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24277
0bb5115e 242782009-02-07 Robert Millan <rmh@aybabtu.com>
24279
24280 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24281 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24282 after the RAID stuff.
24283
38a0f8e7 242842009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24285
50fb7002 24286 Fixes problem when running vbetest command as reported by
38a0f8e7 24287 Vladimir Serbinenko <phcoder@gmail.com>.
24288
24289 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24290
3143cc1c 242912009-02-04 Felix Zielcke <fzielcke@z-51.de>
24292
24293 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24294 /dev/md/NpN style mdraid devices.
24295
9cba6fce 242962009-02-03 Felix Zielcke <fzielcke@z-51.de>
24297
24298 * util/unifont2pff.rb: Remove.
24299
e507a2c1 243002009-02-03 Felix Zielcke <fzielcke@z-51.de>
24301
24302 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24303 `#'.
24304
d2c2b4cd 243052009-02-03 Felix Zielcke <fzielcke@z-51.de>
24306
24307 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24308 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24309 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24310 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24312 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24313 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24314
b4315fb0 243152009-02-02 Christian Franke <franke@computer.org>
24316
24317 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24318
de3aa260 243192009-02-01 Felix Zielcke <fzielcke@z-51.de>
24320
7c3ff286 24321 * INSTALL: Note that we now require at least autoconf 2.59 and
24322 that LZO is optional.
de3aa260 24323
825a182b 243242009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24325
24326 Base on patch on bug #24154 created by Tomas Tintera
24327 <trosos@seznam.cz>.
24328
24329 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24330
a69ef770 243312009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24332
7c3ff286 24333 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24334 <bero@arklinux.org>.
24335
24336 * normal/parser.y (script_init): Add missing semicolon.
24337
6fa42fa6 243382009-01-31 Colin D Bennett <colin@gibibit.com>
24339
7c3ff286 24340 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24341 (free_menu_entry_classes): Added.
24342 (grub_normal_menu_addentry): Added class property handling.
24343 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24344 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24345
24346 * normal/menu_viewer.c: New file.
24347
24348 * normal/menu.c (run_menu_entry): Renamed to ...
24349 (grub_menu_execute_entry): ... this and made it as global.
24350 (grub_menu_run): Renamed to ...
24351 (show_text_menu): ... this and made it local.
24352 (show_text_menu): Adapt to new function names.
24353 (grub_normal_terminal_menu_viewer): New global variable.
24354
24355 * include/grub/menu.h: New file.
24356
24357 * include/grub/menu_viewer.h: New file.
24358
24359 * include/grub/normal.h: Added include to grub/menu.h.
24360 (grub_menu_entry): Moved to include/grub/menu.h.
24361 (grub_menu_entry_t): Likewise.
24362 (grub_menu): Likewise.
24363 (grub_menu_t): Likewise.
24364 (grub_normal_terminal_menu_viewer): Added.
24365 (grub_menu_execute_entry): Likewise.
24366 (grub_menu_run): Removed.
24367
24368 * DISTLIST: Added include/grub/menu.h.
24369 Added include/grub/menu_viewer.h.
24370 Added normal/menu_viewer.c.
24371
243722009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24373
24374 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24375 arglist for menutitle arguments.
24376
24377 * normal/main.c (grub_normal_menu_addentry): Likewise.
24378
24379 * normal/parser.y (menuentry): Likewise.
24380
24381 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24382
24383 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24384 (grub_script_create_cmdmenu): Likewise.
24385
24386 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24387
24388 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24389 changes.
24390
24391 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24392
24393 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24394
24395 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24396
24397 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24398
24399 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24400
24401 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24402
56192c23 244032009-01-30 Christian Franke <franke@computer.org>
24404
24405 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24406 in option help text.
24407
d72521b3 244082009-01-27 Pavel Roskin <proski@gnu.org>
24409
24410 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24411
994b5e84 244122009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24413
24414 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24415
24416 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24417
24418 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24419 unregister function.
24420
6a7eab2c 244212009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24422
24423 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24424
24425 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24426
24427 * util/grub-mkfont.c (usage): Fix typo.
24428
24429 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24430
1806b56e 244312009-01-26 Daniel Mierswa <impulze@impulze.org>
24432
3fb18f09 24433 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24434
336e1fb9 24435 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24436
1806b56e 24437 * kern/misc.c (grub_strcasecmp): New function.
24438 (grub_strcasecmp): Use grub_size_t instead of int for length.
24439 Fix return value.
24440 * include/grub/misc.h: Update function prototypes.
24441
580b2a0f 244422009-01-26 Robert Millan <rmh@aybabtu.com>
24443
24444 * configure.ac: Fix cross-compilation check.
ef257b36 24445
d31c24f1 244462009-01-22 Christian Franke <franke@computer.org>
24447
24448 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24449 (precision) digit string. Allow `.format2' without `format1' (width).
24450 Limit input chars for `%s' output to `format2' if specified. This is
24451 compatible with standard printf ().
24452
3138b44c 244532009-01-22 Christian Franke <franke@computer.org>
24454
24455 * disk/ata.c (grub_ata_wait_status): Replace by ...
24456 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24457 other status bits may be invalid while BSY is asserted.
24458 (grub_ata_check_ready): New function.
24459 (grub_ata_cmd): Removed.
24460 (grub_ata_wait_drq): New function.
24461 (grub_ata_strncpy): Remove inline.
24462 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24463 and error check now done by grub_ata_wait_drq ().
24464 (grub_ata_pio_write): Likewise.
24465 (grub_atapi_identify): Set DEV before check for !BSY. Use
24466 grub_ata_wait_drq () to wait for data.
24467 (grub_ata_device_initialize): Add status register check to
24468 detect missing SATA slave devices. Add debug messages.
24469 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24470 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24471 transfer loop by grub_ata_pio_write ().
24472 (grub_ata_identify): Set DEV before check for !BSY. Use
24473 grub_ata_wait_drq () to wait for data.
ef257b36 24474 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 24475 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24476 read/write in one loop. Fix invalid command on write. Fix incomplete
24477 command on (size % batch) == 0. Add missing error check after write of
24478 last block. Add debug messages.
24479 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24480
59a64ef6 244812009-01-19 Christian Franke <franke@computer.org>
24482
24483 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24484 (GRUB_ATAPI_IREASON_*): Likewise.
24485 (grub_ata_pio_write): Fix timeout error return.
24486 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24487 (grub_atapi_wait_drq): New function.
24488 (grub_atapi_packet): New parameter `size'.
24489 Use grub_atapi_wait_drq () and direct write instead of
24490 grub_ata_pio_write ().
24491 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
24492 reads the number of bytes requested by the device for each DRQ
24493 assertion.
24494 (grub_atapi_write): Remove old implementation, return not
24495 implemented instead.
24496
1cfe20b3 244972009-01-19 Christian Franke <franke@computer.org>
24498
24499 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
24500 of 512 to calculate data size.
24501 (grub_scsi_read12): Likewise.
24502 (grub_scsi_write10): Likewise.
24503 (grub_scsi_write12): Likewise.
24504 (grub_scsi_read): Adjust size according to blocksize.
24505 Add checks for invalid blocksize and unaligned transfer.
24506
bee5fe5d 245072009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
24508
24509 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
24510
ef257b36 24511 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 24512 width glyphs.
24513
3e643f8c 245142009-01-19 Robert Millan <rmh@aybabtu.com>
24515
24516 * config.guess: Update to latest version from config git.
24517 * config.sub: Likewise.
24518
4fa80998 245192009-01-17 Felix Zielcke <fzielcke@z-51.de>
24520
24521 * Makefile.in: Change font compilation to use new grub-mkfont instead
24522 of java version.
24523
24524 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
24525 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24526 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24527 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24528 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24529 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24530 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24531 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24532 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24533
7086085b 245342009-01-16 Christian Franke <franke@computer.org>
24535
24536 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
24537 (enum grub_ata_timeout_milliseconds): New enum.
24538 (grub_ata_wait_status): Add parameter milliseconds.
24539 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
24540 recovery from timed-out commands.
24541 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
24542 return grub_errno instead of REG_ERROR.
24543 (grub_ata_pio_write): Add parameter milliseconds.
24544 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
24545 Pass milliseconds to grub_ata_wait_status () and
24546 grub_ata_pio_read ().
24547 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
24548 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
24549 grub_ata_wait_status (). Fix IDENTIFY timeout check.
24550 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
24551 It is not suitable for device detection, because DEV bit is ignored,
24552 the command may run too long, and not all devices set the signature
24553 properly.
24554 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
24555 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
24556 Fix device selection, DEV bit must be set first to address the registers
24557 of the correct device.
24558 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
24559 grub_ata_pio_read/write ().
24560 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
24561 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
24562
4a412913 245632009-01-13 Carles Pina i Estany <carles@pina.cat>
24564
24565 * util/grub-editenv.c (main): Use fseeko(), not fseek().
24566
7795c55e 245672009-01-13 Bean <bean123ch@gmail.com>
d913988c 24568
24569 * util/grub-mkfont.c (write_font): forget to remove some debug code.
24570
7795c55e 245712009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 24572
24573 * Makefile.in: (enable_grub_mkfont): New variable.
24574 (freetype_cflags): Likewise.
24575 (freetype_libs): Likewise.
24576
24577 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
24578 (grub_mkfont_SOURCES): New variable.
24579 (grub_mkfont_CFLAGS): Likewise.
24580 (grub_mkfont_LDFLAGS): Likewise.
24581
24582 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
24583 library if `--enable-grub-mkfont' is requested.
24584 (enable_grub_mkfont): New variable.
24585 (freetype_cflags): Likewise.
24586 (freetype_libs): Likewise.
24587
24588 * util/grub-mkfont.c: New file.
24589
093af1fe 245902009-01-12 Christian Franke <franke@computer.org>
24591
24592 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
24593 mode check. Fix setting of compat_use[].
24594
f36cc108 245952009-01-10 Robert Millan <rmh@aybabtu.com>
24596
24597 Update a few copyright years which we forgot to do in 2008 (only for
24598 files whose changes made in 2008 were copyright-significant)
24599
24600 * Makefile.in: Add 2008 to Copyright line.
24601 * disk/ieee1275/ofdisk.c: Likewise.
24602 * disk/efi/efidisk.c: Likewise.
24603 * kern/dl.c: Likewise.
24604 * kern/sparc64/ieee1275/init.c: Likewise.
24605 * kern/mm.c: Likewise.
24606 * kern/efi/mm.c: Likewise.
24607 * boot/i386/pc/boot.S: Likewise.
24608 * genfslist.sh: Likewise.
24609 * fs/iso9660.c: Likewise.
24610 * fs/hfs.c: Likewise.
24611 * fs/jfs.c: Likewise.
24612 * fs/minix.c: Likewise.
24613 * fs/ufs.c: Likewise.
24614 * gensymlist.sh.in: Likewise.
24615 * genkernsyms.sh.in: Likewise.
24616 * include/grub/misc.h: Likewise.
24617 * include/grub/types.h: Likewise.
24618 * include/grub/symbol.h: Likewise.
24619 * include/grub/elf.h: Likewise.
24620 * include/grub/kernel.h: Likewise.
24621 * include/grub/disk.h: Likewise.
24622 * include/grub/dl.h: Likewise.
24623 * include/grub/i386/linux.h: Likewise.
24624 * include/grub/i386/pc/biosdisk.h: Likewise.
24625 * include/grub/efi/api.h: Likewise.
24626 * include/grub/efi/pe32.h: Likewise.
24627 * include/grub/util/misc.h: Likewise.
24628 * normal/execute.c: Likewise.
24629 * normal/arg.c: Likewise.
24630 * normal/completion.c: Likewise.
24631 * normal/lexer.c: Likewise.
24632 * normal/parser.y: Likewise.
24633 * normal/misc.c: Likewise.
24634 * commands/i386/pc/vbeinfo.c: Likewise.
24635 * commands/hexdump.c: Likewise.
24636 * commands/terminal.c: Likewise.
24637 * commands/ls.c: Likewise.
24638 * commands/help.c: Likewise.
24639 * partmap/pc.c: Likewise.
24640 * loader/efi/chainloader.c: Likewise.
24641 * loader/multiboot_loader.c: Likewise.
24642 * loader/i386/pc/multiboot2.c: Likewise.
24643 * term/efi/console.c: Likewise.
24644 * term/i386/pc/serial.c: Likewise.
24645 * util/lvm.c: Likewise.
24646 * util/console.c: Likewise.
24647 * util/i386/efi/grub-mkimage.c: Likewise.
24648 * util/raid.c: Likewise.
24649
7f02114b 246502009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
24651
24652 * commands/videotest.c: Removed include to grub/machine/memory.h.
24653
24654 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
24655 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
24656 (video_mod_SOURCES): Removed.
24657 (video_mod_CFLAGS): Likewise.
24658 (video_mod_LDFLAGS): Likewise.
24659 (gfxterm_mod_SOURCES): Likewise.
24660 (gfxterm_mod_CFLAGS): Likewise.
24661 (gfxterm_mod_LDFLAGS): Likewise.
24662 (videotest_mod_SOURCES): Likewise.
24663 (videotest_mod_CFLAGS): Likewise.
24664 (videotest_mod_LDFLAGS): Likewise.
24665 (bitmap_mod_SOURCES): Likewise.
24666 (bitmap_mod_CFLAGS): Likewise.
24667 (bitmap_mod_LDFLAGS): Likewise.
24668 (tga_mod_SOURCES): Likewise.
24669 (tga_mod_CFLAGS): Likewise.
24670 (tga_mod_LDFLAGS): Likewise.
24671 (jpeg_mod_SOURCES): Likewise.
24672 (jpeg_mod_CFLAGS): Likewise.
24673 (jpeg_mod_LDFLAGS): Likewise.
24674 (png_mod_SOURCES): Likewise.
24675 (png_mod_CFLAGS): Likewise.
24676 (png_mod_LDFLAGS): Likewise.
24677
24678 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
24679 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
24680 (video_mod_SOURCES): Added.
24681 (video_mod_CFLAGS): Likewise.
24682 (video_mod_LDFLAGS): Likewise.
24683 (videotest_mod_SOURCES): Likewise.
24684 (videotest_mod_CFLAGS): Likewise.
24685 (videotest_mod_LDFLAGS): Likewise.
24686 (bitmap_mod_SOURCES): Likewise.
24687 (bitmap_mod_CFLAGS): Likewise.
24688 (bitmap_mod_LDFLAGS): Likewise.
24689 (tga_mod_SOURCES): Likewise.
24690 (tga_mod_CFLAGS): Likewise.
24691 (tga_mod_LDFLAGS): Likewise.
24692 (jpeg_mod_SOURCES): Likewise.
24693 (jpeg_mod_CFLAGS): Likewise.
24694 (jpeg_mod_LDFLAGS): Likewise.
24695 (png_mod_SOURCES): Likewise.
24696 (png_mod_CFLAGS): Likewise.
24697 (png_mod_LDFLAGS): Likewise.
24698 (gfxterm_mod_SOURCES): Likewise.
24699 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 24700 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 24701
24702 * term/gfxterm.c: Removed include to grub/machine/memory.h,
24703 grub/machine/console.h.
24704
644fff97 247052009-01-04 Jerone Young <jerone@gmail.com>
24706
24707 Make on screen instructions clearer
24708
24709 Based on patch created by Jidanni <jidanni@jidanni.org>
24710
24711 * normal/menu.c: print clearer instructions on the screen
24712
1e901a75 247132009-01-02 Colin D Bennett <colin@gibibit.com>
24714
24715 New font engine.
34c44600 24716
1e901a75 24717 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
24718 build system and fixed gfxterm.c to work with different sized fonts.
24719
24720 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 24721
1e901a75 24722 * configure: Re-generated.
34c44600 24723
1e901a75 24724 * DISTLIST: Removed font/manager.c.
24725 Added font/font.c.
24726 Added font/font_cmd.c.
34c44600 24727
1e901a75 24728 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
24729 compilation.
34c44600 24730
1e901a75 24731 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 24732
24733 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 24734
24735 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 24736
1e901a75 24737 * normal/menu.c: Likewise.
34c44600 24738
1e901a75 24739 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24740 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 24741
1e901a75 24742 * include/grub/font.h: Replaced with new file.
34c44600 24743
1e901a75 24744 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24745 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24746 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24747 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24748 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 24749 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 24750 fg_red, fg_green, fg_blue, fg_alpha.
24751 (grub_video_adapter): Removed blit_glyph.
34c44600 24752 (grub_video_blit_glyph): Removed.
24753
1e901a75 24754 * font/manager.c: Removed file.
34c44600 24755
24756 * font/font.c: New file.
24757
1e901a75 24758 * font/font_cmd.c: Likewise.
34c44600 24759
1e901a75 24760 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 24761
1e901a75 24762 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24763 (grub_video_vbe_map_rgba): Likewise.
24764 (grub_video_vbe_unmap_color_int): Likewise.
24765 (grub_video_vbe_blit_glyph): Removed.
24766 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 24767
1e901a75 24768 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24769 (get_pixel): Likewise.
34c44600 24770 (set_pixel): Likewise.
24771
1e901a75 24772 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 24773
1e901a75 24774 * term/gfxterm.c: Adapted to new font engine.
34c44600 24775
1e901a75 24776 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 24777
1e901a75 24778 * term/i386/pc/vga.c: Likewise.
34c44600 24779
1e901a75 24780 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 24781
1e901a75 24782 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 24783
1e901a75 24784 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24785
1e901a75 24786 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24787
1e901a75 24788 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 24789
1e901a75 24790 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 24791
1e901a75 24792 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 24793
1e901a75 24794 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 24795
1e901a75 24796 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24797
24798 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 24799
1e901a75 24800 * util/grub-mkconfig_lib.in: Changed font extension.
24801
278922e8 248022008-12-28 Felix Zielcke <fzielcke@z-51.de>
24803
24804 * util/getroot.c (grub_util_get_grub_dev): Add support for
24805 /dev/md/dNNpNN style partitionable mdraid devices.
24806
3ced05cf 248072008-12-12 Alex Smith <alex@alex-smith.me.uk>
24808
24809 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
24810 at a time limit of the PXE TFTP API correctly.
24811 (grub_pxefs_close): Likewise.
24812
7fd0ee30 248132008-11-29 Robert Millan <rmh@aybabtu.com>
24814
34c44600 24815 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 24816 grub_ata_device_initialize() calls.
24817
34c44600 248182008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 24819
24820 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
24821 iteration failed.
24822 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
24823
89313780 248242008-11-28 Robert Millan <rmh@aybabtu.com>
24825
24826 Fix build on powerpc-ieee1275. Based on patch created by
24827 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
24828 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24829 `kern/ieee1275/mmap.c'.
24830 * include/grub/powerpc/ieee1275/memory.h: New file.
24831
15257703 24832 Provide grub-install on coreboot.
24833 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
24834 (grub_install_SOURCES): New variable.
24835 * util/i386/pc/grub-install.in: Add a few condition checks to make it
24836 usable on coreboot.
24837
9fc5388a 248382008-11-25 Felix Zielcke <fzielcke@z-51.de>
24839
24840 * util/grub-fstest.c (grub_term_get_current_input): Change return type
24841 to `grub_term_input_t'.
24842 (grub_term_get_current_output): Change return type to
24843 `grub_term_output_t'.
24844
bc3a2f31 248452008-11-22 Robert Millan <rmh@aybabtu.com>
24846
34c44600 24847 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 24848 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
24849 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
24850 grub_vga_text_cls().
24851
80fc88f2 24852 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 24853 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 24854
cbf36fd3 24855 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
24856 to 0x200000 (avoids trouble with some OFW implementations, and matches
24857 with the one in Yaboot).
24858 Reported by Manoel Abranches
24859
73e8e268 248602008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 24861
24862 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
24863 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
24864
73e8e268 24865 * util/grub-mkconfig_lib.in (grub_warn): New function.
24866 (convert_system_path_to_grub_path): Use grub_warn() when issuing
24867 warnings, to obtain consistent formatting.
24868 * util/grub.d/00_header.in: Likewise.
24869 * util/update-grub_lib.in: Likewise.
24870
e94045a1 24871 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 24872 Move comment text to `#error' stanza.
e94045a1 24873
79d29fd7 24874 Harmonize ieee1275's grub_available_iterate() with the generic
24875 grub_machine_mmap_iterate() interface (fixes a recently-introduced
24876 build problem on i386-ieee1275):
24877 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
24878 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
24879 parameter `type'. Update all users of this function.
24880 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24881 `kern/ieee1275/mmap.c'.
24882 * kern/ieee1275/init.c
24883 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
24884 with ...
24885 (grub_machine_mmap_iterate): ... this.
24886 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
24887 return type to `grub_err_t'. Update all implementations of this
24888 function prototype.
24889 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
24890 Likewise.
24891
60d6b16e 24892 Add `lsmmap' command (lists firmware-provided memory map):
24893 * commands/lsmmap.c: New file.
24894 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
24895 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
24896 variables.
24897 * conf/powerpc-ieee1275.rmk: Likewise.
24898 * conf/i386-coreboot.rmk: Likewise.
24899 * conf/i386-ieee1275.rmk: Likewise.
24900
ebaaf49b 249012008-11-19 Robert Millan <rmh@aybabtu.com>
24902
24903 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 24904 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
24905 constraints to initrd allocation (based on code from
24906 loader/i386/pc/linux.c). Without them, initrd was allocated too high
24907 for Linux to find it.
ebaaf49b 24908
dfab719f 249092008-11-14 Robert Millan <rmh@aybabtu.com>
24910
24911 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
24912 order to cope with duplicate slashes.
24913
10fc3eb9 249142008-11-14 Robert Millan <rmh@aybabtu.com>
24915
24916 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
24917 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
24918 don't want to mess with lower memory, because it is used in the Linux
24919 loader.
24920
24921 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 24922 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 24923 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
24924 is in our heap (probably as a result of it being corrupted during
2f2a3442 24925 decompression). Add #error instance with comment to explain why this
24926 loader isn't currently usable on PC/BIOS.
10fc3eb9 24927
e2e07847 249282008-11-14 Robert Millan <rmh@aybabtu.com>
24929
24930 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 24931 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 24932
fe8e8d69 249332008-11-12 Robert Millan <rmh@aybabtu.com>
24934
24935 Make loader/i386/linux.c buildable on i386-pc (although disabled).
24936
24937 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
24938 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
24939 from here ...
24940 * include/grub/i386/pc/memory.h: ... to here.
24941
976b07d0 249422008-11-12 Robert Millan <rmh@aybabtu.com>
24943
24944 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
24945 split).
24946
24947 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
24948 (grub_console_cur_color, grub_console_real_putchar)
24949 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24950 (grub_console_setcolorstate, grub_console_setcolor)
24951 (grub_console_getcolor): Move from here ...
24952 * include/grub/i386/vga_common.h: ... to here (new file).
24953
24954 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
24955 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
24956 `<grub/i386/io.h>'.
24957 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
24958 `<grub/i386/vga_common.h>'.
24959
76679cd3 249602008-11-12 Robert Millan <rmh@aybabtu.com>
24961
24962 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
24963 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
24964 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
24965 variables.
24966 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24967 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
24968
24969 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
24970 grub_console_init() with call to grub_vga_text_init().
24971 (grub_machine_fini): Replace call to
24972 grub_console_fini() with call to grub_vga_text_fini() and
24973 grub_at_keyboard_fini().
24974
24975 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
24976 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24977 (grub_console_setcolorstate, grub_console_setcolor)
24978 (grub_console_getcolor): New function prototypes.
24979
24980 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
24981 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
24982 (grub_vga_text_setcursor): Static-ize.
24983 (grub_vga_text_term): New structure.
24984 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
24985
24986 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
24987 (grub_console_cur_color, grub_console_standard_color)
24988 (grub_console_normal_color, grub_console_highlight_color)
24989 (map_char, grub_console_putchar, grub_console_getcharwidth)
24990 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
24991 (grub_console_getcolor): Move from here ...
24992 * term/i386/vga_common.c: ... to here (same function names).
24993
95b841d3 249942008-11-12 Robert Millan <rmh@aybabtu.com>
24995
24996 Use newly-added Multiboot support in coreboot.
24997
24998 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24999 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25000
25001 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25002 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25003 (codestart): Store the MBI in `startup_multiboot_info' when we're
25004 being loaded using Multiboot.
25005
25006 * kern/i386/coreboot/init.c (grub_machine_init): Move
25007 grub_at_keyboard_init() call to beginning of function (useful for
25008 debugging). Call grub_machine_mmap_init() before attempting to use
25009 grub_machine_mmap_iterate().
25010 (grub_lower_mem, grub_upper_mem): Move from here ...
25011 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25012 here (new file).
25013
25014 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25015 function prototype.
25016
761ca975 250172008-11-12 Robert Millan <rmh@aybabtu.com>
25018
25019 Fix a regression introduced by the at_keyboard.mod split. Because
25020 some terminals are default on some platforms and non-default on
25021 others, the first terminal being registered determines which is
25022 going to be default.
25023
25024 * kern/term.c (grub_term_register_input): If this is the first
25025 terminal being registered, set it as the current one.
25026 (grub_term_register_output): Likewise.
25027
25028 * term/efi/console.c (grub_console_init): Do not call
25029 grub_term_set_current_output() or grub_term_set_current_input().
25030 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25031 * term/i386/pc/console.c (grub_console_init): Likewise.
25032 (grub_console_fini): Do not call grub_term_set_current_input()
25033 (but leave grub_term_set_current_output() to restore text mode).
25034
6c529df7 250352008-11-10 Robert Millan <rmh@aybabtu.com>
25036
25037 * util/grub.d/00_header.in: Add backward compatibility check for
25038 versions of terminal.mod that don't understand `terminal_input' or
25039 `terminal_output'.
25040
132e4113 250412008-11-09 Robert Millan <rmh@aybabtu.com>
25042
25043 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25044 `terminal_input' / `terminal_output', not `terminal'.
25045
ac293d50 250462008-11-08 Robert Millan <rmh@aybabtu.com>
25047
25048 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25049 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25050
0025933a 250512008-11-08 Robert Millan <rmh@aybabtu.com>
25052
25053 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25054 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25055 members. Update all users.
25056 * util/console.c (grub_ncurses_term): Split in ...
25057 (grub_ncurses_term_input): ... this, and ...
25058 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25059 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25060
37c86336 250612008-11-08 Robert Millan <rmh@aybabtu.com>
25062
25063 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25064 (PKGDATA): Add $(pkgdata_SRCDIR).
25065 (pkglib_BUILDDIR): New variable.
25066 (pkgdata_SRCDIR): New variable.
25067 (build_env.mk): New target.
25068 (include_DATA): New variable.
25069 (install-local): Install $(include_DATA) files in $(includedir).
25070
b6c15a2d 250712008-11-07 Pavel Roskin <proski@gnu.org>
25072
d99d46f1 25073 * gendistlist.sh: Use C locale for sorting to ensure consistent
25074 output on all systems.
25075
b6c15a2d 25076 * util/grub.d/00_header.in: Remove incorrect space before
25077 "serial".
25078
c32ee8c9 250792008-11-07 Robert Millan <rmh@aybabtu.com>
25080
25081 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25082 per specification.
25083 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25084 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25085 (based on find_multi_boot1_header).
25086 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25087 using find_multi_boot2_header(), and abort if neither Multiboot or
25088 Multiboot headers were found.
25089
651c29b7 250902008-11-07 Robert Millan <rmh@aybabtu.com>
25091
25092 Modularize at_keyboard.mod:
25093
25094 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25095 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25096 (at_keyboard_mod_LDFLAGS): New variables.
25097
25098 Actual terminal split:
25099
25100 * include/grub/term.h (struct grub_term): Split in ...
25101 (struct grub_term_input): ... this, and ...
25102 (struct grub_term_output): ... this. Update all users.
25103 (grub_term_set_current): Split in ...
25104 (grub_term_set_current_input): ... this, and ...
25105 (grub_term_set_current_output): ... this.
25106 (grub_term_get_current): Split in ...
25107 (grub_term_get_current_input): ... this, and ...
25108 (grub_term_get_current_output): ... this.
25109 (grub_term_register): Split in ...
25110 (grub_term_register_input): ... this, and ...
25111 (grub_term_register_output): ... this.
25112 (grub_term_unregister): Split in ...
25113 (grub_term_unregister_input): ... this, and ...
25114 (grub_term_unregister_output): ... this.
25115 (grub_term_iterate): Split in ...
25116 (grub_term_iterate_input): ... this, and ...
25117 (grub_term_iterate_output): ... this.
25118
25119 * kern/term.c (grub_term_list): Split in ...
25120 (grub_term_list_input): ... this, and ...
25121 (grub_term_list_output): ... this. Update all users.
25122 (grub_cur_term): Split in ...
25123 (grub_cur_term_input): ... this, and ...
25124 (grub_cur_term_output): ... this. Update all users.
25125 (grub_term_set_current): Split in ...
25126 (grub_term_set_current_input): ... this, and ...
25127 (grub_term_set_current_output): ... this.
25128 (grub_term_get_current): Split in ...
25129 (grub_term_get_current_input): ... this, and ...
25130 (grub_term_get_current_output): ... this.
25131 (grub_term_register): Split in ...
25132 (grub_term_register_input): ... this, and ...
25133 (grub_term_register_output): ... this.
25134 (grub_term_unregister): Split in ...
25135 (grub_term_unregister_input): ... this, and ...
25136 (grub_term_unregister_output): ... this.
25137 (grub_term_iterate): Split in ...
25138 (grub_term_iterate_input): ... this, and ...
25139 (grub_term_iterate_output): ... this.
25140
25141 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25142 a check for input and one for output (and only attempt to get keys
25143 from user when input works).
25144
25145 * util/grub-probe.c (grub_term_get_current): Split in ...
25146 (grub_term_get_current_input): ... this, and ...
25147 (grub_term_get_current_output): ... this.
25148 * util/grub-fstest.c: Likewise.
25149 * util/i386/pc/grub-setup.c: Likewise.
25150 * util/grub-editenv.c: Likewise.
25151
25152 Portability adjustments:
25153
25154 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25155 `term/i386/pc/at_keyboard.c'.
25156 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25157 grub_keyboard_controller_init() (now handled by terminal .init).
25158 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25159 grub_at_keyboard_init().
25160 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25161 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25162 at_keyboard.mod via input terminal interface).
25163 * include/grub/i386/coreboot/console.h: Convert into a stub for
25164 `<grub/i386/pc/console.h>'.
25165
25166 Migrate full terminals to new API:
25167
25168 * term/efi/console.c (grub_console_term): Split into ...
25169 (grub_console_term_input): ... this, and ...
25170 (grub_console_term_output): ... this. Update all users.
25171 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25172 (grub_ofconsole_init): Split into ...
25173 (grub_ofconsole_init_input): ... this, and ...
25174 (grub_ofconsole_init_output): ... this.
25175 (grub_ofconsole_term): Split into ...
25176 (grub_ofconsole_term_input): ... this, and ...
25177 (grub_ofconsole_term_output): ... this. Update all users.
25178 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25179 (grub_serial_term_input): ... this, and ...
25180 (grub_serial_term_output): ... this. Update all users.
25181 * term/i386/pc/console.c (grub_console_term): Split into ...
25182 (grub_console_term_input): ... this, and ...
25183 (grub_console_term_output): ... this. Update all users.
25184 (grub_console_term_input): Only enable it on PC/BIOS platform.
25185 (grub_console_init): Remove grub_keyboard_controller_init() call.
25186
25187 Migrate input terminals to new API:
25188
25189 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25190 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25191 i386-specific anyway).
25192 (grub_console_checkkey): Rename to ...
25193 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25194 users.
25195 (grub_keyboard_controller_orig): New variable.
25196 (grub_console_getkey): Rename to ...
25197 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25198 users.
25199 (grub_keyboard_controller_init): Static-ize. Save original
25200 controller value so that it can be restored ...
25201 (grub_keyboard_controller_fini): ... here (new function).
25202 (grub_at_keyboard_term): New structure.
25203 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25204 functions.
25205
25206 Migrate output terminals to new API:
25207
25208 * term/i386/pc/vga.c (grub_vga_term): Change type to
25209 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25210 members. Update all users.
25211 * term/gfxterm.c (grub_video_term): Change type to
25212 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25213 members. Update all users.
25214 * include/grub/i386/pc/console.h (grub_console_checkkey)
25215 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25216 etc).
25217
25218 Migrate `terminal' command and userland tools to new API:
25219
25220 * commands/terminal.c (grub_cmd_terminal): Split into ...
25221 (grub_cmd_terminal_input): ... this, and ...
25222 (grub_cmd_terminal_output): ... this.
25223 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25224 `terminal_input' and `terminal_output'.
25225 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25226 `terminal_input' / `terminal_output' API.
25227 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25228 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25229 provided ${GRUB_TERMINAL}, convert it).
25230
96e5d876 252312008-11-04 Robert Millan <rmh@aybabtu.com>
25232
25233 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25234 for FreeBSD.
25235 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25236
556f3775 252372008-11-03 Bean <bean123ch@gmail.com>
25238
25239 * kern/elf.c (grub_elf32_load): Revert to previous code.
25240 (grub_elf64_load): Likewise.
25241
25242 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25243
926b9823 252442008-11-01 Robert Millan <rmh@aybabtu.com>
25245
25246 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25247 (TARGET_CPPFLAGS): Likewise.
25248 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25249
1432e958 252502008-11-01 Carles Pina i Estany <carles@pina.cat>
25251
25252 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25253
dba3f844 252542008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25255
25256 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25257 addition of objects until the code is not going to be able to fail.
25258
dba3f844 252592008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25260
25261 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25262 (add a missing NULL check, and correct them by moving the pointer
25263 operations after the actual check).
25264
7ab28c21 252652008-10-29 Robert Millan <rmh@aybabtu.com>
25266
25267 * util/i386/pc/grub-install.in: Handle empty string as output from
25268 make_system_path_relative_to_its_root().
25269
1b7748eb 252702008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25271
25272 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25273 circular metadata worst case scenario. If the metadata is circular
25274 then copy the wrap in place.
25275 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25276 project lib/format_text/layout.h
25277 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25278
c9618ab2 252792008-10-03 Felix Zielcke <fzielcke@z-51.de>
25280
7a36edca 25281 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25282
bf981c62 252832008-10-03 Felix Zielcke <fzielcke@z-51.de>
25284
25285 * util/update-grub_lib.in: Mention filename in warning message.
25286
6d994591 252872008-09-29 Felix Zielcke <fzielcke@z-51.de>
25288
25289 * NEWS: Update for rename of update-grub to grub-mkconfig.
25290
18ade780 252912008-09-29 Felix Zielcke <fzielcke@z-51.de>
25292
25293 * util/update-grub_lib.in: Copy to ...
25294 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25295 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25296 * util/update-grub.in: Rename to ...
25297 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25298 option. Add `--output' option to allow users to specify the generated
25299 configuration file. Default to stdout.
25300 (update_grub_dir): Rename to ...
25301 (grub_mkconfig_dir): ... this.
25302 (grub_cfg): Default to an empty string.
25303 * conf/common.rmk (update-grub): Rename to ...
25304 (grub-mkconfig): ... this.
25305 (update-grub_lib): Copy to ...
25306 (grub-mkconfig_lib): ... this.
25307 (update-grub_SCRIPTS): Copy to ...
25308 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25309 (update-grub_DATA): Rename to ...
25310 (grub-mkconfig_DATA): ... this.
25311
556ce6ac 253122008-09-28 Robert Millan <rmh@aybabtu.com>
25313
25314 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25315 to `modified'. Add the real `created' field.
25316 (grub_iso9660_uuid): Use `modified' rather than `created' for
25317 constructing the UUID.
25318
253192008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25320
25321 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25322 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25323
92274e85 253242008-09-28 Bean <bean123ch@gmail.com>
25325
25326 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25327 Thanks to Christian Franke for finding this bug.
25328
add6f17a 253292008-09-25 Robert Millan <rmh@aybabtu.com>
25330
25331 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25332 instances of grub_util_get_disk_name() (see previous commit).
25333
d2a367b8 253342008-09-25 Robert Millan <rmh@aybabtu.com>
25335
25336 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25337 `util/i386/get_disk_name.c'.
25338 * conf/i386-efi.rmk: Likewise.
25339 * conf/x86_64-efi.rmk: Likewise.
25340 * conf/i386-coreboot.rmk: Likewise.
25341 * conf/i386-ieee1275.rmk: Likewise.
25342 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25343 `util/ieee1275/get_disk_name.c'.
25344 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25345 * util/ieee1275/get_disk_name.c: Remove file.
25346 * util/i386/get_disk_name.c: Remove file.
25347 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25348 "hd%d" for device.map entries, rather than using
25349 grub_util_get_disk_name().
25350
81a06771 253512008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25352
25353 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25354 warning.
25355 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25356
5a004279 253572008-09-24 Carles Pina i Estany <carles@pina.cat>
25358
25359 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25360 Changed to 0x5100.
25361 (GRUB_TERM_PPAGE): Changed to 0x4900.
25362
397093d3 253632008-09-24 Robert Millan <rmh@aybabtu.com>
25364
25365 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25366 macros (they were i386-pc specific).
25367 * include/grub/sparc64/ieee1275/console.h: Likewise.
25368 * include/grub/efi/console.h: Likewise.
25369
a91b6c7c 253702008-09-22 Bean <bean123ch@gmail.com>
25371
25372 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25373 resident and in attribute list.
25374
25375 * include/grub/ntfs.h (BMP_LEN): Removed.
25376
c40fd116 253772008-09-22 Bean <bean123ch@gmail.com>
25378
81a06771 25379 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 25380 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25381
25382 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25383 error occurs, as grub_disk_open will call grub_disk_close, which will
25384 call p->close (scsi).
25385
81a06771 253862008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 25387
25388 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25389 (AC_PREREQ): Bumped to 2.59.
25390 (AC_TRY_COMPILE): Replace obsolete macro with ...
25391 (AC_COMPILE_IFELSE): ... this.
25392 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25393 (AC_LINK_IFELSE): ... this.
25394
5dc43410 253952008-09-21 Felix Zielcke <fzielcke@z-51.de>
25396
25397 * autogen.sh: Add a call to `gendistlist.sh'.
25398
9035dce4 253992008-09-19 Christian Franke <franke@computer.org>
25400
25401 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25402 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25403 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25404 Export __enable_execute_stack() to modules.
25405 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25406 New function.
25407
7fd75377 254082008-09-09 Felix Zielcke <fzielcke@z-51.de>
25409
040030b3 25410 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25411 Sort the list.
25412
254132008-09-09 Felix Zielcke <fzielcke@z-51.de>
25414
25415 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 25416 #include <grub/util/hostdisk.h>.
25417
89d5ffcf 254182008-09-08 Robert Millan <rmh@aybabtu.com>
25419
25420 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25421 segments when their filesz is zero (grub_file_read() interprets
81a06771 25422 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 25423 Use `lowest_segment' rather than 0 for calculating the current
25424 segment load address.
25425
40da438f 254262008-09-08 Robert Millan <rmh@aybabtu.com>
25427
25428 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25429 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25430 clobbered useful information.
25431
ddbf5556 254322008-09-08 Robert Millan <rmh@aybabtu.com>
25433
25434 * include/grub/util/biosdisk.h: Move to ...
25435 * include/grub/util/hostdisk.h: ... here. Update all users.
25436 * util/biosdisk.c: Move to ...
25437 * util/hostdisk.c: ... here. Update all users.
25438
783d0f48 254392008-09-07 Robert Millan <rmh@aybabtu.com>
25440
25441 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25442 variables.
25443 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25444 and length can be stored directly in the `mbi->mmap_addr' and
25445 `mbi->mmap_length' struct fields.
25446
548e2ea5 254472008-09-07 Robert Millan <rmh@aybabtu.com>
25448
25449 * conf/i386.rmk: New file. Provides declaration for building
25450 `cpuid.mod'.
25451 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25452 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25453 variables.
25454 Include `conf/i386.mk'.
25455 * conf/i386-efi.rmk: Likewise.
25456 * conf/x86_64-efi.rmk: Likewise.
25457 * conf/i386-coreboot.rmk: Likewise.
25458 * conf/i386-ieee1275.rmk: Likewise.
25459
0ea85a37 254602008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25461
25462 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25463 Adds optimization support for BGR based modes.
25464
25465 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25466 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25467 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25468 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25469 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25470 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25471 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25472 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25473 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25474 (grub_video_i386_vbeblit_index_index): Likewise.
25475 (grub_video_i386_vbeblit_replace_directN): Added.
25476 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25477 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25478 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25479 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25480 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25481 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 25482 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 25483 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25484 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25485 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25486 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25487 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25488 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
25489
25490 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
25491 (grub_video_i386_vbefill_R8G8B8): Likewise.
25492 (grub_video_i386_vbefill_index): Likewise.
25493 (grub_video_i386_vbefill_direct32): Added.
25494 (grub_video_i386_vbefill_direct24): Likewise.
25495 (grub_video_i386_vbefill_direct16): Likewise.
25496 (grub_video_i386_vbefill_direct8): Likewise.
25497
81a06771 25498 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 25499 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
25500 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
25501 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
25502 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
25503 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 25504
0ea85a37 25505 * video/video.c (grub_video_get_blit_format): Updated to use new
25506 blit formats. Added handling for 16 bit color modes.
81a06771 25507
25508 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 25509 fillers.
25510 (common_blitter): Updated to use new blitters.
25511
25512 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
25513 Removed.
25514 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25515 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25516 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25517 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25518 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25519 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25520 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25521 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25522 (grub_video_i386_vbeblit_index_index): Likewise.
25523 (grub_video_i386_vbeblit_replace_directN): Added.
25524 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25525 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25526 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25527 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25528 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25529 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25530 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25531 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25532 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25533 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25534 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25535 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25536 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 25537
0ea85a37 25538 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
25539 (grub_video_i386_vbefill_R8G8B8): Likewise.
25540 (grub_video_i386_vbefill_index): Likewise.
25541 (grub_video_i386_vbefill_direct32): Added.
25542 (grub_video_i386_vbefill_direct24): Likewise.
25543 (grub_video_i386_vbefill_direct16): Likewise.
25544 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 25545
0ea85a37 25546 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
25547 types.
81a06771 25548
0ea85a37 25549 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
25550 types.
81a06771 25551
0ea85a37 25552 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
25553 blitter types.
81a06771 25554
0ea85a37 25555 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
25556 types.
25557
e8a83df6 255582008-09-06 Felix Zielcke <fzielcke@z-51.de>
25559
25560 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
25561 RAID level 1.
25562
6bcd8ee5 255632008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 25564
6bcd8ee5 25565 * fs/iso9660.c (grub_iso9660_date): New structure.
25566 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
25567 (grub_iso9660_uuid): New function.
c375ae58 25568
59261157 255692008-09-05 Bean <bean123ch@gmail.com>
25570
25571 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
25572
25573 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
25574 insensitive bit for names in Win32 and Win32 & DOS namespace.
25575
25576 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
25577
25578 * include/grub/types.h (LONG_MAX): Likewise.
25579
58b6645a 255802008-09-04 Felix Zielcke <fzielcke@z-51.de>
25581
4ee55921 25582 * util/getroot.c: Include <config.h>.
25583 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
25584 add support for /dev/md/N devices and handle LVM double dash escaping.
25585
255862008-09-04 Felix Zielcke <fzielcke@z-51.de>
25587
25588 * config.guess: Update to latest version from config git.
25589 * config.sub: Likewise.
58b6645a 25590
9124f65d 255912008-09-03 Robert Millan <rmh@aybabtu.com>
25592
25593 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
25594 `disk->total_sectors'.
25595
81a06771 255962008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 25597
25598 * include/grub/normal.h: Fixed incorrect comment for
25599 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
25600
81a06771 256012008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 25602
25603 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
25604 values with defines.
25605
25606 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
25607 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
25608 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
25609 (GRUB_VBE_MODEATTR_COLOR): Likewise.
25610 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
25611 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
25612 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
25613 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
25614 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
25615 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
25616 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
25617 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
25618 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
25619 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
25620 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
25621 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
25622 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
25623 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
25624 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
25625
93d5cbf8 256262008-08-31 Robert Millan <rmh@aybabtu.com>
25627
25628 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
25629 declaration.
25630 (grub_multiboot): Fix a few warnings.
25631
21751d50 256322008-08-31 Robert Millan <rmh@aybabtu.com>
25633
25634 * loader/i386/pc/multiboot.c: Update comment not to say that
25635 boot_device support is unimplemented.
25636
e27a75c5 256372008-08-31 Robert Millan <rmh@aybabtu.com>
25638
25639 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
25640 or memory map support are unimplemented.
25641
81a06771 256422008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 25643
25644 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
25645
81a06771 256462008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 25647
25648 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
25649 total video memory in 'vbeinfo' output; show color format details for
25650 each video mode.
25651
7c5d8d95 256522008-08-30 Pavel Roskin <proski@gnu.org>
25653
25654 * util/genmoddep.c: Remove for real this time.
25655 * DISTLIST: Remove util/genmoddep.c.
25656
4cebd25a 256572008-08-30 Robert Millan <rmh@aybabtu.com>
25658
25659 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
25660 as required by Multiboot spec (it was already 4-byte aligned, but
25661 only by chance).
25662
b497a269 256632008-08-29 Pavel Roskin <proski@gnu.org>
25664
e3925185 25665 * kern/powerpc/ieee1275/crt0.S: Rename to ...
25666 * kern/powerpc/ieee1275/startup.S: ... this.
25667 * conf/powerpc-ieee1275.rmk: Adjust for the above.
25668 * DISTLIST: Likewise.
25669
b497a269 25670 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
25671 grub/cpu/kernel.h. Add start label for consistency with other
25672 platforms. Add grub_prefix immediately after start. Add jump
25673 to the code after grub_prefix.
25674 * include/grub/powerpc/kernel.h: Provide valid values for
25675 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
25676
6e5a42fe 256772008-08-29 Bean <bean123ch@gmail.com>
25678
25679 * configure.ac: Change host_os to cygwin for mingw.
25680 (asprintf): New check for function.
25681
25682 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
25683 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
25684
25685 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 25686 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 25687 sync, sleep and grub_util_get_disk_size for mingw.
25688
25689 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
25690 to get size in mingw.
25691 (open_device): Use flag O_BINARY if it's defined.
25692 (find_root_device): Add dummy code for mingw.
25693
25694 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
25695 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
25696 (get_scsi_disk_name): Return 0 for mingw.
25697
25698 * util/hostfs.c: #include <grub/util/misc.h>.
25699 (grub_hostfs_open): Use "rb" flag to open file, use
25700 grub_util_get_disk_size to get disk size for mingw.
25701
25702 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
25703 (asprintf): New function if HAVE_ASPRINTF is not set.
25704 (sync): New function for mingw.
25705 (sleep): Likewise.
25706 (grub_util_get_disk_size): Likewise.
25707
ab3f2673 257082008-08-28 Pavel Roskin <proski@gnu.org>
25709
25710 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25711 kern/time.c.
25712
1c282483 257132008-08-28 Robert Millan <rmh@aybabtu.com>
25714
25715 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
25716
678e849c 257172008-08-28 Robert Millan <rmh@aybabtu.com>
25718
25719 Change find_grub_drive() syntax so it doesn't prevent it from
25720 detecting NULL names as errors.
25721
25722 * util/biosdisk.c (find_grub_drive): Move free slot search code
25723 from here ...
25724 (find_free_slot): ... to here.
25725 (read_device_map): Use find_free_slot() to search for free slots.
25726
965c75ca 257272008-08-27 Marco Gerards <marco@gnu.org>
25728
25729 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
25730 (scsi_mod_SOURCES): New variable.
25731 (scsi_mod_CFLAGS): Likewise
25732 (scsi_mod_LDFLAGS): Likewise.
25733
25734 * disk/scsi.c: New file.
25735
25736 * include/grub/scsi.h: Likewise.
25737
25738 * include/grub/scsicmd.h: Likewise.
25739
25740 * disk/ata.c: Include <grub/scsi.h>.
25741 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25742 instead.
25743 (grub_ata_iterate): Skip ATAPI devices.
25744 (grub_ata_open): Only handle ATAPI devices.
25745 (struct grub_atapi_read): Removed.
25746 (grub_atapi_readsector): Likewise.
25747 (grub_ata_read): No longer handle ATAPI devices.
25748 (grub_ata_write): Likewise.
25749 (grub_atapi_iterate): New function.
25750 (grub_atapi_read): Likewise.
25751 (grub_atapi_write): Likewise.
25752 (grub_atapi_open): Likewise.
25753 (grub_atapi_close): Likewise.
25754 (grub_atapi_dev): New variable.
25755 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25756 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25757
25758 * include/grub/disk.h (enum grub_disk_dev_id): Add
25759 `GRUB_DISK_DEVICE_SCSI_ID'.
25760
c07ae501 257612008-08-26 Robert Millan <rmh@aybabtu.com>
25762
25763 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25764 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25765 descriptive.
25766
5ed20adc 257672008-08-23 Bean <bean123ch@gmail.com>
25768
25769 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25770 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25771 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25772 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25773 dm_nv.mod.
25774 (raid5rec_mod_SOURCES): New macro.
25775 (raid5rec_mod_CFLAGS): Likewise.
25776 (raid5rec_mod_LDFLAGS): Likewise.
25777 (raid6rec_mod_SOURCES): Likewise.
25778 (raid6rec_mod_CFLAGS): Likewise.
25779 (raid6rec_mod_LDFLAGS): Likewise.
25780 (mdraid_mod_SOURCES): Likewise.
25781 (mdraid_mod_CFLAGS): Likewise.
25782 (mdraid_mod_LDFLAGS): Likewise.
25783 (dm_nv_mod_SOURCES): Likewise.
25784 (dm_nv_mod_CFLAGS): Likewise.
25785 (dm_nv_mod_LDFLAGS): Likewise.
25786
25787 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
25788 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25789 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25790
25791 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
25792 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25793
25794 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25795
25796 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25797
25798 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25799
25800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25801
25802 * disk/raid5_recover.c: New file.
25803
25804 * disk/raid6_recover.c: Likewise.
25805
25806 * disk/mdraid_linux.c: Likewise.
25807
25808 * disk/dmraid_nvidia.c: Likewise.
25809
25810 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
25811 ULONG_MAX.
25812
25813 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
25814 calculate the size of raid device.
25815 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
25816 different layout of raid5.
25817 (grub_raid_scan_device): Remove code specific to mdraid.
25818 (grub_raid_list): New variable.
25819 (free_array): New function.
25820 (grub_raid_register): Likewise.
25821 (grub_raid_unregister): Likewise.
25822 (grub_raid_rescan): Likewise.
25823 (GRUB_MOD_INIT): Don't iterate device here.
25824 (GRUB_MOD_FINI): Use free_array to release resource.
25825
25826 * include/grub/raid.h: Remove macro and structure specific to mdraid.
25827 (grub_raid5_recover_func_t): New function variable type.
25828 (grub_raid6_recover_func_t): Likewise.
25829 (grub_raid5_recover_func): New variable.
25830 (grub_raid6_recover_func): Likewise.
25831 (grub_raid_register): New function.
25832 (grub_raid_unregister): Likewise.
25833 (grub_raid_rescan): Likewise.
25834 (grub_raid_block_xor): Likewise.
25835
25836 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
25837 (CMD_CRC): New macro.
25838 (part): Removed.
25839 (read_file): Handle device as well as file.
25840 (cmd_crc): New function.
25841 (fstest): Handle multiple disks.
25842 (options): Remove part, raw and long, add root and diskcount.
25843 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 25844 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 25845 add handling for the new options, support multiple disks.
25846
25847 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
25848
29c18915 258492008-08-23 Bean <bean123ch@gmail.com>
25850
25851 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
25852
25853 * genfslist.sh: Ignore kernel.mod.
25854
25855 * genpartmaplist.sh: Likewise.
25856
8415f261 258572008-08-23 Robert Millan <rmh@aybabtu.com>
25858
25859 * util/getroot.c (find_root_device): Skip anything that starts with
25860 a dot, not just directories. This avoids things like /dev/.tmp.md0.
25861
d5a7dc5b 258622008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 25863
d5a7dc5b 25864 * util/update-grub.in (GRUB_GFXMODE): Export variable.
25865 * util/grub.d/00_header.in: Allow the administrator to change default
25866 gfxmode via ${GRUB_GFXMODE}.
25867
380cfbb4 258682008-08-21 Felix Zielcke <fzielcke@z-51.de>
25869
25870 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
25871
c9baafe7 258722008-08-21 Robert Millan <rmh@aybabtu.com>
25873
25874 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
25875 loader.
25876 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
25877 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
25878
e290bef2 258792008-08-20 Carles Pina i Estany <carles@pina.cat>
25880
25881 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
25882 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
25883
f9dbfc96 258842008-08-19 Robert Millan <rmh@aybabtu.com>
25885
25886 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
25887 (struct grub_virtual_screen): Remove `cursor_color'.
25888 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
25889 initialization.
25890 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
25891
dd6bd6ab 258922008-08-18 Robert Millan <rmh@aybabtu.com>
25893
25894 Unify (identical) linux_normal.c files.
25895 * loader/i386/efi/linux_normal.c: Move from here ...
25896 * loader/linux_normal.c: ... to here. Update all users.
25897 * loader/i386/pc/linux_normal.c: Delete. Update all users.
25898 * loader/i386/ieee1275/linux_normal.c: Likewise.
25899
7f42f83e 259002008-08-18 Robert Millan <rmh@aybabtu.com>
25901
25902 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
25903 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
25904 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
25905 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
25906 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
25907 New macros.
25908 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
25909 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
25910 (GRUB_LINUX_CL_END_OFFSET): ... to here.
25911 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
25912 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
25913 (GRUB_EFI_CL_END_OFFSET): Rename to ...
25914 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
25915 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
25916 Initialize `params->video_cursor_x' and `params->video_cursor_y'
25917 portably using grub_getxy().
25918 Replace `-EFI' with `-bzImage' in boot message.
25919
38487ddb 259202008-08-17 Robert Millan <rmh@aybabtu.com>
25921
25922 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
25923
deceb3ec 259242008-08-17 Robert Millan <rmh@aybabtu.com>
25925
25926 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
25927
25928 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
25929 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
25930 (grub_machine_mmap_iterate): New function declaration.
25931 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
25932 structure.
25933 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
25934 macros.
25935
25936 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
25937 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
25938 Move e820 parsing from here ...
25939 * kern/i386/pc/mmap.c: New file.
25940 (grub_machine_mmap_iterate): ... to here.
25941
25942 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
25943 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
25944 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
25945 (grub_available_iterate): Redeclare to return `void', and redeclare
25946 its hook to use grub_uint64_t as addr and size parameters, and rename
25947 to ...
25948 (grub_machine_mmap_iterate): ... this. Update all users.
25949
25950 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
25951 to make it more readable. Rename to ...
25952 (grub_machine_mmap_iterate): ... this.
25953
25954 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
25955 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
25956 (grub_multiboot): Allocate an extra region after the payload, and fill
25957 it with a Multiboot memory map. Adjust a.out loader to calculate size
25958 with the extra space.
25959 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
25960 with the extra space.
25961
f8aa0f43 259622008-08-17 Carles Pina i Estany <carles@pina.cat>
25963
9807deb9 25964 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 25965
605f5bb6 259662008-08-17 Felix Zielcke <fzielcke@z-51.de>
25967
25968 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
25969 mdate-sh to the list `find' searches for.
25970 * DISTLIST: Regenerated.
25971
210db6c6 259722008-08-16 Felix Zielcke <fzielcke@z-51.de>
25973
25974 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
25975 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 25976 genmoddep.awk, gensymlist.sh.in.
25977 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 25978 * DISTLIST: Regenerated.
48cdbfd4 25979 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 25980
1082b929 259812008-08-16 Robert Millan <rmh@aybabtu.com>
25982
25983 * disk/raid.c (grub_raid_init): Handle/report errors set by
25984 grub_device_iterate().
25985 * disk/lvm.c (grub_lvm_init): Likewise.
25986
42ce5170 259872008-08-15 Bean <bean123ch@gmail.com>
25988
25989 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25990 and datehook.mod.
25991 (datetime_mod_SOURCES): New macro.
25992 (datetime_mod_CFLAGS): Likewise.
25993 (datetime_mod_LDFLAGS): Likewise.
25994 (date_mod_SOURCES): Likewise.
25995 (date_mod_CFLAGS): Likewise.
25996 (date_mod_LDFLAGS): Likewise.
25997 (datehook_mod_SOURCES): Likewise.
25998 (datehook_mod_CFLAGS): Likewise.
25999 (datehook_mod_LDFLAGS): Likewise.
26000
26001 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26002 and datehook.mod.
26003 (datetime_mod_SOURCES): New macro.
26004 (datetime_mod_CFLAGS): Likewise.
26005 (datetime_mod_LDFLAGS): Likewise.
26006 (date_mod_SOURCES): Likewise.
26007 (date_mod_CFLAGS): Likewise.
26008 (date_mod_LDFLAGS): Likewise.
26009 (datehook_mod_SOURCES): Likewise.
26010 (datehook_mod_CFLAGS): Likewise.
26011 (datehook_mod_LDFLAGS): Likewise.
26012
26013 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26014 and datehook.mod.
26015 (datetime_mod_SOURCES): New macro.
26016 (datetime_mod_CFLAGS): Likewise.
26017 (datetime_mod_LDFLAGS): Likewise.
26018 (date_mod_SOURCES): Likewise.
26019 (date_mod_CFLAGS): Likewise.
26020 (date_mod_LDFLAGS): Likewise.
26021 (datehook_mod_SOURCES): Likewise.
26022 (datehook_mod_CFLAGS): Likewise.
26023 (datehook_mod_LDFLAGS): Likewise.
26024
26025 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26026 and datehook.mod.
26027 (datetime_mod_SOURCES): New macro.
26028 (datetime_mod_CFLAGS): Likewise.
26029 (datetime_mod_LDFLAGS): Likewise.
26030 (date_mod_SOURCES): Likewise.
26031 (date_mod_CFLAGS): Likewise.
26032 (date_mod_LDFLAGS): Likewise.
26033 (datehook_mod_SOURCES): Likewise.
26034 (datehook_mod_CFLAGS): Likewise.
26035 (datehook_mod_LDFLAGS): Likewise.
26036
26037 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26038 and datehook.mod.
26039 (datetime_mod_SOURCES): New macro.
26040 (datetime_mod_CFLAGS): Likewise.
26041 (datetime_mod_LDFLAGS): Likewise.
26042 (date_mod_SOURCES): Likewise.
26043 (date_mod_CFLAGS): Likewise.
26044 (date_mod_LDFLAGS): Likewise.
26045 (datehook_mod_SOURCES): Likewise.
26046 (datehook_mod_CFLAGS): Likewise.
26047 (datehook_mod_LDFLAGS): Likewise.
26048
26049 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26050
26051 * commands/date.c: New file.
26052
26053 * hook/datehook.c: Likewise.
26054
26055 * include/grub/lib/datetime.h: Likewise.
26056
26057 * include/grub/i386/cmos.h: Likewise.
26058
26059 * lib/datetime.c: Likewise.
26060
26061 * lib/i386/datetime.c: Likewise.
26062
26063 * lib/efi/datetime.c: Likewise.
26064
0e9242da 260652008-08-14 Robert Millan <rmh@aybabtu.com>
26066
26067 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26068 (grub_mkelfimage_SOURCES): New variable.
26069 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26070
26071 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26072 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26073 * conf/powerpc-ieee1275.rmk: Likewise.
26074 * conf/i386-ieee1275.rmk: Likewise.
26075
26076 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26077 * kern/i386/coreboot/init.c: Likewise.
26078
26079 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26080 with `<grub/cpu/kernel.h>'.
26081 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26082 to ...
26083 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26084 * kern/i386/coreboot/startup.S: Likewise.
26085
26086 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26087 (GRUB_MOD_GAP): Remove.
26088 * include/grub/powerpc/kernel.h: New file.
26089 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26090 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26091 * include/grub/i386/kernel.h: New file.
26092 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26093 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26094 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26095
26096 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26097 `grub-mkelfimage'.
26098 Use --directory when invoking grub_mkimage.
26099
26100 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26101 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26102 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26103 and GRUB_KERNEL_CPU_PREFIX.
26104
b86408f8 261052008-08-14 Felix Zielcke <fzielcke@z-51.de>
26106
d5e619ca 26107 * include/grub/err.h (grub_err_printf): New function prototype.
26108 * util/misc.c (grub_err_printf): New function.
26109 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26110 grub_printf.
26111 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26112
7161f0e0 261132008-08-13 Robert Millan <rmh@aybabtu.com>
26114
26115 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26116
a1967522 261172008-08-13 Robert Millan <rmh@aybabtu.com>
26118
26119 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26120 boot entry.
26121
371458b5 261222008-08-12 Robert Millan <rmh@aybabtu.com>
26123
26124 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26125 of the relocation code from here ...
26126 (grub_multiboot): ... to here.
26127 (forward_relocator, backward_relocator): Move from here ...
26128 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26129 (grub_multiboot_backward_relocator): ... to here.
26130 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26131 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26132 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26133 (grub_multiboot_forward_relocator_end)
26134 (grub_multiboot_backward_relocator)
26135 (grub_multiboot_backward_relocator_end): New variables.
26136
05f9452b 261372008-08-12 Bean <bean123ch@gmail.com>
26138
26139 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26140
20024ab0 261412008-08-11 Robert Millan <rmh@aybabtu.com>
26142
26143 * kern/i386/linuxbios/startup.S: Move from here ...
26144 * kern/i386/coreboot/startup.S: ... to here.
26145
26146 * kern/i386/linuxbios/init.c: Move from here ...
26147 * kern/i386/coreboot/init.c: ... to here.
26148
26149 * kern/i386/linuxbios/table.c: Move from here ...
26150 * kern/i386/coreboot/mmap.c: ... to here.
26151
26152 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26153
e352e9cd 261542008-08-11 Robert Millan <rmh@aybabtu.com>
26155
26156 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26157 errors. Leave it to the upper layer to handle them.
26158
2d05bc6a 261592008-08-09 Christian Franke <franke@computer.org>
26160
26161 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26162 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26163 Install `grub.d/10_windows' only on Cygwin.
26164 * configure.ac: Add subst of `target_os'.
26165 Check `target_os' also before setting TARGET_OBJ2ELF.
26166 Add `--enable-grub-pe2elf'.
26167
042bd419 261682008-08-08 Robert Millan <rmh@aybabtu.com>
26169
26170 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26171 (grub_last_time): Change type to grub_uint64_t.
26172 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26173 (grub_disk_close): Likewise.
26174
26175 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26176 (run_menu): Migrate code from to using grub_get_time_ms().
26177
26178 * util/misc.c (grub_get_time_ms): New function.
26179
7f280db5 261802008-08-08 Marco Gerards <marco@gnu.org>
26181
26182 * disk/ata.c (grub_ata_regget): Change return type to
26183 `grub_uint8_t'.
26184 (grub_ata_regget2): Likewise.
26185 (grub_ata_wait_status): New function.
26186 (grub_ata_wait_busy): Removed function, updated all users to use
26187 `grub_ata_wait_status'.
26188 (grub_ata_wait_drq): Likewise.
26189 (grub_ata_cmd): New function.
26190 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26191 error handling.
26192 (grub_ata_pio_write): Add error handling.
26193 (grub_atapi_identify): Likewise.
26194 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26195 handling.
26196 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26197 handling. Actually use the detected registers. Reorder the
26198 detection logic such that it is easier to read.
26199 (grub_ata_pciinit): Do not assign the same ID to each controller.
26200 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26201 handling.
26202 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26203
26204 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26205
1fbc5e66 262062008-08-08 Marco Gerards <marco@gnu.org>
26207
26208 * NEWS: Update.
26209
819ce6c0 262102008-08-07 Bean <bean123ch@gmail.com>
26211
26212 * include/grub/x86_64/pci.h: New file.
26213
5c41d44d 262142008-08-07 Christian Franke <franke@computer.org>
26215
26216 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26217 (TIMER2_GATE): Likewise.
26218 (grub_pit_wait): Add enable/disable of the timer2 gate
26219 bit of port 0x61. This fixes a possible infinite loop.
26220
5ebc275d 262212008-08-07 Bean <bean123ch@gmail.com>
26222
26223 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26224 kern/i386/tsc.c and kern/i386/pit.c.
26225
26226 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26227 x86_64 platform.
26228
26229 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26230 <grub/i386/tsc.h>.
26231
26232 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26233
e383b3d0 262342008-08-07 Bean <bean123ch@gmail.com>
26235
26236 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26237
26238 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26239
26240 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26241 multiple inclusion. Add #include <grub/types.h>.
26242
1cbb58ac 262432008-08-06 Christian Franke <franke@computer.org>
26244
26245 * conf/common.rmk: Build and install `10_windows'.
26246 * util/grub.d/10_windows.in: New script.
26247
337f5a1e 262482008-08-06 Pavel Roskin <proski@gnu.org>
26249
26250 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26251
057bc4ac 262522008-08-06 Robert Millan <rmh@aybabtu.com>
26253
26254 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26255 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26256
2b99f123 262572008-08-06 Bean <bean123ch@gmail.com>
26258
26259 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26260 (grub_pxefs_fs_int): Remove dummy definition.
26261 (grub_pxefs_open): Use data->block_size to store the current block
26262 size setting.
26263 (grub_pxefs_read): Use block size stored in data->block_size. As the
26264 value of grub_pxe_blksize can be changed after the file is opened.
26265
9f0234cb 262662008-08-06 Bean <bean123ch@gmail.com>
26267
26268 * fs/i386/pc/pxe.c (curr_file): new variable.
26269 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26270 require the dummy internal file system anymore.
26271 (grub_pxefs_read): Removed.
26272 (grub_pxefs_close): Likewise.
26273 (grub_pxefs_fs_int): Likewise.
26274 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26275 connection when we switch file.
26276 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26277
a55d42e0 262782008-08-06 Robert Millan <rmh@aybabtu.com>
26279
26280 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26281 `halt.mod'.
26282 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26283 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26284
26285 * kern/i386/halt.c: New file.
26286 * kern/i386/reboot.c: Likewise.
26287 * include/grub/i386/reboot.h: Likewise.
26288 * include/grub/i386/halt.h: Likewise.
26289
26290 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26291 Include `<grub/cpu/halt.h>'.
26292 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26293 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26294
26295 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26296 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26297 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26298 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26299 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26300 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26301 from here ...
26302 * include/grub/i386/at_keyboard.h: ... to here.
26303
24371d26 263042008-08-05 Robert Millan <rmh@aybabtu.com>
26305
26306 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26307 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26308 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26309 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26310 `kern/generic/millisleep.c'.
26311
26312 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26313 instead of grub_get_rtc().
26314 (grub_tsc_init): Initialize `tsc_boot_time'.
26315
26316 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26317 (grub_machine_init): Use grub_tsc_init() rather than
26318 installing an RTC-based handler via grub_install_get_time_ms().
26319
26320 * kern/i386/pit.c: New file.
26321 * include/grub/i386/pit.h: Likewise.
26322
9e7007b3 263232008-08-05 Bean <bean123ch@gmail.com>
26324
26325 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26326
26327 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26328 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26329 (pxe_mod_SOURCES): New macro.
26330 (pxe_mod_CFLAGS): Likewise.
26331 (pxe_mod_LDFLAGS): Likewise.
26332 (pxecmd_mod_SOURCES): Likewise.
26333 (pxecmd_mod_CFLAGS): Likewise.
26334 (pxecmd_mod_LDFLAGS): Likewise.
26335
26336 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26337 (grub_pxe_call): Likewise.
26338
26339 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26340
26341 * commands/i386/pc/pxecmd.c: New file.
26342
9f0234cb 26343 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26344
26345 * include/grub/i386/pc/pxe.h: Likewise.
26346
6977d49f 263472008-08-05 Bean <bean123ch@gmail.com>
26348
26349 * util/console.c (grub_console_cur_color): New variable.
26350 (grub_console_standard_color): Likewise.
26351 (grub_console_normal_color): Likewise.
26352 (grub_console_highlight_color): Likewise.
26353 (color_map): Likewise.
26354 (use_color): Likewise.
26355 (NUM_COLORS): New macro.
26356 (grub_ncurses_setcolorstate): Handle color properly.
26357 (grub_ncurses_setcolor): Don't change color here, just remember the
26358 settings, color will be set in grub_ncurses_setcolorstate.
26359 (grub_ncurses_getcolor): New function.
26360 (grub_ncurses_init): Initialize color pairs.
26361 (grub_ncurses_term): New member grub_ncurses_getcolor.
26362
9c2ff3ee 263632008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26364
9c2ff3ee 26365 High resolution timer support. Implemented for x86 CPUs using TSC.
26366 Extracted generic grub_millisleep() so it's linked in only as needed.
26367 This requires a Pentium compatible CPU; if the RDTSC instruction is
26368 not supported, then it falls back on the generic grub_get_time_ms()
26369 implementation that uses the machine's RTC.
26370
26371 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26372 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26373 `kern/generic/millisleep.c'.
26374
26375 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26376 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26377
26378 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26379 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26380
26381 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26382
26383 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26384 `kern/generic/millisleep.c'.
26385
26386 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26387
26388 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26389
26390 * kern/generic/rtc_get_time_ms.c: New file.
26391
26392 * kern/generic/millisleep.c: New file.
337f5a1e 26393
9c2ff3ee 26394 * kern/misc.c: Don't include
26395 <kern/time.h> anymore.
26396 (grub_millisleep_generic): Removed.
26397
26398 * commands/sleep.c (grub_interruptible_millisleep): Uses
26399 grub_get_time_ms() instead of grub_get_rtc().
26400
26401 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26402 function.
26403 (grub_cpu_is_cpuid_supported): New inline function.
26404 (grub_cpu_is_tsc_supported): New inline function.
26405 (grub_tsc_init): New function prototype.
26406 (grub_tsc_get_time_ms): New function prototype.
26407
26408 * kern/i386/tsc.c (grub_get_time_ms): New file.
26409
26410 * include/grub/time.h: Include <grub/types.h.
26411 (grub_millisleep_generic): Removed.
26412 (grub_get_time_ms): New prototype.
26413 (grub_install_get_time_ms): New prototype.
26414 (grub_rtc_get_time_ms): New prototype.
26415
26416 * kern/time.c (grub_get_time_ms): New function.
26417 (grub_install_get_time_ms): New function.
26418
26419 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26420 <grub/time.h> anymore.
26421 (grub_millisleep): Removed.
26422 (grub_machine_init): Call grub_tsc_init.
26423
26424 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26425 get_time_ms() implementation.
26426
26427 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26428 (ieee1275_get_time_ms): New function.
26429 (grub_machine_init): Install get_time_ms() implementation.
26430
26431 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26432 (grub_machine_init): Call grub_tsc_init().
26433 (grub_millisleep): Removed.
bf06a93f 26434
9c2ff3ee 26435 * kern/ieee1275/init.c (grub_millisleep): Removed.
26436 (grub_machine_init): Install ieee1275_get_time_ms()
26437 implementation.
26438 (ieee1275_get_time_ms): New function.
26439 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26440 real work.
26441
9ec92aaf 264422008-08-05 Marco Gerards <marco@gnu.org>
26443
26444 * disk/ata.c: Include <grub/pci.h>.
26445 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26446 (grub_ata_initialize): Rewritten.
26447 (grub_ata_device_initialize): New function.
26448
8d23f507 264492008-08-04 Pavel Roskin <proski@gnu.org>
26450
26451 * kern/main.c: Include grub/mm.h.
26452
5e15ee3d 264532008-08-04 Robert Millan <rmh@aybabtu.com>
26454
26455 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26456 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26457 corruption problem).
26458
a9053f8f 264592008-08-04 Robert Millan <rmh@aybabtu.com>
26460
26461 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26462 warnings introduced in my last commit.
26463
dd19c7d7 264642008-08-03 Robert Millan <rmh@aybabtu.com>
26465
26466 Make PCI available on all i386 architectures.
26467
26468 * include/grub/i386/pc/pci.h: Move from here ...
26469 * include/grub/i386/pci.h: ... to here.
26470
26471 * include/grub/i386/pc/pci.h: Remove.
26472 * include/grub/i386/efi/pci.h: Remove.
26473 * include/grub/x86_64/efi/pci.h: Remove.
26474
26475 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26476 `<grub/cpu/pci.h>'.
26477
26478 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26479 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26480 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26481
26482 * conf/i386-ieee1275.rmk: Likewise.
26483
e14a6184 264842008-08-03 Robert Millan <rmh@aybabtu.com>
26485
26486 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26487 (grub_console_setcursor): Make it possible to set cursor off.
26488
52768e37 264892008-08-03 Robert Millan <rmh@aybabtu.com>
26490
26491 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
26492 of modules instead of assuming which platform provides what.
26493 * util/update-grub.in: Likewise.
26494
2d52f57f 264952008-08-03 Robert Millan <rmh@aybabtu.com>
26496
26497 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
26498 instead of `grub_install_dos_part' to determine whether a drive needs
26499 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 26500 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 26501
2a5cd121 265022008-08-02 Robert Millan <rmh@aybabtu.com>
26503
26504 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
26505
93808428 265062008-08-02 Robert Millan <rmh@aybabtu.com>
26507
26508 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
26509 of informational grub_dprintf() calls.
26510
3bd0a12a 265112008-08-02 Robert Millan <rmh@aybabtu.com>
26512
26513 * disk/memdisk.c (memdisk_size): Don't initialize.
26514 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
26515
26516 * include/grub/i386/pc/kernel.h
26517 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
26518 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
26519 (grub_memdisk_image_size, grub_arch_memdisk_addr)
26520 (grub_arch_memdisk_size): Remove.
26521
26522 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
26523 field (was only used to transfer a constant). Add `type' field to
26524 support multiple module types.
26525 (grub_module_iterate): New function.
26526
26527 * kern/device.c (grub_device_open): Do not hide error messages
26528 when grub_disk_open() fails. Use grub_print_error() instead.
26529
26530 * kern/i386/pc/init.c (grub_arch_modules_addr)
26531 (grub_arch_memdisk_size): Remove functions.
26532 (grub_arch_modules_addr): Return the module address in high memory
26533 (now that it isn't copied anymore).
26534
26535 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
26536 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
26537 decompression routine (grub_total_module_size already includes that
26538 now). Don't copy modules back to low memory.
26539
26540 * kern/main.c: Include `<grub/mm.h>'.
26541 (grub_load_modules): Split out (and use) ...
26542 (grub_module_iterate): ... this function, which iterates through
26543 module objects and runs a hook.
26544 Comment out grub_mm_init_region() call, as it would cause non-ELF
26545 modules to be overwritten.
26546
26547 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
26548 the memdisk image in its own region, make it part of the module list.
26549 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
26550 (main): Parse --memdisk|-m option, and pass user-provided path as
26551 parameter to generate_image().
26552 (add_segments): Pass `memdisk_path' down to load_modules().
26553 (load_modules): Embed memdisk image in module section when requested.
26554 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
26555 `header.type' instead of `header.offset'.
26556
26557 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
26558 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
26559 (memdisk_mod_LDFLAGS): New variables.
26560 * conf/i386-coreboot.rmk: Likewise.
26561 * conf/i386-ieee1275.rmk: Likewise.
26562
a927cc73 265632008-08-02 Robert Millan <rmh@aybabtu.com>
26564
26565 * loader/i386/pc/multiboot.c (playground, forward_relocator)
26566 (backward_relocator): New variables. Used to allocate and relocate
26567 the payload, respectively.
26568 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 26569 address, install the appropriate relocator code in each bound of
a927cc73 26570 the payload, and set the entry point such that
26571 grub_multiboot_real_boot() will jump to one of them.
26572
26573 * kern/i386/loader.S (grub_multiboot_payload_size)
26574 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26575 (grub_multiboot_payload_entry_offset): New variables.
26576 (grub_multiboot_real_boot): Set cpu context to what the relocator
26577 expects, and jump to the relocator instead of the payload.
26578
26579 * include/grub/i386/loader.h (grub_multiboot_payload_size)
26580 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26581 (grub_multiboot_payload_entry_offset): Export.
26582
b15d8a0c 265832008-08-01 Bean <bean123ch@gmail.com>
26584
26585 * normal/menu_entry.c (editor_getline): Don't return the original
26586 string as result, as it will be released by lexer once it has done
26587 using it.
26588
cdfb3d22 265892008-08-01 Robert Millan <rmh@aybabtu.com>
26590
26591 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
26592 within menuentries, not before them.
26593 util/grub.d/10_hurd.in: Likewise.
26594
9175e93d 265952008-08-01 Bean <bean123ch@gmail.com>
26596
26597 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
26598 (bufio_mod_SOURCES): New macro.
26599 (bufio_mod_CFLAGS): Likewise.
26600 (bufio_mod_LDFLAGS): Likewise.
26601
26602 * include/grub/bufio.h: New file.
26603
26604 * io/bufio.c: Likewise.
26605
26606 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
26607 (grub_video_reader_png): Use grub_buffile_open to open file.
26608
26609 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
26610 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
26611
26612 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
26613 (grub_video_reader_tga): Use grub_buffile_open to open file.
26614
26615 * font/manager.c: Include <grub/bufio.h>.
26616 (add_font): Use grub_buffile_open to open file.
26617
3d8383e7 266182008-07-31 Robert Millan <rmh@aybabtu.com>
26619
26620 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
26621 ELF segments, use a macro for arbitrarily accessing any of them instead
26622 of preparing a pointer that allows access to one at a time.
26623 (grub_multiboot_load_elf64): Likewise.
26624
16e641b6 266252008-07-31 Bean <bean123ch@gmail.com>
26626
26627 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
26628 GRUB_KERNEL_MACHINE_DATA_END.
26629
59198b72 266302008-07-30 Robert Millan <rmh@aybabtu.com>
26631
26632 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
26633 Increase from 0x50 to 0x60.
26634 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
26635 use UUIDs to identify the root drive for them. If that's not
26636 possible, abort.
26637 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
26638 check, for cross-disk installs.
26639
ae88bca3 266402008-07-30 Robert Millan <rmh@aybabtu.com>
26641
26642 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
26643 is non-empty, use it to set the `prefix' environment variable instead
26644 of the usual approach.
26645 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
26646 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
26647 environment variable instead of dummy make_install_device().
26648
26649 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
26650 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 26651 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 26652
26653 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
26654 New variable reference.
26655 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
26656 New macro. Defines offset of `grub_prefix' within startup.S (relative
26657 to `start').
26658 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
26659 section within startup.S (relative to `start').
26660 * include/grub/i386/coreboot/kernel.h: Likewise.
26661
26662 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
26663 Overwrite grub_prefix with its contents, at the beginning of the
26664 first segment.
26665 (main): Understand -p|--prefix.
26666
14f41dd1 266672008-07-30 Robert Millan <rmh@aybabtu.com>
26668
26669 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
26670
4ca049a3 266712008-07-30 Robert Millan <rmh@aybabtu.com>
26672
26673 * term/i386/pc/vga_text.c (grub_console_cls): Use
26674 grub_console_gotoxy() to go back to beginning of the screen.
26675 Found by Patrick Georgi <patrick.georgi@coresystems.de>
26676
2921d337 266772008-07-29 Christian Franke <franke@computer.org>
26678
26679 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
26680 Add conversion of emulated mount points on Cygwin.
26681
b609876d 266822008-07-29 Christian Franke <franke@computer.org>
26683
26684 * util/update-grub.in: Add a check for admin
26685 group on Cygwin.
26686 Remove old `grub.cfg.new' before creation.
26687 Add `-f' to `mv' to handle the different filesystem
26688 semantics of Windows.
26689
e93e4679 266902008-07-29 Bean <bean123ch@gmail.com>
26691
26692 * normal/main.c (get_line): Fix buffer overflow bug.
26693
41694fd0 266942008-07-28 Robert Millan <rmh@aybabtu.com>
26695
26696 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
26697 (struct grub_apple_header): New struct. Describes the layout of
26698 the partmap header.
26699 (apple_partition_map_iterate): Check the header magic as well as the
26700 partition magic (which was already being checked).
26701
cfd0b4e6 267022008-07-28 Pavel Roskin <proski@gnu.org>
26703
26704 * genmk.rb: Add a warning to the beginning of the output that
26705 it's a generated file and should not be edited.
26706
93cce016 267072008-07-28 Robert Millan <rmh@aybabtu.com>
26708
26709 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26710 with the same number are found, just use issue a warning with
26711 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 26712
cd1df915 267132008-07-27 Robert Millan <rmh@aybabtu.com>
26714
26715 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
26716 information.
26717
b70a8427 267182008-07-27 Bean <bean123ch@gmail.com>
26719
26720 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
26721 (grub_fat_find_dir): Ignore case when comparing filename.
26722
8f5e379f 267232008-07-27 Bean <bean123ch@gmail.com>
26724
26725 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
26726 smallino, as it's more descriptive, and i8count can be confused with
26727 the other field count.
26728 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
26729 inode type.
26730
a85cd5a0 267312008-07-27 Bean <bean123ch@gmail.com>
26732
26733 * commands/crc.c: New file.
26734
26735 * lib/crc.c: Likewise.
26736
26737 * include/grub/lib/crc.h: Likewise.
26738
26739 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26740
26741 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26742 (hexdump): Move this function to ...
26743
26744 * lib/hexdump.c: ... here.
26745
26746 * include/grub/hexdump.h: Renamed to ...
26747
26748 * include/grub/lib/hexdump.h: ... this.
26749
26750 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26751
26752 * util/grub-editenv.c: Likewise.
26753
26754 * include/envblk.h: Renamed to ...
26755
26756 * include/lib/envblk.h: ... this.
26757
26758 * util/envblk.c: Renamed to ...
26759
26760 * lib/envblk.c: ... this.
26761
26762 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26763 lib/hexdump.c.
26764 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26765 (pkglib_MODULES): Add crc.mod.
26766 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26767 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26768 (crc_mod_SOURCES): New macro.
26769 (crc_mod_CFLAGS): Likewise.
26770 (crc_mod_LDFLAGS): Likewise.
26771
26772 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26773
26774 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26775
26776 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26777
26778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26779
26780 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26781
c298def0 267822008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 26783
26784 * commands/help.c: Include <grub/term.h>.
26785 (TERM_WIDTH): Removed. Updated all users.
26786
cc349fb3 267872008-07-27 Pavel Roskin <proski@gnu.org>
26788
26789 * util/getroot.c (find_root_device): Rephrase a comment to avoid
26790 spurious warnings about a comment within a comment.
26791
9051607e 267922008-07-25 Robert Millan <rmh@aybabtu.com>
26793
26794 * util/getroot.c (find_root_device): Skip devices that match
26795 /dev/dm-[0-9]. This lets the real device be found for any type of
26796 abstraction (LVM, EVMS, RAID..).
26797 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
26798 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
26799 device is found first, find_root_device() will now skip it.
26800
01453bfc 268012008-07-24 Pavel Roskin <proski@gnu.org>
26802
26803 * include/grub/types.h: Use __builtin_bswap32() and
26804 __builtin_bswap64() with gcc 4.3 and newer.
26805
6af9849f 268062008-07-24 Christian Franke <franke@computer.org>
26807
3a0fa256 26808 * util/i386/pc/grub-install.in: If `--debug' is specified,
26809 pass `--verbose' to grub-setup.
26810 Abort script if make_system_path_relative_to_its_root() fails.
26811
7810e747 268122008-07-24 Bean <bean123ch@gmail.com>
26813
26814 * configure.ac: Fixed a bug caused by the previous cygwin patch,
26815 variable `target_platform' should be `platform'.
26816
42290e17 268172008-07-24 Bean <bean123ch@gmail.com>
26818
51cc5193 26819 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 26820 (grub_png_init_fixed_block): New function.
26821 (grub_png_decode_image_data): Handle fixed huffman code compression.
26822
2a8a80e4 268232008-07-24 Bean <bean123ch@gmail.com>
26824
26825 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
26826 (grub_pe2elf_SOURCES): New macro.
26827 (CLEANFILES): Add grub-pe2elf.
26828
26829 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
26830 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
26831 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
26832 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
26833 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
26834 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
26835 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
26836 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
26837 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
26838 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
26839 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
26840 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
26841 (GRUB_PE32_DT_FUNCTION): Likewise.
26842 (GRUB_PE32_REL_I386_DIR32): Likewise.
26843 (GRUB_PE32_REL_I386_REL32): Likewise.
26844 (grub_pe32_symbol): New structure.
26845 (grub_pe32_reloc): Likewise.
26846
26847 * util/grub-pe2elf.c: New file.
26848
26849 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
26850 start symbol in non pc platform.
26851
26852 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
26853
26854 The following patches are from Christian Franke.
26855
26856 * include/grub/dl.h: Remove .previous, gas supports this only
26857 for ELF format.
26858
26859 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
26860 Remove .type, gas supports this only for ELF format.
26861
26862 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
26863 nullbytes in symbol table. This fixes an infinite loop if table is
26864 zero filled.
26865
26866 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
26867 TARGET_IMG_LDFLAGS and EXEEXT.
26868
26869 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
26870 TARGET_IMG_LDFLAGS_AC.
26871 (grub_CHECK_STACK_ARG_PROBE): New function.
26872
26873 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
26874
26875 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
26876
26877 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
26878 to set TARGET_IMG_LD* accordingly.
26879 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
26880 Add call to grub_CHECK_STACK_ARG_PROBE.
26881 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
26882
26883 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
26884
26885 * genmk.rb: Add EXEEXT to CLEANFILES.
26886
12ccdb75 268872008-07-23 Robert Millan <rmh@aybabtu.com>
26888
26889 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
26890 define the codes for arrows and lines used for the menu).
26891 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
26892 as well.
26893
26894 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
26895 fonts, because the latter are too slow.
26896
18eeaf04 268972008-07-21 Bean <bean123ch@gmail.com>
26898
26899 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
26900 a20. Run keyboard test last, as it will cause macbook to halt.
26901
b095e2ad 269022008-07-18 Pavel Roskin <proski@gnu.org>
26903
26904 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
26905 load foreign architecture modules correctly anyway. Keep
26906 support for loading host architecture modules, whether we
26907 compile them or not.
26908
737feb35 269092008-07-17 Pavel Roskin <proski@gnu.org>
26910
3f4ce737 26911 * configure.ac: Use -m32 or -m64 regardless of whether we had to
26912 change target_cpu. The compiler default can mismatch target_cpu
26913 in any case.
26914
4ad2d049 26915 * disk/efi/efidisk.c: Fix format warnings on x86_64.
26916 * kern/efi/efi.c: Likewise.
26917
f6130a12 26918 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
26919 target compiler is functional.
26920 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
26921 are set up.
26922
58393a2d 26923 * configure.ac: Default to efi platform for x86_64-apple. Allow
26924 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
26925 adjustments from the rest, only do them if target is not
26926 explicitly given. Merge other adjustments with the final sanity
26927 check. Remove an extraneous check for supported CPU. Be
26928 specific which CPU and which platform is not supported.
26929
737feb35 26930 * configure.ac: Default to pc platform for x86_64.
26931
546f966a 269322008-07-17 Robert Millan <rmh@aybabtu.com>
26933
26934 Partial LinuxBIOS -> Coreboot rename.
26935
26936 * conf/i386-linuxbios.rmk: Renamed to ...
26937 * conf/i386-coreboot.rmk: ... this.
26938 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
26939 * configure.ac: Accept "coreboot" as input platform (but maintain
26940 compatibility with "linuxbios").
26941 * include/grub/i386/linuxbios: Renamed to ...
26942 * include/grub/i386/coreboot: ... this.
26943
20011694 269442008-07-17 Bean <bean123ch@gmail.com>
26945
26946 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 26947 (appleldr_mod_SOURCE): New variable.
20011694 26948 (appleldr_mod_CFLAGS): Likewise.
26949 (appleldr_mod_LDFLAGS): Likewise.
26950 (pci_mod_SOURCES): Likewise.
26951 (pci_mod_CFLAGS): Likewise.
26952 (pci_mod_LDFLAGS): Likewise.
26953 (lspci_mod_SOURCES): Likewise.
26954 (lspci_mod_CFLAGS): Likewise.
26955 (lspci_mod_LDFLAGS): Likewise.
26956
26957 * conf/x86_64-efi.rmk: New file.
26958
26959 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
26960 macro.
26961 (grub_efidisk_write): Likewise.
26962
26963 * include/efi/api.h (efi_call_0): New macro.
26964 (efi_call_1): Likewise.
26965 (efi_call_2): Likewise.
26966 (efi_call_3): Likewise.
26967 (efi_call_4): Likewise.
26968 (efi_call_5): Likewise.
26969 (efi_call_6): Likewise.
26970
26971 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
26972 grub_rescue_cmd_chainloader.
26973
26974 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
26975 (grub_pe32_optional_header): Change some fields based on i386 or
26976 x86_64 platform.
26977 (GRUB_PE32_PE32_MAGIC): Likewise.
26978
26979 * include/grub/efi/uga_draw.h: New file.
26980
26981 * include/grub/elf.h (STN_ABS): New constant.
26982 (R_X86_64_NONE): Relocation constant for x86_64.
26983 (R_X86_64_64): Likewise.
26984 (R_X86_64_PC32): Likewise.
26985 (R_X86_64_GOT32): Likewise.
26986 (R_X86_64_PLT32): Likewise.
26987 (R_X86_64_COPY): Likewise.
26988 (R_X86_64_GLOB_DAT): Likewise.
26989 (R_X86_64_JUMP_SLOT): Likewise.
26990 (R_X86_64_RELATIVE): Likewise.
26991 (R_X86_64_GOTPCREL): Likewise.
26992 (R_X86_64_32): Likewise.
26993 (R_X86_64_32S): Likewise.
26994 (R_X86_64_16): Likewise.
26995 (R_X86_64_PC16): Likewise.
26996 (R_X86_64_8): Likewise.
26997 (R_X86_64_PC8): Likewise.
26998
26999 * include/grub/i386/efi/pci.h: New file.
27000
27001 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27002 Change it value based on platform.
27003 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27004 (GRUB_E820_RAM): Likewise.
27005 (GRUB_E820_RESERVED): Likewise.
27006 (GRUB_E820_ACPI): Likewise.
27007 (GRUB_E820_NVS): Likewise.
27008 (GRUB_E820_EXEC_CODE): Likewise.
27009 (GRUB_E820_MAX_ENTRY): Likewise.
27010 (grub_e820_mmap): New structure.
27011 (linux_kernel_header): Change the efi field according to different
27012 kernel version, also field from linux_kernel_header.
27013
27014 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27015
27016 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27017 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27018 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27019 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27020 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27021 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27022 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27023 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27024 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27025 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27026
27027 * include/grub/x86_64/efi/kernel.h: New file.
27028
27029 * include/grub/x86_64/efi/loader.h: Likewise.
27030
27031 * include/grub/x86_64/efi/machine.h: Likewise.
27032
27033 * include/grub/x86_64/efi/pci.h: Likewise.
27034
27035 * include/grub/x86_64/efi/time.h: Likewise.
27036
27037 * include/grub/x86_64/linux.h: Likewise.
27038
27039 * include/grub/x86_64/setjmp.h: Likewise.
27040
27041 * include/grub/x86_64/time.h: Likewise.
27042
27043 * include/grub/x86_64/types.h: Likewise.
27044
27045 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27046 GRUB_TARGET_SIZEOF_VOID_P.
27047
27048 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27049 (grub_efi_locate_handle): Likewise.
27050 (grub_efi_open_protocol): Likewise.
27051 (grub_efi_set_text_mode): Likewise.
27052 (grub_efi_stall): Likewise.
27053 (grub_exit): Likewise.
27054 (grub_reboot): Likewise.
27055 (grub_halt): Likewise.
27056 (grub_efi_exit_boot_services): Likewise.
27057 (grub_get_rtc): Likewise.
27058
27059 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27060 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27061 (grub_efi_allocate_pages): Wrap efi calls.
27062 (grub_efi_free_pages): Wrap efi calls.
27063 (grub_efi_get_memory_map): Wrap efi calls.
27064
27065 * kern/x86_64/dl.c: New file.
27066
27067 * kern/x86_64/efi/callwrap.S: Likewise.
27068
27069 * kern/x86_64/efi/startup.S: Likewise.
27070
27071 * loader/efi/appleloader.c: Likewise.
27072
27073 * loader/efi/chainloader.c (cmdline): New variable.
27074 (grub_chainloader_unload): Wrap efi calls.
27075 (grub_chainloader_boot): Likewise.
27076 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27077 command line.
27078
27079 * loader/efi/chainloader_normal.c (chainloader_command):
27080 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27081 command line.
27082
27083 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27084 method.
27085 (grub_e820_add_region): New function.
27086 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27087 booting.
27088 (grub_find_video_card): New function.
27089 (grub_linux_setup_video): New function.
27090 (grub_rescue_cmd_linux): Probe for video information.
27091
27092 * normal/x86_64/setjmp.S: New file.
27093
27094 * term/efi/console.c (map_char): New function.
27095 (grub_console_putchar): Map unicode char.
27096 (grub_console_checkkey): Wrap efi calls.
27097 (grub_console_getkey): Likewise.
27098 (grub_console_getwh): Likewise.
27099 (grub_console_gotoxy): Likewise.
27100 (grub_console_cls): Likewise.
27101 (grub_console_setcolorstate): Likewise.
27102 (grub_console_setcursor): Likewise.
27103
27104 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27105
59652a20 271062008-07-16 Pavel Roskin <proski@gnu.org>
27107
ef294055 27108 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27109 format strings.
27110
59652a20 27111 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27112 pointer, not an integer. This fixes a warning and prevents
27113 precision loss on 64-bit systems.
27114 (relocate_addresses): Remove unneeded cast.
27115
afc3b5d7 271162008-07-15 Pavel Roskin <proski@gnu.org>
27117
506b2b3e 27118 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27119
62ead89c 27120 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27121
c4cd51d7 27122 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27123 Fix comparison between signed and unsigned.
27124
0d3d8f28 27125 * include/grub/i386/ieee1275/console.h: Declare
27126 grub_console_init() and grub_console_fini().
27127
8804b286 27128 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27129 It's empty and unused.
27130
ee01cf35 27131 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27132 beginning to avoid warnings with some compilers.
27133
afc3b5d7 27134 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27135 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27136
e4e8eaa5 271372008-07-14 Pavel Roskin <proski@gnu.org>
27138
407aceb4 27139 * kern/env.c (grub_register_variable_hook): Don't copy empty
27140 string, it leaks memory. Pass "" to grub_env_set(), it should
27141 handle constant strings.
27142
e4e8eaa5 27143 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27144 * commands/cmp.c (grub_cmd_cmp): Likewise.
27145 * kern/dl.c (grub_dl_flush_cache): Likewise.
27146 (grub_dl_load_core): Likewise.
27147 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27148 (grub_elf64_load_phdrs): Likewise.
27149
d4e2dad3 271502008-07-13 Pavel Roskin <proski@gnu.org>
27151
27152 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27153 between signed and unsigned.
27154 (LzmaEnc_Finish): Fix warning about an unused parameter.
27155
aa24b516 271562008-07-13 Bean <bean123ch@gmail.com>
27157
27158 * Makefile.in (enable_lzo): New rule.
27159
27160 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27161
27162 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27163
27164 * boot/i386/pc/lnxboot.S: #include <config.h>.
27165
27166 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27167 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27168
27169 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27170 compression algorithm according to configure macro.
27171
27172 * kern/i386/pc/startup.S (codestart): Likewise.
27173
27174 * kern/i386/pc/lzma_decode.S: New file.
27175
27176 * include/grub/lib/LzFind.h: Likewise.
27177
27178 * include/grub/lib/LzHash.h: Likewise.
27179
27180 * include/grub/lib/LzmaDec.h: Likewise.
27181
27182 * include/grub/lib/LzmaEnc.h: Likewise.
27183
27184 * include/grub/lib/LzmaTypes.h: Likewise.
27185
27186 * lib/LzFind.c: Likewise.
27187
27188 * lib/LzmaDec.c: Likewise.
27189
27190 * lib/LzmaEnc.c: Likewise.
27191
4ae821ac 271922008-07-13 Bean <bean123ch@gmail.com>
27193
27194 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27195 (grub_ext4_extent_header): New structure.
27196 (grub_ext4_extent): Likewise.
27197 (grub_ext4_extent_idx): Likewise.
27198 (grub_ext4_find_leaf): New function.
27199 (grub_ext2_read_block): Handle extents.
27200
9a745147 272012008-07-12 Robert Millan <rmh@aybabtu.com>
27202
27203 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27204
d49a4cf6 272052008-07-11 Robert Millan <rmh@aybabtu.com>
27206
27207 * util/grub.d/40_custom.in: New file. Example on how to add custom
27208 entries to /etc/grub.d.
27209 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27210 40_custom (implicitly, by merging all the grub.d rules).
27211
947414b4 272122008-07-11 Pavel Roskin <proski@gnu.org>
27213
0059cf6f 27214 * commands/read.c (grub_getline): Fix invalid memory access.
27215 Don't add newline to the variable value.
27216
947414b4 27217 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27218 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27219 (serial_hw_get_port): Check validity of the port number.
27220 (grub_cmd_serial): Check return value of serial_hw_get_port().
27221
62a02d00 272222008-07-07 Pavel Roskin <proski@gnu.org>
27223
27224 * boot/i386/pc/diskboot.S (notification_string): Replace
27225 "Loading kernel" with just "loading". This is shorter, less
27226 confusing and saves a few bytes for possible future changes.
27227
3e5581b0 272282008-07-05 Pavel Roskin <proski@gnu.org>
27229
ea387a48 27230 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27231 size for ATAPI devices, they are undefined. Output sector
27232 number in decimal form.
27233
3e5581b0 27234 * disk/ata.c: Use named constants for status bits.
27235
fdecb8fd 272362008-07-04 Pavel Roskin <proski@gnu.org>
27237
bcd35b90 27238 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27239 grub_addr_t before casting it to the void pointer to fix a
27240 warning. Non-addressable regions are discarded earlier.
27241 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27242 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27243 (check_signature): Don't shadow table_header.
27244 (grub_linuxbios_table_iterate): Cast numeric constants to
27245 grub_linuxbios_table_header_t.
27246 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27247 grub_stop().
27248
af58ab3d 27249 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27250 prevent warnings.
27251
1759aa57 27252 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27253 pointer, which can cause warnings. Support 64-bit addresses.
27254
fdecb8fd 27255 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27256 of sizeof(long). This fixes PowerPC image generation on x86_64.
27257
8516d2a8 272582008-07-04 Robert Millan <rmh@aybabtu.com>
27259
27260 This fixes a performance issue when pc & gpt partmap iterators
27261 didn't abort iteration even after our hook found what it was
fe987087 27262 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27263
27264 Some callers relied on previous buggy behaviour, since they would
34c44600 27265 raise an error when their own hooks caused early abortion of its
8516d2a8 27266 iteration.
27267
27268 * kern/device.c (grub_device_open): Improve error message.
27269 * disk/lvm.c (grub_lvm_open): Likewise.
27270 * disk/raid.c (grub_raid_open): Likewise.
27271
27272 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27273 when hook requests it, independently of grub_errno.
27274 (pc_partition_map_probe): Do not fail when find_func() caused
27275 early abortion of pc_partition_map_iterate().
27276
27277 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27278 when hook requests it, independently of grub_errno.
27279 (gpt_partition_map_probe): Do not fail when find_func() caused
27280 early abortion of gpt_partition_map_iterate().
27281
27282 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27283 when hook requests it, independently of grub_errno. Do not fail when
27284 part_map_iterate_hook() caused early abortion of p->iterate().
27285
27286 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27287 when grub_partition_iterate() returned with non-zero.
27288
277d0de9 272892008-07-03 Pavel Roskin <proski@gnu.org>
27290
27291 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27292 like we do in grub_ata_pio_read().
27293 (grub_ata_readwrite): Always write individual sectors. Fix the
27294 sector count for the remainder.
27295 (grub_ata_write): Enable writing to ATA devices. Correctly
27296 report error for ATAPI devices.
27297
d4c9b428 272982008-07-02 Pavel Roskin <proski@gnu.org>
27299
e43fc690 27300 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27301 warning.
27302
f707af42 27303 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27304 for every read sector, we already increment it for the whole
27305 batch. This fixes reading more than 256 sectors at once.
27306
11e16b15 27307 * util/grub-editenv.c (cmd_info): Cast argument to long
27308 explicitly. ptrdiff_t reduces to int on i386.
27309
cbabfdd4 27310 * util/grub-editenv.c (main): Be specific which parameter is
27311 missing.
27312
b8fbce0a 27313 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27314 (memdisk): Make memdisk_orig_addr a pointer.
27315
c9c8e606 27316 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27317 for file offsets, use grub_off_t instead. Fix printf format
27318 warnings.
27319
ca62e598 27320 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27321 there. Real unexpected warnings should not drown in the noise
27322 about known problems.
27323
ce8d1766 27324 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27325 grub_disk_addr_t for memory addresses.
27326
00c7a56a 27327 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27328 explicitly to fix a warning.
27329
08d3ef09 27330 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27331
cb71ba20 27332 * Makefile.in (MODULE_LDFLAGS): New variable.
27333 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27334 the linker accepts --build-id=none.
27335 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27336 MODULE_LDFLAGS.
27337 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27338
d4c9b428 27339 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27340 those in Linux XFS code. Provide a way to access 64-bit parent
27341 inode.
27342 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27343 the end of struct grub_xfs_dir_header.
27344
d4156eee 273452008-07-02 Bean <bean123ch@gmail.com>
27346
27347 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27348 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27349 and GRUB_IEEE1275_FLAG_NO_ANSI.
27350
27351 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27352 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27353 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27354
27355 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27356 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27357
27358 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27359 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27360
27361 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27362 esc sequence on non ANSI terminal.
27363 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27364
27365 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27366 beginning of file.
27367
2270f77b 273682008-07-02 Bean <bean123ch@gmail.com>
27369
27370 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27371 (grub_editenv_SOURCES): New variable.
27372 (pkglib_MODULES): Add loadenv.mod.
27373 (loadenv_mod_SOURCES): New variable.
27374 (loadenv_mod_CFLAGS): Likewise.
27375 (loadenv_mod_LDFLAGS): Likewise.
27376
27377 * include/grub/envblk.h: New file.
27378
27379 * util/envblk.c: New file.
27380
27381 * util/grub-editenv.c: New file.
27382
27383 * commands/loadenv.c: New file.
27384
0e9e51ec 273852008-07-01 Pavel Roskin <proski@gnu.org>
27386
d89b7634 27387 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27388 not unsigned char. This fixes warnings and is consistent with
27389 other tags.
27390
bf1835b1 27391 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27392
8222a04b 27393 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27394
6a42d99d 27395 * term/tparm.c (analyze): Always set *popcount.
27396
10b159d1 27397 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27398 cast to fix a warning.
27399
b8789f6c 27400 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27401 cast to suppress a warning.
27402
29d7e38a 27403 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27404 grub_fshelp_read_file() expects.
27405
f341f669 27406 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27407 write uuid as a 32-bit value in CPU byte order, so declare and
27408 use it as such.
27409
0e9e51ec 27410 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27411 long if the format specifier expects it.
27412 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27413 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27414 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27415 long to fix a warning.
27416 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27417 grub_dprintf() arguments to fix warnings.
27418
3aefa857 274192008-06-30 Pavel Roskin <proski@gnu.org>
27420
56c7668b 27421 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27422 install_bsd_part immediately before core.img is embedded or
27423 modified on disk. This fixes core.img verification if core.img
27424 cannot be embedded.
27425
3aefa857 27426 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27427 core_path to calculate the blocklist.
27428 Patch from Javier Martín <lordhabbit@gmail.com>
27429
5444088d 274302008-06-29 Robert Millan <rmh@aybabtu.com>
27431
27432 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27433 block to disk block.
27434 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27435 Patch from Niels Böhm <bitbucket@arcor.de>
27436
674835c8 274372008-06-29 Robert Millan <rmh@aybabtu.com>
27438
27439 * util/update-grub_lib.in (font_path): Search for fonts in
27440 /boot/grub first, which is more likely to be readable (we aren't
27441 deciding where fonts live, just looking for them).
27442
f527dbc8 274432008-06-26 Pavel Roskin <proski@gnu.org>
27444
6c2d8df6 27445 * util/biosdisk.c (read_device_map): Don't leave dead map
27446 entries for devices failing stat() check.
27447
f527dbc8 27448 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27449 core_path_dev for the core.img path on the target device.
27450
aebe3d13 274512008-06-26 Robert Millan <rmh@aybabtu.com>
27452
27453 * disk/fs_uuid.c: New file.
27454 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27455 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27456 (fs_uuid_mod_LDFLAGS): New variables.
27457 * include/grub/disk.h (grub_disk_dev_id): Add
27458 `GRUB_DISK_DEVICE_UUID_ID'.
27459 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27460 implement iterate().
27461
37aaf354 274622008-06-26 Robert Millan <rmh@aybabtu.com>
27463
27464 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27465 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27466 Linux image includes no initrd.
27467
25ff262a 274682008-06-21 Javier Martín <lordhabbit@gmail.com>
27469
27470 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27471 call to resolve the core image location that effectively appended the
27472 name twice.
27473
76a2bd44 274742008-06-21 Robert Millan <rmh@aybabtu.com>
27475
27476 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27477 call from here ...
27478
27479 * util/grub.d/10_hurd.in: ... to here ...
27480 * util/grub.d/10_linux.in: ... and here.
27481
650e1c79 274822008-06-19 Robert Millan <rmh@aybabtu.com>
27483
fe987087 27484 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 27485 after it has been set by grub_machine_set_prefix().
27486
6ce63911 274872008-06-19 Robert Millan <rmh@aybabtu.com>
27488
27489 * commands/search.c (search_label, search_fs_uuid, search_file): Print
27490 search result when not saving to variable, not the other way around.
27491 When saving to variable, abort iteration as soon as a match is found.
27492
73940cec 274932008-06-19 Robert Millan <rmh@aybabtu.com>
27494
27495 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
27496 check for partition that provides /boot/grub. Its logic is flawed,
27497 as it prevents prepare_grub_to_access_device() from being called
27498 multiple times.
27499
3c62a39d 275002008-06-19 Robert Millan <rmh@aybabtu.com>
27501
27502 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
27503 "insmod" command directly when abstraction modules are needed,
fe987087 27504 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 27505 since it had already been processed).
27506
47395a42 275072008-06-19 Pavel Roskin <proski@gnu.org>
27508
27509 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
27510 changed. This is needed in case GRUB_LIBDIR changes.
27511 * conf/i386-ieee1275.rmk: Likewise.
27512 * conf/i386-linuxbios.rmk: Likewise.
27513 * conf/i386-pc.rmk: Likewise.
27514 * conf/powerpc-ieee1275.rmk: Likewise.
27515
a145ac2d 275162008-06-18 Pavel Roskin <proski@gnu.org>
27517
27518 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
27519 kernel_elf_symlist.c to symlist.c for consistency with other
27520 architectures. Update all users.
27521 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27522
7847c51e 275232008-06-18 Robert Millan <rmh@aybabtu.com>
27524
27525 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
27526 it in prefix.
27527
27528 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
27529 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
27530 a RAID device, run setup() for all members independently on whether
27531 LVM abstraction is being used.
27532 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
27533 If grub-mkimage has set `*install_dos_part == -2', don't override this
27534 value.
27535 Perform *install_dos_part adjustments independently on whether
27536 we're embedding or not.
27537 Clarify error message when image is too big for embedding.
27538 Remove duplicate *install_dos_part stanza.
27539
b23e5644 275402008-06-17 Robert Millan <rmh@aybabtu.com>
27541
27542 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
27543 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
27544 variables.
27545 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
27546 values in grub_ofconsole_normal_color and
27547 grub_ofconsole_highlight_color (they're not directly related to
27548 background and foreground).
27549 (grub_ofconsole_setcolorstate): Extract background and foreground
27550 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
27551
0aac2f79 275522008-06-17 Robert Millan <rmh@aybabtu.com>
27553
27554 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
27555 /boot/grub for the check in last commit, not /boot (they could be
27556 different partitions).
27557
3cca7ef3 275582008-06-16 Robert Millan <rmh@aybabtu.com>
27559
27560 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
27561 asked to setup access for the same partition that provides /boot,
27562 don't bother using UUIDs since our root already has the value we
27563 want.
27564
347396d8 275652008-06-16 Robert Millan <rmh@aybabtu.com>
27566
27567 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
27568 I2O devices.
27569 Patch from Sven Mueller <sven@debian.org>.
27570
991477f8 275712008-06-16 Robert Millan <rmh@aybabtu.com>
27572
27573 * util/update-grub.in: Check for $EUID instead of $UID.
27574 Reported by Vincent Zweije.
27575
d31a32a1 275762008-06-16 Bean <bean123ch@gmail.com>
27577
fe987087 27578 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 27579 (grub_ext2_read_block): Likewise.
27580 (grub_ext2_read_inode): Likewise.
27581 (grub_ext2_mount): Likewise.
27582 (grub_ext2_close): Likewise.
27583 (grub_ext3_get_journal): Removed.
27584
fe987087 27585 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 27586 (grub_reiserfs_read_symlink): Likewise.
27587 (grub_reiserfs_mount): Likewise.
27588 (grub_reiserfs_open): Likewise.
27589 (grub_reiserfs_read): Likewise.
27590 (grub_reiserfs_close): Likewise.
27591 (grub_reiserfs_get_journal): Removed.
27592
27593 * fs/fshelp.c (grub_fshelp_read): Removed.
27594 (grub_fshelp_map_block): Likewise.
27595
27596 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
27597 (grub_fshelp_journal): Likewise.
27598 (grub_fshelp_read): Likewise.
27599 (grub_fshelp_map_block): Likewise.
27600
3540a760 276012008-06-16 Pavel Roskin <proski@gnu.org>
27602
27603 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
27604 floating point anymore.
27605 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
27606
95614c84 276072008-06-15 Pavel Roskin <proski@gnu.org>
27608
27609 * commands/ls.c (grub_ls_list_files): Use integer calculations
27610 for human readable format, avoid floating point use.
27611 * kern/misc.c (grub_ftoa): Remove.
27612 (grub_vsprintf): Remove floating point support.
27613
50465dd6 276142008-06-15 Robert Millan <rmh@aybabtu.com>
27615
fe6b695a 27616 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 27617 devices.
27618 Reported by Max Vozeler.
27619
a9207284 276202008-06-15 Robert Millan <rmh@aybabtu.com>
27621
27622 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
27623 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
27624 skipped later.
27625 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
27626 the beginning of the prefix.
27627
27628 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
27629 It is assumed that if we have a memdisk, grub-mkimage has set
27630 grub_prefix to include the "(memdisk)" drive in it.
27631
a7cbd45a 276322008-06-15 Robert Millan <rmh@aybabtu.com>
27633
27634 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
27635 Initialize keyboard controller after registering the terminal, so that
27636 grub_printf() can be called from grub_keyboard_controller_init().
27637
21cf716a 276382008-06-15 Robert Millan <rmh@aybabtu.com>
27639
27640 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
27641 extent-btree which is written as big endian on disk.
27642 Reported by Alain Greppin <al@chilibi.org>.
27643
23a64d8e 276442008-06-14 Robert Millan <rmh@aybabtu.com>
27645
27646 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
27647 * util/i386/pc/grub-install.in (modules): Likewise.
27648
d687651c 276492008-06-13 Pavel Roskin <proski@gnu.org>
27650
27651 * commands/ls.c (grub_ls_list_files): Fix format warnings.
27652
dfe9ddd4 276532008-06-13 Bean <bean123ch@gmail.com>
27654
27655 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
27656
27657 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
27658
27659 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
27660 to indicate sparse block.
27661
16ae7781 276622008-06-12 Pavel Roskin <proski@gnu.org>
27663
e6d1a308 27664 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
27665 number, grub_fshelp_read() does it for us.
27666
16ae7781 27667 * fs/fshelp.c (grub_fshelp_read): New function. Implement
27668 linear disk read with journal translation.
27669 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
27670 * include/grub/fshelp.h: Declare grub_fshelp_read().
27671
40fd3a2b 276722008-06-09 Pavel Roskin <proski@gnu.org>
27673
27674 * fs/minix.c (grub_minix_mount): Handle error reading
27675 superblock.
27676
f5679726 276772008-06-08 Robert Millan <rmh@aybabtu.com>
27678
27679 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
27680 don't append the RAID prefix afterwards.
27681 Reported by Clint Adams.
27682
ce525529 276832008-06-08 Robert Millan <rmh@aybabtu.com>
27684
27685 Based on description from Pavel:
27686 * kern/disk.c (grub_disk_check_range): Rename to ...
27687 (grub_disk_adjust_range): ... this. Add a comment explaining the
27688 tasks performed by this function.
27689
ad4936a0 276902008-06-08 Robert Millan <rmh@aybabtu.com>
27691
27692 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
27693 `num_serial' (for consistency with other variables).
27694 (struct grub_ntfs_data): Add `uuid' member.
27695 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
27696 (grub_ntfs_uuid): New function.
27697 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
27698
dc20b0f9 276992008-06-07 Pavel Roskin <proski@gnu.org>
27700
27701 * util/biosdisk.c (open_device): Revert last change to the
27702 function, it broke installation. The sector needs to be
27703 different dependent on which device is opened.
27704
c5e3cfba 277052008-06-06 Robert Millan <rmh@aybabtu.com>
27706
27707 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
27708 rest of GRUB, and breakage doesn't happen if its value were modified.
27709
27710 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27711 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
27712 a constant (same value).
27713 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
27714 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
27715
26a1f8c4 277162008-06-06 Robert Millan <rmh@aybabtu.com>
27717
27718 * util/biosdisk.c (open_device): Do not modify sector offset when
27719 accessing a partition. kern/disk.c already handles this for us.
27720
25d6b327 277212008-06-06 Robert Millan <rmh@aybabtu.com>
27722
27723 * util/grub-emu.c (grub_machine_init): Move code in this function from
27724 here ...
27725 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
27726 segfault in case grub_printf() is called).
27727
27728 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
27729 grub_probe. Update all users not to explicitly add it again.
27730 (grub_device): New variable; contains corresponding device for grubdir.
27731 (fs_module, partmap_module, devabstraction_module): Pass
27732 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27733 every time.
27734
9ece62fb 277352008-06-05 Robert Millan <rmh@aybabtu.com>
27736
27737 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27738 is found, print it (same layout as with labels).
27739
1ad36d37 277402008-06-04 Robert Millan <rmh@aybabtu.com>
27741
27742 * util/biosdisk.c (get_drive): Rename to ...
27743 (find_grub_drive): ... this. Update all users.
27744
27745 (get_os_disk): Rename to ...
27746 (convert_system_partition_to_system_disk): ... this. Update all users.
27747
27748 (find_drive): Rename to ...
27749 (find_system_device): ... this. Update all users.
27750
e6a30859 277512008-06-04 Robert Millan <rmh@aybabtu.com>
27752
27753 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27754 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27755 (make_device_map): Likewise.
27756
00c108a4 277572008-06-01 Robert Millan <rmh@aybabtu.com>
27758
27759 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27760 before dereferencing it.
27761
27762 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27763 union with fat12/fat16-specific ones. Add some new fields, including
27764 `num_serial' for both versions.
27765 (struct grub_fat_data): Add `uuid' member.
27766 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27767 names. Initialize `data->uuid' using `num_serial'.
27768 (grub_fat_uuid): New function.
27769 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27770
27771 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27772 (grub_reiserfs_uuid): New function.
27773 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27774 member.
27775
27776 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27777 (grub_xfs_uuid): New function.
27778 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27779
1385c5bb 277802008-06-01 Robert Millan <rmh@aybabtu.com>
27781
27782 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
27783 code that is backward compatible with pre-uuid search command.
27784
c682dfd7 277852008-05-31 Robert Millan <rmh@aybabtu.com>
27786
27787 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
27788 floppies after everything else, to ensure floppy drive isn't accessed
27789 unnecessarily (patch from Bean).
27790
b7db5d47 277912008-05-31 Robert Millan <rmh@aybabtu.com>
27792
27793 * commands/search.c (search_label, search_fs_uuid, search_file): Do
27794 not print device names when we were asked to set a variable.
27795
6e037aa9 277962008-05-31 Robert Millan <rmh@aybabtu.com>
27797
27798 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
27799 using "cursor-on" and "cursor-off" commands (understood at least by
27800 the Open Firmware flavour on OLPC).
27801
41305bc8 278022008-05-31 Michael Gorven <michael@gorven.za.net>
27803
27804 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
27805 on and off sequences.
27806
69ba137e 278072008-05-31 Robert Millan <rmh@aybabtu.com>
27808
27809 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
27810 * util/update-grub.in: Likewise.
27811
520ae21b 278122008-05-30 Pavel Roskin <proski@gnu.org>
27813
27814 * util/biosdisk.c (linux_find_partition): Simplify logic and
27815 make the code more universal. Keep special processing for
27816 devfs, but use a simple rule for all other devices. If the
27817 device ends with a number, append 'p' and the partition number.
27818 Otherwise, append only the partition number.
27819
5786569b 278202008-05-30 Robert Millan <rmh@aybabtu.com>
27821
27822 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
27823 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
27824 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
27825 the `root' parameter to Linux.
27826
51500452 278272008-05-30 Robert Millan <rmh@aybabtu.com>
27828
27829 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
27830 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
27831 --fs_uuid with --fs-uuid.
27832 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
27833 all filesystems support them).
27834
811d3878 278352008-05-30 Robert Millan <rmh@aybabtu.com>
27836
27837 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 27838 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 27839
cab63c95 278402008-05-30 Robert Millan <rmh@aybabtu.com>
27841
27842 * util/grub.d/00_header.in: Remove obsolete comment referencing
27843 convert_system_path_to_grub_path().
27844 * util/update-grub.in: Likewise.
27845 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
27846 (convert_system_path_to_grub_path): Add a warning message explaining
27847 that this function is deprecated. Rely on is_path_readable_by_grub()
27848 for the readability checks.
27849 (font_path): Use is_path_readable_by_grub() for the readability
27850 check rather than convert_system_path_to_grub_path().
27851
972e2f7a 278522008-05-30 Robert Millan <rmh@aybabtu.com>
27853
27854 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
27855 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
27856 converting it first.
27857 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
27858 grub.cfg for access to font file, and afterwards call it again to set
27859 the root device.
27860
62191274 278612008-05-30 Robert Millan <rmh@aybabtu.com>
27862
27863 * commands/search.c (options): Add --fs_uuid option.
27864 (search_fs_uuid): New function.
27865 (grub_cmd_search): Fix --set argument passing.
27866 Use search_fs_uuid() when requested via --fs_uuid.
27867 (grub_search_init): Update help message.
27868 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
27869 and redeclare it as an array of 16-bit words.
27870 (grub_ext2_uuid): New function.
27871 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
27872 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
27873 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
27874 (GRUB_DEVICE_BOOT_UUID): New variables.
27875 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
27876 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
27877 whenever possible.
27878 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
27879 just assume `root' variable has the right value.
27880 * util/grub.d/10_linux.in: Likewise.
27881 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
27882 via PRINT_FS_UUID.
27883 (main): Recognise `-t fs_uuid' argument.
27884
01b73ec8 278852008-05-30 Robert Millan <rmh@aybabtu.com>
27886
27887 * util/biosdisk.c (map): Redefine structure to hold information
27888 about GRUB drive name.
fe6b695a 27889 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 27890 drive names.
27891 (call_hook): Remove.
27892 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
27893 member. Assume drive has partitions.
27894 (grub_util_biosdisk_open): Access device names via `.device' struct
27895 member.
27896 (open_device): Likewise.
27897 (find_drive): Likewise.
27898 (read_device_map): Adjust map[] usage to match the new struct
27899 definition. Don't check for duplicates (still possible, but not cheap
27900 anymore).
27901 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
27902 (make_device_name): Remove assumption of BIOS-like drive names.
27903
22f16596 279042008-05-30 Pavel Roskin <proski@gnu.org>
27905
27906 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
27907 compiling execute.c doesn't need grub_script.tab.h anymore.
27908 (normal/command.c_DEPENDENCIES): Likewise.
27909 (normal/function.c_DEPENDENCIES): Likewise.
27910 * conf/i386-ieee1275.rmk: Likewise.
27911 * conf/i386-linuxbios.rmk: Likewise.
27912 * conf/i386-pc.rmk: Likewise.
27913 * conf/powerpc-ieee1275.rmk: Likewise.
27914 * conf/sparc64-ieee1275.rmk: Likewise.
27915
528ad8f2 279162008-05-29 Pavel Roskin <proski@gnu.org>
27917
d1dff95d 27918 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
27919 when scanning metadata for volume group name.
27920
528ad8f2 27921 * include/grub/script.h: Don't include grub_script.tab.h. It's
27922 a generated file, which may only be included from the files with
27923 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
27924 use union YYSTYPE, as the later allows forward declaration.
27925 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
27926
47248e08 279272008-05-29 Robert Millan <rmh@aybabtu.com>
27928
27929 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
27930 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
27931 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
27932 (grub_console_checkkey): Add grub_dprintf() call to report unknown
27933 scan codes.
27934
ee632529 279352008-05-29 Robert Millan <rmh@aybabtu.com>
27936
27937 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
27938 control key combinations.
27939
eee96e08 279402008-05-29 Robert Millan <rmh@aybabtu.com>
27941
27942 * util/powerpc/ieee1275/grub-install.in: Move from here ...
27943 * util/ieee1275/grub-install.in: ... to here.
27944 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
27945 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
27946 (grub_install_SOURCES): Likewise.
27947
da9a6a94 279482008-05-29 Robert Millan <rmh@aybabtu.com>
27949
27950 * fs/affs.c: Update copyright year.
27951 * fs/ext2.c: Likewise.
27952 * fs/fshelp.c: Likewise.
27953 * fs/hfsplus.c: Likewise.
27954 * fs/ntfs.c: Likewise.
27955 * fs/xfs.c: Likewise.
27956 * include/grub/fshelp.h: Likewise.
27957 * util/grub-mkdevicemap.c: Likewise.
27958
12e65f3a 279592008-05-28 Robert Millan <rmh@aybabtu.com>
27960
27961 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
27962 might need to be fatfs to support some firmware implementations
27963 (e.g. OFW or EFI).
27964
23023641 279652008-05-28 Robert Millan <rmh@aybabtu.com>
27966
27967 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
27968 devices.
27969 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27970 (make_device_map): Likewise.
27971
887d2619 279722008-05-20 Bean <bean123ch@gmail.com>
27973
27974 * fs/fshelp.c (grub_fshelp_map_block): New function.
27975 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
27976 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
27977
27978 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
27979 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
27980 (grub_fshelp_journal): New structure.
27981 (grub_fshelp_map_block): New function prototype.
27982 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
27983 (grub_fshelp_map_block): Likewise.
27984
27985 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
27986 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
27987 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
27988 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
27989 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
27990 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
27991 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
27992 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
27993 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
27994 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
27995 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
27996 (grub_ext2_sblock): New members for journal support.
27997 (grub_ext3_journal_header): New structure.
27998 (grub_ext3_journal_revoke_header): Likewise.
27999 (grub_ext3_journal_block_tag): Likewise.
28000 (grub_ext3_journal_sblock): Likewise.
28001 (grub_fshelp_node): New members logfile and journal.
28002 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28003 grub_fshelp_map_block to get real block number.
28004 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28005 number.
28006 (grub_ext2_read_inode): Likewise.
28007 (grub_ext3_get_journal): New function.
28008 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28009 (grub_ext2_close): Release memory used by journal.
28010
28011 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28012 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28013 (grub_reiserfs_transaction_header): Renamed to
28014 grub_reiserfs_description_block, replace field data with real_blocks.
28015 (grub_reiserfs_commit_block): New structure.
28016 (grub_reiserfs_data): New member journal.
28017 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28018 number.
28019 (grub_reiserfs_read_symlink): Likewise.
28020 (grub_reiserfs_iterate_dir): Likewise.
28021 (grub_reiserfs_open): Likewise.
28022 (grub_reiserfs_read): Likewise.
28023 (grub_reiserfs_get_journal): New function.
28024 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28025 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28026 using grub_reiserfs_get_journal.
28027 (grub_reiserfs_close): Release memory used by journal.
28028
28029 * fs/affs.c (grub_affs_read_block): Change block type to
28030 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28031
28032 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28033
28034 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28035
28036 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28037
28038 * fs/udf.c (grub_udf_read_block): Change block type to
28039 grub_disk_addr_t. Use type cast to avoid warning.
28040
28041 * fs/xfs.c (grub_xfs_read_block): Likewise.
28042
b7c6bed5 280432008-05-16 Christian Franke <franke@computer.org>
28044
28045 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28046 to ensure that break with ESC will always work.
28047 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28048 Remove ESC from keyboard queue.
28049
eedf167f 280502008-05-16 Christian Franke <franke@computer.org>
28051
28052 * util/biosdisk.c: [__CYGWIN__] Add includes.
28053 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28054 (get_os_disk): Move variable declarations to OS specific
28055 parts to avoid warning.
28056 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28057 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28058 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28059 Cygwin.
28060 * util/getroot.c: [__CYGWIN__] Add includes.
28061 (strip_extra_slashes): Fix "/" case.
28062 [__CYGWIN__] (get_win32_path): New function.
28063 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28064 [__CYGWIN__] (find_root_device): Disable.
28065 [__CYGWIN__] (get_bootsec_serial): New function.
28066 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28067 [__linux__] (grub_guess_root_device): Add early returns to simplify
28068 structure.
28069 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28070 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28071 check for Linux only.
28072
a079699e 280732008-05-15 Bean <bean123ch@gmail.com>
28074
28075 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28076 keyboard hang problem in apple's intel mac.
28077
1cf4059a 280782008-05-09 Robert Millan <rmh@aybabtu.com>
28079
28080 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28081 devices.
28082 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28083 (make_device_map): Likewise.
28084 Reported by Aurelien Jarno <aurel32@debian.org>
28085
ed759390 280862008-05-07 Ian Campbell <ijc@hellion.org.uk>
28087
28088 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28089 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28090 (make_device_map): Output entries for xvd type disks.
28091
b56c4eaa 280922008-05-07 Robert Millan <rmh@aybabtu.com>
28093
28094 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28095 devices.
28096 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28097 (make_device_map): Likewise.
28098 Reported by Roland Dreier <rdreier@cisco.com>
28099
7f8866ed 281002008-05-07 Robert Millan <rmh@aybabtu.com>
28101
28102 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28103 grub_strstr() call. Correct a few mistakes in failure path handling.
28104
b0346e0f 281052008-05-06 Robert Millan <rmh@aybabtu.com>
28106
28107 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28108 Do not print a trailing slash (therefore, the root directory is an
28109 empty string).
28110 (convert_system_path_to_grub_path): Do not remove trailing slash
28111 from make_system_path_relative_to_its_root() output.
28112
28113 * util/i386/pc/grub-install.in: Add trailing slash to output from
28114 make_system_path_relative_to_its_root().
28115
6cf12cbd 281162008-05-06 Robert Millan <rmh@aybabtu.com>
28117
28118 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28119 ensures that output lines aren't intermangled with those sent to
28120 stderr (via grub_util_info()).
28121 * util/grub-probe.c (grub_refresh): Likewise.
28122 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28123
0fbb3117 281242008-05-05 Christian Franke <franke@computer.org>
28125
28126 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28127 Add Cygwin device names.
28128 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28129 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28130 (check_device): Return error instead of success on empty name.
28131 (make_device_map): Move label inside linux specific code to
28132 prevent compiler warning.
28133
8124cdb7 281342008-04-30 Robert Millan <rmh@aybabtu.com>
28135
28136 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28137 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28138 first boot option.
28139 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28140
094c01d0 281412008-04-29 Robert Millan <rmh@aybabtu.com>
28142
28143 * docs/grub.cfg: New file (example GRUB configuration).
28144
f4b1fc02 281452008-04-26 Robert Millan <rmh@aybabtu.com>
28146
329ce2a5 28147 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28148 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28149 and `disk/ieee1275/nand.c'.
f4b1fc02 28150
25f16ec1 281512008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28152
25f16ec1 28153 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28154 i386-linuxbios.
28155
28156 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28157 change the buffer size to 4096 for cdrom device.
28158
28159 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28160 and nand.mod.
28161 (_linux_mod_SOURCES): New variable.
28162 (_linux_mod_CFLAGS): Likewise.
28163 (_linux_mod_LDFLAGS): Likewise.
28164 (linux_mod_SOURCES): Likewise.
28165 (linux_mod_CFLAGS): Likewise.
28166 (linux_mod_LDFLAGS): Likewise.
28167 (nand_mod_SOURCES): Likewise.
28168 (nand_mod_CFLAGS): Likewise.
28169 (nand_mod_LDFLAGS): Likewise.
28170
28171 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28172 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28173 type property. (nand device in olpc don't have this property)
28174
28175 * include/grub/disk.h (grub_disk_dev_id): New macro
28176 GRUB_DISK_DEVICE_NAND_ID.
28177
28178 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28179 function prototype.
28180 (grub_rescue_cmd_initrd): Likewise.
28181
28182 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28183 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28184 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28185
25f16ec1 28186 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28187 GRUB_MACHINE_IEEE1275 is defined.
28188
28189 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28190 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28191
28192 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28193 on nested function heap_init.
28194 (grub_upper_mem): New variable for i386-ieee1275.
28195 (grub_get_extended_memory): New function for i386-ieee1275.
28196 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28197
28198 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28199 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28200 property.
f19dbdb7 28201
25f16ec1 28202 * loader/i386/ieee1275/linux.c: New file.
28203
28204 * loader/i386/ieee1275/linux_normal.c: New file.
28205
28206 * disk/ieee1275/nand.c: New file.
28207
e89d61e9 282082008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28209
28210 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28211 value.
28212 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28213
602566f6 282142008-04-18 Robert Millan <rmh@aybabtu.com>
28215
28216 Restructures early code path on ieee1275 to unify grub_main() as
28217 the first C function that is executed in every platform.
28218
28219 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28220 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28221 cmain().
28222 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28223 * kern/ieee1275/cmain.c (cmain): Rename to ...
28224 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28225 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28226 at the beginning.
28227
57490c2b 282282008-04-18 Robert Millan <rmh@aybabtu.com>
28229
28230 * util/update-grub.in: Fix syntax error when setting
28231 `GRUB_PRELOAD_MODULES'.
28232 Reported by Stephane Chazelas <stephane@artesyncp.com>
28233
1977517d 282342008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28235
28236 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28237 section into account, newer toolchains generate unique build ids
28238 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28239 we want build ids to be preserved
1977517d 28240 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28241 far from other sections don't cause the raw binary images grow
28242 size
28243
bfb1f1a2 282442008-04-15 Robert Millan <rmh@aybabtu.com>
28245
28246 * disk/lvm.c: Update copyright year.
28247 * kern/misc.c: Likewise.
28248
01979850 282492008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28250
28251 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28252 there is no memory left for physical volume name.
01979850 28253
0a1150e2 282542008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28255
28256 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28257 volume name mapping to support bigger than 9 character names properly.
28258
82ead3fe 282592008-04-13 Robert Millan <rmh@aybabtu.com>
28260
28261 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28262 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28263
e54a72f5 282642008-04-13 Christian Franke <franke@computer.org>
28265
28266 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28267 to create a floppy emulation boot CD when non emulation mode
28268 does not work.
28269 Enable Joliet CD filesystem extension.
28270
9fe86034 282712008-04-13 Robert Millan <rmh@aybabtu.com>
28272
28273 * kern/misc.c (grub_strncat): Fix off-by-one error.
28274 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28275
28276 * kern/env.c (grub_env_context_close): Clear current context, not
28277 previous one.
28278 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28279
28280 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28281
7ceeee39 282822008-04-13 Robert Millan <rmh@aybabtu.com>
28283
28284 Improve robustness when handling LVM.
28285
28286 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28287 (and leave `*p' unmodified).
7ceeee39 28288 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28289 through it.
28290 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28291 iterating through it.
28292 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28293 through it.
fe6b695a 28294 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28295 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28296 Don't assume `vg->pvs != NULL' when iterating through it.
28297
58cd3d85 282982008-04-13 Robert Millan <rmh@aybabtu.com>
28299
28300 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28301 * genmk.rb (partmap): New variable.
28302 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28303 (#{partmap}): New target rule.
28304 * genpartmaplist.sh: New file.
28305 * Makefile.in (pkglib_DATA): Add partmap.lst.
28306 (partmap.lst): New target rule.
28307 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28308 modules (including all partition maps), instead of preloading them.
28309
78b51059 283102007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28311
28312 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28313 `linux-boot-prober' (if installed) to detect other operating
28314 systems which are installed on the computer and add them to
28315 the boot menu.
28316 * conf/common.rmk: Build and install 30_os-prober.
28317
a91627b4 283182008-04-12 Robert Millan <rmh@aybabtu.com>
28319
28320 * kern/powerpc/ieee1275/init.c: Move from here ...
28321 * kern/ieee1275/init.c: ... to here. Update all users.
28322
28323 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28324 * kern/ieee1275/cmain.c: ... to here. Update all users.
28325
28326 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28327 * kern/ieee1275/openfw.c: ... to here. Update all users.
28328
28329 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28330 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28331
322562ea 283322008-04-10 Pavel Roskin <proski@gnu.org>
28333
28334 * configure.ac: Always use "_cv_" in cache variables for
28335 compatibility with Autoconf 2.62.
28336
a02a73c5 283372008-04-07 Robert Millan <rmh@aybabtu.com>
28338
28339 Revert grub/machine/init.h addition by Pavel (since it breaks on
28340 i386-ieee1275 and others):
28341 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28342 * util/powerpc/ieee1275/misc.c: Likewise.
28343
25c024b1 283442008-04-07 Robert Millan <rmh@aybabtu.com>
28345
28346 * util/grub-probe.c (probe): Improve error message.
28347
3cbd2f98 283482008-04-07 Robert Millan <rmh@aybabtu.com>
28349
28350 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28351 (this prevents the presence of a bogus entry from ruining the whole
28352 thing).
28353
87a297bf 283542008-04-06 Pavel Roskin <proski@gnu.org>
28355
36747a62 28356 * util/biosdisk.c: Include grub/util/biosdisk.h.
28357 * util/grub-fstest.c (execute_command): Make static.
28358 * util/grub-mkdevicemap.c (check_device): Likewise.
28359 * util/i386/pc/misc.c: Include grub/machine/init.h.
28360 * util/powerpc/ieee1275/misc.c: Likewise.
28361 * util/lvm.c: Include grub/util/lvm.h.
28362 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28363 grub/cache.h.
28364 * util/raid.c: Include grub/util/raid.h.
28365 (grub_util_getdiskname): Make static.
28366
87a297bf 28367 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28368 grub_hostfs_fini(), as they are called from grub_init_all() and
28369 grub_fini_all() respectively. This fixes an infinite loop in
28370 grub-fstest due to double registration of hostfs.
28371 Reported by Christian Franke <Christian.Franke@t-online.de>
28372
f6ce7629 283732008-04-05 Pavel Roskin <proski@gnu.org>
28374
28375 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28376 all 8 functions. Otherwise, probe function 0 only.
28377
070e49e4 283782008-04-04 Pavel Roskin <proski@gnu.org>
28379
8b088a4c 28380 * commands/lspci.c (grub_lspci_iter): Print the bus number
28381 correctly.
28382
4f657021 28383 * commands/lspci.c (grub_pci_classes): Fix typos.
28384 (grub_lspci_iter): Don't print func twice. Print vendor ID
28385 before device ID, as it's normally done.
28386
070e49e4 28387 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28388 Fix signedness warnings.
28389 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28390 Likewise.
28391 * util/ieee1275/get_disk_name.c: Include config.h so that
28392 _GNU_SOURCE is defined and getline() is declared. Mark an
28393 unused argument as such. Fix a signedness warning.
28394
ba7328dc 283952008-04-02 Pavel Roskin <proski@gnu.org>
28396
26887f22 28397 * genkernsyms.sh.in: Use more robust assignments for CC and
28398 srcdir. Quote srcdir.
28399 * gensymlist.sh.in: Likewise. Assert at the compile time that
28400 the symbol table is not empty.
28401
ba7328dc 28402 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28403 * fs/cpio.c (grub_cpio_read): Likewise.
28404
0f582c6b 284052008-04-01 Pavel Roskin <proski@gnu.org>
28406
4b6e1995 28407 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28408 * disk/host.c (grub_host_open): Likewise.
28409 * disk/loopback.c (grub_loopback_open): Likewise.
28410 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28411 disk->id as in disk/host.c, not a multi-character constant.
28412
828a2768 28413 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28414 later is obsolete, potentially dangerous and sets a bad example.
28415 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28416 * util/misc.c (grub_util_get_image_size): Likewise.
28417
2bb4fb47 28418 * disk/loopback.c (options): Improve help for "--partitions".
28419
0f582c6b 28420 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28421 options to align them with the short options, e.g. "echo -e".
28422
a33224e0 284232008-03-31 Bean <bean123ch@gmail.com>
28424
28425 * video/reader/png.c (grub_png_data): New member is_16bit and
28426 image_data.
28427 (grub_png_decode_image_header): Detect 16 bit png image.
28428 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28429 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28430 (grub_video_reader_png): Release memory occupied by image_data.
28431
28432 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28433 4096 bytes.
28434 (grub_nfs_mount): Skip the test for sector per cluster.
28435
28436 * include/grub/ntfs.h (MAX_SPC): Removed.
28437
86cb4f54 284382008-03-31 Bean <bean123ch@gmail.com>
28439
28440 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28441 (grub_probe_SOURCES): Add fs/afs.c.
28442 (grub_fstest_SOURCES): Likewise.
28443 (afs_mod_SOURCES): New variable.
28444 (afs_mod_CFLAGS): Likewise.
28445 (afs_mod_LDFLAGS): Likewise.
28446
28447 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28448 (grub_emu_SOURCES): Likewise.
28449
28450 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28451
28452 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28453
28454 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28455
28456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28457
28458 * fs/afs.c: New file.
28459
17c74c21 284602008-03-30 Pavel Roskin <proski@gnu.org>
28461
4cb68e89 28462 * disk/host.c: Include grub/misc.h to fix a warning.
28463 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28464 warnings about implicit declarations.
28465
8790bb04 28466 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28467 variable.
28468 * include/grub/i386/loader.h: Change declaration of
28469 grub_linux_boot() to match what grub_loader_set() expects.
28470 * util/getroot.c (grub_guess_root_device): Return const char* to
28471 fix a warning.
28472 * util/grub-probe.c (probe): Fix a warning about uninitialized
28473 abstraction_name variable.
28474 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28475 second argument as unused to fix a warning.
28476
9a3f3296 28477 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28478 missing grub_error() call.
28479
0ecef90d 28480 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28481 2.60 and newer uses it to define datadir.
28482
0bf6d401 28483 * commands/sleep.c: Fix warning about implicit declaration.
28484 * disk/memdisk.c: Likewise.
28485 * loader/aout.c: Likewise.
28486 * loader/i386/bsd_normal.c: Likewise.
28487 * util/grub-probe.c: Likewise.
28488
7cdacf97 28489 * commands/i386/cpuid.c (has_longmode): Make static.
28490 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
28491 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
28492
17c74c21 28493 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
28494 GDT. This is more robust, as %ds can change.
28495 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
28496 calling real_to_prot().
28497 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
28498
80a3e68b 284992008-03-28 Pavel Roskin <proski@gnu.org>
28500
28501 * kern/i386/pc/startup.S: Assert that uncompressed functions
28502 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
28503 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
28504 code, as they push parts of the code (error handlers) beyond
28505 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
28506 code as correctness and size.
28507
77bcd272 285082008-03-28 Pavel Roskin <proski@gnu.org>
28509
28510 * kern/i386/pc/startup.S
28511 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
28512 data block address to the real mode, keep offset minimal. This
28513 works around a bug in AWARD BIOS on old Athlon systems, which
28514 makes CD detection hang.
28515
c5dfd43b 285162008-03-26 Pavel Roskin <proski@gnu.org>
28517
28518 * normal/color.c (grub_parse_color_name_pair): Make `name' a
28519 const.
28520 * include/grub/normal.h: Add grub_parse_color_name_pair()
28521 declaration.
28522
bf962df2 285232008-03-24 Bean <bean123ch@gmail.com>
28524
28525 * disk/i386/pc/biosdisk.c (cd_start): Removed.
28526 (cd_count): Removed.
28527 (cd_drive): New variable.
28528 (grub_biosdisk_get_drive): Don't check for (cdN) device.
28529 (grub_biosdisk_call_hook): Likewise.
28530 (grub_biosdisk_iterate): Change cdrom detection method.
28531 (grub_biosdisk_open): Replace cd_start with cd_drive.
28532 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
28533 detect cdrom device.
28534
28535 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
28536 Removed.
28537 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
28538 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
28539 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
28540 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
28541 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
28542 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
28543 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
28544 (grub_biosdisk_cdrp): New structure.
28545 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
28546
28547 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
28548
28549 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
28550 device.
28551
28552 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
28553 New function.
28554
68e7fc7a 285552008-03-20 Robert Millan <rmh@aybabtu.com>
28556
28557 Remove 2 TiB limit in ata.mod.
28558 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
28559 (grub_ata_dumpinfo): Print sector count with 0x%llx.
28560 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
28561 grub_uint64_t instead of grub_uint32_t.
28562
38ad2cf5 285632008-03-05 Bean <bean123ch@gmail.com>
28564
28565 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
28566 (grub_multiboot): Set boot device.
28567
28568 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
28569
2b89344e 285702008-03-02 Bean <bean123ch@gmail.com>
28571
28572 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
28573 symlink_buffer.
28574
87a95d1f 285752008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
28576
28577 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
28578 texinfo.tex.
28579
28580 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
28581 modified.
28582
28583 * docs/fdl.texi: New file.
f19dbdb7 28584
87a95d1f 28585 * docs/mdate-sh: New file. Copied from gnulib.
28586 * docs/texinfo.tex: Likewise.
28587
28588 * config.guess: Updated from gnulib.
28589 * install-sh: Likewise.
28590
7dc15d8e 285912008-02-28 Robert Millan <rmh@aybabtu.com>
28592
28593 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
28594 (aout_mod_SOURCES): New variable.
28595 (aout_mod_CFLAGS): Likewise.
28596 (aout_mod_LDFLAGS): Likewise.
28597
28598 * conf/i386-ieee1275.rmk: Likewise.
28599
b00ab696 286002008-02-28 Robert Millan <rmh@aybabtu.com>
28601
28602 * util/update-grub.in: Reorganise terminal validity check. Accept
28603 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
28604 Based on suggestion by Franklin PIAT.
28605
79ca2d78 286062008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
28607
28608 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
28609 function.
28610 * util/getroot.c (grub_util_check_block_device): New function that
28611 returns the given argument if it is a block device and returns NULL else.
28612 * util/grub-probe.c (argument_is_device): New variable.
28613 (probe): Promote device_name from a variable to an argument. Receive
28614 device_name from grub_util_check_block_device() if path is NULL and from
28615 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 28616 (options): Introduce new parameter '-d, --device'.
79ca2d78 28617 (main): Add description of the new parameter to the help screen.
28618 Rename path variable to argument. Set argument_is_device if the '-d'
28619 option is given. Pass argument to probe() depending on
28620 argument_is_device.
28621
0d16e571 286222008-02-24 Bean <bean123ch@gmail.com>
28623
28624 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
28625 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
28626 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
28627 (GRUB_ISO9660_VOLDESC_PART): Likewise.
28628 (GRUB_ISO9660_VOLDESC_END): Likewise.
28629 (grub_iso9660_primary_voldesc): New member escape.
28630 (grub_iso9660_data): New member joliet.
28631 (grub_iso9660_convert_string): New function.
28632 (grub_iso9660_mount): Detect joliet extension.
28633 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
28634 (grub_iso9660_iso9660_label): Likewise.
28635
28636 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
28637 (grub_setup_SOURCES): Add fs/udf.c.
28638 (grub_fstest_SOURCES): Likewise.
28639 (udf_mod_SOURCES): New variable.
28640 (udf_mod_CFLAGS): Likewise.
28641 (udf_mod_LDFLAGS): Likewise.
28642
28643 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
28644 (grub_emu_SOURCES): Likewise.
28645
28646 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28647
28648 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28649
28650 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28651
28652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28653
28654 * fs/udf.c: New file.
28655
8a594a17 286562008-02-24 Robert Millan <rmh@aybabtu.com>
28657
28658 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
28659 (normal/lexer.c_DEPENDENCIES): New variables.
28660 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28661 (normal/lexer.c_DEPENDENCIES): Likewise.
28662 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
28663 (normal/lexer.c_DEPENDENCIES): Likewise.
28664 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
28665 (normal/lexer.c_DEPENDENCIES): Likewise.
28666 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28667 (normal/lexer.c_DEPENDENCIES): Likewise.
28668 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
28669 (normal/lexer.c_DEPENDENCIES): Likewise.
28670
2dc33c03 286712008-02-23 Robert Millan <rmh@aybabtu.com>
28672
28673 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
28674 since they were intended to be in hex. This didn't break previously
28675 because of a bug in gpt_partition_map_iterate() (see below).
28676
28677 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
28678 when checking the validity of GPT header.
28679 Remove `partno', since it always provides the same information as `i'.
28680
f6f4cfb0 286812008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
28682
28683 * include/grub/efi/time.h: Fix a wrong comment.
28684
79ff665f 286852008-02-19 Pavel Roskin <proski@gnu.org>
28686
28687 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
28688 message.
28689
d38e24c2 286902008-02-19 Bean <bean123ch@gmail.com>
28691
28692 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
28693 (aout_mod_SOURCES): New variable.
28694 (aout_mod_CFLAGS): Likewise.
28695 (aout_mod_LDFLAGS): Likewise.
28696 (_bsd_mod_SOURCES): New variable.
28697 (_bsd_mod_CFLAGS): Likewise.
28698 (_bsd_mod_LDFLAGS): Likewise.
28699 (bsd_mod_SOURCES): New variable.
28700 (bsd_mod_CFLAGS): Likewise.
28701 (bsd_mod_LDFLAGS): Likewise.
28702
28703 * include/grub/aout.h: New file.
28704
28705 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
28706
28707 * include/grub/i386/bsd.h: New file.
28708
28709 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
28710 to make it public.
28711
28712 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
28713 function is called, so that it's possible to change it inside the hook.
28714 (grub_elf64_load): Likewise.
28715 (grub_elf_file): Don't close the file if elf header is not found.
28716 (grub_elf_close): Close the file if grub_elf_file fails (The new
28717 grub_elf_file won't close it).
28718 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
28719 (grub_elf64_size): Likewise.
28720
28721 * kern/i386/loader.S (grub_unix_real_boot): New function.
28722
28723 * loader/aout.c: New file.
28724
28725 * loader/i386/bsd.c: New file.
28726
28727 * loader/i386/bsd_normal.c: New file.
28728
28729 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
28730
28731 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 28732 can test other formats.
d38e24c2 28733
b93bdb0f 287342008-02-19 Robert Millan <rmh@aybabtu.com>
28735
28736 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28737 (grub_gpt_partition_type_empty): Redefine with macro from
28738 `<grub/gpt_partition.h>'.
28739 (gpt_partition_map_iterate): Adjust partition type comparison.
28740
28741 Export `entry' as partmap-specific `part.data' struct.
28742 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28743
28744 * include/grub/gpt_partition.h (grub_gpt_header)
28745 (grub_gpt_partentry): ... to here (new file).
28746
28747 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28748
28749 (grub_gpt_partition_type_bios_boot): New const variable, defined
28750 with macro from `<grub/gpt_partition.h>'.
28751
28752 (setup): Replace `first_start' with `embed_region', which keeps
28753 track of the embed region (and is partmap-agnostic).
28754
28755 Replace find_first_partition_start() with find_usable_region(),
28756 which finds a usable region for embedding using partmap-specific
28757 knowledge (supports PC/MSDOS and GPT).
28758
28759 Fix all assumptions that the embed region start at sector 1, using
28760 `embed_region.start' from now on. Similarly, use `embed_region.end'
28761 rather than `first_start' to calculate available size.
28762
28763 In grub_util_info() message, replace "into after the MBR" with an
28764 indication of the specific sector our embed region starts at.
28765
66cb40f6 287662008-02-19 Robert Millan <rmh@aybabtu.com>
28767
28768 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28769 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28770 `commands/reboot.c'.
28771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28772 (halt_mod_SOURCES): Likewise.
28773 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28774 (halt_mod_SOURCES): Likewise.
28775
b7202015 287762008-02-17 Christian Franke <franke@computer.org>
28777
28778 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28779
32b0fc49 287802008-02-17 Robert Millan <rmh@aybabtu.com>
28781
28782 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28783 set `first_start' to 0 for non-PC/MSDOS partition maps.
28784
aca63502 287852008-02-16 Robert Millan <rmh@aybabtu.com>
28786
28787 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28788 do not assume partition map is PC/MSDOS before performing checks that
28789 are specific to that layout.
28790
0de8be86 287912008-02-13 Robert Millan <rmh@aybabtu.com>
28792
28793 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
28794 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
28795 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
28796
c3db8364 287972008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
28798
28799 * configure.ac: Only a cosmetic change on the handling of
28800 -fno-stack-protector.
28801
f714229e 288022008-02-12 Alexandre Boeglin <alex@boeglin.org>
28803
c3db8364 28804 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
28805 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
28806 reboot.c.
f714229e 28807 (grub_install_SOURCES): Add halt.mod and reboot.mod.
28808 (halt_mod_SOURCES): New variable.
28809 (halt_mod_CFLAGS): Likewise.
28810 (halt_mod_LDFLAGS): Likewise.
28811 (reboot_mod_SOURCES): Likewise.
28812 (reboot_mod_CFLAGS): Likewise.
28813 (reboot_mod_LDFLAGS): Likewise.
28814
c3db8364 28815 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
28816 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
28817 reboot.c.
f714229e 28818 (halt_mod_SOURCES): Likewise.
28819 (reboot_mod_SOURCES): Likewise.
28820
c3db8364 28821 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
28822 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 28823 (reboot_mod_SOURCES): Likewise.
28824
28825 * commands/i386/pc/reboot.c: merge this file ...
28826
28827 * commands/ieee1275/reboot.c: ... and this file ...
28828
28829 * commands/reboot.c: ... to this file.
c3db8364 28830 Add some precompiler directive to include the correct header for
28831 each machine.
f714229e 28832
28833 * commands/ieee1275/halt.c: move this file ...
28834
28835 * commands/halt.c: ... to here.
c3db8364 28836 Add some precompiler directive to include the correct header for
28837 each machine.
f714229e 28838
28839 * include/grub/efi/efi.h (grub_reboot): New function declaration.
28840 (grub_halt): Likewise.
28841
28842 * kern/efi/efi.c (grub_reboot): New function.
28843 (grub_halt): Likewise.
28844
c74493e0 288452008-02-12 Robert Millan <rmh@aybabtu.com>
28846
28847 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
28848 /dev (like it is done for /dev/mapper). This doesn't provide support
28849 for EVMS, but at least it is now easy to identify the problem when it
28850 arises.
28851
d0db4b04 288522008-02-11 Robert Millan <rmh@aybabtu.com>
28853
28854 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
28855 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
28856 comparing it with -1, not 0.
28857
bf748642 288582008-02-10 Robert Millan <rmh@aybabtu.com>
28859
28860 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
28861 `disk/lvm.c'.
28862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28863 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28864
28865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
28866 `disk/lvm.c' to the end of the list.
28867 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28868 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28869
b5db202a 288702008-02-10 Robert Millan <rmh@aybabtu.com>
28871
28872 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
28873 grub_print_error() instead. This will let user know why we're entering
28874 rescue mode.
28875 Based on suggestions from Sam Morris.
28876
83abee31 288772008-02-10 Alexandre Boeglin <alex@boeglin.org>
28878
28879 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
28880 on remaining N args, instead of "--" arg N times.
28881
78d5a08b 288822008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
28883
28884 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
28885 (fill_with_default_glyph): Changed to use unknown_glyph for fill
28886 pattern for unknown glyphs.
28887
68807e5f 288882008-02-09 Robert Millan <rmh@aybabtu.com>
28889
28890 * configure.ac: Probe for `help2man'.
28891 * Makefile.in (builddir): New variable.
28892 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
28893 or otherwise add a few flags/options to it.
28894 (install-local): For every executable utility or script that is
28895 installed, invoke $(HELP2MAN) to install a manpage based on --help
28896 output.
28897
28898 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
28899 that it doesn't prevent --help from working in build tree.
28900
28901 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
28902 with `bug-grub@gnu.org'.
28903 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
28904 * util/update-grub.in (usage): New function.
28905 Implement proper argument check, with support for --help and --version
28906 (as well as existing -y).
28907
289082008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 28909
28910 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
28911 avoid overwriting previous output.
28912 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
28913
c1962162 289142008-02-09 Robert Millan <rmh@aybabtu.com>
28915
28916 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
28917 drawing the menu.
28918
3dac2e3f 289192008-02-09 Robert Millan <rmh@aybabtu.com>
28920
28921 * commands/sleep.c: New file.
28922 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
28923 (sleep_mod_SOURCES): New variable.
28924 (sleep_mod_CFLAGS): Likewise.
28925 (sleep_mod_LDFLAGS): Likewise.
28926
7a634e08 289272008-02-09 Robert Millan <rmh@aybabtu.com>
28928
28929 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
28930 situations in which we can deduce the RAID size and the superblock
28931 doesn't match it.
28932
b92f0c18 289332008-02-09 Robert Millan <rmh@aybabtu.com>
28934
28935 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
28936 and return a grub_diskmemberlist_t composed of LVM physical volumes.
28937 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
28938
28939 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
28940 and return a grub_diskmemberlist_t composed of physical array members.
28941 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
28942
28943 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
28944 prototype.
28945 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
28946 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
28947 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
28948
28949 * util/grub-probe.c (probe): Move partmap probing code from here ...
28950 (probe_partmap): ... to here.
28951 (probe): Use probe_partmap() once for the disk we're probing, and
28952 additionally, when such disk contains a memberlist() struct member,
28953 once for each disk that is contained in the structure returned by
28954 memberlist().
28955
91a4bf68 289562008-02-09 Robert Millan <rmh@aybabtu.com>
28957
28958 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
28959 environment variable to 'all' in order to obtain debug output from
28960 non-util/ code.
28961 * util/i386/pc/grub-setup.c (main): Likewise.
28962
a96f9caa 289632008-02-08 Robert Millan <rmh@aybabtu.com>
28964
28965 * disk/raid.c (grub_raid_scan_device): Check for
28966 `array->device[sb.this_disk.number]' rather than for
28967 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 28968 guaranteed to be accessible.
a96f9caa 28969
b37a9222 289702008-02-08 Robert Millan <rmh@aybabtu.com>
28971
28972 * disk/raid.c: Update copyright.
28973 * fs/cpio.c: Likewise.
28974 * include/grub/raid.h: Likewise.
28975 * loader/i386/pc/multiboot.c: Likewise.
28976 * util/hostfs.c: Likewise.
28977
5626aee1 289782008-02-08 Robert Millan <rmh@aybabtu.com>
28979
28980 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
28981 to a grub_disk_t array.
28982 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
28983 `device[x]'.
28984 (grub_raid_scan_device): Replace `device[x].name' accesses with
28985 `device[x]->name'. Simplify initialization of `array->device[x]'.
28986
554f0187 289872008-02-08 Robert Millan <rmh@aybabtu.com>
28988
28989 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
28990 grub_dprintf() calls.
28991 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
28992 error message.
28993
1ec8425d 289942008-02-07 Christian Franke <franke@computer.org>
28995
28996 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
28997 instead of fseek and ftell to support large files.
28998 (grub_hostfs_read): Likewise.
28999
f2156fda 290002008-02-07 Robert Millan <rmh@aybabtu.com>
29001
29002 Patch from Jeroen Dekkers.
29003 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29004 failure, since successfully reading all array members might not be
f2156fda 29005 required.
29006
9216e0e7 290072008-02-06 Robert Millan <rmh@aybabtu.com>
29008
29009 * util/grub-probe.c (probe): Simplify partmap probing (with the
29010 assumption that the first word up to the underscore equals to
29011 the module name).
29012
b0dfd29a 290132008-02-06 Christian Franke <franke@computer.org>
29014
29015 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29016 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29017 last block of a cpio or tar stream.
29018 Check for "TRAILER!!!" instead of any empty data
29019 block to detect last block of a cpio stream.
29020 (grub_cpio_dir): Fix constness of variable np.
29021 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29022 cpio or tar trailer is detected. This fixes a crash
29023 on open of a non existing file.
29024
c32865bf 290252008-02-05 Bean <bean123ch@gmail.com>
29026
29027 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29028 address of entry.
29029 (grub_multiboot_load_elf64): Likewise.
29030 (grub_multiboot): Initialize mbi structure.
29031
29032 * util/grub-fstest.c: Don't include unused header file script.h.
29033
fe6b695a 29034 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29035 of file.
29036 (grub_fstest_SOURCES): Likewise.
29037
409480b7 290382008-02-05 Robert Millan <rmh@aybabtu.com>
29039
29040 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29041 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29042 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29043 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29044
29045 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29046 (translation_table): Replace hardcoded values with macros
29047 provided by `<grub/term.h>'.
29048
29049 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29050 (keyboard_map): Correct/add a few values, with macros provided
29051 by `<grub/term.h>'.
29052 (keyboard_map_shift): Zero values that don't differ from their
29053 `keyboard_map' equivalents.
29054 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29055 Discard the second scan code that is always sent by Caps lock.
29056 Only use `keyboard_map_shift' when it provides a non-zero value,
29057 otherwise fallback to `keyboard_map'.
29058
99fadbaa 290592008-02-04 Bean <bean123ch@gmail.com>
29060
29061 * Makefile.in (enable_grub_fstest): New variable.
29062
29063 * conf/common.rmk (grub_fstest_init.lst): New rule.
29064 (grub_fstest_init.h): Likewise.
29065 (grub_fstest_init.c): Likewise.
29066 (util/grub-fstest.c_DEPENDENCIES): New variable.
29067 (grub_fstest_SOURCES): Likewise.
29068
29069 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29070
29071 * util/grub-fstest.c: New file.
29072
bf567c50 290732008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29074
29075 Make grub-setup handle a separate root device.
f19dbdb7 29076
bf567c50 29077 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29078 so that the root device can be compared with the destination
29079 device.
29080 When embedding the core image, if the root and destination devices
29081 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29082 0xFF.
29083 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29084
9be6b98b 290852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29086
29087 Add support for having a grub directory in a different drive. This
29088 is still only the data handling part.
f19dbdb7 29089
9be6b98b 29090 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29091 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29092 (grub_root_drive): New variable.
29093
29094 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29095 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29096 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29097 as it was.
29098
29099 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29100
29101 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29102 macro.
29103 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29104
29105 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29106 is bogus, because PXE booting does not specify any drive
29107 correctly.
29108
29109 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29110 am not sure if this is really correct.
29111
29112 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29113 is always identical to the boot drive when booting from a CD.
29114
29115 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29116 longer.
29117 (root_drive): New variable.
29118 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29119 (setup_sectors): Push %dx right after popping it, because %dh will
29120 be modified later.
29121 (copy_buffer): Restore %dx.
29122
e0ca0677 291232008-02-03 Robert Millan <rmh@aybabtu.com>
29124
29125 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29126 use `cdboot.img' for cdrom images.
29127
3b3f6629 291282008-02-03 Robert Millan <rmh@aybabtu.com>
29129
29130 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29131 only setup gfxterm when `font' command has succeeded.
29132
d42b3672 291332008-02-03 Robert Millan <rmh@aybabtu.com>
29134
29135 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29136 (grub_rescue_cmd_multiboot_loader)
29137 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29138
fa370ea6 291392008-02-03 Pavel Roskin <proski@gnu.org>
29140
e0c5dacb 29141 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29142 %edx and %esi from stack only after grub_gate_a20() is called.
29143 grub_gate_a20() clobbers %edx.
29144
f2a76e1d 291452008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29146
29147 * configure.ac (AC_INIT): Bumped to 1.96.
29148
29149 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29150 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29151 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29152 video/readers/png.c.
29153
90fd32d1 291542008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29155
29156 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29157 (cdboot_img_SOURCES): New variable.
29158 (cdboot_img_ASFLAGS): New variable.
29159 (cdboot_img_LDFLAGS): New variable.
29160
29161 * boot/i386/pc/cdboot.S: New file.
29162
29163 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29164 (cd_count): Likewise.
29165 (grub_biosdisk_get_drive): Add support for cd device.
29166 (grub_biosdisk_call_hook): Likewise.
29167 (grub_biosdisk_iterate): Likewise.
29168 (grub_biosdisk_open): Likewise.
29169 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29170 (grub_biosdisk_rw): Support reading from cd device.
29171 (GRUB_MOD_INIT): Iterate cd devices.
29172
29173 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29174 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29175 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29176
29177 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29178
4020aa53 291792008-02-02 Robert Millan <rmh@aybabtu.com>
29180
29181 * commands/read.c: New file.
29182 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29183 (read_mod_SOURCES): New variable.
29184 (read_mod_CFLAGS): Likewise.
29185 (read_mod_LDFLAGS): Likewise.
29186
e03a1132 291872008-02-02 Robert Millan <rmh@aybabtu.com>
29188
29189 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29190 determining whether menu has to be displayed.
29191
58c69220 291922008-02-02 Marco Gerards <marco@gnu.org>
29193
29194 * bus/pci.c: New file.
29195
29196 * include/grub/pci.h: Likewise.
29197
29198 * include/grub/i386/pc/pci.h: Likewise.
29199
29200 * commands/lspci.c: Likewise.
29201
29202 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29203 `lspci.mod'.
29204 (pci_mod_SOURCES): New variable.
29205 (pci_mod_CFLAGS): Likewise.
29206 (pci_mod_LDFLAGS): Likewise.
29207 (lspci_mod_SOURCES): Likewise.
29208 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29209 (lspci_mod_LDFLAGS): Likewise.
58c69220 29210
c004e1b4 292112008-02-02 Bean <bean123ch@gmail.com>
29212
29213 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29214 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29215
29216 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29217 (grub_xfs_btree_node): New structure.
29218 (grub_xfs_btree_root): New structure.
29219 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29220 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29221 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29222 (GRUB_XFS_EXTENT_SIZE): Likewise.
29223 (grub_xfs_read_block): Support btree format type.
29224 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29225 Use directory block as basic unit.
29226
29227 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29228
29229 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29230 __attribute__ ((__regparm__ (1))).
29231
f95562bf 292322008-02-01 Robert Millan <rmh@aybabtu.com>
29233
29234 Correct a mistake in previous commit.
29235
29236 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29237 top.
29238 (normal/command.c_DEPENDENCIES): New variable.
29239
7d31f41f 292402008-02-01 Robert Millan <rmh@aybabtu.com>
29241
29242 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29243 top.
29244 (normal/command.c_DEPENDENCIES): New variable.
29245 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29246 * conf/i386-ieee1275.rmk: Likewise.
29247 * conf/i386-linuxbios.rmk: Likewise.
29248 * conf/i386-pc.rmk: Likewise.
29249 * conf/sparc64-ieee1275.rmk: Likewise.
29250 * conf/powerpc-ieee1275.rmk: Likewise.
29251 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29252
29253 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29254
60b6be74 292552008-02-01 Robert Millan <rmh@aybabtu.com>
29256
29257 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29258 call at beginning of function.
29259
078522ab 292602008-01-31 Pavel Roskin <proski@gnu.org>
29261
29262 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29263 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29264 (grub_mkrescue_SOURCES): Likewise.
078522ab 29265 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29266
ccaa8a5f 292672008-01-30 Robert Millan <rmh@aybabtu.com>
29268
29269 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29270 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29271 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29272 (grub_probe_SOURCES): ... to here.
29273
29274 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29275 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29276 * conf/i386-ieee1275.rmk: Likewise.
29277 * conf/i386-linuxbios.rmk: Likewise.
29278 * conf/powerpc-ieee1275.rmk: Likewise.
29279
ae5a9cd7 292802008-01-30 Tristan Gingold <gingold@free.fr>
29281
29282 * kern/rescue.c: Silently accept empty lines.
29283
70bc2ef2 292842008-01-29 Bean <bean123ch@gmail.com>
29285
29286 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29287 (real_code_2): Code cleanup and change comment style.
29288 (move_memory): Avoid using 32-bit address mode.
29289
6a4d50ea 292902008-01-29 Bean <bean123ch@gmail.com>
29291
29292 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29293 (png_mod_SOURCES): New variable.
29294 (png_mod_CFLAGS): Likewise.
29295 (png_mod_LDFLAGS): Likewise.
29296
29297 * video/readers/png.c: New file.
29298
11cc30ac 292992008-01-28 Robert Millan <rmh@aybabtu.com>
29300
29301 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29302 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29303 `ifndef GRUB_MOD_GAP' hack.
29304 * util/elf/grub-mkimage.c (add_segments): Likewise.
29305
3abc589f 293062008-01-27 Robert Millan <rmh@aybabtu.com>
29307
29308 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29309 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29310 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29311
e1907778 293122008-01-27 Robert Millan <rmh@aybabtu.com>
29313
29314 Get grub-emu to build again (including parallel builds).
29315
29316 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29317 Split into ...
29318 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29319 (normal/execute.c_DEPENDENCIES): ... this, ...
29320 (grub-emu_DEPENDENCIES): ... and this.
29321
29322 * conf/i386-efi.rmk: Likewise.
29323 * conf/i386-linuxbios.rmk: Likewise.
29324 * conf/i386-ieee1275.rmk: Likewise.
29325 * conf/powerpc-ieee1275.rmk: Likewise.
29326 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29327
2216b101 293282008-01-27 Robert Millan <rmh@aybabtu.com>
29329
29330 * NEWS: Add a few items.
29331
f75172d9 293322008-01-27 Robert Millan <rmh@aybabtu.com>
29333
29334 Fix parallel builds with grub-emu. Based on earlier commit for
29335 grub-probe and grub-setup.
29336
29337 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29338 (util/grub-emu.c_DEPENDENCIES): ... this.
29339 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29340 (util/grub-emu.c_DEPENDENCIES): ... this.
29341 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29342 (util/grub-emu.c_DEPENDENCIES): ... this.
29343 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29344 (util/grub-emu.c_DEPENDENCIES): ... this.
29345 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29346 (util/grub-emu.c_DEPENDENCIES): ... this.
29347
3f51de77 293482008-01-27 Pavel Roskin <proski@gnu.org>
29349
29350 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29351 to create a gap between _end and the modules added to the image
29352 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29353 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29354 * util/elf/grub-mkimage.c (add_segments): Likewise.
29355
2033f53e 293562008-01-26 Pavel Roskin <proski@gnu.org>
29357
29358 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29359 just return an error.
29360
22da1f6f 293612008-01-26 Bean <bean123ch@gmail.com>
29362
29363 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29364 (grub_reiserfs_get_item): Save offset of the next item.
29365 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29366
2a9525e6 293672008-01-25 Robert Millan <rmh@aybabtu.com>
29368
29369 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29370 make all filesystem sources appear together (possibly fixing omissions
29371 while at it).
29372 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29373 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29374 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29376
29377 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29378 add `kern/file.c'.
29379 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29380 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29381 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29382 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29383
29384 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29385 (probe): Add a sanity check to make sure of our ability to read
29386 requested files when probing for filesystem type.
29387
29388 * genmk.rb: Update copyright year (2007).
29389
29390 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29391 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29392 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29393 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29394 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29395 : Remove function prototypes.
29396
b95f71b5 293972008-01-25 Robert Millan <rmh@aybabtu.com>
29398
29399 Revert my previous commits (based on wrong assumption of how grub_errno
29400 works).
29401
fe6b695a 29402 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 29403 * kern/file.c (grub_file_open): Likewise.
29404
d08bbb49 294052008-01-24 Pavel Roskin <proski@gnu.org>
29406
29407 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29408 that hang if GRUB tries to setup colors.
29409 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29410 colors for firmwares that don't support it.
29411 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29412 Recognize Open Hack'Ware, set flags to work around its
29413 limitations.
29414
605e36ed 294152008-01-24 Robert Millan <rmh@aybabtu.com>
29416
29417 * kern/file.c (grub_file_open): Do not account previous failures of
29418 unrelated functions when grub_errno is checked for.
29419 Reported by Oleg Strikov.
29420
bac332a1 294212008-01-24 Bean <bean123ch@gmail.com>
29422
29423 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29424 (grub_ufs_sblock): New member volume name.
29425 (grub_ufs_find_file): Fix string copy bug.
29426 (grub_ufs_label): Implement this function properly.
29427
29428 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29429 (grub_hfs_iterate_records): Use the correct file number for extents
29430 and catalog file. Fix problem in next index calculation.
29431 (grub_hfs_find_node): Replace recursive function call with loop.
29432 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29433
15c80c09 294342008-01-23 Robert Millan <rmh@aybabtu.com>
29435
29436 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29437 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29438 (grub_multiboot2_real_boot): New function prototype.
29439
29440 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29441 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29442
29443 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29444 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29445
305338fd 294462008-01-23 Robert Millan <rmh@aybabtu.com>
29447
29448 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29449 #ifdef'ed out grub_printf().
29450
3ea52685 294512008-01-23 Robert Millan <rmh@aybabtu.com>
29452
29453 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29454 grub_dprintf calls, since they make "debug=all" mode unusable.
29455 (grub_console_checkkey): Likewise.
29456
5882ae4b 294572008-01-23 Robert Millan <rmh@aybabtu.com>
29458
29459 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29460 `term/i386/pc/at_keyboard.c'.
29461 (pkglib_MODULES): Add `serial.mod'.
29462 (serial_mod_SOURCES): New variable.
29463 (serial_mod_CFLAGS): Likewise.
29464 (serial_mod_LDFLAGS): Likewise.
29465
29466 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29467 `<grub/powerpc/ieee1275/console.h>'.
29468 (grub_keyboard_controller_init): New function prototype.
29469 (grub_console_checkkey): Likewise.
29470 (grub_console_getkey): Likewise.
29471
29472 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29473 keyboard on i386.
29474
29475 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29476 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29477
06ab5303 294782008-01-23 Robert Millan <rmh@aybabtu.com>
29479
29480 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29481 present, "(memdisk)/boot/grub" becomes the default prefix.
29482
29483 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29484 a memdisk tarball with all the modules. Add --overlay=DIR option that
29485 allows users to overlay additional files into the image.
29486
dbb475a4 294872008-01-23 Robert Millan <rmh@aybabtu.com>
29488
29489 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
29490 and `machine/memory.h'.
29491 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
29492 (_multiboot_mod_SOURCES): New variable.
29493 (_multiboot_mod_CFLAGS): Likewise.
29494 (_multiboot_mod_LDFLAGS): Likewise.
29495 (multiboot_mod_SOURCES): Likewise.
29496 (multiboot_mod_CFLAGS): Likewise.
29497 (multiboot_mod_LDFLAGS): Likewise.
29498
29499 * include/grub/i386/ieee1275/loader.h: New file.
29500
29501 * include/grub/i386/ieee1275/machine.h: Likewise.
29502
29503 * include/grub/i386/ieee1275/memory.h: Likewise.
29504
29505 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
29506 variable declaration.
29507 (grub_os_area_size): Likewise.
29508
29509 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
29510 (grub_lower_mem, grub_upper_mem): New variables.
29511 (grub_stop_floppy): New function (just to make
29512 grub_multiboot2_real_boot() happy).
29513
29514 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
29515 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
29516 (grub_stop): New function.
29517 Include `"../realmode.S"' and `"../loader.S"'.
29518
29519 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
29520 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
29521
29522 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
29523 rely on grub_multiboot2_real_boot() for final boot.
29524
25638629 295252008-01-22 Robert Millan <rmh@aybabtu.com>
29526
29527 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
29528 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
29529 device that doesn't look like an SD card.
29530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29531 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
29532 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
29533 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
29534 found.
29535
9dad816d 295362008-01-22 Robert Millan <rmh@aybabtu.com>
29537
29538 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
29539 avoid claiming over our own code.
29540
34842f2d 295412008-01-22 Bean <bean123ch@gmail.com>
29542
29543 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
29544 (jpeg_mod_SOURCES): New variable.
29545 (jpeg_mod_CFLAGS): Likewise.
29546 (jpeg_mod_LDFLAGS): Likewise.
29547
29548 * video/readers/jpeg.c : New file.
29549
44023a28 295502008-01-22 Bean <bean123ch@gmail.com>
29551
29552 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
29553 there are no more items.
29554
bc2d8ac6 295552008-01-21 Robert Millan <rmh@aybabtu.com>
29556
29557 * kern/mm.c (grub_mm_init_region): Improve debug message.
29558
261bd4bc 295592008-01-21 Robert Millan <rmh@aybabtu.com>
29560
29561 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
29562 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
29563 address.
29564 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
29565 a C macro.
29566 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
29567 Indicates start of upper memory.
29568 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
29569 (generate_image): Abort when image size is big enough to corrupt
29570 upper memory.
29571
29572 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
29573 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
29574 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29575 instead of hardcoding 0xA0000.
29576 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
29577 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29578 instead of hardcoding 0xA0000.
29579
f970b55e 295802008-01-21 Robert Millan <rmh@aybabtu.com>
29581
29582 * disk/memdisk.c (memdisk_size): New variable.
29583 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
29584 `memdisk_size'.
29585 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
29586 image to dynamic memory.
29587 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
29588 `memdisk_size'. Free memdisk block.
29589
1a8b0526 295902008-01-21 Robert Millan <rmh@aybabtu.com>
29591
29592 Fix detection of very small filesystems (like tar).
29593
29594 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
29595 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
29596 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
29597 a problem with this disk).
29598
6e9b4aab 295992008-01-21 Robert Millan <rmh@aybabtu.com>
29600
29601 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
29602 on grub_biosdisk_rw_standard() error.
29603
0d8837b2 296042008-01-21 Robert Millan <rmh@aybabtu.com>
29605
29606 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
29607 recent changes.
29608 * kern/elf.c: Likewise.
29609 * kern/ieee1275/ieee1275.c: Likewise.
29610 * kern/powerpc/ieee1275/openfw.c: Likewise.
29611 * term/ieee1275/ofconsole.c: Likewise.
29612
ffd36e34 296132008-01-21 Robert Millan <rmh@aybabtu.com>
29614
29615 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
29616
3f0093d0 29617 * include/grub/kernel.h (grub_arch_memdisk_addr)
29618 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 29619
3f0093d0 29620 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
29621 (grub_arch_memdisk_size): ... to here.
ffd36e34 29622
6c391b21 296232008-01-21 Robert Millan <rmh@aybabtu.com>
29624
29625 Mostly based on bugfix from Bean.
29626
29627 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
29628 attribute with hook() parameter.
29629 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
29630 declaration.
29631 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
29632 attribute with hook() parameter.
29633 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
29634 declaration.
29635
55a581dc 296362008-01-21 Robert Millan <rmh@aybabtu.com>
29637
29638 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
29639 (pkglib_MODULES): Add `memdisk.mod'.
29640 (memdisk_mod_SOURCES): New variable.
29641 (memdisk_mod_CFLAGS): Likewise.
29642 (memdisk_mod_LDFLAGS): Likewise.
29643
29644 * disk/memdisk.c: New file.
29645
29646 * include/grub/disk.h (grub_disk_dev_id): Add
29647 `GRUB_DISK_DEVICE_MEMDISK_ID'.
29648
29649 * include/grub/i386/pc/kernel.h
29650 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
29651 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
29652 (grub_kernel_image_size): New variable declaration.
29653 (grub_total_module_size): Likewise.
29654 (grub_memdisk_image_size): Likewise.
29655
29656 * include/grub/i386/pc/memory.h
29657 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
29658
29659 * include/grub/kernel.h: Include `<grub/symbol.h>'.
29660 (grub_arch_memdisk_addr): New variable declaration.
29661 (grub_arch_memdisk_size): Likewise.
29662
29663 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
29664 (grub_arch_memdisk_size): Likewise.
29665
29666 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
29667 (codestart): Replace hardcoded `0x100000' with
29668 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
29669
29670 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
29671 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
29672 not NULL, append the contents of the file it refers to, at the end of
29673 the compressed kernel image. Initialize `grub_memdisk_image_size'
29674 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
29675 (options): Add "memdisk"|'m' option.
29676 (main): Parse --memdisk|-m option, and pass user-provided path as
29677 parameter to generate_image().
29678
3d7f54c9 296792008-01-20 Robert Millan <rmh@aybabtu.com>
29680
29681 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
29682 grub_dprintf() calls from here ...
29683 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
29684
0bf74728 296852008-01-20 Robert Millan <rmh@aybabtu.com>
29686
29687 Fix detection of "real mode" when /options/real-mode? doesn't exist.
29688
29689 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
29690 declaration.
29691 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
29692 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
29693 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 29694 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 29695 property).
29696 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
29697 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
29698
33bf70a7 296992008-01-19 Robert Millan <rmh@aybabtu.com>
29700
fe6b695a 29701 Get rid of confusing function (superseded by
33bf70a7 29702 `grub_ieee1275_get_integer_property')
29703 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
29704 prototype.
29705 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
29706 function.
29707 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
29708 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 29709 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 29710
e2da7d26 297112008-01-19 Robert Millan <rmh@aybabtu.com>
29712
29713 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
29714 command after "shut-down", since implementations differ on which
29715 the command for halt is.
29716
59f1fd8d 297172008-01-19 Robert Millan <rmh@aybabtu.com>
29718
29719 * include/grub/i386/linuxbios/console.h: Add header protection.
29720 (grub_keyboard_controller_init): New function prototype.
29721 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
29722 (KEYBOARD_COMMAND_READ): Likewise.
29723 (KEYBOARD_COMMAND_WRITE): Likewise.
29724 (KEYBOARD_SCANCODE_SET1): Likewise.
29725 (grub_keyboard_controller_write): New function.
29726 (grub_keyboard_controller_read): Likewise.
29727 (grub_keyboard_controller_init): Likewise.
29728
29729 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
29730 (grub_console_init): On coreboot/LinuxBIOS, call
29731 grub_keyboard_controller_init().
29732
5f5a7c15 297332008-01-19 Robert Millan <rmh@aybabtu.com>
29734
29735 PowerPC changes provided by Pavel Roskin.
29736
29737 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29738 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29739 don't rely on cmain() doing it.
29740 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29741 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29742
1210e168 297432008-01-16 Robert Millan <rmh@aybabtu.com>
29744
29745 * include/grub/i386/linuxbios/memory.h
29746 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29747 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29748 receive `table_header' as argument. Instead, probe for it in the
29749 known memory ranges where it can be present.
29750 (grub_available_iterate): Do not pass a fixed `table_header' address
29751 to grub_linuxbios_table_iterate().
29752
3d04eab8 297532008-01-15 Robert Millan <rmh@aybabtu.com>
29754
29755 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29756 * conf/i386-ieee1275.rmk: New file.
29757 * include/grub/i386/ieee1275/console.h: Likewise.
29758 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29759 * include/grub/i386/ieee1275/kernel.h: Likewise.
29760 * include/grub/i386/ieee1275/time.h: Likewise.
29761 * kern/i386/ieee1275/init.c: Likewise.
29762 * kern/i386/ieee1275/startup.S: Likewise.
29763
d1bc1b73 297642008-01-15 Robert Millan <rmh@aybabtu.com>
29765
29766 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29767 when pointers are 32-bit (but still do set it to one when they are
29768 64-bit).
29769
66a65807 297702008-01-15 Robert Millan <rmh@aybabtu.com>
29771
29772 * include/grub/ieee1275/ieee1275.h
29773 (grub_ieee1275_get_integer_property): New function prototype.
29774
29775 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29776 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 29777 grub_ieee1275_get_property() to handle endianness.
66a65807 29778
29779 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29780 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 29781 where appropriate.
66a65807 29782 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
29783 (grub_map): Likewise.
29784 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
29785
a83ccafd 297862008-01-15 Bean <bean123ch@gmail.com>
29787
29788 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
29789 (grub_script_execute_cmdline): Reset grub_errno.
29790
29791 * normal/main.c (read_config_file): Reset grub_errno.
29792
29793 * normal/parse.y (script_init): New.
29794 (script): Move function and menuentry here.
29795 (delimiter): New.
29796 (command): Add delimiter at the end of command.
29797 (commands): Adjust to match the new command.
29798 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 29799 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 29800 (if): Use the new commands.
29801
29802 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
29803
df6ecfc6 298042008-01-15 Robert Millan <rmh@aybabtu.com>
29805
29806 * normal/menu.c (run_menu): Move timeout message from here ...
29807 (print_timeout): ... to here.
29808 (run_menu): Use print_timeout() once during initial draw to print
29809 the whole message, and again in every clock tick to update only
29810 the number of seconds.
29811
87ae25eb 298122008-01-15 Robert Millan <rmh@aybabtu.com>
29813
29814 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
29815 actual size of `available' from grub_ieee1275_get_property(), and
29816 restrict parsing to that bound.
29817
47bf09a4 298182008-01-15 Christian Franke <franke@computer.org>
29819
29820 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
29821 (argp_program_version): Remove variable.
29822 (argp_program_bug_address): Likewise.
29823 (options): Convert from struct argp_option to struct option.
29824 (struct arguments): Remove.
29825 (parse_opt): Remove.
29826 (usage): New function.
29827 (main): Replace struct args members by simple variables.
29828 Replace argp_parse() by getopt_long().
29829 Add switch to evaluate options.
29830 Add missing "(...)" around root_dev in prefix string.
29831
c86f1469 298322008-01-14 Robert Millan <rmh@aybabtu.com>
29833
29834 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
29835 for grub_ieee1275_exit(), in order to improve portability.
29836
e622c559 298372008-01-14 Robert Millan <rmh@aybabtu.com>
29838
29839 * util/grub.d/10_linux.in (prefix): Define.
29840 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
29841
44cb1ec8 298422008-01-13 Pavel Roskin <proski@gnu.org>
29843
29844 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
29845 grub_errno if no errors have been detected.
29846
1eb8c802 298472008-01-12 Robert Millan <rmh@aybabtu.com>
29848
29849 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
29850 (grub_util_get_dev_abstraction): New function prototype.
29851
29852 * util/getroot.c: Include `<grub/util/getroot.h>'
29853 (grub_util_get_grub_dev): Move detection of abstraction type to ...
29854 (grub_util_get_dev_abstraction): ... here (new function).
29855
29856 * util/grub-probe.c: Convert PRINT_* to an enum. Add
29857 `PRINT_ABSTRACTION'.
29858 (probe): Probe for abstraction type when requested.
29859 (main): Understand `--target=abstraction'.
29860
29861 * util/i386/efi/grub-install.in: Add abstraction module to core
29862 image when it is found to be necessary.
29863 * util/i386/pc/grub-install.in: Likewise.
29864 * util/powerpc/ieee1275/grub-install.in: Likewise.
29865
29866 * util/update-grub_lib.in (font_path): Return system path without
29867 converting to GRUB path.
29868 * util/update-grub.in: Convert system path returned by font_path()
29869 to a GRUB path. Use `grub-probe -t abstraction' to determine what
29870 abstraction module is needed for loading fonts (if any). Export
29871 that as `GRUB_PRELOAD_MODULES'.
29872 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
29873 insmod commands).
29874
52bd3de9 298752008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
29876
29877 Remove some unused code from reiserfs.
f19dbdb7 29878
52bd3de9 29879 * fs/reiserfs.c (struct grub_reiserfs_key)
29880 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
29881 (struct grub_reiserfs_node_body): Removed.
29882 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29883 Likewise.
29884 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29885 Likewise.
29886 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29887 Likewise.
29888 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29889 Likewise.
29890 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29891 Likewise.
29892 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
29893 Likewise.
29894 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29895 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29896 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29897
2f80039d 298982008-01-10 Robert Millan <rmh@aybabtu.com>
29899
29900 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
29901 Determines if a file is garbage left by packaging systems, etc.
29902 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
29903 for processing /etc/grub.d scripts.
29904 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
29905 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
29906 as a condition for processing Linux images.
29907
87888032 299082008-01-10 Pavel Roskin <proski@gnu.org>
29909
29910 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
29911 to compile reiserfs.c on PowerPC.
29912
7e54fced 299132008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 29914
29915 * kern/device.c (grub_device_iterate): Do not abort device iteration
29916 when one of the devices cannot be opened.
29917 * kern/disk.c (grub_disk_open): Do not account previous failures of
29918 unrelated functions when grub_errno is checked for.
29919
5aa541e6 299202008-01-08 Robert Millan <rmh@aybabtu.com>
29921
29922 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
29923 `! grub_linux_is_bzimage', change order of address comparison to make
29924 it more intuitive, and improve "too big zImage" error message.
29925
7076340d 299262008-01-08 Robert Millan <rmh@aybabtu.com>
29927
29928 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
29929 `$(update-grub_DATA)'.
29930 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
29931 targets.
29932
9ca70333 299332008-01-07 Robert Millan <rmh@aybabtu.com>
29934
29935 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
29936 which instruction is modified by grub-setup during installation
29937 (since it wasn't obvious by only looking at this file).
29938
38ccf575 299392008-01-07 Robert Millan <rmh@aybabtu.com>
29940
29941 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
29942 listing actual TODO items.
29943
f5db4291 299442008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29945
868967cf 29946 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
29947 correctly.
29948 (grub_reiserfs_get_key_offset): Likewise.
29949 (grub_reiserfs_set_key_offset): Likewise.
29950 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 29951 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 29952
29953 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
29954 better to remove the bitfield version completely.
f19dbdb7 29955
868967cf 299562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29957
f5db4291 29958 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
29959 allocated from the heap, due to the fshelp implementation.
29960 (grub_reiserfs_dir): Free NODE, due to the same reason.
29961
492e6d9d 299622008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29963
29964 Mostly from Vincent Pelletier:
f19dbdb7 29965
492e6d9d 29966 * fs/reiserfs.c: New file.
f19dbdb7 29967
492e6d9d 29968 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
29969 (reiserfs_mod_SOURCES): New variable.
29970 (reiserfs_mod_CFLAGS): Likewise.
29971 (reiserfs_mod_LDFLAGS): Likewise.
29972
29973 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
29974 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
29975 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
29976 normal/color.c.
29977
9ce3e7c1 299782008-01-06 Robert Millan <rmh@aybabtu.com>
29979
29980 * normal/color.c: Remove `<grub/env.h>'.
29981
f3b58148 299822008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
29983
29984 * include/grub/normal.h: Include <grub/env.h>.
29985
7ac3bcfa 299862008-01-05 Robert Millan <rmh@aybabtu.com>
29987
29988 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
29989 usage example with `(hd0,1)'.
fb358190 29990 Reported by Samuel Thibault.
7ac3bcfa 29991
c8ee99d7 299922008-01-05 Robert Millan <rmh@aybabtu.com>
29993
29994 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
29995 (grub_linux_boot_zimage): Rename to ...
29996 (grub_linux_boot): ... this.
29997 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
29998 (grub_linux_boot_zimage): Conditionalize zImage copy.
29999
30000 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30001 (grub_linux_boot_bzimage): Remove prototype.
30002 (grub_linux_boot_zimage): Rename to ...
30003 (grub_linux_boot): ... this.
30004
30005 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30006 (grub_linux_boot): Remove function.
30007
0ece25b1 300082008-01-05 Robert Millan <rmh@aybabtu.com>
30009
30010 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30011 (grub_env_write_color_highlight): Likewise.
30012 (grub_wait_after_message): Likewise.
30013
30014 * normal/color.c: New file.
30015
30016 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30017 (normal_mod_DEPENDENCIES): Likewise.
30018
30019 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30020 (normal_mod_DEPENDENCIES): Likewise.
30021
30022 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30023 (normal_mod_DEPENDENCIES): Likewise.
30024
30025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30026 (normal_mod_DEPENDENCIES): Likewise.
30027
30028 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30029 for waiting after a message is printed.
30030 * normal/main.c (read_config_file): Likewise.
30031 (grub_normal_init): Register grub_env_write_color_normal() and
30032 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30033 `color_highlight' variables as global.
30034
30035 * normal/menu.c (grub_wait_after_message): New function.
30036 (grub_color_menu_normal): New variable. Replaces ...
30037 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30038 (grub_color_menu_highlight): New variable. Replaces ...
30039 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30040 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30041 `GRUB_TERM_COLOR_STANDARD'.
30042 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30043 `normal_code' and `highlight_code' to `old_color_normal' and
30044 `old_color_highlight', respectively.
30045 (grub_menu_init_page): Update colors when drawing the menu, based on
30046 `menu_color_normal' and `menu_color_highlight' variables.
30047 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30048 a message is printed.
30049
182dd4e5 300502008-01-05 Robert Millan <rmh@aybabtu.com>
30051
30052 * kern/env.c (grub_env_context_open): Propagate hooks for global
30053 variables to new context.
30054
30055 * kern/main.c (grub_set_root_dev): Export `root' variable.
30056
ddf8f6ad 300572008-01-05 Robert Millan <rmh@aybabtu.com>
30058
30059 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30060 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30061 them.
30062
d8b43d9b 300632008-01-05 Robert Millan <rmh@aybabtu.com>
30064
30065 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30066
2bff2de3 300672008-01-04 Christian Franke <franke@computer.org>
30068
30069 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30070 of eisa_mmap.
30071
97eab917 300722008-01-03 Pavel Roskin <proski@gnu.org>
30073
30074 * kern/i386/linuxbios/init.c: Put "void" to all function
30075 declarations with no arguments.
30076 * kern/powerpc/ieee1275/init.c: Likewise.
30077 * term/i386/pc/at_keyboard.c: Likewise.
30078 * term/i386/pc/vga_text.c: Likewise.
30079 * util/grub-mkdevicemap.c: Likewise.
30080
b9416d00 300812008-01-02 Robert Millan <rmh@aybabtu.com>
30082
30083 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30084 message when loaded image is out of bounds.
30085 (grub_multiboot_load_elf64): Likewise.
30086
92695df9 300872008-01-02 Pavel Roskin <proski@gnu.org>
30088
30089 * util/grub.d/10_linux.in: Try version without ".old" when
30090 looking for initrd. It's better to use initrd from the newer
30091 kernel of the same version than no initrd at all.
30092
d98d9cad 300932008-01-01 Robert Millan <rmh@aybabtu.com>
30094
30095 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30096
dbfdce36 300972008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30098
f19dbdb7 30099 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30100 grub_video_get_active_render_target.
30101 (grub_video_adapter): Added unmap_color and get_active_render_target.
30102
f19dbdb7 30103 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30104 grub_video_get_active_render_target.
30105 (grub_video_get_info): Changed method to accept NULL pointer as an
30106 argument to allow detection of active video adapter.
30107
30108 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30109 grub_video_vbe_unmap_color_int.
30110 Added grub_video_vbe_unmap_color and
30111 grub_video_vbe_get_active_render_target.
30112 (grub_video_vbe_adapter): Added unmap_color and
30113 get_active_render_target.
30114
f19dbdb7 30115 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30116 with grub_video_vbe_unmap_color_int.
30117
30118 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30119 (DEFAULT_NORMAL_COLOR): Likewise.
30120 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30121 (DEFAULT_FG_COLOR): Removed.
30122 (DEFAULT_BG_COLOR): Likewise.
30123 (DEFAULT_CURSOR_COLOR): Changed value.
30124 (grub_virtual_screen): Added standard_color_setting,
30125 normal_color_setting, highlight_color_setting and term_color.
30126 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30127 (bitmap_width): Added.
30128 (bitmap_height): Likewise.
30129 (bitmap): Likewise.
30130 (set_term_color): Likewise.
30131 (grub_virtual_screen_setup): Changed to use new terminal coloring
30132 settings.
30133 (grub_gfxterm_init): Added init for bitmap.
30134 (grub_gfxterm_fini): Added destroy for bitmap.
30135 (redraw_screen_rect): Updated to use background bitmap and new
30136 terminal coloring.
30137 (scroll_up): Added optimization for case when there is no bitmap.
30138 (grub_gfxterm_cls): Fixed to use correct background color.
30139 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30140 coloring.
30141 (grub_virtual_screen_setcolor): Likewise.
30142 (grub_virtual_screen_getcolor): Added.
30143 (grub_gfxterm_background_image_cmd): Likewise.
30144 (grub_video_term): Added setcolor and getcolor.
30145 (MOD_INIT): Added registration of background_image command.
30146 (MOD_TERM): Added unregistration for background_image command.
30147
c3c20931 301482007-12-30 Pavel Roskin <proski@gnu.org>
30149
30150 * loader/multiboot_loader.c: Fix multiboot command
30151 unregistration. Fix all typos in the word "multiboot".
30152
df266716 301532007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30154
30155 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30156 support for initrd names used in Fedora.
30157
fc6e896c 301582007-12-26 Bean <bean123ch@gmail.com>
30159
30160 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30161 (cpio_mod_SOURCES): New variable.
30162 (cpio_mod_CFLAGS): Likewise.
30163 (cpio_mod_LDFLAGS): Likewise.
30164
30165 * fs/cpio.c: New file.
30166
30167 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30168
30169 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30170
30171 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30172
30173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30174
533110ad 301752007-12-25 Robert Millan <rmh@aybabtu.com>
30176
30177 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30178 (grub_getcolor): New function.
30179
30180 * kern/term.c (grub_getcolor): New function.
30181 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30182 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30183 (print_entry): Set normal and highlight colors to
30184 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30185 respectively, before printing and restore them to old
30186 values afterwards.
30187 (grub_menu_init_page): Likewise. Fill an additional colored space
30188 that would otherwise be left blank.
30189
30190 * term/efi/console.c (grub_console_getcolor): New function.
30191 (struct grub_console_term.getcolor): New variable.
30192 * term/i386/pc/console.c (grub_console_getcolor): New function.
30193 (struct grub_console_term.getcolor): New variable.
30194 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30195 (struct grub_console_term.getcolor): New variable.
30196
30197 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30198 (struct grub_console_term.setcolor): Remove variable.
30199 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30200 (struct grub_console_term.setcolor): Remove variable.
30201 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30202 (struct grub_console_term.setcolor): Remove variable.
30203 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30204 (struct grub_console_term.setcolor): Remove variable.
30205
4931827f 302062007-12-25 Robert Millan <rmh@aybabtu.com>
30207
30208 * configure.ac: Search for possible unifont.hex locations, and
30209 define UNIFONT_HEX if found.
30210
30211 * Makefile.in (UNIFONT_HEX): Define variable.
30212 (DATA): Rename to ...
30213 (PKGLIB): ... this. Update all users.
30214 (PKGDATA): New variable.
30215 (pkgdata_IMAGES): Rename to ...
30216 (pkglib_IMAGES): ... this. Update all users.
30217 (pkgdata_MODULES): Rename to ...
30218 (pkglib_MODULES): ... this. Update all users.
30219 (pkgdata_PROGRAMS): Rename to ...
30220 (pkglib_PROGRAMS): ... this. Update all users.
30221 (pkgdata_DATA): Rename to ...
30222 (pkglib_DATA): ... this. Update all users.
30223 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30224 (unicode.pff, ascii.pff): New rules.
30225 (all-local): Add `$(PKGDATA)' dependency.
30226 (install-local): Process `$(PKGDATA)'.
30227
30228 * util/update-grub_lib.in (font_path): Search for *.pff files in
30229 a few more locations, including `${pkgdata}'.
30230
57e57e31 302312007-12-23 Robert Millan <rmh@aybabtu.com>
30232
30233 Patch from Bean <bean123ch@gmail.com>:
30234 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30235 `size'.
30236
4bc72aa9 302372007-12-21 Bean <bean123ch@gmail.com>
30238
30239 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30240 (ntfscomp_mod_SOURCES): New variable.
30241 (ntfscomp_mod_CFLAGS): Likewise.
30242 (ntfscomp_mod_LDFLAGS): Likewise.
30243
30244 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30245 (grub_probe_SOURCES): Likewise.
30246 (grub_emu_SOURCES): Likewise.
30247
30248 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30249 (grub_emu_SOURCES): Likewise.
30250
30251 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30252 (grub_emu_SOURCES): Likewise.
30253
30254 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30255 (grub_emu_SOURCES): Likewise.
30256
30257 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30258 (read_run_list): Renamed to grub_ntfs_read_run_list.
30259 (decomp_nextvcn): Moved to ntfscomp.c.
30260 (decomp_getch): Likewise.
30261 (decomp_get16): Likewise.
30262 (decomp_block): Likewise.
30263 (read_block): Likewise.
30264 (read_data): Partially moved to ntfscomp.c.
30265 (fixup): Change unsigned to grub_uint16_t.
30266 (read_mft): Change unsigned long to grub_uint32_t.
30267 (read_attr): Likewise.
30268 (read_data): Likewise.
30269 (read_run_data): Likewise.
30270 (read_run_list): Likewise.
30271 (read_mft): Likewise.
30272
30273 * fs/ntfscomp.c: New file.
30274
30275 * include/grub/ntfs.h: New file.
30276
af680a87 302772007-12-16 Robert Millan <rmh@aybabtu.com>
30278
30279 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30280 IDE disk check, since Linux is known to support 20 IDE disks.
30281 Reported by Colin Watson.
30282
84be7599 302832007-12-15 Bean <bean123ch@gmail.com>
30284
30285 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30286 (lnxboot_img_SOURCES): New variable.
30287 (lnxboot_img_ASFLAGS): Likewise.
30288 (lnxboot_img_LDFLAGS): Likewise.
30289
30290 * boot/i386/pc/lnxboot.S: New file.
30291
6af9db01 302922007-11-24 Pavel Roskin <proski@gnu.org>
30293
30294 * configure.ac: Test if '--build-id=none' is supported by the
30295 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30296 objcopy to generate incorrect binary files (binutils
30297 2.17.50.0.18-1 as shipped by Fedora 8).
30298 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30299 linking, so that build ID doesn't break the test.
30300
7361cfe6 303012007-11-24 Pavel Roskin <proski@gnu.org>
30302
30303 * include/grub/i386/time.h: use "void" in the argument list
30304 of grub_cpu_idle().
30305 * include/grub/powerpc/time.h: Likewise.
30306 * include/grub/sparc64/time.h: Likewise.
30307
1593e10c 303082007-11-18 Christian Franke <franke@computer.org>
30309
30310 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30311 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30312 This fixes the problem that function keys did not work in grub-emu.
30313
3b8db1a8 303142007-11-18 Christian Franke <franke@computer.org>
30315
30316 * disk/host.c (grub_host_open): Remove attribute unused from
30317 name parameter. Add check for "host". This fixes the problem
30318 that grub-emu does not find partitions.
30319
2e29408d 303202007-11-18 Christian Franke <franke@computer.org>
30321
30322 * util/hostfs.c (is_dir): New function.
30323 (grub_hostfs_dir): Handle missing dirent.d_type case.
30324 (grub_hostfs_read): Add missing fseek().
30325 (grub_hostfs_label): Clear label pointer. This fixes a crash
30326 of grub-emu on "ls (host)".
30327
398cd047 303282007-11-18 Christian Franke <franke@computer.org>
30329
30330 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30331 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30332 to 64 bit boundary by default.
30333
c405c391 303342007-11-18 Bean <bean123ch@gmail.com>
30335
30336 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30337 (hexdump_mod_SOURCES): New variable.
30338 (hexdump_mod_CFLAGS): Likewise.
30339 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30340
c405c391 30341 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30342
30343 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30344
30345 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30346
30347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30348
30349 * include/grub/hexdump.h: New file.
30350
30351 * commands/hexdump.c: New file.
30352
5cced7fd 303532007-11-10 Robert Millan <rmh@aybabtu.com>
30354
30355 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30356 in grub_outb() calls.
30357 (beep_on): Likewise.
30358
8b714eb0 303592007-11-10 Christian Franke <franke@computer.org>
30360
30361 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30362 (grub_menu_run): Likewise.
30363
ce0f1839 303642007-11-10 Robert Millan <rmh@aybabtu.com>
30365
30366 * include/grub/i386/efi/machine.h: New file.
30367 * include/grub/i386/linuxbios/machine.h: Likewise.
30368 * include/grub/i386/pc/machine.h: Likewise.
30369 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30370 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30371
30372 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30373 (serial_hw_io_addr): New variable.
30374 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30375 instead of `(unsigned short *) 0x400'.
30376
270c237d 303772007-11-10 Bean <bean123ch@gmail.com>
30378
30379 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30380
a87783bf 303812007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30382
30383 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30384 (vga_mod_SOURCES): Added.
30385 (vga_mod_CFLAGS): Likewise.
30386 (vga_mod_LDFLAGS): Likewise.
30387
30388 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30389 grub_outb() calls.
30390 (set_map_mask): Likewise.
30391 (set_read_map): Likewise.
30392 (set_read_address): Likewise.
30393 (vga_font): Removed variable.
30394 (get_vga_glyph): Removed function.
30395 (invalidate_char): Likewise.
30396 (write_char): Changed to use grub_font_get_glyph() for font
30397 information.
30398 (grub_vga_putchar): Likewise.
30399 (grub_vga_getcharwidth): Likewise.
30400
6433b448 304012007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30402
30403 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30404 flags.
30405 (pxeboot_img_LDFLAGS): Likewise.
30406 (diskboot_img_LDFLAGS): Likewise.
30407 (kernel_img_LDFLAGS): Likewise.
30408
49178511 304092007-11-06 Robert Millan <rmh@aybabtu.com>
30410
30411 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30412 in grub_outb() calls.
30413 (serial_hw_init): Likewise.
30414
53b052de 304152007-11-05 Robert Millan <rmh@aybabtu.com>
30416
30417 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30418 spaces. Skip non-regular files.
30419
5ab33bba 304202007-11-05 Robert Millan <rmh@aybabtu.com>
30421
30422 * kern/disk.c (grub_disk_firmware_fini)
30423 (grub_disk_firmware_is_tainted): New variables.
30424
30425 * include/grub/disk.h (grub_disk_firmware_fini)
30426 (grub_disk_firmware_is_tainted): Likewise.
30427
30428 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30429 (grub_disk_biosdisk_fini): ... to here.
30430 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30431 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30432 is set. Register grub_disk_biosdisk_fini() in
30433 `grub_disk_firmware_fini'.
30434
30435 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30436 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30437 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30438 to finish existing firmware disk interface.
30439
30440 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30441 (ata_mod_SOURCES): New variable.
30442 (ata_mod_CFLAGS): Likewise.
30443 (ata_mod_LDFLAGS): Likewise.
30444
0149ab7c 304452007-11-05 Robert Millan <rmh@aybabtu.com>
30446
30447 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30448 (grub_ata_wait): Reimplement using grub_millisleep().
30449
30450 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30451 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30452
be7ac41e 304532007-11-03 Marco Gerards <marco@gnu.org>
30454
30455 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30456 (CRTC_ADDR_PORT): New macro.
30457 (CRTC_DATA_PORT): Likewise.
30458 (CRTC_CURSOR): Likewise.
30459 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30460 (CRTC_CURSOR_ADDR_LOW): Likewise.
30461 (update_cursor): New function.
30462 (grub_console_real_putchar): Call `update_cursor'.
30463 (grub_console_gotoxy): Likewise.
30464 (grub_console_cls): Set the default color when clearing the
30465 screen.
30466 (grub_console_setcursor): Implemented.
30467
bb06ab2e 304682007-11-03 Marco Gerards <marco@gnu.org>
30469
30470 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30471 become activate.
30472 (grub_ata_pio_write): Likewise.
30473
30474 (grub_atapi_identify): Wait after issuing an ATA command.
30475 (grub_atapi_packet): Likewise.
30476 (grub_ata_identify): Likewise.
30477 (grub_ata_readwrite): Likewise.
30478
cf8f780b 304792007-11-03 Marco Gerards <marco@gnu.org>
30480
30481 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30482 (grub_ata_pio_write): Likewise.
30483 (grub_ata_readwrite): Use `grub_error', instead of
30484 returning `grub_errno'.
30485
ed649e54 304862007-11-03 Marco Gerards <marco@gnu.org>
30487
30488 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
30489 grub_ata_pio_write once for every single sector, instead of for
30490 multiple sectors.
30491
ca25d8f0 304922007-10-31 Robert Millan <rmh@aybabtu.com>
30493
30494 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
30495
30496 * conf/i386-linuxbios.rmk: New file.
30497
30498 * kern/i386/pc/hardware.c: Likewise.
30499 * term/i386/pc/at_keyboard.c: Likewise.
30500 * term/i386/pc/vga_text.c: Likewise.
30501
30502 * include/grub/i386/linuxbios/boot.h: Likewise.
30503 * include/grub/i386/linuxbios/console.h: Likewise.
30504 * include/grub/i386/linuxbios/init.h: Likewise.
30505 * include/grub/i386/linuxbios/kernel.h: Likewise.
30506 * include/grub/i386/linuxbios/loader.h: Likewise.
30507 * include/grub/i386/linuxbios/memory.h: Likewise.
30508 * include/grub/i386/linuxbios/serial.h: Likewise.
30509 * include/grub/i386/linuxbios/time.h: Likewise.
30510
30511 * kern/i386/linuxbios/init.c: Likewise.
30512 * kern/i386/linuxbios/startup.S: Likewise.
30513 * kern/i386/linuxbios/table.c: Likewise.
30514
e911ecc1 305152007-10-31 Marco Gerards <marco@gnu.org>
30516
30517 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
30518 (ata_mod_SOURCES): New variable.
30519 (ata_mod_CFLAGS): Likewise.
30520 (ata_mod_LDFLAGS): Likewise.
30521
30522 * disk/ata.c: New file.
30523
30524 * include/grub/disk.h (grub_disk_dev_id): Add
30525 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 30526
7f66d0e0 305272007-10-31 Robert Millan <rmh@aybabtu.com>
30528
30529 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
30530 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
30531
30532 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
30533 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
30534
30535 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
30536 `<grub/types.h>'.
30537
30538 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
30539
5cd7dd46 305402007-10-27 Robert Millan <rmh@aybabtu.com>
30541
3236ca65 30542 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 30543
2ebfc90f 305442007-10-22 Robert Millan <rmh@aybabtu.com>
30545
30546 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
30547 `"../realmode.S"'.
30548 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
30549
73fcb0f3 305502007-10-22 Robert Millan <rmh@aybabtu.com>
30551
30552 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
30553 (pkgdata_MODULES): Add `biosdisk.mod'.
30554 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
30555 variables.
30556
30557 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
30558 (grub_biosdisk_init): Replace with ...
30559 (GRUB_MOD_INIT(biosdisk)): ... this.
30560 (grub_biosdisk_fini): Replace with ...
30561 (GRUB_MOD_FINI(biosdisk)): ... this.
30562
30563 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
30564 (grub_machine_init): Remove call to grub_biosdisk_init().
30565 (grub_machine_fini): Remove call to grub_machine_fini().
30566
30567 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
30568
3381d274 305692007-10-22 Robert Millan <rmh@aybabtu.com>
30570
30571 * include/grub/time.h: New file.
30572 * include/grub/i386/time.h: Likewise.
30573 * include/grub/powerpc/time.h: Likewise.
30574 * include/grub/sparc64/time.h: Likewise.
30575
30576 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
30577 instances to ...
30578 (KERNEL_MACHINE_TIME_HEADER): ... this.
30579 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30580 instances to ...
30581 (KERNEL_MACHINE_TIME_HEADER): ... this.
30582 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30583 instances to ...
30584 (KERNEL_MACHINE_TIME_HEADER): ... this.
30585
30586 * kern/i386/efi/init.c: Include `<grub/time.h>'.
30587 (grub_millisleep): New function.
30588 * kern/i386/pc/init.c: Include `<grub/time.h>'.
30589 (grub_millisleep): New function.
30590 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
30591 Remove `grub/machine/time.h' include.
30592 (grub_millisleep): New function.
30593 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
30594 Remove `grub/machine/time.h' include.
30595 (grub_millisleep): New function.
30596
30597 * include/grub/misc.h (grub_div_roundup): New function.
30598
30599 * kern/misc.c: Include `<grub/time.h>'.
30600 (grub_millisleep_generic): New function.
30601
30602 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
30603 Add `time.h'.
30604 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
30605 Add `time.h'.
30606 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
30607 `machine/time.h'. Add `time.h'.
30608 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30609
a39a0312 306102007-10-21 Robert Millan <rmh@aybabtu.com>
30611
30612 * include/grub/misc.h (grub_max): New function.
30613
2aad70e2 306142007-10-21 Robert Millan <rmh@aybabtu.com>
30615
30616 * util/misc.c (grub_util_info): Call fflush() before returning.
30617
54b71c4b 306182007-10-20 Robert Millan <rmh@aybabtu.com>
30619
30620 * genmk.rb (Image): Copy `extra_flags' from here ...
30621 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
30622
30623 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
30624 to `argc' and `args' arguments.
30625
a979f513 306262007-10-17 Robert Millan <rmh@aybabtu.com>
30627
30628 * kern/i386/loader.S: New file.
30629
30630 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
30631 * kern/i386/loader.S (grub_linux_prot_size)... to here.
30632 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
30633 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
30634 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
30635 * kern/i386/loader.S (grub_linux_real_addr)... to here.
30636 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
30637 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
30638 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
30639 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
30640 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
30641 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
30642 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
30643 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
30644
30645 * kern/i386/realmode.S: New file.
30646
30647 * kern/i386/pc/startup.S (protstack): Moved from here ...
30648 * kern/i386/realmode.S (protstack)... to here.
30649 * kern/i386/pc/startup.S (gdt): Moved from here ...
30650 * kern/i386/realmode.S (gdt)... to here.
30651 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
30652 * kern/i386/realmode.S (prot_to_real)... to here.
30653
30654 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
30655 `kern/i386/realmode.S'.
30656
825fc8fd 306572007-10-17 Robert Millan <rmh@aybabtu.com>
30658
30659 * include/grub/i386/loader.h: New file.
30660
30661 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
30662 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30663 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30664 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30665 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
30666 * include/grub/i386/loader.h (grub_linux_prot_size)
30667 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
30668 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
30669 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
30670 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
30671
30672 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
30673
e179b2f4 306742007-10-15 Robert Millan <rmh@aybabtu.com>
30675
30676 * normal/misc.c (grub_normal_print_device_info): Do not probe for
30677 filesystem when dev->disk is unset.
30678 Do probe for filesystem even when dev->disk->has_partitions is set.
30679 In case a filesystem is found, always report it.
30680 In case it isn't, if dev->disk->has_partitions is set, report that
30681 a partition table was found instead of reporting that no filesystem
30682 could be identified.
30683
5db82af6 306842007-10-12 Robert Millan <rmh@aybabtu.com>
30685
30686 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
30687 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
30688
68f6ac74 30689 * include/grub/types.h (grub_host_to_target16): New macro.
30690 (grub_host_to_target32): Likewise.
30691 (grub_host_to_target64): Likewise.
30692 (grub_target_to_host16): Likewise.
30693 (grub_target_to_host32): Likewise.
30694 (grub_target_to_host64): Likewise.
5db82af6 30695
30696 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30697 Renamed from to ...
30698 (GRUB_MOD_ALIGN): ...this. Update all users.
30699
68f6ac74 30700 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
30701 grub_host_to_target32.
30702 Replace grub_be_to_cpu32 with grub_target_to_host32.
30703 (load_modules): Likewise.
30704 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
30705 Replace grub_be_to_cpu32 with grub_target_to_host32.
30706 Replace grub_cpu_to_be16 with grub_host_to_target16.
30707 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 30708
3cf497cc 307092007-10-12 Robert Millan <rmh@aybabtu.com>
30710
30711 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
30712 * util/elf/grub-mkimage.c: ... here.
30713
30714 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
30715 `util/powerpc/ieee1275/grub-mkimage.c'.
30716
c8cc3692 307172007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 30718
c8cc3692 30719 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
30720 and make it easier to figure out.
30721 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
30722 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
30723 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
30724 leave us with less than HEAP_MIN_SIZE total heap.
30725 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 30726
5c58b791 307272007-10-03 Robert Millan <rmh@aybabtu.com>
30728
30729 * include/grub/i386/io.h: New file.
30730 * commands/i386/pc/play.c (inb): Removed.
30731 (outb): Removed.
30732 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30733 with grub_outb().
afcd2ef8 30734 * term/i386/pc/serial.c (inb): Removed.
30735 (outb): Removed.
30736 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30737 with grub_outb().
30738 * term/i386/pc/vga.c (inb): Removed.
30739 (outb): Removed.
30740 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30741 with grub_outb().
5c58b791 30742
1a477ed6 307432007-10-02 Robert Millan <rmh@aybabtu.com>
30744
30745 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30747 Reported by Marcin Kurek.
30748
6b5d80fa 307492007-09-07 Robert Millan <rmh@aybabtu.com>
30750
30751 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30752 SmartFirmware version updates (as released by Sven Luther), and avoid
30753 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30754 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30755 known broken.
30756
5618afbf 307572007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30758
30759 From Hitoshi Ozeki:
30760 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30761 when merging two regions.
30762
6139dcd9 307632007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30764
508e39ee 30765 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30766 * normal/completion.c (grub_normal_do_completion): Likewise.
30767 Reported by Hitoshi Ozeki.
30768
307692007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30770
6139dcd9 30771 Do not use devices at boot in chainloading.
f19dbdb7 30772
6139dcd9 30773 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30774 (boot_part_addr): Likewise.
30775 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30776 with BOOT_DRIVE and BOOT_PART_ADDR.
30777 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30778 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30779
38da6516 307802007-08-29 Robert Millan <rmh@aybabtu.com>
30781
30782 Patch from Simon Peter <dn.tlp@gmx.net>:
30783 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
30784 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
30785 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
30786 util/i386/pc/grub-setup.c_DEPENDENCIES.
30787 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
30788 util/grub-probe.c_DEPENDENCIES.
30789 * conf/powerpc-ieee1275.rmk: Likewise.
30790
29d0928c 307912007-08-28 Robert Millan <rmh@aybabtu.com>
30792
30793 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
30794 to tell grub-mkdevicemap how to name devices.
30795 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
30796 feature).
30797
30798 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
30799 util/i386/get_disk_name.c.
30800 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
30801 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
30802 util/ieee1275/get_disk_name.c.
30803
30804 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
30805
30806 * DISTLIST: Add util/i386/get_disk_name.c and
30807 util/ieee1275/get_disk_name.c.
30808
30809 * util/grub-mkdevicemap.c: Replace device naming logic with
30810 grub_util_get_disk_name() calls.
30811
5a0d3cca 308122007-08-20 Robert Millan <rmh@aybabtu.com>
30813
30814 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
30815 (so that it works for both plural and singular quantities).
30816
8b72db2f 308172007-08-05 Robert Millan <rmh@aybabtu.com>
30818
30819 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
30820 so that [xz] isn't taken into account when determining order.
30821
352466bf 308222007-08-02 Marco Gerards <marco@gnu.org>
30823
30824 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
30825 `include/multiboot2.h', `include/grub/elfload.h',
30826 `include/multiboot.h', `include/grub/multiboot.h',
30827 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
30828 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
30829 `kern/elf.c', `loader/multiboot_loader.c',
30830 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
30831 `loader/i386/pc/multiboot2.c',
30832 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
30833 `util/i386/pc/grub-mkrescue.in'. Remove
30834 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
30835 `include/grub/i386/pc/util/biosdisk.h' and
30836 `include/grub/powerpc/ieee1275/multiboot.h'.
30837
8f096014 308382007-08-02 Bean <bean123ch@gmail.com>
30839
30840 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
30841 (ntfs_mod_SOURCES): New variable.
30842 (ntfs_mod_CFLAGS): Likewise.
30843 (ntfs_mod_LDFLAGS): Likewise.
30844
30845 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
30846 (grub_probe_SOURCES): Likewise.
30847 (grub_emu_SOURCES): Likewise.
30848
30849 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30850 (grub_emu_SOURCES): Likewise.
30851
30852 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30853 (grub_emu_SOURCES): Likewise.
f19dbdb7 30854
8f096014 30855 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
30856
30857 * fs/ntfs.c: New file.
30858
9959f7db 308592007-08-02 Bean <bean123ch@gmail.com>
30860
30861 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
30862
30863 * file.h (grub_file): Likewise.
30864
30865 * fshelp.h (grub_fshelp_read_file): Likewise.
30866
30867 * util/i386/pc/grub-setup.c (setup): Likewise.
30868 (save_first_sector): Likewise.
30869 (save_blocklists): Likewise.
f19dbdb7 30870
9959f7db 30871 * fs/affs.c (grub_affs_read_file): Likewise.
30872
30873 * fs/ext2.c (grub_ext2_read_file): Likewise.
30874
30875 * fs/fat.c (grub_fat_read_data): Likewise.
30876
30877 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
30878
30879 * fs/hfs.c (grub_hfs_read_file): Likewise.
30880
30881 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
30882
30883 * fs/jfs.c (grub_jfs_read_file): Likewise.
30884
30885 * fs/minix.c (grub_minix_read_file): Likewise.
30886
30887 * fs/sfs.c (grub_sfs_read_file): Likewise.
30888
30889 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 30890
9959f7db 30891 * fs/xfs.c (grub_xfs_read_file): Likewise.
30892
30893 * command/blocklist.c (read_blocklist): Likewise.
30894 (print_blocklist): Likewise.
30895
0a203f83 308962007-08-02 Marco Gerards <marco@gnu.org>
30897
30898 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
30899 `util/hostfs.c'.
30900
30901 * disk/host.c: New file.
30902
30903 * util/hostfs.c: Likewise.
30904
30905 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
30906 return `GRUB_ERR_BAD_FS'.
30907 * fs/sfs.c (grub_sfs_mount): Likewise.
30908 * fs/xfs.c (grub_xfs_mount): Likewise.
30909
30910 * include/grub/disk.h (enum grub_disk_dev_id): Add
30911 `GRUB_DISK_DEVICE_HOST_ID'.
30912
30913 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
30914
e5dfe777 309152007-07-24 Jerone Young <jerone@gmail.com>
30916
f19dbdb7 30917 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 30918 modules for compilation.
30919 * conf/powerpc-ieee1275.rmk: Likewise.
30920
30921 * include/multiboot.h: Move multiboot definitions to one file. Rename
30922 many definitions to not get grub specific.
30923 * include/multiboot2.h: Create header with multiboot 2 definitions.
30924 * include/grub/multiboot.h: Header for grub specific function
30925 prototypes and definitions.
30926 * include/grub/multiboot2.h: Likewise.
30927 * include/grub/multiboot_loader.h: Likewise.
30928 * include/grub/i386/pc/multiboot.h: Removed.
30929 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
30930
30931 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
30932 and 2 to allow for one multiboot and module commands.
30933 * loader/multiboot2.c: Add multiboot2 functionality.
30934 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
30935 and definition names.
30936 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
30937 2 functions.
30938 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
30939 ieee1275 specific multiboot2 code.
30940
30941 * kern/i386/pc/startup.S: Change headers and definition names for
30942 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
30943
daf0f0ba 309442007-07-22 Robert Millan <rmh@aybabtu.com>
30945
30946 * geninitheader.sh: Process file specified in first parameter rather
30947 than hardcoding grub_modules_init.lst.
fe6b695a 30948 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 30949 than hardcoding grub_modules_init.h.
30950
30951 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
30952 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
30953 grub_probe_init.[ch] and grub_setup_init.[ch].
30954
30955 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
30956 grub_modules_init.h with grub_emu_init.h.
30957 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
30958 grub_probe_init.[ch] files.
30959 * conf/i386-efi.rmk: Likewise.
30960 * conf/i386-pc.rmk: Likewise.
30961 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
30962 grub_setup_init.[ch] files.
30963
30964 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
30965 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
30966 to initialize modules rather than a list of hardcoded functions.
30967 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
30968 grub_init_all() to initialize modules rather than a list of hardcoded
30969 functions.
30970
54cdc1cc 309712007-07-22 Robert Millan <rmh@aybabtu.com>
30972
30973 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
30974 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
30975
ad0686cc 309762007-07-22 Robert Millan <rmh@aybabtu.com>
30977
30978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30979 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
30980 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
30981 flag when running on SmartFirmware.
30982 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
30983 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
30984 was set.
30985
30986 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30987 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
30988 rather than decreasing it.
30989
30990 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
30991 there's not enough space to do it, fail in the same way as when it
30992 can't be done because there are no partitions.
30993
30994 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
30995 when nvsetenv failed.
30996
969c02ec 309972007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30998
30999 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31000 because this rule is automatically generated.
31001 (grub-mkrescue): Removed for the same reason as above.
31002
5a79f472 310032007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31004
31005 Migrate to GNU General Public License Version 3.
f19dbdb7 31006
5a79f472 31007 * COPYING: Replaced with the plain text version of GPLv3.
31008
31009 * config.guess: Updated from gnulib.
31010 * config.sub: Likewise.
31011
31012 * geninit.sh: Output a GPLv3 copyright notice.
31013 * geninitheader.sh: Likewise.
31014 * genmodsrc.sh: Likewise.
31015 * gensymlist.sh.in: Likewise.
31016
31017 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31018 * boot/i386/pc/diskboot.S: Likewise.
31019 * boot/i386/pc/pxeboot.S: Likewise.
31020 * commands/blocklist.c: Likewise.
31021 * commands/boot.c: Likewise.
31022 * commands/cat.c: Likewise.
31023 * commands/cmp.c: Likewise.
31024 * commands/configfile.c: Likewise.
31025 * commands/echo.c: Likewise.
31026 * commands/help.c: Likewise.
31027 * commands/ls.c: Likewise.
31028 * commands/search.c: Likewise.
31029 * commands/terminal.c: Likewise.
31030 * commands/test.c: Likewise.
31031 * commands/videotest.c: Likewise.
31032 * commands/i386/cpuid.c: Likewise.
31033 * commands/i386/pc/halt.c: Likewise.
31034 * commands/i386/pc/play.c: Likewise.
31035 * commands/i386/pc/reboot.c: Likewise.
31036 * commands/i386/pc/vbeinfo.c: Likewise.
31037 * commands/i386/pc/vbetest.c: Likewise.
31038 * commands/ieee1275/halt.c: Likewise.
31039 * commands/ieee1275/reboot.c: Likewise.
31040 * commands/ieee1275/suspend.c: Likewise.
31041 * disk/loopback.c: Likewise.
31042 * disk/lvm.c: Likewise.
31043 * disk/raid.c: Likewise.
31044 * disk/efi/efidisk.c: Likewise.
31045 * disk/i386/pc/biosdisk.c: Likewise.
31046 * disk/ieee1275/ofdisk.c: Likewise.
31047 * font/manager.c: Likewise.
31048 * fs/affs.c: Likewise.
31049 * fs/ext2.c: Likewise.
31050 * fs/fat.c: Likewise.
31051 * fs/fshelp.c: Likewise.
31052 * fs/hfs.c: Likewise.
31053 * fs/hfsplus.c: Likewise.
31054 * fs/iso9660.c: Likewise.
31055 * fs/jfs.c: Likewise.
31056 * fs/minix.c: Likewise.
31057 * fs/sfs.c: Likewise.
31058 * fs/ufs.c: Likewise.
31059 * fs/xfs.c: Likewise.
31060 * hello/hello.c: Likewise.
31061 * include/grub/acorn_filecore.h: Likewise.
31062 * include/grub/arg.h: Likewise.
31063 * include/grub/bitmap.h: Likewise.
31064 * include/grub/boot.h: Likewise.
31065 * include/grub/cache.h: Likewise.
31066 * include/grub/device.h: Likewise.
31067 * include/grub/disk.h: Likewise.
31068 * include/grub/dl.h: Likewise.
31069 * include/grub/elfload.h: Likewise.
31070 * include/grub/env.h: Likewise.
31071 * include/grub/err.h: Likewise.
31072 * include/grub/file.h: Likewise.
31073 * include/grub/font.h: Likewise.
31074 * include/grub/fs.h: Likewise.
31075 * include/grub/fshelp.h: Likewise.
31076 * include/grub/gzio.h: Likewise.
31077 * include/grub/hfs.h: Likewise.
31078 * include/grub/kernel.h: Likewise.
31079 * include/grub/loader.h: Likewise.
31080 * include/grub/lvm.h: Likewise.
31081 * include/grub/misc.h: Likewise.
31082 * include/grub/mm.h: Likewise.
31083 * include/grub/net.h: Likewise.
31084 * include/grub/normal.h: Likewise.
31085 * include/grub/parser.h: Likewise.
31086 * include/grub/partition.h: Likewise.
31087 * include/grub/pc_partition.h: Likewise.
31088 * include/grub/raid.h: Likewise.
31089 * include/grub/rescue.h: Likewise.
31090 * include/grub/script.h: Likewise.
31091 * include/grub/setjmp.h: Likewise.
31092 * include/grub/symbol.h: Likewise.
31093 * include/grub/term.h: Likewise.
31094 * include/grub/terminfo.h: Likewise.
31095 * include/grub/tparm.h: Likewise.
31096 * include/grub/types.h: Likewise.
31097 * include/grub/video.h: Likewise.
31098 * include/grub/efi/api.h: Likewise.
31099 * include/grub/efi/chainloader.h: Likewise.
31100 * include/grub/efi/console.h: Likewise.
31101 * include/grub/efi/console_control.h: Likewise.
31102 * include/grub/efi/disk.h: Likewise.
31103 * include/grub/efi/efi.h: Likewise.
31104 * include/grub/efi/pe32.h: Likewise.
31105 * include/grub/efi/time.h: Likewise.
31106 * include/grub/i386/linux.h: Likewise.
31107 * include/grub/i386/setjmp.h: Likewise.
31108 * include/grub/i386/types.h: Likewise.
31109 * include/grub/i386/efi/kernel.h: Likewise.
31110 * include/grub/i386/efi/loader.h: Likewise.
31111 * include/grub/i386/efi/time.h: Likewise.
31112 * include/grub/i386/pc/biosdisk.h: Likewise.
31113 * include/grub/i386/pc/boot.h: Likewise.
31114 * include/grub/i386/pc/chainloader.h: Likewise.
31115 * include/grub/i386/pc/console.h: Likewise.
31116 * include/grub/i386/pc/init.h: Likewise.
31117 * include/grub/i386/pc/kernel.h: Likewise.
31118 * include/grub/i386/pc/loader.h: Likewise.
31119 * include/grub/i386/pc/memory.h: Likewise.
31120 * include/grub/i386/pc/multiboot.h: Likewise.
31121 * include/grub/i386/pc/serial.h: Likewise.
31122 * include/grub/i386/pc/time.h: Likewise.
31123 * include/grub/i386/pc/vbe.h: Likewise.
31124 * include/grub/i386/pc/vbeblit.h: Likewise.
31125 * include/grub/i386/pc/vbefill.h: Likewise.
31126 * include/grub/i386/pc/vbeutil.h: Likewise.
31127 * include/grub/i386/pc/vga.h: Likewise.
31128 * include/grub/ieee1275/ieee1275.h: Likewise.
31129 * include/grub/ieee1275/ofdisk.h: Likewise.
31130 * include/grub/powerpc/libgcc.h: Likewise.
31131 * include/grub/powerpc/setjmp.h: Likewise.
31132 * include/grub/powerpc/types.h: Likewise.
31133 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31134 * include/grub/powerpc/ieee1275/console.h: Likewise.
31135 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31136 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31137 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31138 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31139 * include/grub/powerpc/ieee1275/time.h: Likewise.
31140 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31141 * include/grub/sparc64/libgcc.h: Likewise.
31142 * include/grub/sparc64/setjmp.h: Likewise.
31143 * include/grub/sparc64/types.h: Likewise.
31144 * include/grub/sparc64/ieee1275/console.h: Likewise.
31145 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31146 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31147 * include/grub/sparc64/ieee1275/time.h: Likewise.
31148 * include/grub/util/biosdisk.h: Likewise.
31149 * include/grub/util/getroot.h: Likewise.
31150 * include/grub/util/lvm.h: Likewise.
31151 * include/grub/util/misc.h: Likewise.
31152 * include/grub/util/raid.h: Likewise.
31153 * include/grub/util/resolve.h: Likewise.
31154 * io/gzio.c: Likewise.
31155 * kern/device.c: Likewise.
31156 * kern/disk.c: Likewise.
31157 * kern/dl.c: Likewise.
31158 * kern/elf.c: Likewise.
31159 * kern/env.c: Likewise.
31160 * kern/err.c: Likewise.
31161 * kern/file.c: Likewise.
31162 * kern/fs.c: Likewise.
31163 * kern/loader.c: Likewise.
31164 * kern/main.c: Likewise.
31165 * kern/misc.c: Likewise.
31166 * kern/mm.c: Likewise.
31167 * kern/parser.c: Likewise.
31168 * kern/partition.c: Likewise.
31169 * kern/rescue.c: Likewise.
31170 * kern/term.c: Likewise.
31171 * kern/efi/efi.c: Likewise.
31172 * kern/efi/init.c: Likewise.
31173 * kern/efi/mm.c: Likewise.
31174 * kern/i386/dl.c: Likewise.
31175 * kern/i386/efi/init.c: Likewise.
31176 * kern/i386/efi/startup.S: Likewise.
31177 * kern/i386/pc/init.c: Likewise.
31178 * kern/i386/pc/lzo1x.S: Likewise.
31179 * kern/i386/pc/startup.S: Likewise.
31180 * kern/ieee1275/ieee1275.c: Likewise.
31181 * kern/powerpc/cache.S: Likewise.
31182 * kern/powerpc/dl.c: Likewise.
31183 * kern/powerpc/ieee1275/cmain.c: Likewise.
31184 * kern/powerpc/ieee1275/crt0.S: Likewise.
31185 * kern/powerpc/ieee1275/init.c: Likewise.
31186 * kern/powerpc/ieee1275/openfw.c: Likewise.
31187 * kern/sparc64/cache.S: Likewise.
31188 * kern/sparc64/dl.c: Likewise.
31189 * kern/sparc64/ieee1275/init.c: Likewise.
31190 * kern/sparc64/ieee1275/openfw.c: Likewise.
31191 * loader/efi/chainloader.c: Likewise.
31192 * loader/efi/chainloader_normal.c: Likewise.
31193 * loader/i386/efi/linux.c: Likewise.
31194 * loader/i386/efi/linux_normal.c: Likewise.
31195 * loader/i386/pc/chainloader.c: Likewise.
31196 * loader/i386/pc/chainloader_normal.c: Likewise.
31197 * loader/i386/pc/linux.c: Likewise.
31198 * loader/i386/pc/linux_normal.c: Likewise.
31199 * loader/i386/pc/multiboot.c: Likewise.
31200 * loader/i386/pc/multiboot_normal.c: Likewise.
31201 * loader/powerpc/ieee1275/linux.c: Likewise.
31202 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31203 * normal/arg.c: Likewise.
31204 * normal/cmdline.c: Likewise.
31205 * normal/command.c: Likewise.
31206 * normal/completion.c: Likewise.
31207 * normal/execute.c: Likewise.
31208 * normal/function.c: Likewise.
31209 * normal/lexer.c: Likewise.
31210 * normal/main.c: Likewise.
31211 * normal/menu.c: Likewise.
31212 * normal/menu_entry.c: Likewise.
31213 * normal/misc.c: Likewise.
31214 * normal/parser.y: Likewise.
31215 * normal/script.c: Likewise.
31216 * normal/i386/setjmp.S: Likewise.
31217 * normal/powerpc/setjmp.S: Likewise.
31218 * normal/sparc64/setjmp.S: Likewise.
31219 * partmap/acorn.c: Likewise.
31220 * partmap/amiga.c: Likewise.
31221 * partmap/apple.c: Likewise.
31222 * partmap/gpt.c: Likewise.
31223 * partmap/pc.c: Likewise.
31224 * partmap/sun.c: Likewise.
31225 * term/gfxterm.c: Likewise.
31226 * term/terminfo.c: Likewise.
31227 * term/efi/console.c: Likewise.
31228 * term/i386/pc/console.c: Likewise.
31229 * term/i386/pc/serial.c: Likewise.
31230 * term/i386/pc/vesafb.c: Likewise.
31231 * term/i386/pc/vga.c: Likewise.
31232 * term/ieee1275/ofconsole.c: Likewise.
31233 * util/biosdisk.c: Likewise.
31234 * util/console.c: Likewise.
31235 * util/genmoddep.c: Likewise.
31236 * util/getroot.c: Likewise.
31237 * util/grub-emu.c: Likewise.
31238 * util/grub-mkdevicemap.c: Likewise.
31239 * util/grub-probe.c: Likewise.
31240 * util/lvm.c: Likewise.
31241 * util/misc.c: Likewise.
31242 * util/raid.c: Likewise.
31243 * util/resolve.c: Likewise.
31244 * util/update-grub.in: Likewise.
31245 * util/update-grub_lib.in: Likewise.
31246 * util/grub.d/00_header.in: Likewise.
31247 * util/grub.d/10_hurd.in: Likewise.
31248 * util/grub.d/10_linux.in: Likewise.
31249 * util/i386/efi/grub-install.in: Likewise.
31250 * util/i386/efi/grub-mkimage.c: Likewise.
31251 * util/i386/pc/grub-install.in: Likewise.
31252 * util/i386/pc/grub-mkimage.c: Likewise.
31253 * util/i386/pc/grub-mkrescue.in: Likewise.
31254 * util/i386/pc/grub-setup.c: Likewise.
31255 * util/i386/pc/misc.c: Likewise.
31256 * util/powerpc/ieee1275/grub-install.in: Likewise.
31257 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31258 * util/powerpc/ieee1275/misc.c: Likewise.
31259 * video/bitmap.c: Likewise.
31260 * video/video.c: Likewise.
31261 * video/i386/pc/vbe.c: Likewise.
31262 * video/i386/pc/vbeblit.c: Likewise.
31263 * video/i386/pc/vbefill.c: Likewise.
31264 * video/i386/pc/vbeutil.c: Likewise.
31265 * video/readers/tga.c: Likewise.
31266
3572d015 312672007-07-02 Robert Millan <rmh@aybabtu.com>
31268
31269 * conf/i386-efi.rmk: Replace obsolete reference to
31270 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31271 with util/getroot.c.
31272 * conf/powerpc-ieee1275.rmk: Likewise.
31273 * conf/sparc64-ieee1275.rmk: Likewise.
31274
31275 * util/grub-emu.c (main): Fix unchecked pointer handling.
31276
2c2a681b 312772007-07-02 Robert Millan <rmh@aybabtu.com>
31278
31279 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31280 invocation to fail, in order to support partition-less media.
31281
31282 * util/i386/pc/grub-install.in: Likewise.
31283
31284 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31285 which fs or partmap modules are needed (akin to its sister scripts).
31286
31287 Also use grub-probe to get rid of unportable /proc/mounts check.
31288
31289 Print the same informational message that the other scripts do, before
fe6b695a 31290 exiting.
2c2a681b 31291
6193defe 312922007-06-23 Robert Millan <rmh@aybabtu.com>
31293
fe6b695a 31294 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31295 a font file can be found and, if so, echo the GRUB path to it.
31296
31297 * util/update-grub.in: Handle multiple terminals depending on user
31298 input, platform availability and font file presence. Propagate
31299 variables of our findings to /etc/grub.d/ children.
31300
31301 * util/grub.d/00_header.in: Handle multiple terminals, based on
31302 environment setup by update-grub.
31303
eface1dc 313042007-06-23 Robert Millan <rmh@aybabtu.com>
31305
ba50d28f 31306 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31307
bf697e28 313082007-06-21 Robert Millan <rmh@aybabtu.com>
31309
31310 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31311 indicate end of data section in kernel image.
31312 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31313 GRUB_KERNEL_MACHINE_DATA_END.
31314
31315 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31316 space for it.
31317 * kern/i386/efi/startup.S: Likewise.
31318
31319 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31320 during image generation. Implement --prefix option to override this
31321 patch.
31322 * util/i386/efi/grub-mkimage.c: Likewise.
31323
31324 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31325 code to make path relative to its root into a separate function.
31326
31327 * util/i386/pc/grub-install.in: Use newly provided
31328 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31329 pass the result to grub-install --prefix.
31330
baa574b4 313312007-06-13 Robert Millan <rmh@aybabtu.com>
31332
31333 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31334 DEFAULT_DEVICE_MAP.
31335 * util/grub-emu.c: Use above definitions from misc.h instead of
31336 defining them.
31337 * util/grub-mkdevicemap.c: Likewise.
31338 * util/i386/pc/grub-setup.c: Likewise.
31339 * util/grub-probe.c: Likewise.
31340 (probe): Abort with grub_util_error() when either
31341 grub_guess_root_device or grub_util_get_grub_dev fails.
31342
0215dcbf 313432007-06-12 Robert Millan <rmh@aybabtu.com>
31344
31345 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31346 "pager" assignment.
31347 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31348 "pcdata".
31349 * util/grub-probe.c (probe): Likewise for "drive_name".
31350
8af2ab7b 313512007-06-11 Robert Millan <rmh@aybabtu.com>
31352
31353 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31354 not just the cdrom one.
31355
59d31694 313562007-06-11 Robert Millan <rmh@aybabtu.com>
31357
31358 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31359 Add --pkglibdir=DIR option to override pkglibdir.
31360 Mention --image-type=TYPE in help output.
31361 Fix --grub-mkimage (it was a no-op).
fe6b695a 31362 Abort gracefully when no parameter is given.
59d31694 31363
7ee367e4 313642007-06-11 Robert Millan <rmh@aybabtu.com>
31365
31366 * util/i386/pc/grub-mkrescue.in: New file.
31367 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31368 * Makefile.in: Handle bin_SCRIPTS.
31369
29b0ed46 313702007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31371
31372 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31373 list of video modes.
31374
c0f90770 313752007-06-06 Robert Millan <rmh@aybabtu.com>
31376
31377 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31378 file doesn't exist, or if it is in a filesystem grub can't read.
31379
31380 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31381 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31382 header comment to fit in 80 columns when the variables are resolved.
31383
31384 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31385 could be identified by update-grub. Remove redundant check for
fe6b695a 31386 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 31387 handles that).
31388
fb36dc26 313892007-06-04 Robert Millan <rmh@aybabtu.com>
31390
31391 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31392
31393 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31394
31395 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31396
0c68c93e 313972007-06-04 Robert Millan <rmh@aybabtu.com>
31398
31399 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31400
31401 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31402 grub_apple_partition_map_fini.
31403
31404 * util/biosdisk.c
31405 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31406 to access >2 TiB disks).
31407
31408 Print disk->total_sectors with %llu instead of %lu, since this
31409 variable is always 64-bit (prevents wrong disk size from being displayed
31410 on either >2 TiB disk or big-endian CPU).
31411
31412 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31413 into a generic case that supports all (sane) partition maps.
31414
31415 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31416 breaks big-endian.
31417
31418 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31419 and grub_apple_partition_map_fini() after that.
31420
0f23eb74 314212007-06-01 Robert Millan <rmh@aybabtu.com>
31422
31423 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31424
31425 * util/grub.d/00_header.in: Only enable gfxterm when
31426 convert_system_path_to_grub_path() succeeds.
31427
42c71976 314282007-05-20 Robert Millan <rmh@aybabtu.com>
31429
31430 * util/update-grub_lib.in: New file.
31431 * DISTLIST: Add update-grub_lib.in.
31432 * conf/common.rmk: Generate update-grub_lib and install it in
31433 $(lib_DATA).
31434 * Makefile.in: Add install routine for $(lib_DATA).
31435
31436 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31437 function provided by update-grub_lib to support arbitrary paths of
31438 unifont.pff.
31439 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31440 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31441
5beb2291 314422007-05-19 Robert Millan <rmh@aybabtu.com>
31443
31444 * commands/i386/cpuid.c: New module.
31445 * DISTLIST: Add it.
31446 * conf/i386-efi.rmk: Enable cpuid.mod.
31447 * conf/i386-pc.rmk: Likewise.
31448
7262eca1 314492007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31450
31451 * kern/disk.c (grub_disk_read): Check return value of
31452 grub_realloc().
31453
260ba823 314542007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31455
31456 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31457 arrays.
31458 * disk/raid.c (grub_raid_open): Likewise.
31459
1ecb6cf2 314602007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31461
31462 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31463 stack instead of on the heap.
31464
31465 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31466 before doing a read on it.
31467
31468 * configure.ac: Only use -fno-stack-protector for the target
31469 environment.
f19dbdb7 31470
21c8cbb1 314712007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31472
31473 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31474 __attribute_ ((unused)) to mode_type argument.
31475
31476 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 31477
21c8cbb1 31478 * kern/misc.c (memcmp): Fix prototype.
31479
31480 * include/grub/partition.h [GRUB_UTIL]
31481 (grub_gpt_partition_map_init): Add prototype.
31482 (grub_gpt_partition_map_fini): Likewise.
31483
31484 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31485 at the right place.
31486
31487 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
31488 (grub_fat_read_data): Likewise.
31489 (grub_fat_find_dir): Likewise.
31490
31491 * font/manager.c (find_glyph): Make table a const.
31492 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 31493
849d55d3 314942007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
31495
31496 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
31497 code, first search for device in /dev/mapper, then in /dev.
31498 (grub_util_get_grub_dev): New function.
31499 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
31500 prototype.
31501 * util/grub-probe.c (probe): Remove check for RAID, call
31502 grub_util_get_grub_dev() instead of
31503 grub_util_biosdisk_get_grub_dev().
31504 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
31505 grub_util_biosdisk_get_grub_dev().
31506 * util/i386/pc/grub-setup.c (main): Likewise.
31507
8fff7c2f 315082007-05-16 Robert Millan <rmh@aybabtu.com>
31509
31510 * DISTLIST: Update for the latest changes.
31511 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
31512 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
31513 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
31514 grub/util/biosdisk.h.
31515 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
31516 grub/util/biosdisk.h.
31517
48e12b52 315182007-05-16 Robert Millan <rmh@aybabtu.com>
31519
31520 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
31521
46b9d128 315222007-05-16 Robert Millan <rmh@aybabtu.com>
31523
31524 * util/i386/efi/grub-install.in: New.
31525 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
31526 newly added grub-install.
31527 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
31528 include.
31529 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
31530 grub/util/biosdisk.h.
31531 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
31532 grub/util/biosdisk.h.
31533
2d1a40a9 315342007-05-16 Robert Millan <rmh@aybabtu.com>
31535
31536 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
31537 * include/grub/util/biosdisk.h: ... here.
31538 * util/i386/pc/biosdisk.c: Moved to ...
31539 * util/biosdisk.c: ... here.
31540 * util/i386/pc/getroot.c: Moved to ...
31541 * util/getroot.c: ... here.
31542 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
31543 * util/grub-mkdevicemap.c: ... here.
31544 * util/i386/pc/grub-probe.c: Moved to ...
31545 * util/grub-probe.c: ... here.
31546
9e26e3bc 315472007-05-15 Robert Millan <rmh@aybabtu.com>
31548
31549 * util/update-grub.in: Remove duplicated line in grub.cfg header
31550 message.
31551
57f96397 315522007-05-13 Robert Millan <rmh@aybabtu.com>
31553
31554 * util/update-grub.in: Fix a few assumptions about the devices holding
31555 /, /boot and /boot/grub being the same.
31556 * util/grub.d/00_header.in: Likewise.
31557 * util/grub.d/10_hurd.in: Likewise.
31558 * util/grub.d/10_linux.in: Likewise.
31559
31560 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
31561 patterns. Use that to define the `.old' suffix as older than `'.
31562
31563 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
31564
31565 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
31566 the grub.cfg header message.
31567
2e610d62 315682007-05-11 Robert Millan <rmh@aybabtu.com>
31569
31570 * util/update-grub.in: Create device.map if it doesn't already exist,
31571 before attempting to run grub-probe.
31572 Check for grub-probe and grub-mkdevicemap with the same code
31573 grub-install is using.
31574 Remove test mode.
31575
3f6a10ef 315762007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
31577
31578 * Makefile.in: Add the datarootdir autoconf variable.
31579
02e7b75e 315802007-05-09 Robert Millan <rmh@aybabtu.com>
31581
31582 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 31583 fail gracefully if dev->disk->partition == NULL.
02e7b75e 31584
75f396cc 315852007-05-07 Robert Millan <rmh@aybabtu.com>
31586
31587 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
31588 determine partition map module.
31589 * util/i386/pc/grub-install.in: Use this feature to decide which
31590 partition module to load, instead of hardcoding pc and gpt.
31591
da65cb36 315922007-05-07 Robert Millan <rmh@aybabtu.com>
31593
31594 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
31595 source directory differs from build directory.
31596
b57d6a91 315972007-05-05 Robert Millan <rmh@aybabtu.com>
31598
31599 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
31600 initialisation.
31601
509d00f1 316022007-05-05 Robert Millan <rmh@aybabtu.com>
31603
31604 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
31605
c48f23ef 316062007-05-05 Robert Millan <rmh@aybabtu.com>
31607
31608 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
31609 command-line arguments via ${GRUB_CMDLINE_LINUX}.
31610
20b97658 316112007-05-05 Robert Millan <rmh@aybabtu.com>
31612
31613 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
31614 (grub_probe_SOURCES): Likewise.
31615 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
31616 GPT and initialize dos_part and bsd_part accordingly.
31617 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
31618 install_bsd_part.
31619 (main): Activate gpt module for use during partition identification,
31620 and deactivate it afterwards.
31621 * util/i386/pc/grub-install.in: Add gpt module to core.img.
31622 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
31623 partition identification, and deactivate it afterwards.
31624
99123174 316252007-05-05 Robert Millan <rmh@aybabtu.com>
31626
31627 * term/i386/pc/console.c (grub_console_fini): Call
31628 grub_term_set_current() before grub_term_unregister().
31629
ebd97f6e 316302007-05-04 Robert Millan <rmh@aybabtu.com>
31631
31632 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
31633 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
31634 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
31635 and update-grub_DATA.
31636 * conf/common.rmk: Build and install update-grub components.
31637 * conf/common.mk: Regenerate.
31638 * util/update-grub.in: New. Core of update-grub.
31639 * util/grub.d/00_header.in: New. Generates grub.cfg header.
31640 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
31641 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
31642 * util/grub.d/README: New. Document grub.d directory layout.
31643
b06a264d 316442007-05-01 Robert Millan <rmh@aybabtu.com>
31645
31646 * util/grub-emu.c: Move initialization functions
31647 grub_util_biosdisk_init() and grub_init_all() before
31648 grub_util_biosdisk_get_grub_dev(), which relies on them.
31649
41f0050e 316502007-04-19 Robert Millan <rmh@aybabtu.com>
31651
31652 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
31653 it is used later.
31654
04582bb3 316552007-04-18 Jerone Young <jerone@gmail.com>
31656
f19dbdb7 31657 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 31658 stanza.
31659
08db4632 316602007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 31661
08db4632 31662 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
31663 continue on and look for device node with real device name.
31664
801b76be 316652007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 31666
fe6b695a 31667 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 31668 ability.
31669 * Makefile.in: Add autoconf package transformation code.
31670 * util/i386/pc/grub-install.in: Likewise.
31671 * util/powerpc/ieee1275/grub-install.in: Likewise.
31672
6795c4e1 316732007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
31674
31675 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
31676 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
31677 (EXT2_REVISION): Likewise.
31678 (EXT2_INODE_SIZE): Likewise.
31679 (struct grub_ext2_block_group): Added a missing member
31680 "used_dirs".
31681 (grub_ext2_read_inode): Divide by the inode size in a superblock
31682 instead of 128 to obtain INODES_PER_BLOCK.
31683 Use the macro EXT2_INODE_SIZE instead of directly using
31684 SBLOCK->INODE_SIZE.
31685
d70af616 316862007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
31687
31688 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
31689 superblock instead of the structure size to compute an
31690 offset. This fixes the problem that GRUB could not read a
31691 filesystem when inode size is different from 128-byte.
31692
3b801603 316932007-03-05 Marco Gerards <marco@gnu.org>
31694
31695 * normal/main.c (read_config_file): When "menu" is not set, create
31696 an initial context.
31697
4785bfe4 316982007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31699
31700 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
31701 (HEAP_LIMIT): New macro.
31702 (grub_claim_heap): Claim memory up to `heaplimit'.
31703
a0cbb023 317042007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31705
31706 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
31707 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
31708 (_start): Likewise.
31709 (grub_arch_modules_addr): Return address after `_end'.
31710 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
31711 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
31712 (add_segments): Calculate `_end' from phdr size and location.
31713 (ALIGN_UP): Moved to ...
31714 * include/grub/misc.h: here.
31715 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31716 New macro.
31717 (GRUB_IEEE1275_MODULE_BASE): Removed.
31718
fd7d8eba 317192007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31720
31721 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
31722 loop boundary.
31723
9b09e6fc 317242007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31725
31726 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
31727 All users updated.
31728 (grub_elf64_load_hook_t): Likewise.
31729 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
31730 debug output.
31731
3ce27299 317322007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31733
31734 * kern/mm.c: Update copyright.
31735 (grub_mm_debug): Correct syntax error.
31736 (grub_mm_dump_free): New function.
31737 (grub_debug_free): Call `grub_free'.
31738 * include/grub/mm.h: Update copyright.
31739 (grub_mm_dump_free): Add declaration.
31740
077d5fee 317412007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31742
31743 * include/grub/ieee1275/ieee1275.h: Update copyright.
31744 * kern/powerpc/ieee1275/init.c: Likewise.
31745 * kern/powerpc/ieee1275/openfw.c: Likewise.
31746
31747 * loader/powerpc/ieee1275/linux.c: Likewise.
31748 * include/grub/elfload.h: Likewise.
31749 * kern/elf.c: Likewise.
31750 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31751 callers.
31752 (grub_elf64_load): Likewise.
31753 (grub_elf32_load_segment): Move to a nested function.
31754 (grub_elf64_load_segment): Likewise.
31755
dc946850 317562007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31757
31758 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31759 prototype.
31760 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31761 (grub_heap_len): Likewise.
31762 (HEAP_SIZE): New macro.
31763 (grub_claim_heap): New function.
31764 (grub_machine_init): Don't claim heap directly. Call
31765 `grub_claim_heap'.
31766 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31767 (grub_available_iterate): New function.
31768
baa2a121 317692007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31770
31771 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31772 * configure.ac: Use it for testing the HOST and TARGET compilers.
31773
4fe9862e 317742006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31775
31776 * Makefile.in (enable_grub_emu): New variable.
31777 * configure.ac (--enable-grub-emu): New option.
31778 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31779 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31780 * conf/i386-pc.rmk: Likewise.
31781 * conf/powerpc-ieee1275.rmk: Likewise.
31782 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
31783
a8aa5762 317842006-12-12 Marco Gerards <marco@gnu.org>
31785
31786 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
31787
31788 * kern/env.c (grub_env_unset): Don't free the member `value' when
31789 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
31790 pointer.
31791
31792 * normal/main.c (current_menu): Removed.
31793 (free_menu): Unset the `menu' environment variable.
31794 (grub_normal_menu_addentry): Make use of the environment variable
31795 `menu', instead of using the global `current_menu'. Allocate
31796 memory for the sourcecode of this entry.
31797 (read_config_file): New argument `nested', changed all callers.
31798 Only in the case of a new context, initialize a new menu. Set the
31799 `menu' environment variable.
31800 (grub_normal_execute): Don't set and unset the environment
31801 variable `menu' here anymore. Only free the menu when leaving the
31802 context.
31803
31804 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
31805 leak.
31806
957b3a3e 318072006-12-11 Marco Gerards <marco@gnu.org>
31808
31809 * normal/menu_entry.c (run): Fix off by one bug so the last line
31810 is executed. Move the loader check to outside the loop.
31811
ef875714 318122006-12-08 Hollis Blanchard <hollis@penguinppc.org>
31813
31814 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
31815
4e739985 318162006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
31817
31818 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
31819 the number of sectors. Reported by Andrey Shuvikov
31820 <mr_hyro@yahoo.com>.
f19dbdb7 31821
790707f2 318222006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
31823
31824 * kern/disk.c (grub_disk_read): When there is a read error, always
31825 try to read only the necessary data.
f19dbdb7 31826
790707f2 31827 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
31828 disk/raid.c.
31829 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
31830 prototype.
31831 [GRUB_UTIL] (grub_raid_fini): Likewise.
31832 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 31833 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 31834 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
31835 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
31836 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
31837 and grub_raid_fini().
f19dbdb7 31838
03e58196 318392006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31840
31841 * include/grub/types.h (__unused): Rename to UNUSED.
31842 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
31843 (grub_elf64_size): Likewise.
f19dbdb7 31844
ae4f23bf 318452006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31846
31847 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
31848 grub_error_push and grub_error_pop in the error-handling path.
31849 (grub_elf32_load_segment): Only call grub_file_read with non-zero
31850 length.
31851
2166cc83 318522006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31853
31854 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
31855 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31856 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31857 (kernel_elf_SOURCES): Likewise.
31858 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
31859 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
31860 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31861 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31862 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
31863 (elf_mod_SOURCES): New variable.
31864 (elf_mod_CFLAGS): Likewise.
31865 (elf_mod_LDFLAGS): Likewise.
31866 * include/grub/types.h (__unused): New macro.
31867 * include/grub/elfload.h: New file.
31868 * kern/elf.c: Likewise.
31869 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
31870 (ELF32_LOADMASK): New macro.
31871 (ELF64_LOADMASK): Likewise.
31872 (vmlinux): Removed.
31873 (grub_linux_load32): New function.
31874 (grub_linux_load64): Likewise.
31875 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
31876 Use grub_elf_t instead of grub_file_t.
31877
a09d5aa5 318782006-11-02 Hollis Blanchard <hollis@penguinppc.org>
31879
31880 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
31881 `catch_result' to struct set_color_args.
31882
d976fc51 318832006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31884
31885 * normal/menu.c: Include grub/script.h.
31886 * normal/menu_entry.c: Likewise.
31887 * include/grub/normal.h: Do not include grub/script.h.
31888
67507549 318892006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31890
31891 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
31892
69203a99 318932006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31894
31895 * kern/disk.c (grub_disk_open): Print debug messages when opening a
31896 disk.
31897 (grub_disk_close): Print debug messages when closing a disk.
31898 (grub_disk_read): Print debug messages when disk read fails.
31899 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
31900 filesystem type.
31901 * kern/partition.c: Include misc.h.
31902 (grub_partition_iterate): Print debug messages when detecting
31903 partition type.
31904
e2b8278c 319052006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31906
31907 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
31908 is negative.
31909 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
31910
97b2f2ff 319112006-10-26 Hollis Blanchard <hollis@penguinppc.org>
31912
31913 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31914 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
31915
6555d655 319162006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
31917
31918 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
31919 instead of sizeof(lv). Patch by Michael Guntsche.
31920
4d42b77f 319212006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
31922
31923 * disk/lvm.c: Rename VGS to VG_LIST.
31924 (grub_lvm_iterate): Change VGS->LV to VG-LV.
31925 (grub_lvm_open): Likewise.
31926 Thanks to Michael Guntsche for finding this bug.
31927
5d74d927 319282006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31929
31930 * configure.ac (AC_INIT): Bumped to 1.95.
31931
a1bb27e4 319322006-10-14 Robert Millan <rmh@aybabtu.com>
31933
31934 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
31935 with "/dev/.static/dev/md".
31936
e0994b8b 319372006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31938
31939 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
31940 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
31941 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
31942 DRIVE_NAME are always freed.
31943
31944 * util/i386/pc/biosdisk.c (make_device_name): Add one into
31945 DOS_PART, as a DOS partition is counted from one instead of zero
31946 now. Reported by Robert Millan.
31947
ddd5cee9 319482006-10-14 Robert Millan <rmh@aybabtu.com>
31949
31950 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
31951 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
31952 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
31953 string returned by grub_guess_root_device.
31954 * util/i386/pc/grub-setup.c: Likewise.
31955 * util/i386/pc/grub-probefs.c: Likewise.
31956
31957 * util/i386/pc/grub-probefs.c: Rename to ...
31958 * util/i386/pc/grub-probe.c: ... this.
31959 * DISTLIST: Remove grub-probefs, add grub-probe.
31960 * conf/i386-efi.rmk: Likewise.
31961 * conf/i386-pc.rmk: Likewise.
31962 * util/i386/pc/grub-install.in: Likewise.
31963
31964 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
31965 choose which information we want to print.
31966
2b002173 319672006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31968
31969 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
31970 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
31971 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
31972 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
31973 video/readers/tga.c and video/i386/pc/vbeutil.c.
31974
319752006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
31976
31977 Added support for RAID and LVM.
f19dbdb7 31978
2b002173 31979 * disk/lvm.c: New file.
31980 * disk/raid.c: Likewise.
31981 * include/grub/lvm.h: Likewise.
f19dbdb7 31982 * include/grub/raid.h: Likewise.
2b002173 31983 * include/grub/util/lvm.h: Likewise.
31984 * include/grub/util/raid.h: Likewise.
31985 * util/lvm.c: Likewise.
31986 * util/raid.c: Likewise.
31987
31988 * include/grub/disk.h (grub_disk_dev_id): Add
31989 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
31990 (grub_disk_get_size): New prototype.
31991 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
31992 returns a partition.
31993 (grub_disk_get_size): New function.
f19dbdb7 31994
2b002173 31995 * kern/i386/pc/init.c (make_install_device): Copy the prefix
31996 verbatim if grub_install_dos_part is -2.
31997
31998 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
31999 and LVM devices.
32000
32001 * util/i386/pc/grub-setup.c (setup): New argument
32002 MUST_EMBED. Force embedding of GRUB when the argument is
32003 true. Close FILE before returning.
32004 (main): Add support for RAID and LVM.
f19dbdb7 32005
2b002173 32006 * conf/common.rmk: Add RAID and LVM modules.
32007 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32008 util/lvm.c.
32009 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32010
32011 * kern/misc.c (grub_strstr): New function.
32012 * include/grub/misc.h (grub_strstr): New prototype.
32013
050548d0 320142006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32015
32016 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32017
da849d2d 320182006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32019
32020 * kern/misc.c (grub_strtoull): Guess the base only if not
32021 specified.
32022
97b2f2ff 320232006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32024
32025 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32026 PowerMac support.
32027
97b2f2ff 320282006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32029
32030 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32031
32032 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32033 Remove `flags' argument. All callers changed.
32034 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32035 (IEEE1275_IHANDLE_INVALID): New variable.
32036 (IEEE1275_CELL_INVALID): New variable.
32037 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32038 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32039 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32040 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32041 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32042 codes from Open Firmware. All callers updated.
32043 (grub_ieee1275_next_property): Directly return Open Firmware return
32044 code.
32045 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32046 Standardize error checking from `grub_ieee1275_get_property'.
32047 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32048 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32049
97b2f2ff 320502006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32051
32052 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32053 `instance_to_package_args' to `instance_to_path_args'.
32054
32055 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32056 `grub_ieee1275_chosen'.
32057
32058 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32059 `grub_ieee1275_interpret'.
32060
97b2f2ff 320612006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32062
32063 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32064
97b2f2ff 320652006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32066
32067 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32068 (__cmpdi): Likewise.
32069
32070 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32071 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32072 `grub_ssize_t'.
32073
02bb8acc 32074 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32075
32076 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32077 to type `grub_ssize_t'.
32078 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32079
7f9a8531 320802006-09-22 Marco Gerards <marco@gnu.org>
32081
32082 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32083 newlines.
32084
b5ef1102 320852006-09-22 Marco Gerards <marco@gnu.org>
32086
32087 * commands/echo.c: New file.
32088
32089 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32090
32091 * conf/common.rmk (echo_mod_SOURCES): New variable.
32092 (echo_mod_CFLAGS): Likewise.
32093 (echo_mod_LDFLAGS): Likewise.
32094
2cff3677 320952006-09-22 Marco Gerards <marco@gnu.org>
32096
32097 * normal/main.c (get_line): Malloc memory instead of using
32098 preallocated memory. Removed the arguments `cmdline' and
32099 `max_len'. Updated all callers.
32100
6ba4688b 321012006-09-22 Marco Gerards <marco@gnu.org>
32102
32103 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32104 (normal_mod_DEPENDENCIES): Likewise.
32105
32106 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32107 (normal_mod_DEPENDENCIES): Likewise.
32108
32109 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32110
e02ac02c 321112006-09-22 Johan Rydberg <jrydberg@gnu.org>
32112
32113 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32114 programs.
32115 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32116 (normal_mod_DEPENDENCIES): Likewise.
32117 * conf/i386-pc.mk: Regenerate.
32118 * conf/i386-efi.mk: Likewise
32119 * conf/common.mk: Likewise.
32120 * conf/powerpc-ieee1275.mk: Likewise.
32121 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32122
8d252e44 321232006-09-22 Robert Millan <rmh@aybabtu.com>
32124
32125 Sync with i386 version.
32126 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32127 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32128
209bf7ac 321292006-09-21 Robert Millan <rmh@aybabtu.com>
32130
32131 Import from GRUB Legacy (lib/device.c):
32132 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32133 (init_device_map) [__linux__]: Add support for I2O devices.
32134
6b146090 321352006-09-14 Marco Gerards <marco@gnu.org>
32136
32137 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32138 `-melf_i386'.
32139
e38600a8 321402006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32141
32142 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32143 /boot/grub/*.lst.
78fa1790 32144
2952da5d 32145 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32146
2952da5d 32147 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32148 before adding it to device.map.
32149
01b82a64 321502006-08-15 Johan Rydberg <jrydberg@gnu.org>
32151
fe6b695a 32152 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32153 compiles a file; using the -MD option.
32154 * conf/common.mk: Regenerate.
32155 * conf/i386-pc.mk: Likewise.
32156 * conf/i386-efi.mk: Likewise.
32157 * conf/powerpc-ieee1275.mk: Likewise.
32158 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32159
1064790d 321602006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32161
32162 Move the prototypes of grub_setjmp and grub_longjmp to
32163 cpu/setjmp.h, so that each architecture may specify different
32164 attributes.
f19dbdb7 32165
1064790d 32166 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32167 (grub_longjmp): Likewise.
32168 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32169 (grub_longjmp): Likewise.
32170 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32171 (grub_longjmp): Likewise.
32172
32173 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32174 [!GRUB_UTIL] (grub_longjmp): Removed.
32175
29dda3ed 321762006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32177
32178 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32179 "color!" method does not return any value.
32180
ad2a06ed 321812006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32182
32183 * include/grub/bitmap.h: New file.
32184
32185 * include/grub/i386/pc/vbeutil.h: Likewise.
32186
32187 * video/bitmap.c: Likewise.
32188
32189 * video/readers/tga.c: Likewise.
32190
32191 * video/i386/pc/vbeutil.c: Likewise.
32192
32193 * commands/videotest.c: Code cleanup and updated to reflect to new
32194 video API.
32195
32196 * term/gfxterm.c: Likewise.
32197
32198 * video/video.c: Likewise.
32199
32200 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32201 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32202 (bitmap_mod_SOURCES): New entry.
32203 (bitmap_mod_CFLAGS): Likewise.
32204 (bitmap_mod_LDFLAGS): Likewise.
32205 (tga_mod_SOURCES): Likewise.
32206 (tga_mod_CFLAGS): Likewise.
32207 (tga_mod_LDFLAGS): Likewise.
32208
32209 * include/grub/video.h (grub_video_blit_operators): New enum type.
32210 (grub_video_render_target): Changed as forward declaration and moved
32211 actual definition to be video driver specific.
32212 (grub_video_adapter.blit_bitmap): Added blitting operator.
32213 (grub_video_adapter.blit_render_target): Likewise.
32214 (grub_video_blit_bitmap): Likewise.
32215 (grub_video_blit_render_target): Likewise.
32216
32217 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32218 driver specific render target definition.
32219 (grub_video_vbe_map_rgba): Added driver internal helper.
32220 (grub_video_vbe_unmap_color): Updated to use
32221 grub_video_i386_vbeblit_info.
32222 (grub_video_vbe_get_video_ptr): Likewise.
32223
32224 * include/grub/i386/pc/vbeblit.h
32225 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32226 grub_video_i386_vbeblit_info.
32227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32228 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32229 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32230 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32231 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32232 (grub_video_i386_vbeblit_index_index): Likewise.
32233 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32234 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32235 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32236 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32237 operator.
32238 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32239 operator.
32240
32241 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32242 include/grub/i386/pc/vbeblit.h.
32243
32244 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32245 Updated to use grub_video_i386_vbeblit_info.
32246 (grub_video_i386_vbefill_R8G8B8): Likewise.
32247 (grub_video_i386_vbefill_index): Likewise.
32248 (grub_video_i386_vbefill): Added generic filler.
32249
32250 * video/i386/pc/vbefill.c: Updated to reflect changes on
32251 include/grub/i386/pc/vbefill.h.
32252
32253 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32254 grub_video_i386_vbeblit_info.
32255 (grub_video_vbe_unmap_color): Likewise.
32256 (grub_video_vbe_blit_glyph): Likewise.
32257 (grub_video_vbe_scroll): Likewise.
32258 (grub_video_vbe_draw_pixel): Removed function.
32259 (grub_video_vbe_get_pixel): Likewise.
32260 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32261 updated code to use it.
32262 (common_blitter): Added common blitter for render target and bitmap.
32263 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32264 (grub_video_vbe_blit_render_target): Likewise.
32265
bc8c036d 322662006-07-30 Johan Rydberg <jrydberg@gnu.org>
32267
32268 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32269 is in text mode if there is no console control protocol instance
32270 available.
32271
684a8eff 322722006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32273
32274 * include/grub/video.h: Code cleanup.
32275
32276 * include/grub/i386/pc/vbe.h: Likewise.
32277
32278 * video/i386/pc/vbe.c: Likewise.
32279
32280 * video/i386/pc/vbeblit.c: Likewise.
32281
32282 * video/i386/pc/vbefill.c: Likewise.
32283
32284 * video/video.c: Likewise. Also added more comments.
32285
5915059b 322862006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32287
32288 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32289 (struct grub_biosdisk_dap): Likewise.
32290
32291 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32292 linkage settings for all functions.
32293
90ce5d56 322942006-07-12 Marco Gerards <marco@gnu.org>
32295
32296 * configure.ac (--enable-mm-debug): Fix typo.
32297
32298 * genkernsyms.sh.in: Use proper quoting for `CC'.
32299
43e7f879 323002006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32301
32302 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32303 (normal_mod_ASFLAGS): Remove "-m32".
32304
4889bdec 323052006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32306
32307 * util/misc.c: Include config.h.
32308 [!HAVE_MEMALIGN]: Do not include malloc.h.
32309 (grub_memalign): Use posix_memalign, if present. Then, use
32310 memalign, if present. Otherwise, emit an error.
32311
32312 * util/grub-emu.c: Do not include malloc.h.
32313
32314 * include/grub/util/misc.h: Include unistd.h. This is required for
32315 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32316 D. Eades III <hde@foobar-qux.org>.
32317
32318 * configure.ac (AC_GNU_SOURCE): Added.
32319 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32320 type.
32321
fd39d4da 323222006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32323
32324 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32325 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32326
b786f3b5 323272006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32328
32329 * include/grub/types.h (grub_host_addr_t): Rename to
32330 grub_target_addr_t.
32331 (grub_host_off_t): Rename to grub_target_off_t.
32332 (grub_host_size_t): Rename to grub_target_size_t.
32333 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32334 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32335
32336 * include/grub/kernel.h (struct grub_module_header): Change type
32337 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32338 (grub_module_info): Likewise.
f19dbdb7 32339
051988bb 323402006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32341
32342 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32343 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32344 Velazquez <jesus.velazquez@gmail.com>.
32345
deae281b 323462006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32347
32348 Count partitions from 1 instead of 0 in the string representation
32349 of partitions. Still use 0-based internally.
f19dbdb7 32350
deae281b 32351 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32352 (sun_partition_map_iterate): Use grub_partition_t instead of
32353 struct grub_partition *. Cast DESC->START_CYLINDER to
32354 grub_uint64_t after converting the endian.
32355 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32356 (sun_partition_map_get_name): Add 1 to P->INDEX.
32357
32358 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32359 PCDATA->DOS_PART.
32360 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32361
32362 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32363 zero instead of one.
32364 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32365 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32366
32367 * partmap/apple.c (apple_partition_map_iterate): Change the type
32368 of POS to unsigned.
32369 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32370 (apple_partition_map_get_name): Add 1 into P->INDEX.
32371
32372 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32373 of POS to unsigned.
32374 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32375 calculate the offset of a partition.
32376 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32377 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32378
32379 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32380 SECTOR to grub_disk_addr_t.
32381 (acorn_partition_map_iterate): Likewise.
32382 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32383 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32384 top.
32385 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32386
32387 * kern/i386/pc/init.c (make_install_device): Add 1 into
32388 GRUB_INSTALL_DOS_PART.
32389
32390 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32391 conditional.
32392
524a1e6a 323932006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32394
32395 Clean up the code to support 64-bit addressing in disks and
32396 files. This change is not enough for filesystems yet.
f19dbdb7 32397
524a1e6a 32398 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32399 type of "start" to grub_uint64_t.
32400 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32401 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32402 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32403 convert addresses.
32404
32405 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32406 to grub_disk_addr_t.
32407
32408 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32409 string.
32410
32411 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32412
32413 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32414 to char *.
32415
32416 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32417
32418 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32419
32420 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32421
32422 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32423 to grub_off_t, to detect an error from grub_file_seek.
32424 (grub_multiboot_load_elf32): Likewise.
32425
32426 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32427 maximum unsigned long value when an overflow is detected.
32428 (grub_strtoull): New function.
32429 (grub_divmod64): Likewise.
32430 (grub_lltoa): use grub_divmod64.
32431
32432 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32433 grub_disk_addr_t.
32434 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32435 the pointer to next character. Use grub_strtoull instead of
32436 grub_strtoul.
32437 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32438 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32439 respectively.
32440
fe6b695a 32441 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 32442 return value is signed.
32443 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32444 test if OFFSET is less than zero, as OFFSET is unsigned now.
32445
32446 * kern/disk.c (struct grub_disk_cache): Change the type of
32447 "sector" to grub_disk_addr_t.
32448 (grub_disk_cache_get_index): Change the type of SECTOR to
32449 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32450 unsigned after shifting.
32451 (grub_disk_cache_invalidate): Change the type of SECTOR to
32452 grub_disk_addr_t.
32453 (grub_disk_cache_unlock): Likewise.
32454 (grub_disk_cache_store): Likewise.
32455 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32456 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32457 grub_disk_addr_t and grub_uint64_t, respectively.
32458 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32459 body, as the value of OFFSET is tweaked by
32460 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32461 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32462 respectively.
32463 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
32464 body, as the value of OFFSET is tweaked by
32465 grub_disk_check_range. Change the types of LEN and N to
32466 grub_size_t.
32467
32468 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32469 and "saved_offset" to grub_off_t.
32470 (test_header): Cast BUF to char *.
32471 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32472 to char *.
32473 (grub_gzio_read): Change the types of OFFSET and SIZE to
32474 grub_off_t and grub_size_t, respectively.
32475
32476 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32477 Removed.
32478 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32479 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32480 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32481 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32482 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32483
32484 * include/grub/types.h (grub_off_t): Unconditionally set to
32485 grub_uint64_t.
32486 (grub_disk_addr_t): Changed to grub_uint64_t.
32487
32488 * include/grub/partition.h (struct grub_partition): Change the
32489 types of "start", "len" and "offset" to grub_disk_addr_t,
32490 grub_uint64_t and grub_disk_addr_t, respectively.
32491 (grub_partition_get_start): Return grub_disk_addr_t.
32492 (grub_partition_get_len): Return grub_uint64_t.
32493
32494 * include/grub/misc.h (grub_strtoull): New prototype.
32495 (grub_divmod64): Likewise.
32496
32497 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
32498 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
32499 grub_off_t, respectively.
32500 All callers and references changed.
32501
32502 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
32503 grub_size_t in "read".
32504 All callers and references changed.
32505
32506 * include/grub/file.h (struct grub_file): Change the types of
32507 "offset" and "size" to grub_off_t and grub_off_t,
32508 respectively. Change the type of SECTOR to grub_disk_addr_t in
32509 "read_hook".
32510 (grub_file_read): Change the type of LEN to grub_size_t.
32511 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
32512 grub_off_t.
32513 (grub_file_size): Return grub_off_t.
32514 (grub_file_tell): Likewise.
32515 All callers and references changed.
32516
32517 * include/grub/disk.h (struct grub_disk_dev): Change the types of
32518 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
32519 "write".
32520 (struct grub_disk): Change the type of "total_sectors" to
32521 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 32522 "read_hook".
524a1e6a 32523 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
32524 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
32525 (grub_disk_write): Likewise.
32526 All callers and references changed.
32527
32528 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
32529 char * for grub_strncmp to silence gcc.
32530 (grub_iso9660_mount): Likewise.
32531 (grub_iso9660_mount): Likewise.
32532 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
32533 return statement.
32534 (grub_iso9660_iterate_dir): Likewise.
32535 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
32536
32537 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
32538 LEN to grub_disk_addr_t and grub_size_t, respectively.
32539
32540 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32541
32542 * fs/jfs.c (grub_jfs_read_file): Likewise.
32543
32544 * fs/minix.c (grub_jfs_read_file): Likewise.
32545
32546 * fs/sfs.c (grub_jfs_read_file): Likewise.
32547
32548 * fs/ufs.c (grub_jfs_read_file): Likewise.
32549
32550 * fs/xfs.c (grub_jfs_read_file): Likewise.
32551
32552 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
32553 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
32554 respectively.
32555
32556 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
32557 BLKNR to -1 instead of returning GRUB_ERRNO.
32558 (grub_ext2_read_file): Change the types of SECTOR and
32559 LEN to grub_disk_addr_t and grub_size_t, respectively.
32560
32561 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
32562 LEN to grub_disk_addr_t and grub_size_t, respectively.
32563
32564 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
32565 grub_file_read.
32566
32567 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
32568 string. Do not cast SECTOR explicitly.
32569
32570 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
32571 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
32572 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
32573 grub_disk_addr_t and grub_size_t, respectively. If the sector is
32574 over 2TB and LBA mode is not supported, raise an error.
32575 (get_safe_sectors): New function.
32576 (grub_biosdisk_read): Use get_safe_sectors.
32577 (grub_biosdisk_write): Likewise.
32578
32579 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
32580 (grub_efidisk_write): Likewise.
32581
32582 * disk/loopback.c (delete_loopback): Cosmetic changes.
32583 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
32584 correctly.
32585 (grub_loopback_open): Likewise.
32586 (grub_loopback_read): Likewise. Also, change the type of POS to
32587 grub_off_t, and fix the usage of grub_memset.
32588
32589 * commands/i386/pc/play.c: Include grub/machine/time.h.
32590
32591 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
32592 print FILE->SIZE.
32593
32594 * commands/configfile.c: Include grub/env.h.
32595
32596 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
32597 GRUB_ERRNO directly instead. Change the type of POS to
32598 grub_off_t. Follow the coding standard.
32599
32600 * commands/blocklist.c: Include grub/partition.h.
32601 (grub_cmd_blocklist): Return an error if the underlying device is
32602 not a disk. Take the starting sector of a partition into account,
32603 if a partition is used.
32604
32605 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
32606 a length field.
32607 (lba_mode): Support 64-bit addresses.
32608 (chs_mode): Likewise.
32609 (copy_buffer): Adapted to the new offsets of a length field and a
32610 segment field.
32611 (blocklist_default_start): Allocate 64-bit space.
32612
32613 * boot/i386/pc/boot.S (force_lba): Removed.
32614 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 32615 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 32616 space.
32617 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
32618 is useless.
32619 (lba_mode): Refactored to support a 64-bit address. More size
32620 optimization.
32621 (setup_sectors): Likewise.
32622
53af98ad 326232006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32624
32625 * DISTLIST: Added include/grub/i386/linux.h. Removed
32626 include/grub/i386/pc/linux.h
32627
32628 * configure.ac (AC_INIT): Bumped to 1.94.
32629
32630 * config.guess: Updated from gnulib.
32631 * config.sub: Likewise.
32632 * install-sh: Likewise.
32633 * mkinstalldirs: Likewise.
32634
b4c1940a 326352006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32636
32637 * conf/common.rmk (grub_modules_init.lst): Depended on
32638 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
32639 MODSRCFILES.
32640
32641 * genmk.rb (PModule::rule): Reverted the previous change.
32642
cfca1cfd 326432006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32644
32645 * conf/common.rmk (grub_modules_init.lst): Depends on
32646 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
32647 that the target does not exist before producing.
32648 (grub_modules_init.h): Remove the target before generating.
32649 (grub_emu_init.c): Likewise.
32650
32651 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
32652
aa6d7826 326532006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
32654
32655 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
32656 for the target-specific tests. Make sure that we also have the
32657 up-to-date target variables for those tests.
32658
26c607b9 326592006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32660
32661 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
32662 (PModule::rule): Likewise.
32663
0162321a 326642006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
32665
32666 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
32667 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
32668 target-specific flags should be prefixed.
32669 (PModule::rule): Likewise.
32670
6c826348 326712006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
32672
32673 * configure.ac (CMP): Check if cmp is available explicitly.
32674
b977bf01 326752006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
32676
32677 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
32678 (target_cpu): New variable.
32679 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 32680
b977bf01 32681 * util/i386/pc/grub-install.in (host_cpu): Removed.
32682 (target_cpu): New variable.
32683 (pkglibdir): Use target_cpu instead of host_cpu.
32684
32685 * util/genmoddep.c: Removed.
f19dbdb7 32686
b977bf01 32687 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
32688 instead of GRUB_HOST_SIZEOF_VOID_P.
32689 * kern/dl.c: Likewise.
32690
32691 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
32692 ...
32693 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32694 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32695 (GRUB_TARGET_SIZEOF_LONG): ... this.
32696 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32697 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32698 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32699 to ...
32700 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32701 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32702 (GRUB_TARGET_SIZEOF_LONG): ... this.
32703 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32704 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32705 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32706 to ...
32707 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32708 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32709 (GRUB_TARGET_SIZEOF_LONG): ... this.
32710 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32711 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32712
32713 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
32714 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
32715 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
32716 instead of GRUB_HOST_SIZEOF_LONG.
32717 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
32718 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
32719 GRUB_CPU_WORDS_BIGENDIAN.
32720 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
32721 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
32722 grub_host_ssize_t.
32723
32724 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
32725 (genmoddep_SOURCES): Likewise.
32726 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
32727 (genmoddep_SOURCES): Likewise.
32728 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
32729 (genmoddep_SOURCES): Likewise.
32730 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
32731 Likewise.
32732 (genmoddep_SOURCES): Likewise.
32733
32734 * genmoddep.awk: New file.
32735
32736 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32737 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32738 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32739 (PModule::rule): Likewise.
32740 (Program::rule): Likewise.
32741 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32742 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32743 respectively.
32744
32745 * configure.ac: Rewritten intensively to use host and target
32746 instead of build and host, respectively.
32747
32748 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32749 (host_cpu): Removed.
32750 (target_cpu): New variable.
32751 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32752 (BUILD_CC): Removed.
32753 (BUILD_CFLAGS): Likewise.
32754 (BUILD_CPPFLAGS): Likewise.
32755 (TARGET_CC): New variable.
32756 (TARGET_CFLAGS): Likewise.
32757 (TARGET_CPPFLAGS): Likewise.
32758 (TARGET_LDFLAGS): Likewise.
32759 (AWK): Likewise.
32760 (include): Use target_cpu instead of host_cpu.
32761 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 32762
b977bf01 32763 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32764
f09771a1 327652006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32766
32767 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32768 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32769 field 'false' to 'exec_on_false'.
32770 (grub_script_create_cmdif): Renamed argument names to reflect above
32771 changes.
32772
32773 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32774
32775 * normal/script.c (grub_script_create_cmdif): Likewise.
32776
118f4fb3 327772006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32778
32779 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32780 top.
32781 (grub_hfsplus_btree_recptr): Likewise.
32782 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
32783 FILEBLOCK both to pass a block number and store next block
32784 number.
32785 (grub_hfsplus_read_block): Rewritten heavily to support an extent
32786 overflow file correctly. Specify errors appropriately, because
32787 fshelp expects that GRUB_ERRNO is set when fails. Reuse
32788 grub_hfsplus_btree_recptr to get the pointer to a found key.
32789 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
32790 is found.
32791
32792 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
32793 linux.mod.
32794 (_linux_mod_SOURCES): New variable.
32795 (_linux_mod_CFLAGS): Likewise.
32796 (_linux_mod_LDFLAGS): Likewise.
32797 (linux_mod_SOURCES): Likewise.
32798 (linux_mod_CFLAGS): Likewise.
32799 (linux_mod_LDFLAGS): Likewise.
32800
32801 * DISTLIST: Added loader/i386/efi/linux.c,
32802 loader/i386/efi/linux_normal.c and
32803 include/grub/i386/efi/loader.h.
32804
32805 * loader/i386/efi/linux.c: New file.
32806 * loader/i386/efi/linux_normal.c: Likewise.
32807 * include/grub/i386/efi/loader.h: Likewise.
32808
89a7d726 328092006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
32810
32811 * commands/blocklist.c: New file.
32812
32813 * DISTLIST: Added commands/blocklist.c.
32814
32815 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 32816 color for the background, and a darker color for the foreground.
89a7d726 32817 (grub_console_checkkey): Return READ_KEY.
32818 (grub_console_cls): Set the background to
32819 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
32820
32821 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
32822
32823 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
32824 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
32825
32826 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
32827 prototype.
32828
32829 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
32830 BG. The spec is wrong again.
32831
32832 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
32833 prototype.
32834 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
32835
32836 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32837 commands/blocklist.c.
32838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 32839
89a7d726 32840 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
32841 (blocklist_mod_SOURCES): New variable.
32842 (blocklist_mod_CFLAGS): Likewise.
32843 (blocklist_mod_LDFLAGS): Likewise.
32844
75c8f258 328452006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
32846
32847 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
32848 duplication.
32849 (lba_mode): Use %eax more intensively to reduce the code size.
32850
da2eb181 328512006-05-20 Marco Gerards <marco@gnu.org>
32852
32853 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
32854
32855 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
32856 for `menuentry'.
32857 (script): Accept leading newlines.
32858 (newlines): New rule to describe 0 or more newlines.
32859 (commands): Accept `command' with trailing newline. Fixed the
32860 order in which arguments were passed to `grub_script_add_cmd'.
32861 Accept commands separated by newlines.
32862 (function): Changed to accept newlines.
32863 (menuentry) Rewritten.
32864
32865 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
32866 front of the list, instead of to the end.
32867
577b4050 328682006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
32869
32870 * util/i386/pc/grub-install.in (bindir): New variable.
32871 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
32872 Shaver <lbgwjl@gmail.com>.
32873
0d6e1189 328742006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
32875
32876 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
32877 grub/machine/linux.h
32878 * loader/i386/pc/linux.c: Likewise.
32879
32880 * include/grub/i386/pc/linux.h: Moved to ...
32881 * include/grub/i386/linux.h: ... here.
32882
32883 * include/grub/i386/linux.h (struct linux_kernel_params): New
32884 struct.
f19dbdb7 32885
31b86e9f 328862006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
32887
32888 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
32889 checking.
32890 (grub_video_vbe_blit_glyph): Likewise.
32891 (grub_video_vbe_blit_bitmap): Likewise.
32892 (grub_video_vbe_blit_render_target): Likewise.
32893
83b984de 328942006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
32895
32896 * configure.ac (--with-platform): Properly quote the square
32897 brackets.
32898
5f0413bd 328992006-05-08 Marco Gerards <marco@gnu.org>
32900
32901 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
32902 this...
32903 (kernel_elf_HEADERS): ...to this. Updated all users.
32904 (grubof_symlist.c): Renamed from this...
32905 (kernel_elf_symlist.c): ...to this. Updated all users.
32906 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32907 (grubof_SOURCES): Renamed from this...
32908 (kernel_elf_SOURCES): ...to this.
32909 (grubof_HEADERS): Renamed from this...
32910 (kernel_elf_HEADERS): ...to this.
32911 (grubof_CFLAGS): Renamed from this...
32912 (kernel_elf_CFLAGS): ...to this.
32913 (grubof_ASFLAGS): Renamed from this...
32914 (kernel_elf_ASFLAGS): ...to this.
32915 (grubof_LDFLAGS): Renamed from this...
32916 (kernel_elf_LDFLAGS): ...to this.
32917
32918 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
32919 this...
32920 (kernel_elf_HEADERS): ...to this. Updated all users.
32921 (grubof_symlist.c): Renamed from this...
32922 (kernel_elf_symlist.c): ...to this. Updated all users.
32923 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32924 (grubof_SOURCES): Renamed from this...
32925 (kernel_elf_SOURCES): ...to this.
32926 (grubof_HEADERS): Renamed from this...
32927 (kernel_elf_HEADERS): ...to this.
32928 (grubof_CFLAGS): Renamed from this...
32929 (kernel_elf_CFLAGS): ...to this.
32930 (grubof_ASFLAGS): Renamed from this...
32931 (kernel_elf_ASFLAGS): ...to this.
32932 (grubof_LDFLAGS): Renamed from this...
32933 (kernel_elf_LDFLAGS): ...to this.
32934
32935 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
32936 `kernel.elf' instead of `grubof'.
32937
05568c2e 329382006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
32939
32940 Add --with-platform to configure. Use pkglibdir instead of
32941 pkgdatadir. This is reported by Roger Leigh.
32942
32943 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
32944 (host_vendor): Likewise.
32945 (host_os): Likewise.
32946 (pkgdatadir): Likewise.
32947 (platform): New variable.
32948 (pkglibdir): Likewise.
32949 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 32950
05568c2e 32951 * util/i386/pc/grub-install.in (datadir): Removed.
32952 (host_vendor): Likewise.
32953 (host_os): Likewise.
32954 (pkgdatadir): Likewise.
32955 (platform): New variable.
32956 (pkglibdir): Likewise.
32957 Use PKGLIBDIR instead of PKGDATADIR.
32958
32959 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
32960 instead of GRUB_DATADIR.
32961 (main): Likewise.
32962 * util/i386/pc/grub-mkimage.c (usage): Likewise.
32963 (main): Likewise.
32964 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32965 (main): Likewise.
32966
32967 * configure.ac (--with-platform): New option.
32968 Use PLATFORM instead of HOST_VENDOR to specify a platform.
32969
32970 * Makefile.in: Include a makefile based on PLATFORM instead of
32971 HOST_VENDOR.
32972 (pkgdatadir): Not appended by the machine type.
32973 (pkglibdir): Appended by the machine type.
32974 (host_vendor): Removed.
32975 (platform): New variable.
32976 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
32977 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
32978 (uninstall): Likewise.
32979
4e93851c 329802006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
32981
32982 Use the environment context in the menu. Remove the commands
32983 "default" and "timeout", and use variables instead.
f19dbdb7 32984
4e93851c 32985 * normal/menu.c: Include grub/env.h.
32986 (print_entry): Cast TITLE to silence gcc.
32987 (get_timeout): New function.
32988 (set_timeout): Likewise.
32989 (get_entry_number): Likewise.
32990 (run_menu): Use a default entry, a fallback entry and a timeout
32991 in the environment variables "default", "fallback" and
32992 "timeout". Also, tweak the default entry if it is not within the
32993 current menu entries.
32994 (grub_menu_run): Use a fallback entry in the environment variable
32995 "fallback".
32996
32997 * normal/main.c (read_config_file): Do not initialize
32998 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
32999 NEWMENU->TIMEOUT.
33000 (grub_normal_execute): Use a data slot to store the menu.
33001
33002 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33003 fallback_entry and timeout.
33004 (struct grub_menu_list): Removed.
33005 (grub_menu_list_t): Likewise.
33006 (struct grub_context): Likewise.
33007 (grub_context_t): Likewise.
33008 (grub_context_get): Likewise.
33009 (grub_context_get_current_menu): Likewise.
33010 (grub_context_push_menu): Likewise.
33011 (grub_context_pop_menu): Likewise.
33012 (grub_default_init): Likewise.
33013 (grub_default_fini): Likewise.
33014 (grub_timeout_init): Likewise.
33015 (grub_timeout_fini): Likewise.
33016
33017 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33018 and timeout.mod.
33019 (normal_mod_SOURCES): Removed normal/context.c.
33020
33021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33022 commands/default.c, commands/timeout.c and normal/context.c.
33023 (normal_mod_SOURCES): Removed normal/context.c.
33024
33025 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33026 commands/timeout.c and normal/context.c.
33027 (normal_mod_SOURCES): Removed normal/context.c.
33028
33029 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33030 commands/default.c, commands/timeout.c and normal/context.c.
33031 (normal_mod_SOURCES): Removed normal/context.c.
33032
33033 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33034 timeout.mod.
33035 (default_mod_SOURCES): Removed.
33036 (default_mod_CFLAGS): Likewise.
33037 (default_mod_LDFLAGS): Likewise.
33038 (timeout_mod_SOURCES): Removed.
33039 (timeout_mod_CFLAGS): Likewise.
33040 (timeout_mod_LDFLAGS): Likewise.
33041
33042 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33043 normal/context.c.
33044
33045 * commands/default.c: Removed.
33046 * commands/timeout.c: Likewise.
33047 * normal/context.c: Likewise.
33048
1eb9cc1d 330492006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33050
33051 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33052
385bd9c1 330532006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33054
33055 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33056 "next" to "prev" for readability.
33057 (struct grub_env_sorted_var): New struct.
33058 (grub_env_context): Renamed to ...
33059 (initial_context): ... this.
33060 (grub_env_var_context): Renamed to ...
33061 (current_context): ... this.
33062 (grub_env_find): Look only at CURRENT_CONTEXT.
33063 (grub_env_context_open): Rewritten to copy exported variables from
33064 previous context.
33065 (grub_env_context_close): Rewritten according to the new
33066 scheme. Also, add an assertion to prevent the initial context from
33067 removed.
33068 (grub_env_insert): Removed the code for the sorted list.
33069 (grub_env_remove): Likewise.
33070 (grub_env_export): Simply mark the variable with
33071 GRUB_ENV_VAR_GLOBAL.
33072 (grub_env_set): A cosmetic change for naming consistency.
33073 (grub_env_get): Likewise.
33074 (grub_env_unset): Likewise.
33075 (grub_env_iterate): Rewritten to sort variables within this
33076 function.
33077 (grub_register_variable_hook): Fixed for naming consistency. Call
33078 grub_env_find again, only if NAME is not found at the first time.
33079 (mangle_data_slot_name): New function.
33080 (grub_env_set_data_slot): Likewise.
33081 (grub_env_get_data_slot): Likewise.
33082 (grub_env_unset_data_slot): Likewise.
33083
33084 * include/grub/env.h (grub_env_var_type): New enum.
33085 (GRUB_ENV_VAR_LOCAL): New constant.
33086 (GRUB_ENV_VAR_GLOBAL): Likewise.
33087 (GRUB_ENV_VAR_DATA): Likewise.
33088 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33089 "type".
33090 (grub_env_set): Replace VAR with NAME for consistency.
33091 (grub_register_variable_hook): Likewise.
33092 (grub_env_export): Specify the name of the argument.
33093 (grub_env_set_data_slot): New prototype.
33094 (grub_env_get_data_slot): Likewise.
33095 (grub_env_unset_data_slot): Likewise.
33096
7f362539 330972006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33098
33099 Extend the loader so that GRUB can accept a loader which comes
33100 back to GRUB when a loaded image exits. Also, this change adds
33101 support for a chainloader on EFI.
f19dbdb7 33102
7f362539 33103 * term/efi/console.c: Include grub/misc.h.
33104 (grub_console_checkkey): Display a scan code on the top for
33105 debugging. This will be removed once the EFI port gets stable.
33106 Correct the scan code mapping.
33107
33108 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33109 allocate memory from larger regions, in order to reduce the number
33110 of allocated regions. Otherwise, the MacOSX loader panics.
33111 (filter_memory_map): Avoid less than 1MB for compatibility with
33112 other loaders.
33113 (add_memory_regions): Allocate from the tail of a region, if
33114 possible, to avoid allocating a region near to 1MB, for the MacOSX
33115 loader.
33116
33117 * kern/efi/init.c (grub_efi_set_prefix): Specify
33118 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33119
33120 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33121 argument IMAGE_HANDLE and specify it to get a loaded image.
33122 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33123 grub_efi_get_loaded_image.
fe6b695a 33124 (grub_efi_get_filename): Divide the length by the size of
7f362539 33125 grub_efi_char16_t.
33126 (grub_efi_get_device_path): New function.
33127 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33128 the length by the size of grub_efi_char16_t for a file path device
33129 path node.
33130
33131 * kern/loader.c (grub_loader_noreturn): New variable.
33132 (grub_loader_set): Accept a new argument NORETURN. Set
33133 GRUB_LOADER_NORETURN to NORETURN.
33134 All callers changed.
33135 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33136 grub_machine_fini.
33137
33138 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33139 prototype.
33140 (grub_efi_get_loaded_image): Take an argument to specify an image
33141 handle.
33142
33143 * include/grub/loader.h (grub_loader_set): Added one more argument
33144 NORETURN.
33145
33146 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33147 instead of grub_efi_open_protocol.
33148 (grub_efidisk_get_device_name): Likewise.
33149 (grub_efidisk_close): Print a newline.
33150 (grub_efidisk_get_device_handle): Fixed to use
33151 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33152 GRUB_EFI_DEVICE_PATH_TYPE.
33153
33154 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33155 * kern/efi/efi.c (device_path_guid): ... here.
33156
33157 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33158 chain.mod.
33159 (kernel_mod_HEADERS): Added efi/disk.h.
33160 (_chain_mod_SOURCES): New variable.
33161 (_chain_mod_CFLAGS): Likewise.
33162 (_chain_mod_LDFLAGS): Likewise.
33163 (chain_mod_SOURCES): Likewise.
33164 (chain_mod_CFLAGS): Likewise.
33165 (chain_mod_LDFLAGS): Likewise.
33166
33167 * DISTLIST: Added include/grub/efi/chainloader.h,
33168 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33169
33170 * include/grub/efi/chainloader.h: New file.
33171 * loader/efi/chainloader.c: Likewise.
33172 * loader/efi/chainloader_normal.c: Likewise.
33173
c0111d6e 331742006-04-30 Marco Gerards <marco@gnu.org>
33175
33176 * commands/configfile.c (grub_cmd_source): New function.
33177 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33178 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33179
df5341da 331802006-04-30 Marco Gerards <marco@gnu.org>
33181
33182 * normal/execute.c (grub_script_execute_cmd): Change the return
33183 type to `grub_err_t'. Correctly return the error.
33184 (grub_script_execute_cmdline): In case a command line is not a
33185 command or a function, try to interpret it as an assignment.
33186
f85934bd 331872006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33188
33189 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33190 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33191 skip a node whose name is obviously invalid as UTF-16,
33192 i.e. contains a NUL character. Stop the iteration when the last
33193 directory entry is found. Instead of using the return value of
33194 grub_hfsplus_btree_iterate_node, store the value in RET and use
33195 it, because the iterator can be stopped by the last directory
33196 entry.
33197
8f8a2cf8 331982006-04-30 Marco Gerards <marco@gnu.org>
33199
33200 * include/grub/env.h (grub_env_export): New prototype. Reported
33201 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33202
a27e84ce 332032006-04-30 Marco Gerards <marco@gnu.org>
33204
33205 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33206 size of the extents in a catalog file record.
33207
eaef0553 332082006-04-29 Marco Gerards <marco@gnu.org>
33209
33210 * commands/configfile.c (grub_cmd_configfile): Execute the
33211 configfile within its own context.
33212
33213 * include/grub/env.h (grub_env_context_open): New prototype.
33214 (grub_env_context_close): Likewise.
33215
33216 * kern/env.c (grub_env): Removed.
33217 (grub_env_sorted): Likewise.
33218 (grub_env_context): New variable.
33219 (grub_env_var_context): Likewise.
33220 (grub_env_find): Search both the active context and the global
33221 context.
33222 (grub_env_context_open): New function.
33223 (grub_env_context_close): Likewise.
33224 (grub_env_insert): Likewise.
33225 (grub_env_remove): Likewise.
33226 (grub_env_export): Likewise.
33227 (grub_env_set): Changed to use helper functions to avoid code
33228 duplication.
33229 (grub_env_iterate): Rewritten so both the current context and the
33230 global context are being used.
33231
33232 * normal/command.c (export_command): New function.
33233 (grub_command_init): Register the `export' function.
33234
7b455f4d 332352006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33236
33237 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33238 explicitly to suppress gcc's warnings.
33239 * fs/fat.c (grub_fat_find_dir): Likewise.
33240 (grub_fat_label): Likewise.
33241 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33242 (grub_xfs_mount): Likewise.
33243 (grub_xfs_label): Likewise.
33244 * fs/affs.c (grub_affs_mount): Likewise.
33245 (grub_affs_label): Likewise.
33246 (grub_affs_iterate_dir): Likewise.
33247 * fs/sfs.c (grub_sfs_mount): Likewise.
33248 (grub_sfs_iterate_dir): Likewise.
33249 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33250 * fs/hfs.c (grub_hfs_mount): Likewise.
33251 (grub_hfs_cmp_catkeys): Likewise.
33252 (grub_hfs_find_dir): Likewise.
33253 (grub_hfs_dir): Likewise.
33254 (grub_hfs_label): Likewise.
33255 * fs/jfs.c (grub_jfs_mount): Likewise.
33256 (grub_jfs_opendir): Likewise.
33257 (grub_jfs_getent): Likewise.
33258 (grub_jfs_lookup_symlink): Likewise.
33259 (grub_jfs_label): Likewise.
33260 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33261 (grub_hfsplus_iterate_dir): Likewise.
33262 (grub_hfsplus_btree_iterate_node): Made static.
33263
33264 * util/grub-emu.c (prefix): New variable.
33265 (grub_machine_set_prefix): New function.
33266 (main): Do not set the environment variable "prefix" here. Only
33267 set PREFIX, which is used later by grub_machine_set_prefix.
33268
33269 * include/grub/video.h: Do not include grub/symbol.h.
33270 (grub_video_register): Not exported. This symbol is not defined in
33271 the kernel.
33272 (grub_video_unregister): Likewise.
33273 (grub_video_iterate): Likewise.
33274 (grub_video_setup): Likewise.
33275 (grub_video_restore): Likewise.
33276 (grub_video_get_info): Likewise.
33277 (grub_video_get_blit_format): Likewise.
33278 (grub_video_set_palette): Likewise.
33279 (grub_video_get_palette): Likewise.
33280 (grub_video_set_viewport): Likewise.
33281 (grub_video_get_viewport): Likewise.
33282 (grub_video_map_color): Likewise.
33283 (grub_video_map_rgb): Likewise.
33284 (grub_video_map_rgba): Likewise.
33285 (grub_video_fill_rect): Likewise.
33286 (grub_video_blit_glyph): Likewise.
33287 (grub_video_blit_bitmap): Likewise.
33288 (grub_video_blit_render_target): Likewise.
33289 (grub_video_scroll): Likewise.
33290 (grub_video_swap_buffers): Likewise.
33291 (grub_video_create_render_target): Likewise.
33292 (grub_video_delete_render_target): Likewise.
33293 (grub_video_set_active_render_target): Likewise.
33294
33295 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33296 Undefined.
33297 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33298
33299 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33300 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33301 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33302 instead of $(srcdir)/genkernsyms.sh.
33303
33304 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33305 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33306 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33307 instead of $(srcdir)/genkernsyms.sh.
33308
33309 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33310 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33311 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33312 instead of $(srcdir)/genkernsyms.sh.
33313
33314 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33315 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33316 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33317 instead of $(srcdir)/genkernsyms.sh.
33318
33319 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33320 genkernsyms.sh.
33321
33322 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33323 genkernsyms.sh.
33324 (gensymlist.sh): New target.
33325 (genkernsyms.sh): Likewise.
33326
33327 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33328 genkernsyms.sh.in and gensymlist.sh.in.
33329
33330 * genkernsyms.sh: Removed.
33331 * gensymlist.sh: Likewise.
f19dbdb7 33332
7b455f4d 33333 * genkernsyms.sh.in: New file.
33334 * gensymlist.sh.in: Likewise.
33335
1885bb27 333362006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33337
33338 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33339 clobber "prefix", since we may have already set it manually.
33340
71538dff 333412006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33342
33343 * kern/misc.c (abort): New alias for grub_abort.
33344
2965c7cc 333452006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33346
33347 A new machine-specific function "grub_machine_set_prefix" is
33348 defined. This is called after loading modules, so that a prefix
33349 initialization can use modules. Also, this change adds an
33350 intensive debugging feature for the memory manager via the
33351 configure option "--enable-mm-debug".
f19dbdb7 33352
2965c7cc 33353 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33354 PART.LEN.
33355
33356 * kern/sparc64/ieee1275/init.c (abort): Removed.
33357 (grub_stop): Likewise.
33358 (grub_exit): New function.
33359 (grub_set_prefix): Renamed to ...
33360 (grub_machine_set_prefix): ... this.
33361 (grub_machine_init): Do not call grub_set_prefix.
33362
33363 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33364 (grub_machine_set_prefix): ... this.
33365 (grub_machine_init): Do not call grub_set_prefix.
33366
33367 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33368 (grub_machine_init): Do not set the prefix here.
33369
33370 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33371
33372 * kern/efi/init.c: Include grub/mm.h.
33373 (grub_efi_set_prefix): New function.
33374
33375 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33376 (grub_efi_get_filename): New function.
33377 (grub_print_device_path): Renamed to ...
33378 (grub_efi_print_device_path): ... this.
33379
33380 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33381 [MM_DEBUG] (grub_realloc): Likewise.
33382 [MM_DEBUG] (grub_free): Likewise.
33383 [MM_DEBUG] (grub_memalign): Likewise.
33384 [MM_DEBUG] (grub_mm_debug): New variable.
33385 [MM_DEBUG] (grub_debug_malloc): New function.
33386 [MM_DEBUG] (grub_debug_free): New function.
33387 [MM_DEBUG] (grub_debug_realloc): New function.
33388 [MM_DEBUG] (grub_debug_memalign): New function.
33389
33390 * kern/misc.c (grub_abort): Print a newline to distinguish
33391 the message.
33392
33393 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33394 grub_set_root_dev after loading modules. This is necessary when
33395 setting a prefix depends on modules.
33396
33397 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33398 (grub_efi_print_device_path): ... this.
33399 (grub_efi_get_filename): New prototype.
33400 (grub_efi_set_prefix): Likewise.
33401
33402 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33403 and grub/disk.h.
33404 (grub_efidisk_get_device_handle): New prototype.
33405 (grub_efidisk_get_device_name): Likewise.
33406
33407 * include/grub/mm.h: Include config.h.
33408 (MM_DEBUG): Removed.
33409 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33410 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33411 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33412 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33413 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33414 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33415 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33416 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33417 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33418
33419 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33420
33421 * disk/efi/efidisk.c: Include grub/partition.h.
33422 (iterate_child_devices): New function.
33423 (add_device): First, compare only last device path nodes, so that
33424 devices are sorted by the types.
33425 (grub_efidisk_get_device_handle): New function.
33426 (grub_efidisk_get_device_name): Likewise.
33427
33428 * configure.ac (--enable-mm-debug): New option to enable the
33429 memory manager debugging feature. This makes the binary much
33430 bigger, so is disabled by default.
33431
9cacaa17 334322006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33433
33434 Use grub_abort instead of grub_stop, and grub_exit must be
33435 define in each architecture now. Also, this change adds support
33436 for EFI disks.
f19dbdb7 33437
9cacaa17 33438 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33439 (grub_getkey): New function.
33440 (grub_term_get_current): Likewise.
33441
33442 * util/i386/pc/grub-setup.c: Include grub/term.h.
33443 (grub_getkey): New function.
33444 (grub_term_get_current): Likewise.
33445
33446 * util/misc.c (grub_stop): Renamed to ...
33447 (grub_exit): ... this.
33448
33449 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33450 (grub_exit): ... this.
33451 (grub_machine_init): Use grub_abort instead of abort.
33452 (grub_stop): Removed.
33453
33454 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33455 abort.
33456
33457 * kern/i386/pc/startup.S (grub_exit): New function.
33458 (cold_reboot): New label.
33459
33460 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33461 (grub_efi_init): Call grub_efidisk_init.
33462 (grub_efi_fini): Call grub_efidisk_fini.
33463
33464 * kern/efi/efi.c: Include grub/mm.h.
33465 (grub_efi_console_control_guid): Renamed to ...
33466 (console_control_guid): ... this.
33467 (grub_efi_loaded_image_guid): Renamed to ...
33468 (loaded_image_guid): ... this.
33469 (grub_efi_locate_handle): New function.
33470 (grub_efi_open_protocol): Likewise.
33471 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33472 GRUB_EFI_CONSOLE_CONTROL_GUID.
33473 (grub_efi_exit): Removed.
33474 (grub_stop): Likewise.
33475 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33476 (grub_exit): New function.
33477 (grub_print_device_path): Likewise.
33478
33479 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33480 (grub_enter_rescue_mode): Register "exit".
33481
33482 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33483 (grub_abort): New function.
33484
33485 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33486
33487 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
33488
33489 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
33490
33491 * include/grub/efi/efi.h (grub_efi_exit): Removed.
33492 (grub_print_device_path): New prototype.
33493 (grub_efi_locate_handle): Likewise.
33494 (grub_efi_open_protocol): Likewise.
33495
33496 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
33497 * disk/efi/efidisk.c: Likewise.
33498
33499 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
33500
33501 * include/grub/efi/console_control.h
33502 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
33503
33504 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
33505 last 8 bytes as an array.
33506 (GRUB_EFI_DISK_IO_GUID): New macro.
33507 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
33508 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
33509 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
33510 grub_uint8_t.
33511 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
33512 (struct grub_efi_device_path): Rename the member "sub_type" to
33513 "subtype".
33514 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
33515 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
33516 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
33517 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
33518 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
33519 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
33520 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
33521 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
33522 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
33523 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
33524 (struct grub_efi_pci_device_path): New structure.
33525 (grub_efi_pci_device_path_t): New type.
33526 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
33527 (struct grub_efi_pccard_device_path): New structure.
33528 (grub_efi_pccard_device_path_t): New type.
33529 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
33530 (struct grub_efi_memory_mapped_device_path): New structure.
33531 (grub_efi_memory_mapped_device_path_t): New type.
33532 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
33533 (struct grub_efi_vendor_device_path): New structure.
33534 (grub_efi_vendor_device_path_t): New type.
33535 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
33536 (struct grub_efi_controller_device_path): New structure.
33537 (grub_efi_controller_device_path_t): New type.
33538 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
33539 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
33540 (struct grub_efi_acpi_device_path): New structure.
33541 (grub_efi_acpi_device_path_t): New type.
33542 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
33543 (struct grub_efi_expanded_acpi_device_path): New structure.
33544 (grub_efi_expanded_acpi_device_path_t): New type.
33545 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
33546 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
33547 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
33548 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
33549 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
33550 (struct grub_efi_atapi_device_path): New structure.
33551 (grub_efi_atapi_device_path_t): New type.
33552 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
33553 (struct grub_efi_fibre_channel_device_path): New structure.
33554 (grub_efi_fibre_channel_device_path_t): New type.
33555 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
33556 (struct grub_efi_1394_device_path): New structure.
33557 (grub_efi_1394_device_path_t): New type.
33558 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
33559 (struct grub_efi_usb_device_path): New structure.
33560 (grub_efi_usb_device_path_t): New type.
33561 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
33562 (struct grub_efi_usb_class_device_path): New structure.
33563 (grub_efi_usb_class_device_path_t): New type.
33564 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
33565 (struct grub_efi_i2o_device_path): New structure.
33566 (grub_efi_i2o_device_path_t): New type.
33567 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
33568 (struct grub_efi_mac_address_device_path): New structure.
33569 (grub_efi_mac_address_device_path_t): New type.
33570 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
33571 (struct grub_efi_ipv4_device_path): New structure.
33572 (grub_efi_ipv4_device_path_t): New type.
33573 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
33574 (struct grub_efi_ipv6_device_path): New structure.
33575 (grub_efi_ipv6_device_path_t): New type.
33576 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
33577 (struct grub_efi_infiniband_device_path): New structure.
33578 (grub_efi_infiniband_device_path_t): New type.
33579 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
33580 (struct grub_efi_uart_device_path): New structure.
33581 (grub_efi_uart_device_path_t): New type.
33582 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
33583 (struct grub_efi_vendor_messaging_device_path): New structure.
33584 (grub_efi_vendor_messaging_device_path_t): New type.
33585 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
33586 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
33587 (struct grub_efi_hard_drive_device_path): New structure.
33588 (grub_efi_hard_drive_device_path_t): New type.
33589 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
33590 (struct grub_efi_cdrom_device_path): New structure.
33591 (grub_efi_cdrom_device_path_t): New type.
33592 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
33593 (struct grub_efi_vendor_media_device_path): New structure.
33594 (grub_efi_vendor_media_device_path_t): New type.
33595 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
33596 (struct grub_efi_file_path_device_path): New structure.
33597 (grub_efi_file_path_device_path_t): New type.
33598 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
33599 (struct grub_efi_protocol_device_path): New structure.
33600 (grub_efi_protocol_device_path_t): New type.
33601 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
33602 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
33603 (struct grub_efi_bios_device_path): New structure.
33604 (grub_efi_bios_device_path_t): New type.
33605 (struct grub_efi_disk_io): New structure.
33606 (grub_efi_disk_io_t): New type.
33607 (struct grub_efi_block_io_media): New structure.
33608 (grub_efi_block_io_media_t): New type.
33609 (struct grub_efi_block_io): New structure.
33610 (grub_efi_block_io_t): New type.
33611
33612 * include/grub/misc.h (grub_stop): Removed.
33613 (grub_exit): New prototype.
33614 (grub_abort): Likewise.
33615
33616 * include/grub/disk.h (enum grub_disk_dev_id): Added
33617 GRUB_DISK_DEVICE_EFIDISK_ID.
33618
33619 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
33620 disk/efi/efidisk.c.
33621 (kernel_syms.lst): Remove the target if an error occurs.
33622
49986a9f 336232006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
33624
33625 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
33626 as it was simply too buggy.
33627
970d3b8a 336282006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
33629
33630 * kern/misc.c (grub_lltoa): New function.
33631 (grub_vsprintf): Added support for the long long suffix,
33632 i.e. "ll".
33633
ff04ec24 336342006-04-20 Hollis Blanchard <hollis@penguinppc.org>
33635
33636 * Makefile.in (LDFLAGS): Add variable.
33637 (LD): Remove variable.
33638 * configure.ac: Add -m32 to LDFLAGS.
33639 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
33640 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
33641 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
33642 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
33643 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
33644 variables.
33645 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
33646 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
33647 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
33648
37e5e1a4 336492006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
33650
33651 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
33652 length for unknown glyph.
33653
c352d8dd 336542006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
33655
2eab1c0d 33656 Add support for pre-loaded modules into the EFI port.
f19dbdb7 33657
2eab1c0d 33658 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
33659 completely. Accept one more argument DIR. The caller has changed.
33660
33661 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
33662
33663 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
33664 (grub_efi_loaded_image_guid): New variable.
33665 (grub_efi_get_loaded_image): New function.
33666 (grub_arch_modules_addr): Likewise.
33667
33668 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
33669 prototype.
33670
33671 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
33672 (struct grub_efi_loaded_image): New structure.
33673 (grub_efi_loaded_image_t): New type.
33674
336752006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33676
c352d8dd 33677 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
33678 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
33679 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
33680
6d01d6b4 336812006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
33682
33683 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
33684
976a4ea0 336852006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
33686
33687 * DISTLIST: Added include/grub/efi/console.h,
33688 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
33689 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33690
33691 * include/grub/efi/console.h: New file.
33692 * include/grub/efi/time.h: Likewise.
33693 * include/grub/i386/efi/kernel.h: Likewise.
33694 * kern/efi/init.c: Likewise.
33695 * kern/efi/mm.c: Likewise.
33696 * term/efi/console.c: Likewise.
f19dbdb7 33697
976a4ea0 33698 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
33699 (grub_stop): Removed.
33700 (grub_get_rtc): Likewise.
33701 (grub_machine_init): Simply call grub_efi_init.
33702 (grub_machine_fini): Call grub_efi_fini.
33703
33704 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
33705 (grub_efi_output_string): Removed.
33706 (grub_efi_stall): New function.
33707 (grub_stop): Likewise.
33708 (grub_get_rtc): Likewise.
33709
33710 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
33711 (grub_efi_stall): New prototype.
33712 (grub_efi_allocate_pages): Likewise.
33713 (grub_efi_free_pages): Likewise.
33714 (grub_efi_get_memory_map): Likewise.
33715 (grub_efi_mm_init): Likewise.
33716 (grub_efi_mm_fini): Likewise.
33717 (grub_efi_init): Likewise.
33718 (grub_efi_fini): Likewise.
33719
33720 * include/grub/i386/efi/time.h: Do not include
33721 grub/symbol.h. Include grub/efi/time.h.
33722 (GRUB_TICKS_PER_SECOND): Removed.
33723 (grub_get_rtc): Likewise.
33724
33725 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
33726 Added padding. The EFI spec is buggy.
33727 (GRUB_EFI_BLACK): New macro.
33728 (GRUB_EFI_BLUE): Likewise.
33729 (GRUB_EFI_GREEN): Likewise.
33730 (GRUB_EFI_CYAN): Likewise.
33731 (GRUB_EFI_RED): Likewise.
33732 (GRUB_EFI_MAGENTA): Likewise.
33733 (GRUB_EFI_BROWN): Likewise.
33734 (GRUB_EFI_LIGHTGRAY): Likewise.
33735 (GRUB_EFI_BRIGHT): Likewise.
33736 (GRUB_EFI_DARKGRAY): Likewise.
33737 (GRUB_EFI_LIGHTBLUE): Likewise.
33738 (GRUB_EFI_LIGHTGREEN): Likewise.
33739 (GRUB_EFI_LIGHTCYAN): Likewise.
33740 (GRUB_EFI_LIGHTRED): Likewise.
33741 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33742 (GRUB_EFI_YELLOW): Likewise.
33743 (GRUB_EFI_WHITE): Likewise.
33744 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33745 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33746 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33747 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33748 (GRUB_EFI_BACKGROUND_RED): Likewise.
33749 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33750 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33751 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33752 (GRUB_EFI_TEXT_ATTR): Likewise.
33753
33754 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33755 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33756 (kernel_mod_HEADERS): Added efi/time.h.
33757
83709125 337582006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33759
33760 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33761 include/grub/efi/api.h, include/grub/efi/console_control.h,
33762 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33763 include/grub/i386/efi/time.h, kern/efi/efi.c,
33764 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33765 and util/i386/efi/grub-mkimage.c.
33766
33767 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33768
33769 * genmk.rb (PModule#rule): Do not export symbols if
33770 #{prefix}_EXPORTS is set to "no".
33771
33772 * conf/i386-efi.mk: New file.
33773 * conf/i386-efi.rmk: Likewise.
33774 * include/grub/efi/api.h: Likewise.
33775 * include/grub/efi/console_control.h: Likewise.
33776 * include/grub/efi/efi.h: Likewise.
33777 * include/grub/efi/pe32.h: Likewise.
33778 * include/grub/i386/efi/time.h: Likewise.
33779 * kern/efi/efi.c: Likewise.
33780 * kern/i386/efi/init.c: Likewise.
33781 * kern/i386/efi/startup.S: Likewise.
33782 * util/i386/efi/grub-mkimage.c: Likewise.
33783
337842006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 33785
33786 * include/grub/script.h: Include <grub/parser.h> and
33787 "grub_script.tab.h".
33788 (struct grub_lexer_param): New struct.
33789 (struct grub_parser_param): Likewise.
33790 (grub_script_create_arglist): Pass the state in an argument.
33791 (grub_script_add_arglist): Likewise.
33792 (grub_script_create_cmdline): Likewise.
33793 (grub_script_create_cmdblock): Likewise.
33794 (grub_script_create_cmdif): Likewise.
33795 (grub_script_create_cmdmenu): Likewise.
33796 (grub_script_add_cmd): Likewise.
33797 (grub_script_arg_add): Likewise.
33798 (grub_script_lexer_ref): Likewise.
33799 (grub_script_lexer_deref): Likewise.
33800 (grub_script_lexer_record_start): Likewise.
33801 (grub_script_lexer_record_stop): Likewise.
33802 (grub_script_mem_record): Likewise.
33803 (grub_script_mem_record_stop): Likewise.
33804 (grub_script_malloc): Likewise.
33805 (grub_script_yylex): Likewise.
33806 (grub_script_yyparse): Likewise.
33807 (grub_script_yyerror): Likewise.
33808 (grub_script_yylex): Likewise.
33809 (grub_script_lexer_init): Return the state.
33810
33811 * normal/lexer.c (grub_script_lexer_state): Removed variable.
33812 (grub_script_lexer_done): Likewise.
33813 (grub_script_lexer_getline): Likewise.
33814 (grub_script_lexer_refs): Likewise.
33815 (script): Likewise.
33816 (newscript): Likewise.
33817 (record): Likewise.
33818 (recording): Likewise.
33819 (recordpos): Likewise.
33820 (recordlen): Likewise.
33821 (grub_script_lexer_init): Return the state instead of setting
33822 global variables.
33823 (grub_script_lexer_ref): Use the newly added argument for state
33824 instead of globals.
33825 (grub_script_lexer_deref): Likewise.
33826 (grub_script_lexer_record_start): Likewise.
33827 (grub_script_lexer_record_stop): Likewise.
33828 (recordchar): Likewise.
33829 (nextchar): Likewise.
33830 (grub_script_yylex2): Likewise.
33831 (grub_script_yylex): Likewise.
33832 (grub_script_yyerror): Likewise.
33833
33834 * normal/parser.y (func_mem): Removed variable.
33835 (menu_entry): Likewise.
33836 (err): Likewise.
33837 (%lex-param): New parser option.
33838 (%parse-param): Likewise.
33839 (script): Always return the AST.
33840 (argument): Pass the state around.
33841 (arguments): Likewise.
33842 (grubcmd): Likewise.
33843 (commands): Likewise.
33844 (function): Likewise.
33845 (menuentry): Likewise.
33846 (if_statement): Likewise.
33847 (if): Likewise.
33848
33849 * normal/script.c (grub_script_memused): Removed variable.
33850 (grub_script_parsed): Likewise.
33851 (grub_script_malloc): Added a state argument. Use that instead of
33852 global variables.
33853 (grub_script_mem_record): Likewise.
33854 (grub_script_mem_record_stop): Likewise.
33855 (grub_script_arg_add): Likewise.
33856 (grub_script_add_arglist): Likewise.
33857 (grub_script_create_cmdline): Likewise.
33858 (grub_script_create_cmdif): Likewise.
33859 (grub_script_create_cmdmenu): Likewise.
33860 (grub_script_add_cmd): Likewise.
33861 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 33862
e2a8c904 338632006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 33864
33865 * normal/command.c (grub_command_init): Remove the title command.
33866
33867 * normal/lexer.c (grub_script_yylex): Renamed from this...
33868 (grub_script_yylex2): ... to this.
33869 (grub_script_yylex): New function. Temporary
33870 introduced to filter some tokens.
33871 (grub_script_yyerror): Print a newline.
33872
33873 * normal/main.c (read_config_file): Output information about the
33874 lines that contain errors. Wait for a key after all lines have
33875 been processed. Don't return an empty menu.
33876
33877 * normal/parser.y (func_mem): Don't initialize.
33878 (menu_entry): Likewise.
33879 (err): New variable.
33880 (script): Don't return anything when an error was encountered.
33881 (ws, returns): Removed rules.
33882 (argument): Disabled concatenated variable support.
33883 (arguments): Remove explicit separators.
33884 (grubcmd): Likewise.
33885 (function): Likewise.
33886 (menuentry): Likewise.
33887 (if): Likewise.
33888 (commands): Likewise. Add error handling.
33889
33890 * normal/script.c (grub_script_create_cmdline): If
33891 `grub_script_parsed' is 0, assume the parser encountered an error.
33892
c9a86192 338932006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
33894
33895 * configure.ac: Add support for EFI. Fix the typo
33896 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
33897
70f3b243 338982006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33899
33900 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
33901 foreign multibyte characters should be shown correctly.
33902
65f201ad 339032006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33904
33905 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
33906 calculation.
33907 (read_config_file): Made it to close file before returning.
33908
b4b93674 339092006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
33910
33911 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
33912 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
33913 video/i386/pc/vbefill.c.
33914
33915 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
33916 video/i386/pc/vbefill.c.
33917
33918 * include/grub/video.h (grub_video_blit_format): New enum.
33919 (grub_video_mode_info): Added new member blit_format.
33920 (grub_video_get_blit_format): New function prototype.
33921
33922 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
33923 function prototype.
33924 (grub_video_vbe_map_rgb): Likewise.
33925 (grub_video_vbe_unmap_color): Likewise.
33926
33927 * include/grub/i386/pc/vbeblit.h: New file.
33928
33929 * include/grub/i386/pc/vbefill.h: New file.
33930
33931 * video/video.c (grub_video_get_blit_format): New function.
33932 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
33933 (grub_video_vbe_map_rgb): Likewise.
33934 (grub_video_vbe_unmap_color): Likewise.
33935
33936 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
33937 optimized fills.
33938 (grub_video_vbe_blit_render_target): Changed to use more optimized
33939 blits.
33940 (grub_video_vbe_setup): Added detection for optimized settings.
33941 (grub_video_vbe_create_render_target): Likewise.
33942
33943 * video/i386/pc/vbeblit.c: New file.
33944
33945 * video/i386/pc/vbefill.c: New file.
33946
c2379b9c 339472006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
33948
33949 * font/manager.c (grub_font_get_glyph): Removed font fixup from
33950 here...
33951
33952 * util/unifont2pff.rb: ... and moved it to here. Improved argument
33953 parsing to support both hex and dec ranges. If filename was missing
33954 show usage information.
33955
bd0d7896 339562006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
33957
33958 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
33959 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
33960
33961 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
33962 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
33963 (video_mod_SOURCES): Added.
33964 (video_mod_CFLAGS): Likewise.
33965 (video_mod_LDFLAGS): Likewise.
33966 (gfxterm_mod_SOURCES): Likewise.
33967 (gfxterm_mod_CFLAGS): Likewise.
33968 (gfxterm_mod_LDFLAGS): Likewise.
33969 (videotest_mod_SOURCES): Likewise.
33970 (videotest_mod_CFLAGS): Likewise.
33971 (videotest_mod_LDFLAGS): Likewise.
33972 (vesafb_mod_SOURCES): Removed.
33973 (vesafb_mod_CFLAGS): Likewise.
33974 (vesafb_mod_LDFLAGS): Likewise.
33975 (vga_mod_SOURCES): Likewise.
33976 (vga_mod_CFLAGS): Likewise.
33977 (vga_mod_LDFLAGS): Likewise.
33978
33979 * commands/videotest.c: New file.
33980
33981 * font/manager.c (fill_with_default_glyph): Modified to use
33982 grub_font_glyph.
33983 (grub_font_get_glyph): Likewise.
33984 (fontmanager): Renamed from this...
33985 (font_manager): ... to this.
33986
33987 * include/grub/font.h (grub_font_glyph): Added new structure.
33988 (grub_font_get_glyph): Modified to use grub_font_glyph.
33989
33990 * include/grub/misc.h (grub_abs): Added as inline function.
33991
33992 * include/grub/video.h: New file.
33993
33994 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
33995 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
33996 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
33997 (grub_vbe_get_controller_info): Renamed from this...
33998 (grub_vbe_bios_get_controller_info): ... to this.
33999 (grub_vbe_get_mode_info): Renamed from this...
34000 (grub_vbe_bios_get_mode_info): ... to this.
34001 (grub_vbe_set_mode): Renamed from this...
34002 (grub_vbe_bios_set_mode): ... to this.
34003 (grub_vbe_get_mode): Renamed from this...
34004 (grub_vbe_bios_get_mode): ... to this.
34005 (grub_vbe_set_memory_window): Renamed from this...
34006 (grub_vbe_bios_set_memory_window): ... to this.
34007 (grub_vbe_get_memory_window): Renamed from this...
34008 (grub_vbe_bios_get_memory_window): ... to this.
34009 (grub_vbe_set_scanline_length): Renamed from this...
34010 (grub_vbe_set_scanline_length): ... to this.
34011 (grub_vbe_get_scanline_length): Renamed from this...
34012 (grub_vbe_bios_get_scanline_length): ... to this.
34013 (grub_vbe_set_display_start): Renamed from this...
34014 (grub_vbe_bios_set_display_start): ... to this.
34015 (grub_vbe_get_display_start): Renamed from this...
34016 (grub_vbe_bios_get_display_start): ... to this.
34017 (grub_vbe_set_palette_data): Renamed from this...
34018 (grub_vbe_bios_set_palette_data): ... to this.
34019 (grub_vbe_set_pixel_rgb): Removed.
34020 (grub_vbe_set_pixel_index): Likewise.
34021
34022 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34023 from this...
34024 (grub_vbe_bios_get_controller_info): ... to this.
34025 (grub_vbe_get_mode_info): Renamed from this...
34026 (grub_vbe_bios_get_mode_info): ... to this.
34027 (grub_vbe_set_mode): Renamed from this...
34028 (grub_vbe_bios_set_mode): ... to this.
34029 (grub_vbe_get_mode): Renamed from this...
34030 (grub_vbe_bios_get_mode): ... to this.
34031 (grub_vbe_set_memory_window): Renamed from this...
34032 (grub_vbe_bios_set_memory_window): ... to this.
34033 (grub_vbe_get_memory_window): Renamed from this...
34034 (grub_vbe_bios_get_memory_window): ... to this.
34035 (grub_vbe_set_scanline_length): Renamed from this...
34036 (grub_vbe_set_scanline_length): ... to this.
34037 (grub_vbe_get_scanline_length): Renamed from this...
34038 (grub_vbe_bios_get_scanline_length): ... to this.
34039 (grub_vbe_set_display_start): Renamed from this...
34040 (grub_vbe_bios_set_display_start): ... to this.
34041 (grub_vbe_get_display_start): Renamed from this...
34042 (grub_vbe_bios_get_display_start): ... to this.
34043 (grub_vbe_set_palette_data): Renamed from this...
34044 (grub_vbe_bios_set_palette_data): ... to this.
34045 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34046 getting corrupted after calling it. Added more pushes and pops.
34047 (grub_vbe_bios_set_mode): Likewise.
34048 (grub_vbe_bios_get_mode): Likewise.
34049 (grub_vbe_bios_get_memory_window): Likewise.
34050 (grub_vbe_bios_set_scanline_length): Likewise.
34051 (grub_vbe_bios_get_scanline_length): Likewise.
34052 (grub_vbe_bios_get_display_start): Likewise.
34053 (grub_vbe_bios_set_palette_data): Likewise.
34054
34055 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34056 (cl_insert): Likewise.
34057 (cl_delete): Likewise.
34058
34059 * term/gfxterm.c: New file.
34060
34061 * term/i386/pc/vesafb.c: Removed file.
34062
34063 * video/video.c: New file.
34064
34065 * video/i386/pc/vbe.c (real2pm): Added new function.
34066 (grub_video_vbe_draw_pixel): Likewise.
34067 (grub_video_vbe_get_video_ptr): Likewise.
34068 (grub_video_vbe_get_pixel): Likewise
34069 (grub_video_vbe_init): Likewise.
34070 (grub_video_vbe_fini): Likewise.
34071 (grub_video_vbe_setup): Likewise.
34072 (grub_video_vbe_get_info): Likewise.
34073 (grub_video_vbe_set_palette): Likewise.
34074 (grub_video_vbe_get_palette): Likewise.
34075 (grub_video_vbe_set_viewport): Likewise.
34076 (grub_video_vbe_get_viewport): Likewise.
34077 (grub_video_vbe_map_color): Likewise.
34078 (grub_video_vbe_map_rgb): Likewise.
34079 (grub_video_vbe_map_rgba): Likewise.
34080 (grub_video_vbe_unmap_color): Likewise.
34081 (grub_video_vbe_fill_rect): Likewise.
34082 (grub_video_vbe_blit_glyph): Likewise.
34083 (grub_video_vbe_blit_bitmap): Likewise.
34084 (grub_video_vbe_blit_render_target): Likewise.
34085 (grub_video_vbe_scroll): Likewise.
34086 (grub_video_vbe_swap_buffers): Likewise.
34087 (grub_video_vbe_create_render_target): Likewise.
34088 (grub_video_vbe_delete_render_target): Likewise.
34089 (grub_video_vbe_set_active_render_target): Likewise.
34090 (grub_vbe_set_pixel_rgb): Remove function.
34091 (grub_vbe_set_pixel_index): Likewise.
34092 (index_color_mode): Remove static variable.
34093 (active_mode): Likewise.
34094 (framebuffer): Likewise.
34095 (bytes_per_scan_line): Likewise.
34096 (grub_video_vbe_adapter): Added new static variable.
34097 (framebuffer): Likewise.
34098 (render_target): Likewise.
34099 (initial_mode): Likewise.
34100 (mode_in_use): Likewise.
34101 (mode_list): Likewise.
34102
5f97350b 341032006-03-10 Marco Gerards <marco@gnu.org>
34104
34105 * configure.ac (AC_INIT): Bumped to 1.93.
34106
34107 * DISTLIST: Added `include/grub/hfs.h'.
34108
a3c5c6f8 341092006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34110
34111 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34112 18H, which might help the BIOS falling back to next boot media.
34113
6de53d26 341142006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34115
34116 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34117 Poe Chen <poe.poechen@gmail.com>.
34118
77c4a393 341192006-01-17 Marco Gerards <marco@gnu.org>
34120
34121 * include/grub/normal.h: Include <grub/script.h>.
34122 (grub_command_list): Removed struct.
34123 (grub_command_list_t): Removed type.
34124 (grub_menu_entry): Remove members `num' and `command_list'. Add
34125 members `commands' and `sourcecode'.
34126 * include/grub/script.h: Add inclusion guards.
34127 (grub_script_cmd_menuentry): New struct.
34128 (grub_script_execute_menuentry): New prototype.
34129 (grub_script_lexer_record_start): Likewise.
34130 (grub_script_lexer_record_stop): Likewise.
34131 * normal/execute.c (grub_script_execute_menuentry): New function.
34132 * normal/lexer.c (record, recording, recordpos, recordlen): New
34133 variables.
34134 (grub_script_lexer_record_start): New function.
34135 (grub_script_lexer_record_stop): Likewise.
34136 (recordchar): Likewise.
34137 (nextchar): Likewise.
34138 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34139 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34140 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34141 (current_menu): New variable.
34142 (free_menu): Mainly rewritten.
34143 (grub_normal_menu_addentry): New function.
34144 (read_config_file): Rewritten.
34145 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34146 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34147 the menu entry.
34148 (run): Mainly rewritten.
34149 * normal/parser.y (menu_entry): New variable.
34150 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34151 (menuentry): New rule.
34152 (command): Add `menuentry'.
34153 (if_statement): Allow additional returns before `fi'.
34154 * normal/script.c (grub_script_create_cmdmenu): New function.
34155
144f1f98 341562006-01-03 Marco Gerards <marco@gnu.org>
34157
34158 * INSTALL: GNU Bison is required.
34159 * configure.ac: Rewritten the test to detect Bison.
34160 * Makefile.in (YACC): New variable. Reported by Xun Sun
34161 <xun.sun.cn@gmail.com>.
34162
af4b2d89 341632006-01-03 Marco Gerards <marco@gnu.org>
34164
34165 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34166 the HFS+ filesystem to filesystem blocks.
34167 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34168 GCC warning is silenced.
34169
15643b71 341702006-01-03 Marco Gerards <marco@gnu.org>
34171
34172 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34173 read from disk from big endian to host byte order.
34174
00905879 341752006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34176
34177 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34178 documentation.
34179 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34180 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34181 embedded HFS+ filesystem.
34182 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34183 (grub_hfs_sblock): Move from here...
34184 * include/grub/hfs.h: To here... New file.
34185 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34186 documentation.
34187 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34188 New macros.
34189 (grub_hfsplus_volheader): Change type of member `magic' to
34190 `grub_uint16_t'.
34191 (grub_hfsplus_data): Add new member `embedded_offset'.
34192 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34193 returned block.
34194 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34195 Calculate the offset.
34196
8899bc3e 341972005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34198
34199 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34200 Removed.
34201 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34202
ae8c0277 342032005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34204
34205 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34206 ENV->NAME is NULL after allocating ENV->VALUE.
34207
07084456 342082005-12-25 Marco Gerards <marco@gnu.org>
34209
34210 * kern/env.c (grub_env_set): Rewritten the error handling code.
34211
4750f5f1 342122005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34213
34214 * geninit.sh: Made more robust, and more portable.
34215
50214199 342162005-12-25 Marco Gerards <marco@gnu.org>
34217
34218 Add support for Apple HFS+ filesystems.
f19dbdb7 34219
50214199 34220 * fs/hfsplus.c: New file.
34221
34222 * DISTLIST: Added `fs/hfsplus.c'.
34223
34224 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34225 (hfsplus_mod_SOURCES): New variable.
34226 (hfsplus_mod_CFLAGS): Likewise.
34227 (hfsplus_mod_LDFLAGS): Likewise.
34228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34229 (grub_setup_SOURCES): Likewise.
34230 (grub_mkdevicemap_SOURCES): Likewise.
34231 (grub_emu_SOURCES): Likewise.
34232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34233
34234 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34235
34236 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34237
befaed6c 342382005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34239
34240 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34241 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34242 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34243 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34244 normal/lexer.c, normal/parser.y, normal/script.c, and
34245 partmap/gpt.c.
34246 Removed kern/sparc64/cache.c.
34247
34248 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34249 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34250 grub_emu_init.c.
34251
34252 * configure.ac (AC_INIT): Bumped to 1.92.
34253
6a124103 342542005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34255
34256 * kern/err.c (grub_error_push): Added new function to support error
34257 stacks.
34258 (grub_error_pop): Likewise.
34259 (grub_error_stack_items): New local variable to support error stacks.
34260 (grub_error_stack_pos): Likewise.
34261 (grub_error_stack_assert): Likewise.
34262 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34263 stack depth.
34264 (grub_print_error): Added support to print errors from error stack.
34265
34266 * include/grub/err.h (grub_error_push): Added function prototype.
34267 (grub_error_pop): Likewise.
34268
be973c1b 342692005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34270
34271 * configure.ac: Accept `powerpc64' as host_cpu.
34272 (amd64): Rename to `biarch32'.
34273
34274 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34275 non-cacheline-aligned addresses.
34276
34277 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34278 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34279 if `size' is non-zero.
34280
b04216ab 342812005-12-03 Marco Gerards <mgerards@xs4all.nl>
34282
34283 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34284 and `cd' to make sure the filename is not prefixed with a
34285 directory name.
34286 (pkgdata_MODULES): Add `gpt.mod'.
34287 (gpt_mod_SOURCES): New variable.
34288 (gpt_mod_CFLAGS): Likewise.
34289 (gpt_mod_LDFLAGS): Likewise.
34290
34291 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34292
34293 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34294 New macro.
34295
34296 * partmap/gpt.c: New file.
34297
34298 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34299 GPT partition map is detected.
34300
41730ed9 343012005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34302
34303 * commands/i386/pc/play.c: New file.
34304 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34305 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34306 macros.
f19dbdb7 34307
95dc3643 343082005-11-27 Marco Gerards <mgerards@xs4all.nl>
34309
34310 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34311 ((unused))' to silence gcc warning.
34312
1569ec51 343132005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34314
34315 * configure.ac: Correct `AC_PROG_YACC' test.
34316
9abde152 343172005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34318
34319 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34320 check before installing files.
34321
44b83271 343222005-11-22 Mike Small <smallm@panix.com>
34323
34324 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34325 number regex so multidigit numbers are recognized correctly.
34326
343272005-11-22 Mike Small <smallm@panix.com>
34328
34329 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34330 debugging message before attempting to claim memory.
34331 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34332 multiple addresses in case of failure.
34333
9c12956b 343342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34335
34336 * term/tparm.c (get_space): Remove empty `if' statement.
34337
34338 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34339
34340 * kern/parser.c (check_varstate): Rename `state' to 's'.
34341
aeaf81d9 343422005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34343
34344 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34345 variable definitions to the beginning of each function. Sort stack
34346 variables by size.
34347 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34348 `buf' argument to `char *'.
34349
79bbb63f 343502005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34351
34352 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34353 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34354 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34355 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34356 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34357 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34358 configfile.mod, search.mod, gzio.mod and test.mod.
34359 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34360 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34361 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34362 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34363 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34364 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34365 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34366 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34367 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34368 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34369 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34370 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34371 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34372 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34373 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34374 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34375 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34376 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34377 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34378 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34379 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34380 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34381 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34382
34383 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34384 `grep --include'.
34385 (pkgdata_MODULES): Add test.mod.
34386
233b1628 343872005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34388
34389 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34390 appending to variables with "+=".
34391 (PModule): Use full pathname to generate *.lst filenames.
34392
34393 * Makefile.in: Fixed list rules moved from genmk.rb.
34394 (.DELETE_ON_ERROR): New special target.
34395 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34396
34397 * conf/i386-pc.rmk: Include conf/common.mk.
34398 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34399 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 34400 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34401 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34402 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34403 configfile.mod, search.mod, gzio.mod and test.mod.
34404 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34405 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34406 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34407 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34408 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34409 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34410 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34411 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34412 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34413 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34414 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34415 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34416 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34417 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34418 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34419 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34420 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34421 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34422 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34423 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34424 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34425 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34426 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34427 here...
34428 * conf/common.rmk: ... to here. New file.
34429
34430 * conf/common.mk: New file.
34431
16f820c8 344322005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34433
34434 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34435 (grub_script.tab.c): ... here.
34436
34437 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34438 (grub_script.tab.c): ... here.
34439
34440 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34441 (grub_script.tab.c): ... here.
34442
34443 * normal/command.c (grub_command_find): Fixed a memory leak of
34444 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34445
63ba1554 344462005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34447
34448 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34449 "@" which marks the start of a comment on ARM.
34450 (VARIABLE): Likewise.
34451
7f67dc13 344522005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34453
79bbb63f 34454 Add support for Linux/ADFS partition tables.
7f67dc13 34455
34456 * partmap/acorn.c: New file.
34457
34458 * include/grub/acorn_filecore.h: Likewise.
34459
34460 * DISTLIST: Added `partmap/acorn.c' and
34461 `include/grub/acorn_filecore.h'.
f19dbdb7 34462
7f67dc13 34463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34464 `partmap/acorn.c'.
34465 (pkgdata_MODULES): Add `acorn.mod'.
34466 (acorn_mod_SOURCES): New variable.
34467 (acorn_mod_CFLAGS): Likewise.
34468
34469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34470 `partmap/acorn.c'.
34471 (pkgdata_MODULES): Add `acorn.mod'.
34472 (acorn_mod_SOURCES): New variable.
34473 (acorn_mod_CFLAGS): Likewise.
34474
34475 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34476 (pkgdata_MODULES): Add `acorn.mod'.
34477 (acorn_mod_SOURCES): New variable.
34478 (acorn_mod_CFLAGS): Likewise.
34479 (acorn_mod_LDFLAGS): Likewise.
34480
34481 * include/types.h (grub_disk_addr_t): New typedef.
34482
6d099807 344832005-11-13 Marco Gerards <mgerards@xs4all.nl>
34484
34485 * geninit.sh: New file.
34486
34487 * geninitheader.sh: Likewise.
34488
34489 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
34490 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
34491 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
34492 * commands/configfile.c (grub_configfile_init)
34493 (grub_configfile_fini): Likewise.
34494 * commands/default.c (grub_default_init, grub_default_fini):
34495 Likewise.
34496 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
34497 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
34498 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
34499 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
34500 Likewise.
34501 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
34502 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
34503 Likewise.
34504 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 34505 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 34506 Likewise.
34507 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
34508 Likewise.
fe6b695a 34509 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 34510 Likewise.
34511 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
34512 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
34513 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
34514 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
34515 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
34516 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
34517 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
34518 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
34519 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
34520 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
34521 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
34522 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
34523 * partmap/amiga.c (grub_amiga_partition_map_init)
34524 (grub_amiga_partition_map_fini): Likewise.
34525 * partmap/apple.c (grub_apple_partition_map_init)
34526 (grub_apple_partition_map_fini): Likewise.
34527 * partmap/pc.c (grub_pc_partition_map_init)
34528 (grub_pc_partition_map_fini): Likewise.
34529 * partmap/sun.c (grub_sun_partition_map_init,
34530 grub_sun_partition_map_fini): Likewise.
34531 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
34532 Likewise.
34533
34534 * util/grub-emu.c: Include <grub_modules_init.h>.
34535 (main): Don't initialize and de-initialize any modules directly,
34536 use `grub_init_all' and `grub_fini_all' instead.
34537
34538 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
34539 `grub_vesafb_mod_init'.
34540 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
34541 all users.
34542 * term/i386/pc/vga.c (grub_vga_init): Renamed to
34543 `grub_vga_mod_init'. Updated all users.
34544 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 34545
6d099807 34546 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
34547 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
34548 rules.
34549
34550 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
34551 Generate a function to initialize the module in utilities.
34552 Updated all callers.
34553 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
34554 initialize the module in utilities. Updated all callers.
34555
9046bcf0 345562005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34557
34558 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
34559 escape sequence and a literal ^L to clear the screen.
34560
34561 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
34562 when returning from Open Firmware.
34563
d13ea639 345642005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34565
34566 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
34567 (grub_ofconsole_height): Likewise.
34568 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
34569 manually insert a '\n'.
34570 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
34571 `grub_ofconsole_height'. Return early if these are already set.
34572
a8fcf206 345732005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
34574
34575 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34576 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
34577 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
34578 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
34579 and `normal/script.c'.
34580 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34581 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34582 (test_mod_SOURCES): New variable.
34583 (test_mod_CFLAGS): Likewise.
34584 (test_mod_LDFLAGS): Likewise.
34585 (pkgdata_MODULES): Add `test.mod'.
34586 (grub_script.tab.c): New rule.
34587 (grub_script.tab.h): Likewise.
34588
b6b32745 345892005-11-07 Marco Gerards <mgerards@xs4all.nl>
34590
34591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34592 `commands/test.c', `normal/execute.c', `normal/lexer.c',
34593 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34594 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34595 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34596 (test_mod_SOURCES): New variable.
34597 (test_mod_CFLAGS): Likewise.
34598 (pkgdata_MODULES): Add `test.mod'.
34599 (grub_script.tab.c): New rule.
34600 (grub_script.tab.h): Likewise.
34601
daac212a 346022005-11-06 Marco Gerards <mgerards@xs4all.nl>
34603
34604 Add initial scripting support.
34605
34606 * commands/test.c: New file.
34607 * include/grub/script.h: Likewise.
34608 * normal/execute.c: Likewise.
34609 * normal/function.c: Likewise.
34610 * normal/lexer.c: Likewise.
34611 * normal/parser.y: Likewise.
34612 * normal/script.c: Likewise.
34613
34614 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 34615
daac212a 34616 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
34617 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
34618 `normal/function.c' and `normal/script.c'.
34619 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34620 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 34621 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
34622 variables.
daac212a 34623 (pkgdata_MODULES): Add `test.mod'.
34624 (grub_script.tab.c): New rule.
34625 (grub_script.tab.h): Likewise.
34626
34627 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
34628
34629 * include/grub/normal.h (grub_test_init): New prototype.
34630 (grub_test_fini): Likewise.
f19dbdb7 34631
daac212a 34632 * normal/command.c: Include <grub/script.h>.
34633 (grub_command_execute): Rewritten.
f19dbdb7 34634
daac212a 34635 * util/grub-emu.c (main): Call `grub_test_init' and
34636 `grub_test_fini'.
34637
77500b2b 346382005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34639
34640 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
34641 to 0.
34642 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
34643 there are no pending characters.
34644
e45deb9e 346452005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34646
34647 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
34648 `grub_strndup' to drop device arguments. Replace unnecessary
34649 `grub_strndup' with `grub_strdup'.
34650
4ce32619 346512005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34652
34653 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
34654 `debug' environment variable has been set.
34655
346562005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 34657
4ce32619 34658 * Makefile.in (install-local): Use $(DATA).
34659 (uninstall): Likewise.
34660 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
34661 (sbin_UTILITIES): ... to here.
34662 (sbin_SCRIPTS): New variable.
34663 (grub_install_SOURCES): New variable.
34664 * util/powerpc/ieee1275/grub-install.in: New file.
34665 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
34666 variable.
34667 (add_segments): Call `grub_util_get_path'.
34668
25fe6f03 346692005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34670
34671 From Timothy Baldwin:
34672 * commands/ls.c (grub_ls_list_files): Close FILE with
34673 grub_file_close.
34674 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
34675
04ccf3ec 346762005-10-24 Marco Gerards <mgerards@xs4all.nl>
34677
34678 * include/grub/parser.h: New file.
34679
34680 * kern/parser.c: Likewise.
34681
34682 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
34683 (grub_setup_SOURCES): Likewise.
34684 (grub_probefs_SOURCES): Likewise.
34685 (grub_emu_SOURCES): Likewise.
34686 (kernel_img_HEADERS): Add `parser.h'.
34687
34688 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34689 (grub_emu_SOURCES): Add `kern/parser.c'.
34690 (grubof_SOURCES): Likewise.
34691
34692 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
34693 (grubof_SOURCES): Add `kern/parser.c'.
34694
34695 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
34696
34697 * kern/misc.c (grub_split_cmdline): Removed function.
34698
34699 * kern/rescue.c: Include <grub/parser.h>.
34700 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
34701 of `grub_split_cmdline'.
34702
34703 * normal/command.c: Include <grub/parser.h>.
34704 (grub_command_execute): Use `grub_parser_split_cmdline' instead
34705 of `grub_split_cmdline'.
34706
34707 * normal/completion.c: Include <grub/parser.h>.
34708 (cmdline_state): New variable.
34709 (iterate_dir): End the filename with a quote depending on the
34710 command line state.
34711 (get_state): new function.
34712 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
34713 split the arguments and determine the current argument. When the
34714 argument string is not quoted, escape all spaces.
34715
6d8f4b0e 347162005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34717
34718 * normal/sparc64/setjmp.S: New file.
34719
15cf03ed 347202005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34721
34722 * include/grub/sparc64/libgcc.h: New file.
34723 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
34724 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
34725 normal/sparc64/setjmp.c.
34726
03e8661a 347272005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34728
34729 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
34730 * kern/sparc64/cache.S: New file.
34731 * kern/sparc64/cache.c: Removed.
34732 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34733 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34734 -mtune=ultrasparc.
34735 (COMMON_LDFLAGS): Add -melf64_sparc.
34736 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34737 (grubof_SOURCES): Use cache.S instead of cache.c.
34738 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34739 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34740 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34741 commented though.
34742 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34743 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34744 (linux_mod_CFLAGS): Commented out.
34745 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34746 out because module isn't built.
34747 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34748 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34749 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34750 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34751 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34752 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34753 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34754 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34755 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34756 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34757 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34758 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34759 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34760 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34761
34eeec8a 347622005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34763
34764 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34765 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34766 longer, because HFS should not be used on PC.
34767
708367a3 347682005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34769
34770 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34771 consistently within the loop.
34772
6fa1251a 347732005-10-15 Marco Gerards <mgerards@xs4all.nl>
34774
34775 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34776 directory can not be read.
34777
4801580b 347782005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34779
34780 * configure.ac (AC_INIT): Increase the version number to 1.91.
34781
34782 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
34783 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
34784 term/i386/pc/serial.c.
34785
219ad426 347862005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34787
34788 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
34789 file size must be permitted.
34790
34791 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
34792 between %ah and %al.
34793
688e5699 347942005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34795
34796 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
34797 grub_uint64_t.
34798 Call the hook with a NUL-terminated filename.
34799 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
34800 grub_cpu_to_be32.
34801
34802 * kern/term.c (cursor_state): New variable.
34803 (grub_term_set_current): Reset the cursor state on a new
34804 terminal.
34805 (grub_setcursor): Rewritten to use CURSOR_STATE.
34806 (grub_getcursor): New function.
34807
34808 * include/grub/term.h (grub_getcursor): New prototype.
34809
34810 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
34811 integers on ARM. Reported by Timothy Baldwin
34812 <T.E.Baldwin99@members.leeds.ac.uk>.
34813
bb34586c 348142005-10-11 Marco Gerards <mgerards@xs4all.nl>
34815
34816 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
34817 allocated.
34818 (grub_sfs_dir): Likewise.
34819
9a909877 348202005-10-09 Marco Gerards <mgerards@xs4all.nl>
34821
34822 Add support for the SFS filesystem.
34823
34824 * fs/sfs.c: New file.
34825
34826 * DISTLIST: Added `fs/sfs.c'.
34827
34828 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
34829 (grub_probefs_SOURCES): Likewise.
34830 (grub_emu_SOURCES): Likewise.
34831 (pkgdata_MODULES): Add `sfs.mod'.
34832 (sfs_mod_SOURCES): New variable.
34833 (sfs_mod_CFLAGS): Likewise.
34834 (sfs_mod_LDFLAGS): Likewise.
34835
34836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
34837 (pkgdata_MODULES): Add `sfs.mod'.
34838 (sfs_mod_SOURCES): New variable.
34839 (sfs_mod_CFLAGS): Likewise.
34840
34841 * util/grub-emu.c (main): Call `grub_sfs_init' and
34842 `grub_sfs_fini'.
34843
34844 * include/grub/fs.h (grub_sfs_init): New prototype.
34845 (grub_sfs_fini): Likewise.
34846
57bdbde3 348472005-10-07 Marco Gerards <mgerards@xs4all.nl>
34848
34849 Add support for the AFFS filesystem.
34850
34851 * fs/affs.c: New file.
34852
34853 * DISTLIST: Added `fs/affs.c'.
34854
34855 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
34856 (grub_probefs_SOURCES): Likewise.
34857 (grub_emu_SOURCES): Likewise.
34858 (pkgdata_MODULES): Add `affs.mod'.
34859 (affs_mod_SOURCES): New variable.
34860 (affs_mod_CFLAGS): Likewise.
34861 (affs_mod_LDFLAGS): Likewise.
34862
34863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
34864 (pkgdata_MODULES): Add `affs.mod'.
34865 (affs_mod_SOURCES): New variable.
34866 (affs_mod_CFLAGS): Likewise.
34867
34868 * util/grub-emu.c (main): Call `grub_affs_init' and
34869 `grub_affs_fini'.
34870
34871 * include/grub/fs.h (grub_affs_init): New prototype.
34872 (grub_affs_fini): Likewise.
34873
047b67e0 348742005-10-01 Marco Gerards <mgerards@xs4all.nl>
34875
34876 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
34877
59b8208a 348782005-10-01 Marco Gerards <mgerards@xs4all.nl>
34879
34880 * configure.ac: Accept `x86_64' as host_cpu. In that case add
34881 `-m32' to CFLAGS.
34882
34883 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
34884 linking.
f19dbdb7 34885
59b8208a 34886 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
34887 (COMMON_LDFLAGS): New variable.
34888 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
34889 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
34890 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
34891 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
34892 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
34893 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
34894 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
34895 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
34896 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
34897 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
34898 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34899 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34900 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
34901 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
34902 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
34903 variables.
34904 (normal_mod_ASFLAGS): Add `-m32'.
34905
34906 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
34907 (grub_host_size_t, grub_host_ssize_t): New types.
34908 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 34909 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 34910 `GRUB_HOST_SIZEOF_VOID_P'.
34911
34912 * include/grub/kernel.h (struct grub_module_header): Type of
34913 member offset changed to `grub_host_off_t'. Type of member size
34914 changed to `grub_host_size_t'.
34915 (struct grub_module_info): Type of member offset changed to
34916 `grub_host_off_t'. Type of member size changed to
34917 `grub_host_size_t'.
34918
b4093103 349192005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
34920
34921 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 34922
b4093103 34923 * kern/i386/pc/startup.S (multiboot_header): New label.
34924 (multiboot_entry): Likewise.
34925 (multiboot_trampoline): Likewise.
34926
34927 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34928 Increased to 0x4A0.
34929
34930 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
34931 put parentheses after a question mark.
34932 [!GRUB_UTIL] (my_mod): New variable.
34933
34934 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
34935
b2499b29 349362005-09-28 Marco Gerards <mgerards@xs4all.nl>
34937
34938 Adds support for the XFS filesystem. Btrees are not supported
34939 yet.
34940
34941 * fs/xfs.c: New file.
34942
34943 * DISTLIST: Added `fs/xfs.c'.
34944
34945 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
34946 (grub_probefs_SOURCES): Likewise.
34947 (grub_emu_SOURCES): Likewise.
34948 (pkgdata_MODULES): Add `xfs.mod'.
34949 (xfs_mod_SOURCES): New variable.
34950 (xfs_mod_CFLAGS): Likewise.
34951
34952 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
34953 (pkgdata_MODULES): Add `xfs.mod'.
34954 (xfs_mod_SOURCES): New variable.
34955 (xfs_mod_CFLAGS): Likewise.
34956
34957 * util/grub-emu.c (main): Call `grub_xfs_init' and
34958 `grub_xfs_fini'.
34959
34960 * include/grub/fs.h (grub_xfs_init): New prototype.
34961 (grub_xfs_fini): Likewise.
34962
f19dbdb7 34963
83d37a62 349642005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
34965
34966 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
34967 color modes, allow greater than 16 colors to be configured as
34968 a default palette.
34969
47d2d65e 349702005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34971
34972 * normal/completion.c (complete_arguments): Add the qualifier
34973 const into OPTIONS.
34974
34975 From Omniflux <omniflux+lists@omniflux.com>:
34976 * include/grub/terminfo.h: New file.
34977 * include/grub/tparm.h: Likewise.
34978 * include/grub/i386/pc/serial.h: Likewise.
34979 * term/terminfo.c: Likewise.
34980 * term/tparm.c: Likewise.
34981 * term/i386/pc/serial.c: Likewise.
34982 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
34983 serial.mod.
34984 (terminfo_mod_SOURCES): New variable.
34985 (terminfo_mod_CFLAGS): Likewise.
34986 (serial_mod_SOURCES): Likewise.
34987 (serial_mod_CFLAGS): Likewise.
34988
48b671ff 349892005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
34990
34991 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
34992 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
34993 and kern/powerpc/ieee1275/cmain.c, respectively.
34994
34995 * boot/powerpc/ieee1275/crt0.S: Moved to ...
34996 * kern/powerpc/ieee1275/crt0.S: ... here.
34997
34998 * boot/powerpc/ieee1275/cmain.c: Moved to ...
34999 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35000
48b671ff 35001 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35002 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35003 instead of boot/powerpc/ieee1275/crt0.S and
35004 boot/powerpc/ieee1275/cmain.c, respectively.
35005
35006 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35007 sectors. It was not used anyway.
35008
09fc77a7 350092005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35010
35011 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35012 `unused parameter' warning.
35013
003789c7 350142005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35015
35016 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35017 function.
35018 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35019 getcharwidth.
35020
67f44c86 350212005-08-28 Marco Gerards <metgerards@student.han.nl>
35022
35023 * include/grub/normal.h (enum grub_completion_type): Added
35024 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35025
35026 * normal/cmdline.c (print_completion): Handle
35027 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35028 * normal/menu_entry.c (store_completion): Likewise.
35029
35030 * normal/completion.c (complete_arguments): New function.
35031 (grub_normal_do_completion): Call `complete_arguments' when the
35032 current words start with a dash.
35033
0b5abe02 350342005-08-27 Marco Gerards <metgerards@student.han.nl>
35035
35036 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35037 `gzio.mod' instead of `io.mod').
35038
d9864ee1 350392005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35040
35041 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35042 (DISTDIRS): Added io and video.
35043 Rewrite the search routine to make an output consistently.
35044
35045 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35046 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35047 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35048 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35049 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35050 util/powerpc/ieee1275/misc.c.
f19dbdb7 35051
d9864ee1 35052 * include/grub/gzio.h: New file.
35053 * io/gzio.c: Likewise.
f19dbdb7 35054
d9864ee1 35055 * kern/file.c (grub_file_close): Call grub_device_close only if
35056 FILE->DEVICE is not NULL.
35057
35058 * include/grub/mm.h [!NULL] (NULL): New macro.
35059
35060 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35061
35062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35063 (pkgdata_MODULES): Added gzio.mod.
35064 (gzio_mod_SOURCES): New variable.
35065 (gzio_mod_CFLAGS): Likewise.
35066
35067 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35068 (pkgdata_MODULES): Added gzio.mod.
35069 (gzio_mod_SOURCES): New variable.
35070 (gzio_mod_CFLAGS): Likewise.
35071
35072 * commands/cat.c: Include grub/gzio.h.
35073 (grub_cmd_cat): Use grub_gzfile_open instead of
35074 grub_file_open.
f19dbdb7 35075
d9864ee1 35076 * commands/cmp.c: Include grub/gzio.h.
35077 (grub_cmd_cmp): Use grub_gzfile_open instead of
35078 grub_file_open.
35079
35080 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35081 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35082 grub_file_open.
35083 (grub_rescue_cmd_module): Likewise.
35084
fa46f4b5 350852005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35086
35087 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35088 kern/sparc64/ieee1275/init.c because it contains _start.
35089 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35090
e9211b5d 350912005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35092
35093 * configure.ac: Add support for sparc64 host with ieee1275
35094 firmware.
35095 * configure: Generated from configure.ac.
35096 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35097 instead of int.
35098 (grub_ofdisk_read): Likewise.
35099 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35100 pointers as (void *) to remove a warning.
35101 (grub_ofdisk_close): Likewise.
35102 (grub_ofdisk_read): Likewise.
35103 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35104 returns, so make it return void to remove a warning.
35105 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35106 Corresponding prototype change.
35107 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35108 values, and cast the pointers as (void *) to remove a warning.
35109 (grub_mm_dump): Likewise.
35110 * conf/sparc64-ieee1275.mk: New file.
35111 * conf/sparc64-ieee1275.rmk: Likewise.
35112 * include/grub/sparc64/setjmp.h: Likewise.
35113 * include/grub/sparc64/types.h: Likewise.
35114 * include/grub/sparc64/ieee1275/console.h: Likewise.
35115 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35116 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35117 * include/grub/sparc64/ieee1275/time.h: Likewise.
35118 * kern/sparc64/cache.c: Likewise.
35119 * kern/sparc64/dl.c: Likewise.
35120 * kern/sparc64/ieee1275/init.c: Likewise.
35121 * kern/sparc64/ieee1275/openfw.c: Likewise.
35122
385c6a92 351232005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35124
35125 * util/console.c (grub_ncurses_putchar): If C is greater than
35126 0x7f, set C to a question mark.
35127 (grub_ncurses_getcharwidth): New function.
35128 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35129 getcharwidth.
35130
35131 * normal/menu.c (print_entry): Made aware of Unicode. First,
35132 convert TITLE to UCS-4, and predict the cursor position by
35133 grub_getcharwidth.
35134
35135 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35136 const to SRC.
35137 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35138
16ccb8b1 351392005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35140
35141 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35142 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35143 grub_strcat.
35144
35145 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35146 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35147 grub_strcpy and grub_strlen. Take it into account that a space
35148 character is inserted as a delimiter.
35149
6a85ce79 351502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35151
35152 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35153 invalid magic in the error.
6a85ce79 35154
35155 * commands/search.c: New file.
f19dbdb7 35156
6a85ce79 35157 * util/grub-emu.c (main): Call grub_search_init and
35158 grub_search_fini.
35159
35160 * kern/rescue.c (grub_rescue_print_disks): Removed.
35161 (grub_rescue_print_devices): New function.
35162 (grub_rescue_cmd_ls): Use grub_device_iterate with
35163 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35164 grub_rescue_print_disks.
35165
35166 * kern/partition.c (grub_partition_iterate): Return the result of
35167 PARTMAP->ITERATE instead of GRUB_ERRNO.
35168
35169 * kern/device.c: Include grub/partition.h.
35170 (grub_device_iterate): New function.
35171
35172 * include/grub/partition.h (grub_partition_iterate): Return int
35173 instead of grub_err_t.
35174
35175 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35176 prototype.
35177 [GRUB_UTIL] (grub_search_fini): Likewise.
35178
35179 * include/grub/device.h (grub_device_iterate): New prototype.
35180
35181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35182 commands/search.c.
35183 (pkgdata_MODULES): Added search.mod.
35184 (search_mod_SOURCES): New variable.
35185 (search_mod_CFLAGS): Likewise.
35186
35187 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35188 (pkgdata_MODULES): Added search.mod.
35189 (search_mod_SOURCES): New variable.
35190 (search_mod_CFLAGS): Likewise.
35191
35192 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35193 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35194 All callers changed.
35195
35196 * DISTLIST: Added commands/search.c.
35197
ef095434 351982005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35199
35200 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35201 conversion.
35202 (grub_getcharwidth): New function.
35203
35204 * kern/misc.c (grub_utf8_to_ucs4): New function.
35205
35206 * include/grub/term.h (struct grub_term): Added a new member
35207 "getcharwidth".
35208 (grub_getcharwidth): New prototype.
35209
35210 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35211
35212 * term/i386/pc/console.c (map_char): New function. Segregated from
35213 grub_console_putchar.
35214 (grub_console_putchar): Use map_char.
35215 (grub_console_getcharwidth): New function.
35216 (grub_console_term): Specified grub_console_getcharwidth as
35217 getcharwidth.
35218
35219 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35220 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35221
35222 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35223 GRUB_ERRNO.
35224 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35225 on grub_strtoul completely.
35226 (write_char): Declare local variables in the beginning of the
35227 function.
35228 (grub_vesafb_getcharwidth): New function.
35229 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35230 getcharwidth.
35231
1f0a95e4 352322005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35233
35234 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35235 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35236 commands/i386/pc/vbetest.c.
35237
35238 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35239 call grub_vbe_get_controller_info again, because the returned
35240 information is volatile.
35241 (grub_vbe_set_video_mode): Mostly rewritten.
35242 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35243 grub_vbe_status_t correctly.
35244 (grub_vbe_get_video_mode_info): Likewise.
35245 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35246 several if statements.
35247
35248 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35249 * commands/i386/pc/vbeinfo.c: ... this.
35250
35251 * commands/i386/pc/vbe_test.c: Renamed to ...
35252 * commands/i386/pc/vbetest.c: ... this.
35253
35254 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35255 ...
35256 (grub_cmd_vbeinfo): ... this. Save video modes before
35257 iterating. Skip a video mode, if it is not available, not enough
35258 information is given or it is monochrome. Show the memory
35259 model. Leave the interpretation of MODEVAR to grub_strtoul
35260 completely.
35261 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35262 (GRUB_MOD_FINI): Likewise.
35263
35264 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35265 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35266 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35267 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35268 grub_strtoul completely.
35269 (real2pm): Removed.
35270 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35271 (GRUB_MOD_FINI): Likewise.
35272
35273 * normal/misc.c: Include grub/mm.h.
35274
35275 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35276 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35277 (vbe_list_modes_mod_SOURCES): Removed.
35278 (vbe_list_modes_mod_CFLAGS): Likewise.
35279 (vbe_test_mod_SOURCES): Likewise.
35280 (vbe_test_mod_CFLAGS): Likewise.
35281 (vbeinfo_mod_SOURCES): New variable.
35282 (vbeinfo_mod_CFLAGS): Likewise.
35283 (vbetest_mod_SOURCES): Likewise.
35284 (vbetest_mod_CFLAGS): Likewise.
35285
992ffbbe 352862005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35287
35288 * normal/misc.c: New file.
35289
35290 * DISTLIST: Added normal/misc.c.
f19dbdb7 35291
992ffbbe 35292 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35293 DISK to HOOK. Call HOOK with DISK.
35294 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35295 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35296 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35297
35298 * normal/menu_entry.c (struct screen): Added a new member
35299 "completion_shown".
35300 (completion_buffer): New global variable.
35301 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35302 (store_completion): New function.
35303 (complete): Likewise.
35304 (clear_completions): Likewise.
35305 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35306 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35307 a tab, call complete.
35308
35309 * normal/completion.c (disk_dev): Removed.
35310 (print_simple_completion): Likewise.
35311 (print_partition_completion): Likewise.
35312 (print_func): New global variable.
35313 (add_completion): Do not take the arguments WHAT or PRINT any
35314 longer. Added a new argument TYPE. Instead of printing directly,
35315 call PRINT_FUNC if not NULL.
35316 All callers changed.
35317 (complete_device): Use a local variable DEV instead of
35318 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35319 (grub_normal_do_completion): Take a new argument HOOK. Do not
35320 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35321 empty string, return NULL instead.
35322 All callers changed.
35323
35324 * normal/cmdline.c (print_completion): New function.
35325
35326 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35327 to HOOK.
35328 All callers changed.
35329
35330 * kern/disk.c (grub_print_partinfo): Removed.
35331
35332 * include/grub/partition.h (struct grub_partition_map): Add a new
35333 argument DISK into HOOK of ITERATE.
35334 (grub_partition_iterate): Add a new argument DISK to HOOK.
35335
35336 * include/grub/normal.h (enum grub_completion_type): New enum.
35337 (grub_completion_type_t): New type.
35338 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35339 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35340 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35341 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35342 (grub_normal_do_completion): Added a new argument HOOK.
35343 (grub_normal_print_device_info): New prototype.
35344
35345 * include/grub/disk.h (grub_print_partinfo): Removed.
35346
35347 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35348 (normal_mod_SOURCES): Likewise.
35349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35350 (normal_mod_SOURCES): Likewise.
35351
35352 * commands/ls.c (grub_ls_list_disks): Use
35353 grub_normal_print_device_info instead of grub_print_partinfo. Free
35354 PNAME.
35355 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35356 duplicating the code.
35357
0bd41162 353582005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35359
35360 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35361 follow GCS more precisely.
35362 * commands/i386/pc/vbe_test.c: Likewise.
35363 * include/grub/i386/pc/vbe.h: Likewise.
35364 * term/i386/pc/vesafb.c: Likewise.
35365 * video/i386/pc/vbe.c: Likewise.
0bd41162 35366
6323696a 353672005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35368
35369 * DISTLIST: Added term/i386/pc/vesafb.c
35370 DISTLIST: Added video/i386/pc/vbe.c
35371 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35372 DISTLIST: Added commands/i386/pc/vbe_test.c.
35373 * commands/i386/pc/vbe_list_modes.c: New file.
35374 * commands/i386/pc/vbe_test.c: Likewise.
35375 * term/i386/pc/vesafb.c: Likewise.
35376 * video/i386/pc/vbe.c: Likewise.
35377 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35378 (grub_vbe_probe) Added prototype.
35379 (grub_vbe_set_video_mode) Likewise.
35380 (grub_vbe_get_video_mode) Likewise.
35381 (grub_vbe_get_video_mode_info) Likewise.
35382 (grub_vbe_set_pixel_rgb) Likewise.
35383 (grub_vbe_set_pixel_index) Likewise.
35384 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35385 (pkgdata_MODULES): Added vesafb.mod.
35386 (pkgdata_MODULES): Added vbe_list_modes.mod.
35387 (pkgdata_MODULES): Added vbe_test.mod.
35388 (vbe_mod_SOURCES): Added.
35389 (vbe_mod_CFLAGS): Likewise.
35390 (vesafb_mod_SOURCES): Likewise.
35391 (vesafb_mod_CFLAGS): Likewise.
35392 (vbe_list_modes_mod_SOURCES): Likewise.
35393 (vbe_list_modes_mod_CFLAGS): Likewise.
35394 (vbe_test_mod_SOURCES): Likewise.
35395 (vbe_test_mod_CFLAGS): Likewise.
35396
0a74e62f 353972005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35398
0a74e62f 35399 * normal/command.c (grub_command_execute): If INTERACTIVE is
35400 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35401 CMDLINE. Disable the pager if INTERACTIVE is true.
35402 All callers are changed.
35403
35404 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35405 before reading a config file.
35406 * normal/main.c (read_config_file): Even if a command is not
35407 found, register it if it is within an entry.
35408
35409 * util/grub-emu.c: Include sys/types.h and unistd.h.
35410 (options): Added --hold.
35411 (struct arguments): Added a new member "hold".
35412 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35413 missing.
35414 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35415 cleared by a debugger, if it is not zero.
35416
35417 * include/grub/normal.h (grub_command_execute): Add an argument
35418 INTERACTIVE.
35419
e51f85ae 354202005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35421
35422 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35423
e9c6f39b 354242005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35425
35426 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35427 program with another one, because the old one didn't detect a bug
35428 in gcc-3.4. Always use regparm 2, because the new test is still
35429 not enough for gcc-4.0. Someone must investigate a simple test
35430 case which detects a bug in gcc-4.0.
35431
8de3495c 354322005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35433
35434 * DISTLIST: Added normal/completion.c.
35435
35436 * normal/completion.c: New file.
f19dbdb7 35437
8de3495c 35438 * term/i386/pc/console.c (grub_console_getwh): New function.
35439 (grub_console_term): Assign grub_console_getwh to getwh.
35440
35441 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35442 function is defined in normal/completion.c as
35443 grub_normal_do_completion.
35444 (grub_cmdline_get): Use grub_normal_do_completion instead of
35445 grub_tab_complete.
35446
35447 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35448 returns non-zero, otherwise return 0.
35449 (grub_partition_iterate): First, probe the partition map. Then,
35450 call ITERATE only for this partition map.
35451
35452 * kern/misc.c (grub_strncmp): Rewritten.
35453
35454 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35455 returns non-zero. Otherwise return 0.
35456
35457 * include/grub/partition.h (grub_partition_map_iterate): Return
35458 int instead of void.
35459
35460 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35461
35462 * include/grub/misc.h (grub_strncmp): Change the type of N to
35463 grub_size_t.
35464
35465 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35466 of void.
35467
35468 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 35469 unsigned explicitly before comparing it with I.
8de3495c 35470
35471 * kern/main.c (grub_env_write_root): Add the attribute unused into
35472 VAR.
35473
35474 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35475 normal/completion.c.
35476 (normal_mod_SOURCES): Likewise.
35477 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35478 (normal_mod_SOURCES): Likewise.
35479
35480 * normal/command.c (grub_iterate_commands): If ITERATE returns
35481 non-zero, return one immediately.
35482
e85e144b 354832005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35484
35485 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35486 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35487 descriptions.
35488 (grub_vbe_get_controller_info): New function.
35489 (grub_vbe_get_mode_info): Likewise.
35490 (grub_vbe_set_mode): Likewise.
35491 (grub_vbe_get_mode): Likewise.
35492 (grub_vbe_set_memory_window): Likewise.
35493 (grub_vbe_get_memory_window): Likewise.
35494 (grub_vbe_set_scanline_length): Likewise.
35495 (grub_vbe_get_scanline_length): Likewise.
35496 (grub_vbe_set_display_start): Likewise.
35497 (grub_vbe_get_display_start): Likewise.
35498 (grub_vbe_set_palette_data): Likewise.
35499 * include/grub/i386/pc/vbe.h: New file.
35500
c46153d2 355012005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35502
35503 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35504 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
35505 * DISTLIST: Likewise.
35506 * kern/ieee1275/of.c: Moved to ...
35507 * kern/ieee1275/ieee1275.c: ... here.
35508
0cb90c45 355092005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35510
35511 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
35512 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
35513 Pass 0 as `end' parameter to grub_strtoul().
35514
a19fb360 355152005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35516
35517 * include/grub/powerpc/ieee1275/console.h: Do not include
35518 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
35519 ifdef.
35520 (grub_console_cur_color): Remove i386-specific prototype.
35521 (grub_console_real_putchar): Likewise.
35522 (grub_console_checkkey): Likewise.
35523 (grub_console_getkey): Likewise.
35524 (grub_console_getxy): Likewise.
35525 (grub_console_gotoxy): Likewise.
35526 (grub_console_cls): Likewise.
35527 (grub_console_setcursor): Likewise.
35528 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
35529 Include <grub/machine/console.h>.
35530 * term/ieee1275/ofconsole.c: Likewise.
35531
4ac9bd04 355322005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
35533
35534 * Makefile.in (LIBLZO): New variable.
35535
35536 * configure.ac: Check for LZO version 2.
35537
35538 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
35539 lzo/lzo1x.h instead of lzo1x.h.
35540
35541 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
35542 of -llzo.
35543
35544 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
35545 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
35546
35547 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
35548 copying the data from PARTITION to P.
35549
f4917dfd 355502005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35551
35552 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
35553 negative, unload the module.
35554
35555 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
35556 map is "pc_partition_map" but not "pc".
35557 (usage): Fix the description. The options are --boot-image and
35558 --core-image but not --boot-file or --core-file.
35559 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
35560 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
35561 DEFAULT_DIRECTORY.
35562
35563 * util/i386/pc/grub-install.in: Do not specify --boot-file or
35564 --core-file. Specify INSTALL_DEVICE as an argument.
35565
35566 * util/console.c: Include config.h.
35567 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
35568 [HAVE_NCURSES_H]: Include ncurses.h.
35569 [HAVE_CURSES_H]: Include curses.h.
35570 [!A_NORMAL] (A_NORMAL): Defined as zero.
35571 [!A_STANDOUT] (A_STANDOUT): Likewise.
35572
35573 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
35574 -lncurses.
35575 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
35576
35577 * configure.ac: Check for curses libraries and headers.
35578
35579 * Makefile.in (LIBCURSES): New variable.
35580
35581 * genmk.rb (Script::rule): Set the executable bits.
35582
35583 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
35584 name of the PC partition map is "pc_partition_map" but not "pc".
35585
0e143073 355862005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35587
35588 * util/i386/pc/grub-install.in (grub_probefs): New variable.
35589 (modules): Likewise.
35590 (usage): Added descriptions for --modules and --grub-probefs.
35591 Handle --modules and --grub-probefs. Save the arguments in MODULES
35592 and GRUB_PROBEFS, respectively.
35593 Auto-detect a filesystem module against GRUBDIR. If the result is
35594 empty and modules are not specified explicitly, abort the
35595 installation. Add the result to MODULES.
35596
35597 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
35598 disk/powerpc/ieee1275/ofdisk.c,
35599 include/grub/powerpc/ieee1275/init.h and
35600 term/powerpc/ieee1275/ofconsole.c.
35601 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
35602 term/ieee1275/ofconsole.c.
35603
35604 * include/grub/powerpc/ieee1275/console.h: Resurrected.
35605
35606 * COPYING: Upgraded to the latest version. Only the address of the
35607 FSF office has changed.
f19dbdb7 35608
efd6e6d5 356092005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35610
35611 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35612 kern/ieee1275.c with kern/ieee1275/of.c.
35613
35614 * kern/ieee1275.c: Moved to ...
35615 * kern/ieee1275/of.c: ... here.
35616
8ceafda2 356172005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
35618
35619 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 35620 readability.
8ceafda2 35621
35622 * config.guess: Updated to the latest version from gnulib.
35623 * config.sub: Likewise.
35624 * install.sh: Likewise.
35625 * mkinstalldirs: Likewise.
35626
35627 * include/grub/console.h: Removed. This file is arch-specific. Do
35628 not put this in include/grub.
35629
35630 * include/grub/i386/pc/console.h: Resurrected.
35631
35632 * util/console.c: Include grub/machine/console.h instead of
35633 grub/console.h.
35634 * util/grub-emu.c: Likewise.
35635
267f6cd9 356362005-08-04 Marco Gerards <metgerards@student.han.nl>
35637
35638 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
35639 hardcoded value.
f19dbdb7 35640
267f6cd9 35641 From Vincent Pelletier <subdino2004@yahoo.fr>
35642 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
35643 Redefined to use grub_getwh.
35644 (grub_term): New member named getwh.
35645 (grub_getwh): New prototype.
35646 * kern/term.c (grub_getwh): New function.
35647 * term/i386/pc/console.c (grub_console_getwh): New function.
35648 (grub_console_term): New member `getwh'.
35649 * term/i386/pc/vga.c (grub_vga_getwh): New function.
35650 (grub_vga_term): New member `getwh'.
0b5abe02 35651 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 35652 grub_ssize_t.
35653 (grub_ofconsole_getw): New function.
35654 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
35655 (grub_ofconsole_term): New field named getwh and new initial
35656 value.
35657
3be7266d 356582005-08-03 Hollis Blanchard <hollis@penguinppc.org>
35659
35660 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
35661 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
35662 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
35663 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
35664 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
35665 of <grub/machine/ieee1275.h>.
35666 * commands/ieee1275/reboot.c: Likewise.
35667 * boot/powerpc/ieee1275/ieee1275.c: Move ...
35668 * kern/ieee1275.c: ... to here. All users updated. Change all
35669 parameter structs to use new type `grub_ieee1275_cell_t'.
35670 * term/powerpc/ieee1275/ofconsole.c: Move ...
35671 * term/ieee1275/ofconsole.c: ... to here. All users updated.
35672 * disk/powerpc/ieee1275/ofdisk.c: Move ...
35673 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
35674 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
35675 to return int.
35676 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
35677 Remove unused prototypes. All users updated.
35678 * include/grub/powerpc/ieee1275/console.h: Removed.
35679 * include/grub/powerpc/ieee1275/ieee1275.h: Define
35680 `grub_ieee1275_cell_t'.
35681 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
35682 Cast comparisons with -1 to the correct type.
35683 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
35684 type to match `grub_ieee1275_entry_fn'.
35685
8b5f3938 356862005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
35687
35688 * DISTLIST: Added util/i386/pc/grub-probefs.c.
35689
35690 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
35691 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
35692 partmap/sun.c.
35693 (grub_probefs_SOURCES): New variable.
35694
35695 * util/i386/pc/grub-probefs.c: New file.
35696
35697 * util/i386/pc/grub-setup.c (main): Call
35698 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
35699 grub_hfs_init and grub_jfs_init to initialize the system. Call
35700 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
35701 grub_pc_partition_map_fini to finish the system.
35702
ea409713 357032005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
35704
35705 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
35706 function.
35707 (grub_multiboot_load_elf32): Likewise.
35708 (grub_multiboot_is_elf64): Likewise.
35709 (grub_multiboot_load_elf64): Likewise.
35710 (grub_multiboot_load_elf): Likewise.
35711 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
35712 an ELF32 or ELF64 file.
35713 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
35714
35715 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
35716 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
35717 NULL before calling FS->LABEL.
35718 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
35719 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
35720 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
35721 before calling FS->LABEL.
35722
141a288b 357232005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
35724
35725 * util/i386/pc/grub-install.in (datadir): New variable.
35726 (libdir): Removed.
35727 (pkgdatadir): New variable.
35728 (pkglibdir): Removed.
35729
0d5f8a54 357302005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
35731
35732 * DISTLIST: Added util/i386/pc/grub-install.in.
35733
35734 * util/i386/pc/grub-install.in: New file.
35735
35736 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35737 (grub_install_SOURCES): Likewise.
35738
35739 * genmk.rb: Added support for scripts.
35740 (Script): New class.
35741 (scripts): New variable.
35742
35743 * Makefile.in (install-local): Install sbin_SCRIPTS by
35744 INSTALL_SCRIPT.
35745 (uninstall): Remove sbin_SCRIPTS.
35746
35747 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35748 device, try to get a GRUB device by
35749 grub_util_biosdisk_get_grub_dev.
35750 Free DEST_DEV.
35751
35752 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35753 description for --device-map.
35754
5f968e1e 357552005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35756
35757 Change the semantics of variable hooks. They now return strings
35758 instead of error values.
f19dbdb7 35759
5f968e1e 35760 * util/i386/pc/grub-setup.c: Include grub/env.h.
35761 (setup): Use grub_device_set_root instead of grub_env_set.
35762
35763 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35764 grub_env_get instead of grub_device_set_root and
35765 grub_device_get_root, respectively.
35766
35767 * kern/main.c (grub_env_write_root): New function.
35768 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35769 grub_env_set instead of grub_device_set_root.
35770
35771 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35772 many variables.
35773 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35774 rather than calling ENV->WRITE_HOOK afterwards.
35775 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35776 passing a pointer of a pointer.
35777 (grub_register_variable_hook): Change the types of "read_hook" and
35778 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35779 respectively.
35780 Allocate the default empty string on the heap, because this string
35781 may be freed later.
35782
35783 * kern/device.c: Include grub/env.h.
35784 (grub_device_set_root): Removed.
35785 (grub_device_get_root): Likewise.
35786 (grub_device_open): Use grub_env_get instead of
35787 grub_device_get_root.
35788
35789 * include/grub/env.h (grub_env_read_hook_t): New type.
35790 (grub_env_write_hook_t): Likewise.
35791 (grub_env_var): Change the types of "read_hook" and "write_hook"
35792 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
35793 (grub_register_variable_hook): Likewise.
35794
35795 * include/grub/device.h (grub_device_set_root): Removed.
35796 (grub_device_set_root): Likewise.
35797
35798 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
35799 make sure that DIRNAME terminates with '/', so that
35800 grub_fat_find_dir will fail if PATH is not a directory.
35801
35802 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
35803 from DIRNAME.
35804 Use the qualifier auto for print_files and print_files_long.
35805 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
35806 as a regular file.
35807 Put a newline only if there is no error.
35808 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
35809 used.
35810
896f0afd 358112005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35812
35813 * kern/partition.c (grub_partition_probe): Initialize PART to
35814 NULL. Otherwise, when no partition map is registered, this returns
35815 a garbage.
35816
b28b81b2 358172005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
35818
35819 * partmap/apple.c (apple_partition_map_iterate): Check if POS
35820 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
35821 valid.
35822
5f3607e0 358232005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
35824
35825 * commands/ls.c (grub_ls_list_disks): Print the filesystem
35826 information on each device, if it does not have partitions. Print
35827 "Device" instead of "Disk", because this function is not specific
35828 to disk devices.
35829
35830 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
35831 static to ensure that it is put on the memory rather than a
35832 register.
35833
502c87e8 358342005-07-17 Yoshinori Okuji <okuji@enbug.org>
35835
35836 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
35837 (grub_cat_init): Likewise.
35838 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
35839 (options): Likewise.
35840 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
35841 (grub_configfile_init): Likewise.
35842 * font/manager.c (GRUB_MOD_INIT): Likewise.
35843 * commands/help.c (GRUB_MOD_INIT): Likewise.
35844 (grub_help_init): Likewise.
35845 * normal/command.c (grub_command_init): Likewise.
35846 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
35847 * disk/loopback.c (grub_loop_init): Likewise.
35848 (GRUB_MOD_INIT): Likewise.
35849 * commands/ls.c (grub_ls_init): Likewise.
35850 (GRUB_MOD_INIT): Likewise.
35851 (options): Likewise.
35852 * commands/boot.c (grub_boot_init): Likewise.
35853 (GRUB_MOD_INIT): Likewise.
35854 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
35855 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
35856 (GRUB_MOD_INIT): Likewise.
35857 * commands/cmp.c (grub_cmp_init): Likewise.
35858 (GRUB_MOD_INIT): Likewise.
35859
35860 * normal/arg.c: Use <> instead of "" to include header files.
35861 (SHORT_ARG_HELP): New macro.
35862 (SHORT_ARG_USAGE): Likewise.
35863 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
35864 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
35865 descriptions.
35866 (find_short): Check if C is 'h' or 'u' explicitly.
35867 (grub_arg_show_help): Use space characters instead of tabs. Treat
35868 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
35869 are shown with --help and --usage only if they are not used for
35870 the command itself.
35871 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
35872 'h' and 'u'.
35873
35874 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
35875 const into "longarg". Change the type of "shortarg" to int.
35876
f806d18e 358772005-07-17 Yoshinori Okuji <okuji@enbug.org>
35878
35879 * boot/i386/pc/boot.S (boot_drive_check): New label.
35880
35881 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
35882 macro.
35883
35884 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
35885 which do not pass a boot drive correctly. Copied from GRUB Legacy.
35886
e293232b 358872005-07-17 Yoshinori Okuji <okuji@enbug.org>
35888
35889 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
35890 When turning off Gate A20, skip the check and return immediately,
35891 because this is not fatal usually.
35892
ebedfd00 358932005-07-17 Yoshinori Okuji <okuji@enbug.org>
35894
35895 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
35896 be 0x7C00 instead of 0x8000.
35897
35898 * boot/i386/pc/pxeboot.S: Rewritten.
35899
35900 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
35901 EXT_C.
35902 (gate_a20_check_state): Read a byte from 0x108000. Invert the
35903 result.
35904
654fc59f 359052005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
35906
35907 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
35908 robustness. This routine now supports a BIOS call and System
35909 Control Port A to modify the gate A20.
35910
35911 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35912 Increased to 0x440.
35913
09f9923f 359142005-07-12 Hollis Blanchard <hollis@penguinppc.org>
35915
35916 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
35917 device path and resulting ihandle.
35918 (grub_ofdisk_close): dprintf the ihandle being closed.
35919 (grub_ofdisk_read): dprintf function parameters.
35920 * kern/mm.c (grub_mm_init_region): Likewise.
35921 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
35922 (grub_linux_boot): dprintf the Linux entry point, initrd address and
35923 size, and boot arguments.
35924 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
35925 before loading into memory.
35926 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
35927 before loading into memory.
35928
7ef504d8 359292005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
35930
35931 * kern/mm.c: Added much documentation.
35932 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
35933 8, set to 5 instead of 8.
35934
e0f050c2 359352005-07-10 Yoshinori Okuji <okuji@enbug.org>
35936
35937 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
35938
35939 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
35940 (grub_mkdevicemap_SOURCES): New variable.
35941
35942 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
35943 lib/device.c of GRUB Legacy.
35944
7224189a 359452005-07-10 Yoshinori Okuji <okuji@enbug.org>
35946
35947 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
35948 instead of PATH is NULL.
35949
68c864eb 359502005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
35951
35952 * commands/cmp.c (BUFFER_SIZE): New macro.
35953 (grub_cmd_cmp): Close the right file at the right time. Compare
35954 only data just read. Don't report files of different size as
35955 identical. Dynamically allocate buffers. Move variable
35956 declarations at the beginning of function.
35957
e6f3e614 359582005-07-09 Yoshinori Okuji <okuji@enbug.org>
35959
35960 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
35961 reverse.
35962
f8f1559a 359632004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
35964
35965 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
35966 when backspace is pressed at beginning of line.
35967
39c9d41d 359682005-07-03 Yoshinori Okuji <okuji@enbug.org>
35969
35970 * DISTLIST: Added genfslist.sh.
35971
35972 * normal/main.c (fs_module_list): New variable.
35973 (autoload_fs_module): New function.
35974 (read_fs_list): Likewise.
35975 (grub_normal_execute): Call read_fs_list.
35976
35977 * kern/fs.c (grub_fs_autoload_hook): New variable.
35978 (grub_fs_probe): Added support for auto-loading.
35979
35980 * include/grub/normal.h (struct grub_fs_module_list): New struct.
35981 (grub_fs_module_list_t): New type.
35982
35983 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
35984 (grub_fs_autoload_hook): New prototype.
35985
35986 * genfslist.sh: New file.
f19dbdb7 35987
39c9d41d 35988 * genmk.rb: Added a rule to generate a filesystem list.
35989
121c1d83 359902005-06-30 Marco Gerards <metgerards@student.han.nl>
35991
35992 * configure.ac: Fix the test for cross-compiling.
35993
35994 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
35995 define GRUB_UTIL anymore.
35996
35997 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
35998 so this function works on other systems than just big endian.
35999 (load_modules): Likewise.
36000 (add_segments): Likewise.
36001
e75d76e1 360022005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36003
36004 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36005 contains `l' modifier, get a long from va_arg().
36006
50b5a0a7 360072005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36008
36009 * kern/mm.c (grub_free): If the next free block which is being
36010 merged is the first free block, set the first block to the block
36011 being freed.
36012 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36013
89371b20 360142005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36015
36016 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36017 `grub_ieee1275_chosen'.
36018
168d6e58 360192005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36020
36021 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36022 (grub_ieee1275_chosen): New variable.
36023 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36024 `chosen'.
36025 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36026 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36027 Rename first argument to `phandle' for consistency.
36028 (grub_ieee1275_get_property_length): Likewise.
36029 (grub_ieee1275_next_property): Likewise. Change type of first argument
36030 to grub_ieee1275_phandle_t.
36031 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36032 Move export next to declaration.
36033 (grub_ieee1275_chosen): New variable.
36034 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36035 Correct cosmetic typo.
36036 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36037 `grub_ieee1275_chosen'.
36038 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36039 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36040 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36041 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36042 `grub_ieee1275_chosen'.
36043
ca5baa3f 360442005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36045
36046 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36047 /chosen/bootargs.
36048 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36049 /chosen/bootargs as "variable=value" pairs.
36050
708b345f 360512005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36052
36053 * include/grub/misc.h (grub_dprintf): New macro.
36054 (grub_real_dprintf): New prototype.
36055 (grub_strword): Likewise.
36056 (grub_iswordseparator): Likewise.
36057 * kern/misc.c (grub_real_dprintf): New function.
36058 (grub_strword): Likewise.
36059 (grub_iswordseparator): Likewise.
36060
f4c5e67c 360612005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36062
36063 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36064 (roundup): Remove macro.
36065 (grub_ieee1275_flags): Make static.
36066 (grub_ieee1275_realmode): Remove.
36067 (grub_ieee1275_test_flag): New function.
36068 (grub_ieee1275_set_flag): Likewise.
36069 (find_options): Rename to `grub_ieee1275_find_options'; update
36070 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36071 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36072 (cmain): New prototype.
36073 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36074 `grub_ieee1275_flags' directly.
36075 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36076 machine/biosdisk.h.
36077 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36078 Don't include grub/machine/init.h.
36079 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36080 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36081 Remove prototype.
36082 (grub_ieee1275_realmode): Likewise.
36083 (grub_ieee1275_flag): New enum.
36084 (grub_ieee1275_test_flag): New prototype.
36085 (grub_ieee1275_set_flag): New prototype.
36086 * include/grub/powerpc/ieee1275/init.h: Remove file.
36087 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36088 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36089 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36090 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36091 comment.
36092 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36093 `grub_ieee1275_test_flag'.
36094 (grub_ieee1275_encode_devname): Likewise.
36095
ed16607e 360962005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36097
36098 * include/grub/powerpc/ieee1275/ieee1275.h
36099 (grub_ieee1275_encode_devname): New prototype.
36100 (grub_ieee1275_get_filename): Likewise.
36101 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36102 function.
36103 (grub_set_prefix): Likewise.
36104 (grub_machine_init): Call grub_set_prefix.
36105 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36106 (grub_parse_type): New enum.
36107 (grub_ieee1275_get_devargs): New function.
36108 (grub_ieee1275_get_devname): Likewise.
36109 (grub_ieee1275_parse_args): Likewise.
36110 (grub_ieee1275_get_filename): Likewise.
36111 (grub_ieee1275_encode_devname): Likewise.
36112
be369920 361132005-03-30 Marco Gerards <metgerards@student.han.nl>
36114
36115 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36116 `grub_loader_unset'.
36117
a5ce3a4a 361182005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36119
36120 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36121 instead of grub_ieee1275_interpret.
36122 (grub_halt_init): New function.
36123 (grub_halt_fini): Likewise.
36124 (GRUB_MOD_INIT): Correct message grammar.
36125 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36126 instead of grub_ieee1275_interpret.
36127 (grub_reboot_init): New function.
36128 (grub_reboot_fini): Likewise.
36129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36130 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36131 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36132 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36133 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36134 function.
36135 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36136 Add prototype.
36137 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36138 prototype.
36139 (grub_halt): Likewise.
36140 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36141 (cmain): Remove __attribute__((unused)).
36142 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36143 (grub_heap_len): Likewise.
36144 (grub_machine_fini): New function.
36145 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36146 (grub_halt): Likewise.
36147 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36148 function.
36149 * util/powerpc/ieee1275/misc.c: New file.
36150
0058f771 361512005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36152
36153 * DISTLIST: New file.
36154 * gendistlist.sh: Likewise.
f19dbdb7 36155
0058f771 36156 * Makefile.in (COMMON_DISTFILES): Removed.
36157 (BOOT_DISTFILES): Likewise.
36158 (CONF_DISTFILES): Likewise.
36159 (DISK_DISTFILES): Likewise.
36160 (FS_DISTFILES): Likewise.
36161 (INCLUDE_DISTFILES): Likewise.
36162 (KERN_DISTFILES): Likewise.
36163 (LOADER_DISTFILES): Likewise.
36164 (TERM_DISTFILES): Likewise.
36165 (UTIL_DISTFILES): Likewise.
36166 (DISTFILES): Likewise.
36167 (uninstall): Uninstall files in $(pkgdata_DATA).
36168 (DISTLIST): New target.
36169 (distdir): Use the contents of the file DISTLIST to get a list of
36170 distributed files.
36171
46b3b8a5 361722005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36173
36174 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36175 descriptor. This is ported from GRUB Legacy.
36176
36177 * gencmdlist.sh: Added an extra semicolon to make it work with
36178 old sed versions. Reported by Robert Bihlmeyer
36179 <robbe@orcus.priv.at>.
36180
5822ff87 361812005-03-08 Yoshinori Okuji <okuji@enbug.org>
36182
36183 Automatic loading of commands is supported.
f19dbdb7 36184
5822ff87 36185 * normal/main.c (read_command_list): New function.
36186 (grub_normal_execute): Call read_command_list.
36187
36188 * normal/command.c (grub_register_command): Return zero or CMD.
36189 Allocate CMD->NAME from the heap.
36190 Initialize CMD->MODULE_NAME to zero.
36191 Find the same name as well. If the same command is found and it is
36192 a dummy command, overwrite members. If it is not a dummy command,
36193 return zero.
36194 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36195 (grub_command_find): If a dummy command is found, load a module
36196 and retry to find a command only once.
36197
36198 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36199 make sure that each command is loaded.
36200
36201 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36202 macro.
36203 (struct grub_command): Remove const from the member `name'.
36204 Add a new member `module_name'.
36205 (grub_register_command): Return grub_command_t.
36206
36207 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36208 sure that each command is loaded.
36209
36210 * genmk.rb (PModule::rule): Specify a module name without the
36211 suffix ".mod" to gencmdlist.sh.
36212
7b1f4b57 362132005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36214
36215 * gencmdlist.sh: New file.
f19dbdb7 36216
7b1f4b57 36217 * genmk.rb (PModule::rule): Generate a rule for a command list.
36218 Clean command.lst.
36219 Generate command.lst from $(COMMANDFILES).
36220
36221 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36222 (DATA): Added $(pkgdata_DATA).
36223 (install-local): Install files in $(pkgdata_DATA).
36224
062aaf39 362252005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36226
36227 * term/i386/pc/vga.c (debug_command): Removed.
36228 (GRUB_MOD_INIT): Do not register the command "debug".
36229
36230 From Hollis Blanchard:
36231 * commands/configfile.c: New file.
36232 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36233 commands/configfile.c.
36234 (pkgdata_MODULES): Added configfile.mod.
36235 (configfile_mod_SOURCES): New variable.
36236 (configfile_mod_CFLAGS): Likewise.
36237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36238 commands/configfile.c.
36239 (pkgdata_MODULES): Added configfile.mod.
36240 (configfile_mod_SOURCES): New variable.
36241 (configfile_mod_CFLAGS): Likewise.
36242 * util/grub-emu.c (main): Call grub_configfile_init and
36243 grub_configfile_fini.
36244 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36245 prototype.
36246 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36247
cee01aa6 362482005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36249
36250 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36251 address.
36252
36253 * commands/help.c (grub_cmd_help): Do not print newlines after
36254 the last command in print_command_help.
36255
93f3a1d8 362562005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36257
36258 * commands/default.h: New file.
36259 * commands/timeout.h: Likewise.
36260 * normal/context.c: Likewise.
f19dbdb7 36261
93f3a1d8 36262 * util/misc.c: Do not include sys/times.h.
36263 Include sys/time.h and grub/machine/time.h.
36264 (grub_get_rtc): Rewritten with gettimeofday.
36265
36266 * util/grub-emu.c (main): Call grub_default_init and
36267 grub_timeout_init before grub_normal_init, and call
36268 grub_timeout_fini and grub_default_fini after grub_main.
36269
36270 * util/console.c (grub_ncurses_checkkey): Return the read
36271 character or -1.
36272
36273 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36274 timeouts.
36275
36276 * normal/main.c (read_config_file): Push MENU. If this fails,
36277 print an error and wait for a user input.
36278 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36279 If a menu is empty or an error occurs, pop MENU.
36280 (grub_normal_execute): Pop and free MENU after grub_menu_run
36281 returns.
36282
36283 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36284
36285 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36286 include time.h.
36287 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36288 without GRUB_UTIL.
36289 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36290 time.h.
36291 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36292 without GRUB_UTIL.
36293
36294 * include/grub/normal.h (struct grub_menu_list): New struct.
36295 (grub_menu_list_t): New type.
36296 (struct grub_context): New struct.
36297 (grub_context_t): New type.
36298 (grub_register_command): Got rid of EXPORT_FUNC.
36299 (grub_unregister_command): Likewise.
36300 (grub_context_get): New prototype.
36301 (grub_context_get_current_menu): Likewise.
36302 (grub_context_push_menu): Likewise.
36303 (grub_context_pop_menu): Likewise.
36304 [GRUB_UTIL] (grub_default_init): Likewise.
36305 [GRUB_UTIL] (grub_default_fini): Likewise.
36306 [GRUB_UTIL] (grub_timeout_init): Likewise.
36307 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36308
36309 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36310 commands/timeout.c and normal/context.c.
36311 (pkgdata_MODULES): Added default.mod and timeout.mod.
36312 (normal_mod_SOURCES): Added normal/context.c.
36313 (default_mod_SOURCES): New variable.
36314 (default_mod_CFLAGS): Likewise.
36315 (timeout_mod_SOURCES): Likewise.
36316 (timeout_mod_CFLAGS): Likewise.
36317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36318 conf/i386-pc.rmk.
36319 (pkgdata_MODULES): Added default.mod and timeout.mod.
36320 (normal_mod_SOURCES): Added normal/context.c.
36321 (default_mod_SOURCES): New variable.
36322 (default_mod_CFLAGS): Likewise.
36323 (timeout_mod_SOURCES): Likewise.
36324 (timeout_mod_CFLAGS): Likewise.
36325
36326 * Makefile.in (all-local): Added $(MKFILES).
36327
4ed2e1dd 363282005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36329
36330 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36331 (grub_emu_SOURCES): Likewise.
36332 (pkgdata_MODULES): Add `sun.mod'.
36333 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36335 `partmap/sun.c'.
36336 (pkgdata_MODULES): Add `sun.mod'.
36337 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36338 * include/grub/partition.h (grub_sun_partition_map_init): New
36339 prototype.
36340 (grub_sun_partition_map_fini): Likewise.
36341 * partmap/sun.c: New file.
36342 * util/grub-emu.c (main): Initialize and de-initialize the sun
36343 partitionmap support.
36344
4d4e372e 363452005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36346
36347 This implements an Emacs-like menu entry editor.
f19dbdb7 36348
4d4e372e 36349 * normal/menu_entry.c: New file.
f19dbdb7 36350
4d4e372e 36351 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36352 characters to ASCII.
36353 (saved_char): New variable.
36354 (grub_ncurses_checkkey): Rewritten completely.
36355 (grub_ncurses_getkey): Likewise.
36356 (grub_ncurses_init): Call raw instead of cbreak.
36357
36358 * normal/menu.c (print_entry): Do not put a space.
36359 (init_page): Renamed to ...
36360 (grub_menu_init_page): ... this. All callers changed.
36361 (edit_menu_entry): Removed.
36362 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36363
36364 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36365
36366 * kern/misc.c (grub_vprintf): Call grub_refresh.
36367
36368 * normal/menu.c (DISP_LEFT): Renamed to ...
36369 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36370 * normal/menu.c (DISP_UP): Renamed to ...
36371 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36372 * normal/menu.c (DISP_RIGHT): Renamed to ...
36373 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36374 * normal/menu.c (DISP_DOWN): Renamed to ...
36375 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36376 * normal/menu.c (DISP_HLINE): Renamed to ...
36377 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36378 * normal/menu.c (DISP_VLINE): Renamed to ...
36379 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36380 * normal/menu.c (DISP_UL): Renamed to ...
36381 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36382 * normal/menu.c (DISP_UR): Renamed to ...
36383 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36384 * normal/menu.c (DISP_LL): Renamed to ...
36385 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36386 * normal/menu.c (DISP_LR): Renamed to ...
36387 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36388 * normal/menu.c (TERM_WIDTH): Renamed to ...
36389 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36390 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36391 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36392 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36393 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36394 * normal/menu.c (TERM_MARGIN): Renamed to ...
36395 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36396 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36397 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36398 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36399 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36400 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36401 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36402 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36403 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36404 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36405 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36406 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36407 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36408 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36409 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36410 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36411 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36412 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36413 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36414 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36415 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36416 All callers changed.
36417
36418 * include/grub/normal.h: New prototype.
36419
36420 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36421 normal/menu_entry.c.
36422 (normal_mod_SOURCES): Likewise.
36423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36424 (normal_mod_SOURCES): Likewise.
36425
e6b92c8a 364262005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36427
36428 * include/grub/normal.h (grub_halt_init): New prototype.
36429 (grub_halt_fini): Likewise.
36430 (grub_reboot_init): Likewise.
36431 (grub_reboot_fini): Likewise.
36432
36433 * util/grub-emu.c: Include signal.h.
36434 (main_env): New global variable.
36435 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36436 catch C-c.
36437 (grub_machine_fini): New function.
36438 (main): Call grub_halt_init and grub_reboot_init before
36439 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36440 Call setjmp with MAIN_ENV to go back afterwards.
36441 Call grub_machine_fini right before return.
36442
36443 * include/grub/util/misc.h: Include setjmp.h.
36444 (main_env): New prototype.
36445
36446 * include/grub/kernel.h (grub_machine_fini): New prototype.
36447 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36448 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36449
36450 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36451 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36452 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 36453
e6b92c8a 36454 * util/i386/pc/misc.c: New file.
f19dbdb7 36455
e6b92c8a 36456 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36457 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36458 commands/i386/pc/reboot.c.
36459
c642636f 364602005-02-14 Guillem Jover <guillem@hadrons.org>
36461
36462 * include/grub/dl.h (grub_dl_check_header): New prototype.
36463 (grub_arch_dl_check_header): Change return type to grub_err_t,
36464 remove size parameter and export function. Update all callers.
36465 * kern/dl.c (grub_dl_check_header): New function.
36466 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36467 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36468 are inside the core.
36469 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36470 independent ELF header checks.
36471 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36472 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36473 `grub_dl_check_header' instead of explicit checks. Check for the
36474 ELF type.
36475 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36476 `grub_dl_check_header' instead of explicit checks. Remove arch
36477 specific ELF header checks.
36478
e6b92c8a 36479 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36480 argument SIZE.
36481
5eabe94b 364822005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36483
36484 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36485 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36486
1b14a681 364872005-02-12 Hollis Blanchard <hollis@penguinppc.org>
36488
36489 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 36490 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 36491 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 36492 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 36493 * partmap/amiga.c (amiga_partition_map_iterate): Return
36494 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
36495 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36496
aca108aa 364972005-02-01 Guillem Jover <guillem@hadrons.org>
36498
36499 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
36500 help info.
36501
c9f9c556 365022005-01-31 Marco Gerards <metgerards@student.han.nl>
36503
36504 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
36505 Removed prototype.
36506 (grub_rescue_cmd_linux): New prototype.
36507 (grub_rescue_cmd_initrd): Likewise.
36508 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
36509 `bi_rec'.
36510 (grub_linux_release_mem): Release the memory for the initrd.
36511 (grub_load_linux): Renamed from this...
36512 (grub_rescue_cmd_linux): ...To this. Changed all callers.
36513 Changed `entry' not to be static. Loop over memory regions to
36514 find another one when the default fails.
36515 (grub_rescue_cmd_initrd): New function.
36516 (grub_linux_init): Remove function.
36517 (grub_linux_fini): Likewise.
36518 (GRUB_MOD_INIT): Register `initrd'.
36519 (GRUB_MOD_FINI): Unregister `initrd'.
36520 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
36521 Function removed.
36522 (grub_linux_normal_fini): Likewise.
36523 (GRUB_MOD_INIT): Register `initrd'.
36524 (GRUB_MOD_FINI): Unregister `initrd'.
36525
990cf3aa 365262005-01-31 Marco Gerards <metgerards@student.han.nl>
36527
36528 * commands/help.c: New file.
36529 * normal/arg.c (show_help): Renamed to...
36530 (grub_arg_show_help): ... this.
36531 * commands/i386/pc/halt.c: New file.
36532 * commands/i386/pc/reboot.c: Likewise.
36533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
36534 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
36535 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
36536 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
36537 variables.
36538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36539 `commands/help.c'.
36540 (pkgdata_MODULES): Add `help.mod'.
36541 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
36542 * grub/i386/pc/init.h (grub_reboot): New prototype.
36543 (grub_halt): Likewise.
36544 * include/grub/normal.h (grub_arg_show_help): New prototype.
36545 (grub_help_init): Likewise.
36546 (grub_help_fini): Likewise.
36547 * util/grub-emu.c (main): Initialize and deinitialize the help
36548 command.
36549
36550 * normal/cmdline.c (grub_cmdline_get): Doc fix.
36551
36552 * normal/command.c (grub_command_init): Fixed the description of
36553 the `set' and `unset' commands.
36554
365552005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 36556
36557 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
36558 function.
36559 * commands/ieee1275/halt.c: New file.
36560 * commands/ieee1275/reboot.c: Likewise.
36561 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
36562 `__attribute__ ((unused))'. Some GCS related fixed.
36563 (grub_suspend_init) [GRUB_UTIL]: Function removed.
36564 (grub_suspend_fini): Likewise.
36565 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
36566 and `halt.mod'.
36567 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
36568 (halt_mod_CFLAGS): New variables.
36569 * include/grub/powerpc/ieee1275/ieee1275.h
36570 (grub_ieee1275_interpret): New prototype.
36571
1ab09cc7 365722005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
36573
36574 * include/grub/misc.h (memmove): New prototype.
36575 (memcpy): Likewise.
36576
8b8cbdb2 365772005-01-22 Hollis Blanchard <hollis@penguinppc.org>
36578
36579 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
36580 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
36581
e3741a27 365822005-01-22 Marco Gerards <metgerards@student.han.nl>
36583
36584 * kern/misc.c (grub_strndup): Function rewritten.
36585
776bd780 365862005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
36587
36588 * normal/menu.c (TERM_WIDTH): Macro redefined.
36589 (TERM_TOP_BORDER_Y): Likewise.
36590 (draw_border): Replaced while-loop by a for-loop. Make the number
36591 of lines consistent with the number of lines displayed in
36592 print_entries. Added a margin below the rectangle.
36593 (print_entry): Make the entry fit in the rectangle.
36594 (print_entries): Display the scroll arrows next to the right
36595 border.
36596
78026bce 365972005-01-21 Marco Gerards <metgerards@student.han.nl>
36598
36599 * fs/minix.c (grub_minix_find_file): Reserve more space for
36600 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
36601 `grub_strncpy' to copy `path' into it.
36602
67bbaf0f 366032005-01-21 Marco Gerards <metgerards@student.han.nl>
36604
36605 Add the loopback device, a device via which files can be accessed
36606 as devices.
f19dbdb7 36607
67bbaf0f 36608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
36609 (pkgdata_MODULES): Add loopback.mod.
36610 (loopback_mod_SOURCES): New variable.
36611 (loopback_mod_CFLAGS): Likewise.
36612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36613 `disk/loopback.c'.
36614 (pkgdata_MODULES): Add loopback.mod.
36615 (loopback_mod_SOURCES): New variable.
36616 (loopback_mod_CFLAGS): Likewise.
36617 * disk/loopback.c: new file.
36618 * include/grub/normal.h (grub_loop_init): New prototype.
36619 (grub_loop_fini): New prototype.
36620 * util/grub-emu.c (main): Initialize and de-initialize loopback
36621 support.
36622 * include/grub/disk.h (grub_disk_dev_id): Add
36623 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
36624
6f1c18bd 366252005-01-20 Hollis Blanchard <hollis@penguinppc.org>
36626
36627 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
36628 function.
36629 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
36630 (suspend_mod_SOURCES): New variable.
36631 (suspend_mod_CFLAGS): Likewise.
36632 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
36633 New prototype.
36634 * commands/ieee1275/suspend.c: New file.
36635
b38551da 366362005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36637
36638 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 36639 ((unused))' to `__attribute__ ((used))'.
b38551da 36640 (GRUB_MOD_FINI): Likewise.
36641 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
36642 * genmk.rb (PModule): Assign space to common symbols when linking
36643 modules.
36644
777aff39 366452005-01-20 Marco Gerards <metgerards@student.han.nl>
36646
36647 * include/grub/mm.h (grub_mm_init_region): Change the type of the
36648 `unsigned' arguments to `grub_size_t'.
36649 (grub_malloc): Likewise.
36650 (grub_realloc): Likewise.
36651 (grub_memalign): Likewise.
36652 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
36653 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36654 * util/misc.c (grub_malloc): Likewise.
36655 (grub_realloc): Likewise.
36656 * kern/mm.c (get_header_from_pointer): Change the casts to
36657 `unsigned' into a cast to `grub_size_t'.
36658
36659 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
36660 point to `currnode' when `currnode' is changed.
36661
36662 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
36663 Schottelius <nico-linux@schottelius.org>.
36664
d0ff18e1 366652005-01-09 Hollis Blanchard <hollis@penguinppc.org>
36666
36667 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
36668 (note_path): Remove variable.
36669 (GRUB_IEEE1275_NOTE_NAME): New macro.
36670 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
36671 (grub_ieee1275_note_hdr): New structure.
36672 (grub_ieee1275_note_desc): Likewise.
36673 (grub_ieee1275_note): Likewise.
36674 (load_note): Remove `dir' argument. All callers updated. Remove
36675 `note_img' and `path'. Do not load a file from `note_path'.
36676 Initialize a struct grub_ieee1275_note and write that to `out'.
36677 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
36678
4ca7004c 366792005-01-05 Marco Gerards <metgerards@student.han.nl>
36680
36681 * util/misc.c (grub_util_read_image): Revert last change. It
36682 called `grub_util_read_at', which seeks from the beginning of the
36683 file.
36684
0b412211 366852005-01-04 Hollis Blanchard <hollis@penguinppc.org>
36686
36687 * TODO: Add note about endianness in grub-mkimage.
36688 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
36689 section.
36690 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
36691 (grub_mkimage_SOURCES): New target.
36692 * include/grub/kernel.h (grub_start_addr): Remove variable.
36693 (grub_end_addr): Likewise.
36694 (grub_total_module_size): Likewise.
36695 (grub_kernel_image_size): Likewise.
36696 (GRUB_MODULE_MAGIC): New constant.
36697 (grub_module_info): New structure.
36698 (grub_arch_modules_addr): New prototype.
36699 (grub_get_end_addr): Remove prototype.
36700 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
36701 * include/grub/powerpc/ieee1275/kernel.h: New file.
36702 * include/grub/util/misc.h (grub_util_get_fp_size): New
36703 prototype.
36704 (grub_util_read_at): Likewise.
36705 (grub_util_write_image_at): Likewise.
36706 * kern/main.c (grub_get_end_addr): Remove function.
36707 (grub_load_modules): Call grub_arch_modules_addr instead of using
36708 grub_end_addr. Look for a grub_module_info struct in memory. Use
36709 the grub_module_info fields instead of calling grub_get_end_addr
36710 as loop conditions. Move grub_add_unused_region code here.
36711 (grub_add_unused_region): Remove function.
36712 * kern/i386/pc/init.c: Include grub/cache.h.
36713 (grub_machine_init): Remove call to grub_get_end_addr. Remove
36714 one call to add_mem_region.
36715 (grub_arch_modules_addr): New function.
36716 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
36717 (grub_total_module_size): Likewise.
36718 Include grub/machine/kernel.h.
36719 (grub_arch_modules_addr): New function.
36720 * util/grub-emu.c (grub_end_addr): Remove variable.
36721 (grub_total_module_size): Likewise.
36722 (grub_arch_modules_addr): New function.
36723 * util/misc.c: Include unistd.h.
36724 (grub_util_get_fp_size): New function.
36725 (grub_util_read_at): Likewise.
36726 (grub_util_write_image_at): Likewise.
36727 (grub_util_read_image): Call grub_util_read_at.
36728 (grub_util_write_image): Call grub_util_write_image_at.
36729 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
36730 additional memory in kernel_img for a struct grub_module_info.
36731 Fill in that grub_module_info.
36732 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36733
458786f8 367342005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36735
36736 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36737 New function.
36738 * include/grub/powerpc/ieee1275/ieee1275.h
36739 (grub_ieee1275_milliseconds): New prototype.
36740 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36741 Change to 1000.
36742 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36743 grub_ieee1275_milliseconds.
36744
ac507d1b 367452005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36746
36747 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36748 variable.
36749 (find_options): New function.
36750 (cmain): Call find_options.
36751 * include/grub/powerpc/ieee1275/ieee1275.h
36752 (grub_ieee1275_realmode): New extern variable.
36753 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36754 grub_map if grub_ieee1275_realmode is false.
36755
6b8fd1c4 367562004-12-29 Marco Gerards <metgerards@student.han.nl>
36757
36758 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36759 lines are inserted and make it work like readline. Reported by
36760 Vincent Pelletier <subdino2004@yahoo.fr>.
36761
8514a1e0 367622004-12-28 Marco Gerards <metgerards@student.han.nl>
36763
36764 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36765
36766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36767 `kern/powerpc/cache.S'.
36768
924b6140 367692004-12-27 Marco Gerards <metgerards@student.han.nl>
36770
36771 * genmk.rb: Handle the `Program' class in the main loop. Written
36772 by Johan Rydberg <jrydberg@gnu.org>.
36773 (Program): New class.
36774 (programs): New variable.
36775 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36776 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36777 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36778 (help_arch): Function removed.
36779 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36780 `powerpc/libgcc.h' and `loader.h'.
36781 (pkgdata_PROGRAMS): New variable.
36782 (sbin_UTILITIES): Variable removed.
36783 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
36784 (grubof_SOURCES): Variable re-defined so it only includes the
36785 core functionality.
36786 (grubof_CFLAGS): Remove `-DGRUBOF'.
36787 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
36788 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
36789 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
36790 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
36791 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
36792 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
36793 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
36794 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
36795 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
36796 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
36797 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36798 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
36799 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
36800 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
36801 (pc_mod_CFLAGS): New variables.
36802 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
36803 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
36804 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
36805 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
36806 Moved from here...
36807 * include/grub/i386/pc/init.h (grub_os_area_addr)
36808 (rub_os_area_size): ... to here.
36809 * include/grub/powerpc/ieee1275/ieee1275.h
36810 (grub_ieee1275_entry_fn): Export symbol.
36811 * include/grub/powerpc/ieee1275/init.h: New file.
36812 * include/grub/powerpc/libgcc.h: Likewise.
36813 * include/grub/cache.h: Likewise.
36814 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
36815 <hollis@penguinppc.org>.
36816 * kern/dl.c: Include <grub/cache.h>.
36817 (grub_dl_flush_cache): New function.
36818 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
36819 for this module.
36820 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
36821 (grub_console_init): Removed prototypes.
36822 (grub_machine_init): Don't initialize the modules anymore.
36823 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
36824 static.
36825 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
36826 Macro undef removed.
36827 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
36828 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
36829 relocation `R_PPC_REL32'. Return an error when the relocation is
36830 unknown.
36831 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
36832 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
36833 * util/misc.c (grub_arch_sync_caches): Likewise.
36834
e4b47e0c 368352004-12-19 Marco Gerards <metgerards@student.han.nl>
36836
36837 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
36838 `symlist.c', add `grubof_symlist.c'.
36839 (symlist.c): Variable removed.
36840 (grubof_HEADERS): Variable added.
36841 (grubof_symlist.c): New target.
36842 (kernel_syms.lst): Use `grubof_HEADERS' instead of
36843 `kernel_img_HEADERS'.
36844 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
36845 * kern/powerpc/dl.c: New file.
36846 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
36847 Function removed.
36848 (grub_arch_dl_relocate_symbols): Likewise.
36849 (grub_register_exported_symbols): Likewise.
36850
4ceb3636 368512004-12-13 Marco Gerards <metgerards@student.han.nl>
36852
36853 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
36854 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
36855 to fail instead. Reported by Vincent Pelletier
36856 <subdino2004@yahoo.fr>.
36857
36858 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
36859 it is not allocated. Reported by Vincent Pelletier
36860 <subdino2004@yahoo.fr>.
36861
36862 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
36863 output so the output looks better.
f19dbdb7 36864
3f1578fe 368652004-12-04 Marco Gerards <metgerards@student.han.nl>
36866
36867 Modulize the partition map support and add support for the amiga
36868 partition map.
f19dbdb7 36869
3f1578fe 36870 * commands/ls.c: Include <grub/partition.h> instead of
36871 <grub/machine/partition.h>.
36872 * kern/disk.c: Likewise.
36873 * kern/rescue.c: Likewise.
36874 * loader/i386/pc/chainloader.c: Likewise.
36875 * normal/cmdline.c: Likewise.
36876 * kern/powerpc/ieee1275/init.c: Likewise.
36877 (grub_machine_init): Call `grub_pc_partition_map_init',
36878 `grub_amiga_partition_map_init' and
36879 `grub_apple_partition_map_init'.
36880 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
36881 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
36882 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
36883 `partition.h' and `pc_partition.h'.
36884 (grub_setup_SOURCES): Remove
36885 `disk/i386/pc/partition.c'. Add `kern/partition.c',
36886 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36887 (grub_emu_SOURCES): Likewise.
36888 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
36889 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
36890 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
36891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36892 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
36893 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36894 (grubof_SOURCES): Likewise.
36895 * disk/i386/pc/partition.c: File removed.
36896 * disk/powerpc/ieee1275/partition.c: Likewise.
36897 * include/grub/powerpc/ieee1275/partition.h: Likewise.
36898 * include/grub/i386/pc/partition.h: Likewise.
36899 * kern/partition.c: New file.
36900 * partmap/amiga.c: Likewise.
36901 * partmap/apple.c: Likewise.
36902 * partmap/pc.c: Likewise.
36903 * include/grub/partition.h: Likewise..
36904 * include/grub/pc_partition.h: Likewise.
36905 * util/grub-emu.c: Include <grub/partition.h> instead of
36906 <grub/machine/partition.h>.
36907 (main): Call `grub_pc_partition_map_init',
36908 `grub_amiga_partition_map_init' and
36909 `grub_apple_partition_map_init' and deinitialize afterwards.
36910 * util/i386/pc/biosdisk.c: Include `#include
36911 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36912 `<grub/machine/partition.h>'.
36913 * util/i386/pc/grub-setup.c: Likewise.
36914 * util/i386/pc/biosdisk.c: Likewise.
36915 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
36916 partition information in case of a PC partition.
36917 * util/i386/pc/grub-setup.c: Include `#include
36918 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36919 `<grub/machine/partition.h>'.
36920 (setup): Only access the PC specific partition information in case
36921 of a PC partition.
36922
0ef4ced9 369232004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36924
0ef4ced9 36925 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
36926 (grub_longjmp): Likewise.
36927 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
36928 20.
36929 * normal/powerpc/setjmp.S: New file.
36930 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36931 `normal/powerpc/setjmp.S'.
36932 (grubof_CFLAGS): Add `-DGRUBOF'.
36933 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
36934 [GRUB_UTIL && !GRUBOF].
f19dbdb7 36935
19950e29 369362004-11-16 Marco Gerards <metgerards@student.han.nl>
36937
36938 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
36939 property named `name'. Correctly handle the error returned by
36940 `grub_ieee1275_finddevice' if a device can not be opened.
36941
a2fea427 369422004-11-02 Hollis Blanchard <hollis@penguinppc.org>
36943
36944 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
36945 `actual' for negativity.
36946 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36947 kern/fshelp.c.
36948
41ea0ea3 369492004-11-01 Marco Gerards <metgerards@student.han.nl>
36950
36951 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
36952 (PAGE_OFFSET): New macro.
36953 (CRTC_ADDR_PORT): Likewise.
36954 (CRTC_DATA_PORT): Likewise.
36955 (START_ADDR_HIGH_REGISTER): Likewise.
36956 (START_ADDR_LOW_REGISTER): Likewise.
36957 (GRAPHICS_ADDR_PORT): Likewise.
36958 (GRAPHICS_DATA_PORT): Likewise.
36959 (READ_MAP_REGISTER): Likewise.
36960 (INPUT_STATUS1_REGISTER): Likewise.
36961 (INPUT_STATUS1_VERTR_BIT): Likewise.
36962 (page): New variable.
36963 (wait_vretrace): New function.
36964 (set_read_map): Likewise.
36965 (set_start_address): Likewise.
36966 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
36967 the right page.
36968 (check_vga_mem): Take the page into account.
36969 (write_char): Likewise.
36970 (write_cursor): Likewise.
36971 (scroll_up): Likewise. Copy the page to the page that is not
36972 shown and switch between both pages.
36973 (grub_vga_putchar): Fix off by one error.
36974 (grub_vga_cls): Wait for the vertical retrace. Take the page into
36975 account.
36976
ad0bd20b 369772004-11-01 Marco Gerards <metgerards@student.han.nl>
36978
36979 Add support for iso9660 (including rockridge).
f19dbdb7 36980
ad0bd20b 36981 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36982 (iso9660_mod_SOURCES): New variable.
36983 (iso9660_mod_CFLAGS): Likewise.
36984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36985 * include/grub/fs.h (grub_iso9660_init): New prototype.
36986 * util/grub-emu.c (main): Call `grub_iso9660_init'.
36987 * fs/iso9660.c: New file.
36988
36989 * include/grub/misc.h (grub_strncat): New prototype.
36990 * kern/misc.c (grub_strncat): New function.
f19dbdb7 36991
ad0bd20b 36992 * fs/hfs.c (grub_hfs_mount): Translate the error
36993 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
36994 * fs/jfs.c (grub_jfs_mount): Likewise.
36995 * fs/ufs.c (grub_ufs_mount): Likewise.
36996
a5477a59 369972004-10-28 Hollis Blanchard <hollis@penguinppc.org>
36998
36999 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37000 which initialized BAT registers.
37001 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37002 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37003 Move from here...
37004 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37005 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37006 ... to here.
37007 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37008 (grub_mapclaim): Likewise.
37009 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37010 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37011 hand.
37012
9304c1f8 370132004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37014
37015 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37016 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37017 -ffreestanding and -msoft-float.
37018
86f4ae25 370192004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37020
37021 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37022 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37023 set in grub_ieee1275_flags.
37024
38912228 370252004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37026
37027 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37028 prototype.
37029 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37030 grub_console_init first.
37031 Change the memory range used for grub_ieee1275_claim and
37032 grub_mm_init_region.
37033 Print an error message if the claim fails.
37034 Include <grub/misc.h>.
37035
d1923dc8 370362004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37037
37038 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37039 Call grub_children_iterate for device nodes of type `scsi',
37040 `ide', or `ata'.
37041 (grub_ofdisk_open): Remove manual device alias resolution.
37042 Fix memory leak when device cannot be opened.
f19dbdb7 37043 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37044 (grub_children_iterate): New prototype.
37045 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37046 New function.
37047 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37048 Return -1 if args.size was -1.
37049
4512e4f3 370502004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37051
37052 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37053 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37054 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37055 Open Firmware's memory for it; claim memory from _start to _end.
37056 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37057 (_end): New extern.
37058 (_start): Zero BSS from __bss_start to _end.
37059 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37060 New extern.
37061 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37062
4d61feb0 370632004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37064
ad0bd20b 37065 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37066 -1 if args.base was -1.
4d61feb0 37067
026fa2f9 370682004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37069
37070 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37071 escape sequence instead of a literal ^L. Also call
37072 grub_ofconsole_gotoxy.
37073
9f2220ef 370742004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37075
37076 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37077 void * arguments to grub_addr_t. All callers updated. Also make
37078 the `result' argument optional.
37079 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37080 All callers updated.
37081
8a572cd7 370822004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37083
37084 * commands/ls.c (grub_ls_list_files): Use the string following the
37085 initial ')', if present, as the filesystem path.
37086 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37087
37088 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37089
18aa81f2 370902004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37091
37092 Make the source code of the menu interface more readable.
f19dbdb7 37093
18aa81f2 37094 * normal/menu.c: Include grub/mm.h.
37095 (TERM_WIDTH): New macro.
37096 (TERM_HEIGHT): Likewise.
37097 (TERM_INFO_HEIGHT): Likewise.
37098 (TERM_MARGIN): Likewise.
37099 (TERM_SCROLL_WIDTH): Likewise.
37100 (TERM_TOP_BORDER_Y): Likewise.
37101 (TERM_LEFT_BORDER_X): Likewise.
37102 (TERM_BORDER_WIDTH): Likewise.
37103 (TERM_MESSAGE_HEIGHT): Likewise.
37104 (TERM_BORDER_HEIGHT): Likewise.
37105 (TERM_NUM_ENTRIES): Likewise.
37106 (TERM_FIRST_ENTRY_Y): Likewise.
37107 (TERM_ENTRY_WIDTH): Likewise.
37108 (TERM_CURSOR_X): Likewise.
37109 (draw_border): Use macros instead of magic numbers.
37110 (print_entry): Likewise.
37111 (print_entries): Likewise.
37112 (run_menu): Likewise. Also, handle the key 'e'.
37113 (run_menu_entry): Ignore empty command lines.
37114 (print_message): Added a new argument EDIT. If EDIT is true,
37115 print a different message.
37116 (init_page): Likewise.
37117 (edit_menu_entry): New function. Not implemented yet.
37118
b47efe30 371192004-09-17 Marco Gerards <metgerards@student.han.nl>
37120
37121 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37122 can be loaded from normal mode.
f19dbdb7 37123
b47efe30 37124 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37125 `multiboot.mod'.
37126 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37127 (multiboot_mod_CFLAGS): New variables.
37128 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37129 * loader/i386/pc/multiboot_normal.c: Likewise.
37130
b47efe30 37131 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37132 attribute `unused'.
f19dbdb7 37133
b47efe30 37134 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37135 `fdiro' to read the mode information from instead of `diro'.
37136
37137 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37138 looking up a symlink.
37139
37140 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37141 macro.
37142 * normal/command.c (grub_command_execute): Don't parse the
37143 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37144 flags of the command.
37145
37146 * normal/menu.c (grub_menu_run): Fix typo.
37147
da75ac71 371482004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37149
37150 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37151
37152 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37153 `y + 1' instead of `y - 1'.
37154
37155 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37156
062b24c2 371572004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37158
37159 From Hollis Blanchard <hollis@penguinppc.org>:
37160 * kern/misc.c (memmove): New alias for grub_memmove.
37161 (memcmp): New alias for grub_memcmp.
37162 (memset): New alias for grub_memset.
f19dbdb7 37163 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37164 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37165 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37166 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37167
8ddad845 371682004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37169
37170 Added normal mode command `chainloader' as module chain.mod, which
37171 depends on normal.mod and _chain.mod.
f19dbdb7 37172
8ddad845 37173 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37174 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37175 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37176 Deleted prototype.
37177 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37178 but arguments parsing moved to ...
37179 (grub_chainloader_cmd): ... here. New function.
37180 * include/grub/i386/pc/chainloader.h: New file.
37181 * loader/i386/pc/chainloader_normal.c: Likewise.
37182
2c1f4ce3 371832004-09-11 Marco Gerards <metgerards@student.han.nl>
37184
37185 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37186 (grub_mkimage_LDFLAGS): Likewise.
37187 (grub_emu_SOURCES): Likewise.
37188 (kernel_img_HEADERS): Added fshelp.h.
37189 * fs/ext2.c: Include <grub/fshelp.h>.
37190 (FILETYPE_REG): New macro.
37191 (FILETYPE_INO_REG): Likewise.
37192 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37193 Changed all users.
37194 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37195 all users.
37196 (grub_fshelp_node): New struct.
37197 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37198 to a pointer.
37199 (grub_ext2_get_file_block): Removed function.
37200 (grub_ext2_read_block): New function.
37201 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37202 This function was written.
37203 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37204 (grub_ext2_find_file): Removed function.
37205 (grub_ext2_read_symlink): New function.
37206 (grub_ext2_iterate_dir): Likewise.
37207 (grub_ext2_open): Rewritten.
37208 (grub_ext2_dir): Rewritten.
37209 * include/grub/fshelp.h: New file.
37210 * fs/fshelp.c: Likewise.
37211
3c52136a 372122004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37213
37214 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37215 (print_message): Add a missing newline.
37216 (run_menu): Added timeout support.
37217 (run_menu_entry): New local function.
37218 (grub_menu_run): Added support for booting.
37219
37220 * kern/loader.c (grub_loader_is_loaded): New function.
37221
37222 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37223 (grub_get_rtc): Exported.
37224
37225 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37226 (grub_get_rtc): Exported.
37227
37228 * include/grub/normal.h (struct grub_command_list): Remove
37229 constant from the member `command'.
37230
37231 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37232
37233 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37234
37235 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37236
aa033560 372372004-08-28 Marco Gerards <metgerards@student.han.nl>
37238
37239 Add support for the JFS filesystem.
37240
37241 * fs/jfs.c: New file.
37242 * include/grub/fs.h (grub_jfs_init): New prototype.
37243 (grub_jfs_fini): New prototype.
37244 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37245 (grub_emu_SOURCES): Likewise.
37246 (pkgdata_MODULES): Add jfs.mod.
37247 (jfs_mod_SOURCES): New variable.
37248 (jfs_mod_CFLAGS): Likewise.
37249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37250 (grubof_SOURCES): Likewise.
37251 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37252
37253 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37254 endian to the host endian.
37255 (grub_fat_utf16_to_utf8): Move function from there...
37256 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37257 the endianness of the source string anymore.
aa033560 37258 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37259
94bc45af 372602004-08-24 Marco Gerards <metgerards@student.han.nl>
37261
37262 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37263 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37264 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37265 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37266
94bc45af 37267 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37268 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37269 for `node_found' and `it_dir'.
37270 (grub_hfs_dir): Add prototype for `dir_hook'.
37271
37272 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37273 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37274 and `indir32' to silence a gcc warning.
37275
37276 * include/grub/fs.h (grub_hfs_init): New prototype.
37277 (grub_hfs_fini): Likewise.
f19dbdb7 37278
37279
97543f08 372802004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37281
37282 Each disk device has its own id now. This is useful to make use
37283 of multiple disk devices.
f19dbdb7 37284
97543f08 37285 * include/grub/disk.h (grub_disk_dev_id): New enum.
37286 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37287 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37288
37289 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37290 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37291
37292 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37293 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37294
37295 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37296 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37297
37298 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37299 "id" which is used by the cache manager.
37300
37301 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37302 of just "GRUB".
37303
64372eb4 373042004-08-18 Marco Gerards <metgerards@student.han.nl>
37305
37306 * fs/hfs.c: New file.
37307 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37308 (grub_emu_SOURCES): Likewise.
37309 (pkgdata_MODULES): Add hfs.mod.
37310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37311 (grubof_SOURCES): Likewise.
37312 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37313
37314 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37315 * kern/misc.c (grub_strncasecmp): Add function.
37316
cc61b58f 373172004-08-14 Marco Gerards <metgerards@student.han.nl>
37318
37319 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37320 with parentheses.
37321
37322 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37323 (grub_ext2_dir): In case the directory entry type is unknown, read
37324 it from the inode.
37325
0ef123f6 373262004-08-02 Peter Bruin <pjbruin@dds.nl>
37327
37328 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37329 grub_load_linux instead of grub_rescue_cmd_linux as second
37330 argument of grub_rescue_register_command.
37331
37332 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37333
a447c5df 373342004-07-27 Marco Gerards <metgerards@student.han.nl>
37335
37336 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37337 function.
37338 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37339 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37340 `loader/powerpc/ieee1275/linux.c',
37341 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37342 * include/grub/powerpc/ieee1275/ieee1275.h
37343 (grub_ieee1275_release): New prototype.
37344 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37345 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37346 normal, boot, linux and linux_normal.
37347 * loader/powerpc/ieee1275/linux.c: New file.
37348 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37349
5a9e3546 373502004-07-12 Marco Gerards <metgerards@student.han.nl>
37351
37352 * normal/arg.c (grub_arg_parse): Correct error handling after
37353 reallocating the argumentlist (check if `argl' is not null instead
37354 of checking if `args' is not null).
37355 * kern/mm.c (grub_realloc): Return the same pointer when using the
37356 same region, instead of returning the header address.
37357
e15199cb 373582004-07-11 Marco Gerards <metgerards@student.han.nl>
37359
37360 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37361 one block instead of two when looking for the initial partition.
37362 (grub_partition_probe): Initialize the local variable `p' with 0.
37363 Use base 10 for the grub_strtoul call.
37364 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37365 need for one local variable.
37366 (grub_strtoul): Don't add the new value to `num', instead of that
37367 just assign it.
37368
020616c2 373692004-07-11 Marco Gerards <metgerards@student.han.nl>
37370
37371 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37372 (pxeboot_img_SOURCES): New variable.
37373 (pxeboot_img_ASFLAGS): Likewise.
37374 (pxeboot_img_LDFLAGS): Likewise.
37375 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37376 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37377 <lode_leroy@hotmail.com>.
37378
6c51eb64 373792004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37380
37381 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37382 there was no input.
37383
cfb12aff 373842004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37385
37386 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37387 the history buffer logic.
37388
6eabba74 373892004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37390
37391 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37392 (FILETYPE_INO_SYMLINK): New macros.
37393 (grub_ext2_find_file): Check if the node is a directory using the
37394 inode stat information instead of using the filetype in the
37395 dirent. Exclude the first character of an absolute symlink.
37396 (grub_ext2_dir): Mask out the filetype part of the mode member of
37397 the inode.
37398
66e19ef8 373992004-05-24 Marco Gerards <metgerards@student.han.nl>
37400
37401 Add support for UFS version 1 and 2. Add support for the minix
37402 filesystem version 1 and 2, both the variants with 14 and 30 long
37403 filenames.
f19dbdb7 37404
66e19ef8 37405 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37406 fs/minix.c.
37407 (grub_emu_SOURCES): Likewise.
37408 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37409 (ufs_mod_SOURCES): New variable.
37410 (ufs_mod_CFLAGS): Likewise.
37411 (minix_mod_SOURCES): Likewise.
37412 (minix_mod_CFLAGS): Likewise.
37413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37414 fs/minix.c.
37415 (grubof_SOURCES): Likewise.
37416 * fs/ufs.c: New file.
37417 * fs/minix.c: New file.
37418 * include/grub/fs.h (grub_ufs_init): New prototype.
37419 (grub_ufs_fini): Likewise.
37420 (grub_minix_init): Likewise.
37421 (grub_minix_fini): Likewise.
37422 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37423 minix fs.
37424
cc2e748a 374252004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37426
37427 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37428 commands/ls.c, commands/terminal.c, commands/boot.c,
37429 commands/cmp.c and commands/cat.c.
37430 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37431
37432 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37433 "env.h"
37434
4b13b216 374352004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37436
37437 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37438 and grub_, respectively. Because the conversion is trivial and
37439 mechanical, I omit the details here. Please refer to the CVS
37440 if you need more information.
37441
6a142551 374422004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37443
37444 * include/pupa: Renamed to ...
37445 * include/grub: ... this.
37446 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37447 * util/i386/pc/grub-mkimage.c: ... this.
37448 * util/i386/pc/pupa-setup.c: Renamed to ...
37449 * util/i386/pc/grub-setup.c: ... this.
37450 * util/pupa-emu.c: Renamed to ...
37451 * util/grub-emu.c: ... this.
37452
e56cdf21 374532004-03-29 Marco Gerards <metgerards@student.han.nl>
37454
37455 Add support for the newworld apple macintosh (PPC). This has been
37456 tested on the powerbook 2000 only. It only adds support for
37457 generic ieee1275 functions, console and disk support. This should
37458 be easy to port to other architectures with support for Open
37459 Firmware.
f19dbdb7 37460
e56cdf21 37461 * configure.ac: Accept the powerpc as host_cpu. In the case of
37462 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37463 specific tests are only executed while building for the i386.
37464 Inverse test for crosscompile.
37465 * genmk.rb (Utility): Allow assembler files.
37466 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37467 * conf/powerpc-ieee1275.rmk: New file.
37468 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37469 * disk/powerpc/ieee1275/partition.c: Likewise.
37470 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37471 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37472 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37473 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37474 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37475 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37476 * include/pupa/powerpc/ieee1275/loader.h
37477 * include/pupa/powerpc/setjmp.h: Likewise.
37478 * include/pupa/powerpc/types.h: Likewise.
37479 * kern/powerpc/ieee1275/init.c: Likewise.
37480 * kern/powerpc/ieee1275/openfw.c: Likewise.
37481 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37482
37483 These files were written by Johan Rydberg
37484 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 37485
e56cdf21 37486 * boot/powerpc/ieee1275/cmain.c: New file.
37487 * boot/powerpc/ieee1275/crt0.S: Likewise.
37488 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
37489 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
37490
8c8cc205 374912004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
37492
37493 * Makefile.in: Update copyright.
37494 * genmodsrc.sh: Likewise.
37495 * gensymlist.sh: Likewise.
37496 * term/i386/pc/vga.c: Indent correctly.
37497
37498 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
37499 bugreporting address.
37500 * util/i386/pc/pupa-setup.c (usage): Likewise,
37501 (main): Call pupa_ext2_init and pupa_ext2_fini.
37502
f19dbdb7 37503 * fs/fat.c (log2): Renamed to ...
8c8cc205 37504 (fat_log2): ... this.
37505 All callers changed.
37506 * kern/misc.c (memcpy): Alias to pupa_memmove.
37507 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
37508 lvalue cast.
37509 * util/console.c (pupa_ncurses_fini): Return 0.
37510
37511 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
37512 Move fail label here.
37513 [__GNU__]: Don't warn when using stat.
37514 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
37515 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
37516 long int. Use strtol instead of strtoul.
f19dbdb7 37517
db1771cf 375182004-03-14 Marco Gerards <metgerards@student.han.nl>
37519
37520 * commands/boot.c: New file.
37521 * commands/cat.c: Likewise.
37522 * commands/cmp.c: Likewise.
37523 * commands/ls.c: Likewise.
37524 * commands/terminal.c: Likewise.
37525 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
37526 (pupa_register_command): Changed interface to match the new
37527 argument parser.
37528 (pupa_command_execute): Changed (almost rewritten) so it uses
37529 pupa_split_command. Added support for setting variables using the
37530 syntax `foo=bar'.
37531 (rescue_command): Changed to work with the new argument parser.
37532 (terminal_command): Moved from here to commands/terminal.c.
37533 (set_command): New function.
37534 (unset_command): New function.
37535 (insmod_command): New function.
37536 (rmmod_command): New function.
37537 (lsmod_command): New function.
37538 (pupa_command_init): Don't initialize the command terminal
37539 anymore. Initialize the commands set, unset, insmod, rmmod and
37540 lsmod.
37541 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
37542 (kernel_img_HEADERS): Add arg.h and env.h.
37543 (pupa_mkimage_LDFLAGS): Add kern/env.c.
37544 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
37545 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
37546 normal/arg.c.
37547 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
37548 terminal.mod.
37549 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
37550 (boot_mod_SOURCES): New variable.
37551 (terminal_mod_SOURCES): Likewise.
37552 (ls_mod_SOURCES): Likewise.
37553 (cmp_mod_SOURCES): Likewise.
37554 (cat_mod_SOURCES): Likewise.
37555
37556 * normal/arg.c: New file.
37557 * kern/env.c: Likewise.
37558 * include/pupa/arg.h: Likewise.
37559 * include/pupa/env.h: Likewise.
37560 * font/manager.c (font_command): Changed to match argument parsing
37561 interface changes.
37562 (PUPA_MOD_INIT): Likewise.
37563 * hello/hello.c (pupa_cmd_hello): Likewise.
37564 (PUPA_MOD_INIT): Likewise.
37565 * include/pupa/disk.h: Include <pupa/device.h>.
37566 (pupa_print_partinfo): New prototype.
37567 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
37568 (pupa_dl_get_prefix): Likewise.
37569 * include/pupa/misc.h: Include <pupa/err.h>.
37570 (pupa_isgraph): New prototype.
37571 (pupa_isdigit): Likewise.
37572 (pupa_split_cmdline): Likewise.
37573 * include/pupa/normal.h: Include <pupa/arg.h>.
37574 (pupa_command): Changed the prototype of the member `func' to
37575 match the argument parsing interface. Added member `options'.
37576 (pupa_register_command): Updated to match function.
37577 (pupa_arg_parse): New prototype.
37578 (pupa_hello_init) [PUPA_UTIL]: New prototype.
37579 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
37580 (pupa_ls_init) [PUPA_UTIL]: Likewise.
37581 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
37582 (pupa_cat_init) [PUPA_UTIL]: Likewise.
37583 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
37584 (pupa_boot_init) [PUPA_UTIL]: Likewise.
37585 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
37586 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
37587 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
37588 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
37589 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
37590 * kern/disk.c: Include <pupa/file.h>.
37591 (pupa_print_partinfo): New function.
37592 * kern/dl.c: Include <pupa/env.h>.
37593 (pupa_dl_dir): Variable removed.
37594 (pupa_dl_load): Use the environment variable `prefix' instead of
37595 the variable pupa_dl_dir.
37596 (pupa_dl_set_prefix): Function removed.
37597 (pupa_dl_get_prefix): Likewise.
37598 * kern/i386/pc/init.c: Include <pupa/env.h>.
37599 (pupa_machine_init): Use the environment variable `prefix' instead of
37600 using pupa_dl_set_prefix to set the prefix.
37601 * kern/main.c: Include <pupa/env.h>.
37602 (pupa_set_root_dev): Use the environment variable `prefix' instead of
37603 using pupa_dl_get_prefix to get the prefix.
37604 * kern/misc.c: Include <pupa/env.h>.
37605 (pupa_isdigit): New function.
37606 (pupa_isgraph): Likewise.
37607 (pupa_ftoa): Likewise.
37608 (pupa_vsprintf): Added support for printing values of the type
37609 `double'. Make it possible to format variable output when using
37610 formatting like `%1.2%f'.
37611 (pupa_split_cmdline): New function.
37612 * kern/rescue.c: Include <pupa/env.h>.
37613 (next_word): Removed function.
37614 (pupa_rescue_cmd_prefix): Likewise.
37615 (pupa_rescue_cmd_set): New function.
37616 (pupa_rescue_cmd_unset): New function.
37617 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
37618 split the command line instead of splitting it here. Added
37619 support for setting variables using the syntax `foo=bar'. Don't
37620 initialize the prefix command anymore. Initialized the set and
37621 unset commands.
37622 * normal/cmdline.c: Include <pupa/env.h>.
37623 (pupa_tab_complete): Added prototypes for print_simple_completion,
37624 print_partition_completion, add_completion, iterate_commands,
37625 iterate_dev, iterate_part and iterate_dir. Moved code to print
37626 partition information from here to kern/disk.c.
fe6b695a 37627 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 37628 * normal/main.c: Include <pupa/env.h>.
37629 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
37630 instead of using pupa_dl_get_prefix to get the prefix.
37631 * term/i386/pc/vga.c: Include <pupa/arg.h>.
37632 (check_vga_mem): Cast pointers to `void *' to silence a gcc
37633 warning.
37634 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
37635 (pupa_vga_setcolor): Declare unused variables with `__attribute__
37636 ((unused))' to silence a gcc warning.
37637 (pupa_vga_setcolor): Likewise.
37638 (debug_command): Changed to match argument parsing
37639 interface changes.
37640 * util/pupa-emu.c: Include <pupa/env.h>.
37641 (options): Added 0's for unused fields to silence a gcc warning.
37642 (argp): Likewise.
37643 (main): Use the environment variable `prefix' instead of using
37644 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
37645 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
37646 and terminal.
37647
37648 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
37649 * util/misc.c: Include <malloc.h>.
37650 (pupa_malloc): Rewritten so errors are correctly reported.
37651 (pupa_realloc): Likewise.
37652 (pupa_memalign): Likewise.
37653 (pupa_mm_init_region): Declare unused variables with
37654 `__attribute__ ((unused))' to silence a gcc warning.
37655 * normal/i386/setjmp.S: Remove tab at the end of the file to
37656 silence a gcc warning.
37657 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
37658 variables with `__attribute__ ((unused))' to silence a gcc
37659 warning.
37660 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
37661 local variable i unsigned to silence a gcc warning.
37662
37663 * kern/term.c: Include <pupa/misc.h>.
37664 (pupa_more_lines): New variable.
37665 (pupa_more): Likewise.
37666 (pupa_putcode): When the pager is active pause at the end of every
37667 screen.
37668 (pupa_set_more): New function.
37669 * include/pupa/term.h (pupa_set_more): New prototype.
37670
37671
3b1139cb 376722004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
37673
37674 Now this project is GRUB 2 rather than PUPA. The location of
37675 the CVS repository was moved to GRUB's.
f19dbdb7 37676
3b1139cb 37677 * configure.ac: Use bug-grub as the reporting address.
37678 Use GRUB instead of PUPA.
37679 Change the version number to 1.90.
37680
8367695c 376812004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
37682
37683 * genkernsyms.sh: Updated copyright information.
37684 * genmk.rb: Likewise.
37685 * genmodsrc.sh: Likewise.
37686 * gensymlist.sh: Likewise.
37687 * boot/i386/pc/boot.S: Likewise.
37688 * boot/i386/pc/diskboot.S: Likewise.
37689 * disk/i386/pc/biosdisk.c: Likewise.
37690 * disk/i386/pc/partition.c: Likewise.
37691 * font/manager.c: Likewise.
37692 * fs/ext2.c: Likewise.
37693 * fs/fat.c: Likewise.
37694 * include/pupa/boot.h: Likewise.
37695 * include/pupa/device.h: Likewise.
37696 * include/pupa/disk.h: Likewise.
37697 * include/pupa/dl.h: Likewise.
37698 * include/pupa/elf.h: Likewise.
37699 * include/pupa/err.h: Likewise.
37700 * include/pupa/file.h: Likewise.
37701 * include/pupa/font.h: Likewise.
37702 * include/pupa/fs.h: Likewise.
37703 * include/pupa/kernel.h: Likewise.
37704 * include/pupa/loader.h: Likewise.
37705 * include/pupa/misc.h: Likewise.
37706 * include/pupa/mm.h: Likewise.
37707 * include/pupa/net.h: Likewise.
37708 * include/pupa/normal.h: Likewise.
37709 * include/pupa/rescue.h: Likewise.
37710 * include/pupa/setjmp.h: Likewise.
37711 * include/pupa/symbol.h: Likewise.
37712 * include/pupa/term.h: Likewise.
37713 * include/pupa/types.h: Likewise.
37714 * include/pupa/i386/setjmp.h: Likewise.
37715 * include/pupa/i386/types.h: Likewise.
37716 * include/pupa/i386/pc/biosdisk.h: Likewise.
37717 * include/pupa/i386/pc/boot.h: Likewise.
37718 * include/pupa/i386/pc/console.h: Likewise.
37719 * include/pupa/i386/pc/init.h: Likewise.
37720 * include/pupa/i386/pc/kernel.h: Likewise.
37721 * include/pupa/i386/pc/linux.h: Likewise.
37722 * include/pupa/i386/pc/loader.h: Likewise.
37723 * include/pupa/i386/pc/memory.h: Likewise.
37724 * include/pupa/i386/pc/multiboot.h: Likewise.
37725 * include/pupa/i386/pc/partition.h: Likewise.
37726 * include/pupa/i386/pc/time.h: Likewise.
37727 * include/pupa/i386/pc/vga.h: Likewise.
37728 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
37729 * include/pupa/util/getroot.h: Likewise.
37730 * include/pupa/util/misc.h: Likewise.
37731 * include/pupa/util/resolve.h: Likewise.
37732 * kern/device.c: Likewise.
37733 * kern/disk.c: Likewise.
37734 * kern/dl.c: Likewise.
37735 * kern/err.c: Likewise.
37736 * kern/file.c: Likewise.
37737 * kern/fs.c: Likewise.
37738 * kern/loader.c: Likewise.
37739 * kern/main.c: Likewise.
37740 * kern/misc.c: Likewise.
37741 * kern/mm.c: Likewise.
37742 * kern/rescue.c: Likewise.
37743 * kern/term.c: Likewise.
37744 * kern/i386/dl.c: Likewise.
37745 * kern/i386/pc/init.c: Likewise.
37746 * kern/i386/pc/lzo1x.S: Likewise.
37747 * kern/i386/pc/startup.S: Likewise.
37748 * loader/i386/pc/chainloader.c: Likewise.
37749 * loader/i386/pc/linux.c: Likewise.
37750 * loader/i386/pc/multiboot.c: Likewise.
37751 * normal/cmdline.c: Likewise.
37752 * normal/command.c: Likewise.
37753 * normal/main.c: Likewise.
37754 * normal/menu.c: Likewise.
37755 * normal/i386/setjmp.S: Likewise.
37756 * term/i386/pc/console.c: Likewise.
37757 * term/i386/pc/vga.c: Likewise.
37758 * util/console.c: Likewise.
37759 * util/genmoddep.c: Likewise.
37760 * util/misc.c: Likewise.
37761 * util/pupa-emu.c: Likewise.
37762 * util/resolve.c: Likewise.
37763 * util/unifont2pff.rb: Likewise.
37764 * util/i386/pc/biosdisk.c: Likewise.
37765 * util/i386/pc/getroot.c: Likewise.
37766 * util/i386/pc/pupa-mkimage.c: Likewise.
37767 * util/i386/pc/pupa-setup.c: Likewise.
37768
e6eced71 377692004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37770
37771 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37772 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37773 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37774 reading and reset it after reading.
37775 (pupa_ext2_close): Return PUPA_ERR_NONE.
37776
37777 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37778 Correct value.
37779 (struct linux_kernel_header): Add kernel_version and
37780 initrd_addr_max.
37781 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37782 pupa_file_read succeeds.
37783 (pupa_rescue_cmd_initrd): Implement.
37784
5aded270 377852003-12-03 Marco Gerards <metgerards@student.han.nl>
37786
37787 * fs/ext2.c (pupa_ext2_label): New function.
37788 (pupa_ext2_fs): Added label.
37789 * fs/fat.c (pupa_fat_label): New function.
37790 (pupa_fat_fs): Added label.
37791 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
37792
37793 * kern/misc.c (pupa_strndup): New function.
37794 * include/pupa/misc.h (pupa_strndup): New prototype.
37795
37796 * include/pupa/normal.h: Include <pupa/err.h>.
37797 (pupa_set_history): New prototype.
37798 (pupa_iterate_commands): New prototype.
37799 * normal/cmdline.c: Include <pupa/machine/partition.h>,
37800 <pupa/disk.h>, <pupa/file.h>.
37801 (hist_size): New variable.
37802 (hist_lines): Likewise.
37803 (hist_end): Likewise.
37804 (hist_used): Likewise.
37805 (pupa_set_history): New function.
37806 (pupa_history_get): Likewise.
37807 (pupa_history_add): Likewise.
37808 (pupa_history_replace): Likewise.
37809 (pupa_tab_complete): Likewise.
37810 (pupa_cmdline_run): Added tab completion and history buffer. Tab
37811 completion shows partitionnames while completing partitions, this
37812 feature was suggested by Jeff Bailey.
37813 * normal/command.c (pupa_iterate_commands): New function.
37814 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
37815 (pupa_normal_init): Initialize history buffer.
37816 (PUPA_MOD_INIT): Likewise.
37817 (pupa_normal_fini): Free the history buffer.
37818 (PUPA_MOD_FINI): Likewise.
37819
37820 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
37821 key.
37822
37823 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
37824 * configure.ac [i386]: Check for regparam bug.
37825 (NESTED_FUNC_ATTR) [! i386]: Defined.
37826
1f7315a3 378272003-11-17 Marco Gerards <metgerards@student.han.nl>
37828
37829 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
37830 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
37831 (pupa_emu_SOURCES): New variable.
37832 (pupa_emu_LDFLAGS): Likewise.
37833 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
37834 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
37835 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
37836 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37837 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
37838 (pupa_jmp_buf): New typedef.
37839 (pupa_setjmp) [PUPA_UTIL]: New macro.
37840 (pupa_longjmp) [PUPA_UTIL]: Likewise.
37841 * include/pupa/term.h (struct pupa_term): New member `refresh'.
37842 (pupa_refresh): New prototype.
37843 * include/pupa/util/getroot.h: New file.
37844 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
37845 it.
37846 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
37847 (pupa_rescue_cmd_cat): Likewise.
37848 (pupa_rescue_cmd_ls): Likewise.
37849 (pupa_rescue_cmd_testload): Likewise.
37850 (pupa_rescue_cmd_lsmod): Likewise.
37851 * normal/cmdline.c (pupa_cmdline_get): Likewise.
37852 * normal/menu.c (run_menu): Likewise.
37853 * kern/term.c (pupa_cls): Likewise.
37854 (pupa_refresh): New function.
37855 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
37856 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37857 * util/console.c: New file.
f19dbdb7 37858
1f7315a3 37859 * util/i386/pc/getroot.c: New file.
37860 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
37861 (pupa_putchar): New function.
37862 (pupa_refresh): Likewise.
37863 (xgetcwd): Function moved to ...
37864 (strip_extra_slashes): Likewise.
37865 (get_prefix): Likewise.
f19dbdb7 37866 * util/i386/pc/getroot.c: ... here.
1f7315a3 37867 (find_root_device): Function moved and renamed to...
37868 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
37869 Changed all callers.
37870 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
37871 and renamed to...
37872 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
37873 Changed all callers.
37874 * util/misc.c (pupa_memalign): New function.
37875 (pupa_mm_init_region): Likewise.
37876 (pupa_register_exported_symbols): Likewise.
37877 (pupa_putchar): Function removed.
37878 * util/pupa-emu.c: New file.
37879
9a5c1ade 378802003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
37881
37882 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
37883 (_multiboot_mod_SOURCES): New variable.
37884 (_multiboot_mod_CFLAGS): Likewise.
37885 * loader/i386/pc/multiboot.c: New file.
37886 * include/pupa/i386/pc/multiboot.h: Likewise.
37887 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
37888 (pupa_multiboot_real_boot): New function.
37889 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
37890 (pupa_multiboot_real_boot): New prototype.
37891 (pupa_rescue_cmd_multiboot): Likewise
37892 (pupa_rescue_cmd_module): Likewise.
37893
37894 * kern/loader.c (pupa_loader_set): Continue when
37895 pupa_loader_unload_func() fails.
37896 (pupa_loader_unset): New function.
37897 * include/pupa/loader.h (pupa_loader_unset): New prototype.
37898
37899 * kern/misc.c (pupa_stpcpy): New function.
37900 * include/pupa/misc.h (pupa_stpcpy): New prototype.
37901
8e72a9c0 379022003-11-12 Marco Gerards <metgerards@student.han.nl>
37903
37904 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
37905 for available extensions.
37906
37907 * include/pupa/i386/pc/time.h: New file.
37908 * kern/disk.c: Include <pupa/machine/time.h>.
37909 (PUPA_CACHE_TIMEOUT): New macro.
37910 (pupa_last_time): New variable.
37911 (pupa_disk_open): Flush the cache when there was a timeout.
37912 (pupa_disk_close): Reset the timer.
37913 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
37914 pupa_currticks.
37915 * util/misc.c: Include <sys/times.h>
37916 (pupa_get_rtc): New function.
37917
c4adbd32 379182003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37919
37920 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
37921 as blocks.
37922 (pupa_ext2_get_file_block): Use blocks member.
37923
37924 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
37925 first block. Return -1 instead of pupa_errno on error.
37926
bfd30f06 379272003-10-27 Marco Gerards <metgerards@student.han.nl>
37928
37929 * README: In the pupa-mkimage example use _chain instead of chain
37930 and ext2 instead of fat.
37931 * TODO: Replace ext2fs with jfs as an example. Add an item for
37932 adding journal playback for ext2fs.
37933 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
37934 (pkgdata_MODULES): Added ext2.mod.
37935 (ext2_mod_SOURCES): New variable.
37936 (ext2_mod_CFLAGS): Likewise.
37937 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
37938 * include/pupa/misc.h (pupa_strncpy): New prototype.
37939 (pupa_strcat): Likewise.
37940 (pupa_strncmp): Likewise.
37941 * kern/misc.c (pupa_strcat): Enable function.
37942 (pupa_strncpy): New function.
37943 (pupa_strncmp): Likewise.
37944 * fs/ext2.c: New file.
f19dbdb7 37945
bfd30f06 37946 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
37947 when the read failed before retrying.
37948 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
37949 (_FILE_OFFSET_BITS): Likewise.
37950 * configure.ac: Added AC_SYS_LARGEFILE.
37951
98d15063 379522003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37953
37954 * genmk.rb (PModule#rule): Make sure to get only symbol names
37955 from the output of nm.
59cad637 37956 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 37957
18d9c7cd 379582003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37959
37960 I forgot to check in these changes for a long time. This adds
37961 incomplete support for VGA console, and this is still very
37962 buggy. Also, a lot of consideration is required for I18N,
37963 UNICODE, and VGA font issues. Therefore, assume that this is
37964 such that "better than nothing".
f19dbdb7 37965
18d9c7cd 37966 * font/manager.c: New file.
37967 * include/pupa/font.h: Likewise.
37968 * include/pupa/i386/pc/vga.h: Likewise.
37969 * term/i386/pc/vga.c: Likewise.
37970 * util/unifont2pff.rb: Likewise.
37971
37972 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
37973 (pkgdata_MODULES): Added vga.mod and font.mod.
37974 (vga_mod_SOURCES): New variables.
37975 (vga_mod_CFLAGS): Likewise.
37976 (font_mod_SOURCES): Likewise.
37977 (font_mod_CFLAGS): Likewise.
37978
37979 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
37980
37981 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 37982 (struct pupa_term): Added init and fini.
18d9c7cd 37983 Changed the argument of putchar to pupa_uint32_t.
37984
37985 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
37986 (pupa_console_real_putchar): New prototype.
37987 (pupa_console_putchar): Removed.
37988 (pupa_console_checkkey): Exported.
37989 (pupa_console_getkey): Likewise.
37990
37991 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
37992 characters.
37993
37994 * kern/term.c (pupa_term_set_current): Rewritten.
37995 (pupa_putchar): Likewise.
37996 (pupa_putcode): New function.
37997
37998 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
37999 (pupa_console_real_putchar): ... this.
38000 (pupa_vga_set_mode): New function.
38001 (pupa_vga_get_font): Likewise.
38002
38003 * normal/command.c: Include pupa/term.h.
38004 (terminal_command): New function.
38005 (pupa_command_init): Register the command "terminal".
38006
38007 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38008 (DISP_UP): Likewise.
38009 (DISP_RIGHT): Likewise.
38010 (DISP_DOWN): Likewise.
38011 (DISP_HLINE): Likewise.
38012 (DISP_VLINE): Likewise.
38013 (DISP_UL): Likewise.
38014 (DISP_UR): Likewise.
38015 (DISP_LL): Likewise.
38016 (DISP_LR): Likewise.
38017
38018 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38019
977329f5 380202003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38021
38022 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38023 FIX. Reverse the path_list.
38024
38025 * include/pupa/normal.h: Export pupa_register_command and
38026 pupa_unregister_command.
38027
38028 * hello/hello.c (pupa_cmd_hello): New module.
38029 * conf/i386-pc.rmk: Added hello.mod.
38030
1f5ab428 380312003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38032
38033 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38034
1f5ab428 38035 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38036 (compress_kernel): New variable.
38037 (generate_image): Heavily modified to support compressing a
38038 large part of the core image.
38039
38040 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38041 leak.
38042 (pupa_util_load_image): New function.
38043
38044 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38045 (pupa_compressed_size): New variable.
38046 (codestart): Enable Gate A20 here.
38047 Decompress the compressed part of the core image.
38048 Rearrange the code to put functions and variables which are
38049 required for initialization in the non-compressed part.
38050 Include lzo1x.S.
38051
38052 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38053 here.
38054
38055 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38056
f19dbdb7 38057 * include/pupa/i386/pc/kernel.h
1f5ab428 38058 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38059 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38060 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38061 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38062 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38063
38064 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38065
38066 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38067 (Utility#rule): Likewise.
38068
38069 * configure.ac: Check if LZO is available.
38070
ce5bf700 380712003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38072
38073 * include/pupa/normal.h: New file.
38074 * include/pupa/setjmp.h: Likewise.
38075 * include/pupa/i386/setjmp.h: Likewise.
38076 * normal/cmdline.c: Likewise.
38077 * normal/command.c: Likewise.
38078 * normal/main.c: Likewise.
38079 * normal/menu.c: Likewise.
38080 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38081
ce5bf700 38082 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38083 (pupa_rescue_cmd_initrd): Likewise.
38084
38085 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38086 Likewise.
38087
38088 * kern/i386/pc/startup.S (translation_table): New variable.
38089 (translate_keycode): New function.
38090 (pupa_console_getkey): Call translate_keycode.
38091
38092 * kern/rescue.c (attempt_normal_mode): New function.
38093 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38094 it failed, print a message.
38095
38096 * kern/mm.c (pupa_real_malloc): Print more information when a
38097 free magic is broken.
38098 (pupa_free): If the first free header is not free actually, set
38099 it to P.
38100
38101 * kern/main.c (pupa_load_normal_mode): Just load the module
38102 "normal".
38103 (pupa_main): Don't print the message
38104 "Entering into rescue mode..." here.
38105
38106 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38107 Declared.
38108 (pupa_rescue_cmd_initrd): Likewise.
38109 (pupa_rescue_cmd_initrd): Likewise.
38110
38111 * include/pupa/symbol.h (FUNCTION): Specify the type.
38112 (VARIABLE): Likewise.
38113
38114 * include/pupa/err.h (pupa_err_t): Added
38115 PUPA_ERR_UNKNOWN_COMMAND.
38116
38117 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38118 (pupa_dl_get_prefix): Likewise.
38119
38120 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38121 Added _chain.mod and _linux.mod instead of chain.mod and
38122 linux.mod.
38123 (chain_mod_SOURCES): Renamed to ...
38124 (_chain_mod_SOURCES): ... this.
38125 (chain_mod_CFLAGS): Renamed to ...
38126 (_chain_mod_CFLAGS): ... this.
38127 (linux_mod_SOURCES): Renamed to ...
38128 (_linux_mod_SOURCES): ... this.
38129 (linux_mod_CFLAGS): Renamed to ...
38130 (_linux_mod_CFLAGS): ... this.
38131 (normal_mod_SOURCES): New variable.
38132 (normal_mod_CFLAGS): Likewise.
38133 (normal_mod_ASFLAGS): Likewise.
38134
381352003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38136
38137 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38138 possible.
38139
fe6b695a 38140 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38141 recursively.
38142 (pupa_dl_unref): Unrefer depending modules recursively.
38143 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38144 a module is unloaded before one depending on that module is
38145 unloaded.
38146 (pupa_dl_unload): Unload depending modules explicitly,
38147 if possible.
38148
c04da074 381492003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38150
38151 * include/pupa/i386/pc/linux.h: New file.
38152 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38153
c04da074 38154 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38155 Removed.
38156 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38157 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38158 of PUPA_CHAINLOADER_BOOT_SECTOR.
38159
38160 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38161 (pupa_linux_prot_size): New variable.
38162 (pupa_linux_tmp_addr): Likewise.
38163 (pupa_linux_real_addr): Likewise.
38164 (pupa_linux_boot_zimage): New function.
38165 (pupa_linux_boot_bzimage): Likewise.
38166
38167 * kern/i386/pc/init.c (struct mem_region): New structure.
38168 (MAX_REGIONS): New macro.
38169 (mem_regions): New variable.
38170 (num_regions): Likewise.
38171 (pupa_os_area_addr): Likewise.
38172 (pupa_os_area_size): Likewise.
38173 (pupa_lower_mem): Likewise.
38174 (pupa_upper_mem): Likewise.
38175 (add_mem_region): New function.
38176 (compact_mem_regions): Likewise.
38177 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38178 the size of the conventional memory and that of so-called upper
38179 memory (before the first memory hole).
38180 Instead of adding each found region to free memory, use
38181 add_mem_region and add them after removing overlaps.
38182 Also, add only 1/4 of the upper memory to free memory. The rest
38183 is used for loading OS images. Maybe this is ad hoc, but this
38184 makes it much easier to relocate OS images when booting.
38185
38186 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38187 (pupa_enter_rescue_mode): Don't register initrd and module.
38188
38189 * kern/mm.c: Include pupa/dl.h.
38190
38191 * kern/main.c: Include pupa/file.h and pupa/device.h.
38192
38193 * kern/loader.c (pupa_loader_load_module_func): Removed.
38194 (pupa_loader_load_module): Likewise.
38195
38196 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38197 ``.o''.
38198
38199 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38200 (pupa_linux_tmp_addr): Likewise.
38201 (pupa_linux_real_addr): Likewise.
38202 (pupa_linux_boot_zimage): Likewise.
38203 (pupa_linux_boot_bzimage): Likewise.
38204
38205 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38206 (pupa_upper_mem): Likewise.
38207 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38208 module is too dangerous.
38209
38210 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38211 (pupa_os_area_size): Likewise.
38212 (pupa_loader_set): Remove the first argument. Loader doesn't
38213 manage modules or initrd any longer.
38214 (pupa_loader_load_module): Removed.
38215
38216 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38217 (linux_mod_SOURCES): New variable.
38218 (linux_mod_CFLAGS): Likewise.
38219
a13f9237 382202003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38221
38222 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38223 the length of a blocklist correctly.
38224
38225 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38226 Use ioctl only if the OS file is a block device.
38227 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38228 not very useful for normal files.
38229
38230 * kern/main.c (pupa_set_root_dev): New function.
38231 (pupa_load_normal_mode): Likewise.
38232 (pupa_main): Call those above.
38233
38234 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38235 pupa_uint16_t.
38236
38237 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38238
a5ffe966 382392003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38240
38241 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38242 (setup): Configure the installed partition information and the
38243 dl prefix.
38244
38245 * loader/i386/pc/chainloader.c (my_mod): New variable.
38246 (pupa_chainloader_unload): New function.
38247 (pupa_rescue_cmd_chainloader): Refer itself.
38248 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38249
38250 * kern/i386/pc/startup.S (install_partition): Removed.
38251 (version_string): Likewise.
38252 (config_file): Likewise.
38253 (pupa_install_dos_part): New variable.
38254 (pupa_install_bsd_part): Likewise.
38255 (pupa_prefix): Likewise.
38256 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38257
38258 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38259 and pupa/misc.h.
38260 (make_install_device): New function.
38261 (pupa_machine_init): Set the dl prefix.
38262
38263 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38264 (buf): Renamed to ...
38265 (linebuf): ... this.
38266 (pupa_rescue_cmd_prefix): New function.
38267 (pupa_rescue_cmd_insmod): Likewise.
38268 (pupa_rescue_cmd_rmmod): Likewise.
38269 (pupa_rescue_cmd_lsmod): Likewise.
38270 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38271 rmmod and lsmod.
38272
38273 * kern/mm.c (pupa_memalign): If failed even after invalidating
38274 disk caches, unload unneeded modules and retry.
38275
38276 * kern/misc.c (pupa_memmove): New function.
38277 (pupa_memcpy): Removed.
38278 (pupa_strcpy): New function.
38279 (pupa_itoa): Made static.
38280
38281 * kern/dl.c (pupa_dl_iterate): New function.
38282 (pupa_dl_ref): Likewise.
38283 (pupa_dl_unref): Likewise.
38284 (pupa_dl_unload): Return if succeeded or not.
38285 (pupa_dl_unload_unneeded): New function.
38286 (pupa_dl_unload_all): Likewise.
38287 (pupa_dl_init): Renamed to ...
38288 (pupa_dl_set_prefix): ... this.
38289 (pupa_dl_get_prefix): New function.
38290
38291 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38292 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38293 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38294 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38295 (pupa_install_dos_part): Declared.
38296 (pupa_install_bsd_part): Likewise.
38297 (pupa_prefix): Likewise.
38298 (pupa_boot_drive): Likewise.
38299
38300 * include/pupa/types.h: Fix a typo.
38301
38302 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38303 pupa_memmove.
38304 (pupa_memmove): Declared.
38305 (pupa_strcpy): Likewise.
38306
38307 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38308 pupa_mod_init takes one argument, its own module.
38309 (pupa_dl_unload_unneeded): Declared.
38310 (pupa_dl_unload_all): Likewise.
38311 (pupa_dl_ref): Likewise.
38312 (pupa_dl_unref): Likewise.
38313 (pupa_dl_iterate): Likewise.
38314 (pupa_dl_init): Renamed to ...
38315 (pupa_dl_set_prefix): ... this.
38316 (pupa_dl_get_prefix): Declared.
38317
38318 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38319 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38320 unloaded.
38321 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38322 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38323
38324 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38325 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38326
012d7999 383272003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38328
38329 * util/i386/pc/pupa-setup.c (setup): Define the internal
38330 function find_first_partition_start at the top level, because GCC
38331 3.0.x cannot compile internal functions in deeper scopes
38332 correctly.
38333 (find_root_device): Use lstat instead of stat.
38334 Don't follow symbolic links.
38335 Fix the path-constructing code.
38336
38337 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38338 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38339 by a BLKGETSIZE ioctl first, because block devices don't fill
38340 the member st_mode of the structure stat on Linux.
38341 [__linux__] (linux_find_partition): Use a temporary buffer
38342 REAL_DEV for the working space. Copy it to DEV before returning.
38343 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38344 buffer cache consistent.
38345 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38346 strncmp. The previous value was merely wrong.
38347 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38348
38349 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38350 FAT size is 12. The previous value was merely wrong.
38351
38352 * kern/main.c (pupa_main): Don't split the starting message from
38353 newlines.
38354
38355 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38356 LF, because BIOS goes crazy about character attributes in this
38357 case.
38358
1cc73a62 383592003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38360
38361 * include/i386/pc/util/biosdisk.h: New file.
38362 * util/i386/pc/biosdisk.c: Likewise.
38363 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38364
1cc73a62 38365 * Makefile.in (INCLUDE_DISTFILES): Added
38366 include/pupa/i386/pc/util/biosdisk.h.
38367 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38368 directory util/i386/pc.
38369 (install-local): Added a rule for sbin_UTILITIES.
38370 (uninstall): Likewise.
38371
38372 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38373
38374 * util/misc.c (xrealloc): New function.
38375 (pupa_malloc): Likewise.
38376 (pupa_free): Likewise.
38377 (pupa_realloc): Likewise.
38378 (pupa_stop): Likewise.
38379 (pupa_putchar): Likewise.
38380
38381 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38382
38383 * include/pupa/util/misc.h (xrealloc): Declared.
38384
38385 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38386 macro.
38387 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38388 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38389
38390 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38391 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38392
38393 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38394 way should be implemented.
38395 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38396
38397 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38398 the size of NAME for safety.
38399 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38400 0x88.
38401
38402 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38403 (pupa_setup_SOURCES): Likewise.
38404
38405 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38406
08b70fe8 384072002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38408
38409 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38410 bunch of pushl's from pusha, because this destroys the return
38411 value.
38412
62ddcc8f 384132002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38414
38415 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38416 This means that any missing prototypes could be fatal. Also, you
38417 must take care when writing assembly code. See the comments at
38418 the beginning of startup.S, for more details.
f19dbdb7 38419
62ddcc8f 38420 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38421 compilation mechanism.
38422 (pupa_chainloader_real_boot): Likewise.
38423 (pupa_biosdisk_rw_int13_extensions): Likewise.
38424 (pupa_biosdisk_rw_standard): Likewise.
38425 (pupa_biosdisk_check_int13_extensions): Likewise.
38426 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38427 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38428 (pupa_get_memsize): Likewise.
38429 (pupa_get_mmap_entry): Likewise.
38430 (pupa_console_putchar): Likewise.
38431 (pupa_console_setcursor): Likewise.
38432 (pupa_getrtsecs): Use pushl instead of push.
38433
38434 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38435 memory instead of the stack for a mmap entry, because some
38436 BIOSes may ignore the maximum size and overflow.
38437
38438 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38439
38440 * genmk.rb (PModule#rule): Compile automatically generated
38441 sources with module-specific CFLAGS as well as other sources.
38442
9962ed99 384432002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38444
38445 * configure.ac: Check ld.
38446 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38447 respectively, before checking endianness and sizes.
38448
38449 * Makefile.in (LD): New variable.
f19dbdb7 38450
abdfc3c5 384512002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38452
38453 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38454
6a161fa9 384552002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38456
38457 * Changelog: New file.
38458