]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
[grub2.git] / ChangeLog
CommitLineData
c1860f87
VS
12011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
4 (grub_xvasprintf): Likewise.
5
d35d0d37
VS
62011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Add const keyword to grub_env_get and gettextize week days.
9
10 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
11 (grub_read_hook_datetime): Return const char *.
12 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
13 updated.
14 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
15 Mark for gettext.
16 (grub_get_weekday_name): Return const char *. Call gettext.
17 * grub-core/script/argv.c (grub_script_argv_append): Receive const
18 char * and len as the argument. All users updated.
19 (grub_script_argv_split_append): Receive const char *.
20 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
21 * include/grub/env.h (grub_env_get): Likewise.
22 (grub_env_read_hook_t): Return const char *.
23 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
24 (grub_script_argv_split_append): Likewise.
25
9aed8a71
VS
262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
29
067fdf00
VS
302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
33 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
34
a8bd9d39
VS
352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
38 Fix prototype.
39
f7ce5baf
VS
402011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
41
42 Fix mips compilation.
43
44 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
45 normal decoder.
46 (hashes): Use in embed decoder as well (for sizes).
47 (dec_stream_header): Fix embed decompressor logic.
48 (dec_stream_footer): Likewise.
49
9bb182f3
VS
502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
53 an error and not a fatal on unrecognised relocation types.
54
63a9e6f6
VS
552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
58 Issue error rather than printf on unknown arguments.
59
4c458569
VS
602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
63 Make buf a const.
64
e2d22baf
VS
652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
68 Fix module name.
69
53dc8590
VS
702011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
73 leftover debug printf.
74
6c189294
VS
752011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
76
77 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
78
f7688369
VS
792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
82 A stylistic fix.
83
11a775a3
VS
842011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
87
33f784e8
SL
882011-11-10 Shea Levy <slevy@tieronedesign.com>
89
90 Allow all modules to perform serial IO
91
92 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
93 * include/grub/serial.h (grub_serial_port_configure): New inline
94 function.
95 (grub_serial_port_fetch): Likewise.
96 (grub_serial_port_put): Likewise.
97 (grub_serial_port_fini): Likewise.
98 (grub_serial_find): New proto.
99
f6276525
VS
1002011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Put symlink at the end of the node and fix a potential
103 memory corruption.
104
105 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
106 Make symlink into an array.
107 (set_rockridge): Set have_symlink and alloc_dirents.
108 (grub_iso9660_read_symlink): Use new layout.
109 (grub_iso9660_iterate_dir): Fix memory corruption.
110 Use new layout.
111 (grub_iso9660_dir): Set have_symlink.
112 (grub_iso9660_open): Likewise.
113
c3591189
VS
1142011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Remove local keyword.
117
118 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
119 (version_test_gt): Likewise.
120 (version_find_latest): Likewise.
121 (gettext_printf): Likewise.
122 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
123
cb544caa
VS
1242011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
127
45bd824d
VS
1282011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
129
130 Fix ZFS memory and resource leaks.
131
132 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
133 All users updated.
134 Free type on exit.
135 (fill_vdev_info): New parameter inserted. All users updated.
136 (check_pool_label): Likewise.
137 (scan_disk): Likewise.
138 (scan_devices): Close non-inserted disks.
139 (fzap_iterate): Free l.
140 (unmount_device): Free children descripto memory.
141
ad9a2f44
VS
1422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
143
144 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
145 argument (access out of bounds).
146
6b68db81
VS
1472011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
150 >= 6 drives.
151
28840fda
VS
1522011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
155 Fix declaration.
156
8a5a3a5b
VS
1572011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Fix several memory leaks.
160
161 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
162 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
163 (grub_cpio_dir): Likewise.
164 * grub-core/fs/fat.c (grub_fat_label): Likewise.
165 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
166 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
167 (grub_romfs_label): Likewise.
168 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
169 (squash_unmount): New function.
170 (grub_squash_dir): Fix memory leak.
171 (grub_squash_open): Likewise.
172 (grub_squash_read): Likewise.
173 (grub_squash_mtime): Likewise.
174 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
175 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
176 * util/grub-fstest.c (fstest): Likewise.
177
57b01250
VS
1782011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
179
180 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
181 avoid accessing beyond the array.
182
19e81ba7
VS
1832011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
186
52b656c0
VS
1872011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
188
189 Several AFFS fixes.
190
191 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
192 (GRUB_AFFS_FLAG_FFS): Removed.
193 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
194 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
195 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
196 (grub_fshelp_node): Make block 32-bit.
197 Add block_cache and last_block_cache.
198 (grub_affs_read_block): Fill and use block cache.
199 (grub_affs_read_file): Removed.
200 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
201 boot block.
202 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
203 safety.
204 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
205 space.
206 (grub_affs_close): Free block cache.
207 (grub_affs_read): Use grub_fshelp_read_file directly.
208
438a746a
VS
2092011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
212 with no error set.
213
49a45021
VS
2142011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
217 used variable.
218 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
219 Likewise.
220
3ae17eb8
VS
2212011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
222
223 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
224
225 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
226 byteswap when needed.
227
27610c38
VS
2282011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
229
230 Fix FreeBSD compilation.
231
232 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
233 to avoid circular dependency.
234 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
235 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
236 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
237
4a19b601
VS
2382011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
239
240 Fix ZFS crypto error types.
241
242 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
243 (grub_gcm_decrypt): Likewise.
244 (grub_zfs_load_key_real): Fix error code type. Handle possible error
245 from PBKDF2.
246
958ee221
VS
2472011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
248
249 Illumos support.
250
251 * Makefile.util.def (10_illumos): New script.
252 * configure.ac: Set COND_HOST_ILLUMOS.
253 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
254 Support Illumos calls.
255 (find_partition_start) [__sun__]: Likewise.
256 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
257 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
258 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
259 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
260 device.
261 * util/grub-probe.c (probe) [__sun__]: Do character check.
262 * util/grub.d/10_illumos.in: New file.
263
cac14fb6
VS
2642011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Support escaped commas in hostdisk.
267
268 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
269 (find_grub_drive): Use unescape_cmp.
270 (make_device_name): Escape commas.
271
78e08dc3
VS
2722011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
273
274 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
275
9f421dd1
VS
2762011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
277
278 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
279 variable.
280
ed64e9e2
VS
2812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Support trampoline jumps on powerpc.
284
285 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
286 __ia64__ path.
287 (grub_dl_load_segments): Set mod->sz.
288 (grub_dl_flush_cache): Flush whole space occupied by module, not just
289 segments.
290 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
291 (jump): Likewise.
292 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
293 function.
294 (trampoline): New struct.
295 (trampoline_template): New const.
296 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
297 * include/grub/dl.h (grub_dl): Add sz element.
298 [__powerpc__]: Follow __ia64__.
299 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
300 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
301 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
302 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
303
3084ede4
VS
3042011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
305
306 ZFS crypto support.
307
308 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
309 * grub-core/Makefile.core.def (zfscrypt): New module.
310 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
311 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
312 it. All users updated.
313 (grub_zfs_decrypt): New var.
314 (grub_zfs_load_key): Likewise.
315 (zio_checksum_functions): Add SHA256+MAC.
316 (zio_checksum_verify): Handle incomplete comparison due to MAC.
317 (zio_read): Handle encrypted blocks.
318 (zap_verify): Remove incorrect check.
319 (fzap_iterate): Handle non-standard fzap.
320 (zap_iterate): Likewise.
321 (zap_iterate_u64): New function.
322 (dnode_get_fullpath): Load keys.
323 * grub-core/fs/zfs/zfscrypt.c: New file.
324 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
325 (grub_crypto_ecb_encrypt): Make input const.
326 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
327 (grub_crypto_ecb_encrypt): Make input const.
328 (GRUB_CIPHER_AES): New macro.
329 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
330 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
331 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
332 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
333 prefix. All users updated.
334 (grub_zfs_add_key): New proto.
335 (grub_zfs_decrypt): Likewise.
336 (grub_zfs_load_key): Likewise.
337 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
338 * util/grub-fstest.c (options): Add -K option.
339 (argp_parser): Likewise.
340
b632b404
VS
3412011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
342
343 Support zle compression on ZFS.
344
345 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
346 (decomp_table): Add zle.
347 * include/grub/zfs/zio.h (zio_compress): Add zle.
348
c7ba4f69
VS
3492011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Support BtrFS embedding.
352
353 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
354 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
355 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
356 * util/grub-setup.c (setup): Use fs embedding if available.
357 Add additional sanity check.
358
455377d9
VS
3592011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * util/grub-install.in: Fix condition for config_opt.
362
c2fd16ca
VS
3632011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Support third redundancy strip on raidz3.
366
367 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
368 Return error on singularity. All users updated.
369 (read_device): Don't stop on 3rd failure on raidz3.
370
8622923b
VS
3712011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
372
373 Support case-insensitive ZFS subvolumes.
374
375 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
376 All users updated.
377 (zap_hash): Likewise.
378 (name_cmp): New function.
379 (zap_leaf_array_equal): New parameter case_insensitive.
380 All users updated.
381 (zap_leaf_lookup): Likewise.
382 (fzap_lookup): Likewise.
383 (zap_lookup): Likewise.
384 (dnode_get_path): New parameter case_insensitive. Retrieve case
385 sensitiviness of a volume. All users updated.
386 (dnode_get_fullpath): New parameter case_insensitive.
387 All users updated.
388 (grub_zfs_dir): Set info.case_insensitiveness.
389
95f2e860
VS
3902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Support second redundancy strip on raidz(2,3).
393
394 * grub-core/fs/zfs/zfs.c (powx): New array.
395 (powx_inv): Likewise.
396 (poly): New const.
397 (xor_out): New function.
398 (gf_mul): Likewise.
399 (recovery): Likewise.
400 (read_device): Use second redundancy strip.
401
11ee4389
VS
4022011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
403
404 Use a power of generator representation of GF(256) multiplication group
405 to save space time and complexity.
406
407 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
408 (raid6_table2): Likewise.
409 (powx): New array.
410 (powx_inv): Likewise.
411 (poly): New const.
412 (grub_raid_block_mul): Replace with ...
413 (grub_raid_block_mulx): ...this.
414 (grub_raid6_init_table): Rewritten.
415 (grub_raid6_recover): Use power of generator representation.
416
09e2763f
VS
4172011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
420 for the right device.
421
8bec9a28
VS
4222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
425 expected by grub-mkimage and it's more clear since there is no implicit
426 padding.
427
dbd3a32e
VS
4282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
431 disk.
432 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
433
182c872a
PMH
4342011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
435
436 * util/grub-mkrescue.in: Fix handling xorriso option.
437
1e51cabd
VS
4382011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
441 NULL.
442
9cc3581d 4432011-11-03 crocket <crockabiscuit@gmail.com>
444
445 * util/grub.d/10_linux.in: Add Slackware initrd naming.
446
158dc1ea
VS
4472011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
448
449 XZ CRC64 and SHA256 support.
450
451 * Makefile.util.def (libgrubmods): Add crc64.c.
452 * grub-core/Makefile.core.def (crc64): New module.
453 * grub-core/lib/crc64.c: New file.
454 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
455 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
456 Fix the type.
457 (MAX_HASH_SIZE): New define.
458 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
459 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
460 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
461 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
462 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
463 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
464 Handle non-crc32 hashes.
465 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
466 (dec_stream_header): Handle non-crc32 hashes.
467 (dec_stream_footer): Likewise.
468 (dec_block_header): Likewise.
469 (dec_main): Likewise.
470 (xz_dec_init): Likewise.
471 (xz_dec_reset): Likewise.
472 (xz_dec_end): Likewise.
473 * util/import_gcry.py: Add CRC64 line.
474
9d9b3d2f
VS
4752011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
476
477 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
478 as well.
479
7d0ac931
VS
4802011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
481
482 Make reiserfs label retrieval similar to other *_label functions.
483
484 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
485 (REISERFS_MAX_LABEL_LENGTH): Removed.
486 (REISERFS_LABEL_OFFSET): Likewise.
487 (grub_reiserfs_label): Rewritten.
488
4892011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
492 field.
493
cf5ba824
VS
4942011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
497
17744004
VS
4982011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
501 drive failure on both raidz and raidz2.
502
aca5aefc
VS
5032011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Fix RAIDZ(2) for >= 5 devices.
506
507 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
508 asize argument. All users updated.
509
ce8ca56e
VS
5102011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Fix RAIDZ(2).
513
514 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
515 (fill_vdev_info_real): Set ashift.
516 (read_device): Rewrite RAIDZ part based on reverse engineering.
517
7c01e783
VS
5182011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
521 don't report potentially unavialiable fields in debug output.
522 (find_path): Fix double-free and memory leak.
523
ce109e84
VS
5242011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
525
526 Read label on UFS1.
527
528 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
529 (grub_ufs_fs): Always set .label.
530
87661123
VS
5312011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
532
533 Use shifts in UFS.
534
535 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
536 (grub_ufs_data): New field log2_blksz.
537 (grub_ufs_read_file): Use shifts.
538 (grub_ufs_mount): Check block size and logarithm it.
539
46bc1dc2
VS
5402011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
543 long symlinks.
544
19ee2987
VS
5452011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
546
547 Handle symlinks and long names on tar and cpio.
548
549 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
550 (ATTR_FILE): Likewise.
551 (ATTR_DIR): Likewise.
552 (ATTR_LNK): Likewise.
553 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
554 (grub_cpio_find_file): Fill mode, handle linkname field as well as
555 L and K entries.
556 (grub_cpio_mount): Zero-fill data.
557 (handle_symlink): New function.
46bc1dc2
VS
558 (grub_cpio_dir): Handle symlinks.
559 (grub_cpio_open): Likewise.
560 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 561
c83a08d8
VS
5622011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
563
564 Fix iso9660 filename limitations and fix memory leaks.
565
566 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
567 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
568
45cdd3ea
VS
5692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
570
571 Fix JFS file name length limitations.
572
573 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
574 (grub_jfs_diropen): Fix maximum filename length.
575 (grub_jfs_getent): Fix filename length.
576 (grub_jfs_lookup_symlink): Fix size checks.
577
94ef05c2
VS
5782011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
581 string.
582
785ab8c7
VS
5832011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
584
eb0b6b45
VS
585 Leverage BFS implementation to read AFS.
586
587 * Makefile.util.def (libgrubmods): Add afs.c.
588 * grub-core/Makefile.core.def (afs): New module
589 * grub-core/fs/afs.c: New file.
590 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
591
5922011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 595
c4a1628f
VS
5962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/fs/bfs.c: Run indent.
599
5825b379
VS
6002011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
601
602 BFS implementation based on the specification.
603
604 * grub-core/fs/bfs.c: New file.
605 * Makefile.util.def (libgrubmods): Add bfs.c.
606 * grub-core/Makefile.core.def (bfs): New module.
607
42b2a706
VS
6082011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
609
610 * util/grub-fstest.c (cmd_cp): Clarify error message.
611 (cmd_cmp): Likewise.
612
61b99bfc
YB
6132011-10-30 Yves Blusseau <blusseau@zetam.org>
614
615 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
616 and befs_be.
617
faba3d16
VS
6182011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
619
620 Remove afs and befs because of copyright problem.
621
622 * grub-core/fs/afs.c: Removed.
623 * grub-core/fs/afs_be.c: Removed.
624 * grub-core/fs/befs.c: Removed.
625 * grub-core/fs/befs_be.c: Removed.
626 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
627 * grub-core/Makefile.core.def (afs): Removed.
628 (afs_be): Likewise.
629 (befs): Likewise.
630 (befs_be): Likewise.
631
c39224b0
VS
6322011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
633
634 Prefer rockridge over Joliet.
635
636 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
637 to ...
638 (set_rockridge): ... here.
639 (grub_iso9660_mount): Check rockridge on the primary label when
640 discovering. Ignore Joliet if Rockridge is present.
641
e551115a
VS
6422011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
643
644 Use shifts in nilfs2.
645
646 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
647 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
648 (grub_nilfs2_palloc_entries_per_group): Replace with ...
649 (grub_nilfs2_log_palloc_entries_per_group): ... this.
650 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
651 (grub_nilfs2_entries_per_block): Replaced with ...
652 (grub_nilfs2_log_entries_per_block_log): ... this.
653 (grub_nilfs2_blocks_per_group): Replaced with ...
654 (grub_nilfs2_blocks_per_group_log): ... this.
655 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
656 (grub_nilfs2_blocks_per_desc_block_log): ... this.
657 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
658 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
659 (grub_nilfs2_palloc_entry_offset): Replaced ...
660 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
661 (grub_nilfs2_dat_translate): Use shifts.
662 (grub_nilfs2_read_inode): Likewise.
663 (GRUB_MOD_INIT): Ensure that logs are correct.
664
564dd58c
VS
6652011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
666
667 Use shifts in minix filesystem.
668
669 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
670 (GRUB_MINIX_ZONE2SECT): Likewise.
671 (grub_minix_data): Replace block_size with log_block_size.
672 (grub_minix_read_file): Use shifts.
673 (grub_minix_mount): Check block size and take a logarithm.
674
ed9ba06d
VS
6752011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
676
677 Use shifts in squash4.
678
679 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
680 (squash_mount): Check block size and take logarithm.
681 (direct_read): Use shifts.
682
ad03fe76
VS
6832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
684
685 Correct befs block counting logic.
686
687 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
688 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
689 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
690 (grub_afs_read_inode): Use block_shift.
691 (RANGE_SHIFT): New definition.
692 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
693 unexpected conditions, use shifts and appropriate types.
694 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
695
6563f63d
VS
6962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * grub-core/disk/raid.c (scan_devices): Check partition.
699 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
700
5b1ae25f
VS
7012011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
702
703 Support BFS (befs) UUID.
704
705 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
706 (grub_afs_small_data_element_header): New struct.
707 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
708 (grub_afs_read_attribute) [MODE_BFS]: New function.
709 (grub_afs_iterate_dir): Allocate for complete inode.
710 (grub_afs_mount): Likewise.
711 (grub_afs_uuid) [MODE_BFS]: New function.
712 (grub_afs_fs) [MODE_BFS]: Add .uuid.
713
f8d82408
VS
7142011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
715
716 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
717 (zfs_unmount): Fix memory leak.
718
5773fb64
VS
7192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
720
721 Support NTFS reparse points.
722
723 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
724 (symlink_descriptor): New struct.
725 (grub_ntfs_read_symlink): New function.
726 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
727 (grub_ntfs_open): Likewise.
728
91c3fdde
VS
7292011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
732
3be82e10
VS
7332011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
734
735 fstest xnu_uuid subcommand.
736
737 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
738 grub-core/commands/xnu_uuid.c.
739 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
740 (fstest): Handle xnu_uuid.
741 (options): Document xnu_uuid.
742 (argp_parser): Parse xnu_uuid.
743
8e32442e
VS
7442011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
747 -l argument. Add newline at the end if printing.
748 (GRUB_MOD_INIT): Document -l.
749
52a05075
VS
7502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
753
1869edb5
VS
7542011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
755
756 ZFS multi-device and version 33 support.
757
758 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
759 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
760 (grub_zfs_data): Add multidev-ice-related fields.
761 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
762 (dva_get_offset): Make dva const.
763 (zfs_fetch_nvlist): New function.
764 (fill_vdev_info_real): Likewise.
765 (fill_vdev_info): Likewise.
766 (check_pool_label): Likewise.
767 (scan_disk): Likewise.
768 (scan_devices): Likewise.
769 (read_device): Likewise.
770 (read_dva): Likewise.
771 (zio_read_gang): Use read_dva.
772 (zio_read_data): Likewise.
773 (zap_leaf_lookup): Add missing endian conversion.
774 (zap_verify): Add missing endian conversion. All users updated.
775 (fzap_lookup): Likewise.
776 (fzap_iterate): Likewise.
777 (dnode_get_path): Handle SA bonus.
778 (nvlist_find_value): Make input const. All users updated.
779 (unmount_device): New function.
780 (zfs_unmount): Use unmount_device.
781 (zfs_mount): Use scan_disk.
782 (zfs_mtime): New function.
783 (grub_zfs_open): Handle system attributes.
784 (fill_fs_info): Likewise.
785 (grub_zfs_dir): Likewise.
786 (grub_zfs_fs): Add mtime.
787 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
788 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
789 (SA_MTIME_OFFSET): Likewise.
790 (SA_SYMLINK_OFFSET): Likewise.
791 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
792 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
793 (fstest): Support zfsinfo.
794 (argp_parser): Likewise.
795
186b4028
VS
7962011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
799 error.
800
8012011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
802
803 ZFS fixes.
804
805 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
806 sharing the same block. Iterate over correct number of indices.
807 (dnode_get_path): Handle symlinks correctly.
808
c0584900
VS
8092011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
812
67e2bd71
VS
8132011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
814
815 Read label on HFS+.
816
817 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
818 (grub_hfsplus_btree_search): Fix types.
819 (grub_hfsplus_label): Implement.
820
e9cc6b7b
VS
8212011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
824
19832ddb
VS
8252011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
828
66b40850
VS
8292011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Fix symlink handling on iso9660.
832
833 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
834 All users updated.
835 (grub_iso9660_susp_iterate): Accept zero-size iterate.
836 (grub_iso9660_read_symlink): Moved most of code ...
837 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
838
db821363
VS
8392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
842 Use union to avoid breaking strict-aliasing rules.
843
e1211949
VS
8442011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
845
846 Support multi-extent iso files.
847
848 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
849 Add node.
850 (grub_fshelp_node): Revamp. All users updated.
851 (FLAG_*): New enum.
852 (read_node): New function.
853 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
854 All users updated.
855 (grub_iso9660_mount): Don't attempt to read sua when there is none.
856 (get_node_size): New function.
857 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
858 entries.
859 Fix memory leak on . and ..
860 (grub_iso9660_read): Use read_node.
861 (grub_iso9660_close): Free node.
862
d4888031
VS
8632011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Fix tar 4G limit and handle paths containing dot.
866
867 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
868 (canonicalize): New function.
869 (grub_cpio_find_file): Use canonicalize. Store offs in
870 grub_disk_addr_t.
871 (grub_cpio_dir): Use grub_disk_addr_t.
872 (grub_cpio_open): Likewise.
873
9f12e664
VS
8742011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Fix handling of uncompressed blocks on squashfs and break 4G limit.
877
878 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
879 unused flags.
880 (grub_squash_inode): Add long_file and block_size.
881 (grub_squash_cache_inode): New struct.
882 (grub_squash_dirent): Make types into enum.
883 (SQUASH_TYPE_LONG_REGULAR): New type.
884 (grub_squash_frag_desc): Add field size.
885 (SQUASH_BLOCK_FLAGS): New enum.
886 (grub_squash_data): Use grub_squash_cache_inode.
887 (grub_fshelp_node): Make ino_chunk 64-bit.
888 (read_chunk): Minor argument change. All users updated.
889 (squash_mount): Use correct le_to_cpu.
890 (grub_squash_open): Handle LONG_REGULAR.
891 (direct_read): New function.
892 (grub_squash_read_data): Handle blocks correctly.
893
9f326fba
VS
8942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
897
f4d9b64b
VS
8982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
901
5bbd28b8
VS
9022011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Fix 2G limit on ZFS.
905
906 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
907 types.
908 (uberblock_verify): Likewise.
909 (dmu_read): Likewise.
910 (grub_zfs_read): Likewise. Remove invalid cast.
911
68c72069
VS
9122011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
915 (grub_jfs_blkno): Fix incorrect shift.
916 (grub_jfs_read_file): Use more appropriate types.
917
6e536dc8
VS
9182011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
919
920 Support triple indirect on minix2 and minix3.
921
922 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
923 Declare triple_indir_zone.
924 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
925 indirect.
926
e0864e7a
VS
9272011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Minix FS fixes.
930
931 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
932 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
933 Rename ctime to mtime. All users updated.
934 (grub_minix_get_file_block): Fix types and double indirect computations.
935
89481cab
VS
9362011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
937
938 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
939 if no label is found.
940 (grub_fat_iterate_dir): Fix file size type.
941 (grub_fat_iterate_dir): Likewise.
942
f646e143
VS
9432011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
946 save some space.
947 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
948 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
949
534d769e
VS
9502011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
953
e084ba18
VS
9542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * util/import_gcry.py: Accept space between # and include.
957
3471ecdf
VS
9582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
961
124df5f6
VS
9622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
963
964 Fine grainely disable warnings on lexer. Remove Wno-error on it.
965
966 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
967 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
968 yylex_strncpy.
969 * grub-core/script/yylex.l: Add fine-grained #pragma.
970
4defb8d5
VS
9712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
974 New inline function.
975 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
976 Likewise.
977 (memset) [GRUB_UTIL]: Likewise.
978 (memcmp) [GRUB_UTIL]: Likewise.
979
4e94ae65
VS
9802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
983 inline function rather than a define.
984
18c575e5
VS
9852011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * util/grub-setup.c: Add missing include.
988
f8bc22a8
VS
9892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * util/ieee1275/grub-ofpathname.c: Add missing include.
992
3ce69fc9
VS
9932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
996 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
997 Likewise.
998
d1e293bb
VS
9992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
1002 grub_memcmp usage.
1003
7a5c54a4
VS
10042011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * util/grub-install.in: Add datarootdir as per automake manual
1007 suggestion.
1008 * util/grub-mknetdir.in: Likewise.
1009
10102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
1011
1012 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
1013 suggestion.
1014 * util/grub.d/10_kfreebsd.in: Likewise.
1015 * util/grub.d/10_linux.in: Likewise.
1016 * util/grub.d/10_netbsd.in: Likewise.
1017 * util/grub.d/10_windows.in: Likewise.
1018 * util/grub.d/20_linux_xen.in: Likewise.
1019
766f7d08
VS
10202011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 Remove redundant grub_kernel_image_size.
1023
1024 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
1025 _edata and _start.
1026 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
1027 the small code. It moves it only by few bytes but simplifies the code.
1028 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
1029 _start.
1030 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
1031 (grub_kernel_image_size): Removed.
1032 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
1033 (grub_kernel_image_size): Removed.
1034 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
1035 compiled with Apple toolchain.
1036 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
1037 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
1038 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
1039 (grub_total_module_size): Likewise.
1040 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
1041 Removed.
1042 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
1043 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
1044 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1045 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
1046 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
1047 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
1048 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
1049 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
1050 Removed.
1051 (grub_total_module_size): Removed.
1052 * util/grub-mkimage.c (image_target_desc): Remove image_size.
1053 (image_targets): Likewise.
1054 Set .compressed_size to no field on sparc.
1055 (generate_image): Remove kernel_image_size handling.
1056
fcf1d672
SJ
10572011-10-19 Szymon Janc <szymon@janc.net.pl>
1058
1059 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
1060 NULL pointer dereference.
1061
de9c615e
VS
10622011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
1065 done with a dedicated section.
1066
1067 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
1068 Ensure the correct position of boot_path.
1069 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
1070 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
1071 other fields.
1072 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
1073 * include/grub/boot.h: Removed. All references removed.
1074 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1075 Removed.
1076 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
1077
e55599dc
VS
10782011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1079
1080 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
1081 name.
1082
36dd20ad
VS
10832011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
1086
f8f72eb8
VS
10872011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1090 Don't add the bogus brackets.
1091
a374751b
VS
10922011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 ExFAT support.
1095
1096 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
1097 * grub-core/Makefile.core.def (exfat): New module.
1098 * grub-core/fs/exfat.c: New file.
1099 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
1100 (GRUB_FAT_ATTR_*): Make into an enum.
1101 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
1102 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
1103 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
1104 (GRUB_FAT_MAXFILE): Removed.
1105 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
1106 (grub_current_fat_bpb_t): New type.
1107 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
1108 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
1109 (grub_fat_dir_node_t): New type.
1110 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
1111 (fat_log2) [MODE_EXFAT]: Removed.
1112 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
1113 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
1114 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
1115 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
1116 (grub_fat_label) [MODE_EXFAT]: New function.
1117 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
1118 reserved_first_sector to 0.
1119
544c2487
VS
11202011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Move grub_reboot out of the kernel.
1123
1124 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
1125 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
1126 * grub-core/lib/efi/reboot.c: ... here.
1127 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
1128 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1129 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
1130 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
1131 * grub-core/lib/i386/reboot_trampoline.S: ... here.
1132 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
1133 * grub-core/lib/ieee1275/reboot.c: ... here.
1134 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
1135 * grub-core/lib/mips/arc/reboot.c: ... here.
1136 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
1137 * grub-core/lib/mips/loongson/reboot.c: ...here.
1138 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
1139 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
1140 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1141 * include/grub/i386/reboot.h: New file.
1142 * include/grub/mips/loongson/ec.h: Fix includes.
1143 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1144 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1145 * grub-core/lib/i386/reboot.c: New file.
1146
a97501d2
VS
11472011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Make grub_prefix into module to fix the arbitrary limit and save
1150 some space.
1151
1152 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1153 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1154 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1155 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1156 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1157 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1158 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1159 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1160 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1161 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1162 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1163 * include/grub/ia64/efi/kernel.h: Removed.
1164 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1165 (grub_prefix): Removed.
1166 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1167 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1168 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1169 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1170 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1171 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1172 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1173 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1174 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1175 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1176 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1177 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1178 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1179 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1180 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1181 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1182 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1183 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1184 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1185 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1186 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1187 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1188 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1189 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1190 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1191 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1192 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1193 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1194 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1195 from module.
1196 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1197 prefix_end.
1198 (image_targets): Likewise.
1199 (generate_image): Put prefix as a module.
1200
39705fad
VS
12012011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Replace grub_module_iterate with FOR_MODULES.
1204
1205 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1206 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1207 (grub_efi_modules_addr): ...this.
1208 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1209 (grub_efi_init): Set grub_modbase.
1210 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1211 (grub_modbase): New variable.
1212 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1213 (grub_modbase): New variable.
1214 (grub_machine_init): Set grub_modbase.
1215 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1216 (grub_modbase): New variable.
1217 (grub_machine_init): Set grub_modbase.
1218 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1219 (grub_modbase): New variable.
1220 (grub_machine_init): Set grub_modbase.
1221 * grub-core/kern/main.c (grub_module_iterate): Remove.
1222 (grub_modules_get_end): Use grub_modbase.
1223 (grub_load_modules): Use FOR_MODULES.
1224 (grub_load_config): Likewise.
1225 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1226 (grub_modbase): New variable.
1227 (grub_machine_init): Set grub_modbase.
1228 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1229 (grub_modbase): New variable.
1230 (grub_machine_init): Set grub_modbase.
1231 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1232 Removed.
1233 (grub_modbase): New variable.
1234 (grub_machine_init): Set grub_modbase.
1235 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1236 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1237 (grub_module_iterate): Likewise.
1238 (grub_modbase): New variable declaration.
1239 (FOR_MODULES): New macro.
1240
2afb7f6c
VS
12412011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1244 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1245
366e34fa
VS
12462011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 Fix few obvious type discrepancies.
1249
1250 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1251 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1252 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1253 variable.
1254 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1255 and connected types.
1256 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1257 offset.
1258 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1259 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1260 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1261 and connected types.
1262
177b960e
VS
12632011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 Fix python 3.x incompatibilities.
1266
1267 * gentpl.py: Put brackets around print strings.
1268 * util/import_gcry.py: Open explicitly as utf-8.
1269 Use in instead of has_key.
1270
3b619ae1
VS
12712011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1274 (GRUB_XFS_INO_AGBITS): Make into inline function.
1275 (GRUB_XFS_INO_INOINAG): Likewise.
1276 (GRUB_XFS_INO_AG): Likewise.
1277 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1278 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1279 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1280 (GRUB_XFS_EXTENT_SIZE): Likewise.
1281 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1282 (GRUB_XFS_NEXT_DIRENT): Likewise.
1283 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1284 (grub_xfs_read_file): Fix offset type.
1285
8bcebcb8
RM
12862011-10-15 Robert Millan <rmh@gnu.org>
1287
1288 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1289
0017e5ef
RM
12902011-10-15 Robert Millan <rmh@gnu.org>
1291
1292 Fix build problem on FreeBSD and GNU/kFreeBSD.
1293
1294 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1295
d8919552
VS
12962011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1299
1300 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1301 types.
1302 (grub_hfsplus_btree_recoffset): Likewise.
1303 (grub_hfsplus_btree_recptr): Likewise.
1304 (grub_hfsplus_find_block): Likewise.
1305 (grub_hfsplus_btree_search): Likewise.
1306 (grub_hfsplus_read_block): Likewise.
1307 (grub_hfsplus_read_file): Likewise.
1308 (grub_hfsplus_mount): Likewise.
1309 (grub_hfsplus_btree_iterate_node): Likewise.
1310 (grub_hfsplus_btree_search): Likewise.
1311 (grub_hfsplus_iterate_dir): Likewise.
1312 (grub_hfsplus_read): A small code simplification.
1313
c81296b6
VS
13142011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * grub-core/kern/emu/hostdisk.c
1317 (convert_system_partition_to_system_disk): Don't assume that children
1318 of mapper nodes are mapper nodes.
1319
0eb8ffb1
VS
13202011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1323 * include/grub/misc.h (grub_isxdigit): New function.
1324 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1325 switched to grub_isxdigit.
1326 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1327 number starting with a letter.
1328
a98f4a08
RM
13292011-10-09 Robert Millan <rmh@gnu.org>
1330
1331 LVM support for FreeBSD and GNU/kFreeBSD.
1332
1333 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1334 GNU/kFreeBSD.
1335 (LVM_DEV_MAPPER_STRING): Move from here ...
1336 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1337 * util/getroot.c: Include `<grub/util/lvm.h>'.
1338 (grub_util_get_dev_abstraction): Enable
1339 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1340 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1341 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1342 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1343 support it.
1344 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1345 GNU/kFreeBSD.
1346 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1347 when LVM abstraction is required for ${GRUB_DEVICE}.
1348
050e8e90
SJ
13492011-10-06 Szymon Janc <szymon@janc.net.pl>
1350
1351 Add support for LZO compression in GRUB:
1352 - import of minilzo library,
1353 - LZO decompression for btrfs,
1354 - lzop files decompression.
1355
1356 * grub-core/io/lzopio.c: New file.
1357 * grub-core/lib/adler32.c: Likewise.
1358 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1359 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1360 * grub-core/lib/minilzo/minilzo.c: Likewise.
1361 * grub-core/lib/minilzo/minilzo.h: Likewise.
1362 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1363 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1364 grub-core/lib/minilzo/minilzo.c to common.
1365 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1366 cflags in cppflags.
1367 * grub-core/Makefile.core.def (btrfs): Likewise.
1368 * grub-core/Makefile.core.def (lzopio): New module.
1369 (adler32): Likewise.
1370 * grub-core/fs/btrfs.c: Include minilzo.h.
1371 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1372 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1373 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1374 (grub_btrfs_lzo_decompress): New function.
1375 (grub_btrfs_extent_read): Add support for LZO compression type.
1376 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1377 (GRUB_USHRT_MAX): Likewise.
1378 (GRUB_UINT_MAX): Likewise.
1379 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1380 (UINT_MAX): Likewise.
1381 (CHAR_BIT): Likewise.
1382 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1383 grub-core/lib/posix_wrap/limits.h
1384 (UCHAR_MAX): Likewise.
1385 * include/grub/file.h (grub_file_filter_id): New compression filter
1386 GRUB_FILE_FILTER_LZOPIO.
1387 * include/grub/file.h (grub_file_filter_id): Set
1388 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1389 * include/grub/types.h (grub_get_unaligned16): New function.
1390 (grub_get_unaligned32): Likewise.
1391 (grub_get_unaligned64): Likewise.
1392 * util/import_gcry.py (cryptolist): Add adler32.
1393
0eb8ffb1
VS
13942011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1397 in perspective decreases the complexity of build system and fixes
1398 compilation right now.
1399
ce79cc99 14002011-10-01 Ales Nesrsta <starous@volny.cz>
1401
1402 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1403 (fixed problem related to using UHCI with coreboot).
1404
8667a314
BC
14052011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1406
1407 * gentpl.py: Use Autogen macros so that the output template file
1408 (Makefile.tpl) size is reduced.
1409
fc5efcc0
MK
14102011-09-29 Mads Kiilerich <mads@kiilerich.com>
1411
1412 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1413 extra_dist.
1414
d1ab689d
ML
14152011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1416
1417 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1418 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1419
c05de032
ML
14202011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1421
1422 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1423 _fullpath.
1424
cca7ccd8
ML
14252011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1426
1427 Remove extra declaration of sleep for mingw32.
1428
1429 * util/misc.c (sleep) [__MINGW32__]: Removed.
1430 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1431
e0b0dc83
GS
14322011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1433
1434 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1435 type and packname.
1436 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1437 Resurrected.
1438 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1439 (grub_netbsd_btinfo_bootwedge): New struct.
1440 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1441 New function.
1442 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1443
91a1a164
TH
14442011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1445
1446 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1447 loader.
1448
2ded951e
AB
14492011-09-28 Andreas Born <futur.andy@googlemail.com>
1450
1451 Fix incorrect identifiers in bash-completion.
1452
1453 * util/bash-completion.d/grub-completion.bash.in
1454 (_grub_mkpasswd-pbkdf2): Rename to ...
1455 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1456 (_grub_script-check): Rename to ...
1457 (_grub_script_check): ... this. All users updated.
1458
69915030
VS
14592011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1462 Return 0 if disk isn't biosdisk.
1463
20fd15f9
GS
14642011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1465
1466 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1467 on NetBSD.
1468 * Makefile.util.def (grub-fstest): Likewise.
1469
1a7d7db9
GS
14702011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1471
1472 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1473 Get sector size from disk label.
1474
2221ab6c
CW
14752011-09-05 Colin Watson <cjwatson@ubuntu.com>
1476
1477 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1478 */README* as well as README*.
1479 Reported by: Axel Beckert.
1480
ca51c4a0
VS
14812011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1484 case of less than 256 MiB of RAM.
1485
ab80f326
VS
14862011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/commands/wildcard.c (make_regex): Handle @.
1489
4155e697
VS
14902011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1493
ab178c08
SJ
14942011-08-21 Szymon Janc <szymon@janc.net.pl>
1495
1496 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1497 AC_LANG_CONFTEST macros.
1498
7dc3c686
SJ
14992011-08-20 Szymon Janc <szymon@janc.net.pl>
1500
1501 Add grub-fstest option to uncompress data for commands.
1502
1503 * util/grub-fstest.c (uncompress): New var.
1504 (options): New option -u.
1505
fe8d4a7b
SJ
15062011-08-20 Szymon Janc <szymon@janc.net.pl>
1507
1508 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1509 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1510
a5219af1
SJ
15112011-08-20 Szymon Janc <szymon@janc.net.pl>
1512
1513 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1514 file type was not recognized correctly (not gzip or corrupted).
1515
f87abff5
VS
15162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1519 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1520
d94497ea
VS
15212011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1524 loongson.
1525 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1526 video_radeon_fuloong2e.
1527 * grub-core/video/radeon_fuloong2e.c: New file.
1528 * include/grub/video.h (grub_video_id_t): Add new ID
1529 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1530
0d1fd011
VS
15312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1534 define.
1535 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1536 that PRID matches the detected subplatform and reset the subplatform
1537 if it doesn't.
1538
84beb0ee
VS
15392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1542
1227c133
VS
15432011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1544
1545 Fix PCI iterating on functions >= 4.
1546
1547 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1548 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1549 Removed.
1550 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1551 (grub_pci_read): Fix bitmask.
1552 (grub_pci_read_word): Likewise.
1553 (grub_pci_read_byte): Likewise.
1554 (grub_pci_write): Likewise.
1555 (grub_pci_write_word): Likewise.
1556 (grub_pci_write_byte): Likewise.
1557
9594c689
VS
15582011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1561 can still be specified in TARGET_CFLAGS)
1562
14a2562c
VS
15632011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1566
1567 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1568 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1569 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1570 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1571 (FULOONG): Rename to ...
1572 (FULOONG2F): ... this. All users updated.
1573 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1574 (machtype_fuloong2f_str): ... this.
1575 (machtype_fuloong2e_str): New string.
1576 Check for machtype_fuloong2e_str.
1577 * grub-core/loader/mips/linux.c (loongson_machtypes)
1578 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1579 * grub-core/term/serial.c (loongson_defserial)
1580 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1581 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1582 loongson_defserial.
1583 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1584 Rename to ...
1585 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1586 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1587 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1588 to IMAGE_FULOONG2F_FLASH. All users updated.
1589 (image_targets): Rename images.
1590 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1591
b526cbb6
SJ
15922011-08-19 Szymon Janc <szymon@janc.net.pl>
1593
1594 Make enable of disk cache statistics code configurable.
1595
1596 * configure.ac: --enable-cache-stats added.
1597 * config.h.in (DISK_CACHE_STATS): New define.
1598 * grub-core/Makefile.core.def (cacheinfo): New command.
1599 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1600 * grub-core/commands/cacheinfo.c: New file.
1601 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1602 moved to cacheinfo.c.
1603 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1604 debug code.
1605 * include/grub/disk.h: Likewise.
1606
fb739ccd
SJ
16072011-08-19 Szymon Janc <szymon@janc.net.pl>
1608
1609 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1610 * grub-core/Makefile.am: Likewise.
1611
2bba8cfd
VS
16122011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1615 non-zero pull.
1616
43526629
VS
16172011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1620 All users updated.
1621 (grub_jfs_lookup_symlink): Use correct starting inode.
1622
5c144cc8
VS
16232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * util/grub-setup.c (main): Add missing gcry initialisation.
1626
b1257f65
VS
16272011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Don't accept text modes on EFI when booting Linux.
1630
1631 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1632 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1633
828bc390
ML
16342011-08-15 Mario Limonciello <mario_limonciello@dell.com>
16352011-08-15 Colin Watson <cjwatson@ubuntu.com>
1636
1637 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1638 use of "/path/.." as in grub-install for EFI as well as handling
1639 symlinks correctly.
1640 Fixes Debian bug #637768.
1641
5f60ccac
CW
16422011-08-15 Colin Watson <cjwatson@ubuntu.com>
1643
1644 * util/grub-probe.c: Remove duplicate #include.
1645
6dc212f9
RM
16462011-08-10 Robert Millan <rmh@gnu.org>
1647
1648 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1649
1650 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1651 function.
1652 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1653 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1654
66816d85
RM
16552011-08-03 Robert Millan <rmh@gnu.org>
1656
1657 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1658 la_array as packed.
1659 Reported by: Zachary Bedell
1660
20168fca
CW
16612011-07-26 Colin Watson <cjwatson@ubuntu.com>
1662
1663 * configure.ac: The Loongson port requires grub-mkfont due to its
1664 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1665 be built.
1666
303b6246
CW
16672011-07-26 Colin Watson <cjwatson@ubuntu.com>
1668
1669 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1670 processing arguments (otherwise help2man fails when GRUB has not yet
1671 been installed).
1672
6795300e
VS
16732011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1674
41aa28ea
VS
1675 New script grub-mkstandalone.
1676
1677 * Makefile.util.def (grub-mkstandalone): New script.
1678 * docs/man/grub-mkstandalone.h2m: New file.
1679 * util/grub-mkstandalone.in: Likewise.
1680
16812011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 Support ATA disks with 4K sectors.
6795300e
VS
1684
1685 * include/grub/ata.h (grub_ata): New member log_sector_size.
1686 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1687 (grub_ata_identify): Read sector size.
1688 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1689
92227597
VS
16902011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * util/grub-install.in: Don't use uhci outside of x86.
1693
c77069f5
VS
16942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * util/grub-mkrescue.in: Add missing quotes.
1697
16982011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
1699
1700 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1701 dereference.
1702
583168a2
VS
17032011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1706
6be1c01f
VS
17072011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1708
1709 * include/grub/video.h: add missing EXPORT_FUND on
1710 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1711
a1167439
VS
17122011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * include/grub/mips/kernel.h: Fix define conflict.
1715
bf66054f
VS
17162011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1719 all four ways.
1720
8fc4fa45
CW
17212011-07-21 Colin Watson <cjwatson@ubuntu.com>
1722
1723 Preferred resolution detection for VBE.
1724
1725 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1726 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1727 the Flat Panel extension, in line with the X.org VESA driver.
1728 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1729 New function.
1730 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1731 (grub_vbe_bios_read_edid): Likewise.
1732 (grub_vbe_get_preferred_mode): Likewise.
1733 (grub_video_vbe_setup): When the mode is "auto", try to get the
1734 preferred mode from VBE, and use the largest mode that is no larger
1735 than the preferred mode (some BIOSes expose a preferred mode that is
1736 not in their mode list!). If this fails, fall back to 640x480 as a
1737 safe conservative choice.
1738 (grub_video_vbe_get_edid): New function.
1739 (grub_video_vbe_adapter): Add get_edid.
1740 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1741 (struct grub_video_adapter): Add get_edid.
1742 (grub_video_edid_checksum): Add prototype.
1743 (grub_video_edid_preferred_mode): Likewise.
1744 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1745 structure.
1746
1747 * grub-core/commands/videoinfo.c (print_edid): New function.
1748 (grub_cmd_videoinfo): Print EDID if available.
1749
1750 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1751 is more appropriate on a wider range of platforms than 640x480.
1752 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1753 documentation.
1754
ca5572a9
VS
17552011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1758
e4bcf625
VS
17592011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * po/POTFILES.in: Regenerate.
1762
c4edd548
VS
17632011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1766 incorrect memory usage.
1767
16a2bab0
VS
17682011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1769
1770 * util/grub-install.in: Source grub-mkconfig_lib.
1771
2e418de6
VS
17722011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1773
1774 Remove getroot.c from core on emu platform.
1775
1776 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1777 kern/emu/raid.c.
1778 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1779 useless.
1780 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1781 * util/getroot.c (get_win32_path): ... here.
1782 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1783 * util/getroot.c (fini_libzfs): ... here.
1784 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1785 * util/getroot.c (grub_get_libzfs_handle): ... here.
1786 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1787 Moved from here...
1788 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1789 * grub-core/kern/emu/misc.c
1790 (grub_make_system_path_relative_to_its_root): Moved from here...
1791 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1792 * grub-core/kern/emu/getroot.c: Moved from here ...
1793 * util/getroot.c: ... here. All users updated.
1794 * grub-core/kern/emu/raid.c: Moved from here ...
1795 * util/raid.c: ... here. All users updated.
1796
def9832a
VS
17972011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * po/POTFILES.in: Regenerate.
1800
cd8fe79a
VS
18012011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Fix compilation on GNU/Linux.
1804
1805 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1806 Disable geli.
1807 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1808 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1809 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1810
a251b719
VS
18112011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18122011-07-07 Michael Gorven <michael@gorven.za.net>
18132011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1814
1815 LUKS and GELI support.
1816
1817 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1818 grub-core/disk/luks.c, grub-core/disk/geli.c,
1819 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1820 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1821 grub-core/lib/arg.c.
1822 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1823 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1824 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1825 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1826 (grub-bin2h): Add libgcry.a.
1827 (grub-mkimage): Likewise.
1828 (grub-mkrelpath): Likewise.
1829 (grub-script-check): Likewise.
1830 (grub-editenv): Likewise.
1831 (grub-mkpasswd-pbkdf2): Likewise.
1832 (grub-pe2elf): Likewise.
1833 (grub-fstest): Likewise.
1834 (grub-mkfont): Likewise.
1835 (grub-mkdevicemap): Likewise.
1836 (grub-probe): Likewise.
1837 (grub-ofpath): Likewise.
1838 (grub-mklayout): Likewise.
1839 (example_unit_test): Likewise.
1840 (grub-menulst2cfg): Likewise.
1841 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1842 * grub-core/Makefile.core.def (cryptodisk): New module.
1843 (luks): Likewise.
1844 (geli): Likewise.
1845 * grub-core/disk/AFSplitter.c: New file.
1846 * grub-core/disk/cryptodisk.c: Likewise.
1847 * grub-core/disk/geli.c: Likewise.
1848 * grub-core/disk/luks.c: Likewise.
1849 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
1850 grub_util_is_lvm.
1851 (grub_util_get_dm_abstraction): New function.
1852 (grub_util_follow_gpart_up): Likewise.
1853 (grub_util_get_geom_abstraction): Likewise.
1854 (grub_util_get_dev_abstraction): Use new functions.
1855 (grub_util_pull_device): Pull GELI and LUKS.
1856 (grub_util_get_grub_dev): Handle LUKS and GELI.
1857 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
1858 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
1859 (follow_geom_up): Removed.
1860 (grub_util_fd_seek): New function.
1861 (open_device): Use grub_util_fd_seek.
1862 (nread): Rename to ..
1863 (grub_util_fd_read): ... this. All users updated.
1864 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
1865 (grub_crypto_cbc_decrypt): Likewise.
1866 (grub_crypto_hmac_write): Likewise.
1867 (grub_crypto_hmac_buffer): Likewise.
1868 (grub_password_get): Extend to util.
1869 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
1870 New member modname.
1871 (gcry_md_spec) [GRUB_UTIL]: Likewise.
1872 * include/grub/cryptodisk.h: New file.
1873 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
1874 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
1875 LUKS and GELI.
1876 (grub_util_follow_gpart_up): New proto.
1877 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
1878 (grub_util_fd_read): Likewise.
1879 (grub_cryptodisk_cheat_mount): Likewise.
1880 (grub_util_cryptodisk_print_uuid): Likewise.
1881 (grub_util_get_fd_sectors): Likewise.
1882 * util/grub-fstest.c (mount_crypt): New var.
1883 (fstest): Mount crypto if requested.
1884 (options): New option -C.
1885 (argp_parser): Parse -C.
1886 (main): Init and fini gcry.
1887 * util/grub-install.in: Support cryptodisk install.
1888 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
1889 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
1890 cryptodisk.
1891 (prepare_grub_to_access_device): Likewise.
1892 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
1893 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
1894 (probe_cryptodisk_uuid): New function.
1895 (probe_abstraction): Likewise.
1896 (probe): Use new functions.
1897 * util/import_gcry.py: Create Makefile.utilgcry.def.
1898 Add modname member.
1899
9bfdcbbc
VS
19002011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1901
1902 Lazy device scanning.
1903
1904 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
1905 (grub-setup): Remove util/raid.c.
1906 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
1907 * grub-core/disk/lvm.c (scan_depth): New variable.
1908 (grub_lvm_iterate): Rescan if necessary.
1909 (find_lv): New function based on grub_lvm_open.
1910 (grub_lvm_open): Use find_lv. Rescan on error.
1911 (is_node_readable): New function.
1912 (is_lv_readable): Likewise.
1913 (grub_lvm_scan_device): Skip already found disks.
1914 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
1915 Stop if searched device is found and readable.
1916 * grub-core/disk/raid.c (inscnt): New variable.
1917 (scan_depth): Likewise.
1918 (scan_devices): New function based on grub_raid_register. Abort if
1919 looked for device is found.
1920 (grub_raid_iterate): Rescan if needed.
1921 (find_array): NEw function based on -grub_raid_open.
1922 (grub_raid_open): Use find_array and rescan.
1923 (insert_array): Set became_readable_at.
1924 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
1925 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
1926 New function.
1927 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
1928 (grub_util_pull_device): New function.
1929 (grub_util_get_grub_dev): Call grub_util_pull_device.
1930 * util/raid.c: Moved to ..
1931 * grub-core/kern/emu/raid.c: ... here.
1932 (grub_util_raid_getmembers): New parameter "bootable".
1933 All users updated. Support 1.x.
1934 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
1935 All users updated.
1936 * include/grub/disk.h (grub_disk_pull_t): New enum.
1937 (grub_disk_dev): Change iterate prototype.
1938 All users updated.
1939 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
1940 New proto.
1941 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
1942 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
1943 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
1944 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
1945 All users updated.
1946 * include/grub/util/raid.h: Removed.
1947
1c358e59
VS
19482011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * po/POTFILES.in: Regenerate.
1951
abee94ed
VS
19522011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 Unify sparc init with other ieee1275.
1955
1956 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
1957 instead of kern/sparc64/ieee1275/init.c.
1958 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
1959 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
1960 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
1961 grub/machine/kernel.h.
1962 (grub_ieee1275_original_stack) [__sparc__]: New variable.
1963 (grub_claim_heap) [__sparc__]: Use sparc version.
1964 (grub_machine_init): Moved args parsing to
1965 (grub_parse_cmdline): ...this.
1966 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
1967 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
1968 New definition.
1969 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
1970
1971 Move BOOTP to separate file.
1972
1973 * grub-core/Makefile.core.def (net): Add net/bootp.c.
1974 * grub-core/net/net.c: Move all BOOTP functions to
1975 * grub-core/net/bootp.c: ... here.
1976
1977 Use frame interface on PXE.
1978
1979 * grub-core/Makefile.core.def (pxecmd): Removed.
1980 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
1981 * grub-core/commands/i386/pc/pxecmd.c: Removed.
1982 * grub-core/i386/pc/pxe.c: Moved from here ...
1983 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
1984 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
1985 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
1986
1987 EFI network support.
1988
1989 * grub-core/Makefile.core.def (efinet): New module.
1990 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
1991 here...
1992 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
1993 All users updated.
1994 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
1995 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
1996 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
1997 * grub-core/net/drivers/efi/efinet.c: New file.
1998 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
1999 (grub_efi_net_config): New extern var.
2000
2001 Various cleanups and bugfixes.
2002
2003 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
2004 error.
2005 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
2006 disk declared as partition.
2007 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
2008 leak on failure.
2009 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
2010 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
2011 (grub_debug_zalloc): Likewise.
2012 (grub_debug_realloc): Likewise.
2013 (grub_debug_memalign): Likewise.
2014 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
2015 Check that target is IPv4.
2016 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
2017 local-mac-address as fallback.
2018 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
2019 memory leak.
2020 * grub-core/net/ip.c (ipchksum): Rename to ...
2021 (grub_net_ip_chksum): ... this. All users updated.
2022 (grub_net_recv_ip_packets): Special handling for DHCP.
2023 * util/grub-mkimage.c (generate_image): Zero-out aout header.
2024
2025 Unify prefix handling
2026
2027 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
2028 (grub_machine_get_bootlocation): ... this.
2029 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
2030 (grub_machine_get_bootlocation): ... this.
2031 (grub_prefix): New variable.
2032 (prefix): Removed.
2033 (root_dev): New variable.
2034 (dir): Likewise.
2035 (main): Use new variables.
2036 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
2037 Revamped into ...
2038 (grub_machine_get_bootlocation): ... this.
2039 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
2040 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
2041 (grub_machine_get_bootlocation): ... this.
2042 (grub_machine_set_prefix): Removed.
2043 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
2044 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
2045 Revamped into ...
2046 (grub_machine_get_bootlocation): ... this.
2047 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
2048 (grub_set_prefix_and_root): ... this. All users updated.
2049 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
2050 Revamped into ...
2051 (grub_machine_get_bootlocation): ... this.
2052 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
2053 (grub_machine_get_bootlocation): New proto.
2054 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
2055
2056 Less intrusive and more reliable seek on network implementation.
2057
2058 * grub-core/kern/file.c (grub_file_net_seek): Removed.
2059 (grub_file_seek): Don't call grub_file_net_seek.
2060 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
2061 (grub_net_fs_read_real): .. this.
2062 (grub_net_seek_real): Use net->offset.
2063 (grub_net_fs_read): Seek if necessary.
2064
2065 Unify IEEE1275 netwotk config with the other platforms.
2066
2067 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
2068 New variable.
2069 (grub_machine_get_bootlocation): Support network.
2070 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2071 Support type and device parsing.
2072 (grub_ieee1275_get_device_type): New function.
2073 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
2074 into ...
2075 (grub_ieee1275_net_config_real): ... this.
2076 (grub_ofnet_probecards): Removed.
2077 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
2078 * include/grub/ieee1275/ofnet.h: Removed.
2079 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
2080 extern var.
2081 (grub_ieee1275_get_device_type): New function.
2082
2083 Unify network device closing across platforms and make more robust.
2084
2085 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
2086 grub_grubnet_fini.
2087 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
2088 already.
2089 * grub-core/net/net.c (grub_net_network_level_interface_register):
2090 Update num_ifaces.
2091 (grub_net_card_unregister): Close all interfaces.
2092 (receive_packets): Don't poll if no iterfaces are registered.
2093 Open if necessary.
2094 (grub_net_fini_hw): New function.
2095 (grub_net_restore_hw): Likewise.
2096 (fini_hnd): New variable.
2097 (GRUB_MOD_INIT): Register preboot hook.
2098 (GRUB_MOD_FINI): Run and unregister preboot hook.
2099
2100 Poll network cards when idle.
2101
2102 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
2103 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
2104 * grub-core/net/net.c (receive_packets): Save last poll time.
2105 (grub_net_poll_cards_idle_real): New function.
2106 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
2107 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
2108 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
2109
2110 Rename ofnet interfaces.
2111
2112 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
2113 (grub_ofnet_findcards): Use ofnet_%s names.
2114
2115 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
2116
2117 Cleanup socket opening.
2118
2119 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
2120 (grub_net_fs_close): Likewise.
2121 (grub_net_fs_read_real): Use eof member.
2122 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
2123 (+grub_net_udp_close): New inline function.
2124
2125 * include/grub/net/tftp.h: Moved to the top of ...
2126 * grub-core/net/tftp.c: ... here.
2127 * include/grub/net/ip.h: Moved mostly to the top of ...
2128 * grub-core/net/ip.c: ... here.
2129 * include/grub/net/ethernet.h: Moved mostly to the top of ...
2130 * grub-core/net/ethernet.c: ... here.
2131
2132 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
2133
2134 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
2135 FS name.
2136
2137 * include/grub/net/ip.h (ipv4_ini): Removed.
2138 (ipv4_fini): Likewise.
2139
2140 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2141 (grub_net_send_ip_packets): Likewise.
2142
cf1337aa
VS
21432011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2144
2145 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2146 grub_read_cmos prototype.
2147
93c06ff9
VS
21482011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2149
2150 VGA text support in qemu-mips
2151
2152 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2153 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2154 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2155 text.
2156 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2157 * grub-core/kern/vga_init.c: ... this.
2158 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2159 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2160 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2161 Adjust.
2162 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2163 GRUB_MACHINE_PCI_IO_BASE.
2164
748ccabe
VS
21652011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 MIPS qemu flash support.
2168
2169 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2170 magic.
2171 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2172 (grub_machine_init): Probe memory if its size isn't known.
2173 * util/grub-mkimage.c (image_targets): Add flash targets.
2174 (generate_image): Handle flash targets.
2175
d7345994
VS
21762011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 MIPS qemu at_keyboard support.
2179
2180 * gentpl.py (videoinkernel): Add qemu-mips.
2181 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2182 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2183 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2184 modules.
2185 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2186 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2187 * grub-core/term/serial.c (grub_serial_register)
2188 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2189
a07a81b3
VS
21902011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 CMOS support on sparc.
2193
2194 * gentpl.py (cmos): Add powerpc and sparc.
2195 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2196 powerpc and sparc.
2197 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2198 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2199 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2200 grub_set_datetime_cmos.
2201 * grub-core/lib/ieee1275/cmos.c: New file.
2202 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2203 (find_rtc): Set no_ieee1275_rtc on error.
2204 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2205 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2206 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2207 fail. Move value to argument. All users updated
2208 (grub_cmos_write): Likewise.
2209 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2210 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2211 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2212 grub_get_datetime_cmos and grub_set_datetime_cmos.
2213
77546584
GS
22142011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2215
2216 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2217 sourcing grub-mkconfig_lib.
2218 * util/update-grub_lib.in: Likewise.
2219 * util/grub.d/00_header.in: Likewise.
2220 * util/grub.d/10_hurd.in: Likewise.
2221 * util/grub.d/10_kfreebsd.in: Likewise.
2222 * util/grub.d/10_linux.in: Likewise.
2223 * util/grub.d/10_netbsd.in: Likewise.
2224 * util/grub.d/10_windows.in: Likewise.
2225 * util/grub.d/20_linux_xen.in: Likewise.
2226 * util/grub.d/30_os-prober.in: Likewise.
2227
54894791
CW
22282011-06-28 Colin Watson <cjwatson@ubuntu.com>
2229
2230 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2231 default_bg_color rather than black.
2232 (grub_gfxterm_fullscreen): Likewise.
2233 (grub_gfxterm_background_color_cmd): Save new background color in
2234 default_bg_color.
2235
8d5d8444
VS
22362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2239
5afeb5bd
VS
22402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2243 mismerge.
2244
ba7df45e
VS
22452011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 Chainloading on coreboot support.
2248
2249 * grub-core/Makefile.core.def (chain): Add coreboot.
2250 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2251
d0b526b2
VS
22522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2255 if it happens.
2256
5ff1d945
VS
22572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 Implement time command.
2260
2261 * grub-core/Makefile.core.def (time): New module.
2262 * grub-core/commands/time.c: New file.
2263 * grub-core/script/parser.y: Remove "time" keyword.
2264 * grub-core/script/yylex.l: Likewise.
2265
5ebaad7e
VS
22662011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2269
bdea3798
VS
22702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2273 when handling leftovers.
2274
b28c5655
VS
22752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2278 so that help2man doesn't fail.
2279
b6f945dc
VS
22802011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2281
2282 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2283 type in pointers on sparc64.
2284 (get_card_packet): Likewise.
2285
f9b75e8a
CW
22862011-06-27 Colin Watson <cjwatson@ubuntu.com>
2287
2288 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2289 with `*'.
2290 (grub_cmd_videoinfo): Fetch current video mode.
2291
1e3d9b86
VS
22922011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2295 because of underlying system restrictions.
2296
efff4b1c
VS
22972011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2300 necessary.
2301
9fc9ce37
VS
23022011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 Coreboot video support.
2305
2306 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2307 (vbe): Likewise.
2308 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2309 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2310 here ...
2311 * grub-core/kern/i386/int.S: ... here.
2312 * grub-core/video/i386/pc/vbe.c: Updated includes.
2313 * grub-core/video/i386/pc/vga.c: Likewise.
2314 * include/grub/i386/coreboot/memory.h
2315 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2316 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2317 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2318 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2319 Disable interrupts.
2320 * include/grub/i386/pc/vga.h: Removed. All users updated.
2321
41bec7fe
VS
23222011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2325 definitions for dprintf.
2326 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2327
ca80309d
VS
23282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2331 prototype.
2332 (get_card_packet): Likewise.
2333
9e322ce8
YB
23342011-06-26 Yves Blusseau <blusseau@zetam.org>
2335
2336 Display the path of the file when file is not found
2337
2338 * grub-core/fs/fat.c: Display the filename when file is not found.
2339 * grub-core/fs/fshelp.c: Likewise.
2340 * grub-core/fs/hfs.c: Likewise.
2341 * grub-core/fs/jfs.c: Likewise.
2342 * grub-core/fs/minix.c: Likewise.
2343 * grub-core/fs/ufs.c: Likewise.
2344 * grub-core/fs/btrfs.c: Likewise.
2345 * grub-core/commands/i386/pc/play.c: Likewise.
2346
cbf597af
SJ
23472011-06-26 Szymon Janc <szymon@janc.net.pl>
2348
2349 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2350 pointer checks before calling grub_free().
2351 * grub-core/commands/wildcard.c (match_devices): Likewise.
2352 * grub-core/commands/wildcard.c (match_files): Likewise.
2353 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2354 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2355 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2356 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2357 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2358 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2359 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2360 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2361 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2362
6295b32f
P
23632011-06-25 Patrick <p55@mailinator.com>
2364
2365 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2366
77c0840b
VS
23672011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2368
2369 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2370 (grub_pxe_send): Likewise.
2371 (GRUB_MOD_INIT): Fix types.
2372
40ea05de
SJ
23732011-06-24 Szymon Janc <szymon@janc.net.pl>
2374
2375 * grub-core/io/xzio.c: Fix code style issues
2376
90162423
MRA
23772011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
23782011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2379
2380 Network infrastructure.
2381 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2382
2383 * include/grub/net/arp.h: New file.
90162423
MRA
2384 * include/grub/net/device.h: Likewise.
2385 * include/grub/net/ethernet.h: Likewise.
2386 * include/grub/net/ip.h: Likewise.
2387 * include/grub/net/netbuff.h: Likewise.
2388 * include/grub/net/tftp.h: Likewise.
2389 * include/grub/net/udp.h: Likewise.
2390 * include/grub/ieee1275/ofnet.h: Likewise.
2391 * include/grub/emu/export.h: Likewise.
2392 * include/grub/net.h: Likewise.
2393 * grub-core/net/arp.c: Likewise.
2394 * grub-core/net/ethernet.c: Likewise.
2395 * grub-core/net/ip.c: Likewise.
2396 * grub-core/net/udp.c: Likewise.
2397 * grub-core/net/tftp.c: Likewise.
2398 * grub-core/net/netbuff.c: Likewise.
2399 * grub-core/net/net.c: Likewise.
2400 * grub-core/net/drivers/emu/emunet.c: Likewise.
2401 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2402 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2403 export.h.
2404 * grub-core/Makefile.core.def (net): New module.
2405 (tftp): Likewise.
2406 (ofnet): Likewise.
2407 (emunet): Likewise.
2408 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2409 network protocols.
2410 * grub-core/kern/device.c (grub_net_open) : New variable.
2411 (grub_device_open): Handle network device.
2412 (grub_device_close): Likewise.
2413 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2414 (grub_grubnet_fini): Likewise.
2415 (grub_file_seek): Seek in network device.
2416 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2417 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2418 network root.
2419 (grub_machine_fini): Call grub_grubnet_fini.
2420 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2421 network.
2422 (grub_ieee1275_get_aliasdevname): New function.
2423 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2424 Add unofficial Solaris network info.
2425 (grub_multiboot_make_mbi): Likewise.
2426 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2427 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2428 * include/grub/device.h (grub_fs): Removed.
2429 * include/grub/err.h (grub_err_t): Add network-related values.
2430 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2431 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2432 (grub_ieee1275_get_aliasdevname): New proto.
2433 * include/grub/net.h: Rewritten.
423a1849 2434
031f22a0
VS
24352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2438 names.
2439
4388ca72
VS
24402011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2441
2442 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2443 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2444 it truncates the output.
2445 Reported by: Ximin Luo.
2446
98e2f506
VS
24472011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2450
2a5e94d8
VS
24512011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2454 partmap before abstraction.
2455
535c1910
AK
24562011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2457
2458 * util/grub-mkconfig_lib.in: Add missing quotes.
2459
bc09e1a2
VS
24602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2463 old method if mountinfo would return /dev/root and /dev/root doesn't
2464 exist.
2465
290766fb
VS
24662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 ZFS zlib support
2469
2470 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2471 (decomp_table): Add zlib entries.
2472 (zio_read): USe 8 bits for compression function rather than 3.
2473 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2474
24752011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/disk/ahci.c: Add missing license statements.
2478 * grub-core/fs/romfs.c: Likewise.
2479 * grub-core/lib/ia64/setjmp.S: Likewise.
2480 * grub-core/loader/i386/pc/freedos.c: Likewise.
2481 * grub-core/loader/ia64/efi/linux.c: Likewise.
2482 * grub-core/video/colors.c: Likewise.
2483 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2484
5ab3f48a
VS
24852011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 AHCI support.
2488
2489 * grub-core/Makefile.core.def (ata_pthru): Removed.
2490 (ahci): New module.
2491 (pata): Likewise.
2492 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2493 on unload.
2494 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2495 readwrite.
2496 (grub_hdparm_do_check_powermode_cmd): Likewise.
2497 (grub_hdparm_do_smart_cmd): Likewise.
2498 (grub_hdparm_set_val_cmd): Likewise.
2499 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2500 * grub-core/disk/ahci.c: New file.
2501 * grub-core/disk/ata.c: Factor out the low-level part into ...
2502 * grub-core/disk/pata.c: ... here.
2503 * grub-core/disk/ata_pthru.c: Contents moved to ...
2504 * grub-core/disk/pata.c: ... here.
2505 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2506 (grub_scsi_iterate): Use grub_scsi_names.
2507 (grub_scsi_open): Likewise.
2508 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2509 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2510 (grub_ata_regs_t): New struct.
2511 (grub_disk_ata_pass_through_parms): Likewise.
2512 (grub_ata_device): Renamed to ...
2513 (grub_ata): ... this.
2514 (grub_ata_dev): New struct.
2515 Removed all low-level inline functions.
2516 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2517 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2518 iterate hooks and open. All users updated.
2519 * util/grub-install.in: Handle AHCI disk module.
2520
c31dc5f5
SJ
25212011-06-23 Szymon Janc <szymon@janc.net.pl>
2522
2523 Add support for DRI and RSTn markers in JPEG files.
2524
2525 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2526 (JPEG_MARKER_RST0): Likewise.
2527 (JPEG_MARKER_RST1): Likewise.
2528 (JPEG_MARKER_RST2): Likewise.
2529 (JPEG_MARKER_RST3): Likewise.
2530 (JPEG_MARKER_RST4): Likewise.
2531 (JPEG_MARKER_RST5): Likewise.
2532 (JPEG_MARKER_RST6): Likewise.
2533 (JPEG_MARKER_RST7): Likewise.
2534 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2535 (grub_jpeg_decode_dri): New function.
2536 (grub_jpeg_decode_sos): Move image data related part into
2537 grub_jpeg_decode_data function.
2538 (grub_jpeg_decode_data): New function.
2539 (grub_jpeg_reset): New function.
2540 (grub_jpeg_decode_jpeg): Handle new markers.
2541
fe12fd5b
VS
25422011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 * util/ieee1275/ofpath.c (check_sas): Close fd.
2545 (main): Free of_path.
2546 Reported by: David Volgyes <dvolgyes>.
2547
03147f46
VS
25482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2551 Reported by: David Volgyes <dvolgyes>.
2552
cad3237f
VS
25532011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2556 file after stat.
2557 Reported by: David Volgyes <dvolgyes>.
2558
13548d26
VS
25592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2562
2563 Reported by: David Volgyes <dvolgyes>.
2564
e061a1b5
VS
25652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2568 Prevent memory leak.
2569
1abe47dc
VS
25702011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2573 (main): Close file.
e061a1b5 2574 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2575
fbc62666
VS
25762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2579 to continue if allocation is failed.
2580
2581 Reported by: David Volgyes <dvolgyes>.
2582
e98c83e9
DV
25832011-06-23 David Volgyes <dvolgyes>
2584
2585 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2586 dereference.
2587
a199a8cd
VS
25882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Fix spurious warning.
2591
2592 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2593 (acorn_partition_map_find): Use .bin member.
2594
e2d1dba0
VS
25952011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2598 /dev/root as a valid device.
2599
8a5d6919
JM
26002011-06-23 Jim Meyering <meyering@redhat.com>
2601
e2d1dba0
VS
2602 Avoid NULL deref in grub_device_open.
2603
8a5d6919
JM
2604 * grub-core/kern/device.c (grub_device_open): Don't dereference
2605 a NULL pointer upon failed grub_env_get.
2606
f7db6f4a
VS
26072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2608
2609 Support non-512B sectors and agglomerate reads.
2610
2611 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2612 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2613 (disk_io_guid): Removed.
2614 (make_devices): Locate solely by BlockIO.
2615 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2616 (grub_efidisk_read): Use read_blocks.
2617 (grub_efidisk_write): Use write_blocks.
2618 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2619 log_sector_size.
2620 (get_safe_sectors): Handle non-512B sectors.
2621 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2622 sectors.
2623 (grub_biosdisk_write): Handle non-512B sectors.
2624 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2625 (grub_scsi_read): Remove special non-512B block handling (now handled
2626 one level up).
2627 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2628 and do sanity checks.
2629 (grub_disk_adjust_range): Handle non-512B sectors.
2630 (transform_sector): New function.
2631 (grub_disk_read_small): Likewise.
2632 (grub_disk_read): Rewritten.
2633 (grub_disk_write): Handle non-512B sectors.
2634 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2635 log_sector_size.
2636 (open_device): Use log_sector_size.
2637 (grub_util_biosdisk_read): Likewise.
2638 (grub_util_biosdisk_write): Likewise.
2639 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2640 non-512B sectors.
2641 (pc_partition_map_embed): Likewise.
2642 * include/grub/disk.h (grub_disk): New field log_sector_size.
2643 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2644 (GRUB_DISK_CACHE_BITS): Increased to 6.
2645 * util/grub-fstest.c (fstest): New command testload.
2646 (argp_parser): Likewise.
2647
881ac815
RM
26482011-06-16 Robert Millan <rmh@gnu.org>
2649
2650 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2651 `ata' driver on kernel of FreeBSD 9.
2652
2653 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2654 (get_ataraid_disk_name): New functions.
2655 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2656 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2657 get_ataraid_disk_name() and get_ada_disk_name().
2658
1e9aef7d
CW
26592011-06-13 Colin Watson <cjwatson@ubuntu.com>
2660
2661 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2662 input format.
2663
351c7c8a
CW
26642011-05-29 Colin Watson <cjwatson@ubuntu.com>
2665
2666 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2667 `ftp.gnu.org' for `alpha.gnu.org'.
2668
6b4e6430
CW
26692011-05-27 Colin Watson <cjwatson@ubuntu.com>
2670
2671 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2672 partitions under /dev/disk/by-id/.
2673
c64db050
CW
26742011-05-27 Colin Watson <cjwatson@ubuntu.com>
2675
2676 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2677 after ten consecutive open failures. Scanning all the way up to
2678 10000 is excessive and can cause serious performance problems in
2679 some configurations.
2680 Fixes Ubuntu bug #787461.
2681
245f4aba
VS
26822011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2685 opening new one.
2686
f767c929
VS
26872011-05-21 Colin Watson <cjwatson@ubuntu.com>
26882011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Don't stat devices unless we have to.
2691
2692 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2693 dir == /dev/mapper.
2694 (grub_guess_root_device): Use already known os_dev if possible.
2695 * grub-core/kern/emu/hostdisk.c
2696 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2697 if device is known to be a dm one.
2698
f35fa3a6
CW
26992011-05-20 Colin Watson <cjwatson@ubuntu.com>
2700
2701 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2702 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2703 Reported by: Pawel Tecza.
2704
9a79fcf2
VS
27052011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2708 (lsefisystab): Likewise.
2709 (lssal): Likewise.
2710 (lsefimmap): Likewise.
2711 (hdparm): Enable on qemu-mips.
2712 (setjmp): Add ia64 nodist.
2713 (serial): Simplify tags.
2714
63e3eea9
CW
27152011-05-18 Colin Watson <cjwatson@ubuntu.com>
2716
2717 * Makefile.util.def (grub-ofpathname): Install manual page.
2718
09728256
CW
27192011-05-18 Colin Watson <cjwatson@ubuntu.com>
2720
2721 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2722
8b63a142
CW
27232011-05-18 Colin Watson <cjwatson@ubuntu.com>
2724
2725 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2726
e775d8ed
VS
27272011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2730 into dprintf.
2731
bf947d36
VS
27322011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 Use full 64-bit division.
2735
2736 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2737 (grub_divmod64): ... this.
2738 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2739 version.
2740
b84f26c5
CW
27412011-05-18 Colin Watson <cjwatson@ubuntu.com>
2742
2743 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2744 `source'.
2745
5626056f
CW
27462011-05-18 Colin Watson <cjwatson@ubuntu.com>
2747
2748 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2749 to avoid accidents when debugging with 'sh -x'.
2750 * grub-core/gensyminfo.sh.in: Likewise.
2751 * tests/example_scripted_test.in: Likewise.
2752 * tests/grub_cmd_regexp.in: Likewise.
2753 * tests/grub_script_blanklines.in: Likewise.
2754 * tests/grub_script_dollar.in: Likewise.
2755 * tests/grub_script_expansion.in: Likewise.
2756 * tests/grub_script_final_semicolon.in: Likewise.
2757 * tests/partmap_test.in: Likewise.
2758 * tests/util/grub-shell-tester.in: Likewise.
2759 * tests/util/grub-shell.in: Likewise.
2760
e2965f4a
CW
27612011-05-18 Colin Watson <cjwatson@ubuntu.com>
2762
2763 Move gfxmenu color handling to video, so that gfxterm can use it
2764 too.
2765
2766 * grub-core/gfxmenu/named_colors.c: Move to ...
2767 * grub-core/video/colors.c: ... here. Rename
2768 grub_gui_get_named_color to grub_video_get_named_color.
2769 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2770 * grub-core/video/colors.c (my_isxdigit): ... here.
2771 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2772 Move to ...
2773 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2774 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2775 to ...
2776 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2777
2778 * include/grub/gui.h (grub_gui_color_t): Move to ...
2779 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2780 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2781 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2782 * include/grub/gui.h (grub_gui_map_color): Move to ...
2783 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2784 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2785 to ...
2786 * include/grub/video.h (grub_video_get_named_color): ... here.
2787 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2788 * include/grub/video.h (grub_video_parse_color): ... here.
2789
2790 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2791 video/colors.c.
2792 (gfxmenu): Remove gfxmenu/named_colors.c.
2793 (video) [videomodules]: Add video/colors.c.
2794
2795 Add a background_color command.
2796
2797 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2798 function.
2799 (GRUB_MOD_INIT): Register background_color command.
2800 (GRUB_MOD_FINI): Unregister background_color command.
2801 (redraw_screen_rect): Allow blend/replace of text layer to be
2802 controlled independently from whether there is a background bitmap.
2803 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2804 changing bitmap.
2805
1e4b4390
VS
28062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2807
26618ff0
VS
2808 Patch BPB in ntldr and chainloader --bpb.
2809
1e4b4390
VS
2810 * grub-core/fs/fat.c: Include grub/fat.h.
2811 (grub_fat_bpb): Moved to ...
2812 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2813 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2814 grub/ntfs.h.
2815 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2816 Moved from here...
2817 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2818 here.
2819 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2820 New function.
2821 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2822 (GRUB_MOD_INIT): Show --bpb.
2823 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2824 * grub-core/normal/main.c (features): New variable.
2825 (GRUB_MOD_INIT): Set feature_* variables.
2826 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2827 proto.
2828 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2829
cf02731e
VS
28302011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2833 for cleanness.
2834
e3a1073f
VS
28352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 FreeDOS direct loading support.
2838
2839 * docs/grub.texi (Supported OS): Add FreeDOS.
2840 * grub-core/Makefile.core.def (freedos): New module.
2841 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2842 variable.
2843 (grub_relocator16_boot): Handle %ebx.
2844 * grub-core/lib/i386/relocator16.S: Likewise.
2845 * grub-core/loader/i386/pc/freedos.c: New file.
2846
05caa461
VS
28472011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 Long Linux command line support.
2850
2851 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2852 (maximal_cmdline_size): New variable.
2853 (allocate_pages): Use maximal_cmdline_size.
2854 (grub_cmd_linux): Set and use maximal_cmdline_size.
2855 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
2856 (allocate_pages): Use maximal_cmdline_size.
2857 (grub_cmd_linux): Set and use maximal_cmdline_size.
2858 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
2859 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
2860 and cmdline_size.
2861
a2491e23
VS
28622011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
28632011-05-18 Colin Watson <cjwatson@ubuntu.com>
2864
2865 Improve devmapper support
2866
2867 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
2868 (grub_util_is_lvm): New function.
2869 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
2870 than lvm if not dmraid.
2871 Handle mapped md nodes.
2872 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
2873 (grub_util_device_is_mapped): ... this. Make always available. All users
2874 updated.
2875 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
2876 (convert_system_partition_to_system_disk): Handle lvm, mpath and
2877 dmraid nodes.
2878 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
2879
6ad6223e
VS
28802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
2883
2884 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
2885 * grub-core/modinfo.sh.in: New file.
2886 * grub-core/Makefile.core.def (modinfo.sh): New script.
2887 * util/grub-mknetdir.in: Use modinfo.sh.
2888 * util/grub-mkrescue.in: Likewise.
2889
543a8f6e
VS
28902011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2893 Fix potential usage of Elf32 instead of Elf64 when compiling on
2894 32-bit architecture. Add endianness macros while on it.
2895
4959e111
VS
28962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 Use mipsel- rather than mips- in directories involving mipsel ports to
2899 allow both endiannesses coexist.
2900
2901 * configure.ac: proparate target_cpu=mipsel rather than resetting to
2902 mips. All conditions adjusted.
2903 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
2904 variable.
2905 * util/grub-install.in: Adjust conditions to take renaming into account.
2906 * util/grub-mkimage.c (image_targets): Likewise. New target
2907 mips-qemu_mips-elf for bigendian mips.
2908
35341bbc
VS
29092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 Avoid unnecessary copying on MIPS.
2912
2913 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
2914 early if src == dest.
2915 * util/grub-mkimage.c (generate_image): Arange for src == dest if
2916 compression is none.
2917
b772baed
VS
29182011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 Reduce memory footprint on SGI by putting modules before the kernel
2921 as opposed to after.
2922
2923 * grub-core/Makefile.core.def (kernel): Increase linking address.
2924 (none_decompress): Likewise.
2925 (xz_decompress): Likewise.
2926 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
2927 address.
2928 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
2929 layout change.
2930 (grub_arch_modules_addr): New function.
2931 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
2932 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
2933 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
2934 here.
2935 * grub-core/kern/mips/startup.S (total_size): Rename to ...
2936 (grub_total_modules_size): ... this. Make global.
2937 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
2938 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
2939 New definition.
2940 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
2941 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
2942 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
2943 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
2944 * util/grub-mkimage.c (image_target_desc): New flag
2945 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
2946 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
2947 (generate_image): Handle images with modules before kernel.
2948
566a1917
VS
29492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Prevent potential loss of memory map by overwrite on qemu-mips.
2952
2953 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
2954 Save ram size in $s4.
2955 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
2956 All users changed to grub_arch_memsize.
2957 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
2958 Loongson.
2959 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
2960 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
2961 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
2962 external variable.
2963
5d420cd9
CW
29642011-05-17 Colin Watson <cjwatson@ubuntu.com>
2965
2966 * .bzrignore: Remove grub-dumpbios.
2967
d064b830
CW
29682011-05-17 Colin Watson <cjwatson@ubuntu.com>
2969
2970 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
2971 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
2972 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
2973 existing options which append).
2974 * docs/grub.texi (Simple configuration): Document new options.
2975 Reported by: Ian Jackson. Fixes Debian bug #617538.
2976
3ca2b466
CW
29772011-05-17 Colin Watson <cjwatson@ubuntu.com>
2978
2979 * util/grub-fstest.c (cmd_cat): New function.
2980 (fstest): Handle CMD_CAT.
2981 (options): Add cat.
2982 (argp_parser): Handle cat.
2983
24c9143a
CW
29842011-05-17 Colin Watson <cjwatson@ubuntu.com>
2985
2986 * Makefile.util.def (grub-bin2h): Don't install.
2987 * docs/man/grub-bin2h.h2m: Remove.
2988
90f7ac19
VS
29892011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
2992 place.
2993
8d4a5178
VS
29942011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 Reenable qemu-mips port.
2997
2998 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
2999 Fix small arc bug while on it.
3000 * gentpl.py: Handle qemu_mips.
3001 * grub-core/Makefile.am: Likewise.
3002 * grub-core/Makefile.core.def: Likewise.
3003 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
3004 inappropriate includes.
3005 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
3006 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
3007 * grub-core/kern/main.c (grub_modules_get_end)
3008 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
3009 * grub-core/kern/mips/qemu-mips: Moved to ..
3010 * grub-core/kern/mips/qemu_mips: ... this.
3011 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
3012 (grub_machine_init): Call terminfo_init and serial_init.
3013 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
3014 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3015 New variable.
3016 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
3017 parameter passing.
3018 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
3019 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
3020 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3021 * include/grub/mips/qemu_mips/cmos.h: New file.
3022 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
3023 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
3024 Removed.
3025 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
3026 Use correct mips-style address.
3027 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
3028 (GRUB_TICKS_PER_SECOND): Removed.
3029 (grub_get_rtc): Likewise.
3030 (grub_cpu_idle): Likewise.
3031 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
3032 New definition.
3033 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
3034 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
3035 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
3036 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
3037 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3038 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3039 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
3040 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
3041
400b9371
VS
30422011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 SGI ARCS port.
3045
3046 * Makefile.util.def (libgrubmods.a): Add dvh.c.
3047 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
3048 platforms.
3049 * configure.ac: New target mips-arc.
3050 * gentpl.py: Likewise.
3051 * grub-core/Makefile.am: Likewise.
3052 * grub-core/Makefile.core.def: Likewise.
3053 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
3054 (none_decompress): Likewise.
3055 (lsdev): New module.
3056 (datetime): Use lib/arc/datetime.c on ARC.
3057 (part_dvh): New module.
3058 * grub-core/commands/arc/lsdev.c: New file.
3059 * grub-core/disk/arc/arcdisk.c: Likewise.
3060 * grub-core/kern/mips/arc/init.c: Likewise.
3061 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
3062 aligned addresses.
3063 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
3064 support.
3065 (grub_arch_dl_relocate_symbols): Likewise.
3066 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
3067 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
3068 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
3069 platforms.
3070 * grub-core/lib/arc/datetime.c: New file.
3071 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
3072 pci.h on non-loongson.
3073 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
3074 (grub_linux_boot): Set unused registers to 0.
3075 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
3076 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
3077 * grub-core/mmap/mips/uppermem.c: ...here.
3078 * grub-core/partmap/dvh.c: New file.
3079 * grub-core/term/arc/console.c: Likewise.
3080 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
3081 (grub_terminfo_set_current): Add terminal "arc".
3082 (grub_terminfo_readkey): Support ARC sequences.
3083 * include/grub/arc/arc.h: New file.
3084 * include/grub/arc/console.h: Likewise.
3085 * include/grub/disk.h (grub_disk_dev_id): Add
3086 GRUB_DISK_DEVICE_ARCDISK_ID.
3087 * include/grub/mips/arc/kernel.h: New file.
3088 * include/grub/mips/arc/memory.h: Likewise.
3089 * include/grub/mips/arc/time.h: Likewise.
3090 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
3091 * include/grub/mips/kernel.h (grub_halt): ... here.
3092 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
3093 here...
3094 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
3095 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
3096 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
3097 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
3098 proto.
3099 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
3100 from here ...
3101 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
3102 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
3103 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
3104 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
3105 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
3106 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
3107 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
3108 (grub_phys_addr_t): Moved from here ...
3109 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
3110 (grub_vtop): Moved from here ...
3111 * include/grub/mips/memory.h (grub_vtop): ... here.
3112 (grub_map_memory): Moved from here ...
3113 * include/grub/mips/memory.h (grub_map_memory): ... here.
3114 (grub_unmap_memory): Moved from here ...
3115 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
3116 (grub_machine_mmap_iterate): Moved from here ...
3117 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
3118 (grub_mmap_get_lower): Moved from here ...
3119 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
3120 (grub_mmap_get_upper): Moved from here ...
3121 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
3122 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3123 here ...
3124 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3125 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
3126 here ...
3127 * include/grub/mips/time.h (grub_get_rtc): ... here.
3128 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3129 here ...
3130 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3131 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
3132 here ...
3133 * include/grub/mips/time.h (grub_cpu_idle): ... here.
3134 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
3135 definition.
3136 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
3137 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
3138 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
3139 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
3140 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3141 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3142 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3143 (GRUB_MACHINE_LINK_ADDR): Likewise.
3144 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3145 to 6.
3146 * util/grub-install.in: Run dvhtool on ARC.
3147 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3148 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3149
c8ecc840
VS
31502011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3153 blocks.
3154
153a4b55
VS
31552011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3156
3157 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3158 after enabling port.
3159
ff44d107
VS
31602011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Skip incorrect USB devices.
3163
3164 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3165 configcnt == 0.
3166 * include/grub/usb.h (grub_usb_err_t): New enum value
3167 GRUB_USB_ERR_BADDEVICE.
3168
638dbe4f
VS
31692011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3170
3171 Fuloong video init support.
3172
3173 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3174 well.
3175 (grub_vga_read_arx): New function.
3176 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3177 definition.
3178 (framebuffer): New members io, mmioptr and mmiobase.
3179 (read_sis_cmd): New function.
3180 (write_sis_cmd): Likewise.
3181 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3182 rather than 640x400.
3183 * grub-core/video/sis315_init.c: New file.
3184
c3fc520c
VS
31852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3188 non-loongson.
3189 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3190 to grub_dl_register_symbol.
3191
67b1e5c9
VS
31922011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3193
3194 Fix compilation errors.
3195
3196 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3197 potentially unused.
3198 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3199 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3200 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3201 to loongson machines.
3202
b756f75f
VS
32032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 Several FS mtime support.
3206
3207 * grub-core/fs/affs.c (grub_affs_time): New struct.
3208 (grub_affs_file): New field mtime.
3209 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3210 type. Removed 'size'. New field 'di'. All users updated.
3211 (grub_affs_mount): Simplify checsum checking.
3212 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3213 (grub_affs_dir): Handle mtime.
3214 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3215 (grub_cpio_dir): Likewise.
3216 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3217 (grub_hfs_filerec): New field mtime.
3218 (grub_hfs_dir): Handle mtime.
3219 (grub_hfs_mtime): New function.
3220 (grub_hfs_fs): Register grub_hfs_mtime.
3221 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3222 (grub_iso9660_dir): New field mtime.
3223 (grub_fshelp_node): New field dirent.
3224 (iso9660_to_unixtime): New function.
3225 (iso9660_to_unixtime2): Likewise.
3226 (grub_iso9660_read_symlink): Use node->dirent.
3227 (grub_iso9660_iterate_dir): Likewise.
3228 (grub_iso9660_dir): Set mtime.
3229 (grub_iso9660_mtime): New function.
3230 (grub_iso9660_fs): Register grub_iso9660_mtime.
3231 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3232 (grub_jfs_inode): New fields atime, ctime and mtime.
3233 (grub_jfs_dir): Set mtime.
3234 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3235 * grub-core/fs/ntfs.c (list_file): Set mtime.
3236 (grub_ntfs_dir): Likewise.
3237 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3238 (grub_reiserfs_iterate_dir): Set mtime.
3239 (grub_reiserfs_dir): Likewise.
3240 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3241 (grub_fshelp_node): Likewise.
3242 (grub_sfs_iterate_dir): Set mtime.
3243 (grub_sfs_dir): Likewise.
3244 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3245 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3246 (grub_xfs_inode): New fields atime, mtime, ctime.
3247 (grub_xfs_dir): Set mtime.
3248 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3249 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3250 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3251
3252 Support UDF symlinks.
3253
3254 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3255 (grub_ufs_read_symlink): New function. All users updated.
3256
3257 Check amiga partmap checksum.
3258
3259 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3260 (grub_amiga_partition): Likewise.
3261 (amiga_partition_map_checksum): New function.
3262 (amiga_partition_map_iterate): Check checksum.
3263
5470225d
VS
32642011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 ROMFS support.
3267
3268 * Makefile.util.def (libgrubmods.a): Add romfs.
3269 * grub-core/Makefile.core.def (romfs): New module.
3270 * grub-core/fs/romfs.c: New file.
3271
d4680a35
VS
32722011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3273
3274 Squashfs v4 support.
3275
3276 * Makefile.util.def (libgrubmods.a): Add squash4.
3277 * grub-core/Makefile.core.def (squash4): New module.
3278 * grub-core/fs/squash4.c: New file.
3279 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3280 disk_input_start, disk_input.
3281 (get_byte): Handle disk_input.
3282 (grub_zlib_disk_read): New function.
3283 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3284
bcb18e74
FZ
32852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
32862011-05-15 Feiran Zheng <famcool@gmail.com>
3287
3288 * Makefile.util.def (libgrubmods.a): Add minix3.
3289 * grub-core/Makefile.core.def (minix3): New module.
3290 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3291 (GRUB_MINIX_BSIZE): Removed.
3292 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3293 (grub_minix_ino_t): New type.
3294 (grub_minix_le_to_cpu_ino): New macro.
3295 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3296 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3297 (grub_minix_data): New field block_size.
3298 (grub_minix_read_file): Handle 64-bit correctly.
3299 * grub-core/fs/minix3.c: New file.
3300
32297d5f
TG
33012011-05-15 Tristan Gingold <gingold@free.fr>
33022011-05-15 Robert Millan <rmh.grub@aybabtu.com>
33032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 IA64 support.
3306
3307 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3308 * configure.ac: Add ia64-efi target.
3309 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3310 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3311 * gentpl.py: Add ia64_efi platform.
3312 Rename x86_efi to efi and Add ia64-efi. All users updated.
3313 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3314 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3315 Remove kern/generic/rtc_get_time_ms.c on EFI.
3316 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3317 kern/ia64/dl_helper.c on ia64-efi.
3318 Add kern/emu/cache.c on emu.
3319 (linux): Use on loader/ia64/efi/linux.c on ia64.
3320 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3321 whether symbol is a function.
3322 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3323 (grub_symbol): New field 'isfunc'.
3324 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3325 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3326 (grub_dl_load_segments): Place all sections into the same region.
3327 [__ia64__]: Create trampolines and got.
3328 [GRUB_MACHINE_EMU]: Call mprotect.
3329 (grub_dl_resolve_symbols): Resolve symbol type as well.
3330 [__ia64__]: Create function descriptors.
3331 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3332 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3333 (grub_get_rtc): New function.
3334 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3335 * grub-core/kern/emu/cache.S: Renamed to ...
3336 * grub-core/kern/emu/cache_s.S: ... this.
3337 [__ia64__]: Add a nop.
3338 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3339 [__ia64__]: New function.
3340 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3341 * grub-core/kern/ia64/dl.c: New file.
3342 * grub-core/kern/ia64/dl_helper.c: Likewise.
3343 * grub-core/kern/ia64/efi/init.c: New file.
3344 * grub-core/kern/ia64/efi/startup.S: Likewise.
3345 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3346 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3347 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3348 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3349 * grub-core/loader/ia64/efi/linux.c: New file.
3350 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3351 (GRUB_MOD_DEP): Likewise.
3352 (grub_dl) [__ia64__]: New fields got and tramp.
3353 (grub_dl): New field 'base'.
3354 (grub_dl_register_symbol): New argument isfunc. All users updated.
3355 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3356 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3357 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3358 (grub_ia64_dl_get_tramp_got_size): New proto.
3359 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3360 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3361 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3362 * include/grub/efi/api.h: Skip call wrappers on ia64.
3363 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3364 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3365 * include/grub/elf.h (ELF_ST_INFO): New definition.
3366 * include/grub/ia64/efi/kernel.h: New file.
3367 * include/grub/ia64/efi/memory.h: Likewise.
3368 * include/grub/ia64/efi/time.h: Likewise.
3369 * include/grub/ia64/kernel.h: Likewise.
3370 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3371 * include/grub/ia64/time.h: New file.
3372 * include/grub/ia64/types.h: Likewise.
3373 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3374 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3375 New protos.
3376 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3377 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3378 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3379 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3380 All users updated.
3381 (EFI64_HEADER_SIZE): New definition. All users updated.
3382 (image_targets): Add ia64-efi.
3383 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3384 jumpers_addr. All users updated.
3385 Create function descriptors.
3386 (count_funcs): New function.
3387 (unaligned_uint32): New struct.
3388 (MASK20): New definition.
3389 (MASK19): Likewise.
3390 (MASKF21): Likewise.
3391 (add_value_to_slot_20b): New function.
3392 (add_value_to_slot_21_real): Likewise.
3393 (add_value_to_slot_21): Likewise.
3394 (ia64_kernel_trampoline): New struct.
3395 (nopm): New variable.
3396 (jump): Likewise.
3397 (make_trampoline): New function.
3398 (relocate_addresses): Handle ia64.
3399 (make_reloc_section): Likewise.
3400 (load_image): Likewise.
3401
983b414d
VS
34022011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3405 warning. Move variables before code while on it.
3406
5d063cdc
VS
34072011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3408
3409 Fuloong support.
3410
3411 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3412 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3413 * grub-core/boot/mips/loongson/fuloong.S: New file.
3414 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3415 Explicitly init CS5536.
3416 [FULOONG]: Don't use serial until CS5536 is available.
3417 Set GPIO based on dumps.
3418 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3419 [FULOONG]: Handle GPIO and memory controller differences.
3420 Parse machine type in $a2.
3421 * grub-core/boot/mips/startup_raw.S: Determine and save the
3422 architecture.
3423 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3424 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3425 init on architecture type.
3426 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3427 SIS315E. Don't init at_keyboard on fuloong.
3428 (grub_halt): Support Fuloong.
3429 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3430 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3431 (loongson_machtypes): New array.
3432 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3433 type.
3434 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3435 config. All users updated. Handle CS5536 serial.
3436 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3437 default port on machine type. Register serial as inactive.
3438 * grub-core/video/sis315pro.c: New file.
3439 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3440 definition.
3441 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3442 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3443 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3444 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3445 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3446 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3447 to ...
3448 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3449 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3450 definition.
3451 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3452 (grub_arch_machine): New extern var.
3453 * include/grub/mips/loongson/serial.h
3454 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3455 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3456 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3457 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3458 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3459 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3460 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3461 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3462 * include/grub/term.h (grub_term_register_input_inactive): New inline
3463 function.
3464 (grub_term_register_output_inactive): Likewise.
3465 * include/grub/video.h (grub_video_driver_id): New value
3466 GRUB_VIDEO_DRIVER_SIS315PRO.
3467 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3468 New field "names". All users updated.
3469 New field value IMAGE_FULOONG_FLASH.
3470 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3471
6ada82d1
JU
34722011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3473
3474 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3475 and add some clarification.
3476
90c571a4
VS
34772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3480 platforms if kernel is compressed.
3481
de04eecf
VS
34822011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3485 unused modules since currently referrence counter isn't reliable and
3486 there isn't much memory to recover there anyway.
3487
57688121
VS
34882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3491 rather than resetting it to allow modules to reference themselves
3492 in init.
3493
3d2c7e35
VS
34942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3497 counter on dependencies since grub_dl_unref already handles this.
3498
b25db218
VS
34992011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3500
3501 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3502 on error if not already done.
3503
25a45338
VS
35042011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 Fix few potential memory misusage.
3507
3508 * grub-core/font/font.c (load_font_index): Don't free char_index to
3509 avoid double free.
b25db218
VS
3510 (grub_font_load): Zero-fill font at alloc for safety.
3511 Close file on error.
3512 (free_font): Free bmp_idx.
25a45338 3513
0cac83df
VS
35142011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * docs/grub.texi (Installation): Fix several outdated claims.
3517
2217a143
VS
35182011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Handle module_license on windows.
3521
3522 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3523 sections shifted.
3524 (insert_string): Make argument const char * instead of char *.
3525 (write_section_data): Handle long section names.
3526 Handle module_license.
3527
d4de6b01
VS
35282011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3531 handle class-free menuentries.
3532 (grub_normal_add_menu_entry): Add a check to be sure.
3533
4c2a3b43
VS
35342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3535
3536 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3537 PgUp and PgDown.
3538
85c6210f
VS
35392011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3540
3541 * configure.ac: Bump version to 1.99.
3542
36084912
VS
35432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 Give ATA device a bit more time on first try in order to allow disks
3546 to spin up.
3547
3548 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3549 if dev->present is 1. Reset dev->present on failure.
3550 (grub_ata_device_initialize): Set dev->present to 1.
3551 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3552 (grub_ata_device): New member 'present'.
3553
bda0e219
VS
35542011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3555
3556 * util/grub-mkimage.c (generate_image): Update hash.
3557
19e1c41b
VS
35582011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 Flush caches on DMA memory.
3561
3562 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3563 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3564 (grub_dma_free): Likewise.
3565 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3566
91bbcc0c
VS
35672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3570 to avoid asm treating ld and sd as macros.
3571
60ddfad3
VS
35722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3575 decompressor.
3576
a298aa04
VS
35772011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3580 grub_decompress_core since later would fail if grub_decompress_core
3581 is too far.
3582
9b44feca
VS
35832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3584
3585 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3586 R_MIPS_JALR since it's used by newer compiler.
3587
56dbe7b4
VS
35882011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3591
52856af2
VS
35922011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3595 file_path to 0 for surety.
3596 (grub_chainloader_boot): Set exit_data to NULL.
3597 Unset the loader once done.
3598 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3599
9c9bfc6d
VS
36002011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3601
3602 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3603 unknown key into a dprintf.
3604
dd94a3df
VS
36052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3608 on first non-existant partition.
3609
fa68d99c
VS
36102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3613 openning fails.
3614 Reported by: Mark Korenberg.
3615
157effb7
VS
36162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3617
3618 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3619 overflow.
3620
ea75312f
VS
36212011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3624 before closing to ensure that it will be readable by grub-setup.
3625
072b5d31
VS
36262011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3629 (devpath_1): Use MAKE_PIWG_PATH.
3630 (devpath_2): Likewise.
3631 (devpath_3): Likewise.
3632 (devpath_4): Likewise.
3633 (devpath_5): Likewise.
3634 (devpath_6): Likewise.
3635
3636 The appleldr.mod was checked that to be binary identical to previous
3637 version.
3638
7fae0051
Z
36392011-05-05 Zach <mikezackles>
3640
3641 Support 2010 Macbooks.
3642
3643 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3644 (devs): Add devpath_6.
3645
7c515bee
VS
36462011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3649 /dev/random. /dev/urandom is good enough for our purposes (salting).
3650
ed660bd8
VS
36512011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3652
3653 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3654
ee5614b7
VS
36552011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3658 hexadecimal.
3659
664889a6
VS
36602011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3663 and not 0 on failure.
3664
bd405bbc
CW
36652011-05-03 Colin Watson <cjwatson@ubuntu.com>
3666
3667 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3668 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3669 disk; otherwise grub_fs_probe will not fall back to the next
3670 filesystem.
3671 (grub_pxefs_open): Likewise, for consistency.
3672 Reported and tested by: Ezekiel Grave.
3673
4ebff753
CW
36742011-05-03 Colin Watson <cjwatson@ubuntu.com>
3675
3676 * tests/partmap_test.in: Don't hardcode path to parted.
3677 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3678
8f942553
CW
36792011-05-01 Colin Watson <cjwatson@ubuntu.com>
3680
3681 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3682 of `ls' to find out which devices are available.
3683
3c62402d
VS
36842011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3685
3686 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3687 than source address for efi mmap buffer.
3688
723f63f2
VS
36892011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3690
3691 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3692 wrong action on non-detecting the magic.
3693
68797f92
VS
36942011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3697 already supplied by another part of the module (fixes compilation on
3698 FreeBSD).
3699
6be8715d
VS
37002011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3703 match the one used by mdadm.
3704
e91dba5b
CW
37052011-04-21 Colin Watson <cjwatson@ubuntu.com>
3706
3707 * po/README: Add instructions for creating po/LINGUAS.
3708
c85140b3
CW
37092011-04-21 Colin Watson <cjwatson@ubuntu.com>
3710
3711 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3712 #551428.
3713
3714 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3715 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3716 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3717 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3718 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3719 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3720 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3721 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3722 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3723 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3724 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3725 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3726 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3727 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3728 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3729 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3730 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3731 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3732 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3733 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3734 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3735 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3736
92051871
CW
37372011-04-21 Colin Watson <cjwatson@ubuntu.com>
3738
3739 * grub-core/kern/emu/getroot.c
3740 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3741 test that was incorrectly reintroduced in r3214.
3742 Reported by: Ian Dall. Fixes Savannah bug #33133.
3743
b13f79a4
CW
37442011-04-21 Colin Watson <cjwatson@ubuntu.com>
3745
3746 Fix stack pointer handling in 16-bit relocator.
3747
3748 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3749 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3750 Fixes Ubuntu bug #683904.
3751
9b710a88
VS
37522011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * configure.ac: Bump version to 1.99~rc2.
3755
d97e7b59
VS
37562011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3759 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3760 * grub-core/lib/x86_64/setjmp.S: Likewise.
3761 * grub-core/lib/mips/setjmp.S: Likewise.
3762 * grub-core/lib/powerpc/setjmp.S: Likewise.
3763 * grub-core/lib/sparc64/setjmp.S: Likewise.
3764
0624551c
VS
37652011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3768 * grub-core/lib/efi/datetime.c: Likewise.
3769
e8f28d4c
VS
37702011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3773 New function.
3774 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3775 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3776 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3777
bba79a15
VS
37782011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3781 bitmap.
3782 (grub_gfxterm_term_init): Likewise.
3783
abc474ef
VS
37842011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Take into account the decorations the computing menu entry width.
3787
3788 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3789 (grub_gfxmenu_create_box): Register get_border_width.
3790 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3791 if available.
3792 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3793 get_border_width.
3794
e74b3947
EP
37952011-04-18 Endres Puschner <code@e7p.de>
3796
3797 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3798 Don't skip first class.
3799
34faa595
VS
38002011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3803 chunks.
3804 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3805
93a777e3
VS
38062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Complete 64-bit division support.
3809
3810 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3811 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3812 * include/grub/misc.h (grub_divmod64): Rename to ...
3813 (grub_divmod64_full): ... this.
3814 (grub_divmod64): New inline function.
3815
a5102d94
VS
38162011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3819
f3fb7b36
VS
38202011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3823 performing the necessary test.
3824
9ac718b0
VS
38252011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3826
3827 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3828 (kfreebsd.elf): Likewise.
3829 (pc-chainloader.elf): Likewise.
3830 (ntldr.elf): Likewise.
3831
50d2cc5a
VS
38322011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 Identify RAID by its UUID rather than (guessed) name.
3835
3836 * grub-core/disk/raid.c (ascii2hex): New function.
3837 (grub_raid_open): Accept mduuid/%s specification.
3838 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3839 (get_mdadm_uuid): ... this.
3840 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3841
e03f7bea
VS
38422011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3845 to negative size.
3846
e74c3112
CW
38472011-04-13 Colin Watson <cjwatson@ubuntu.com>
3848
3849 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
3850 btrfs subvolume.
3851 * util/grub.d/20_linux_xen.in: Likewise.
3852
78fa584f
CW
38532011-04-13 Colin Watson <cjwatson@ubuntu.com>
3854
3855 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
3856 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
3857
3858 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
3859 Build a list of relevant visible mounts using the mnt_id and
3860 parent_mnt_id fields, and then scan that list at the end.
3861
9d5f8162
CW
38622011-04-12 Colin Watson <cjwatson@ubuntu.com>
3863
3864 * docs/grub.texi (normal): New section.
3865 (normal_exit): New section.
3866 (Embedded configuration): Add reference to normal.
3867 (GRUB only offers a rescue shell): Likewise.
3868 * docs/grub-dev.texi (Error Handling): Fix typo.
3869
09a9d66f
CW
38702011-04-12 Colin Watson <cjwatson@ubuntu.com>
3871
3872 * NEWS: Drop obsolete entry about probe-only btrfs support.
3873
0c676933
CW
38742011-04-12 Colin Watson <cjwatson@ubuntu.com>
3875
3876 * util/import_gcry.py: Fix typo.
3877
ec9f5e0d
VS
38782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 * NEWS: Add btrfs support.
3881
fe6b2cba
VS
38822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
38832011-04-11 Colin Watson <cjwatson@ubuntu.com>
3884
3885 BtrFS support. Written by me (Vladimir) with important bugfixes and
3886 even more important testing by Colin.
3887
3888 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
3889 * grub-core/Makefile.core.def (btrfs): Add crc.c.
3890 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
3891 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
3892 mem_input_off and mem_input. All users updated to accept in-RAM input.
3893 (gzio_seek): New function.
3894 (test_zlib_header): Likewise.
3895 (grub_gzio_read): Likewise.
3896 (grub_zlib_decompress): Likewise.
3897 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
3898 Accept partial and non-virtual mounts.
3899 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
3900 avoid receiving /dev/dm-X as device.
3901 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
3902 Handle bind and partial mounts.
3903 * grub-core/lib/crc.c: New file.
3904 * include/grub/deflate.h: Likewise.
3905 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
3906 proto.
3907 * include/grub/lib/crc.h: New file.
3908
e745cf0c
VS
39092011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3910
3911 Implement automatic module license checking according to new GNU
3912 guidelines.
3913
3914 * grub-core/kern/dl.c (grub_dl_check_license): New function.
3915 (grub_dl_load_core): Use grub_dl_check_license.
3916 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
3917 (GRUB_MOD_LICENSE): Likewise.
3918 (GRUB_MOD_DUAL_LICENSE): Likewise.
3919 All modules updated.
3920
2a9bc016
CW
39212011-04-11 Colin Watson <cjwatson@ubuntu.com>
3922
3923 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
3924 reserved_first_sector to 1. btrfs reserves plenty of space for boot
3925 loaders.
3926 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
3927
8a3bc88e
VS
39282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
3931
af869a4a
VS
39322011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/grub-fstest.c (read_file): Report GRUB error if file opening
3935 failed.
3936
9ee8d94f
VS
39372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/kern/file.c (grub_file_open): Don't take into account the
3940 parenthesis in the middle of the filename.
3941
b01abe3e
VS
39422011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
3945 rather than trying to put initrd way too high.
3946 Reported by: Ryan Lortie <desrt@desrt.ca>
3947
335bda1e
VS
39482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
3951 improperly removed string.
3952
5ca1a64d
VS
39532011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
3956 is_disk.
3957 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
3958 (open_device) Likewise.
3959 (grub_util_biosdisk_close): Likewise.
d8ce9995 3960 Reported by: Mark Korenberg.
5ca1a64d 3961
cbac5b1e
AK
39622011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
3963
3964 * util/grub-mkconfig_lib.in: Add missing quotes.
3965
088cdb65
CW
39662011-04-10 Colin Watson <cjwatson@ubuntu.com>
3967
3968 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
3969 is NULL.
3970
8b8a81fa
VS
39712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
3972
3973 Dynamically count the number of lines for the lower banner.
3974
3975 * grub-core/normal/menu_entry.c (per_term_screen): New member
3976 num_entries.
3977 (print_down): Use num_entries.
3978 (update_screen): Likewise.
3979 (grub_menu_entry_run): Set num_entries.
3980 * grub-core/normal/menu_text.c (menu_viewer_data): New member
3981 num_entries.
3982 (grub_print_message_indented): Move real part to ...
3983 (grub_print_message_indented_real): ... here. Additional argument
3984 dry_run.
3985 (draw_border): Additional argument num_entries.
3986 (print_message): Additional argument dry_run.
3987 (print_entries): Receive menu viewer data.
3988 (grub_menu_init_page): New argment num_entries.
3989 (menu_text_set_chosen_entry): Use num_entries.
3990 (grub_menu_try_text): Likewise.
3991 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
3992 All users updated.
3993 (grub_ucs4_count_lines): New function.
3994 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
3995 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
3996 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
3997 (grub_term_border_height): Likewise.
3998 (grub_term_num_entries): Likewise.
3999
277f955b
VS
40002011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
4003 Remove now unused string.
4004
536ce85a
CW
40052011-04-09 Colin Watson <cjwatson@ubuntu.com>
4006
4007 * docs/grub-dev.texi (Finding your way around): Update for 1.99
4008 build system.
4009 (Getting started): GRUB is developed in Bazaar now, not Subversion.
4010
4011 (Comment): Fix typo.
4012 (Getting started): General copy-editing.
4013 (Typical Development Experience): Likewise.
4014 (Error Handling): Likewise.
4015 (Video API): Likewise.
4016
2cf09e32
CW
40172011-04-09 Colin Watson <cjwatson@ubuntu.com>
4018
4019 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
4020 throughout.
4021
1ec652f4
VS
40222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * util/grub-mkimage.c (main): Handle special naming of yeeloong
4025 directory.
4026
2c583728
CW
40272011-04-08 Colin Watson <cjwatson@ubuntu.com>
4028
4029 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
4030 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
4031 "development".
4032
d7a565e9
VS
40332011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4034
4035 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
4036 grub_strcpy since the lines aren't necessarily 0-terminated.
4037
7c2e4909
VS
40382011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4039
4040 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
4041 root on legacy.
4042
34c09785
VS
40432011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4044
4045 * grub-core/commands/probe.c (options): Argument to set isn't optional.
4046 (GRUB_MOD_INIT): DEVICE isn't optional.
4047
6a6f8058
VS
40482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4049
4050 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
4051 word on new line if it's too long anyway. Fixes a hang.
4052
2e335e90
VS
40532011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
4056 const.
4057 * util/grub-setup.c (main): Reuse md device name if available.
4058 * util/raid.c (grub_util_raid_getmembers): Receive device name and
4059 not GRUB name as argument.
4060 Based on patch by: Florian Wagner <fwagner>.
4061
10a7a867
VS
40622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4065 Place mbi on low memory for better compatibility.
4066
7a3d6cd9
VS
40672011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
4070
18dd6b47
VS
40712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
40722011-04-08 Colin Watson <cjwatson@ubuntu.com>
4073
4074 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 4075 * conf/Makefile.common: Likewise.
18dd6b47 4076
3c0e3f14
VS
40772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4078
f7148863
VS
4079 * grub-core/normal/menu.c: Add missing include.
4080
40812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 4084
6d1fa41f
MZ
40852011-04-08 Martin Zuther <mzuther@mzuther.de>
4086
4087 * util/grub-mkconfig.in: Ignore emacsen backup.
4088
478182a8
VS
40892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
4092 on open.
4093 (grub_util_biosdisk_close): Likewise.
4094
72a89a54
VS
40952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
4098 const attribute and use grub_isdigit.
4099
b5ebecfa
A
41002011-04-06 Andrey <dev_null@ukr.net>
4101
4102 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
4103 gcc warning.
4104
7755f66e
VS
41052011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4108 useful grub_dprintf's.
4109
461121ff
VS
41102011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
4113
2a961775
VS
41142011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
4117
adf594cc
VS
41182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 Output errors if theme loading failed.
4121
4122 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
4123 grub_gfxterm_fullscreen on error paths to ...
4124 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
4125 theme loading error.
4126
665900a3
VS
41272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
4130 space for older compilers.
4131 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4132
a562b479
VS
41332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
4136 and report them as not RAID members since they are useless for GRUB.
4137 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4138
850e9373
VS
41392011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4140
4141 Increase LVM implementation robustness in order not to crash on
4142 configurations like pvmove. Previously code assumed that in some places
4143 only lvs or only pvs are used whereas it seems that they are used
4144 interchangeably.
4145
4146 * grub-core/disk/lvm.c (read_node): New function.
4147 (read_lv): Use read_node.
4148 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4149 Match volumes only at the end when all lvs are found. Take both
4150 pvs (first) and lvs (second) into account.
4151 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4152 mirror_* into node_*. All users updated.
4153 (grub_lvm_stripe): Merge this ...
4154 (grub_lvm_mirror): ... and this ...
4155 (grub_lvm_node): ... into this. All users updated.
4156
6f332153
VS
41572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4158
4159 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4160 of function to allow further scanning for LVMs.
4161
829ea451
VS
41622011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4165 on failed seek as it breaks open fd reusage.
4166
09ceb9a5
VS
41672011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * util/grub-install.in: Add a recommendation to use --recheck before
4170 reporting bugs.
4171
67e11623
VS
41722011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4175 are obtained.
4176
caee5efd
VS
41772011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4178
4179 GRUB developper manual based on existing Internals section and
4180 contributions by the various authors with active copyright assignment.
4181
4182 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4183 * docs/font_char_metrics.png: New file.
4184 * docs/font_char_metrics.txt: Likewise.
4185 * docs/grub-dev.texi: Likewise.
4186 * docs/grub.texi (Internals): Move from here ...
4187 * docs/grub-dev.texi: ... here.
4188
2cccc747
CW
41892011-04-01 Colin Watson <cjwatson@ubuntu.com>
4190
4191 Store the loopback device as data on loopback grub_disk structures,
4192 rather than the file it points to. This fixes use of freed memory
4193 if an existing loopback device is replaced.
4194
4195 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4196 disk->data, not dev->file.
4197 (grub_loopback_read): Adjust file assignment to match.
4198 Fixes Ubuntu bug #742967.
4199
186ae367
CW
42002011-04-01 Colin Watson <cjwatson@ubuntu.com>
4201
4202 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4203 when replacing an existing device.
4204
cfed2ad0
VS
42052011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4208 memory corruptions.
4209
4210 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4211 unsigned.
4212 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4213 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4214 (grub_jfs_read_inode): Likewise.
4215 (grub_jfs_opendir): Likewise. Remove now useless casts.
4216 (grub_jfs_getent): Likewise.
4217 Make ino a grub_uint32_t rather than int.
4218 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4219 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4220 division and module with bit operations.
4221 (grub_jfs_find_file): Make ino a grub_uint32_t.
4222 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4223
05d2ed32
CW
42242011-04-01 Colin Watson <cjwatson@ubuntu.com>
4225
4226 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4227 warning. (This was in fact always initialised before use, but GCC
4228 wasn't smart enough to prove that.)
4229 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4230
91dc6073
VS
42312011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4234 stack alignment.
4235 (efi_wrap_1): Likewise.
4236 (efi_wrap_2): Likewise.
4237 (efi_wrap_3): Likewise.
4238 (efi_wrap_4): Likewise.
4239 (efi_wrap_5): Likewise.
4240 (efi_wrap_6): Likewise.
4241 (efi_wrap_10): Likewise.
4242 Based on information by: Red Hat/Peter Jones.
4243
a8afc1d1
CW
42442011-03-31 Colin Watson <cjwatson@ubuntu.com>
4245
4246 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4247 set-but-not-used variable.
4248
a826cc7d
CW
42492011-03-31 Colin Watson <cjwatson@ubuntu.com>
4250
4251 * docs/grub.texi (Simple configuration): Be more explicit about
4252 GRUB_DEFAULT, and add an example.
4253 Reported by: Leslie Rhorer.
4254
875b67ba
CW
42552011-03-30 Colin Watson <cjwatson@ubuntu.com>
4256
4257 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4258 shell".
4259
fd7cd914
AS
42602011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4261
4262 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4263 * util/grub.d/20_linux_xen.in: Likewise.
4264
090b1b6a
VS
42652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * util/grub.d/10_linux.in: Try alternative config filenames where
4268 we parse config file.
4269 * util/grub.d/20_linux_xen.in: Likewise.
4270
baad885c
AS
42712011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4272
4273 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4274 * util/grub.d/20_linux_xen.in: Likewise.
4275
241e41f5
VS
42762011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/disk/raid.c (insert_array): Add few potentially
4279 useful grub_util_info.
4280 (grub_raid_register): Likewise.
4281
56445fb2
VS
42822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4285 Preserve partition number in mdadm code path.
4286
c871b1c6
VS
42872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4290 few potentially useful grub_util_info.
4291
5e631b4f
CW
42922011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4295
2d5d0333
CW
42962011-03-30 Colin Watson <cjwatson@ubuntu.com>
4297
4298 * docs/grub.texi (default): Use @example rather than nested
4299 itemized lists to avoid breaking gendocs.
4300
3d7ed04e
CW
43012011-03-30 Colin Watson <cjwatson@ubuntu.com>
4302
4303 * docs/grub.texi (Future): Update.
4304
abf04200 43052011-03-30 Colin Watson <cjwatson@ubuntu.com>
4306
4307 * docs/grub.texi (Environment): New chapter.
4308 (Changes from GRUB Legacy): Link to "Environment block" section for
4309 details of limitations.
4310 (Simple configuration): Likewise. Link to documentation of gfxmode
4311 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4312 respectively.
4313 (Shell-like scripting): Note that normal variables are stored in the
4314 environment.
4315 (gettext): Link to documentation of lang and locale_dir.
4316 (list_env): New section.
4317 (load_env): New section.
4318 (save_env): New section.
4319
4320 (Reporting bugs): Fix typo.
4321
e1ad0edd
VS
43222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4325 the example.
4326
5d803174
VS
43272011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * grub-core/term/at_keyboard.c (set_scancodes)
4330 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4331
2a2da1d0
CW
43322011-03-30 Colin Watson <cjwatson@ubuntu.com>
4333
4334 * docs/grub.texi (Menu-specific commands): Remove some semantics
4335 that were true in GRUB Legacy but not in GRUB 2.
4336 (submenu): New section.
4337 (false): New section.
4338 (read): New section.
4339 (true): New section.
4340
a7527639
CW
43412011-03-30 Colin Watson <cjwatson@ubuntu.com>
4342
4343 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4344
43452011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4346
4347 * docs/grub.texi (Simple configuration): Explain some of the
4348 current limitations of grub-mkconfig.
8a748df2 4349 Reported by: Leslie Rhorer.
e30af029 4350
fc858482
VS
43512011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 Old macs search for boot.efi rather than for bootia32.efi.
4354
4355 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4356 * util/grub-mkrescue.in: Likewise.
4357 Suggested by: Peter Jones.
4358
e1eb511d
VS
43592011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4362
70e75364
VS
43632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4366 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4367 (grub_lvm_mirror): New struct.
4368 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4369 (grub_lvm_iterate): Iterate only visible volumes.
4370 (grub_lvm_read): Factor out to ..
4371 (read_lv): ... this. Support mirrors.
4372 (grub_lvm_read): New wrapper function.
4373 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4374 stripped or mirrored.
4375
fc18f6a3
VS
43762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4379
5c650f4c
CW
43802011-03-29 Colin Watson <cjwatson@ubuntu.com>
4381
4382 * docs/grub.texi (loopback): New section.
4383
61d7156b
CW
43842011-03-29 Colin Watson <cjwatson@ubuntu.com>
4385
4386 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4387 removed -p option.
4388
994b8264
CW
43892011-03-29 Colin Watson <cjwatson@ubuntu.com>
4390
4391 * docs/grub.texi (BIOS installation): New section, partly based on
4392 previous text in other sections.
4393 (Installing GRUB using grub-install): Replace BIOS discussion with a
4394 cross-reference.
4395 (Images): Likewise.
4396
9e4d19e0
VS
43972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4398
4399 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4400 [HAVE_DIOCGDINFO]: Add safety checks.
4401
a307c0b2
VS
44022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4405 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4406
b4db4f39
CW
44072011-03-29 Colin Watson <cjwatson@ubuntu.com>
4408
4409 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4410 real_sb->size is zero (e.g. RAID-0), get the disk size from
4411 real_sb->data_size instead.
4412 Fixes Ubuntu bug #743136.
4413
35e5f84c
VS
44142011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4417 printf clauses for printing size and start.
4418
d2e29d81
VS
44192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4422 Reported and tested by: Timothy Nikkel.
4423
ed5587af
VS
44242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4425
4426 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4427 (dirty_region_add_real): ... this.
4428 (dirty_region_add): Don't discard margin refresh when performing
4429 scheduled repaint.
4430
a1dc717c
VS
44312011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/lib/relocator.c (allocate_regstart)
4434 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4435 terminals are capabple of malloc-free operation.
4436 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4437 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4438
9f3677d3
VS
44392011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4440
4441 * util/grub-setup.c: Copy the partition table zone if floppy support
4442 is disabled, even if no partition table is found.
4443
4444 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4445 during POST if an invalid partition table is contained in the PBR
4446 of the active partition when GRUB is installed to a partition.
4447
24148725
CW
44482011-03-28 Colin Watson <cjwatson@debian.org>
4449
4450 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4451 comment.
4452
f329eda7
CW
44532011-03-28 Colin Watson <cjwatson@debian.org>
4454
4455 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4456 to be specific about what kind of RAID device we're scanning for.
4457
c482ad98
SG
44582011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4459
4460 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4461 return freed string.
4462
5ee04984
VS
44632011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4464
4465 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4466
f4727da9
VS
44672011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4468
4469 Use libgeom on FreeBSD to detect partitions.
4470
4471 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4472 (grub-mkrelpath): Likewise.
4473 (grub-script-check): Likewise.
4474 (grub-editenv): Likewise.
4475 (grub-mkpasswd-pbkdf2): Likewise.
4476 (grub-fstest): Likewise.
4477 (grub-mkfont): Likewise.
4478 (grub-mkdevicemap): Likewise.
4479 (grub-probe): Likewise.
4480 (grub-setup): Likewise.
4481 (grub-ofpathname): Likewise.
4482 (grub-mklayout): Likewise.
4483 (example_unit_test): Likewise.
4484 (grub-menulst2cfg): Likewise.
4485 * grub-core/Makefile.core.def (grub-emu): Likewise.
4486 (grub-emu-lite): Likewise.
4487 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4488 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4489 define HAVE_DIOCGDINFO.
4490 (follow_geom_up) [FreeBSD]: New function.
4491 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4492 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4493 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4494 unconditionally of HAVE_DIOCGDINFO.
4495
82fe6c75
VS
44962011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Fix FreeBSD compilation problem.
4499
4500 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4501 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4502
4c6c9431
CW
45032011-03-24 Colin Watson <cjwatson@ubuntu.com>
4504
4505 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4506 Switch back to page zero before loading a kernel, since some kernel
4507 drivers expect that.
4508 Thanks to: Felix Kuehling.
4509
c7064d94
VS
45102011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4513 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4514 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4515
3f71cded
VS
45162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4519 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4520
ef6de21a
VS
45212011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4524 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4525 malloc is disabled.
4526
8bc66a2c
VS
45272011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4530 for modules headers when counting the needed allocation size.
4531
5657722c
VS
45322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4535 if no ASCII character is found to prevent crash.
4536
41a85f55
AK
45372011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4538
4539 * grub-core/video/bitmap.c (match_extension): Ignore case.
4540
59e1e5f1
VS
45412011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4544
bd4d051a
VS
45452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/script/parser.y: Declare "time" as valid argument.
4548
bae7fcc1
PJ
45492011-03-23 Peter Jones <pjones@redhat.com>
4550
4551 Fix incorrect assert failure reporting.
4552
4553 * grub-core/tests/example_functional_test.c (example_test): Add
4554 a failure comment.
4555 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4556 (failure_start): ...this. Check that malloc succeeded.
4557 Don't call xvasprintf. Return failure struct.
4558 (failure_append_vtext): New function.
4559 (failure_append_text): Likewise.
4560 (add_failure): Likewise.
4561 (grub_test_assert_helper): Likewise.
4562 * include/grub/test.h (grub_test_assert_helper): New declaration.
4563 (grub_test_assert): Macro rewritten.
4564
537dc9be
VS
45652011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4568
fa3e01bf
VS
45692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4572
b1d28404
VS
45732011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4576 into GRUB-style one.
4577
2e3e2e09
VS
45782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4581 error and not grub_errno.
4582 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4583
ed57e557
VS
45842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4587 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4588
d1611f01
VS
45892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4590
4591 * grub-core/efiemu/i386/pc/cfgtables.c
4592 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4593 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4594 (grub_xnu_unlock): Likewise.
4595 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4596
7d4e39d6
VS
45972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4600 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4601 * grub-core/commands/hashsum.c (aliases): Likewise.
4602 * grub-core/commands/setpci.c (pci_registers): Likewise.
4603 * grub-core/disk/usbms.c (attach_hook): Likewise.
4604 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4605 (zio_checksum_table): Likewise.
4606 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4607 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4608 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4609 * grub-core/lib/relocator.c (leftovers): Likewise.
4610 (extra_blocks): Likewise.
4611 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4612 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4613 (modules_last): Likewise.
4614 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4615 (devices): Likewise.
4616 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4617 (modules_last): Likewise.
4618 * grub-core/normal/auth.c (users): Likewise.
4619 * grub-core/normal/context.c (initial_menu): Likewise.
4620 (current_menu): Likewise.
4621 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4622 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4623 (grub_serial_terminfo_input_template): Likewise.
4624 (grub_serial_terminfo_output_template): Likewise.
4625 (grub_serial_terminfo_input): Likewise.
4626 (grub_serial_terminfo_output): Likewise.
4627 (registered): Likewise.
4628 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4629
40fc4659
VS
46302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4633 grub_video_mode_type_t.
4634 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4635 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4636 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4637
2da48d28
VS
46382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * util/grub-install.in: Correct the x86-64 name as x86_64.
4641
9b43bf39
CW
46422011-03-11 Colin Watson <cjwatson@ubuntu.com>
4643
4644 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4645 initial chunk read from the kernel always includes GRUB's multiboot
4646 header, which is now outside the first sector.
4647
be1a7ce0
CW
46482011-03-09 Colin Watson <cjwatson@ubuntu.com>
4649
4650 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4651 cached mmap_size, so that this works correctly when called multiple
4652 times.
4653 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4654
83a3c48d
CW
46552011-03-09 Colin Watson <cjwatson@ubuntu.com>
4656
4657 * docs/grub.texi (Simple configuration): Tidy up formatting.
4658
57d75699
SJ
46592011-03-07 Szymon Janc <szymon@janc.net.pl>
4660
4661 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4662 Set-but-not-used variable removed.
4663
028501a0
VS
46642011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 Workaround yet another IEEE1275 bug.
4667
4668 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4669 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4670 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4671 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4672 is set.
4673 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4674 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4675
d998657d
VS
46762011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4679 error.
4680
fee7cdd4
CW
46812011-02-11 Colin Watson <cjwatson@ubuntu.com>
4682
4683 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4684 empty, since in that case we can only generate either nothing or a
4685 syntactically invalid configuration file.
4686 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4687
97286eb5
CW
46882011-02-09 Colin Watson <cjwatson@ubuntu.com>
4689
4690 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4691 (Making a GRUB bootable CD-ROM): Likewise.
4692 (Invoking grub-mkrescue): New section.
4693 Reported by: Yann Dirson. Fixes Debian bug #612585.
4694
22b28eb3
CW
46952011-02-09 Colin Watson <cjwatson@ubuntu.com>
4696
4697 * util/grub-install.in: Remove unnecessary brackets from tr
4698 arguments.
4699 * util/grub.d/10_hurd.in: Likewise.
4700 * util/grub.d/10_kfreebsd.in: Likewise.
4701 * util/grub.d/10_linux.in: Likewise.
4702 * util/grub.d/20_linux_xen.in: Likewise.
4703 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4704
7e735e43
CW
47052011-02-08 Colin Watson <cjwatson@ubuntu.com>
4706
4707 * include/grub/file.h (not_easly_seekable): Rename to ...
4708 (not_easily_seekable): ... this. Update all users.
4709
800f1881
CW
47102011-01-28 Colin Watson <cjwatson@ubuntu.com>
4711
4712 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4713 grub-mkrescue.
4714
3281d3d6
VS
47152011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4716
4717 * util/grub-mkimage.c (generate_image): Refuse to create the images
4718 bigger than the actual flash (512K) in Loongson machines. 512K is also
4719 the biggest chip supported by them.
4720
3533413c
VS
47212011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4724
73ae4f4f
VS
47252011-01-22 Anthony DeRobertis <anthony@derobert.net>
4726
4727 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4728 super_offset field.
4729
37f4f608
VS
47302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4731
4732 * util/grub-install.in: Ignore install device on platforms
4733 where it doesn't make sense. Always use UUIDs except on pc, efi and
4734 sparc64.
4735 Reported by: Daniel Kahn Gillmor.
4736
03a4ccb5
VS
47372011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4740
ffc8f4d8
VS
47412011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4744 (iterate_real): Don't rely on partition being non-NULL.
4745
80f23be7
VS
47462011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4747
4748 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4749 supported platforms. Put a compile time assert for this rather than
4750 generate a warning with 32-bit shift.
4751
5d4f4dd5
VS
47522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4753
4754 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4755 logical expression more readable.
4756
e489601a
VS
47572011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4760 even if some elements have a name.
4761 Reported by: Alexander GQ Gerasiov.
4762
96e0a6ea
CW
47632011-01-22 Colin Watson <cjwatson@ubuntu.com>
4764
4765 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4766 path unreadable if `grub-probe -t abstraction' fails, for example if
4767 memberlist fails on an LVM volume group.
4768 Reported by: Darius Jahandarie.
4769
81431e2b
CW
47702011-01-22 Colin Watson <cjwatson@ubuntu.com>
4771
4772 * docs/grub.texi (Simple configuration): Document
4773 GRUB_PRELOAD_MODULES.
4774
5e79d66a
CW
47752011-01-17 Colin Watson <cjwatson@ubuntu.com>
4776
4777 * .bzrignore: Remove nonexistent grub-pbkdf2.
4778
646ada34
VS
47792011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * configure.ac: Bump version to 1.99~rc1.
4782
04360337
VS
47832011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4786 for safety.
4787
46c9db88
VS
47882011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4791 module.
4792
47932011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
4794
4795 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4796
4fbf1852
VS
47972011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4800 diskdevid.
4801
f1632d4d
VS
48022011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Fix compilation on cygwin.
4805
4806 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4807 -R .drectve on cygwin.
4808 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4809 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4810 (COND_CYGWIN): New condition.
4811 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4812 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4813 not @TARGET_OBJ2ELF@.
4814 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4815 type to determine whether aux is to be used.
4816
0b5e127b
VS
48172011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4820 realpath'ed device string.
4821 Handle floppy (somewhat).
4822 Issue error in unknown case rather than garbage.
4823 Reported by: Axel Beckert.
4824
173b71e9
VS
48252011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4826
4827 * util/grub.d/00_header.in (load_video): Handle the case when no video
4828 drivers available.
4829 Thanks to: Axel Beckert.
4830
f8f479db
VS
48312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4834 variable. Fixes problem on big endian platforms.
4835
8fc0a245
VS
48362011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4837
4838 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4839 It doesn't work well there.
4840
b8494fbe
VS
48412011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4844 warning.
4845 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
4846 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
4847 counter.
4848
b44a558c
VS
48492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4850
4851 Use alias->path rather than buggy "canon".
4852
4853 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
4854 (ofdisk_hash_add): New argument curcan. All users updated.
4855
51fa856c
CW
48562011-01-11 Colin Watson <cjwatson@ubuntu.com>
4857
4858 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
4859
9da068a5
VS
48602011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
4863 loadmask before doing any calculations. Use correct type for offset.
4864 (grub_linux_load64): Likewise.
4865
86205c94
CW
48662011-01-11 Colin Watson <cjwatson@ubuntu.com>
4867
4868 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
4869 with NULL.
4870 (console_grub_equivalences_unshift): Likewise.
4871 Reported by: Daniel Dehennin.
4872
4531a206
VS
48732011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
4876 (set_env_limn_ro): Likewise.
4877 (GRUB_MOD_INIT): Likewise.
4878 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
4879 ARRAY_SIZE while on it.
4880 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
4881 * grub-core/normal/context.c (grub_env_export): Move from here ...
4882 * grub-core/kern/env.c (grub_env_export): ... here.
4883 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
4884 prefix.
4885 * grub-core/kern/main.c (grub_main): Export root and prefix.
4886 * include/grub/env.h (grub_env_export): Export.
4887 Reported by: Seth Goldberg.
4888
45146057
VS
48892011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4890
4891 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4892 Take into account space used by ELF sections and multiboot palette.
4893 Reported by: Grégoire Sutre.
4894
f093110b
VS
48952011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * BUGS: New file.
4898
3395fe52
VS
48992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 Pass more appropriate video id to Linux.
4902
4903 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
4904 grub_video_get_driver_id and variable gfxpayloadforcelfb to
4905 fill have_vga.
4906 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
4907 shift params->lfb_size.
4908 * include/grub/i386/linux.h: Make an enume out of have_vga values.
4909
c2fa6cbb
VS
49102011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * util/grub-menulst2cfg.c: Add missing include of misc.h.
4913
b3ff6ff0
VS
49142011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4915
4916 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
4917 separator and pass bootpath/devid even if only one of them is available.
4918 Reported by: Seth Goldberg.
4919
ae67942e
VS
49202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
4923 implementations bug on them.
4924
4925 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
4926 memory.
4927 (filter_memory_map): Likewise.
4928
d570097a
VS
49292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
4932 Reported by: nebuchadnezzar.
4933
a508e776
VS
49342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
4937 Reported by: nebuchadnezzar.
4938
dcb883b1
VS
49392011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 Submenu default support.
4942
4943 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
4944 auto_boot. All users updated.
4945 Declared static.
4946 Handle chosen and default with submenus.
4947 (grub_menu_execute_with_fallback): Declared static.
4948 Don't notify failure if autobooted. Upper level does it.
4949 (menuentry_eq): New function.
4950 (get_entry_number): Use menuentry_eq.
4951 (show_menu): New parameter "autobooted". All users updated.
4952 (grub_show_menu): Likewise.
4953 * include/grub/normal.h (grub_show_menu): Likewise.
4954 * include/grub/menu.h (grub_menu_execute_entry): Removed.
4955 (grub_menu_execute_with_fallback): Likewise.
4956
6fef99b4
VS
49572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * util/grub-mklayout.c (usage): Update help text.
4960
47a77af5
VS
49612011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
4964
ce6bb3ee
VS
49652011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * util/grub-menulst2cfg.c (main): Trim the line.
4968
db87be2a
VS
49692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
4972 (grub_machine_init): Don't check amount of low memory as reportedly
4973 INT 12h can be broken and if low memory is too low we wouldn't have
4974 gotten into grub_machine_init anyway.
4975
c49849cc
VS
49762011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
4979 (grub_machine_mmap_iterate): Take low memory into account
4980
b1969b30
VS
49812011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
4984 badfs.
4985 Reported by: TiCPU.
4986
cf0eaf13
VS
49872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
4990 members errors.
4991
1f060f39
GS
49922011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4993
4994 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
4995 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
4996
a21e5672
GS
49972011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
4998
4999 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
5000 openbsd and netbsd types being in part_bsd module.
5001
c88172fa
VS
50022011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
5005 (_FILE_OFFSET_BITS): Likewise.
5006 Reported by: Seth Goldberg.
5007
53798c4b
GS
50082011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5009
5010 * configure.ac: Check for libdevmapper header.
5011
e7121b69
VS
50122011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5013
5014 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
5015 avoid aliasing.
5016 (fzap_lookup): Likewise.
5017 (dnode_get): Likewise.
5018 (make_mdn): Likewise.
5019 (zfs_mount): Likewise.
5020 (fzap_iterate): Use temporary pointer to avoid aliasing.
5021 (grub_zfs_read): Likewise.
5022 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
5023 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
5024 pointers to avoid aliasing.
5025 (grub_cmd_xnu_kernel64): Likewise.
5026 (grub_xnu_load_driver): Likewise.
5027
fc836af9
VS
50282011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
5031 aliasing warning.
5032 (grub_cmd_terminal_output): Likewise.
5033 Reported and tested by: Grégoire Sutre.
5034
f9f37648
VS
50352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
5038 warning.
5039 Reported and tested by: Grégoire Sutre.
5040
ec1dfd63
VS
50412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * configure.ac: Do CPU substitution even if it's specified explicitly.
5044 Reported and tested by: Alain Greppin.
5045
9462775a
VS
50462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
5049 Reported and tested by: Alain Greppin.
5050
0fd48e35
VS
50512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 Satisfy some bison versions need for inttypes.h.
5054
5055 * grub-core/lib/posix_wrap/inttypes.h: New file.
5056 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
5057 (int16_t): Likewise.
5058 (int32_t): Likewise.
5059 (int64_t): Likewise.
5060 Reported and tested by: Alain Greppin.
5061
43f1bc83
VS
50622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
5065 Silence spurious warning.
5066 Reported and tested by: Alain Greppin.
5067
64d1f041
SJ
50682011-01-07 Szymon Janc <szymon@janc.net.pl>
5069
5070 * docs/grub.texi (Support automatic decompression): Update with xz
5071 decompression support.
5072
25953e10
SJ
50732011-01-07 Szymon Janc <szymon@janc.net.pl>
5074
5075 Improve loaders' kernel command line handling.
5076
5077 * grub-core/lib/cmdline.c: New file.
5078 * include/grub/lib/cmdline.h: Likewise.
5079 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
5080 grub_create_loader_cmdline to create kernel command line.
5081 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5082 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
5083 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
5084 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
5085 (linux): Add lib/cmdline.c on common.
5086
e72d259f
VS
50872011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5088
5089 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
5090 inopos might be unaligned.
5091
c0cf26da
VS
50922011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5095 endian transformations.
5096 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5097 Based on report by: Doug Nazar.
5098
0ca09e6c
DN
50992011-01-07 Doug Nazar <nazard.michi@gmail.com>
5100
5101 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
5102 array->members[i].start_sector.
5103 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5104
014b6806
VS
51052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
5108 Reported and tested by: Grégoire Sutre.
5109
415502c2
CW
51102011-01-06 Colin Watson <cjwatson@ubuntu.com>
5111
5112 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
5113 avoid causing test failures by clearing the screen.
5114
71b6a2b7
CW
51152011-01-06 Colin Watson <cjwatson@ubuntu.com>
5116
5117 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5118 Fix prefix check to handle the case where dir ends with a slash
5119 (most significantly, "/" itself).
5120 Reported by: Michael Vogt.
5121
b3f8d28a
VS
51222011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 Run terminfo_cls on initing terminfo output to clear the screen and
5125 move the cursor to (0,0).
5126
5127 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
5128 Call grub_terminfo_output_init.
5129 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
5130 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
5131 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
5132
4c3e4f37
VS
51332011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5134
5135 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
5136 only when needed.
5137
488f71f1
VS
51382011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5141 CTRL.
5142
18a38098
VS
51432011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 The E820 type 5 is BADRAM, not EXEC_CODE.
5146
5147 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5148 (GRUB_E820_BADRAM): New define.
5149 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5150 into reserved. Propagate BADRAM.
5151 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5152 (GRUB_E820_BADRAM): New define.
5153
9eae2084
VS
51542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5157 Ignore the memory post-4G.
5158 (grub_relocator_firmware_alloc_region): Additional debug statement.
5159
ebc71d28
VS
51602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5161
5162 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5163 names.
5164 Reported by: David Pravec.
5165
446fa400
VS
51662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5169 BIOSes.
5170
a0159f37
VS
51712011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5174 Prevent overflow.
5175 (grub_reed_solomon_recover): Likewise.
5176
e5146ca1
VS
51772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5180
51812011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5182
5183 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5184 variable.
5185
5b1bdf12
CW
51862011-01-04 Colin Watson <cjwatson@ubuntu.com>
5187
5188 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5189 descriptions of extract_legacy_entries_source and
5190 extract_legacy_entries_configfile.
5191 Reported by: Seung Soo, Ha.
5192
99d925aa
CW
51932011-01-03 Colin Watson <cjwatson@ubuntu.com>
5194
5195 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5196 on devices that do not implement function 0.
5197
4af0504b
DV
51982011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5199
5200 * grub-core/fs/hfsplus.c: Make parent unsigned.
5201 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5202 overflows.
5203 (grub_hfsplus_cmp_extkey): Likewise
5204
469ee10a
VS
52052011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * util/grub-install.in: Correctly use bootloader_id and not
5208 GRUB_DISTRIBUTOR on efibootmgr line.
5209
323a8e9c
VS
52102011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5213
1b394975
IC
52142010-12-31 Ian Campbell <ijc@hellion.org.uk>
5215
5216 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5217 Xen and reorder menu item wording to make it clearer that this entry
5218 will launch Xen. Print separate messages when loading Xen and
5219 Linux.
5220
275bff5f
VS
52212010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5222
5223 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5224 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5225 loop in case of incorrect amiga partmap.
5226
307806cb
VS
52272010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5230 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5231 Reported by:EHeM.
5232
b12b923e
VS
52332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5236 spurious warning.
5237 Reported by: crocket
5238
14b48a19
VS
52392010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5240
5241 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5242 Preload EFIemu.
5243 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5244
693db2df
VS
52452010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5248 is loaded
5249 (grub_cmd_xnu_kextdir): Likewise.
5250 (grub_cmd_xnu_splash): Likewise.
5251
c7638645
VS
52522010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5253
5254 Avoid using Reed-Solomon with 0 redundancy.
5255
5256 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5257 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5258 or 0 redundancy.
5259 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5260 (grub_reed_solomon_recover): Likewise.
5261
25dd4780
VS
52622010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 Don't use disk subsystem in freebsd_boot.
5265
5266 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5267 (freebsd_biosdev): Likewise.
5268 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5269 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5270
0b2db943
VS
52712010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 Handling of files of unknown size is currently limited. They can't be
5274 used e.g. for initrd or modules. Moreover gzip handling of not
5275 easily seekable files is buggy. Disable unknown file size for now. May
5276 be inefficient but works.
5277
5278 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5279 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5280
5c408d0f
MP
52812010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5282
5283 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5284 floppy probe.
5285
190a011a
JD
52862010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5287
5288 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5289
022d01b8
SL
52902010-12-25 Shea Levy <shlevy>
5291
5292 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5293
c4855fdc
VS
52942010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5297 Windows Server 2008.
5298 Reported by: Devin Giddings.
5299
0354b867
VS
53002010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5303 writing an error message because of async power management.
5304 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5305 (grub_reboot): Likewise.
5306
ab66c69f
JU
53072010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5308
5309 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5310 keep unit tests from failing when they shouldn't.
5311
1426ef35
CW
53122010-12-21 Colin Watson <cjwatson@ubuntu.com>
5313
5314 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5315 previous patch increased the size of the RS code by 20 bytes (at
5316 least with gcc-4.4), so increase this by 20 bytes to match.
5317 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5318
20641b6b
CW
53192010-12-21 Colin Watson <cjwatson@ubuntu.com>
5320
5321 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5322 scratch area. Make sure to initialise chosen in standalone mode as
5323 well as non-standalone.
5324 Reported by: Robert Hooker and Andy Whitcroft.
5325 Tested by: Andy Whitcroft.
5326
d060ad60
CW
53272010-12-21 Colin Watson <cjwatson@ubuntu.com>
5328
5329 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5330 constructing a new unescaped string and passing it to grub_xputs in
5331 one go, rather than passing characters to grub_printf one at a time.
5332
b889cfad
CW
53332010-12-21 Colin Watson <cjwatson@ubuntu.com>
5334
5335 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5336 initialising utf16.
5337
4e01b6c8
CW
53382010-12-21 Colin Watson <cjwatson@ubuntu.com>
5339
5340 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5341 comment. Add an extra layer of quotation, requiring the output of
5342 this function to be used in a printf format string.
5343 (gettext_printf): New function.
5344 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5345 Extract translatable strings from here-documents and use a temporary
5346 variable instead, so that xgettext can find them.
5347 * util/grub.d/10_kfreebsd.in: Likewise.
5348 * util/grub.d/10_linux.in: Likewise.
5349 * util/grub.d/20_linux_xen.in: Likewise.
5350
5351 * po/grub.d.sed: New file.
5352 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5353 arguments. Set c-format flags on all strings extracted from
5354 util/grub.d/ (xgettext refuses to include these itself for strings
5355 it extracted from a shell file, but these really are c-format).
5356
5318fe98
VS
53572010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5358
5359 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5360 Avoid next pointing to nowhere.
5361
6c85b743
VS
53622010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5365 rather than assuming than rootblock is exactly in the middle.
5366 (grub_affs_label): Likewise.
5367
a2a08a35
VS
53682010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5371 reserved_first_sector to 0.
5372 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5373 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5374 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5375
7059d1ec
VS
53762010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 Fix handling of UTF-16 UDF labels.
5379
5380 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5381 (read_string): .. here.
5382 (grub_udf_label): Use read_string.
5383
30aff4cb
BC
53842010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5385
5386 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5387 editor under argument scope.
5388 Reported by: Jordan Uggla
5389
5cf86f4b
VS
53902010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5393
32570200
CW
53942010-12-18 Colin Watson <cjwatson@ubuntu.com>
5395
5396 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5397 line, and other keys scroll an entire page (previous handling was
5398 for \r and \n to scroll a page and other keys to scroll two lines).
5399
e1dffcf2
VS
54002010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5403 Set ptrdest to correct get_physical_target_address rather than
5404 incorrect get_virtual_current_address.
5405
b04298cf 54062010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5407
5408 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5409 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5410
5367ecd3
CW
54112010-12-10 Colin Watson <cjwatson@ubuntu.com>
5412
5413 * .bzrignore: Ignore grub-core/rs_decoder.S.
5414
1fb430f8
CW
54152010-12-10 Colin Watson <cjwatson@ubuntu.com>
5416
5417 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5418 .mo/.mo.gz opening sequence to ...
5419 (grub_mofile_open_lang): ... here.
5420 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5421 * util/grub.d/00_header.in (grub_lang): Include country part of
5422 locale.
5423 Reported by: Mario Limonciello.
5424
a94a6671
RM
54252010-12-09 Robert Millan <rmh@gnu.org>
5426
5427 * NEWS: Document addition of ZFS support.
5428
24b7938b
CW
54292010-12-04 Colin Watson <cjwatson@ubuntu.com>
5430
5431 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5432 rather than `/ 2', as the latter requires -Wa,--divide which would
5433 require bumping our minimum binutils version.
5434
bddc3ef6
BC
54352010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5436
5437 * util/grub-script-check.c (main): Print script line number on
5438 error.
5439
bf78d5b2
RM
54402010-12-01 Robert Millan <rmh@gnu.org>
5441
5442 * grub-core/fs/zfs/zfs.c: New file.
5443 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5444 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5445 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5446 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5447
5448 * include/grub/zfs/dmu.h: Likewise.
5449 * include/grub/zfs/dmu_objset.h: Likewise.
5450 * include/grub/zfs/dnode.h: Likewise.
5451 * include/grub/zfs/dsl_dataset.h: Likewise.
5452 * include/grub/zfs/dsl_dir.h: Likewise.
5453 * include/grub/zfs/sa_impl.h: Likewise.
5454 * include/grub/zfs/spa.h: Likewise.
5455 * include/grub/zfs/uberblock_impl.h: Likewise.
5456 * include/grub/zfs/vdev_impl.h: Likewise.
5457 * include/grub/zfs/zap_impl.h: Likewise.
5458 * include/grub/zfs/zap_leaf.h: Likewise.
5459 * include/grub/zfs/zfs.h: Likewise.
5460 * include/grub/zfs/zfs_acl.h: Likewise.
5461 * include/grub/zfs/zfs_znode.h: Likewise.
5462 * include/grub/zfs/zil.h: Likewise.
5463 * include/grub/zfs/zio.h: Likewise.
5464 * include/grub/zfs/zio_checksum.h: Likewise.
5465
5466 * Makefile.util.def: Build ZFS into libgrubmods.
5467 * grub-core/Makefile.core.def: Build zfs.mod.
5468
3f0f3831
SJ
54692010-11-30 Szymon Janc <szymon@janc.net.pl>
5470
5471 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5472 variable.
5473 * grub-core/commands/wildcard.c (match_files): Likewise.
5474
3a4253b2
RM
54752010-11-30 Robert Millan <rmh@gnu.org>
5476
5477 * grub-core/loader/i386/bsd.c
5478 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5479 whether kernel is loaded using grub_loader_is_loaded(), rather
5480 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5481 certain error conditions.
5482
8c317b27
RM
54832010-11-30 Robert Millan <rmh@gnu.org>
5484
c5c9cd3e
RM
5485 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5486 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5487
49d3ab46
VS
54882010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 Avoid using tricks for initialising endian variables.
5491
5492 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5493 Make const.
5494 (GRUB_MOD_INIT): Don't byte-swap.
5495 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5496 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5497 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5498 (grub_swap_bytes32_compile_time): Likewise.
5499 (grub_cpu_to_le32_compile_time): Likewise.
5500 (grub_cpu_to_le16_compile_time): Likewise.
5501
f420a804
VS
55022010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * util/grub-setup.c (setup): Stop recommending --force. People who
5505 understand the dangers of blocklists are able to find this option
5506 anyway and the ones who don't shouldn't use it anyway.
5507
4e7db17b
RM
55082010-11-26 Robert Millan <rmh@gnu.org>
5509
5510 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5511 Update all users.
5512
9be57a0d
CW
55132010-11-26 Colin Watson <cjwatson@ubuntu.com>
5514
5515 Fix LVM-on-RAID probing.
5516
5517 * util/grub-probe.c (probe): Remember which disk was detected as
5518 RAID (perhaps an LVM physical volume). Use that disk's raidname
5519 rather than that of the top-level disk.
5520
2c7859b3 55212010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5522
d7647bb6
BC
5523 Fix cmdline argument quotes for setparams command of menuentry
5524 definitions.
7e623b0d
BC
5525
5526 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5527 quotes for arguments.
f866fe80 5528 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5529 grub_strchrsub function instead.
f866fe80 5530
7955bea0 5531 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5532
74f72a64
CW
55332010-11-24 Colin Watson <cjwatson@ubuntu.com>
5534
5535 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5536 effort by skipping "." and ".." entries up-front.
5537 Suggested by: Michael Lazarev.
5538
5a407278
CW
55392010-11-24 Colin Watson <cjwatson@ubuntu.com>
5540
5541 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5542 ldflags to ldadd, to fix link line ordering.
5543 (none_decompress): Likewise.
5544
3030d8ec
CW
55452010-11-24 Colin Watson <cjwatson@ubuntu.com>
5546
5547 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5548 platforms.
5549 (grub-emu-lite): Remove kern/emu/cache.S.
5550
b7fbac12
CW
55512010-11-23 Colin Watson <cjwatson@ubuntu.com>
5552
5553 * util/deviceiter.c (compare_devices): If the by-id link for a
5554 device couldn't be resolved, fall back to sorting by the by-id link
5555 rather than segfaulting.
5556 Reported and tested by: Daniel Mierswa.
5557
5225f328
CW
55582010-11-23 Colin Watson <cjwatson@ubuntu.com>
5559
5560 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5561 ldflags, to fix link line ordering.
5562
038b3ce8
CW
55632010-11-23 Colin Watson <cjwatson@ubuntu.com>
5564
5565 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5566 linkers are picky about this.
5567
bf16e98e
CW
55682010-11-23 Colin Watson <cjwatson@ubuntu.com>
5569
5570 * grub-core/Makefile.am (command.lst): Adjust sed expression
5571 ordering so that extended and priority commands aren't treated as
5572 ordinary commands.
5573
7242bab6
CW
55742010-11-23 Colin Watson <cjwatson@ubuntu.com>
5575
5576 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5577 Remove byte-swapping function calls, which are not valid in
5578 structure initialisers.
5579 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5580 non-const.
5581 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5582 grub_gpt_partition_type_bios_boot.
5583
14e8b279
CW
55842010-11-22 Colin Watson <cjwatson@ubuntu.com>
5585
5586 Fix test program build on GNU/kFreeBSD.
5587
5588 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5589 $(LIBNVPAIR)' library dependencies.
5590
e6f63338 55912010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5592
5593 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5594
cf8ffc38
CW
55952010-11-22 Colin Watson <cjwatson@ubuntu.com>
5596
5597 * util/grub-install.in: Remove excessive quoting that broke
5598 installations to RAID devices.
5599
7f8b0fd7
VS
56002010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5603 bootloader version instead of 0.
5604
dfd240b1
VS
56052010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5608 warning.
5609
7b61e609
VS
56102010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5613 retrieve the metadat sector if size isn't known.
5614 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5615
9dfe92d0
RM
56162010-11-18 Robert Millan <rmh@gnu.org>
5617
5618 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5619 with grub_memcmp().
5620
41cc919e
VS
56212010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5624 arrow.
5625 Reported by: Jordan Uggla.
5626
1afcc914
VS
56272010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Make better UTF compliant.
5630
5631 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5632 sequences as incorrect.
5633 (grub_is_valid_utf8): Likewise.
5634 (grub_utf8_to_ucs4): Likewise.
5635 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5636 (grub_ucs4_to_utf8_alloc): Likewise.
5637 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5638
f1808884
VS
56392010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 Make legacy_source behave like source.
5642
5643 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5644 grub_show_menu.
5645 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5646
24ec575b
CW
56472010-11-16 Colin Watson <cjwatson@debian.org>
5648
5649 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5650 (-Wunused implies -Wunused-parameter, but not vice versa).
5651
72b7c7aa
CW
56522010-11-16 Colin Watson <cjwatson@ubuntu.com>
5653
5654 * configure.ac: Make error messages less confusing by testing for
5655 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5656 accepted, but produces a diagnostic if something else is wrong).
5657
e98937aa
VS
56582010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5661 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5662 (now unused).
5663 (grub_keyboard_controller_init)
5664 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5665 read the initial state since controller isn't inited yet.
5666
f6bbabc3
VS
56672010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5668
5669 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5670 allocate_regbeg may need to create new chunk header.
5671
22e7dbb2
VS
56722010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 Fix quoting in legacy parser.
5675
5676 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5677 single quotes.
5678 (grub_legacy_parse): Likewise.
5679 Reported by: Jordan Uggla.
5680 Tested by: Jordan Uggla.
5681
03f80960
VS
56822010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 Don't add -lgcc on i386 and x86_64.
5685
5686 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5687 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5688 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5689
779dc15b
VS
56902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * configure.ac: Add -Wno-trampolines when supported.
5693
d20a3b37
MV
56942010-11-14 Modestas Vainius <modax@debian.org>
5695
5696 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5697 fakeraid.
5698
e5360933
GC
56992010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5700
5701 Add generic logical block size support for UDF.
5702
5703 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5704 (GRUB_UDF_BLKSZ): Removed.
5705 (struct grub_udf_data): New field "lbshift" to hold the logical block
5706 size of the file system in log2 format. All users updated.
5707 (sblocklist): Change type to unsigned.
5708 (grub_udf_mount): Change type of "sblklist" to unsigned.
5709 Move AVDP search before VRS recognition, because the latter requires
5710 knowledge of the logical block size, which is detected during the
5711 former.
5712 Detect and validate logical block size during AVDP search, adding
5713 support for block sizes 512, 1024 and 4096.
5714 Make VRS recognition independent of block size.
5715
cb0229c5
GC
57162010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5717
5718 Properly handle deleted files on UDF.
5719
5720 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5721 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5722 set.
5723
406858a8
GC
57242010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5725
5726 Support reading files larger than 2 GiB.
5727
5728 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5729 "offset" to grub_off_t.
5730 (grub_udf_read_file): Likewise for parameter "pos".
5731
130da6a7
VS
57322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5735 unavailable.
5736 (Simple configuration): Refer to Changes from GRUB Legacy about
5737 save_env availability.
5738
65e93f6b
VS
57392010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5740
5741 * util/grub-install.in: Ignore empty partition table detection
5742 instead of trying to include part_ module.
5743
1fd08bf1
VS
57442010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5747 LVM on RAID support.
5748
de1a024f
VS
57492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 Properly define WORDS_BIGENDIAN in wrapped environments.
5752
5753 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5754 definition.
5755 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5756
5757 Reported by: Manoel Rebelo Abranches.
5758 Tested by: Manoel Rebelo Abranches.
5759
bc5dd0b9
VS
57602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * util/grub-mkconfig.in: Fix quoting.
5763
58c184be
VS
57642010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 Support big ext2 files.
5767
5768 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5769 (grub_ext2_read_block): Support triple indirect blocks.
5770 (grub_ext2_read_file): Use 64-bit types and read size_high.
5771 (grub_ext2_open): Read size_high.
5772 Reported by: Ximin Luo.
5773 Tested by: Manoel Rebelo Abranches.
5774
5f0c02b3
VS
57752010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * util/grub-install.in: Handle filenames containing spaces.
5778 Reported by: Jordan Uggla.
5779 Tested by: Jordan Uggla.
5780
4417aae6
VS
57812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/grub-mkconfig.in (grub_script_check): New variable.
5784 Use grub_script_check instead of grub-script-check.
5785 Reported by: Barry Jackson.
5786
7625a68e
VS
57872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * docs/grub.texi (menu): Correct the order.
5790 Reported by: D. Hugh Redelmeier.
5791
10001ac5
VS
57922010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5795 jump.
5796
9c4cf53b
MRA
57972010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5798
10001ac5
VS
5799 * include/grub/elfload.h (grub_elf32_size): New parameter.
5800 All users updated.
9c4cf53b
MRA
5801 Return maximum segments alignment.
5802 (grub_elf64_size): Likewise.
5803 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5804 Return maximum segments alignment.
5805 (grub_elf64_size): Likewise.
5806 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
5807 (grub_linux_claimmap_iterate): New function. Uses the
5808 "available" property in the "memory" node for memory allocation
5809 for kernel in the PowerPC loader.
9c4cf53b
MRA
5810 (grub_linux_load32): Correctly find linux entry point offset.
5811 (grub_linux_load64): Likewise.
5812
d2bf06bf
RM
58132010-11-07 Robert Millan <rmh@gnu.org>
5814
5815 On mips-yeeloong, build with -march=loongson2f when this flag is
5816 available (GCC >= 4.4).
5817 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5818 `-march=mips3'.
5819 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5820 or otherwise add -march=mips3.
5821
898c99a2
BC
58222010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5823
87220a68
BC
5824 Suppress shell expansion on echo '*' and echo "*" like cases.
5825 Reported by: Jordan Uggla.
898c99a2
BC
5826
5827 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5828 string arguments before shell expansion.
5829 * tests/grub_cmd_echo.in: New testcases.
5830
4f9b406a
RM
58312010-11-07 Robert Millan <rmh@gnu.org>
5832
5833 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5834 transition.
5835
80c6d25e
VS
58362010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * grub-core/kern/emu/hostdisk.c
5839 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5840
4a1a0153
VS
58412010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5844 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5845 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
5846
34706ddc
VS
58472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
5850
6972dea9
VS
58512010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5852
5853 * util/grub-install.in: Replace useless recomendation to pass
5854 --modules with a recomendation to report a bug.
5855
9c693bd6
VS
58562010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 Properly register serial terminfo.
5859 Reported by: Jordan Uggla
5860
5861 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
5862 const.
5863 (grub_serial_terminfo_output_template): Likewise.
5864 (grub_cmd_serial): Register "serial" with terminfo.
5865 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
5866 grub_serial_terminfo_output.
5867
6c9e4c0c
RM
58682010-11-05 Robert Millan <rmh@gnu.org>
5869
5870 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
5871 needed).
5872
b9b3839f
RM
58732010-11-05 Robert Millan <rmh@gnu.org>
5874
5875 On Yeeloong, pass machine type information to Linux.
5876
5877 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
5878 (LOONGSON_MACHTYPE): New macro, set to
5879 "machtype=lemote-yeeloong-2f-8.9inches".
5880 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
5881 additional argument to Linux.
5882
1a3aaff4
RM
58832010-11-04 Robert Millan <rmh@gnu.org>
5884
5885 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
5886 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
5887 (its SATA disks are detected as slaveless IDE master drives on
5888 kFreeBSD).
5889 Reported by Carsten Aulbert.
5890
a75f4f62
CW
58912010-11-02 Colin Watson <cjwatson@ubuntu.com>
5892
5893 * util/bin2h.c (main): Fix spelling error in generated output.
5894
33b4b0c6
GS
58952010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
5896
5897 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
5898
2b36fbf4
VS
58992010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5900
5901 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
5902 vga= option is supplied.
5903
74aaf558
VS
59042010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5905
5906 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
5907 * util/grub.d/10_kfreebsd.in: Likewise.
5908 * util/grub.d/10_linux.in: Likewise.
5909 * util/grub.d/20_linux_xen.in: Likewise.
5910
6428dec3
VS
59112010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
5914 argument as an argument to no-argument option.
5915
f8729d98
VS
59162010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * util/grub.d/10_linux.in: Add missing load_video with explicit
5919 GRUB_GFXPAYLOAD_LINUX.
5920
89d68fa6
VS
59212010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
5924
3a1197cd
VS
59252010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
5928 elements with invlid index.
5929 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5930 * grub-core/disk/raid.c (insert_array): Automatically reallocate
5931 members.
5932 * include/grub/raid.h (grub_raid_member): New struct.
5933 (grub_raid_array): Transform devices and start_sector into usage of
5934 grub_raid_member. All users updated
5935 (allocated_devs): New member.
5936
71574288
VS
59372010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
5938
5939 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
5940 is modified
5941
8d40ec65
BC
59422010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
5943
5944 NetBSD build fix for getline function conflict from gnulib.
5945
5946 * Makefile.util.def (libgrubkern.a): New library for grub kernel
5947 components that depend on gnulib headers.
5948 (libgrubmods.a): Renamed from earlier libgrub.a.
5949 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
5950
95b9257e
VS
59512010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
5954 install rather than creating a broken install.
5955
26c53dc6
VS
59562010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5957
5958 * util/grub-setup.c (argp): Remove misleading example of installing to
5959 a partition.
5960
4171b3c5
VS
59612010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5962
5963 * util/grub-setup.c (setup): Clarify the error message.
5964
18568d18
VS
59652010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
5968
4f6a2e21
VS
59692010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5970
5971 * grub-core/kern/emu/misc.c
5972 (grub_make_system_path_relative_to_its_root)
5973 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
5974
59752010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
5976
5977 * grub-core/kern/emu/misc.c
5978 (grub_make_system_path_relative_to_its_root): Revert r2882.
5979
e138c458
VS
59802010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
5983 useless field head. All users updated.
5984 (free_subchunk): Correct handling of IN_REGION subchunk.
5985
0cbcdf0e
CW
59862010-10-22 Colin Watson <cjwatson@ubuntu.com>
5987
5988 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
5989 (Supported kernels): Likewise.
5990
b65ea155
GS
59912010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
5992
5993 Make mktemp invocations portable.
5994
5995 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
5996 exit if mktemp fails.
5997 * tests/grub_script_blockarg.in: Likewise.
5998 * tests/partmap_test.in: Likewise.
5999 * tests/util/grub-shell-tester.in: Likewise.
6000 * tests/util/grub-shell.in: Likewise.
6001 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6002 * Makefile.am: Likewise, and chain shell commands with `&&'
6003 instead of ';'.
6004 * util/grub-mkrescue.in: Use the same explicit template as above, and
6005 exit if mktemp fails.
6006
05f43cdd
BC
60072010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
6008
6009 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
6010 Linux kernel, reported by Dennis Schridde.
6011
800e6a9b
SJ
60122010-10-17 Szymon Janc <szymon@janc.net.pl>
6013
6014 * grub-core/normal/auth.c (grub_auth_check_authentication):
6015 Set-but-not-used variable removed.
6016
d82df574
VS
60172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * docs/grub.texi (GNU/Linux): Document APM unavailability with
6020 32-bit linux protocol.
6021
7bced458
VS
60222010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
6025 cursor shape for sanity.
6026
5b027690
VS
60272010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * docs/grub.texi (Installation): Document buggy BIOS install.
6030
ba5f65cf
VS
60312010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * docs/grub.texi (Installation): Indent.
6034
fdf2ec9c
VS
60352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * util/grub-setup.c (setup): New parameter allow_floppy.
6038 (arguments): New member allow_floppy.
6039 (argp_parser): Handle --allow-floppy.
6040 (main): Pass allow_floppy.
6041 * util/grub-install.in: New option --allow-floppy passed though to
6042 grub-setup.
6043
861dfd4c
VS
60442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * util/grub-install.in: Handle partitionless disks.
6047
f77a8c24
VS
60482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 * util/grub-setup.c (setup): Don't clean blocklists before readability
6051 verfification.
6052
27d9ee32
VS
60532010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * docs/grub.texi (Installation): Document embedding zone. Remove
6056 obsolete grub-install example.
6057
6bdda8f8
SJ
60582010-10-16 Szymon Janc <szymon@janc.net.pl>
6059
6060 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6061 Set-but-not-used variable ifdef'ed.
6062 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
6063 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
6064 variable removed.
6065 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
6066 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
6067 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6068 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
6069 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
6070 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6071 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
6072 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
6073 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6074 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
6075 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
6076 Likewise.
6077
e19b016b
VS
60782010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
6081 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
6082 enum value.
6083
6c8d3002
VS
60842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
6087 synonym to _S5_. Needed for some DSDTs.
6088
c32b51c9
VS
60892010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6090
6091 Userspace ACPI parser debugging.
6092
6093 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
6094 headers and add relevant defines. Don't include standard headers.
6095 (main) [GRUB_DSDT_TEST]: New function.
6096 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
6097 Don't declare functions.
6098
fbfbeb39
VS
60992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 Remove dead grub_efi_mm_fini.
6102
6103 * grub-core/kern/efi/mm.c (allocated_page): Removed.
6104 (ALLOCATED_PAGES_SIZE): Likewise.
6105 (MAX_ALLOCATED_PAGES): Likewise.
6106 (allocated_pages): Likewise.
6107 (grub_efi_allocate_pages): Don't record allocated pages.
6108 (grub_efi_free_pages): Likewise.
6109 (grub_efi_mm_init): Likewise.
6110 (grub_efi_mm_fini): Removed.
6111
65f7ed7c
VS
61122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
6115 (grub_efi_mm_init): Take into account the memory map size increase.
6116
24977b44
VS
61172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6118
6119 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
6120 (serial_hw_put): Wait based on real time rather than port reads. Don't
6121 roken ports.
6122 * include/grub/serial.h (grub_serial_port): New field broken.
6123
1eb01cd2
RM
61242010-10-16 Robert Millan <rmh@gnu.org>
6125
6126 * grub-core/kern/emu/misc.c
6127 (grub_make_system_path_relative_to_its_root): Fix premature return
6128 when processing non-root ZFS filesystems.
5f8b440b 6129 Reported by Sergio Talens-Oliag.
1eb01cd2 6130
2d5fed60
RM
61312010-10-15 Robert Millan <rmh@gnu.org>
6132
6133 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
6134 guarantee compressed ones are processed first.
6135
d0f4c1ea
VS
61362010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
6139 grub_efiemu_autocore.
6140
d87c681f
VS
61412010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6144 rather than 0x1b.
6145 (grub_console_getkey): Use correct jae opcode rather than ja.
6146
219b3564
RM
61472010-10-12 Robert Millan <rmh@gnu.org>
6148
6149 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6150 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6151 variable. All references updated.
6152
6153 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6154
20c6bb7e
VS
61552010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6156
6157 Correctly distinguish mdraid flavours.
6158
6159 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6160 (insert_array): New argument raid.
6161 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6162 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6163 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6164
74baff84
VS
61652010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6166
6167 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6168 handling of special keys.
6169
3ef068df 61702010-10-02 Aleš Nesrsta <starous@volny.cz>
6171
c7980ad9
VS
6172 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6173 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6174
a9455194 61752010-10-02 Aleš Nesrsta <starous@volny.cz>
6176
c7980ad9
VS
6177 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6178 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6179 users updated.
a9455194 6180 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6181 Use right endpoint when querying descriptor.
a9455194 6182
441cfe65
VS
61832010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Clear out 0x80 color bit on EFI.
6186 Tested by: decoder
6187 Reported by: decoder and meta tech.
6188
6189 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6190 (grub_console_setcolorstate): Clear out 0x80 bit.
6191 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6192 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6193 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6194
bf26bcc4
VS
61952010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6198 Set to "auto".
6199
6e3c515d
VS
62002010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6203 mo_file after freeing.
6204
e6d983ba
VS
62052010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6208
74ccb5b5
VS
62092010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6212 flags.
6213
17821956
VS
62142010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6217 usage.
6218
ee74fa48
VS
62192010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6222
6223 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6224 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6225 and terminfo.h when needed.
6226 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6227 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6228 (terminfo): Enable only on terminfokernel.
6229 (extcmd): Likewise.
6230 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6231 * include/grub/lib/arg.h: Likewise.
6232 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6233 incorrect usage of ->.
6234
aa438e68
VS
62352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6236
6237 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6238 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6239
57994012
VS
62402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6241
6242 Fix coreboot compilation.
6243
6244 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6245 Take VBE info into account even if only text is supported.
6246 (fill_vbe_info): Take into account the case when only VGA text
6247 is supported.
6248 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6249 on coreboot, multiboot and qemu.
6250
2a406611
VS
62512010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6254 debug messages.
6255 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6256
d33613fc
VS
62572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6260 parameters.
6261
44a1b432
VS
62622010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6265 if they were BSD-style.
6266
edde54e6
VS
62672010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6268
6269 * grub-core/boot/i386/pc/lnxboot.S: Replace
6270 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6271 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6272
b65830fa
VS
62732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 Write embedding zone using Reed-Solomon.
6276
6277 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6278 * grub-core/Makefile.am (rs_decoder.S): New target.
6279 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6280 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6281 (multiboot): Move to RS part.
6282 (post_reed_solomon): New label.
6283 (grub_boot_drive): Move to non-RS part since it's modified in memory
6284 on boot.
6285 Include rs_decoder.S.
6286 * grub-core/lib/reed_solomon.c: New file.
6287 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6288 New definition.
6289 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6290 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6291 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6292 * include/grub/partition.h (grub_partition_map): Change prototype of
6293 embed to allow returning additional sectors.
6294 * include/grub/reed_solomon.h: New file.
6295 * util/grub-setup.c (setup): Handle Reed-Solomon.
6296
0b4b227f
CW
62972010-09-28 Colin Watson <cjwatson@ubuntu.com>
6298
6299 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6300 i386 and x86-64 definedness tests.
6301
f772623b
YB
63022010-09-27 Yves Blusseau <blusseau@zetam.org>
6303
6304 Fix generation of kernel_syms.lst
6305
6306 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6307 ASM_PREFIX
6308
8e57a6ca
RM
63092010-09-26 Robert Millan <rmh@gnu.org>
6310
6311 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6312
6313 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6314 the pool is an array of devices, iterate through it and return the
6315 first device that passes a stat() test (instead of blindly returning
6316 the first one).
6317
f9130836
RM
63182010-09-26 Robert Millan <rmh@gnu.org>
6319
6320 Build fixes for GNU/kFreeBSD.
6321
6322 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6323 to programs that require ZFS conversion.
6324 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6325 kernels that don't have FLOPPY_MAJOR.
6326
96510faf
BC
63272010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6328
6329 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6330
449333eb
BC
63312010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6332
6333 Fix grub-emu build.
6334
6335 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6336 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6337 mdraid09 and mdraid1x.
6338
e1fd1939
CW
63392010-09-24 Colin Watson <cjwatson@ubuntu.com>
6340
6341 Re-enable grub-extras.
6342
6343 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6344 avoid confusing Automake. Run autogen only twice, once for the top
6345 level and once for grub-core. Add Makefile.util.def and
6346 Makefile.core.def from extra modules to the appropriate autogen
6347 invocations. If Makefile.common exists in an extra module, include
6348 it in both Makefile.util.am and grub-core/Makefile.core.am;
6349 similarly, include any Makefile.util.common file in Makefile.util.am
6350 and any Makefile.core.common file in grub-core/Makefile.core.am.
6351 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6352 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6353 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6354 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6355
6356 * gentpl.py (gvar_add): Turn GVARS into a set.
6357 (global_variable_initializers): Sort global variables on output.
6358 (vars_init): New function.
6359 (first_time): Likewise.
6360 (library): Ensure that non-global variable initialisations are
6361 emitted before the first time we emit code for a library block.
6362 Append to variables rather than setting them. Only emit
6363 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6364 each conditional path.
6365 (program): installdir() emits an Autogen macro, so must be passed to
6366 var_add rather than gvar_add.
6367 (data): Likewise.
6368 (script): Likewise.
6369 (rules): New function, centralising handling for different target
6370 types. Set up Guile association lists for first_time and vars_init,
6371 and send most output to a diversion so that variable initialisations
6372 can be emitted first.
6373 (module_rules): Use new rules function.
6374 (kernel_rules): Likewise.
6375 (image_rules): Likewise.
6376 (library_rules): Likewise.
6377 (program_rules): Likewise.
6378 (script_rules): Likewise.
6379 (data_rules): Likewise.
6380
6381 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6382
6383 * .bzrignore: Add contrib and grub-core/contrib. Remove
6384 grub-core/Makefile.gcry.am.
6385
1d12cf29
YB
63862010-09-24 Yves Blusseau <blusseau@zetam.org>
6387
6388 * grub-core/lib/LzFind.c: Add missing include.
6389 * grub-core/lib/LzmaEnc.c: Likewise.
6390 * grub-core/script/lexer.c: Likewise.
6391 * grub-core/script/yylex.l: Likewise.
6392 * util/grub-macho2img.c: Likewise.
6393 * util/grub-menulst2cfg.c: Likewise.
6394 * util/grub-mklayout.c: Likewise.
6395 * util/grub-mkpasswd-pbkdf2.c
6396 * util/grub-mkrelpath.c: Likewise.
6397 * util/resolve.c: Likewise.
6398
dd363028
BC
63992010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6400
6401 * Makefile.util.def (example_unit_test): Add
6402 grub-core/gnulib/libgnu.a.
6403
f5a109e2
GS
64042010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6405
6406 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6407
6d0fa83c
VS
64082010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 Support xz compression on yeeloong.
6411
6412 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6413 * configure.ac: Check for LZMA.
6414 * grub-core/Makefile.core.def (xz_decompress): New target.
6415 (none_decompress): Likewise.
6416 * grub-core/boot/decompressor/minilib.c: New file.
6417 * grub-core/boot/decompressor/none.c: Likewise.
6418 * grub-core/boot/decompressor/xz.c: Likewise.
6419 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6420 * grub-core/kern/mips/cache_flush.S: Likewise.
6421 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6422 * grub-core/kern/mips/startup.S: Move first stage to ...
6423 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6424 nomacro.
6425 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6426 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6427 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6428 Allocate statically.
6429 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6430 Allocate statically or use scratch. Don't check CRC32.
6431 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6432 Allocate statically. Don't check CRC32.
6433 * include/grub/decompressor.h: New file.
6434 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6435 Removed.
6436 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6437 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6438 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6439 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6440 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6441 * util/grub-mkimage.c (grub_compression_t): New type.
6442 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6443 (image_target_desc): New field default_compression.
6444 (image_targets): Adjust yeeloong targets.
6445 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6446 (compress_kernel): New parameter comp.
6447 (generate_image): Likewise. Handle new compression case.
6448 (options): New option --compression
6449 (help): Likewise.
6450 (main): Handle new option.
6451
1b655af6
GS
64522010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6453
6454 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6455
8f03f0b5
CW
64562010-09-22 Colin Watson <cjwatson@ubuntu.com>
6457
6458 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6459 typo in __i386__ conditional.
6460
7835dfd3
VS
64612010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6462
6463 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6464 include.
6465
e255597e
VS
64662010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6467
6d0fa83c 6468 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6469
6470 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6471 new tags as supported.
6472 (acpiv2_size): New function.
6473 (grub_multiboot_get_mbi_size): Take new tags into account.
6474 (grub_multiboot_make_mbi): Add new tags.
6475 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6476
6cc14051 64772010-09-21 Aleš Nesrsta <starous@volny.cz>
6478
6479 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6480 Added missing configuration of USB device.
6481
df7769d8
CW
64822010-09-21 Colin Watson <cjwatson@ubuntu.com>
6483
6484 * grub-core/normal/menu_entry.c (run): Make sure we always return
6485 a value.
6486
b031012d
CW
64872010-09-21 Colin Watson <cjwatson@ubuntu.com>
6488
6489 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6490 NumberOfPages is UINT64 according to the UEFI specification, not
6491 UINTN. Fix printf format.
6492
174de8f3
CW
64932010-09-21 Colin Watson <cjwatson@ubuntu.com>
6494
6495 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6496 `err' to grub_usb_err_t.
6497 Reported and tested by: KESHAV P.R.
6498
d7dbe923
CW
64992010-09-21 Colin Watson <cjwatson@ubuntu.com>
6500
6501 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6502 tpart non-const, so that we can assign to it. (Since this is a
6503 typedef, the constness refers to the pointer rather than what it
6504 points to.)
6505
8d5e2af3
CW
65062010-09-21 Colin Watson <cjwatson@ubuntu.com>
6507
6508 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6509 $(top_srcdir)/grub-core/gnulib as well as
6510 $(top_builddir)/grub-core/gnulib.
6511 Reported by: KESHAV P.R.
6512
5c527783
CW
65132010-09-21 Colin Watson <cjwatson@ubuntu.com>
6514
6515 * util/grub-install.in: Fix the bootloader ID option to be
6516 consistently --bootloader-id, not --bootloader_id.
6517 Reported by: KESHAV P.R.
6518
d309a16e
CW
65192010-09-21 Colin Watson <cjwatson@ubuntu.com>
6520
6521 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6522 check hash checksum." consistently translatable.
6523
b830cd16
YB
65242010-09-21 Yves Blusseau <blusseau@zetam.org>
6525
6526 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6527 $(top_builddir).
6528
c4fe27a8
CW
65292010-09-21 Colin Watson <cjwatson@ubuntu.com>
6530
6531 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6532 (GRUB_MOD_INIT): Register sha1sum command.
6533 (GRUB_MOD_FINI): Unregister sha1sum command.
6534
a4c1d277
YB
65352010-09-21 Yves Blusseau <blusseau@zetam.org>
6536
6537 Keep boot and grub directory names in sync with utils scripts
6538
6539 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6540 * config.h.in: Add previous macros.
6541 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6542 * util/grub-install.in: Use $bootdir and $grubdir variables.
6543
4eff79d2
CW
65442010-09-21 Colin Watson <cjwatson@ubuntu.com>
6545
6546 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6547 convert partition names to disk names if the new `convert' parameter
6548 is set.
6549 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6550 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6551 disk in its own right. This can happen with Xen disk images.
6552
934d7e44
YB
65532010-09-21 Yves Blusseau <blusseau@zetam.org>
6554
6555 * util/grub-editenv.c: Update strings to avoid warnings when generating
6556 grub.pot file.
6557 * util/grub-setup.c: Likewise.
934d7e44 6558
df3367cc
VS
65592010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * configure.ac: Change version to 1.99~beta0.
6562
77a94e98
VS
65632010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6566 Add BADRAM.
6567 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6568 Likewise.
6569 * include/multiboot.h: Resynced with specification.
6570 * include/multiboot2.h: Likewise.
6571
269004c1
CW
65722010-09-21 Colin Watson <cjwatson@ubuntu.com>
6573
6574 Fix po directory handling.
6575
6576 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6577 * grub-core/gnulib/Makefile.am: Import gettext module.
6578 * m4/gnulib-cache.m4: Likewise.
6579 * m4/gnulib-comp.m4: Likewise.
6580 * m4/gettext.m4: New file, from gnulib.
6581 * m4/glibc2.m4: Likewise.
6582 * m4/iconv.m4: Likewise.
6583 * m4/intdiv0.m4: Likewise.
6584 * m4/intl.m4: Likewise.
6585 * m4/intldir.m4: Likewise.
6586 * m4/intlmacosx.m4: Likewise.
6587 * m4/intmax.m4: Likewise.
6588 * m4/inttypes-pri.m4: Likewise.
6589 * m4/lcmessage.m4: Likewise.
6590 * m4/lib-ld.m4: Likewise.
6591 * m4/lib-link.m4: Likewise.
6592 * m4/lib-prefix.m4: Likewise.
6593 * m4/lock.m4: Likewise.
6594 * m4/nls.m4: Likewise.
6595 * m4/po.m4: Likewise.
6596 * m4/printf-posix.m4: Likewise.
6597 * m4/progtest.m4: Likewise.
6598 * m4/threadlib.m4: Likewise.
6599 * m4/uintmax_t.m4: Likewise.
6600 * m4/visibility.m4: Likewise.
6601 * po/Makefile.am: Remove.
6602 * po/Makefile.in.in: New file, from gettext.
6603 ($(DOMAIN).pot-update): Support POTFILES-shell.
6604 * po/Makevars: New file.
6605 * po/POTFILES-shell: Rename to ...
6606 * po/POTFILES-shell.in: ... this. Update.
6607 * po/POTFILES: Rename to ...
6608 * po/POTFILES.in: ... this. Update.
6609 * po/Rules-quot: New file, from gettext.
6610 * po/boldquot.sed: Likewise.
6611 * po/en@boldquot.header: Likewise.
6612 * po/en@quot.header: Likewise.
6613 * po/insert-header.sin: Likewise.
6614 * po/quot.sed: Likewise.
6615 * po/remove-potcdate.sin: Likewise.
6616
3e0fa5d0
VS
66172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6620
ade9bd66
VS
66212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * util/grub.d/20_linux_xen.in: Use submenus.
6624
fc55cc4c
VS
66252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 Support submenus.
6628
6629 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6630 parameter submenu. All users updated.
6631 * grub-core/normal/main.c (free_menu): Rename to ...
6632 (grub_normal_free_menu): ... this. Made global.
6633 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6634 if requested.
6635 * grub-core/normal/menu_entry.c (screen): New field submenu.
6636 (make_screen): Set submenu.
6637 (run): Open new context if requested.
6638 * include/grub/menu.h (grub_menu_entry): New field submenu.
6639 * include/grub/normal.h (grub_normal_free_menu): New proto.
6640
600cedf7
VS
66412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 Menu entries extractor.
6644
6645 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6646 variants.
6647 (GRUB_MOD_INIT): Register new variants.
6648 (GRUB_MOD_FINI): Unregister new variants.
6649 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6650 into grub_cmd_legacy_source.
6651 (grub_cmd_legacy_source): Implement extractor variants.
6652 (GRUB_MOD_INIT): Register new variants.
6653 (GRUB_MOD_FINI): Unregister new variants.
6654 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6655 as an extractor.
6656 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6657 search as an extractor.
6658 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6659 test as an extractor.
6660 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6661 as an extractor.
6662 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6663 (grub_env_new_context): New function.
6664 (grub_env_context_open): Likewise.
6665 (grub_env_extractor_open): Likewise.
6666 (grub_env_extractor_close): Likewise.
6667 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6668 grub_extractor_level.
6669 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6670 * include/grub/env.h (grub_env_extractor_open): New proto.
6671 (grub_env_extractor_close): Likewise.
6672 * include/grub/normal.h (grub_extractor_level): New external variable.
6673
7bda3a87
VS
66742010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 Make cutmem accept a region specification.
6677 Suggested by: Samuel Thibault
6678
6679 * grub-core/mmap/mmap.c (parsemem): New function.
6680 (grub_cmd_cutmem): Handle new arguments.
6681
2ea57f88
VS
66822010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 New command cutmem.
6685
6686 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6687 (GRUB_MOD_INIT): Register new command.
6688 (GRUB_MOD_FINI): Unregister new command.
6689
74342e31
VS
66902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 Support some annoying BSD and Minix subpartitions.
6693
6694 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6695 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6696 Properly handle concatenation.
6697 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6698 * grub-core/normal/completion.c (iterate_partition): Likewise.
6699 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6700 contain partition. All users updated.
6701 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6702 struct.
6703 (grub_openbsdlabel_partition_map): Likewise.
6704 (bsdlabel_partition_map_iterate): Rename to ..
6705 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6706 (bsdlabel_partition_map_iterate): New function.
6707 (netopenbsdlabel_partition_map_iterate): Likewise.
6708 (netbsdlabel_partition_map_iterate): Likewise.
6709 (openbsdlabel_partition_map_iterate): Likewise.
6710 (GRUB_MOD_INIT): Register new partmaps.
6711 (GRUB_MOD_FINI): Unregister new partmaps.
6712 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6713 (grub_partition_msdos_iterate): ... this. All users updated.
6714 Don't support embedding other than in a minix partition.
6715 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6716 proto.
6717 * include/grub/partition.h (grub_partition): New field msdostype.
6718 * util/grub-install.in: Handle openbsd and netbsd types being in
6719 part_bsd module.
6720
1e8d555b
VS
67212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6724
6725 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6726 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6727 (mdraid09): ... this.
6728 (mdraid1x): New module.
6729 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6730 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6731
899d8af4
VS
67322010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6733
6734 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6735 vsprintf.
6736
40901acd
CW
67372010-09-20 Colin Watson <cjwatson@ubuntu.com>
6738
6739 * grub-core/commands/efi/lsefimmap.c: Correct header.
6740 * NEWS: Update.
6741
dfe3b247
CW
67422010-09-20 Colin Watson <cjwatson@ubuntu.com>
6743
6744 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6745 as printf format strings; the translations might contain '%' which
6746 could cause a crash.
6747 (main): Likewise.
6748 * util/grub-fstest.c (argp_parser): Likewise.
6749 * util/grub-setup.c (argp_parser): Likewise.
6750 (main): Likewise.
6751
3286a4b4
VS
67522010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Use argp in grub-fstest.
6755
6756 * util/grub-fstest.c: Don't include getopt.h.
6757 Include argp.h.
6758 (root): New variable.
6759 (args_count): Likewise.
6760 (nparm): Likewise.
6761 (num_disks): Likewise.
6762 (images): Likewise.
6763 (cmd): Likewise.
6764 (debug_str): Likewise.
6765 (args): Likewise.
6766 (options): Transformed to argp.
6767 (usage): Removed.
6768 (main): Split argument parsing into ...
6769 (argp_parser): ... this. Changed to argp format.
6770 (argp): New variable.
6771 (main): Use argp_parse.
6772
3dccbe4b
TG
67732010-09-20 Tristan Gingold <gingold@free.fr>
67742010-09-20 Robert Millan <rmh.grub@aybabtu.com>
67752010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/commands/efi/lsefimmap.c: New file.
6778 * grub-core/Makefile.core.def (lsefimmap): New module.
6779 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6780
38c259a7
VS
67812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 Pause the execution (10s max) if any errors are displayed so the user
6784 has a chance to see them.
6785
6786 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6787 (grub_print_error): Increment grub_err_printed_errors.
6788 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6789 execution if any errors were displayed.
6790 (show_menu): Remove old code for pause.
6791 * grub-core/normal/menu_entry.c (run): Likewise.
6792 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6793 users updated.
6794 (grub_normal_get_char_counter): Likewise.
6795 * include/grub/err.h (grub_err_printed_errors): New external variable.
6796 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6797
f218b09c
VS
67982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Support multiboot VBE info.
6801
6802 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6803 Take VBE info into account.
6804 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6805 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6806 Call fill_vbe_info when appropriate.
6807 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6808 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6809 as supported.
6810 (grub_multiboot_get_mbi_size): Take new tags into account.
6811 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6812 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6813 Call fill_vbe_tag when appropriate.
6814 (grub_multiboot_make_mbi): Properly align tags.
6815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6816 function.
6817 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6818 proto.
6819 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6820
a9cc5438
VS
68212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 Suport manual terminal geometry specification.
6824
6825 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6826 Save state in grub_ofconsole_terminfo_output.
6827 (grub_ofconsole_term): Use grub_terminfo_getwh.
6828 (grub_ofconsole_getwh): Removed.
6829 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6830 (grub_serial_term): Use grub_terminfo_getwh.
6831 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6832 (options): New struct.
6833 (OPTION_*): New enum.
6834 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6835 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6836 width and height.
6837 (grub_terminfo_getwh): New proto.
6838 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6839
1a8fed20
VS
68402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 Handle legacy "terminal" command.
6843
6844 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6845 and FLAG_TERMINAL.
6846 (legacy_commands): Add terminal and title.
6847 (grub_legacy_parse): Handle terminal. Simplify title handling.
6848
41e9c57d
VS
68492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
6852 parameters overflow.
6853
61c874c5
CW
68542010-09-20 Colin Watson <cjwatson@ubuntu.com>
6855
6856 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
6857 widthspec.h.
6858
6859 * docs/grub.texi (Shell-like scripting): Document `!'.
6860 (Network): Simplify using new i386-pc-pxe format. Mention
6861 grub-mknetdir.
6862
6863 * NEWS: Update.
6864
943682b4
CW
68652010-09-20 Colin Watson <cjwatson@ubuntu.com>
6866
6867 * Makefile.am (SUBDIRS): Restore "."; it's important to force
6868 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
6869 when needed.
6870
6d3d698d
CW
68712010-09-20 Colin Watson <cjwatson@ubuntu.com>
6872
6873 * grub-core/commands/efi/lsefisystab.c: Correct header.
6874 * grub-core/commands/efi/lssal.c: Likewise.
6875 * grub-core/commands/testload.c: Likewise.
6876
c982589f
CW
68772010-09-20 Colin Watson <cjwatson@ubuntu.com>
6878
6879 * util/grub-mkrescue.in: Add explicit root argument to --set to
6880 prevent the UUID being interpreted as an argument to --set (matches
6881 previous change to prepare_grub_to_access_device).
6882
a63c31b6
CW
68832010-09-20 Colin Watson <cjwatson@ubuntu.com>
6884
6885 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
6886 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
6887 the verbosity of later #ifs.
6888 (find_partition_start): Define this function on FreeBSD too.
6889 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
6890 function.
6891 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
6892 on FreeBSD.
6893
6439b8ee
YB
68942010-09-20 Yves Blusseau <blusseau@zetam.org>
6895
6896 * util/grub-editenv.c: Use argp instead of getopt.
6897
c5930ec8
YB
68982010-09-20 Yves Blusseau <blusseau@zetam.org>
6899
6900 * util/grub-setup.c: Use argp instead of getopt.
6901
15c69261
YB
69022010-09-20 Yves Blusseau <blusseau@zetam.org>
6903
6904 Use gnulib-tool to create gnulib source files.
6905
6906 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
6907 grub-core/gnulib directories
6908 * .bzignore: Add **/.deps and autogenerated gnulib files
6909 * configure.ac: Assign auxiliary directory to build-aux, add invocation
6910 of gnulib macros, add grub-core/gnulib/Makefile
6911 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
6912 include m4 directory to aclocal.
6913 * Makefile.util.def: Remove direct compilation of gnulib source files
6914 and use the new grub-core/gnulib/libgnu.a.
6915 * build-aux/config.rpath: move config.rpath from top directory to
6916 build-aux
6917 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
6918 in gnulib headers
6919 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
6920 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
6921 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
6922 header.
6923 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
6924 string.
6925
e511c9f5
YB
69262010-09-20 Yves Blusseau <blusseau@zetam.org>
6927
6928 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
6929 grub-core/genmod.sh and grub-core/gensyminfo.sh
6930
c2dede05
BC
69312010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
6932
6933 Add a test for echo command options.
6934
6935 * tests/grub_cmd_echo.in: New test.
6936 * Makefile.util.def: Rules for new test.
6937
c55f5018
SJ
69382010-09-20 Szymon Janc <szymon@janc.net.pl>
6939
6940 Remove crc.mod and move crc command to hashsum.mod.
6941 Remove lib/crc.c - users updated to use gcrypt implementation.
6942
6943 * grub-core/commands/crc.c: Removed.
6944 * grub-core/Makefile.core.def (crc): Module removed.
6945 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
6946 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
6947 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
6948 * grub-core/lib/crc.c: Removed.
6949 * include/grub/lib/crc.h: Removed.
6950 * Makefile.util.def (crc): Remove lib/crc.c
6951 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
6952 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
6953 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
6954 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
6955 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
6956 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
6957
e0337366
VS
69582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
6961
742f9232
VS
69622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 Split config.h for util and core.
6965
6966 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
6967 (ADDR32): Likewise.
6968 (DATA32): Likewise.
6969 (BSS_START_SYMBOL): Likewise.
6970 (END_SYMBOL): Likewise.
6971 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
6972 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
6973 * config.h.in: New file.
6974 * configure.ac: Use config-util.h as config define file.
6975 Rename MACHINE into GRUB_MACHINE. All users updated.
6976 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
6977 updated.
6978 (NESTED_FUNC_ATTR): Likewise.
6979 Substitue new variables.
6980 (COND_HAVE_ASM_USCORE): New conditional.
6981 * grub-core/Makefile.am (ASM_PREFIX): New variable.
6982 (kernel_syms.lst): Use ASM_PREFIX.
6983 * grub-core/kern/emu/console.c: Include config-util.h.
6984 * grub-core/kern/emu/misc.c: Likewise.
6985 * grub-core/kern/emu/mm.c: Likewise.
6986 * include/grub/emu/misc.h: Likewise.
6987 * include/grub/libgcc.h: Likewise.
6988
39feb0e8
VS
69892010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
6992 constants usage.
6993 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
6994 Fix GRUB_TERM_KEY_* constants usage.
6995 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
6996
9af6dac3
VS
69972010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
7000 print pointer.
7001 * grub-core/bus/usb/uhci.c: Remove empty define.
7002 (grub_uhci_check_transfer): Add missing cast.
7003 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
7004 print pointer.
7005 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
7006 PRIuGRUB_SIZE.
7007 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
7008
d6d94820
VS
70092010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * grub-core/Makefile.core.def (legacycfg): Add
7012 lib/i386/pc/vesa_modes_table.c on emu.
7013
3572f2b6
BC
70142010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7015
7016 Reduce number of temporary files generated by build system.
7017
7018 * grub-core/gencmdlist.sh: Removed.
7019 * grub-core/genfslist.sh: Removed.
7020 * grub-core/genhandlerlist.sh: Removed.
7021 * grub-core/genmodsrc.sh: Removed.
7022 * grub-core/genpartmaplist.sh: Removed.
7023 * grub-core/genparttoollist.sh: Removed.
7024 * grub-core/gentermiinallist.sh: Removed.
7025 * grub-core/genvideolist.sh: Removed.
7026
7027 * grub-core/genmod.sh.in: New file.
7028 * grub-core/gensyminfo.sh.in: New file.
7029
7030 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
7031 * conf/Makefile.extra-dist: Update with new files.
7032 * gentpl.py: Remove rules related to unnecessary temporary files.
7033 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
7034 and und-* files.
7035 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
7036 genmod.sh scripts.
7037 * grub-core/bus/usb/uhci.c: Remove empty #define.
7038 * grub-core/genmoddep.awk: Updated with new syminfo format.
7039 * util/bash-completion.d/Makefile.am: Add config.log to
7040 CLEANFILES.
7041
c836b030
YB
70422010-09-19 Yves Blusseau <blusseau@zetam.org>
7043
7044 * Makefile.util.def: Add forgotten $(LIBINTL) library.
7045
2f4e8053
BC
70462010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7047
7048 * util/grub-mkconfig.in: Check the config script for syntax errors
7049 before saving.
7050
75831c34
CW
70512010-09-19 Colin Watson <cjwatson@ubuntu.com>
70522010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * Makefile.util.def (grub-install): Use util/grub-install.in on all
7055 platforms.
7056 * util/grub-install.in: Add EFI and IEEE1275 support.
7057 * util/i386/efi/grub-install.in: Removed.
7058 * util/ieee1275/grub-install.in: Likewise.
7059
eaf41b25
VS
70602010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
7063 (grub_cmd_cmosclean): Likewise.
7064 (GRUB_MOD_INIT): Register command cmosclean.
7065 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
7066 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
7067
1a9130dd
CPE
70682010-09-18 Carles Pina i Estany <carles@pina.cat>
70692010-09-18 Aleš Nesrsta <starous@volny.cz>
70702010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7071
7072 Add keyboard layouts support.
7073
7074 * Makefile.util.def (grub-mklayout): New file.
7075 (grub-kbdcomp): New script.
7076 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
7077 Add keyboard_layouts.h.
7078 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
7079 commands/boot.c on yeeloong.
7080 (keylayouts): New module.
7081 * grub-core/bus/usb/ohci.c
7082 * grub-core/bus/usb/uhci.c
7083 * grub-core/bus/usb/usbhub.c (rescan): New variable.
7084 (grub_usb_add_hub): Poll interrupt pipe for device handling.
7085 (attach_root_port): Likewise.
7086 (poll_nonroot_hub): Likewise.
7087 (grub_usb_poll_devices): Likewise.
7088 (detach_device): Close transfer.
7089 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
7090 function.
7091 (grub_usb_bulk_setup_readwrite): Likewise.
7092 (grub_usb_bulk_finish_readwrite): Likewise.
7093 * grub-core/commands/keylayouts.c: New file.
7094 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
7095 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
7096 aliases.
7097 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
7098 support scancode 2.
7099 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
7100 * include/grub/keyboard_layouts.h: New file.
7101 * util/grub-mklayout.c: New file.
7102 * util/grub-kbdcomp.in: Likewise.
7103
a1d84a5e
VS
71042010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 Unify memory types.
7107
7108 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
7109 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
7110 types.
7111 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
7112 (grub_upper_mem): Likewise.
7113 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
7114 * include/grub/memory.h (grub_memory_type_t): New enum.
7115 All users updated.
7116
9696382e
VS
71172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/Makefile.core.def (lsapm): New module.
7120 * grub-core/commands/i386/pc/lsapm.c: New file.
7121 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
7122 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
7123 Likewise.
7124 * include/grub/i386/pc/apm.h: New file.
7125 * include/multiboot.h (multiboot_apm_info): New struct.
7126
71272010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 GRUB-legacy configuration file support.
7130
7131 * Makefile.util.def (grub-menulst2cfg): New util.
7132 * docs/man/grub-menulst2cfg.h2m: New file.
7133 * grub-core/Makefile.core.def (legacycfg): New module.
7134 * grub-core/commands/legacycfg.c: New file.
7135 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
7136 (grub_normal_add_menu_entry): ... this.
7137 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
7138 (grub_normal_set_password): ...this.
7139 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
7140 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7141 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7142 * grub-core/lib/legacy_parse.c: New file.
7143 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7144 * include/grub/i386/pc/vesa_modes_table.h: New file.
7145 * include/grub/legacy_parse.h: Likewise.
7146 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7147 * util/grub-menulst2cfg.c: New file.
7148
bf8d1338
CW
71492010-09-17 Colin Watson <cjwatson@ubuntu.com>
7150
7151 * grub-core/kern/emu/hostdisk.c
7152 (convert_system_partition_to_system_disk): Initialise node.
7153
9c0bad2e
CW
71542010-09-17 Colin Watson <cjwatson@ubuntu.com>
7155
7156 * grub-core/kern/emu/hostdisk.c
7157 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7158 leak.
7159 Reported and based on patch by: Modestas Vainius.
7160
a939d135
CW
71612010-09-17 Colin Watson <cjwatson@ubuntu.com>
7162
7163 Fix DM-RAID probing with recent versions of device-mapper udev
7164 rules.
7165
7166 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7167 canonicalise device paths under /dev/mapper/.
7168 (convert_system_partition_to_system_disk): Compare the
7169 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7170 path, since device nodes under /dev/mapper/ are often symlinks.
7171
0f7ee3c9
YB
71722010-09-17 Yves Blusseau <blusseau@zetam.org>
7173
7174 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7175
10854d0d
YB
71762010-09-16 Yves Blusseau <blusseau@zetam.org>
7177
7178 * configure.ac: Avoid some annoying error messages if freetype-config
7179 program is not found.
7180
108538d8
CW
71812010-09-16 Colin Watson <cjwatson@ubuntu.com>
7182
7183 Support RAID on virtio devices, and others.
7184
7185 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7186 Rename to ...
7187 [__MINGW32__] (grub_find_device): ... this.
7188 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7189 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7190 reasonable default if dir is NULL.
7191 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7192 ...
7193 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7194 (grub_guess_root_device): Update callers.
7195 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7196
7197 * util/raid.c (grub_util_getdiskname): Remove.
7198 (grub_util_raid_getmembers): Use grub_find_device rather than
7199 grub_util_getdiskname.
7200
e5bfc130
CW
72012010-09-16 Colin Watson <cjwatson@ubuntu.com>
7202
7203 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7204 needing to be compiled with serial support.
7205 (ls): Indicate that multiple files are accepted.
7206 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7207 indicate that multiple files are accepted.
7208
be458ae2
CW
72092010-09-16 Colin Watson <cjwatson@ubuntu.com>
7210
7211 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7212 libgrub_a_init.c, and util/bash-completion.d/grub.
7213
cb731b5e
VS
72142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * util/grub-setup.c (setup): Fix incorrect container semantics.
7217
35139e8a
VS
72182010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7221 misusage.
7222 Reported by: J. Nick Terry
7223
e50fca4a
VS
72242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Move embedding routines to partmap sources files.
7227
7228 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7229 [GRUB_UTIL]: New variable.
7230 (gpt_partition_map_iterate): Set part.parent.
7231 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7232 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7233 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7234 New function.
7235 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7236 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7237 (grub_partition_map) [GRUB_UTIL]: New field embed.
7238 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7239 (setup): Use ->embed.
7240
f00478b7
VS
72412010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7244 function.
7245 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7246 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7247
2b94e3ff
YB
72482010-09-15 Yves Blusseau <blusseau@zetam.org>
7249
7250 Add function to get completions from usage.
7251
7252 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7253 completions from usage. Use LC_ALL=C to get options properly.
7254
2e04a006
VS
72552010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * grub-core/gnulib/basename-lgpl.c: Imported.
7258 * grub-core/gnulib/basename.c: Likewise.
7259 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7260 * grub-core/gnulib/dirname.c: Likewise.
7261 * grub-core/gnulib/dirname.h: Likewise.
7262 * grub-core/gnulib/stripslash.c: Likewise.
7263
5dcdf93a
VS
72642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 * grub-core/gnulib/error.c: Resynced.
7267 * grub-core/gnulib/getopt.c: Likewise.
7268 * grub-core/gnulib/getopt_int.h: Likewise.
7269 * grub-core/gnulib/regex.h: Likewise.
7270 * grub-core/gnulib/regex_internal.c: Likewise.
7271 * grub-core/gnulib/regex_internal.h: Likewise.
7272
014f47b7
SJ
72732010-09-15 Szymon Janc <szymon@janc.net.pl>
7274
7275 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7276 CRC calculations and validity checks.
7277 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7278 calculations.
7279
dd521a4a
SJ
72802010-09-15 Szymon Janc <szymon@janc.net.pl>
7281
7282 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7283
79c4eeb9
VS
72842010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 Fix incorrect echo options handling.
7287 Reported by: Yves Blusseau.
7288
7289 * include/grub/command.h (grub_command_flags_t): New flags
7290 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7291 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7292 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7293
ed80f7d5
VS
72942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7297 users updated.
7298 (GRUB_COMMAND_FLAG_MENU): Likewise.
7299 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7300 (GRUB_COMMAND_FLAG_TITLE): Removed.
7301 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7302 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7303 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7304 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7305 (grub_command_flags_t): New enum. All users updated.
7306
5fe7620a
SG
73072010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7308
7309 Fix solaris compilation.
7310
7311 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7312 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7313 (grub-emu-list): Likewise.
7314
545b752f
VS
73152010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7316
7317 Remove deprecated root command.
7318
7319 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7320 updated.
7321
6c1a338c
VS
73222010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * util/i386/pc/grub-setup.c: Merge this ...
7325 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7326 * util/grub-setup.c: ... into this.
7327 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7328 New struct.
7329
73302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7331
7332 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7333 possible.
7334
d2ea4551
VS
73352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7338 allocate p.
7339
3c3b5040
VS
73402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7343 explicit root argument to set to prevent UUID to be interpreted as
7344 argument to set.
7345
b71c3fae
VS
73462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7349
275433e6
VS
73502010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 Don't export grub_gate_a20.
7353
7354 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7355 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7356 to ...
7357 (grub_gate_a20): ... this. All users updated.
7358 * include/grub/i386/pc/init.h: Removed. All users updated.
7359
a5dbb1f1
VS
73602010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 Create euro.pf2 which supports most European languages.
7363
7364 * Makefile.am (grubdata_DATA): Add euro.pf2.
7365 (euro.pf2): New target.
7366 (CLEANFILES): Add euro.pf2.
7367
62a747cb
VS
73682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * configure.ac: Disable emu-usb by default to prevent inadvertent
7371 device takeover.
7372
608e43b1
VS
73732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 Disable usbserial on grub-emu since our libusb code isn't good enough
7376 yet.
7377
7378 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7379 (usbserial_pl2303): Likewise.
7380 (usbserial_ftdi): Likewise.
7381
94564f81
VS
73822010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * include/grub/disk.h (grub_disk): Remove has_partitions.
7385 All users updated.
7386 * disk/loopback.c (grub_loopback): Remove has_partitions.
7387 All users updated.
7388 (options): Remove partitions. All users updated.
7389 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7390 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7391 actual partition table is found.
7392
3352800b
VS
73932010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 Remove readability checks (too many false negatives).
7396
7397 * util/grub-install.in: Remove readability checks.
7398 * util/grub-mkconfig.in: Likewise.
7399 * util/grub.d/10_hurd.in: Likewise.
7400 * util/grub.d/10_kfreebsd.in: Likewise.
7401 * util/grub.d/10_linux.in: Likewise.
7402 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7403 way.
7404
2419f17a
VS
74052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Enable acpi shutdown on all ACPI platforms.
7408
7409 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7410 on coreboo, multiboot and EFI.
7411 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7412 (grub_acpi_halt): Likewise.
7413 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7414 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7415 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7416 * grub-core/lib/i386/halt.c (grub_halt)
7417 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7418
0575c7c3
VS
74192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7420
7421 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7422 context.
7423
54ac3cd1
VS
74242010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7425
7426 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7427 * grub-core/video/efi_uga.c: Likewise.
7428
b2a30ac5
VS
74292010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7430
7431 Filter devaliases and never open same device twice.
7432
7433 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7434 (last_ihandle): Likewise.
7435 (ofdisk_hash_ent): New member shortest.
7436 (ofdisk_hash_add): Add canonical path too.
7437 (scan): New function.
7438 (grub_ofdisk_iterate): Iterate over hashed entries.
7439 (compute_dev_path): Don't add :0.
7440 (grub_ofdisk_open): Don't really open the disk.
7441 (grub_ofdisk_close): Avoid closing unrelated disk.
7442 (grub_ofdisk_read): Implement reopen logic.
7443 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7444 New function.
7445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7446 New proto.
7447
fb53b340
VS
74482010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 Fix sparc64.
7451
7452 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7453 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7454 right address. Add sparc64_ieee1275_ldflags.
7455 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7456 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7457 to grub_host_to_target_addr
7458 (load_image): Likewise.
7459
f452b040
VS
74602010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7461
7462 * grub-core/normal/completion.c (complete_file): Handle device
7463 containing slash.
7464 Fix based on patch by Doug Nazar.
7465
9b5b2541
VS
74662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 grub-mknetdir script.
7469
7470 * Makefile.util.def (grub-mknetdir): New module.
7471 * tests/util/grub-shell.in: Support boot=net
7472 * util/grub-mknetdir.in: New file.
7473
9d2be652
VS
74742010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 videoinfo on non-vbe.
7477
7478 * grub-core/Makefile.core.def (vbeinfo): Removed.
7479 (vbetest): Removed.
7480 (videoinfo): New module.
7481 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7482 * grub-core/commands/i386/pc/vbetest.c: Removed.
7483 * grub-core/commands/videoinfo.c: New file.
7484 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7485 specification.
7486 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7487 as vbetest.
7488 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7489 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7490 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7491 mode_number. New parameter mode. All users updated.
7492 (grub_video_gop_iterate): New function.
7493 (grub_video_efi_gop): New member iterate.
7494 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7495 (grub_vbe_set_video_mode): Remove setting useless fields.
7496 (vbe2videoinfo): New function.
7497 (grub_video_vbe_iterate): Likewise.
7498 (grub_video_vbe_setup): Use vbe2videoinfo.
7499 (grub_video_vbe_print_adapter_specific_info): New function.
7500 (grub_video_vbe_adapter): New fields iterate and
7501 print_adapter_specific_info.
7502 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7503 All users updated.
7504 (grub_video_mode_info): New field mode_number.
7505 (grub_video_adapter): New fields iterate and
7506 print_adapter_specific_info.
7507
179503f5
TG
75082010-09-13 Tristan Gingold <gingold@free.fr>
75092010-09-13 Robert Millan <rmh.grub@aybabtu.com>
75102010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * grub-core/commands/efi/lsefisystab.c: New file.
7513 * grub-core/commands/efi/lssal.c: Likewise.
7514 * grub-core/Makefile.core.def (lsacpi): New module.
7515 (lsefisystab): Likewise.
7516 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7517 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7518 (grub_efi_sal_system_table): New struct.
7519 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7520 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7521 (grub_efi_sal_system_table_platform_features): Likewise.
7522 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7523 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7524 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7525 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7526
cf9827de
VS
75272010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Support explicit user claim that a device is BIOS-visible.
7530
7531 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7532 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7533 * grub-core/kern/emu/hostdisk.c
7534 (convert_system_partition_to_system_disk): Support mdX.
7535 (find_system_device): New parameter add. All users updated.
7536 (grub_util_biosdisk_is_present): New function.
7537 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7538 proto.
7539
53f0eb1f
VS
75402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 Search hints support.
7543
7544 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7545 All users updated.
7546
b23ffd70
YB
75472010-09-13 Yves Blusseau <blusseau@zetam.org>
7548
7549 Bash completion script for util commands
7550
7551 * Makefile.am: Add util/bash-completion.d directory
7552 * configure.ac: Likewise.
7553 * util/bash-completion.d/Makefile.am: New file.
7554 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7555
d547dc28
VS
75562010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7559 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7560 Reported by: Yves Blusseau.
7561
2fc8ccb9
VS
75622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7563
7564 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7565 partition size and offset.
7566
d8a84076
VS
75672010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7570
84fb3b3d
VS
75712010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7574
768ec2e2
VS
75752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7578 (grub_xvasprintf): Likewise.
7579
4870900f
VS
75802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7583
faca6bec
VS
75842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7587 args ending with NULL.
7588
75892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7590
7591 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7592 pointer.
7593
3c70f225
SJ
75942010-09-11 Szymon Janc <szymon@janc.net.pl>
7595
7596 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7597
4df7996d
VS
75982010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 Shutdown using ACPI.
7601
7602 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7603 * grub-core/commands/acpihalt.c: New file.
7604 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7605 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7606 (grub_acpi_halt): New proto.
7607 (GRUB_ACPI_SLP_EN): New const.
7608 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7609 (GRUB_ACPI_OPCODE_*): New enum.
7610 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7611
126b4c32
TG
76122010-09-11 Tristan Gingold <gingold@free.fr>
76132010-09-11 Robert Millan <rmh.grub@aybabtu.com>
76142010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * commands/lsacpi.c: New file.
7617 * grub-core/Makefile.core.def (lsacpi): New module.
7618 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7619 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7620 (grub_acpi_madt_entry_header): New struct.
7621 (grub_acpi_madt): Likewise.
7622 (grub_acpi_madt_entry_interrupt_override): Likewise.
7623 (grub_acpi_madt_entry_sapic): Likewise.
7624 (grub_acpi_madt_entry_lsapic): Likewise.
7625 (grub_acpi_madt_entry_platform_int_source): Likewise.
7626 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7627 (PRIuGRUB_UINT32_T): Likewise.
7628 (PRIxGRUB_UINT64_T): Likewise.
7629
1aa4fe88
VS
76302010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 Implement loading palette on ieee1275_fb.
7633
7634 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7635 (have_setcolors): Likewise.
7636 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7637 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7638 (grub_video_ieee1275_set_palette): Implement.
7639
25761e13
VS
76402010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
76412010-09-11 Colin Watson <cjwatson@ubuntu.com>
7642
7643 * util/grub-install.in (grub_partition): New variable.
7644 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7645 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7646 Fixes a bug reported by Yves Blusseau.
7647
050abaea
VS
76482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 Fix emu on mipsel.
7651
7652 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7653 =grub_cpu_flush_cache on all mips and not only yeeloong.
7654 * configure.ac (COND_mips): New conditional.
7655 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7656 platforms.
7657 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7658 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7659 [GRUB_LINKER_HAVE_INIT]: New function.
7660 (grub_emu_post_init): Likewise.
7661 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7662 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7663 * include/grub/cache.h (_mips): Include mips/cache.h.
7664 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7665 LVM and RAID prototypes.
7666 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7667 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7668 function.
7669
5ed7d816
CW
76702010-09-10 Colin Watson <cjwatson@ubuntu.com>
7671
7672 * util/grub-install.in: Don't try to verify core.img until after
7673 running grub-mkimage to create it.
7674
90367e04
RM
76752010-09-10 Robert Millan <rmh@gnu.org>
7676
7677 * util/grub.d/10_hurd.in: Add misc readability checks.
7678 * util/grub.d/10_kfreebsd.in: Likewise.
7679 * util/grub.d/10_linux.in: Likewise.
7680
c452fa66
CW
76812010-09-10 Colin Watson <cjwatson@ubuntu.com>
7682
7683 * util/grub-install.in: ${imgext} won't be defined here until the
7684 install branch is merged. For the meantime, only verify core.img on
7685 i386-pc and sparc64-ieee1275 platforms.
7686
c38fe9f4
RM
76872010-09-10 Robert Millan <rmh@gnu.org>
7688
7689 Solaris support in grub_find_zpool_from_dir(). Thanks
7690 Seth Goldberg for referring to getextmntent() facility.
7691
7692 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7693 `sys/mkdev.h'.
7694 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7695 `<sys/mnttab.h>'.
7696 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7697 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7698 method for finding zpool name.
7699
905f7773
CW
77002010-09-10 Colin Watson <cjwatson@ubuntu.com>
7701
7702 grub-fstest needs the host and hostfs modules while other utilities
7703 actively require those modules to be absent, so grub-fstest needs
7704 its own initialisation and finalisation code.
7705
7706 * Makefile.am (grub_fstest.pp): New target.
7707 (grub_fstest_init.lst): Likewise.
7708 (grub_fstest_init.c): Likewise.
7709 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7710
fb90b546
RM
77112010-09-10 Robert Millan <rmh@gnu.org>
7712
7713 * configure.ac: Check for `struct statfs.f_fstypename' and
7714 `struct statfs.f_mntfromname'.
7715
7716 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7717 kFreeBSD-specific code.
7718
66d4bea5
RM
77192010-09-10 Robert Millan <rmh@gnu.org>
7720
7721 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7722 on ZFS. Now non-main filesystems are supported as / too.
7723
b6a690ee
CW
77242010-09-09 Colin Watson <cjwatson@ubuntu.com>
7725
7726 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7727 and grub-core/disk/host.c to ...
7728 (grub-fstest): ... here. Having the host disk implementation
7729 present confuses grub-probe and other utility programs.
7730
7731 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7732 when writing to a file, not when writing to stdout.
7733
8901b00c 77342010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7735
7736 * tests/partmap_test.in: New test for partitions.
7737 * Makefile.util.def: Rules for new test.
7738
7bf45fdd
RM
77392010-09-09 Robert Millan <rmh@gnu.org>
7740
7741 * util/grub-probe.c (probe): Fix a pair of unhandled error
7742 conditions.
7743
4dfbc574
RM
77442010-09-09 Robert Millan <rmh@gnu.org>
7745
7746 Basic Btrfs support (detection and UUID).
7747
7748 * grub-core/fs/btrfs.c: New file.
7749 * Makefile.util.def (library): Register btrfs.c.
7750 * grub-core/Makefile.core.def: Likewise.
7751
6b8e78ae
RM
77522010-09-08 Robert Millan <rmh@gnu.org>
7753
7754 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7755 with (optional) parameters to specify device and relative path.
7756 * util/grub-install.in: Use is_path_readable_by_grub() to
7757 verify readability of a few critical files.
7758 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7759 verify readability of grub.cfg.new.
7760
27f21a8b
VS
77612010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7762
7763 Split minix.mod into minix.mod and minix2.mod.
7764
7765 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7766 * grub-core/Makefile.core.def (minix2): New module.
7767 * grub-core/fs/minix.c: Use definitions instead of runtime version
7768 checking.
7769 * grub-core/fs/minix2.c: New file.
7770
c0e53ea5
YB
77712010-09-08 Yves Blusseau <blusseau@zetam.org>
7772
7773 Add new --boot-directory option to replace --root-directory
7774
7775 * util/grub-install.in: Add new --boot-directory option
7776 * util/grub-reboot.in: Likewise.
7777 * util/grub-set-default.in: Likewise.
7778
b9fe6ea2
YB
77792010-09-08 Yves Blusseau <blusseau@zetam.org>
7780
7781 * util/grub-mkconfig.in: Use new variable.
7782
d87aedff
YB
77832010-09-08 Yves Blusseau <blusseau@zetam.org>
7784
7785 * configure.ac: Define some useful variables.
7786
e55e8495
VS
77872010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7790 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7791 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7792 Use terminfo and don't use cursor-on/cursor-off unless it's known
7793 to work.
7794 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7795 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7796
6fa6d675
CW
77972010-09-08 Colin Watson <cjwatson@ubuntu.com>
7798
7799 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7800 starts with "(,", fill the drive containing the loaded image in
7801 between those two characters, but expect that a full partition
7802 specification including partition map names will follow.
7803
92f2aef0
RM
78042010-09-08 Robert Millan <rmh@gnu.org>
7805
7806 * configure.ac: Remove `--enable-grub-fstest' option.
7807 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7808
7809 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7810 `grub-fstest' instead of `grub-probe' for readability verification.
7811 * util/grub-probe.c (probe): Remove readability verification kludge.
7812
99fd620d
RM
78132010-09-08 Robert Millan <rmh@gnu.org>
7814
7815 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7816 initializing `GRUB_FS'.
7817
058e30ac 78182010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7819
7820 Not command (!) support to GRUB script.
7821
7822 * tests/grub_script_not.in: New test.
7823 * Makefile.util.def: Rules for new test.
7824
7825 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7826 ! command as a special case.
7827 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7828
b61d05ed 78292010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7830
058e30ac 7831 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7832 grub_free.
b61d05ed 7833
4d69c786 78342010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7835
7836 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7837
aa3119c4 78382010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7839
7840 * docs/grub.texi (Shell-like scripting): Documentation for break,
7841 continue, shift and return commands.
7842
db0f7e3d
VS
78432010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 Rename CD-ROM to cd on BIOS.
7846
7847 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
7848 "cd".
7849 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
7850
88b87c93
VS
78512010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7852
7853 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
7854 * util/grub-probe.c (main): Likewise.
7855 * util/i386/pc/grub-setup.c (main): Likewise.
7856 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
7857 Reported and debugged by: alexxy
7858
294f324d
VS
78592010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
7862 diagnostic info.
7863
d7ee3441
JS
78642010-09-05 Jo Shields <directhex@apebox.org>
7865
7866 * util/grub.d/30_os-prober.in: Add missing classes.
7867
d7e06c1f
VS
78682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * docs/grub.texi (Theme file format): Document new position format.
7871
fc157e53
VS
78722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
7875 a table. Use @code instead of @verbatim.
7876
506e9a1c
CB
78772010-09-05 Colin D Bennett <colin@gibibit.com>
7878
7879 Gfxmenu documentation.
7880
7881 * docs/grub.texi (Theme file format): New chapter.
7882
f0aff67c
SJ
78832010-09-05 Szymon Janc <szymon@janc.net.pl>
7884
7885 * grub-core/Makefile.core.def (xzio): New module.
7886 * grub-core/io/xzio.c: New file.
7887 * grub-core/lib/xzembed/xz.h: New file (from xembed).
7888 * grub-core/lib/xzembed/xz_config.h: Likewise.
7889 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
7890 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
7891 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
7892 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
7893 * grub-core/lib/xzembed/xz_private.h: Likewise.
7894 * grub-core/lib/xzembed/xz_stream.h: Likewise.
7895 * include/grub/file.h (grub_file_filter_id): New compression filter
7896 GRUB_FILE_FILTER_XZIO.
7897
82a85062
VS
78982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
7901 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
7902 size.
7903
3579415d
VS
79042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
7907 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
7908
5124ae6d
VS
79092010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 Uncompressed checksum support.
7912
7913 * grub-core/commands/hashsum.c (options): Add option --uncompress.
7914 (check_list): New parameter uncompress.
7915 (grub_cmd_hashsum): Handle --uncompress.
7916
9aadb3d1
VS
79172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7918
7919 Reintroduce testload.
7920
7921 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
7922 from here ...
7923 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
7924 (GRUB_MOD_INIT): New function.
7925 (GRUB_MOD_FINI): Likewise.
7926 * grub-core/Makefile.core.def (testload): New module.
7927
a17792c3
SJ
79282010-09-05 Szymon Janc <szymon@janc.net.pl>
7929
7930 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
7931 (uint8_t): New type.
7932 (uint16_t): Likewise.
7933 (uint32_t): Likewise.
7934 (uint64_t): Likewise.
7935
b81e40a3
SJ
79362010-09-05 Szymon Janc <szymon@janc.net.pl>
7937
7938 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
7939
fc2ef117
VS
79402010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
7943 Made static.
7944 (grub_gzfile_open): Removed. All users updated.
7945 (GRUB_MOD_INIT): New function.
7946 (GRUB_MOD_FINI): Likewise.
7947 * grub-core/kern/file.c (grub_file_filters_all): New variable.
7948 (grub_file_filters_enabled): Likewise.
7949 (grub_file_open): Handle filters.
7950 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
7951 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
7952 * include/grub/file.h (grub_file_filter_id_t): New type.
7953 (grub_file_filter_t): Likewise.
7954 (grub_file_filters_all): New extern variable.
7955 (grub_file_filters_enabled): Likewise.
7956 (grub_file_filter_register): New inline function.
7957 (grub_file_filter_unregister): Likewise.
7958 (grub_file_filter_disable): Likewise.
7959 (grub_file_filter_disable_compression): Likewise.
7960 * include/grub/gzio.h: Removed.
7961
35ee15e0
BC
79622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7963
7964 Filename expansion support for wildcards in GRUB script.
7965
7966 * tests/grub_script_expansion.in: New test.
7967 * Makefile.util.def: Rule for new test.
7968
7969 * grub-core/commands/wildcard.c: New file, implements filename
7970 expansion support for GRUB script.
7971 * grub-core/Makefile.core.def: Rule update for regexp.mod.
7972 * grub-core/script/argv.c: Cosmetic changes.
7973 * grub-core/script/execute.c (grub_script_arglist_to_argv):
7974 Refactored to perform wildcard expansion on arguments.
7975 * include/grub/script_sh.h (grub_script_wildcard_translator): New
7976 struct.
7977
7978 * tests/util/grub-shell.in: Fix quoting for read input.
7979
5f0c4aca
BC
79802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7981
7982 Support for updating environment variables with matched substrings
7983 of regexp.
7984
7985 * tests/grub_cmd_regexp.in: New test.
7986 * Makefile.util.def: Rule for new test.
7987
7988 * grub-core/commands/regexp.c: New option -s to update environment
7989 variables with regexp matches.
7990
3759a35f
SJ
79912010-09-04 Szymon Janc <szymon@janc.net.pl>
7992
7993 * include/grub/file.h (grub_file): New member not_easly_seekable.
7994 (grub_file_seekable): New inline function.
7995 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
7996 easily seekable.
7997 (grub_gzio_open): Set not_easly_seekable.
7998 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
7999 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
8000
ed8c6dec
BC
80012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8002
8003 Support for options to appear multiple times on cmdline.
8004
8005 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
8006 * grub-core/commands/extcmd.c: Support for repeatable option.
8007 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
8008 repeatable option support.
8009
8010 Refactor menuentry into a regular command.
8011
8012 * grub-core/commands/menuentry.c: New file, menuentry command
8013 implementation.
8014 * grub-core/Makefile.core.def: Rule update for normal.mod.
8015 * grub-core/normal/main.c: Moved menuentry creation to
8016 grub-core/commands/menuentry.c.
8017 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
8018 (grub_menu_execute_entry_real): Removed.
8019 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
8020 function.
8021 (grub_script_execute_menuentry): Removed.
8022 * grub-core/script/parser.y (menuentry): Removed.
8023 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
8024 * grub-core/script/yylex.l (menuentry): Removed.
8025 * include/grub/menu.h (grub_menu_init): New prototype.
8026 (grub_menu_fini): New prototype.
8027 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
8028 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
8029 (grub_script_execute_sourcecode): New prototype.
8030
dacd0cf0
BC
80312010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8032
8033 "return" command for GRUB script functions.
8034
8035 * tests/grub_script_return.in: New test.
8036 * Makefile.util.def: Rules for new test.
8037
8038 * grub-core/script/execute.c (grub_script_return): New function.
8039 * grub-core/script/main.c: Register/unregister return commaond.
8040 * include/grub/script_sh.h (grub_script_return): New prototype.
8041
52e72f9d
BC
80422010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8043
8044 "setparams" command to update positional parameters.
8045
8046 * tests/grub_script_setparams.in: New test.
8047 * Makefile.util.def: Rules for new test.
8048
8049 * grub-core/script/argv.c (grub_script_argv_make): New function.
8050 * grub-core/script/execute.c (replace_scope): New function.
8051 (grub_script_setparams): New function.
8052 * grub-core/script/lexer.c: Remove unused variables.
8053 * grub-core/script/main.c: Register/unregister setparams command.
8054 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
8055 (grub_script_setparams): New prototype.
8056
25b60c91
BC
80572010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8058
8059 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
8060 grub_free order.
8061
37e7bf68
BC
80622010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8063
8064 Support for passing block of commands as an argument to extcmds.
8065
8066 * Makefile.util.def: Rules for new test.
8067 * tests/grub_script_blockarg.in: New test.
8068 * grub-core/tests/test_blockarg.c: New file, block argument
8069 command used in the test.
8070
8071 * include/grub/extcmd.h (grub_extcmd_context): New struct.
8072 (grub_register_extcmd_prio): New function prototype.
8073 (grub_extcmd_dispatcher): New function prototype.
8074 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
8075 type.
8076 * include/grub/script_sh.h (struct grub_script): New members
8077 `children', `next_siblings' and `refcnt' for block arguments and
8078 reference counting.
8079 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
8080 (grub_script_arg): New member `script' for block argument.
8081 (grub_script_argv): New member `script' for block argument.
8082 (grub_parser_param): New member `scripts' for block argument.
8083 (grub_script_mem_free): New extern function prototype.
8084 (grub_script_ref): New function prototype.
8085 (grub_script_unref): New function prototype.
8086
8087 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
8088 extcmd form to support block arguments.
8089 * grub-core/script/argv.c: Block arguments support.
8090 * grub-core/script/execute.c: Likewise.
8091 * grub-core/script/lexer.c: Likewise.
8092 * grub-core/script/main.c: Likewise.
8093 * grub-core/script/script.c: Likewise.
8094 * grub-core/script/parser.y: Likewise. New `block' and `block0'
8095 non-terminals.
8096
8097 * grub-core/commands/acpi.c: Update extcmd implementations with
8098 grub_extcmd_context_t.
8099 * grub-core/commands/cat.c: Likewise.
8100 * grub-core/commands/echo.c: Likewise.
8101 * grub-core/commands/extcmd.c: Likewise.
8102 * grub-core/commands/hashsum.c: Likewise.
8103 * grub-core/commands/hdparm.c: Likewise.
8104 * grub-core/commands/help.c: Likewise.
8105 * grub-core/commands/hexdump.c: Likewise.
8106 * grub-core/commands/i386/cpuid.c: Likewise.
8107 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8108 * grub-core/commands/i386/pc/halt.c: Likewise.
8109 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8110 * grub-core/commands/iorw.c: Likewise.
8111 * grub-core/commands/keystatus.c: Likewise.
8112 * grub-core/commands/loadenv.c: Likewise.
8113 * grub-core/commands/ls.c: Likewise.
8114 * grub-core/commands/lspci.c: Likewise.
8115 * grub-core/commands/memrw.c: Likewise.
8116 * grub-core/commands/probe.c: Likewise.
8117 * grub-core/commands/search_wrap.c: Likewise.
8118 * grub-core/commands/setpci.c: Likewise.
8119 * grub-core/commands/sleep.c: Likewise.
8120 * grub-core/disk/loopback.c: Likewise.
8121 * grub-core/hello/hello.c: Likewise.
8122 * grub-core/loader/i386/bsd.c: Likewise.
8123 * grub-core/loader/xnu.c: Likewise.
8124 * grub-core/term/gfxterm.c: Likewise.
8125 * grub-core/term/serial.c: Likewise.
8126 * grub-core/tests/lib/functional_test.c: Likewise.
8127
888d1500
BC
81282010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8129
8130 Multi-line quoted strings support.
8131
8132 * grub-core/script/lexer.c (append_newline): Removed.
8133 (grub_script_lexer_yywrap): Refactored.
8134 (grub_script_lexer_init): Refactored.
8135 * grub-core/script/yylex.l (yywrap): New function.
8136 (grub_lexer_resplit): New function.
8137 (grub_lexer_unput): New function.
8138 * include/grub/script_sh.h (grub_lexer_param): New members, unput
8139 and resplit.
8140 * tests/grub_script_echo1.in: Added few more testcases.
8141
dda060dd
VS
81422010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8143
8144 * grub-core/kern/misc.c: Don't add abort alias in utils.
8145 Reported by: echoline.
8146
6556eba9
BC
81472010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8148
8149 Add missing files into "make dist" tarball for other platforms.
8150
8151 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8152 * conf/Makefile.common (dist_noinst_DATA): New variable.
8153 * conf/Makefile.extra-dist: Added missing make dist files.
8154 * grub-core/Makefile.core.def: Likewise.
8155
c8e7bf5f
VS
81562010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 Compress grub_prefix.
8159
8160 * grub-core/boot/i386/pc/lnxboot.S: Use
8161 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8162 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8163 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8164 GRUB_MACHINE_PREFIX_END. All users updated.
8165 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8166 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8167 + 0x40.
8168 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8169 * util/grub-mkimage.c (image_target_desc): Change data_end to
8170 prefix_end. All users updated.
8171
a7c00cdb
VS
81722010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8173
8174 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8175 value.
8176 (grub_openbsd_boot): Likewise.
8177 (grub_netbsd_boot): Likewise.
8178 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8179 (grub_xnu_boot): Likewise.
8180
9f915872
VS
81812010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8182
8183 * configure.ac: Clean LIBS variable after tests.
8184
efa1bee7
CW
81852010-09-02 Colin Watson <cjwatson@ubuntu.com>
8186
8187 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8188
61d720e5
VS
81892010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8192 echo if libdevmapper will be used.
8193
ef8e0ec8
IT
81942010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8195
8196 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8197 constant for the same file.
8198
03e261d8
VS
81992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8202
c2a4eba6
CW
82032010-09-02 Colin Watson <cjwatson@ubuntu.com>
8204
8205 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8206 grub-core/*.pp.
8207
9056cbf3
CW
82082010-09-02 Colin Watson <cjwatson@ubuntu.com>
8209
8210 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8211 required by the boot protocol.
8212
8213 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8214 ebp and edi members.
8215 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8216 state.ebp and state.edi.
8217 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8218 %ebp and %edi according to grub_relocator32_ebp and
8219 grub_relocator32_edi respectively.
8220 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8221 and state.edi.
8222
529cc99a
VS
82232010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 Add i386-pc-pxe image target.
8226
8227 * util/grub-mkimage.c (image_target_desc): New enum value
8228 IMAGE_I386_PC_PXE.
8229 (image_targets): New target i386-pc-pxe.
8230 (generate_image): Handle i386-pc-pxe image.
8231
9a093920
VS
82322010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 Fix grub_pxe_scan.
8235
8236 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8237 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8238 All users updated.
8239 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8240 (grub_pxe_pxenv): Correct type.
8241
f9cefc4e
CW
82422010-09-01 Colin Watson <cjwatson@ubuntu.com>
8243
8244 * NEWS: Document most of the important changes since 1.98.
8245
4066f57f
CW
82462010-09-01 Colin Watson <cjwatson@ubuntu.com>
8247
8248 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8249 generated manual page) a little.
8250
da2891f9
CW
82512010-09-01 Colin Watson <cjwatson@ubuntu.com>
8252
8253 * docs/grub.texi: Add myself as an author.
8254
ad717fae
VS
82552010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * Makefile.util.def (libgrub.a): Add missing sunpc.
8258 Reported by: Seth Goldberg.
8259
eefe8abd
VS
82602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 Interrupt wrapping and code simplifications.
8263
9494ef9a
VS
8264 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8265 x86_noieee1275 which are functionaly equivalent in this case.
8266 (grub-install): Make source on each platform explicit. Enable on
8267 all noemu.
8268 * gentpl.py (x86_efi_pc): Removed group.
8269 (x86_noefi): Likewise.
8270 (i386_noefi): Likewise.
8271 (x86_noieee1275): Likewise.
8272 (i386_noieee1275): Likewise.
8273 (i386_noefi_noieee1275): Likewise.
8274 (i386_pc_qemu_coreboot): Likewise.
8275 (i386_coreboot_multiboot): Likewise.
8276 (i386_pc_coreboot_multiboot_qemu): Likewise.
8277 (x86_noefi_mips): Likewise.
8278 (noieee1275): Likewise.
8279 (ieee1275_mips): Likewise.
8280 (noemu_noieee1275): Likewise.
8281 (cmos): New group.
8282 (usb): Likewise.
8283 (videoinkernel): Likewise.
8284 (videomodules): Likewise.
eefe8abd 8285 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8286 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8287 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8288 include/grub/loader.h, include/grub/msdos_partition.h,
8289 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8290 include/grub/machine/console.h, include/grub/machine/vga.h,
8291 include/grub/machine/vbe.h, include/grub/machine/init.h,
8292 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8293 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8294 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8295 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8296 * grub-core/Makefile.core.def (kernel): Explicit the source for
8297 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8298 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8299 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8300 Use videoinkernel tag.
8301 (usb): Enable on all usb.
8302 (usbserial_common): Likewise.
8303 (usbserial_pl2303): Likewise.
8304 (usbserial_ftdi): Likewise.
8305 (uhci): Enable on all x86.
8306 (ohci): Enable on all pci.
8307 (cmostest): Enable on all CMOS.
8308 (acpi): Include commands/acpi.c on all platforms.
8309 (halt): Add relevant lib/*/halt.c.
8310 (hdparm): Enable on all pci.
8311 (lspci): Likewise.
8312 (usbtest): Enable on all usb.
8313 (ata): Enable on all pci.
8314 (ata_pthru): Likewise.
8315 (usbms): Enable on all usb.
8316 (usb_keyboard): Likewise.
8317 (font): Use tag videomodules.
8318 (bufio): Likewise.
8319 (datetime): Use tag cmos. Enable on all noemu.
8320 (mmap): Use tags common and x86.
8321 (gfxterm): Use tag videomodules.
8322 (bitmap): Likewise.
8323 (bitmap_scale): Likewise.
8324 (video_fb): Likewise.
8325 (video): Likewise.
8326 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8327 adjust padding accordingly. All users updated.
8328 (grub_ohci_transaction): Fix bad format specification.
8329 (GRUB_MOD_INIT): Add asserts for struct size.
8330 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8331 (grub_alloc_td): Likewise.
8332 (grub_free_queue): Likewise.
8333 (grub_uhci_transfer): Likewise.
8334 (grub_uhci_transaction): Fix bad format specification.
8335 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8336 (grub_usb_bulk_readwrite): Likewise.
8337 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8338 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8339 Made static.
8340 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8341 Made static.
8342 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8343 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8344 Transformed into C.
8345 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8346 Moved from here ...
8347 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8348 ... here. Transformed into C. Made static.
8349 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8350 Moved from here ...
8351 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8352 ... here. Transformed into C. Made static.
8353 * grub-core/kern/i386/pc/startup.S
8354 (grub_biosdisk_check_int13_extensions): Moved from here ...
8355 * grub-core/disk/i386/pc/biosdisk.c
8356 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8357 Made static.
8358 * grub-core/kern/i386/pc/startup.S
8359 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8360 * grub-core/disk/i386/pc/biosdisk.c
8361 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8362 Transformed into C. Made static.
8363 * grub-core/kern/i386/pc/startup.S
8364 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8365 * grub-core/disk/i386/pc/biosdisk.c
8366 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8367 Transformed into C. Made static.
8368 * grub-core/kern/i386/pc/startup.S
8369 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8370 * grub-core/disk/i386/pc/biosdisk.c
8371 (grub_biosdisk_get_diskinfo_standard): ... here.
8372 Transformed into C. Made static.
8373 * grub-core/kern/i386/pc/startup.S
8374 (grub_biosdisk_get_num_floppies): Moved from here ...
8375 * grub-core/disk/i386/pc/biosdisk.c
8376 (grub_biosdisk_get_num_floppies): ... here.
8377 Transformed into C. Made static.
8378 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8379 New function.
8380 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8381 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8382 Transformed into C. Made static.
8383 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8384 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8385 Transformed into C. Made static.
8386 * grub-core/kern/i386/ieee1275/init.c: Removed.
8387 * grub-core/kern/i386/misc.S: Likewise.
8388 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8389 Splitted from here ...
8390 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8391 Transformed into C. Made static. All users updated.
8392 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8393 Transformed into C. Made static. All users updated.
8394 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8395 Moved from here...
8396 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8397 Transformed into C. Made static. All users updated.
8398 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8399 Moved from here...
8400 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8401 Transformed into C. Made static. All users updated.
8402 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8403 Removed (replaced by C version).
8404 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8405 Moved from here...
8406 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8407 Transformed into C. Made static.
8408 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8409 Moved from here...
8410 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8411 ... here. Transformed into C.
8412 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8413 Moved from here...
8414 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8415 ... here. Transformed into C.
8416 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8417 Moved from here...
8418 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8419 ... here. Transformed into C. Made static.
8420 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8421 Moved from here...
8422 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8423 ... here. Transformed into C.
21ed554b
VS
8424 * grub-core/kern/i386/pc/startup.S
8425 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8426 * grub-core/video/i386/pc/vbe.c
8427 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8428 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8429 Moved from here...
8430 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8431 ... here. Transformed into C.
8432 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8433 Moved from here...
8434 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8435 ... here. Transformed into C.
8436 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8437 Moved from here...
8438 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8439 ... here. Transformed into C.
8440 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8441 Moved from here...
8442 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8443 ... here. Transformed into C.
8444 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8445 Moved from here...
8446 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8447 ... here. Transformed into C. Made static.
8448 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8449 Moved from here...
8450 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8451 ... here. Transformed into C. Made static.
8452 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8453 Moved from here...
8454 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8455 ... here. Transformed into C. Made static.
8456 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8457 pxe_rm_entry as third argument.
8458 (grub_bios_interrupt): New function.
8459 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8460 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8461 of calling grub_stop.
8462 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8463 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8464 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8465 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8466 * grub-core/lib/i386/halt.c: Moved from here ...
8467 * grub-core/lib/i386/halt.c: ... here.
8468 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8469 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8470 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8471 grub_stop_floppy.
8472 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8473 * include/grub/i386/coreboot/init.h: Removed.
8474 * include/grub/i386/multiboot/init.h: Likewise.
8475 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8476 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8477 * include/grub/i386/pc/int.h: New file.
8478 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8479 (grub_pxe_scan): Removed.
8480 (grub_pxe_call): Update prototype.
8481 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8482 prototypes.
8483 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8484 * include/grub/i386/qemu/init.h: Removed.
8485 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8486 noreturn.
8487 (grub_halt): Likewise.
8488 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8489 (grub_reboot): Likewise.
8490 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8491 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8492 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8493
215dd471
RM
84942010-08-30 Robert Millan <rmh@gnu.org>
8495
8496 * NEWS: Document addition of ZFS support in `grub-install' and
8497 `grub-mkconfig'.
8498
ebd65b82
BC
84992010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8500
8501 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8502 dprintf output.
8503
11721d19
VS
85042010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 Remove leftover embedding of font objects.
8507
8508 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8509 * util/grub-install.in (font): Removed.
8510 * util/grub-mkimage.c (generate_image): Remove font support. All users
8511 updated.
8512
37837d4e
VS
85132010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Remove leftover embedding of font objects.
8516
8517 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8518 * util/grub-install.in (font): Removed.
8519 * util/grub-mkimage.c (generate_image): Remove font support. All users
8520 updated.
8521
b4c1aae0
VS
85222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8525 Reported by: Ian Turner
b4c1aae0 8526
8920a08d
VS
85272010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8530 timeout to avoid indefinite boot stalling.
8531
f21db033
VS
85322010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8535 (grub_env_write_color_highlight): Likewise.
8536
9a9de209
VS
85372010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * grub-core/normal/term.c (print_more): Return to normal and not
8540 to standard state after printing "---MORE---".
8541
3dca01d7
VS
85422010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8545 Mask out the bit 0x80 since it has other meaning that specifiing color.
8546
0b986c40
VS
85472010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 New relocator. Allows for more kernel support and more straightforward
8550 loader writing.
8551
8552 * Makefile.am (BOOTTARGET): New variable.
8553 (QEMU32): Likewise.
8554 (linux.init.x86_64): New target.
8555 (linux.init.i386): Likewise.
8556 (multiboot.elf): Likewise.
8557 (kfreebsd.elf): Likewise.
8558 (kfreebsd.aout): Likewise.
8559 (pc-chainloader.elf): Likewise.
8560 (pc-chainloader.bin): Likewise.
8561 (ntldr.elf): Likewise.
8562 (ntldr.bin): Likewise.
8563 (multiboot2.elf): Likewise.
8564 (kfreebsd.init.x86_64): Likewise.
8565 (kfreebsd.init.i386): Likewise.
8566 (knetbsd.init.i386): Likewise.
8567 (kopenbsd.init.i386): Likewise.
8568 (knetbsd.init.x86_64): Likewise.
8569 (kopenbsd.init.x86_64): Likewise.
8570 (linux-initramfs.i386): Likewise.
8571 (linux-initramfs.x86_64): Likewise.
8572 (kfreebsd-mfsroot.i386.img): Likewise.
8573 (knetbsd.image.i386): Likewise.
8574 (kopenbsd.image.i386): Likewise.
8575 (kopenbsd.image.x86_64): Likewise.
8576 (knetbsd.miniroot-image.i386.img): Likewise.
8577 (kfreebsd-mfsroot.x86_64.img): Likewise.
8578 (knetbsd.image.x86_64): Likewise.
8579 (knetbsd.miniroot-image.x86_64.img): Likewise.
8580 (kfreebsd-mfsroot.i386.gz): Likewise.
8581 (bootcheck-kfreebsd-i386): Likewise.
8582 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8583 (bootcheck-kfreebsd-x86_64): Likewise.
8584 (knetbsd.miniroot-image.i386.gz): Likewise.
8585 (bootcheck-knetbsd-i386): Likewise.
8586 (bootcheck-kopenbsd-i386): Likewise.
8587 (bootcheck-kopenbsd-x86_64): Likewise.
8588 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8589 (bootcheck-knetbsd-x86_64): Likewise.
8590 (bootcheck-linux-i386): Likewise.
8591 (bootcheck-linux-x86_64): Likewise.
8592 (bootcheck-linux16-i386): Likewise.
8593 (bootcheck-linux16-x86_64): Likewise.
8594 (bootcheck-multiboot): Likewise.
8595 (bootcheck-multiboot2): Likewise.
8596 (bootcheck-kfreebsd-aout): Likewise.
8597 (bootcheck-pc-chainloader): Likewise.
8598 (bootcheck-ntldr): Likewise.
8599 (CLEANFILES): Add new targets.
8600 (BOOTCHECKS): New variable.
8601 (.PHONY): Add bootchecks.
8602 (SUCCESSFUL_BOOT_STRING): New variable.
8603 (BOOTCHECK_TIMEOUT): Likewise.
8604 (bootcheck): New target
8605 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8606 * configure.ac: Correct efiemu excuse.
8607 * docs/grub.texi (Supported kernels): New chapter.
8608 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8609 include/grub/mm_private.h. Simplify inclusion of
8610 include/grub/boot.h, include/grub/loader.h
8611 and include/grub/msdos_partition.h
8612 (KERNEL_HEADER_FILES) [i386_coreboot]:
8613 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8614 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8615 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8616 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8617 include/grub/machine/loader.h.
8618 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8619 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8620 extra_dist.
8621 (pci.mod): Enable on i386-multiboot.
8622 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8623 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8624 i386-qemu.
8625 (relocator.mod): Rewritten.
8626 (aout.mod): Enable on all x86.
8627 (bsd.mod): Likewise.
8628 (ntldr.mod): New module.
8629 (linux.mod): Use loader/i386/linux.c on all x86.
8630 (xnu.mod): Enable on all x86.
8631 (vga_text.mod): disable on EFI and QEMU.
8632 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8633 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8634 * grub-core/efiemu/loadcore.c: Likewise.
8635 * grub-core/efiemu/main.c: Likewise.
8636 (grub_efiemu_exit_boot_services): Removed.
8637 (grub_efiemu_finish_boot_services): Likewise.
8638 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8639 function.
8640 * grub-core/efiemu/i386/nocfgtables.c: New file.
8641 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8642 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8643 (grub_efi_finish_boot_services): Moved from here ...
8644 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8645 Fille finish memory map and related data.
8646 (finish_mmap_buf): New variable.
8647 (grub_efi_uintn_t finish_mmap_size): Likewise.
8648 (grub_efi_uintn_t finish_key): Likewise.
8649 (grub_efi_uintn_t finish_desc_size): Likewise.
8650 (grub_efi_uint32_t finish_desc_version): Likewise.
8651 (grub_efi_is_finished): Likewise.
8652 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8653 finished.
8654 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8655 (grub_elf64_phdr_iterate): Likewise.
8656 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8657 (grub_os_area_size): Likewise.
8658 (grub_machine_init): Don't reserve os area.
8659 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8660 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8661 * grub-core/kern/i386/loader.S: Removed.
8662 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8663 (grub_os_area_size): Likewise.
8664 (grub_machine_init): Don't reserve os area.
8665 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8666 Don't call grub_dl_unload_all.
8667 Don't include loader.S.
8668 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8669 Declare the memory after _end as available.
8670 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 8671 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 8672 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
8673 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8674 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8675 * include/grub/mm_private.h (grub_mm_header): ... here.
8676 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8677 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
8678 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8679 (grub_mm_region): ..here. Removed addr. Added pre_size.
8680 All users updated.
8681 * grub-core/kern/mm.c (base): Renamed to ...
8682 (grub_mm_base): ... this. Made global.
8683 (grub_real_malloc): Alloc from end of region.
8684 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8685 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8686 * grub-core/kern/powerpc/cache_flush.S: ... here.
8687 * grub-core/lib/efi/relocator.c: New file.
8688 * grub-core/lib/i386/relocator.c: Rewritten.
8689 * grub-core/lib/i386/relocator16.S: New file.
8690 * grub-core/lib/i386/relocator32.S: Likewise.
8691 * grub-core/lib/i386/relocator64.S: Likewise.
8692 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8693 * grub-core/lib/i386/relocator_common.S: New file.
8694 * grub-core/lib/ieee1275/relocator.c: Likewise.
8695 * grub-core/lib/mips/relocator.c: Rewritten.
8696 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8697 stylistic adjustments.
8698 * grub-core/lib/powerpc/relocator.c: New file.
8699 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8700 * grub-core/lib/relocator.c: Rewritten.
8701 * grub-core/lib/x86_64/relocator_asm.S: New file.
8702 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8703 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8704 (bsd_tag): New struct.
8705 (tags): New variable.
8706 (tags_last): Likewise.
8707 (netbsd_module): New struct.
8708 (netbsd_mods): New variable.
8709 (netbsd_mods_last): Likewise.
8710 (openbsd_opts): New parameter "serial".
8711 (OPENBSD_SERIAL_ARG): New definition.
8712 (netbsd_opts): New parameter "serial".
8713 (NETBSD_SERIAL_ARG): New definition.
8714 (grub_freebsd_add_meta): Reorganised into ...
8715 (grub_bsd_add_meta): ...this. All users updated.
8716 (grub_freebsd_add_mmap): Reorganised into ...
8717 (generate_e820_mmap): ...this...
8718 (grub_bsd_add_mmap): ...and this. All users updated.
8719 (grub_freebsd_list_modules): Use tags.
8720 (grub_netbsd_add_meta_module): New function.
8721 (grub_netbsd_list_modules): Likewise.
8722 (grub_freebsd_boot): Use relocator and finish EFI.
8723 (grub_openbsd_boot): Likewise.
8724 (grub_netbsd_setup_video): New function.
8725 (grub_netbsd_add_modules): Likewise.
8726 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8727 and finish EFI.
8728 (grub_bsd_unload): Unload tags.
8729 (grub_bsd_load_aout): Use relocator.
8730 (grub_bsd_elf32_size_hook): New function.
8731 (grub_bsd_elf32_hook): Use relocator.
8732 (grub_bsd_elf64_size_hook): New function.
8733 (grub_bsd_elf64_hook): Use relocator.
8734 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8735 (grub_bsd_load): Zero-out openbsd_ramdisk.
8736 (grub_bsd_load): Use relocator.
8737 (grub_cmd_openbsd): Support serial.
8738 (grub_cmd_netbsd): Support modules.
8739 (grub_cmd_freebsd_module): Use relocator.
8740 (grub_netbsd_module_load): New function.
8741 (grub_cmd_netbsd_module): Likewise.
8742 (grub_cmd_openbsd_ramdisk): Likewise.
8743 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8744 kopenbsd_ramdisk.
8745 (GRUB_MOD_FINI): Unregister new commands.
8746 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8747 (grub_freebsd_load_elfmodule_obj): Use relocator.
8748 (grub_freebsd_load_elfmodule): Likewise.
8749 (grub_freebsd_load_elf_meta): Likewise.
8750 (grub_netbsd_load_elf_meta): New function.
8751 (grub_openbsd_find_ramdisk): Likewise.
8752 * grub-core/loader/i386/bsd_helper.S: Removed.
8753 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8754 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8755 * grub-core/loader/i386/efi/linux.c: Likewise.
8756 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8757 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8758 (DEFAULT_VIDEO_MODE): Likewise.
8759 (real_mode_target): New variable.
8760 (prot_mode_target): Likewise.
8761 (initrd_mem_target): Likewise.
8762 (relocator): Likewise.
8763 (efi_mmap_buf): Likewise.
8764 (efi_mmap_size): Likewise.
8765 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8766 (free_pages): Use relocator.
8767 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8768 (grub_linux_setup_video): Return error.
8769 (grub_linux_trampoline_start): Removed.
8770 (grub_linux_trampoline_end): Likewise.
8771 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8772 andd video parameters depending on firmware.
8773 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8774 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8775 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8776 (grub_cmd_initrd): Use relocator.
8777 * grub-core/loader/i386/linux_trampoline.S: Removed.
8778 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8779 (elf_sec_entsize): Likewise.
8780 (elf_sec_shstrndx): Likewise.
8781 (elf_sections): Likewise.
8782 (grub_multiboot_load): Use relocator.
8783 (grub_multiboot_get_mbi_size): Account for sections.
8784 (grub_multiboot_make_mbi): Use relocator and support sections.
8785 (grub_multiboot_add_elfsyms): New function.
8786 (grub_multiboot_free_mbi): Free sections.
8787 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8788 (grub_linux_real_target): Likewise.
8789 (grub_linux_real_chunk): Likewise.
8790 (grub_linux16_prot_size): Likewise.
8791 (grub_linux16_boot): Use relocator.
8792 (grub_linux_unload): Unload relocator.
8793 (grub_cmd_linux): Use relocator.
8794 (grub_cmd_initrd): Likewise.
8795 * grub-core/loader/i386/pc/ntldr.c: New file.
8796 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8797 Don't try to guess CPU frequency.
8798 (grub_xnu_set_video): Stretch bitmap.
8799 (grub_xnu_boot): Use relocator.
8800 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8801 (grub_linux_unload): Free relocator.
8802 (grub_linux_load32): Use relocator.
8803 (grub_linux_load64): Likewise.
8804 (grub_cmd_initrd): Likewise.
8805 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8806 (grub_multiboot_unload): Unload relocator.
8807 (grub_cmd_multiboot): Use relocator.
8808 (grub_cmd_module): Likewise.
8809 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8810 Use relocator and support sections.
8811 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8812 (elf_sec_entsize): Likewise.
8813 (elf_sec_shstrndx): Likewise.
8814 (elf_sections): Likewise.
8815 (grub_multiboot_load): Use relocator.
8816 (grub_multiboot_get_mbi_size): Account for sections.
8817 (grub_multiboot_make_mbi): Use relocator and support sections.
8818 (grub_multiboot_add_elfsyms): New function.
8819 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8820 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8821 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8822 Prototype changed. All users updated.
8823 (grub_xnu_align_heap): Simplified.
8824 (grub_xnu_writetree_toheap): Likewise.
8825 (grub_xnu_unload): Unload relocator.
8826 (grub_cmd_xnu_kernel): Use relocator.
8827 (grub_cmd_xnu_kernel64): Likewise.
8828 (grub_xnu_register_memory): Simplified.
8829 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
8830 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8831 EFI is finished.
8832 (grub_console_checkkey): Likewise.
8833 (grub_console_getkey): Likewise.
8834 (grub_console_getwh): Likewise.
8835 (grub_console_getxy): Likewise.
8836 (grub_console_gotoxy): Likewise.
8837 (grub_console_cls): Likewise.
8838 (grub_console_setcolorstate): Likewise.
8839 (grub_console_setcursor): Likewise.
8840 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8841 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8842 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8843 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8844 * grub-core/tests/boot/kernel-8086.S: Likewise.
8845 * grub-core/tests/boot/kernel-i386.S: Likewise.
8846 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
8847 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
8848 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
8849 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
8850 * grub-core/tests/boot/knetbsd.cfg: Likewise.
8851 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
8852 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
8853 * grub-core/tests/boot/linux.cfg: Likewise.
8854 * grub-core/tests/boot/linux.init-i386.S: Likewise.
8855 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
8856 * grub-core/tests/boot/linux16.cfg: Likewise.
8857 * grub-core/tests/boot/multiboot.cfg: Likewise.
8858 * grub-core/tests/boot/multiboot2.cfg: Likewise.
8859 * grub-core/tests/boot/ntldr.cfg: Likewise.
8860 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
8861 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
8862 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
8863 New definition.
8864 * include/grub/dl.h (grub_dl_unload_all): Removed.
8865 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
8866 (grub_efi_finish_boot_services): Change prototype.
8867 (grub_efi_is_finished): New variable.
8868 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
8869 Changed prototype.
8870 (grub_efiemu_finish_boot_services): Removed.
8871 (grub_machine_efiemu_init_tables): New prototype.
8872 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
8873 (grub_elf64_phdr_iterate): Likewise.
8874 * include/grub/i386/bsd.h: Include relocator.h.
8875 (freebsd_tag_header): New struct.
8876 (grub_openbsd_bios_mmap): Removed.
8877 (grub_unix_real_boot): Removed.
8878 (grub_freebsd_load_elfmodule32): Changed prototype.
8879 (grub_freebsd_load_elfmodule_obj64): Likewise.
8880 (grub_freebsd_load_elf_meta32): Likewise.
8881 (grub_freebsd_load_elf_meta64): Likewise.
8882 (grub_freebsd_add_meta): Removed.
8883 (grub_netbsd_load_elf_meta32): New prototype.
8884 (grub_netbsd_load_elf_meta64): Likewise.
8885 (grub_bsd_add_meta): Likewise.
8886 (grub_openbsd_ramdisk_descriptor): New struct.
8887 (grub_openbsd_find_ramdisk32): New prototype.
8888 (grub_openbsd_find_ramdisk64): Likewise.
8889 * include/grub/i386/coreboot/loader.h: Removed.
8890 * include/grub/i386/efi/loader.h: Likewise.
8891 * include/grub/i386/ieee1275/loader.h: Likewise.
8892 * include/grub/i386/linux.h (linux_kernel_header): Change void *
8893 to grub_uint32_t.
8894 * include/grub/i386/loader.h: Removed.
8895 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
8896 value.
8897 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
8898 (grub_phys_addr_t): New type.
8899 (grub_vtop): New inline function.
8900 (grub_map_memory): Likewise.
8901 (grub_unmap_memory): Likewise.
8902 * include/grub/i386/multiboot/loader.h: Removed.
8903 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
8904 (NETBSD_BTINFO_CONSOLE): New definition.
8905 (NETBSD_BTINFO_SYMTAB): Likewise.
8906 (NETBSD_BTINFO_MODULES): Likewise.
8907 (NETBSD_BTINFO_FRAMEBUF): Likewise.
8908 (grub_netbsd_bootinfo): New struct.
8909 (grub_netbsd_btinfo_common): Use explicit bitsize.
8910 (grub_netbsd_btinfo_mmap_entry): Removed.
8911 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
8912 (grub_netbsd_btinfo_bootdisk): New struct.
8913 (grub_netbsd_btinfo_symtab): Likewise.
8914 (grub_netbsd_btinfo_serial): Likewise.
8915 (grub_netbsd_btinfo_modules): Likewise.
8916 (grub_netbsd_btinfo_framebuf): Likewise.
8917 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
8918 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
8919 Likewise.
8920 (grub_openbsd_bootargs): Use explicit bitsize.
8921 (grub_openbsd_bootarg_console): New struct.
8922 (GRUB_OPENBSD_COM_MAJOR): New definition.
8923 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
8924 * include/grub/i386/pc/efiemu.h: Removed.
8925 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
8926 * include/grub/i386/qemu/loader.h: Removed.
8927 * include/grub/i386/relocator.h: Rewritten.
8928 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
8929 * include/grub/mips/memory.h: New file.
8930 * include/grub/mips/multiboot.h: Rewritten.
8931 * include/grub/mips/relocator.h: Rewritten.
8932 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
8933 (grub_vtop): New function.
8934 (grub_map_memory): Likewise.
8935 (grub_unmap_memory): Likewise.
8936 * include/grub/misc.h (ALIGN_DOWN): New definition.
8937 * include/grub/mm.h (grub_mm_check_real): New proto.
8938 (GRUB_MM_CHECK): New definition.
8939 * include/grub/mm_private.h: New file.
8940 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
8941 (grub_multiboot_get_mbi_size): Removed.
8942 (grub_multiboot_make_mbi): Change prottype.
8943 (grub_multiboot_set_accepts_video): New proto.
8944 (grub_multiboot_add_elfsyms): Likewise.
8945 (grub_multiboot_payload_eip): New variable.
8946 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
8947 New prototype.
8948 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
8949 New definition.
8950 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
8951 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
8952 * include/grub/powerpc/ieee1275/loader.h: Removed.
8953 * include/grub/powerpc/memory.h: New file.
8954 * include/grub/powerpc/relocator.h: Likewise.
8955 * include/grub/relocator.h: Likewise.
8956 * include/grub/relocator_private.h: Likewise.
8957 * include/grub/sparc64/ieee1275/loader.h: Removed.
8958 * include/grub/x86_64/memory.h: New file.
8959 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
8960 (grub_xnu_heap_malloc): Likewise.
8961 (grub_xnu_heap_real_start): Removed.
8962 (grub_xnu_heap_start): Likewise.
8963 (grub_xnu_relocator): New variable.
8964 (grub_xnu_heap_target_start): Likewise.
8965 * tests/util/grub-shell.in: Support non-pc.
8966 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 8967
5303b85d
VS
89682010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
8971 on malloc error.
8972 (grub_bidi_logical_to_visual): Check that malloc succeded.
8973 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
8974 puts.
8975 (grub_xputs_normal): Likewise.
8976
d768d159
VS
89772010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
8980 extra_dist.
8981
89822010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * grub-core/efiemu/runtime/efiemu.sh: Removed.
8985
5bf84df4
VS
89862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8987
8988 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
8989
3626810e
VS
89902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8991
8992 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
8993 dprintf.
8994
a7363f53
BC
89952010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
8996
8997 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
8998
902f75f6
VS
89992010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/normal/term.c (print_more): Fix a memory leak.
9002 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
9003 (grub_xputs_normal): Likewise.
9004
3c707967
VS
90052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9006
9007 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
9008 the begining of the string
9009
2053cc07
VS
90102010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/script/script.c (grub_script_parse): Free parsed on
9013 failure.
9014
46422ebf
VS
90152010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
9018 on failure.
9019
9e0fa3f6
VS
90202010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
9023 return.
9024
3393cf16
VS
90252010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
9028 (scroll_up): Fix a memory leak.
9029
b17540cb
VS
90302010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9031
9032 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
9033 errors.
9034
67140446
VS
90352010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 Handle USB pendrives exposed as floppies.
9038
9039 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
9040 floppy.
9041 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9042 Check for partitions on all devices.
9043
e35e46fc
VS
90442010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
9047 (readkey): Likewise.
9048
d24c6190
BC
90492010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9050
9051 Multiple variable names support to "export" command.
9052
9053 * normal/context.c (grub_cmd_export): "export" command supports
9054 multiple variable names.
9055
04ddcc6a
ST
90562010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
9057
9058 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
9059 --target=drive output to Mach device name.
9060
0c8b61d8
BC
90612010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9062
9063 New Automake based build system for GRUB.
9064
9065 * ABOUT-NLS: New file.
9066 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
9067 in Makefile.util.def file.
9068 * Makefile.util.def: New file. Autogen build definitions file for
9069 GRUB host utils.
9070 * conf/Makefile.common: New file. Common variables for GRUB host
9071 utils and target modules.
9072 * conf/Makefile.extra-dist: New file. Extra files for make dist.
9073 * docs/Makefile.am: New file. Automake file for docs.
9074 * gentpl.py: New file. Python script to generate Autogen
9075 template.
9076 * grub-core/Makefile.am: New file. GRUB target modules' rules
9077 that doesn't fit in Makefile.core.def file.
9078 * grub-core/Makefile.core.def: New file. Autogen build
9079 definitions file for GRUB target modules.
9080 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
9081 specific setjmp.S file.
9082 * po/Makefile.am: New file.
9083
9084 * .bzrignore: New ignores.
9085 * INSTALL: New requirements, without Ruby.
9086 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
9087 * autogen.sh: Updated to invoke autogen as necessary.
9088 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
9089 and defines for Automake conditionals.
9090 * geninit.sh: Refactoring.
9091
9092 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
9093 necessary.
9094 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
9095 New prototype.
9096
9097 * include/grub/test.h: Fix functional test modules' naming.
9098 * grub-core/tests/example_functional_test.c: Fix test module name.
9099
9100 * util/misc.c: Hosted versions' of grub functions for libgrub.a
9101 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
9102 * util/grub-editenv.c: Likewise.
9103 * util/grub-fstest.c: Likewise.
9104 * util/grub-mkdevicemap.c: Likewise.
9105 * util/grub-mkfont.c: Likewise.
9106 * util/grub-mkimage.c: Likewise.
9107 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9108 * util/grub-probe.c: Likewise.
9109 * util/grub-script-check.c: Likewise.
9110 * util/i386/pc/grub-setup.c: Likewise.
9111 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9112
9113 * tests/util/grub-shell.in: Fix override directory path.
9114 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
9115 * util/import_gcry.py: Create Makefile.gcry.def file instead.
9116
9117 * util/lvm.c: Update #includes.
9118 * util/raid.c: Likewise.
9119 * util/resolve.c: Likewise.
9120 * grub-core/bus/emu/pci.c: Likewise.
9121 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
9122 * grub-core/lib/posix_wrap/string.h: Likewise.
9123 * grub-core/kern/emu/main.c: Likewise.
9124
9125 * grub-core/gensymlist.sh: New file. Script for generating kernel
9126 symbols file.
9127 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
9128
9129 * grub-core/gentrigtables.c: Fix unused variable warnings.
9130
9131 * Makefile.in: Removed.
9132 * conf/any-emu.rmk: Removed.
9133 * conf/common.rmk: Removed.
9134 * conf/i386-coreboot.rmk: Removed.
9135 * conf/i386-efi.rmk: Removed.
9136 * conf/i386-ieee1275.rmk: Removed.
9137 * conf/i386-multiboot.rmk: Removed.
9138 * conf/i386-pc.rmk: Removed.
9139 * conf/i386-qemu.rmk: Removed.
9140 * conf/i386.rmk: Removed.
9141 * conf/mips-yeeloong.rmk: Removed.
9142 * conf/mips.rmk: Removed.
9143 * conf/powerpc-ieee1275.rmk: Removed.
9144 * conf/sparc64-ieee1275.rmk: Removed.
9145 * conf/tests.rmk: Removed.
9146 * conf/x86-efi.rmk: Removed.
9147 * conf/x86_64-efi.rmk: Removed.
9148 * gendistlist.sh: Removed.
9149 * geninitheader.sh: Removed.
9150 * genkernsyms.sh.in: Removed.
9151 * genmk.rb: Removed.
9152 * gensymlist.sh.in: Removed.
9153 * mkinstalldirs: Removed.
9154 * boot: Moved ...
9155 * grub-core/boot: ... to here.
9156 * bus: Moved ...
9157 * grub-core/bus: ... to here.
9158 * commands: Moved ...
9159 * grub-core/commands: ... to here.
9160 * disk: Moved ...
9161 * grub-core/disk: ... to here.
9162 * efiemu: Moved ...
9163 * grub-core/efiemu: ... to here.
9164 * font: Moved ...
9165 * grub-core/font: ... to here.
9166 * fs: Moved ...
9167 * grub-core/fs: ... to here.
9168 * gencmdlist.sh: Moved ...
9169 * grub-core/gencmdlist.sh: ... to here.
9170 * genemuinit.sh: Moved ...
9171 * grub-core/genemuinit.sh: ... to here.
9172 * genemuinitheader.sh: Moved ...
9173 * grub-core/genemuinitheader.sh: ... to here.
9174 * genfslist.sh: Moved ...
9175 * grub-core/genfslist.sh: ... to here.
9176 * genhandlerlist.sh: Moved ...
9177 * grub-core/genhandlerlist.sh: ... to here.
9178 * genmoddep.awk: Moved ...
9179 * grub-core/genmoddep.awk: ... to here.
9180 * genmodsrc.sh: Moved ...
9181 * grub-core/genmodsrc.sh: ... to here.
9182 * genpartmaplist.sh: Moved ...
9183 * grub-core/genpartmaplist.sh: ... to here.
9184 * genparttoollist.sh: Moved ...
9185 * grub-core/genparttoollist.sh: ... to here.
9186 * genterminallist.sh: Moved ...
9187 * grub-core/genterminallist.sh: ... to here.
9188 * gentrigtables.c: Moved ...
9189 * grub-core/gentrigtables.c: ... to here.
9190 * genvideolist.sh: Moved ...
9191 * grub-core/genvideolist.sh: ... to here.
9192 * gettext: Moved ...
9193 * grub-core/gettext: ... to here.
9194 * gfxmenu: Moved ...
9195 * grub-core/gfxmenu: ... to here.
9196 * gnulib: Moved ...
9197 * grub-core/gnulib: ... to here.
9198 * hello: Moved ...
9199 * grub-core/hello: ... to here.
9200 * hook: Moved ...
9201 * grub-core/hook: ... to here.
9202 * io: Moved ...
9203 * grub-core/io: ... to here.
9204 * kern: Moved ...
9205 * grub-core/kern: ... to here.
9206 * lib: Moved ...
9207 * grub-core/lib: ... to here.
9208 * loader: Moved ...
9209 * grub-core/loader: ... to here.
9210 * mmap: Moved ...
9211 * grub-core/mmap: ... to here.
9212 * normal: Moved ...
9213 * grub-core/normal: ... to here.
9214 * partmap: Moved ...
9215 * grub-core/partmap: ... to here.
9216 * parttool: Moved ...
9217 * grub-core/parttool: ... to here.
9218 * script: Moved ...
9219 * grub-core/script: ... to here.
9220 * term: Moved ...
9221 * grub-core/term: ... to here
9222 * tests/example_functional_test.c: Moved ...
9223 * grub-core/tests/example_functional_test.c: ... to here.
9224 * tests/lib/functional_test.c: Moved ...
9225 * grub-core/tests/lib/functional_test.c: ... to here.
9226 * tests/lib/test.c: Moved ...
9227 * grub-core/tests/lib/test.c: ... to here.
9228 * video: Moved ...
9229 * grub-core/video: ... to here.
9230
645586e6
BC
92312010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9232
9233 Replace --enable-grub-emu-modules with grub-emu-lite.
9234
9235 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9236 cache.S.
9237
9238 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9239 * kern/emu/full.c: New file. For grub-emu specific initialization.
9240 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9241 * kern/emu/main.c: Call initialization function grub_emu_init.
9242
9243 * Makefile.in: Include grub-emu-lite in install.
9244 * commands/parttool.c: Use grub_no_autoload to differentiate
9245 between grub-emu and grub-emu-lite.
9246 * include/grub/misc.h: New variable grub_no_autoload.
9247
9248 * conf/any-emu.rmk: New rules for grub-emu-lite.
9249 * configure.ac: Remove --enable-grub-emu-modules.
9250 * genmk.rb: Cleanup unnecessary rules.
9251 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9252
9253 * normal/main.c: Don't load list files on grub-emu-lite.
9254 * util/misc.c (grub_arch_sync_caches): Removed.
9255
f86a4030
CW
92562010-08-23 Colin Watson <cjwatson@ubuntu.com>
9257
9258 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9259 grub-mkimage rather than grub-mkelfimage.
9260 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9261
06776944
VS
92622010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9265 a key after CapsLock or NumLock. It's just a qemu bug.
9266
df262419
VS
92672010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9268
9269 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9270 needed by libusb wrapper.
9271
b40ea81b
ST
92722010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9273
9274 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9275
dee50575
VS
92762010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9277
9278 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9279 --nounzip is passed.
9280
fb1d7b79
VS
92812010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 USB hotunplugging and USB serial support.
9284
9285 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9286 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9287 (grub_uhci_transfer): Respect timeout and set *actual.
9288 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9289 non-standard length.
9290 (grub_usb_device_attach): Autoload modules.
9291 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9292 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9293 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9294 users updated.
9295 (grub_usb_add_hub): Fill nports and children.
9296 (attach_root_port): Receive hub instead of controller.
9297 All users updated. Fill hub->devices.
9298 (grub_usb_root_hub): Allocate hub->devices.
9299 (detach_device): New function.
9300 (poll_nonroot_hub): Fill children and detach devices.
9301 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9302 actual arguments. All users updated.
9303 (grub_usb_bulk_read_extended): New function.
9304 * bus/usb/serial/common.c: New file.
9305 * bus/usb/serial/ftdi.c: Likewise.
9306 * bus/usb/serial/pl2303.c: Likewise.
9307 * commands/terminal.c (handle_command): Support wildcard.
9308 * commands/usbtest.c: Output "Unknown" instead of empty string.
9309 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9310 (usbserial_common_mod_SOURCES): New variable.
9311 (usbserial_common_mod_CFLAGS): Likewise.
9312 (usbserial_common_mod_LDFLAGS): Likewise.
9313 (pkglib_MODULES): Add usbserial_pl2303.mod.
9314 (usbserial_pl2303_mod_SOURCES): New variable.
9315 (usbserial_pl2303_mod_CFLAGS): Likewise.
9316 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9317 (pkglib_MODULES): Add usbserial_ftdi.mod.
9318 (usbserial_ftdi_mod_SOURCES): New variable.
9319 (usbserial_ftdi_mod_CFLAGS): Likewise.
9320 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9321 (pkglib_MODULES): Add serial.mod.
9322 (serial_mod_SOURCES): New variable.
9323 (serial_mod_CFLAGS): Likewise.
9324 (serial_mod_LDFLAGS): Likewise.
9325 * conf/i386-pc.rmk: Likewise.
9326 * conf/mips-yeeloong.rmk: Likewise.
9327 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9328 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9329 * disk/usbms.c (first_available_slot): New variable.
9330 (grub_usbms_attach): Don't reuse free slots due to potential cache
9331 problems.
9332 * include/grub/serial.h: Moved to ..
9333 * include/grub/ns8250.h: ...this.
9334 * include/grub/serial.h: New file.
9335 * include/grub/term.h (grub_term_poll_usb): New variable.
9336 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9337 readkey. All users updated.
9338 (grub_terminfo_output_state): Pass term to put.
9339 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9340 (grub_usb_controller_dev): Add timeout and actual arguments to
9341 transfer. All users updated.
9342 (grub_usb_interface): New field detach_data.
9343 (grub_usb_device): New fields children and nports.
9344 (grub_usb_ep_type_t): New type.
9345 (grub_usb_get_ep_type): New function.
9346 (grub_usb_bulk_read_extended): Likewise.
9347 * include/grub/usbdesc.h (grub_usb_desc): New type.
9348 * include/grub/usbserial.h: New file.
9349 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9350 * kern/term.c (grub_term_poll_usb): New variable.
9351 (grub_getkey): Call grub_term_poll_usb if set.
9352 (grub_checkkey): Likewise.
9353 (grub_getkeystatus): Likewise.
9354 * term/serial.c: Moved controller-specific parts to ...
9355 * term/ns8250.c: ... here.
9356 * term/serial.c: Mostly rewritten.
9357 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9358 according to spec.
9359
21a313de
RM
93602010-08-20 Robert Millan <rmh@gnu.org>
9361
9362 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9363 a separate module and maybe other interesting combinations.
9364
9365 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9366 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9367 (kfreebsd_entry): Add generic filesystem module load routine.
9368 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9369
63c734a6
CW
93702010-08-20 Colin Watson <cjwatson@ubuntu.com>
9371
9372 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9373 "numcenter" (I misunderstood the purpose of this entry).
9374 * docs/grub.texi (sendkey): Likewise.
9375
c4d16542
CW
93762010-08-20 Colin Watson <cjwatson@ubuntu.com>
9377
9378 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9379 status flag options; simply omitting the option is equivalent and
9380 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9381 (keysym_table): Rename "num5numlock" to "numlock".
9382 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9383 can uniformly say that only the last of multiple `sendkey'
9384 invocations has any effect.
9385 * docs/grub.texi (sendkey): New section.
9386
93541d66
CW
93872010-08-19 Colin Watson <cjwatson@ubuntu.com>
9388
9389 * commands/i386/pc/sendkey.c (options): Fix three typos.
9390
b4ece5e1
VS
93912010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 Implement sendkey support.
9394
9395 * commands/i386/pc/sendkey.c: New file.
9396 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9397 (sendkey_mod_SOURCES): New variable.
9398 (sendkey_mod_CFLAGS): Likewise.
9399 (sendkey_mod_LDFLAGS): Likewise.
9400
51f1f5af
CW
94012010-08-18 Colin Watson <cjwatson@ubuntu.com>
9402
9403 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9404 fix warnings from Autoconf.
9405
9da94e05
CW
94062010-08-18 Colin Watson <cjwatson@ubuntu.com>
9407
9408 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9409 to avoid false positives with some assemblers that output things
9410 like "someprefix_func" as part of their output.
9411
729a0f2e
RM
94122010-08-15 Robert Millan <rmh@gnu.org>
9413
9414 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9415 errors.
9416 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9417 grub_get_libzfs_handle() errors.
9418
f3710e08
RM
94192010-08-14 Robert Millan <rmh@gnu.org>
9420
9421 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9422 filesystem is not ZFS.
9423
7a3c13de
BC
94242010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9425
9426 Fix for misspelled color names defaulting to black/black (bug
9427 reported by Doug Nazar)
9428
9429 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9430 status to prototype.
9431 * normal/color.c (grub_parse_color_name_pair): Return failure
9432 status.
9433 (grub_env_write_color_normal): Ignore bad color names.
9434 (grub_env_write_color_highlight): Likewise.
9435 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9436
ab8ba50d
BC
94372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9438
9439 "shift" command support to GRUB script.
9440
9441 * include/grub/script_sh.h (grub_script_shift): New prototype.
9442 * script/execute.c (grub_script_shift): New function.
9443 * script/main.c (grub_script_init): Register shift command.
9444 (grub_script_fini): Unregister shift command.
9445 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9446
9447 * tests/grub_script_shift.in: New testcase.
9448 * conf/tests.rmk: Rules for new testcase.
9449
4d61999e
BC
94502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9451
9452 "continue" command support to GRUB script.
9453
9454 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9455 (grub_script_break): Continue support.
9456 * script/main.c (grub_script_init): Register continue command.
9457 (grub_script_fini): Unregister continue command.
9458
9459 * tests/grub_script_continue.in: New testcase.
9460 * conf/tests.rmk: Rules for new testcase.
9461
4df51e00
BC
94622010-08-12 BVK Chaitanya <bvk@dbook>
9463
9464 "break" command support to GRUB script.
9465
9466 * conf/common.rmk: Rule updates to grub-script-check.
9467 * include/grub/misc.h (grub_min): New function.
9468 * include/grub/script_sh.h (grub_script_init): New prototype.
9469 (grub_script_fini): New prototype.
9470 (grub_script_break): New prototype.
9471 * script/main.c (grub_script_init): New function.
9472 (grub_script_fini): New function.
9473 * script/execute.c (grub_script_break): New function.
9474 * normal/main.c: Calls to grub_script_{init,fini}.
9475 * util/grub-script-check.c (grub_script_break): New function.
9476
9477 * tests/grub_script_break.in: New testcase.
9478 * conf/tests.rmk: Rules for new test case.
9479
f12c8420
BC
94802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9481
9482 Function parameters support to GRUB script.
9483
9484 * script/yylex.l (VARIABLE): Regular expression update.
9485 * script/function.c (grub_script_function_call): Moved ...
9486 * script/execute.c (grub_script_function_call): ... to here.
9487 (grub_script_execute_arglist_to_argv): Removed.
9488 (grub_script_arglist_to_argv): New function.
9489 * script/argv.c: New file.
9490 (grub_script_argv_free): New function.
9491 (grub_script_argv_next): Likewise.
9492 (grub_script_argv_append): Likewise.
9493 (grub_script_argv_split_append): Likewise.
9494 * include/grub/script_sh.h (grub_script_argv): New struct.
9495 (grub_script_argv_free): New function.
9496 (grub_script_argv_next): Likewise.
9497 (grub_script_argv_append): Likewise.
9498 (grub_script_argv_split_append): Likewise.
9499
9500 * conf/common.rmk (normal.mod): New source script/argv.c.
9501
9502 * tests/grub_script_echo1.in: More tests.
9503 * tests/grub_script_vars1.in: Likewise.
9504 * tests/grub_script_functions.in: New test case.
9505 * conf/tests.rmk: Rules for new testcase.
9506
8022b748
BC
95072010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9508
9509 Remove grub_script_cmdblock struct.
9510
9511 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9512 * script/parser.y: Likewise.
9513 * script/execute.c: Rename cmdblock suffix to cmdlist.
9514 * script/script.c: Likewise.
9515 * util/grub-script-check.c: Likewise.
9516
79a6ba61
YB
95172010-08-11 Yves Blusseau <blusseau@zetam.org>
9518
9519 * .bzrignore: add grub-macho2img
9520
d04b9414
VS
95212010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9524
f947ab49
VS
95252010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 Remove the dump of sm712 initialisation sequence.
9528
9529 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9530 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9531 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9532 (GRUB_VGA_CR_*): Added many registers.
9533 (GRUB_VGA_SR_*): Likewise.
9534 (GRUB_VGA_GR_*): Likewise.
9535 (grub_vga_write_arx): New function.
9536 (grub_video_hw_config): New struct.
9537 (grub_vga_set_geometry): New function.
9538 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9539 GRUB_PCI_CLASS_SUBCLASS_VGA.
9540 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9541 * video/sm712.c (grub_sm712_write_reg): New function
9542 (grub_sm712_read_reg): Likewise.
9543 (grub_sm712_sr_write): Likewise.
9544 (grub_sm712_gr_write): Likewise.
9545 (grub_sm712_cr_write): Likewise.
9546 (grub_sm712_write_arx): Likewise.
9547 (grub_sm712_cr_shadow_write): Likewise.
9548 (grub_sm712_write_dda_lookup): Likewise.
9549 (grub_video_sm712_setup): Initialise the video rather then
9550 blindly replay the dump.
9551 (main) [TEST]: Add a routine to be able to compile as standalone for
9552 tests.
9553 * video/sm712_init.c (sm712_init): Removed.
9554 (sm712_sr_seq1): New array.
9555 (sm712_sr_seq2): Likewise.
9556
f0206638
VS
95572010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * include/grub/vga.h: Add missing grub/pci.h include.
9560
2764da3b
YB
95612010-08-10 Yves Blusseau <blusseau@zetam.org>
9562
9563 * util/grub-macho2img.c (main): fix typo
9564
cf0c775e
VS
95652010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9566
9567 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9568 (grub_vga_gr_read): Likewise.
9569 (grub_vga_cr_write): Likewise.
9570 (grub_vga_cr_read): Likewise.
9571 (grub_vga_sr_write): Likewise.
9572 (grub_vga_sr_read): Likewise.
9573 (grub_vga_palette_read): Likewise.
9574 (grub_vga_palette_write): Likewise.
9575 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9576 (grub_sm712_sr_read): New function.
9577 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9578 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9579
07f360e9
RM
95802010-08-09 Robert Millan <rmh@gnu.org>
9581
9582 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9583 out unused variables on non-ZFS build.
9584
346c2072
RM
95852010-08-08 Robert Millan <rmh@gnu.org>
9586
9587 Fix path generation for sub-filesystems in ZFS.
9588
9589 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9590 missing slash.
9591
71175420
RM
95922010-08-08 Robert Millan <rmh@gnu.org>
9593
9594 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9595
0d8286f3
RM
95962010-08-08 Robert Millan <rmh@gnu.org>
9597
9598 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9599 exist, issue a proper error message (rely on `ls' for translated
9600 strings).
9601
55dd2924
RM
96022010-08-08 Robert Millan <rmh@gnu.org>
9603
9604 Fix grub-probe invocation.
9605
9606 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9607
d3dd9e80
RM
96082010-08-04 Robert Millan <rmh@gnu.org>
9609
9610 * configure.ac: Remove checks for getfsstat() and getmntany().
9611 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9612 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9613 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9614 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9615 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9616 function.
9617 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9618 via find_mount_point_from_dir() and getfsstat() / getmntany().
9619
0de22aa9
RM
96202010-08-04 Robert Millan <rmh@gnu.org>
9621
9622 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9623 (grub_find_zpool_from_mount_point): Merge into ...
9624 (grub_find_zpool_from_dir): ... this.
9625 * kern/emu/misc.c: Likewise.
9626
9627 * kern/emu/misc.c
9628 (grub_make_system_path_relative_to_its_root): Replace
9629 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9630 with grub_find_zpool_from_dir().
9631 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9632
62858144
RM
96332010-08-04 Robert Millan <rmh@gnu.org>
9634
9635 Support OpenSolaris in ZFS device resolution.
9636
9637 * configure.ac: Check for getmntany().
9638 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9639 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9640 support.
9641
9dd6fd50
RM
96422010-08-03 Robert Millan <rmh@gnu.org>
9643
9644 Fix grub-emu build.
9645
9646 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9647 * include/grub/emu/misc.h: ... here.
9648
9649 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9650 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9651
9652 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9653 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9654 (grub_get_libzfs_handle): Move to ...
9655 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9656 (grub_get_libzfs_handle): ... here.
9657
c9f7ff97
BC
96582010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9659
9660 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9661 as command name case.
9662
a870a783
CW
96632010-08-02 Colin Watson <cjwatson@ubuntu.com>
9664
9665 * disk/raid.c (insert_array): Select unique numbers for named arrays
9666 as well, for use as keys in the disk cache.
9667
c7db243b
RM
96682010-08-01 Robert Millan <rmh@gnu.org>
9669
9670 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9671 kFreeBSD device name, except on ZFS where the filesystem label is
9672 used.
9673 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9674 `/boot/zfs/zpool.cache'.
9675 Set mountfrom kernel variable using ${kfreebsd_device}.
9676
f7abdefb
RM
96772010-08-01 Robert Millan <rmh@gnu.org>
9678
9679 Make it even harder to use uninitialized `libzfs_handle' (and
9680 make the interface a bit simpler).
9681
9682 * include/grub/util/misc.h (grub_util_init_libzfs)
9683 (libzfs_handle): Remove.
9684 (grub_get_libzfs_handle): New prototype.
9685
9686 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9687 attribute.
9688 (grub_util_init_libzfs): Remove.
9689 (grub_get_libzfs_handle): New function.
9690
9691 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9692 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9693 accessing `libzfs_handle' directly.
9694
c882acc0
RM
96952010-08-01 Robert Millan <rmh@gnu.org>
9696
9697 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9698 (grub_find_zpool_from_mount_point): New function prototypes.
9699
9700 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9701 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9702
9703 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9704 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9705 `static' attribute.
9706
9707 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9708 finding zpool from mount point into ...
9709 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9710
9711 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9712 requested path is part of a ZFS pool, use
9713 grub_find_zpool_from_mount_point() to detect its filesystem name,
9714 and generate a path with `/fsname@path' syntax.
9715
8bfe31d8
CW
97162010-08-01 Colin Watson <cjwatson@ubuntu.com>
9717
9718 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9719 (void) rather than () so that this is a proper prototype.
9720
553df63d
VS
97212010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9722
9723 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9724
8687cf07
VS
97252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9728 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9729
ea9be8ea
CW
97302010-08-01 Colin Watson <cjwatson@ubuntu.com>
9731
9732 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9733
6eea041a
CW
97342010-08-01 Colin Watson <cjwatson@ubuntu.com>
9735
9736 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9737
2cfb45df
CW
97382010-08-01 Colin Watson <cjwatson@ubuntu.com>
9739
9740 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9741 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9742 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9743 disable gfxpayload.
9744 (Shell-like scripting): Add real content.
9745 (Serial terminal): Suggest `terminal_input serial; terminal_output
9746 serial' rather than putting the two commands on separate lines,
9747 since console input will be inoperative after the first command.
9748 (menuentry): Document --class, --users, and --hotkey options.
9749 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9750 Vladimir Serbinenko).
9751
7decd202
VS
97522010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
97532010-08-01 Colin Watson <cjwatson@ubuntu.com>
9754
9755 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9756
c882acc0
RM
97572010-08-01 Robert Millan <rmh@gnu.org>
9758
9759 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9760 (grub_find_zpool_from_mount_point): New function prototypes.
9761
9762 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9763 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9764
9765 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9766 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9767 `static' attribute.
9768
9769 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9770 finding zpool from mount point into ...
9771 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9772
9773 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9774 requested path is part of a ZFS pool, use
9775 grub_find_zpool_from_mount_point() to detect its filesystem name,
9776 and generate a path with `/fsname@path' syntax.
9777
deb0caa3
RM
97782010-08-01 Robert Millan <rmh@gnu.org>
9779
9780 Prevent accidental use of uninitialized libzfs_handle.
9781
9782 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9783 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9784 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9785
ce04ef47
CW
97862010-08-01 Colin Watson <cjwatson@ubuntu.com>
9787
9788 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9789 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9790
ebf53056
RM
97912010-08-01 Robert Millan <rmh@gnu.org>
9792
9793 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 9794
3710bb6b
RM
97952010-07-31 Robert Millan <rmh@gnu.org>
9796
9797 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9798
8072efeb
RM
97992010-07-31 Robert Millan <rmh@gnu.org>
9800
9801 * kern/emu/misc.c: Add missing license header.
9802
3169f4c7
RM
98032010-07-31 Robert Millan <rmh@gnu.org>
9804
9805 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9806
9807 * include/grub/util/libnvpair.h: Include `<config.h>'.
9808 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9809 declaring libnvpair prototypes ourselves.
9810 * include/grub/util/libzfs.h: Include `<config.h>'.
9811 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9812 declaring libzfs prototypes ourselves.
9813
9814 (libzfs_handle): Moved to ...
9815 * include/grub/util/misc.h (libzfs_handle): ... here.
9816 Include `<grub/util/libzfs.h>'.
9817
c9a00aee
RM
98182010-07-30 Robert Millan <rmh@gnu.org>
9819
9820 * include/grub/emu/misc.h: Add missing license header.
9821
a184f9c8
RM
98222010-07-30 Robert Millan <rmh@gnu.org>
9823
9824 Enable `grub-probe -t device' resolution on ZFS.
9825
9826 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9827 * include/grub/util/libnvpair.h: New file.
9828 * include/grub/util/libzfs.h: New file.
9829
9830 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9831 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9832 `<grub/util/libnvpair.h>'.
9833 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9834
9835 (find_mount_point_from_dir): New static function.
9836 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9837 function.
9838 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9839 find_root_device_from_libzfs() before ressorting to find_root_device().
9840
9841 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9842 prototype.
9843 * util/misc.c: Include `<grub/util/libzfs.h>'.
9844 (grub_util_init_libzfs): New function.
9845 [HAVE_LIBZFS] (libzfs_handle): New global variable.
9846 [HAVE_LIBZFS] (fini_libzfs): New static function.
9847 (grub_util_init_libzfs): New function.
9848 * util/grub-probe.c (main): Call grub_util_init_libzfs().
9849
f7790cdd
RM
98502010-07-30 Robert Millan <rmh@gnu.org>
9851
9852 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
9853 (xmalloc, xrealloc, xstrdup, xasprintf): Add
9854 `warn_unused_result' attribute.
9855 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
9856 (grub_xasprintf, grub_xvasprintf): Likewise.
9857 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
9858
0806b63c
RM
98592010-07-29 Robert Millan <rmh@gnu.org>
9860
9861 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
9862 (probe): Handle `PRINT_FS_LABEL'.
9863 (main): Handle `-t fs_label'.
9864
9f841f5c
RM
98652010-07-29 Robert Millan <rmh@gnu.org>
9866
9867 * configure.ac: Remove grub-mkisofs checks.
9868
46371121
VS
98692010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9870
9871 * util/ieee1275/grub-install.in: Don't use empty grub_device.
9872 Reported by: Lennart Sorensen.
9873
98742010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9875
9876 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
9877 prior to terminal_input/terminal_output separation. It's been over 1.5
9878 years and those versions weren't widely deployed.
9879
a9600892
CW
98802010-07-22 Colin Watson <cjwatson@ubuntu.com>
9881
9882 * disk/raid.c (insert_array): Don't count named arrays when looking
9883 for unused array numbers.
697e053c 9884 Reported and tested by: Michael Guntsche.
a9600892 9885
c03507df
CW
98862010-07-20 Colin Watson <cjwatson@ubuntu.com>
9887
9888 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
9889 implementation of this so that grub-emu links again, with a note
9890 that this should support hotplugging in the future.
9891
b26f1c11
CW
98922010-07-20 Colin Watson <cjwatson@ubuntu.com>
9893
9894 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
9895
efc9d7f1
CW
98962010-07-20 Colin Watson <cjwatson@ubuntu.com>
9897
9898 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
9899 handle on failure.
9900 (grub_loopback_close): Remove empty function.
9901 (grub_loopback_dev): Remove close method.
9902
dd8ff5c9
CW
99032010-07-20 Colin Watson <cjwatson@ubuntu.com>
9904
9905 Disable EFI cursor when the EFI console becomes inactive.
9906
9907 * term/efi/console.c (grub_efi_console_init): New function.
9908 (grub_efi_console_fini): New function.
9909 (grub_console_term_output): Register init and fini methods.
9910
5e3bec67
VS
99112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * tests/util/grub-shell-tester.in: Remove bashism and declare as
9914 sh script.
9915
afaec079
VS
99162010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * disk/loopback.c (grub_loopback): Replace filename with file.
9919 (delete_loopback): Handle new semantics.
9920 (grub_cmd_loopback): Likewise.
9921 (grub_loopback_iterate): Likewise.
9922 (grub_loopback_close): Likewise.
9923
a6a11f3c
VS
99242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
9927 with -p "".
9928 Reported by: Tito Keitel.
9929
64a638b0
VS
99302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * docs/grub.texi (Naming convention): Document new naming convention.
9933
ab8ba957
VS
99342010-07-20 Vadim Solomin <vadic052@gmail.com>
99352010-07-20 Colin Watson <cjwatson@ubuntu.com>
9936
9937 Generate device.map in something closer to the old ordering.
9938
9939 * util/deviceiter.c (struct device): New declaration.
9940 (compare_file_names): Rename to ...
9941 (compare_devices): ... this. Sort by kernel name in preference to
9942 the stable by-id name, but keep the latter as a fallback comparison.
9943 Update header comment.
9944 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
9945 of `struct device' rather than of plain file names.
9946
a29d6a4b
TF
99472010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
9948
9949 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
9950 on i386.
9951
39d824e8
VS
99522010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9953
9954 * commands/acpi.c (setup_common_tables): Use sizeof instead of
9955 hardcoding size.
9956 (setv1table): Likewise.
9957
f058276b
FZ
99582010-07-20 Colin Watson <cjwatson@ubuntu.com>
9959
9960 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
9961 removing the homehost if present.
9962 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
9963 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
9964 removing the homehost if present.
9965 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
9966 if possible.
9967 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
9968
9969 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
9970 parameter. Set its pointer target to 0.
9971 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
9972 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
9973 `data_offset' value from the superblock for 1.x metadata.
9974 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
9975 data on the device.
9976 (insert_array): Record the start sector of data on the device.
9977 (grub_raid_register): Pass start_sector parameters to
9978 grub_raid_list->detect and insert_array.
9979 * include/grub/raid.h (struct grub_raid_array): Add start_sector
9980 member.
9981 (struct grub_raid): Add start_sector parameter to `detect'.
9982
9983 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
9984 __attribute__ ((packed)), leaving a comment.
9985 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
9986 (grub_mdraid_detect_09): ... here and ...
9987 (grub_mdraid_detect_1x): ... here.
9988
99892010-07-20 Peter Henn <peter.henn@web.de>
9990
9991 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
9992 chunk size and disk size, which are already given as sector counts
9993 as distinct from the 0.90 units. Fetch the correct device number
9994 from the role table instead of using the table index.
9995
99962010-07-20 Felix Zielcke <fzielcke@z-51.de>
9997
9998 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
9999 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
10000 (WriteMostly1): New macro.
10001 Set array->name to NULL for metadata format 0.90. Add support for
10002 metadata 1.x. Fix some comments.
10003 * disk/raid.c (): Add support for name based RAID arrays. Fix a
10004 few comments.
10005 * util/getroot.c (grub_util_get_grub_dev): Add support for
10006 /dev/md/name style devices.
10007
4b761da9
CW
100082010-07-20 Colin Watson <cjwatson@ubuntu.com>
10009
10010 * .bzrignore: Ignore 20_linux_xen.
10011
5771289a
CW
100122010-07-17 Colin Watson <cjwatson@ubuntu.com>
10013
10014 * util/import_unicode.py: Remove unnecessary imports.
10015
5dab68df
AN
100162010-07-17 Aleš Nesrsta <starous@volny.cz>
10017
10018 Hotplugging and USB hub support.
10019
10020 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
10021 (grub_ohci): Likewise.
10022 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
10023 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
10024 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
10025 (GRUB_OHCI_CTRL_EDS): Likewise.
10026 (GRUB_OHCI_BULK_EDS): Likewise.
10027 (GRUB_OHCI_TDS): Likewise.
10028 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
10029 (grub_ohci_ed_phys2virt): New function.
10030 (grub_ohci_virt_to_phys): Likewise.
10031 (grub_ohci_td_phys2virt): Likewise.
10032 (grub_ohci_td_virt2phys): Likewise.
10033 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
10034 attachment.
10035 (grub_ohci_find_ed): New function.
10036 (grub_ohci_alloc_td): Likewise.
10037 (grub_ohci_free_td): Likewise.
10038 (grub_ohci_free_tds): Likewise.
10039 (grub_ohci_transfer): Use previously allocated memory.
10040 (grub_ohci_portstatus): Reset status changed bit.
10041 (grub_ohci_detect_dev): Supply status changed.
10042 (grub_ohci_fini_hw): Free memory.
10043 (grub_ohci_restore_hw): Reallocate memory.
10044 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
10045 Reset status change.
10046 (grub_uhci_detect_dev): Supply status_change.
10047 * bus/usb/usb.c (attach_hooks): New var.
10048 (grub_usb_device_attach): New function.
10049 (grub_usb_register_attach_hook_class): Likewise.
10050 (grub_usb_unregister_attach_hook_class): Likewise.
10051 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
10052 (grub_usb_add_hub): Reset connection changed bit.
10053 (attach_root_port): New function.
10054 (grub_usb_root_hub): Likewise.
10055 (poll_nonroot_hub): Likewise.
10056 (grub_usb_poll_devices): Likewise.
10057 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
10058 * disk/usbms.c (grub_usbms_open): Use device hooks.
10059 (grub_usbms_iterate) :Poll devices.
10060 (grub_usbms_finddevs): Split into ...
10061 (grub_usbms_attach): ... this ...
10062 (grub_usbms_attach): ... and this.
10063 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
10064 in detect_dev.
10065 (grub_usb_interface): New fields attached and detach_hook.
10066 (grub_usb_attach_hook_class): New type.
10067 (grub_usb_attach_desc): New struct.
10068 (grub_usb_register_attach_hook_class): New function.
10069 (grub_usb_unregister_attach_hook_class): Likewise.
10070 (grub_usb_poll_devices): Likewise.
10071 (grub_usb_device_attach): Likewise.
10072 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
10073 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
10074
3222efaf
VS
100752010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10076
10077 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
10078 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
10079 delta determination style. Works with most NetBSD partitions too.
10080
139b714a
VS
100812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
10084 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
10085
986aad56
VS
100862010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10087
10088 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
10089
99be513c
AB
100902010-07-14 Anton Blanchard <anton@samba.org>
10091
10092 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
10093 ET_DYN files.
10094
18075f62
GS
100952010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10096
10097 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
10098
8d9a5b15
GS
100992010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10100
10101 * kern/partition.c (grub_partition_check_containment): New function to
10102 check that a partition is physically contained in a parent. Since
10103 offsets are relative (and non-negative), this reduces to checking that
10104 the partition ends before its parent.
10105 (grub_partition_map_probe): Discard out-of-range sub-partitions.
10106 (grub_partition_iterate): Likewise.
10107 * include/grub/partition.h (grub_partition_map): Slightly more detailed
10108 comments.
10109 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
10110 partitions that start before their parent, and add debug printfs.
10111
19563c25
CW
101122010-07-13 Colin Watson <cjwatson@ubuntu.com>
10113
10114 * Makefile.in (.SUFFIX): Spell correctly, as ...
10115 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
10116 bare module name without `.mod', e.g. `test') tried to invoke a
10117 Modula-2 compiler.
10118
1a1f1e67
CW
101192010-07-13 Colin Watson <cjwatson@ubuntu.com>
10120
10121 * README: Point to the Info manual.
10122
811b0dca
JS
101232010-07-13 Jiro SEKIBA <jir@unicus.jp>
10124
10125 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
10126 2nd superblock position from partition size.
10127
e4f4eafc
CW
101282010-07-10 Colin Watson <cjwatson@ubuntu.com>
10129
10130 * Makefile.in (MAINTAINER_CLEANFILES): Remove
10131 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
10132 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
10133 outputs.
10134
4274c30f
VS
101352010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 Restructure SCSI .id handling.
10138 Reported and tested by: Aleš Nesrsta.
10139
10140 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10141 (grub_atapi_dev): Changed .name to "ata". New field .id.
10142 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10143 (grub_usbms_dev): New field .id.
10144 * disk/scsi.c (grub_scsi_iterate): Generate name.
10145 (grub_scsi_open): Parse name.
10146 * include/grub/scsi.h (grub_make_scsi_id): New function.
10147 (grub_scsi_dev): Change iterate and open to number instead of naming
10148 busses. All users updated.
10149 (grub_scsi): Remove name. Add .bus.
10150
5bc24388
VS
101512010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 * commands/help.c (grub_cmd_help): Fix a typo.
10154
249975ba
VS
101552010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10156
10157 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10158 Reported and tested by: Colin Watson.
10159
3eaac1a1
VS
101602010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10161
10162 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10163 in this context.
10164
becce1b1
VS
101652010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10166
10167 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10168
f7bf0918
CW
101692010-07-07 Colin Watson <cjwatson@ubuntu.com>
10170
10171 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10172 indentation.
10173
0b0f9620
CW
101742010-07-06 Colin Watson <cjwatson@ubuntu.com>
10175
10176 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10177 and disk/raid6_recover.c.
10178 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10179 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10180
1e545469
CW
101812010-07-06 Colin Watson <cjwatson@ubuntu.com>
10182
10183 * term/gfxterm.c (repaint_schedulded): Rename to ...
10184 (repaint_scheduled): ... this. Update all callers.
10185 (repaint_was_schedulded): Rename to ...
10186 (repaint_was_scheduled): ... this. Update all callers.
10187
5357687a
CW
101882010-07-06 Colin Watson <cjwatson@ubuntu.com>
10189
10190 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10191 which we expect to be handled by upper layers.
10192
29d7e783
BC
101932010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10194
10195 * bus/usb/usbhub.c: #include time.h header.
10196
37582066
CW
101972010-07-06 Colin Watson <cjwatson@ubuntu.com>
10198
10199 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10200 entry_name also for entries without stat blocks (e.g. ".."); fixes
10201 corruption of the first entry in a directory.
10202
c8c06953
CW
102032010-07-06 Colin Watson <cjwatson@ubuntu.com>
10204
10205 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10206 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10207 doesn't work otherwise.
10208
e75056f1
CW
102092010-07-05 Colin Watson <cjwatson@ubuntu.com>
10210
10211 * docs/grub.texi (Features): Update list of supported file systems.
10212 (GNU/Linux): Update for GRUB 2.
10213 (Serial terminal): Remove mention of --disable-serial, which was a
10214 GRUB Legacy configure option. Update instructions to use
10215 `terminal_input' and `terminal_output' rather than `terminal'.
10216 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10217 configuration' and `Installing GRUB using grub-install'.
10218 (Menu entry editor): Update for GRUB 2.
10219 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10220 Document new -a, -u, and -v options.
10221 (initrd): New section.
10222 (initrd16): New section.
10223 (linux): New section.
10224 (linux16): New section.
10225 (search): The `var' argument to `--set' is optional.
10226 (GRUB only offers a rescue shell): Go into a little more detail on
10227 drive ordering.
10228
5cf69151
CW
102292010-07-05 Colin Watson <cjwatson@ubuntu.com>
10230
10231 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10232
e3f90044
CW
102332010-07-05 Colin Watson <cjwatson@ubuntu.com>
10234
10235 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10236 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10237
38d8f4f3
CW
102382010-07-05 Colin Watson <cjwatson@ubuntu.com>
10239
10240 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10241 install_prefix, in line with install_dos_part and install_bsd_part.
10242 Add new prefix variable, which is copied to install_prefix after
10243 comparing core.img in memory with the one read from disk in the
10244 no-embedding case, and use that rather than overwriting
10245 install_prefix immediately when installing to a partition.
10246 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10247 Bicakci.
10248
57ebd41e
GS
102492010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10250
10251 * configure.ac: Avoid == in test command, it's not portable.
10252 * util/grub.d/30_os-prober.in: Likewise.
10253
cb7f64b2
CW
102542010-07-04 Colin Watson <cjwatson@ubuntu.com>
10255
10256 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10257
6b654bb0
GS
102582010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10259
10260 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10261 multiple (top-level) partmaps.
10262
72a2026d
VS
102632010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10266 Reported by: Tino Keitel.
72a2026d 10267
df3eb88f
VS
102682010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 Bidi and diacritics support.
10271
10272 * Makefile.in (widthspec.bin): New target.
10273 (widthspec.h): Likewise.
10274 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10275 * autogen.sh: Generate unidata.c.
10276 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10277 * commands/ls.c (grub_ls_list_devices): Likewise.
10278 (grub_ls_list_files): Likewise.
10279 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10280 (grub_mini_cmd_lsmod): Likewise.
10281 * commands/read.c: Likewise.
10282 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10283 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10284 * lib/arg.c (grub_arg_show_help): Likewise.
10285 * lib/crypto.c (grub_password_get): Likewise.
10286 * normal/auth.c (grub_username_get): Likewise.
10287 * normal/misc.c (grub_normal_print_device_info): Likewise.
10288 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10289 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10290 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10291 (normal/charset.c_DEPENDENCIES): New variable.
10292 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10293 (pkglib_MODULES): Remove charset.mod.
10294 (charset_mod_SOURCES): Removed.
10295 (charset_mod_CFLAGS): Likewise.
10296 (charset_mod_LDFLAGS): Likewise.
10297 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10298 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10299 and term/tparm.c.
10300 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10301 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10302 (kernel_img_HEADERS): Add terminfo.h.
10303 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10304 Fill ->font. Reverse ascii bitmaps.
10305 (grub_font_get_xheight): New function.
10306 * font/font.c (grub_font_get_string_width): Moved from here ...
10307 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10308 * font/font.c (grub_font_draw_string): Moved from here ...
10309 * gfxmenu/font.c (grub_font_draw_string): ... here.
10310 * font/font.c (grub_font_dup_glyph): New function.
10311 (grub_font_blit_glyph): Likewise.
10312 (grub_font_blit_glyph_mirror): Likewise.
10313 (blit_comb): Likewise.
10314 (grub_font_construct_dry_run): Likewise.
10315 (grub_font_get_constructed_device_width): Likewise.
10316 (grub_font_construct_glyph): Likewise.
10317 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10318 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10319 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10320 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10321 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10322 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10323 (grub_font_get_xheight): New proto.
10324 (grub_font_get_constructed_device_width): Likewise.
10325 (grub_font_construct_glyph): Likewise.
10326 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10327 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10328 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10329 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10330 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10331 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10332 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10333 (grub_console_getcharwidth): Likewise.
10334 * include/grub/misc.h (grub_xputs): New proto.
10335 (grub_puts): Inlined.
10336 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10337 (grub_normal_get_line_counter): Removed.
10338 (grub_install_newline_hook): Likewise.
10339 (grub_normal_get_char_counter): New proto.
10340 (grub_normal_reset_more): Likewise.
10341 (grub_xputs_normal): Likewise.
10342 * include/grub/powerpc/ieee1275/console.h: Removed.
10343 * include/grub/sparc64/ieee1275/console.h: Likewise.
10344 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10345 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10346 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10347 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10348 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10349 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10350 (grub_term_input): Pass reference to self. All users updated.
10351 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10352 Pass reference to self. New fields normal_color, highlight_color and
10353 data. All users updated.
10354 (grub_putchar): Removed.
10355 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10356 (grub_unicode_estimate_width): New function.
10357 (grub_term_getcharwidth): Add defaults.
10358 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10359 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10360 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10361 (grub_cls): Remove EXPORT_FUNC.
10362 (grub_setcolorstate): Inline.
10363 (grub_newline_hook): Removed.
10364 * include/grub/terminfo.h: Rewritten. All users updated.
10365 * include/grub/unicode.h: New file.
10366 * include/grub/video.h (grub_video_signed_rect): New type.
10367 * kern/emu/console.c (grub_console_highlight_color): Removed.
10368 (grub_console_normal_color): Likewise.
10369 (grub_console_standard_color): Made static.
10370 (grub_ncurses_putchar): Remove mapping.
10371 (grub_ncurses_getcharwidth): Removed.
10372 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10373 (grub_ncurses_setcolor): Removed.
10374 (grub_ncurses_getcolor): Likewise.
10375 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10376 (grub_console_putchar): ... this.
10377 (grub_console_putchar): Handle argument difference.
10378 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10379 console_init_early and console_init_lately.
10380 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10381 * kern/misc.c (grub_puts): Removed.
10382 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10383 (grub_vsnprintf_real): Remove str = NULL support.
10384 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10385 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10386 * kern/term.c (grub_putcode): Renamed to ...
10387 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10388 (grub_putchar): Removed.
10389 (grub_xputs_dumb): New function.
10390 (grub_xputs): New variable.
10391 * lib/charset.c: Move from here ...
10392 * normal/charset.c: ... to here.
10393 (grub_ucs4_to_utf8): New function.
10394 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10395 (join_types): New variable.
10396 (unpack_join): New function.
10397 (bidi_types): New variable.
10398 (unpack_bidi): New function.
10399 (get_bidi_type): Likewise.
10400 (get_join_type): Likewise.
10401 (is_mirrored): Likewise.
10402 (grub_unicode_get_comb_type): Likewise.
10403 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10404 (is_type_after): Likewise.
10405 (grub_unicode_aglomerate_comb): Likewise.
10406 (bidi_line_wrap): Likewise.
10407 (grub_bidi_line_logical_to_visual): Likewise.
10408 (grub_bidi_logical_to_visual): Likewise.
10409 (grub_unicode_mirror_code): Likewise.
10410 (grub_unicode_shape_code): Likewise.
10411 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10412 Don't use grub_putchar.
10413 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10414 (grub_normal_reader_init): Likewise.
10415 (grub_xputs_saved): New variable.
10416 (GRUB_MOD_INIT): Set grub_xputs.
10417 (GRUB_MOD_FINI): Restore grub_xputs.
10418 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10419 (menu_init): Avoid printing gfxmenu error.
10420 (show_menu): Use grub_normal_get_char_counter.
10421 * normal/menu_entry.c (update_screen): Fix out-of-array.
10422 (complete): Avoid NULL dereferencing.
10423 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10424 * normal/menu_text.c (print_spaces): Removed.
10425 (grub_print_ucs4): Likewise.
10426 (grub_print_message_indented): Use grub_print_ucs4.
10427 (print_message): Use grub_putcode.
10428 (print_entry): Hanlde diacritics.
10429 * normal/term.c (term_state): New type.
10430 (grub_more_lines): Removed.
10431 (term_states): New variable.
10432 (grub_normal_line_counter): Renamed to ..
10433 (grub_normal_char_counter): ...this. All users updated.
10434 (grub_normal_get_line_counter): Renamed to ...
10435 (grub_normal_get_char_counter): ... this.
10436 (grub_normal_reset_more): New function.
10437 (process_newline): Removed.
10438 (print_more): New function.
10439 (grub_install_newline_hook): Removed.
10440 (map_code): New function.
10441 (grub_puts_terminal): Use grub_print_ucs4.
10442 (putglyph): New function.
10443 (putcode_real): Likewise.
10444 (grub_putcode): Use putcode_real.
10445 (get_maxwidth): New function.
10446 (get_startwidth): Likewise.
10447 (print_ucs4_terminal): Likewise.
10448 (find_term_state): Likewise.
10449 (put_glyphs_terminal): Likewise.
10450 (print_backlog): Likewise.
10451 (print_ucs4_real): Likewise.
10452 (grub_print_ucs4): Likewise.
10453 (grub_xputs_normal): Likewise.
10454 * term/efi/console.c (grub_console_putchar): Output diacritics.
10455 (grub_console_getcharwidth): Removed.
10456 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10457 * term/gfxterm.c (clear_char): Free chars.
10458 (scroll_up): Avoid leaking memory.
10459 (grub_gfxterm_putchar): Support diacritics.
10460 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10461 * term/i386/pc/console.c (grub_console_term_output): Declare as
10462 GRUB_TERM_CODE_TYPE_VGA.
10463 * term/i386/pc/vga.c (grub_vga_term): Declare as
10464 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10465 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10466 GRUB_TERM_CODE_TYPE_VGA.
10467 * term/i386/vga_common.c (map_char): Removed.
10468 (grub_console_putchar): Likewise.
10469 (grub_console_getcharwidth): Likewise.
10470 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10471 (colors): Reordered to match terminfo.
10472 (grub_ofconsole_normal_color): Removed.
10473 (grub_ofconsole_writeesc): Likewise.
10474 (grub_ofconsole_highlight_color): Likewise.
10475 (grub_ofconsole_getcharwidth): Likewise.
10476 (grub_ofconsole_setcolorstate): Likewise.
10477 (grub_ofconsole_setcolor): Likewise.
10478 (grub_ofconsole_getcolor): Likewise.
10479 (grub_ofconsole_readkey): Renamed to ...
10480 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10481 key.
10482 (grub_ofconsole_checkkey): Removed.
10483 (grub_ofconsole_getkey): Likewise.
10484 (grub_ofconsole_getxy): Likewise.
10485 (grub_ofconsole_gotoxy): Likewise.
10486 (grub_ofconsole_cls): Likewise.
10487 (grub_ofconsole_refresh): Likewise.
10488 (grub_ofconsole_terminfo_input): New struct.
10489 (grub_ofconsole_terminfo_output): Likewise.
10490 (grub_ofconsole_term_input): Use terminfo.
10491 (grub_ofconsole_term_output): Likewise.
10492 (grub_console_init): Split into ...
10493 (grub_console_init_early): ...this and ...
10494 (grub_console_init_lately): ...this. Use terminfo.
10495 (grub_ofconsole_putchar): Renamed to ...
10496 (put): ... this. Remove mapping.
10497 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10498 * term/serial.c: Simplify using terminfo.
10499 (xpos): Removed.
10500 (ypos): Likewise.
10501 (keep_track): Likewise.
10502 (registered): Likewise.
10503 (input_buf): Likewise.
10504 (npending): Likewise.
10505 (serial_translate_key_sequence): Likewise.
10506 (fill_input_buf): Likewise.
10507 (grub_serial_checkkey): Likewise.
10508 (grub_serial_getkey): Likewise.
10509 (grub_serial_getxy): Likewise.
10510 (grub_serial_gotoxy): Likewise.
10511 (grub_serial_putchar): Likewise.
10512 (grub_serial_cls): Likewise.
10513 (grub_serial_setcolorstate): Likewise.
10514 (grub_serial_setcursor): Likewise.
10515 (serial_hw_init): Use serial_hw_fetch.
10516 (grub_serial_terminfo_input): New variable.
10517 (grub_serial_terminfo_output): Likewise.
10518 (grub_serial_term_input): Use terminfo.
10519 (grub_serial_term_output): Likewise.
10520 * term/terminfo.c (putstr): Use put.
10521 (grub_terminfo_all_free): New function
10522 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10523 (grub_terminfo_output_register): New function.
10524 (grub_terminfo_output_unregister): Likewise.
10525 (grub_terminfo_getxy): Likewise.
10526 (grub_terminfo_readkey): Likewise.
10527 (grub_terminfo_checkkey): Likewise.
10528 (grub_terminfo_getkey): Likewise.
10529 (grub_terminfo_input_init): Likewise.
10530 (print_terminfo): Likewise.
10531 (grub_cmd_terminfo): Handle encoding.
10532 (grub_terminfo_gotoxy): Track position.
10533 (grub_terminfo_cls): Likewise.
10534 (grub_terminfo_putchar): Likewise.
10535 (grub_terminfo_setcolorstate): Handle colors
10536 (grub_terminfo_cursor_on): This ...
10537 (grub_terminfo_cursor_off): ... and this merged into ...
10538 (grub_terminfo_setcursor): ... this.
10539 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10540 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10541 * unicode/BidiMirroring.txt: Likewise.
10542 * unicode/UnicodeData.txt: Likewise.
10543 * unicode/COPYING: Likewise.
10544 * util/grub-editenv.c (grub_putchar): Removed.
10545 (grub_xputs_real): New function.
10546 (grub_xputs): New variable.
10547 * util/grub-fstest.c (grub_putchar): Removed.
10548 (grub_xputs_real): New function.
10549 (grub_xputs): New variable.
10550 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10551 (grub_xputs_real): New function.
10552 (grub_xputs): New variable.
10553 * util/grub-probe.c (grub_putchar): Removed.
10554 (grub_xputs_real): New function.
10555 (grub_xputs): New variable.
10556 * util/grub-script-check.c (grub_putchar): Removed.
10557 (grub_xputs_real): New function.
10558 (grub_xputs): New variable.
10559 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10560 (grub_xputs_real): New function.
10561 (grub_xputs): New variable.
10562 * util/import_unicode.py: New file.
10563 * util/grub-mkfont.c (ft_errmsgs): New array.
10564 (grub_glyph_info): Make bitmap a pointer.
10565 (file_formats): New type WIDTH_SPEC.
10566 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10567 (options): Add width-spec.
10568 (help): Likewise.
10569 (add_char): Renamed to ...
10570 (add_glyph): ... this.
10571 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10572 (glyph_replace): New type.
10573 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10574 (add_char): New function.
10575 (add_subst): Likewise.
10576 (process_cursive): Likewise.
10577 (add_font): Handle GSUB.
10578 (write_font_width_spec): New function.
10579 (main): Sort glyphs.
10580 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10581 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10582 * kern/term.c (grub_cls): Moved from here...
10583 * normal/term.c (grub_cls): ... here.
10584
50f0bcda
CW
105852010-07-02 Colin Watson <cjwatson@ubuntu.com>
10586
10587 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10588 suitable for using within the format argument of printf when
10589 converting grub_size_t.
10590 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10591 "x" to convert grub_size_t arguments.
10592
40372103
VS
105932010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10594
10595 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10596 too long captions.
10597 (list_get_minimal_size): Take selection box into account.
10598
942a10c7
VS
105992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10600
10601 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10602 NULL font.
10603
2bdb2892
CW
106042010-07-02 Colin Watson <cjwatson@ubuntu.com>
10605
10606 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10607 devices when iterating over /dev/disk/by-id; they will be handled
10608 later if appropriate, which they aren't always (e.g. LVM).
10609
e03ed6c1
CW
106102010-07-02 Colin Watson <cjwatson@ubuntu.com>
10611
10612 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10613 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10614 fails.
10615 (grub_halt): Likewise.
10616 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10617 reset-all fails.
10618 (grub_halt): Don't return, even if all of shut-down, power-off, and
10619 poweroff fail.
10620
47695765
CW
106212010-07-02 Colin Watson <cjwatson@ubuntu.com>
10622
10623 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10624 arguments, not three.
10625
507736c8
CW
106262010-07-02 Colin Watson <cjwatson@ubuntu.com>
10627
10628 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10629 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10630 LVM-on-RAID is handled correctly.
10631
e3c8cd37
CW
106322010-07-02 Colin Watson <cjwatson@ubuntu.com>
10633
10634 * docs/grub.texi (Changes from GRUB Legacy): New section.
10635 (Future): Fix typo.
10636
8d4a2fec
CW
106372010-07-02 Colin Watson <cjwatson@ubuntu.com>
10638
10639 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10640 grub.d/README accidentally ends up executable for one reason or
10641 another. Ignore it.
10642
1c4827be
VS
106432010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10646 (gpt_partition_map_iterate): Support non-512B sectors.
10647
d9a0c941
VS
106482010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10651 Tested by: Seth Goldberg.
10652
48f27e87
VS
106532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10656 Properly align mbi.
10657 Reported by: Seth Goldberg.
10658
b0c4f956
VS
106592010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * util/grub-mkrescue.in: Avoid module duplication.
10662
105a2e8c
SF
106632010-07-01 Sean Finney <seanius@seanius.net>
10664
10665 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10666
5944958c
SF
106672010-07-01 Sean Finney <seanius@seanius.net>
10668
10669 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10670
106712010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10672
10673 * disk/lvm.c (grub_lvm_checkvalue): New function.
10674 (grub_lvm_check_flag): Likewise.
10675
b79889ba
RM
106762010-07-01 Robert Millan <rmh@gnu.org>
10677
10678 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10679 Support 'p' as partition separator on kernel of FreeBSD (used
10680 with GPT labels).
10681 (grub_util_biosdisk_get_grub_dev): Likewise.
10682
ec1d04f1
VS
106832010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 Yeeloong firmware port.
10686
10687 * boot/mips/yeeloong/fwstart.S: New file.
10688 * bus/cs5536.c (gpiodump): New const.
10689 (set_io_space): New function.
10690 (set_iod): Likewise.
10691 (set_p2d): Likewise.
10692 (grub_cs5536_init_geode): Likewise.
10693 * commands/mips/yeeloong/lsspd.c: New file.
10694 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10695 (serial_mod_SOURCES): New variable.
10696 (serial_mod_CFLAGS): Likewise.
10697 (serial_mod_LDFLAGS): Likewise.
10698 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10699 term/terminfo.c and term/tparm.c.
10700 (pkglib_IMAGES): Add fwstart.img.
10701 (fwstart_img_SOURCES): New variable.
10702 (fwstart_img_CFLAGS): Likewise.
10703 (fwstart_img_ASFLAGS): Likewise.
10704 (fwstart_img_LDFLAGS): Likewise.
10705 (fwstart_img_FORMAT): Likewise.
10706 (pkglib_MODULES): Add lsspd.mod.
10707 (lsspd_mod_SOURCES): New variable.
10708 (lsspd_mod_CFLAGS): Likewise.
10709 (lsspd_mod_LDFLAGS): Likewise.
10710 (pkglib_MODULES): Add halt.mod.
10711 (halt_mod_SOURCES): New variable.
10712 (halt_mod_CFLAGS): Likewise.
10713 (halt_mod_LDFLAGS): Likewise.
10714 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10715 (serial_mod_SOURCES): Removed.
10716 (serial_mod_CFLAGS): Likewise.
10717 (serial_mod_LDFLAGS): Likewise.
10718 * disk/ata.c (check_device): New function.
10719 (grub_ata_device_initialize): Use check_device.
10720 (grub_ata_iterate): Recheck devices.
10721 (grub_ata_open): Likewise.
10722 (grub_atapi_iterate): Likewise.
10723 (grub_atapi_open): Likewise.
10724 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10725 (GRUB_ATA_CH1_PORT1): Likewise.
10726 (GRUB_ATA_CH0_PORT2): Likewise.
10727 (GRUB_ATA_CH1_PORT2): Likewise.
10728 * include/grub/mips/loongson.h: New file.
10729 * include/grub/mips/yeeloong/ec.h: Likewise.
10730 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10731 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10732 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10733 * include/grub/misc.h (grub_halt): Declare as noreturn.
10734 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10735 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10736 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10737 (UART_ENABLE_DTRRTS): Likewise.
10738 (UART_ENABLE_MODEM): Removed.
10739 (UART_ENABLE_OUT2): New const.
10740 * include/grub/term.h (grub_term_register_input_active): New function.
10741 (grub_term_register_output_active): Likewise.
10742 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10743 argument.
10744 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10745 (init_pci): New function.
10746 (grub_machine_init): Execute platform init when firmware. Init serial.
10747 (grub_halt): Implement.
10748 (grub_exit): Likewise.
10749 (grub_reboot): Likewise.
10750 * term/serial.c (serial_hw_init): Update macros.
10751 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10752 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10753 (image_targets): New target mipsel-yeeloong-flash.
10754 (generate_image): Support IMAGE_YEELOONG_FLASH.
10755 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10756 (grub_video_sm712_setup): Init card.
10757 (grub_video_sm712_set_palette): Removed.
10758 * video/sm712_init.c: New file.
10759
ff4a70d2
CW
107602010-06-30 Colin Watson <cjwatson@ubuntu.com>
10761
10762 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10763 PATH when running help2man and then run it on the unadorned
10764 executable names, rather than passing $(builddir)/* paths to
10765 help2man. This avoids the build directory ending up in generated
10766 manual pages.
10767
1246efeb
CW
107682010-06-29 Colin Watson <cjwatson@ubuntu.com>
10769
10770 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10771 to avoid accidents when debugging with 'sh -x'.
10772 * util/grub-mkrescue.in: Likewise.
10773 * util/grub.d/00_header.in: Likewise.
10774 * util/grub.d/10_hurd.in: Likewise.
10775 * util/grub.d/10_kfreebsd.in: Likewise.
10776 * util/grub.d/10_linux.in: Likewise.
10777 * util/grub.d/10_netbsd.in: Likewise.
10778 * util/grub.d/10_windows.in: Likewise.
10779 * util/grub.d/20_linux_xen.in: Likewise.
10780 * util/grub.d/30_os-prober.in: Likewise.
10781 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10782
1ba9b889
CW
107832010-06-29 Colin Watson <cjwatson@ubuntu.com>
10784
10785 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10786 last character in the buffer.
10787 Reported by: Vladimir Serbinenko.
10788
dccaf99d
RM
107892010-06-29 Robert Millan <rmh@gnu.org>
10790
10791 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10792 (Command-line and menu entry commands): Document `badram' command.
10793
d500ed12
RM
107942010-06-28 Robert Millan <rmh@gnu.org>
10795
10796 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10797 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10798 command using ${GRUB_BADRAM} as parameter.
10799
20bc84a6
CW
108002010-06-28 Colin Watson <cjwatson@ubuntu.com>
10801
10802 * docs/grub.texi (Device map): New section.
10803 (Themes): New section (stub).
10804 * Makefile.in (docs/grub.info): The info documentation now builds
10805 without errors. Make sure it stays that way.
10806
4045dee1
VS
108072010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 Use normal parser for menu entries.
10810 Reported by: Thomas Frauendorfer
10811
10812 * include/grub/parser.h (grub_parser_execute): Don't export.
10813 * normal/menu.c (grub_menu_execute_entry_real): New function.
10814 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10815
bca58c7b
CW
108162010-06-28 Colin Watson <cjwatson@ubuntu.com>
10817
10818 * docs/grub.texi (Embedded configuration): New section (replacing
10819 old "Preset Menu" stub).
10820 (Images): New section.
10821 (configfile): Note that any menu entries defined in `file' are shown
10822 immediately.
10823
dec53e63
JT
108242010-06-28 Josh Triplett <josh@joshtriplett.org>
10825
10826 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10827
c06e40f7
CW
108282010-06-28 Colin Watson <cjwatson@ubuntu.com>
10829
10830 * util/grub-install.in: Add --debug-image= option.
10831
cb88052b
CW
108322010-06-28 Colin Watson <cjwatson@ubuntu.com>
10833
10834 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10835 possible on Linux.
10836
10837 * util/deviceiter.c (check_device): Rename to ...
10838 (check_device_readable_unique): ... this. Update all callers.
10839 Maintain and check a list of which devices (by canonicalized name)
10840 have already been seen.
10841 (clear_seen_devices): New function.
10842 (compare_file_names) [__linux__]: New function.
10843 (grub_util_iterate_devices): Clear the list of seen devices on exit
10844 and (just in case) on entry.
10845 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
10846 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
10847 seen-devices list, superseded by general code in check_device.
10848
bbe34652
CW
108492010-06-28 Colin Watson <cjwatson@ubuntu.com>
10850
10851 * commands/cat.c (options): New variable.
10852 (grub_cmd_cat): Parse options. If the --dos option is given, print
10853 DOS-style "\r\n" line endings as simple newlines (Debian bug
10854 #586358).
10855 (GRUB_MOD_INIT): Use extcmd.
10856 (GRUB_MOD_FINI): Likewise.
10857 * docs/grub.texi (cat): Document --dos.
10858
412e09f3
VS
108592010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10860
10861 XEN with Linux grub-mkconfig support.
10862
10863 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
10864 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
10865 GRUB_CMDLINE_XEN_DEFAULT.
10866 * util/grub.d/20_linux_xen.in: New file.
10867
53f3ef38 108682010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
10869
10870 Initialise VGA video on qemu ourselves.
10871
10872 * boot/i386/qemu/boot.S: Don't call 0xc000.
10873 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
10874 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
10875 (kernel_img_HEADERS): Add pci.h.
10876 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
10877 * configure.ac: Force unifont on qemu and yeeloong.
10878 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
10879 (grub_vga_palette_write): Use correct register.
10880 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
10881 Call grub_qemu_init_cirrus.
10882 * kern/i386/qemu/init.c: New file.
10883 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
10884
10885 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
10886
c75be4fb
PR
108872010-06-26 Pavel Roskin <proski@gnu.org>
10888
10889 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
10890 13.
10891
d8034603
CW
108922010-06-26 Colin Watson <cjwatson@ubuntu.com>
10893
10894 * docs/grub.texi (Simple configuration): Explain that
10895 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
10896 set to `true' to disable their respective recovery entries, not
10897 merely set.
10898
3fa06487
CW
108992010-06-26 Colin Watson <cjwatson@ubuntu.com>
10900
10901 Make the `source' command slightly faster.
10902
10903 * normal/main.c (grub_normal_execute): Don't re-read list files when
10904 nested.
10905
e9b29642
CW
109062010-06-23 Colin Watson <cjwatson@ubuntu.com>
10907
10908 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
10909 field position and mask size to red fields from mode_info, not
10910 green.
10911 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
10912 Remove redundant tag->common.framebuffer_type assignment.
10913 Reported by: Seth Goldberg.
10914
e726542f
CW
109152010-06-23 Colin Watson <cjwatson@ubuntu.com>
10916
10917 Sync up other versions of the Linux loader with Robert Millan's
10918 change of 2010-01-09, "Make loader output a bit more user-friendly".
10919
10920 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
10921 grub_dprintf().
10922 (grub_cmd_linux): Likewise.
10923 (grub_cmd_initrd): Likewise.
10924 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
10925 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10926
d6e98a17
CW
109272010-06-21 Colin Watson <cjwatson@ubuntu.com>
10928
10929 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
10930 larger than MEMORY_MAP_SIZE.
10931
14d3f08e
BC
109322010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
10933
10934 Fix parallel build.
10935
10936 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
10937 dependency.
10938 * script/parser.y: #include grub_script.tab.h header.
10939
4f9613a3
VS
109402010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10941
10942 Support >3GiB and <16MiB RAM in i386-qemu.
10943
10944 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
10945 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
10946 (grub_lower_mem): Removed.
10947 (grub_upper_mem): Likewise.
10948 (mem_size): Made static.
10949 (above_4g): New variable.
10950 (grub_machine_mmap_init): Detect small mem_size and above_4g.
10951 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
10952 support.
10953
05e51879
VS
109542010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Cirrus 5446 and Bochs video cards support.
10957
10958 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
10959 video_bochs.mod
10960 (video_cirrus_mod_SOURCES): New variable.
10961 (video_cirrus_mod_CFLAGS): Likewise.
10962 (video_cirrus_mod_LDFLAGS): Likewise.
10963 (video_bochs_mod_SOURCES): Likewise.
10964 (video_bochs_mod_CFLAGS): Likewise.
10965 (video_bochs_mod_LDFLAGS): Likewise.
10966 * include/grub/vga.h: New file.
10967 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
10968 (grub_video_fb_set_page_t): New type.
10969 (grub_video_fb_setup): New prototype.
10970 (grub_video_fb_swap_buffers): Likewise.
10971 (grub_video_fb_get_info_and_fini): Likewise.
10972 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
10973 (CRTC_DATA_PORT): Likewise.
10974 (CRTC_CURSOR): Likewise.
10975 (CRTC_CURSOR_ADDR_HIGH): Likewise.
10976 (CRTC_CURSOR_ADDR_LOW): Likewise.
10977 (CRTC_CURSOR_DISABLE): Likewise.
10978 (update_cursor): Use grub_vga_cr_write.
10979 (grub_vga_text_setcursor): Likewise.
10980 * video/bochs.c: New file.
10981 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
10982 (palette): Likewise.
10983 (palette_size): Likewise.
10984 (framebuffer): New variable.
10985 (grub_video_fb_init): Use 'framebuffer'.
10986 (grub_video_fb_fini): Likewise.
10987 (grub_video_fb_get_info): Likewise.
10988 (grub_video_fb_get_palette): Likewise.
10989 (grub_video_fb_set_palette): Likewise.
10990 (grub_video_fb_set_viewport): Likewise.
10991 (grub_video_fb_get_viewport): Likewise.
10992 (grub_video_fb_map_color): Likewise.
10993 (grub_video_fb_map_rgb): Likewise.
10994 (grub_video_fb_map_rgba): Likewise.
10995 (grub_video_fb_unmap_color): Likewise.
10996 (grub_video_fb_unmap_color_int): Likewise.
10997 (grub_video_fb_fill_rect): Likewise.
10998 (grub_video_fb_blit_bitmap): Likewise.
10999 (grub_video_fb_blit_render_target): Likewise.
11000 (grub_video_fb_scroll): Likewise.
11001 (grub_video_fb_create_render_target): Likewise.
11002 (grub_video_fb_doublebuf_blit_init): Likewise.
11003 (grub_video_fb_set_active_render_target): Handle doublebuffering.
11004 (doublebuf_pageflipping_update_screen): New function.
11005 (doublebuf_pageflipping_init): Likewise.
11006 (grub_video_fb_setup): Likewise.
11007 (grub_video_fb_swap_buffers): Likewise.
11008 (grub_video_fb_get_info_and_fini): Likewise.
11009 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
11010 All users updated.
11011 (doublebuf_pageflipping_commit): Restructured into ...
11012 (doublebuf_pageflipping_set_page): ... this.
11013 (doublebuf_pageflipping_update_screen): Removed.
11014 (doublebuf_pageflipping_init): Likewise.
11015 (double_buffering_init): Likewise.
11016 (grub_video_vbe_setup): Use grub_video_fb_setup.
11017 (grub_video_vbe_swap_buffers): Removed.
11018 (grub_video_vbe_set_active_render_target): Likewise.
11019 (grub_video_vbe_get_active_render_target): Likewise.
11020 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
11021 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
11022 grub_video_fb_set_active_render_target and
11023 grub_video_fb_get_active_render_target.
11024 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
11025 (SEQUENCER_DATA_PORT): Likewise.
11026 (MAP_MASK_REGISTER): Likewise.
11027 (CRTC_ADDR_PORT): Likewise.
11028 (CRTC_DATA_PORT): Likewise.
11029 (START_ADDR_HIGH_REGISTER): Likewise.
11030 (START_ADDR_LOW_REGISTER): Likewise.
11031 (GRAPHICS_ADDR_PORT): Likewise.
11032 (GRAPHICS_DATA_PORT): Likewise.
11033 (READ_MAP_REGISTER): Likewise.
11034 (INPUT_STATUS1_REGISTER): Likewise.
11035 (INPUT_STATUS1_VERTR_BIT): Likewise.
11036 (get_map_mask): Use grub_vga_sr_read.
11037 (set_map_mask): Use grub_vga_sr_write.
11038 (set_read_map): Use grub_vga_gr_write.
11039 (set_start_address): Use grub_vga_cr_write.
11040 * video/sm712.c (framebuffer): Remove leftover fields.
11041
4321c64a
CW
110422010-06-20 Colin Watson <cjwatson@ubuntu.com>
11043
11044 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
11045 setting GRUB_VIDEO_BACKEND. Make it available as a user override
11046 instead. Replace the gfxterm backend check with a check that
11047 ${GRUB_PREFIX}/video.lst is non-empty.
11048 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
11049 again.
11050 (load_video): New generated function. Call it before loading
11051 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11052 * util/grub.d/10_linux.in (linux_entry): Call load_video.
11053 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
11054 * docs/grub.texi (Simple configuration): Document
11055 GRUB_VIDEO_BACKEND.
11056
110572010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11058
11059 Use video functions in linux and xnu loaders.
11060
11061 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
11062 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
11063 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
11064 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
11065 loader/i386/pc/linux.c.
11066 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
11067 (find_line_len): Removed.
11068 (find_framebuf): Likewise.
11069 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
11070 * loader/i386/efi/xnu.c: Removed.
11071 * loader/i386/pc/xnu.c: Moved from here...
11072 * loader/i386/xnu.c: ...here.
11073
11074 Enable priorities in video drivers.
11075
11076 * include/grub/video.h (grub_video_adapter_prio_t): New type.
11077 (grub_video_adapter): New field prio.
11078 (grub_video_register): Respect prio when inserting.
11079 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
11080 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
11081 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
11082 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
11083 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
11084 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
11085 * video/sm712.c (grub_video_sm712_adapter): Likewise.
11086
11087 Fix SDL driver ID.
11088
11089 * include/grub/video.h (grub_video_driver_id_t): New value
11090 GRUB_VIDEO_DRIVER_SDL.
11091 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
11092
7d24e434
CW
110932010-06-17 Colin Watson <cjwatson@ubuntu.com>
11094
11095 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
11096 argument to printf.
11097 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11098
c88a83f6
CW
110992010-06-17 Colin Watson <cjwatson@ubuntu.com>
11100
11101 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
11102 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11103
094dfb69
CW
111042010-06-17 Colin Watson <cjwatson@ubuntu.com>
11105
11106 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
11107 directly, and recommend grub-install instead.
11108 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11109
2164da6b
CW
111102010-06-17 Colin Watson <cjwatson@ubuntu.com>
11111
11112 Fix i386-pc prefix handling with nested partitions (Debian bug
11113 #585068). Note that the case where the core image is booted using
11114 multiboot and relocated from its original location still requires
11115 more work.
11116
11117 * kern/i386/pc/init.c (make_install_device): If the prefix starts
11118 with "(,", fill the boot drive in between those two characters, but
11119 expect that a full partition specification including partition map
11120 names will follow.
11121 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
11122 specified, write a prefix without the drive name but including a
11123 full partition specification.
11124
044e2e60
CW
111252010-06-16 Colin Watson <cjwatson@ubuntu.com>
11126
11127 * util/grub-mkconfig.in: Ignore non-option arguments, for
11128 compatibility with older versions (before 2010-06-12) which did the
11129 same. In particular, this makes it easier to ship an update-grub
11130 wrapper which is compatible with that used with GRUB Legacy (Debian
11131 bug #586056).
11132
5591324f
GS
111332010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11134
11135 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
11136 for manual page generation.
11137
662e24d5
GS
111382010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11139
11140 * po/POTFILES: Remove leftover commands/handler.c.
11141
8d70754e
CW
111422010-06-14 Colin Watson <cjwatson@ubuntu.com>
11143
11144 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11145 left this script non-functional.
11146
41160e2e
CW
111472010-06-14 Colin Watson <cjwatson@ubuntu.com>
11148
11149 * docs/man/grub-emu.h2m: New file.
11150
b5309cc1
CW
111512010-06-13 Colin Watson <cjwatson@ubuntu.com>
11152
11153 * docs/grub.texi (Commands): Document reduced command set in rescue
11154 mode.
11155 (cpuid): New section.
11156
fcb2d090
GS
111572010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11158
11159 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11160 new partition naming style.
11161 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11162
96e5c556
BC
111632010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11164
11165 Add "-o grub.iso" like cmdline options support.
11166
11167 * util/grub-install.in: Improve cmdline option parsing.
11168 * util/grub-mkconfig.in: Likewise.
11169 * util/grub-mkrescue.in: Likewise.
11170 * util/grub-reboot.in: Likewise.
11171 * util/grub-set-default.in: Likewise.
11172 * util/i386/efi/grub-install.in: Likewise.
11173 * util/ieee1275/grub-install.in: Likewise.
11174 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11175
c16be99b
CW
111762010-06-12 Colin Watson <cjwatson@ubuntu.com>
11177
11178 * .bzrignore: Ignore 41_custom.
11179
ce08a9fb
TS
111802010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11181
11182 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11183
7beac90c
CW
111842010-06-12 Colin Watson <cjwatson@ubuntu.com>
11185
11186 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11187 prototype declarations.
11188
11189 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11190 generating fs, partmap, and video lists.
11191 * include/grub/fs.h (grub_fs_register): Omit prototype if
11192 GRUB_LST_GENERATOR is defined.
11193 * include/grub/partition.h (grub_partition_map_register): Likewise.
11194 * include/grub/video.h (grub_video_register): Likewise.
11195
1c8f0f8d
JM
111962010-06-12 Javier Martín <lordhabbit@gmail.com>
11197
11198 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11199
a6085973
TS
112002010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11201
11202 * util/grub-mkrescue.in: Support --xorriso argument.
11203
25c56d29
VS
112042010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11205
11206 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11207 Suggested by: Thomas Schmitt.
11208
e03e4b24
VS
112092010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11210
11211 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11212 Suggested by: Thomas Schmitt.
11213
57711df6
VS
112142010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11215
11216 custom.cfg support.
11217
11218 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11219 * util/grub.d/41_custom.in: New file.
11220
ee62c427
CW
112212010-06-12 Colin Watson <cjwatson@ubuntu.com>
11222
11223 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11224 been merged back into normal.
11225
283af07a
CW
112262010-06-11 Colin Watson <cjwatson@ubuntu.com>
11227
11228 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11229 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11230
56a0d956
CW
112312010-06-11 Colin Watson <cjwatson@ubuntu.com>
11232
11233 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11234 when generating manual pages.
11235 * docs/man/grub-bin2h.h2m: New file.
11236 * docs/man/grub-editenv.h2m: New file.
11237 * docs/man/grub-fstest.h2m: New file.
11238 * docs/man/grub-install.h2m: New file.
11239 * docs/man/grub-macho2img.h2m: New file.
11240 * docs/man/grub-mkconfig.h2m: New file.
11241 * docs/man/grub-mkdevicemap.h2m: New file.
11242 * docs/man/grub-mkfont.h2m: New file.
11243 * docs/man/grub-mkimage.h2m: New file.
11244 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11245 * docs/man/grub-mkrelpath.h2m: New file.
11246 * docs/man/grub-mkrescue.h2m: New file.
11247 * docs/man/grub-ofpathname.h2m: New file.
11248 * docs/man/grub-pe2elf.h2m: New file.
11249 * docs/man/grub-probe.h2m: New file.
11250 * docs/man/grub-reboot.h2m: New file.
11251 * docs/man/grub-script-check.h2m: New file.
11252 * docs/man/grub-set-default.h2m: New file.
11253 * docs/man/grub-setup.h2m: New file.
11254
3a37e322
VS
112552010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 Use FOR_* macros instead of *_iterate whenever possible.
11258
11259 * commands/handler.c: Removed.
11260 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11261 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11262 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11263 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11264 (grub_probe_SOURCES): Remove kern/parser.c.
11265 (util/grub-script-check.c_DEPENDENCIES): Removed.
11266 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11267 and grub_script_check_init.c.
11268 (grub_script_check_init.lst): Removed.
11269 (grub_script_check_init.h): Likewise.
11270 (grub_script_check_init.c): Likewise.
11271 (pkglib_MODULES): Remove handler.mod and sh.mod.
11272 (handler_mod_SOURCES): Removed.
11273 (handler_mod_CFLAGS): Likewise.
11274 (handler_mod_LDFLAGS): Likewise.
11275 (normal_mod_SOURCES): Remove normal/handler.c.
11276 Add script/main.c, script/script.c, script/execute.c,
11277 script/function.c, script/lexer.c, grub_script.tab.c
11278 and grub_script.yy.c.
11279 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11280 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11281 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11282 (grub_setup_SOURCES): Remove kern/parser.c.
11283 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11284 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11285 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11286 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11287 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11288 (grub_setup_SOURCES): Remove kern/parser.c.
11289 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11290 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11291 * include/grub/command.h (grub_command_iterate): Removed.
11292 (FOR_COMMANDS): New macro.
11293 * include/grub/dl.h (grub_dl): New member next.
11294 (grub_dl_iterate): Removed.
11295 (grub_dl_head): New variable declaration.
11296 (FOR_DL_MODULES): New macro.
11297 * include/grub/fs.h: Include list.h.
11298 (grub_fs): Make next first element.
11299 (grub_fs_list): New variable declaration.
11300 (grub_fs_register): Make inline.
11301 (grub_fs_unregister): Likewise.
11302 (grub_fs_iterate): Removed.
11303 (FOR_FILESYSTEMS): New macro.
11304 * include/grub/handler.h: Removed.
11305 * include/grub/list.h (grub_list_hook_t): Removed.
11306 (grub_list_test_t): Likewise.
11307 (grub_list_pop): Likewise.
11308 (grub_list_iterate): Likewise.
11309 (grub_list_insert): Likewise.
11310 (FOR_LIST_ELEMENTS): New macro.
11311 * include/grub/parser.h (grub_parser_class): Removed.
11312 (grub_parser_register): Likewise.
11313 (grub_parser_unregister): Likewise.
11314 (grub_parser_get_current): Likewise.
11315 (grub_parser_set_current): Likewise.
11316 (grub_register_rescue_parser): Likewise.
11317 (grub_rescue_parse_line): New function.
11318 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11319 * include/grub/script_sh.h (grub_script_function_list): New variable
11320 declaration.
11321 (FOR_SCRIPT_FUNCTIONS): New macro.
11322 (grub_script_function_iterate): Removed.
11323 (grub_normal_parse_line): New prototype.
11324 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11325 (FOR_DISABLED_TERM_INPUTS): Likewise.
11326 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11327 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11328 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11329 element.
11330 (grub_video_register): Inline.
11331 (grub_video_unregister): Likewise.
11332 (grub_video_adapter_list): New variable declaration.
11333 (grub_video_iterate): Removed.
11334 (FOR_VIDEO_ADAPTERS): New macro.
11335 * kern/dl.c (grub_dl_list): Removed. All users updated.
11336 (grub_dl_iterate): Removed.
11337 * kern/fs.c (grub_fs_list): Make global.
11338 (grub_fs_register): Removed.
11339 (grub_fs_unregister): Likewise.
11340 (grub_fs_iterate): Likewise.
11341 * kern/handler.c: Removed.
11342 * kern/list.c (grub_list_pop): Removed.
11343 (grub_list_iterate): Likewise.
11344 (grub_list_insert): Likewise.
11345 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11346 (grub_prio_list_insert): Don't use grub_list_insert.
11347 * kern/main.c (grub_register_rescue_parser): Don't call
11348 grub_register_rescue_parser.
11349 * kern/parser.c (grub_parser_class): Removed.
11350 (grub_parser_execute): Use grub_rescue_parse_line.
11351 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11352 (grub_rescue_parser): Removed.
11353 (grub_register_rescue_parser): Likewise.
11354 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11355 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11356 (grub_auth_check_authentication): Likewise.
11357 * normal/completion.c (iterate_command): Removed.
11358 (grub_normal_do_completion): Use FOR_COMMANDS.
11359 * normal/handler.c: Removed.
11360 * normal/main.c (read_config_file): Remove parser changing.
11361 (grub_normal_execute): Don't call read_handler_list.
11362 (grub_normal_read_line_real): Statically allocate prompt.
11363 (grub_cmdline_run): Use grub_normal_parse_line.
11364 (GRUB_MOD_FINI): Don't call free_handler_list.
11365 * normal/menu_entry.c (run): Likewise.
11366 * script/function.c (grub_script_function_list): Make global.
11367 (grub_script_function_iterate): Removed.
11368 * script/main.c (grub_normal_parse_line): Make global.
11369 (grub_sh_parser): Removed.
11370 (GRUB_MOD_INIT): Likewise.
11371 (GRUB_MOD_FINI): Likewise.
11372 * tests/lib/functional_test.c (grub_functional_test): Use
11373 FOR_LIST_ELEMENTS.
11374 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11375 (grub_test_run): Use FOR_LIST_ELEMENTS.
11376 * tests/lib/unit_test.c (main): Likewise.
11377 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11378 grub_list_pop.
11379 * util/grub-fstest.c (grub_term_input_class): Removed.
11380 (grub_term_output_class): Likewise.
11381 * util/grub-probe.c: Likewise.
11382 * util/i386/pc/grub-setup.c: Likewise.
11383 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11384 * util/grub-script-check.c (main): Don't call grub_init_all and
11385 grub_fini_all.
11386 * video/video.c (grub_video_adapter_list): Make global.
11387 (grub_video_register): Removed.
11388 (grub_video_unregister): Likewise.
11389 (grub_video_iterate): Likewise.
11390
6289c3a7
VS
113912010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11394 reported by Henrique Ferreiro.
11395
91460247
RM
113962010-06-09 Robert Millan <rmh@gnu.org>
11397
11398 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11399 ones, when both are available.
11400
0ea7c4f9
GS
114012010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11402
11403 Make --version uniform and avoid hard-coded program name.
11404
11405 * util/grub-mkimage.c (main): Use `program_name' instead of
11406 hard-coded string.
11407 * util/i386/pc/grub-setup.c (main): Likewise.
11408 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11409 * util/grub-install.in: Save the basename of $0 in $self, and use the
11410 latter in informational messages. Use the same format for --version
11411 as the binary programs.
11412 * util/grub-mkconfig.in: Likewise.
11413 * util/grub-mkrescue.in: Likewise.
11414 * util/grub-reboot.in: Likewise.
11415 * util/grub-set-default.in: Likewise.
11416 * util/i386/efi/grub-install.in: Likewise.
11417 * util/ieee1275/grub-install.in: Likewise.
11418 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11419
e8a6f3b6
GS
114202010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11421
11422 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11423 embedding area. Use <= instead of == when checking for non-emptiness.
11424
f4d095d7
GS
114252010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11426
11427 * configure.ac: Add `.' to the directories searched for unifont.
11428
50e532ca
CW
114292010-06-08 Colin Watson <cjwatson@ubuntu.com>
11430
11431 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11432 grub_script.yy.h.
11433
d39f3dec
CW
114342010-06-08 Colin Watson <cjwatson@ubuntu.com>
11435
11436 * docs/grub.texi (History): Expand to cover GRUB 2.
11437 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11438 commands, not `terminal'.
11439 (serial): Likewise.
11440 (terminal_input): New section.
11441 (terminal_output): New section.
11442 (uppermem): New section (stub).
11443 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11444
6ef0ddb4
CW
114452010-06-08 Colin Watson <cjwatson@ubuntu.com>
11446
11447 * docs/grub.texi (Security): Menu entries are unrestricted by
11448 default, not restricted to superusers as I had previously thought.
11449 Reword to account for this.
11450
e0f4c438
CW
114512010-06-07 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * kern/emu/misc.c (device_mapper_null_log): New function.
11454 (grub_device_mapper_supported): New function.
11455 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11456 prototype.
11457 * kern/emu/hostdisk.c (find_partition_start): Check whether
11458 device-mapper is supported before trying to use it.
11459 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11460
da908200
CW
114612010-06-07 Colin Watson <cjwatson@ubuntu.com>
11462
11463 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11464 (File name syntax): Likewise.
11465 (help): --all is no longer supported in GRUB 2. Be more precise
11466 about pattern matching.
11467
fb55c3ac
CW
114682010-06-07 Colin Watson <cjwatson@ubuntu.com>
11469
11470 * normal/completion.c (grub_normal_do_completion): When completing
11471 arguments to "set" and the current word contains an equals sign,
11472 skip to after the equals sign before starting completion.
11473
258c2573
CW
114742010-06-07 Colin Watson <cjwatson@ubuntu.com>
11475
11476 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11477
ee75515e
CW
114782010-06-07 Colin Watson <cjwatson@ubuntu.com>
11479
11480 * docs/grub.texi (Network): New section.
11481 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11482 `(nd)' as in GRUB Legacy.
11483 (pxe_unload): New section.
11484
a6a700aa
CW
114852010-06-07 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11488 in the rescue shell, so recommend using `set' instead. Thanks,
11489 Jordan Uggla.
11490
4003dd38
CW
114912010-06-07 Colin Watson <cjwatson@ubuntu.com>
11492
11493 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11494 (password): New section.
11495 (password_pbkdf2): New section.
11496 (search): New section.
11497 (Security): New section.
11498 (Troubleshooting): New section, currently very incomplete.
11499 (Invoking grub-mkpasswd-pbkdf2): New section.
11500 (Internals): New section, currently very incomplete.
11501
e1cbcc40
CW
115022010-06-07 Colin Watson <cjwatson@ubuntu.com>
11503
11504 * util/grub.d/00_header.in: Add some more quoting (of
11505 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11506 work again.
11507 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11508
db8fa1ad
CW
115092010-06-07 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11512 to `count', fixing variable shadowing that broke the -c option.
11513
115142010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11515
11516 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11517 in case they contain spaces.
11518
f28a9212
CW
115192010-06-04 Colin Watson <cjwatson@ubuntu.com>
11520
11521 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11522 "part_" to partmap module names, in line with grub-install.
11523 Reported by: Jindřich Makovička (Debian bug #584426).
11524
9cdfe32f
CW
115252010-06-04 Colin Watson <cjwatson@ubuntu.com>
11526
11527 * util/grub-mkimage.c: Make target-related error messages slightly
11528 more helpful; -O talks about "format". Explicitly point to the use
11529 of -O if no target is specified.
11530 Reported by: Didier Raboud (Debian bug #584415).
11531
795b593a
CW
115322010-06-03 Colin Watson <cjwatson@ubuntu.com>
11533
11534 * INSTALL: Document several build requirements for optional features
11535 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11536
9d9b5833
GS
115372010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11538
11539 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11540 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11541 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11542
0819fec8
CW
115432010-06-02 Colin Watson <cjwatson@ubuntu.com>
11544
11545 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11546 Thanks to Jordan Uggla for spotting this.
11547
49396b4f
VS
115482010-06-02 Aleš Nesrsta <starous@volny.cz>
11549
11550 Finally make USB usable.
11551
11552 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11553 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11554 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11555 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11556 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11557 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11558 (GRUB_OHCI_FSMPS): Likewise.
11559 (GRUB_OHCI_PERIODIC_START): Likewise.
11560 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11561 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11562 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11563 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11564 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11565 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11566 (grub_ohci_transaction): Likewise.
11567 (grub_ohci_transfer): Improve condition detection algorithms.
11568 Handle toggle property. Program the transactions correctly.
11569 Improve error handling. Various important fixups.
11570 (grub_ohci_portstatus): Put register writes in right order.
11571 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11572 (grub_uhci_transfer): Don't show "failed" message on success.
11573 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11574 array.
11575 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11576 determine its size.
11577 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11578 before initialization is completed. Use IN direction for empty
11579 transfers. Use last_trans and compute toggle.
11580 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11581 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11582 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11583 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11584 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11585 (grub_usb_device): Increase toggle to 256.
11586 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11587 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11588 GRUB_USBMS_SUBCLASS_SFF8070.
11589 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11590 (grub_scsi_inquiry): New member page and alloc_length.
11591 (grub_scsi_request_sense): New structure.
11592 (grub_scsi_request_sense_data): Likewise.
11593 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11594 control.
11595 * disk/scsi.c (grub_scsi_request_sense): New function.
11596 (grub_scsi_test_unit_ready): Likewise.
11597 (grub_scsi_inquiry): Fill new fields.
11598 (grub_scsi_read_capacity): Likewise.
11599 (grub_scsi_read10): Add request sense at the end.
11600 (grub_scsi_read12): Likewise.
11601 (grub_scsi_write10): Likewise.
11602 (grub_scsi_write12): Likewise.
11603 (grub_scsi_open): Add Test Unit Ready.
11604 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11605 Support additional subclasses. Con't clear halt yet. Activate the
11606 proper config. Calculate LUNs correctly.
11607 (grub_usbms_transfer): Various important fixups.
11608
116092010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11610
11611 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11612 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11613 (grub_ohci_fini_hw): New function.
11614 (grub_ohci_restore_hw): Likewise.
11615 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11616 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11617 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11618
116192010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11620
11621 Dedicated DMA allocations.
11622
11623 * bus/pci.c (grub_memalign_dma32): New function
11624 (grub_dma_free): Likewise.
11625 (grub_dma_get_virt): Likewise.
11626 (grub_dma_get_phys): Likewise.
11627 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11628 (grub_ohci_pci_iter): Use dma32_alloc.
11629 (grub_ohci_transfer): Likewise.
11630 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11631 (grub_usb_bulk_readwrite): Likewise.
11632 * include/grub/pci.h: Add declarations.
11633
116342010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 CS5536 support.
11637
11638 * bus/cs5536.c: New file.
11639 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11640 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11641 (cs5536_mod_SOURCES): New variable.
11642 (cs5536_mod_CFLAGS): Likewise.
11643 (cs5536_mod_LDFLAGS): Likewise.
11644 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11645 machine/pci.h.
11646 (kernel_img_SOURCES): Add bus/cs5536.c.
11647 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11648 usb_keyboard.mod.
11649 (usb_mod_SOURCES): New variable.
11650 (usb_mod_CFLAGS): New variable.
11651 (usb_mod_LDFLAGS): New variable.
11652 (usbtest_mod_SOURCES): New variable.
11653 (usbtest_mod_CFLAGS): New variable.
11654 (usbtest_mod_LDFLAGS): New variable.
11655 (ohci_mod_SOURCES): New variable.
11656 (ohci_mod_CFLAGS): New variable.
11657 (ohci_mod_LDFLAGS): New variable.
11658 (usbms_mod_SOURCES): New variable.
11659 (usbms_mod_CFLAGS): New variable.
11660 (usbms_mod_LDFLAGS): New variable.
11661 (usb_keyboard_mod_SOURCES): New variable.
11662 (usb_keyboard_mod_CFLAGS): New variable.
11663 (usb_keyboard_mod_LDFLAGS): New variable.
11664 * include/grub/smbus.h: New file.
11665 * include/grub/cs5536.h: New file.
11666
0b35b2a9
CW
116672010-06-02 Colin Watson <cjwatson@ubuntu.com>
11668
11669 * util/grub.d/00_header.in: Add safety check to make sure that
11670 ${locale_dir} exists before trying to probe it.
11671
ca0afd5b
CW
116722010-06-02 Colin Watson <cjwatson@ubuntu.com>
11673
11674 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11675 per the GNU Coding Standards; this is now too obscure to be worth
11676 documenting.
11677 (QNX): Likewise.
11678 (chainloader): Remove cross-reference to `SCO UnixWare'.
11679
1c41aa78
CW
116802010-06-02 Colin Watson <cjwatson@ubuntu.com>
11681
11682 * docs/grub.texi (Chain-loading): New section.
11683 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11684 adjusted for GRUB 2.
11685 (SCO UnixWare): Likewise.
11686 (QNX): Likewise.
11687 (chainloader): Add reference to `Block list syntax'.
11688 (drivemap): New section.
11689 (parttool): New section.
11690
bb8ea0f5
CW
116912010-06-02 Colin Watson <cjwatson@ubuntu.com>
11692
11693 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11694 the grub shell'.
11695 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11696 (Installing GRUB using grub-install): Remove reference to the grub
11697 shell; mention `grub-mkimage' and `grub-setup' instead.
11698 (Invoking grub-install): Likewise.
11699 (Interface): Add reference to `Menu entry editor'.
11700 (serial): Remove `--device' option.
11701
288dd6ed
CW
117022010-06-02 Colin Watson <cjwatson@ubuntu.com>
11703
11704 * docs/grub.texi (Configuration): New section, documenting
11705 configuration file generation using grub-mkconfig. I've left a slot
11706 for documenting the full shell scripting format but have not yet
11707 started on writing that up.
11708 (Invoking grub-mkconfig): New section.
11709
34c9f0e9
CW
117102010-06-02 Colin Watson <cjwatson@ubuntu.com>
11711
11712 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11713 (GNU GRUB manual): Likewise.
11714 (General commands): Update description of `terminfo' for GRUB 2.
11715
9121567e
CW
117162010-06-02 Colin Watson <cjwatson@ubuntu.com>
11717
11718 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11719 (GRUB_MOD_INIT): Fix capitalisation.
11720 * docs/grub.texi (Command-line and menu entry commands): Document
11721 gettext and gptsync commands.
11722
ab631611
CW
117232010-06-02 Colin Watson <cjwatson@ubuntu.com>
11724
11725 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11726 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11727
bde4a9ac
CW
117282010-06-01 Colin Watson <cjwatson@ubuntu.com>
11729
11730 Add btrfs probing support, currently only in the single-device case.
11731
11732 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11733 function.
11734 (grub_guess_root_device): Call find_root_device_from_mountinfo
11735 before looking in /dev.
11736
b1d17e10
VS
117372010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11738
11739 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11740 GRUB_DISK_SIZE_UNKNOWN.
11741 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11742
dfbfe004
JS
117432010-05-31 Jiro SEKIBA <jir@unicus.jp>
11744
11745 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11746 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11747 corrupted or not synced properly.
11748
c2ffc8e9
VS
117492010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11752 Reported by: Seth Goldberg.
11753
56293166
VS
117542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11755
11756 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11757 addition of dest.
11758 Reported by: Seth Goldberg.
11759
7620e7de
VS
117602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11763 Reported by: Seth Goldberg.
11764
c837af3f
VS
117652010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11766
11767 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11768 64-bit address as signed on MIPS.
11769
c7c75cf4
CW
117702010-05-28 Colin Watson <cjwatson@ubuntu.com>
11771
11772 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11773 to the empty string.
11774
fa4b8490
BC
117752010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11776
11777 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11778
11779 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11780 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11781 * kern/misc.c (__enable_execute_stack): Disable on
11782 GRUB_MACHINE_EMU.
11783
a33075b9
CW
117842010-05-28 Colin Watson <cjwatson@ubuntu.com>
11785
11786 Make grub-probe work with symbolic links under /dev/mapper as well
11787 as with real block devices. The Linux world seems to be (at best)
11788 in transition here, and GRUB shouldn't get caught in the middle.
11789
11790 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11791 /dev/mapper.
11792
d8708134
CW
117932010-05-27 Colin Watson <cjwatson@ubuntu.com>
11794
11795 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11796 input files (in which case exit zero).
11797
db2102a0
CW
117982010-05-27 Colin Watson <cjwatson@ubuntu.com>
11799
11800 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11801 return NULL for various reasons even if it has a maximum-length
11802 buffer: for example, there might be a symlink loop, or the path
11803 might exceed PATH_MAX. If this happens, return NULL.
11804
5fdba519
RM
118052010-05-27 Robert Millan <rmh@gnu.org>
11806
11807 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11808 partmap module to handle cross-partmap setups.
11809 Reported by Orestes Mas. Gràcies!
11810
d1d368e4
CW
118112010-05-27 Colin Watson <cjwatson@ubuntu.com>
11812
11813 * util/grub-mkrescue.in: Initialise override_dir rather than
11814 assuming that it's unset or empty in the environment.
11815
95ac3c73
GS
118162010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11817
11818 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11819 variable index into p_index to suppress a warning with -Wshadow.
11820
7d8c0213
BC
118212010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11822
11823 * INSTALL: Added flex >= 2.5.35 requirement.
11824
db4d5813
VS
118252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11826
11827 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11828
f24f4300
VS
118292010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11830
11831 cmostest support.
11832
11833 * commands/i386/cmostest.c: New file.
11834 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11835 (cmostest_mod_SOURCES): New variable.
11836 (cmostest_mod_CFLAGS): Likewise.
11837 (cmostest_mod_LDFLAGS): Likewise.
11838 * conf/i386-pc.rmk: Likewise.
11839 * docs/grub.texi (Vendor power-on keys): New section.
11840 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11841 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11842 and GRUB_BUTTON_CMOS_ADDRESS.
11843 * util/grub.d/00_header.in: Handle powering-on by separate button.
11844
ad603f61
VS
118452010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11846
11847 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
11848 Removed drawing_scrollbar argument. All users updated
11849 Fixes #29792.
11850 Reported by Jo Shields
11851
3ecb080a
VS
118522010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11853
11854 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
11855 buffer since gfxterm handles double repaint.
11856
5f2316c1
VS
118572010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11858
11859 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
11860 * term/gfxterm.c (real_scroll): Likewise.
11861
9a25f885
VS
118622010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
11865 before calling BIOS.
11866
39fbb79a
VS
118672010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11868
11869 * include/grub/i18n.h: Always enable grub_gettext.
11870
228cfa97
VS
118712010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
11872
11873 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
11874 partition naming style.
11875
21717c8f
CW
118762010-05-21 Colin Watson <cjwatson@ubuntu.com>
11877
11878 * util/grub-mkconfig.in: Fix handling of -o so that it works when
11879 not the first option.
11880
c0f48e65
CW
118812010-05-20 Colin Watson <cjwatson@ubuntu.com>
11882
11883 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
11884
96779aec
CW
118852010-05-20 Colin Watson <cjwatson@ubuntu.com>
11886
11887 * util/misc.c: Move inclusion of <limits.h> to ...
11888 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
11889
fa9d256e
GS
118902010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
11891
11892 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
11893 Fix merge error in NetBSD code.
11894 (find_partition_start) [__NetBSD__]: Likewise.
11895
123b7a85
BC
118962010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
11897
11898 Fix grub-mkrescue usage unit testing.
11899
11900 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
11901
74276c0d
CF
119022010-05-18 Christian Franke <franke@computer.org>
11903
11904 * util/grub.d/10_windows.in: Use path names instead of
11905 drive letters to prevent warning from Cygwin 1.7.
11906 Add drivemap command to menuentry if needed.
11907
c4f7b523
ST
119082010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
11909
11910 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
11911 gnumach and gnumach.gz.
11912
95b97950
VS
119132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * include/grub/i18n.h (gettext): Inline instead of using #define.
11916 (grub_gettext): Likewise.
11917 (_): Likewise.
11918
01b8d2d7
VS
119192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
11922 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
11923 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
11924 (main): Add a slash after pkglibdirroot.
11925
654e1d1e
VS
119262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * util/grub-install.in: Add missing "in" keyword.
11929
26966aeb
VS
119302010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11931
11932 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
11933 Reported by: Seth Goldberg.
11934
75006747
VS
119352010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11936
11937 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
11938
74cbf5bd
CW
119392010-05-18 Colin Watson <cjwatson@ubuntu.com>
11940
11941 * configure.ac: Check for Linux device-mapper support.
11942
11943 * util/hostdisk.c (device_is_mapped): New function.
11944 (find_partition_start): New function, partly broken out from
11945 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
11946 device-mapper support added.
11947 (linux_find_partition): Use find_partition_start.
11948 (convert_system_partition_to_system_disk): Add `st' argument.
11949 Support Linux /dev/mapper/* devices if device-mapper support is
11950 available; only DM-RAID devices are understood at present.
11951 (find_system_device): Add `st' argument. Pass it to
11952 convert_system_partition_to_system_disk.
11953 (grub_util_biosdisk_get_grub_dev): Pass stat result to
11954 find_system_device and convert_system_partition_to_system_disk. Use
11955 find_partition_start.
11956
11957 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
11958 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
11959 * util/deviceiter.c [__linux__]: Define MINOR.
11960 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
11961 * util/mkdevicemap.c (grub_putchar): New function.
11962 (grub_getkey): New function.
11963 (grub_refresh): New function.
11964 (main): Set debug=all if -v -v is used.
11965
355b51e9
CW
119662010-05-18 Colin Watson <cjwatson@ubuntu.com>
11967
11968 Fix build with non-GNU libcs.
11969
11970 * util/misc.c (canonicalize_file_name): Move to ...
11971 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
11972 grub_make_system_path_relative_to_its_root.
11973
7fb5c25f
CW
119742010-05-18 Colin Watson <cjwatson@ubuntu.com>
11975
11976 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
11977 we handle finding grub-mkimage. Default to finding grub-mkimage in
11978 ${bindir} with program_transform_name applied, and provide a
11979 --grub-mkimage option to override this.
11980
1d3293d6
VS
119812010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 Remove grub-mkisofs.
11984
11985 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
11986 (grub_mkisofs_SOURCES): Removed.
11987 (grub_mkisofs_CFLAGS): Removed.
11988 * util/mkisofs/defaults.h: Removed.
11989 * util/mkisofs/eltorito.c: Likewise.
11990 * util/mkisofs/exclude.h: Likewise.
11991 * util/mkisofs/hash.c: Likewise.
11992 * util/mkisofs/include/: Likewise.
11993 * util/mkisofs/include/fctldefs.h: Likewise.
11994 * util/mkisofs/include/mconfig.h: Likewise.
11995 * util/mkisofs/include/prototyp.h: Likewise.
11996 * util/mkisofs/include/statdefs.h: Likewise.
11997 * util/mkisofs/iso9660.h: Likewise.
11998 * util/mkisofs/joliet.c: Likewise.
11999 * util/mkisofs/match.c: Likewise.
12000 * util/mkisofs/match.h: Likewise.
12001 * util/mkisofs/mkisofs.c: Likewise.
12002 * util/mkisofs/mkisofs.h: Likewise.
12003 * util/mkisofs/msdos_partition.h: Likewise.
12004 * util/mkisofs/multi.c: Likewise.
12005 * util/mkisofs/name.c: Likewise.
12006 * util/mkisofs/rock.c: Likewise.
12007 * util/mkisofs/tree.c: Likewise.
12008 * util/mkisofs/write.c: Likewise.
12009
5dde9afe
VS
120102010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12011
12012 Unify grub-mkimage accross platforms.
12013
12014 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
12015 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
12016 (grub_mkelfimage_SOURCES): Removed.
12017 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
12018 (util/grub-mkimage.c_DEPENDENCIES): .. this.
12019 (bin_UTILITIES): Add grub-mkimage.
12020 (grub_mkimage_SOURCES): New variable.
12021 (kernel_img_HEADERS): Remove machine/kernel.h.
12022 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
12023 (pkglib_PROGRAMS): Add kernel.img.
12024 (kernel_img_HEADERS): Add machine/kernel.h.
12025 (kernel_img_FORMAT): Removed.
12026 (bin_UTILITIES): Remove grub-mkimage.
12027 (grub_mkimage_SOURCES): Removed.
12028 (grub_mkimage_CFLAGS): Likewise.
12029 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12030 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
12031 (pkglib_PROGRAMS): Add kernel.img.
12032 (bin_UTILITIES): Remove grub-mkimage.
12033 (grub_mkimage_SOURCES): Removed.
12034 (grub_mkimage_CFLAGS): Likewise.
12035 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12036 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
12037 (pkglib_PROGRAMS): Add kernel.img.
12038 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
12039 (pkglib_PROGRAMS): Add kernel.img.
12040 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
12041 (grub_mkimage_SOURCES): Removed.
12042 (grub_mkimage_CFLAGS): Likewise.
12043 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12044 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
12045 (pkglib_PROGRAMS): Add kernel.img.
12046 (bin_UTILITIES): Remove grub-mkimage.
12047 (grub_mkimage_SOURCES): Removed.
12048 (grub_mkimage_CFLAGS): Likewise.
12049 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12050 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
12051 (grub_mkimage_SOURCES): Removed.
12052 (grub_mkimage_CFLAGS): Likewise.
12053 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12054 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
12055 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
12056 (grub_pe32_optional_header): ... this.
12057 (grub_pe64_optional_header): ... and this. All users updated.
12058 (GRUB_PE32_PE32_MAGIC): Split into ..
12059 (GRUB_PE32_PE32_MAGIC): .. this.
12060 (GRUB_PE32_PE64_MAGIC): .. and this.
12061 (GRUB_PE32_SIGNATURE_SIZE): New definition.
12062 * include/grub/elf.h (PT_GNU_STACK): New definition.
12063 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
12064 * include/grub/i386/efi/kernel.h: Likewise.
12065 * include/grub/i386/kernel.h: Likewise.
12066 * include/grub/i386/pc/kernel.h: Likewise.
12067 * include/grub/i386/qemu/boot.h: Likewise.
12068 * include/grub/mips/kernel.h: Likewise.
12069 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12070 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12071 * include/grub/powerpc/kernel.h: Likewise.
12072 * include/grub/sparc64/ieee1275/boot.h: Likewise.
12073 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12074 * include/grub/sparc64/kernel.h: Likewise.
12075 * include/grub/x86_64/efi/kernel.h: Likewise.
12076 * include/grub/x86_64/kernel.h: Likewise.
12077 * include/grub/offsets.h: New file.
12078 * include/grub/kernel.h (grub_module_info): Split into ...
12079 (grub_module_info32): ... this.
12080 (grub_module_info64): ... and this.
12081 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
12082 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
12083 (grub_boot_blocklist): Moved from here ...
12084 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
12085 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
12086 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
12087 * include/grub/types.h (grub_target_to_host16): Removed.
12088 (grub_target_to_host32): Likewise.
12089 (grub_target_to_host64): Likewise.
12090 (grub_host_to_target16): Likewise.
12091 (grub_host_to_target32): Likewise.
12092 (grub_host_to_target64): Likewise.
12093 (grub_host_to_target_addr): Likewise.
12094
12095 Support grub-mkrescue for efi, coreboot and qemu.
12096
12097 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
12098 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
12099 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
12100 * util/grub-mkrawimage.c: Moved from here ...
12101 * util/grub-mkimage.c: ... here. All users updated.
12102 (ALIGN_ADDR): Use image_target.
12103 (TARGET_NO_FIELD): New const.
12104 (image_target_desc): New type.
12105 (image_targets): New array.
12106 (grub_target_to_host64): Use image_target.
12107 (grub_target_to_host32): Likewise.
12108 (grub_target_to_host16): Likewise.
12109 (grub_host_to_target64): Likewise.
12110 (grub_host_to_target32): Likewise.
12111 (grub_host_to_target16): Likewise.
12112 (grub_host_to_target_addr): Likewise.
12113 (generate_image): Handle multiimage.
12114 (main): Require -O parameter. All users updated.
12115 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
12116 util/efi/grub-mkimage.c
12117 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
12118 New option --rom-directory.
12119 Use xorriso.
12120 * util/i386/efi/grub-mkimage.c: Removed.
12121 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
12122 (grub_target_to_host32): Likewise.
12123 (grub_target_to_host64): Likewise.
12124 (grub_host_to_target16): Likewise.
12125 (grub_host_to_target32): Likewise.
12126 (grub_host_to_target64): Likewise.
12127 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
12128 (grub_target_to_host32): Likewise.
12129 (grub_target_to_host64): Likewise.
12130 (grub_host_to_target16): Likewise.
12131 (grub_host_to_target32): Likewise.
12132 (grub_host_to_target64): Likewise.
12133
f4fc97d0
BC
121342010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
12135
12136 Source tree is reorganized for emu build.
12137
12138 * include/grub/util/console.h: Move from here...
12139 * include/grub/emu/console.h: ...to here.
12140 * include/grub/util/getroot.h: Move from here...
12141 * include/grub/emu/getroot.h: ...to here.
12142 * include/grub/util/hostdisk.h: Move from here...
12143 * include/grub/emu/hostdisk.h: ...to here.
12144 * util/console.c: Move from here...
12145 * kern/emu/console.c: ...to here.
12146 * util/getroot.c: Move from here...
12147 * kern/emu/getroot.c: ...to here.
12148 * util/grub-emu.c: Move from here...
12149 * kern/emu/main.c: ...to here.
12150 * util/hostdisk.c: Move from here...
12151 * kern/emu/hostdisk.c: ...to here.
12152 * util/hostfs.c: Move from here...
12153 * kern/emu/hostfs.c: ...to here.
12154 * util/mm.c: Move from here...
12155 * kern/emu/mm.c: ...to here.
12156 * util/pci.c: Move from here...
12157 * bus/emu/pci.c: ...to here.
12158 * util/sdl.c: Move from here...
12159 * video/emu/sdl.c: ...to here.
12160 * util/time.c: Move from here...
12161 * kern/emu/time.c: ...to here.
12162 * util/usb.c: Move from here...
12163 * bus/usb/emu/usb.c: ...to here.
12164
12165 * include/grub/emu/misc.h: New header for grub-emu functions.
12166 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12167
12168 * conf/any-emu.rmk: Rule updates for above renames.
12169 * conf/common.rmk: Likewise.
12170 * conf/i386-pc.rmk: Likewise.
12171 * conf/i386-qemu.rmk: Likewise.
12172 * conf/mips.rmk: Likewise.
12173 * conf/sparc64-ieee1275.rmk: Likewise.
12174 * conf/x86-efi.rmk: Likewise.
12175
12176 * disk/lvm.h: #include updates for above renames.
12177 * util/grub-mkrelpath.c: Likewise.
12178 * util/grub-probe.c: Likewise.
12179 * util/i386/pc/grub-setup.c: Likewise.
12180 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12181 * kern/emu/console.c: Likewise.
12182 * kern/emu/getroot.c: Likewise.
12183 * kern/emu/hostdisk.c: Likewise.
12184 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12185
12186 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12187 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12188 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12189 * util/misc.c: Remove grub-emu functions.
12190
cced9145
VS
121912010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12192
12193 Fix gfxmenu crash.
12194 Reported by: Thorsten Grützmacher.
12195
12196 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12197 timeout hook.
12198 (circprog_set_property): Register and unregister timeout hook.
12199 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12200 (label_destroy): Free template. and unregister hook.
12201 (label_set_state): New function.
12202 (label_set_property): Handle templates and hooks.
12203 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12204 timeout hook.
12205 (progress_bar_set_property): Register and unregister timeout hook.
12206 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12207 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12208 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12209 (update_timeout_visit): Removed.
12210 (update_timeouts): New function.
12211 (redraw_timeouts): Likewise.
12212 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12213 (grub_gfxmenu_clear_timeout): Likewise.
12214 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12215 (grub_gfxmenu_timeout_notify): Likewise.
12216 (grub_gfxmenu_timeout_notifications): New external variable.
12217 (grub_gfxmenu_timeout_register): New function.
12218 (grub_gfxmenu_timeout_unregister): Likewise.
12219
c6e5caab
VS
122202010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 Transform (broken) vga terminal into (working) vga video driver.
12223
12224 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12225 video/i386/pc/vga.c.
12226 * include/grub/video.h (grub_video_driver_id):
12227 Add GRUB_VIDEO_DRIVER_VGA.
12228 * term/i386/pc/vga.c: Renamed to ...
12229 * video/i386/pc/vga.c: ...this
12230 (DEBUG_VGA): Removed.
12231 (CHAR_WIDTH): Likewise.
12232 (CHAR_HEIGHT): Likewise.
12233 (TEXT_WIDTH): Likewise.
12234 (TEXT_HEIGHT): Likewise.
12235 (DEFAULT_FG_COLOR): Likewise.
12236 (DEFAULT_BG_COLOR): Likewise.
12237 (colored_char): Likewise.
12238 (xpos): Likewise.
12239 (ypos): Likewise.
12240 (cursor_state): Likewise.
12241 (fg_color): Likewise.
12242 (bg_color): Likewise.
12243 (text_buf): Likewise.
12244 (page): Likewise.
12245 (font): Likewise.
12246 (framebuffer): New variable.
12247 (set_read_map): Disabled.
12248 (setup): New variable.
12249 (is_target): Likewise.
12250 (grub_vga_mod_init): Likewise.
12251 (grub_vga_mod_fini): Likewise.
12252 (check_vga_mem): Likewise.
12253 (write_char): Likewise.
12254 (write_cursor): Likewise.
12255 (scroll_up): Likewise.
12256 (grub_vga_putchar): Likewise.
12257 (grub_vga_getcharwidth): Likewise.
12258 (grub_vga_getwh): Likewise.
12259 (grub_vga_getxy): Likewise.
12260 (grub_vga_gotoxy): Likewise.
12261 (grub_vga_cls): Likewise.
12262 (grub_vga_setcolorstate): Likewise.
12263 (grub_vga_setcursor): Likewise.
12264 (grub_video_vga_init): New function.
12265 (grub_video_vga_setup): Likewise.
12266 (grub_video_vga_fini): Likewise.
12267 (update_target): Likewise.
12268 (grub_video_vga_blit_bitmap): Likewise.
12269 (grub_video_vga_blit_render_target): Likewise.
12270 (grub_video_vga_set_active_render_target): Likewise.
12271 (grub_video_vga_get_active_render_target): Likewise.
12272 (grub_video_vga_swap_buffers): Likewise.
12273 (grub_video_vga_set_palette): Likewise.
12274 (grub_video_vga_get_info_and_fini): Likewise.
12275 (grub_vga_term): Removed.
12276 (grub_video_vga_adapter): New variable.
12277 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12278 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12279
2bf61a98
VS
122802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * video/readers/jpeg.c: Indented.
12283
09ddcd11
VS
122842010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12285
12286 Various jpeg cleanups.
12287
12288 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12289 (grub_jpeg_decode_quan_table): Use sizeof.
12290 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12291
e5507505
PH
122922010-05-05 Peter Hurley <No e-mail available> (tiny change)
12293
12294 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12295 tables. Ignore non-last ac bit.
12296 (grub_jpeg_decode_quan_table): Likewise.
12297
7e720a9b
VS
122982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12299
12300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12301 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12302 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12303 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12304 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12305 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12306
a7fc080b
VS
123072010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12310 error.
12311
2bf6012d
VS
123122010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12315
265d68cd
VS
123162010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12319 condition.
12320
123212010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12322
12323 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12324 part.
12325
265d68cd 123262010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12327
12328 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12329 pointers.
12330
265d68cd 123312010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12332
12333 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12334
d1b61374
CF
123352010-05-01 Christian Franke <franke@computer.org>
12336
12337 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12338 Remove broken Cygwin path conversion.
12339 * util/misc.c: [__CYGWIN__] Add include and define.
12340 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12341 for Cygwin 1.7.
12342 (make_system_path_relative_to_its_root): Simplify loop, replace early
12343 return by break.
12344 [__CYGWIN__] Add conversion to win32 path.
12345 Include "/" case in trailing slash removal.
12346
3558c6e9
VS
123472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12348
12349 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12350 Reported by: Seth Goldberg
12351
f5f3ff93
VS
123522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12353
12354 * commands/help.c (grub_cmd_help): Fix a typo.
12355 Reported by: Seth Goldberg
12356
d8b5cd40
VS
123572010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12360 name and add N_.
12361 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12362 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12363 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12364 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12365 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12366 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12367 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12368 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12369 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12370 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12371 * normal/context.c (GRUB_MOD_INIT): Likewise.
12372 * normal/main.c (GRUB_MOD_INIT): Likewise.
12373 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12374 * term/serial.c (GRUB_MOD_INIT): Likewise.
12375 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12376
88c14915
VS
123772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12378
12379 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12380 extra == 0.
12381
165134bc
VS
123822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * commands/iorw.c: New file.
12385 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12386 (iorw_mod_SOURCES): New variable.
12387 (iorw_mod_CFLAGS): Likewise.
12388 (iorw_mod_LDFLAGS): Likewise.
12389
c5ac9b32
VS
123902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 Hotkey support
12393
12394 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12395 * normal/main.c (hotkey_aliases): New variable.
12396 (grub_normal_add_menu_entry): Parse "--hotkey".
12397 * normal/menu_text.c (run_menu): Handle hotkeys.
12398
ce60689c
VS
123992010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * kern/i386/coreboot/init.c (grub_machine_init): Call
12402 grub_machine_mmap_init on qemu.
12403
0359d006
VS
124042010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * boot/i386/qemu/boot.S: Add a missing .code16.
12407
7819a456
VS
124082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 Use LBIO on coreboot.
12411
12412 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12413 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12414 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12415 New declaration.
12416 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12417 grub_machine_mmap_init on coreboot.
12418 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12419 GRUB_LINUXBIOS_MEMBER_LINK.
12420 (grub_machine_mmap_iterate): Fix declaration.
12421 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12422
7210dca9
VS
124232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 Split coreboot and multiboot ports.
12426
12427 * conf/i386-multiboot.rmk: New file.
12428 * configure.ac: Add multiboot port.
12429 * include/grub/i386/multiboot/boot.h: New file.
12430 * include/grub/i386/multiboot/console.h: Likewise.
12431 * include/grub/i386/multiboot/init.h: Likewise.
12432 * include/grub/i386/multiboot/kernel.h: Likewise.
12433 * include/grub/i386/multiboot/loader.h: Likewise.
12434 * include/grub/i386/multiboot/memory.h: Likewise.
12435 * include/grub/i386/multiboot/serial.h: Likewise.
12436 * include/grub/i386/multiboot/time.h: Likewise.
12437 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12438 * loader/multiboot.c: Likewise.
12439 * loader/multiboot_mbi2.c: Likewise.
12440 * util/grub-mkrescue.in: Generate multiboot rescue.
12441
6f8aaf68
VS
124422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12443
3080f7a7
VS
12444 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12445
124462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12447
12448 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12449
12450 * commands/terminal.c (abstract_terminal): New struct.
12451 (handle_command): New function. Based on grub_cmd_terminal_input.
12452 (grub_cmd_terminal_input): Use handle_command.
12453 (grub_cmd_terminal_output): Use handle_command.
12454
a8ebb841
BC
124552010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12456
12457 Fix comment handling.
12458
12459 * tests/grub_script_comments.in: New testcase.
12460 * conf/tests.rmk: Rules for new testcase.
12461 * script/yylex.l: Updated flex rules.
12462
bb06ba08
ST
124632010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12464
12465 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12466 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12467 if argc is 1.
bb06ba08 12468
cc9d2425
VS
124692010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12470
12471 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12472 autogen issues.
12473
460d8402
CF
124742010-04-26 Christian Franke <franke@computer.org>
12475
12476 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12477 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12478 (grub_get_prefix): Remove function.
12479 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12480 make_system_path_relative_to_its_root ().
12481 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12482
553c01f9
CF
124832010-04-24 Christian Franke <franke@computer.org>
12484
12485 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12486 (kernel_img_LDFLAGS): Remove -static-libgcc.
12487
2aec1692
CF
124882010-04-24 Christian Franke <franke@computer.org>
12489
12490 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12491 and CHECK_END_SYMBOL if grub-emu is built.
12492 Unset TARGET_OBJ2ELF if grub-emu is built
12493 without module support.
12494
f67dc308
JS
124952010-04-24 Jiro SEKIBA <jir@unicus.jp>
12496
12497 Nilfs2 support.
12498
12499 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12500 (grub_fstest_SOURCES): Likewise.
12501 (pkglib_MODULES): Add nilfs2.mod.
12502 (nilfs2_mod_SOURCES): New variable.
12503 (nilfs2_mod_CFLAGS): Likewise.
12504 (nilfs2_mod_LDFLAGS): Likewise.
12505 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12506 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12507 * fs/nilfs2.c: New file.
12508
4ba8d354
VS
125092010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12510
12511 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12512 is not supported.
12513
0d2c20c6
GS
125142010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12515
12516 Add grub-mkconfig support for NetBSD.
12517
12518 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12519 * util/grub-mkconfig.in: export new NetBSD specific variables.
12520 * po/POTFILES-shell: added 10_netbsd.in.
12521 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12522
bc4a2d83
BC
125232010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12524
12525 Fix emu build with grub-emu-pci and grub-emu-modules.
12526
12527 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12528 functions.
12529 * include/grub/libpciaccess.h: New file.
12530 * conf/any-emu.rmk: Update kernel headers for emu build.
12531
f48c87aa
VS
125322010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12535
18959385
VS
125362010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12539
0037de3f
VS
125402010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12543 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12544 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12545 util/ieee1275/ofpath.c.
12546 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12547 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12548 * include/grub/sparc64/ieee1275/boot.h
12549 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12550 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12551 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12552 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12553 const char *.
12554 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12555 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12556 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12557 install.
12558
38e55e90
GS
125592010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12560
12561 * util/grub-mkconfig.in: Corrected two == equality tests.
12562 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12563 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12564 expect a number appended to it.
12565 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12566 expects a number appended to it.
12567
a9e6ff28
VS
125682010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12569
12570 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12571
0b830b8f
VS
125722010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12573
12574 * util/hostdisk.c (make_device_name): Change to new partition naming.
12575
0973daeb
VS
125762010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12579
460d8402 125802010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12581
12582 * Makefile.in: Add missing localedir setting.
12583
0b456309
CW
125842010-04-14 Colin Watson <cjwatson@ubuntu.com>
12585
12586 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12587 mistake in r2156. Noticed by Anthony Fok.
12588
12589 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12590 @localedir@.
12591 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12592
08f46d62
BC
125932010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12594
12595 Fix a spurious, uninitialized variable warning.
12596
12597 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12598 Initialize variable, shdr.
12599 (grub_freebsd_load_elfmodule): Likewise.
12600 (grub_freebsd_load_elf_meta): Likewise.
12601
8c4a72d4
BC
126022010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12603
12604 Fix for escaped dollar in double quoted strings.
12605
12606 * script/yylex.l: Updated flex rules.
12607 * conf/tests.rmk: Rule for new testcase.
12608 * tests/grub_script_dollar.in: New testcase.
12609
ce44826e
CPE
126102010-04-13 Carles Pina i Estany <carles@pina.cat>
126112010-04-13 Colin Watson <cjwatson@ubuntu.com>
12612
12613 Enclose all translated strings in grub.cfg in single quotes, and
12614 escape them appropriately (Ubuntu bug #552921).
12615
12616 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12617 * util/grub.d/10_hurd.in: Use it.
12618 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12619 * util/grub.d/10_linux.in (linux_entry): Likewise.
12620
4b0cd8f8
VS
126212010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12622
12623 Fix cygwin compilation.
12624
12625 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12626 * include/grub/misc.h (__register_frame_info)
12627 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12628 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12629 * kern/misc.c (__register_frame_info)
12630 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12631 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12632
01fcf061
VS
126332010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12634
12635 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12636
5d04b11e
VS
126372010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 Unify libgcc processing.
12640
12641 * Makefile.in (kernel_img_LDFLAGS): New variable.
12642 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12643 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12644 overwriting.
12645 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12646 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12647 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12648 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12649 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12650 overwriting. Remove -lgcc and -static-libgcc
12651 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12652 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12653 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12654 (kernel_img_LDFLAGS): Append instead of overwriting.
12655 Remove -lgcc and -static-libgcc
12656 * conf/sparc64-ieee1275.rmk: Likewise.
12657 * include/grub/powerpc/libgcc.h: Move to ...
12658 * include/grub/libgcc.h: .. this.
12659 * include/grub/libgcc.h: Don't export most of the function on x86.
12660 (__bswapsi2): New export.
12661 (__bswapdi2): Likewise.
12662 * include/grub/mips/libgcc.h: Removed.
12663 * include/grub/sparc64/libgcc.h: Likewise.
12664
b7f3ac29
VS
126652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12668 disk_info_msg (conflicts with gettexting into languages with cases).
12669
2c7031b1
GS
126702010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12671
12672 Add grub-probe support for NetBSD.
12673
12674 * util/getroot.c (find_root_device): Convert block device to
12675 character device on NetBSD.
12676 * util/probe.c (probe): Require character device on NetBSD.
12677 * util/hostdisk.c: NetBSD specific headers.
12678 (configure_device_driver): new function to tune device driver
12679 parameters (currently only for NetBSD floppy driver).
12680 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12681 via disklabel ioctl).
12682 (open_device): call configure_device_driver on NetBSD.
12683 (convert_system_partition_to_system_disk): NetBSD specific code.
12684 (device_is_wholedisk): Likewise.
12685 (grub_util_biosdisk_get_grub_dev): Likewise.
12686 (make_device_name): Fixed a typo in bsd_part_str.
12687 * configure.ac: check for opendisk() and getrawpartition() on
12688 NetBSD and set LIBUTIL.
12689 * Makefile.in: add LIBUTIL to LIBS.
12690
f516290c
BC
126912010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12692
12693 Documentation fix.
12694
12695 * util/grub-script-check.c: Better help message.
12696
d8dcc0df
BC
126972010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12698
12699 Fix FreeBSD build.
12700
12701 * configure.ac: Flex version check.
12702 * conf/common.rmk: Add -Wno-error to sh.mod.
12703 * script/yylex.l: Remove all #pragma.
12704
6734334a
VS
127052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12708 prototype.
12709 Reported by: Seth Goldberg.
12710
daea6abd
VS
127112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12714 Rename "module" to "module2".
12715 Reported by: Seth Goldberg.
12716
f2fd9d2b
VS
127172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12720 EXPORT_FUNC.
12721 Reported by: Seth Goldberg.
12722
be124579
VS
127232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12724
12725 * lib/posix_wrap/locale.h: Add missing file.
12726 Reported by: Seth Goldberg.
12727
ef5da797
VS
127282010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 grub-emu module load support.
12731
12732 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12733 NO_DYNAMIC_MODULES switched to this.
12734 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12735 (CFLAGS): Likewise.
12736 * conf/any-emu.rmk: Generate symlist.
12737 (kernel_img_HEADERS): Add util/datetime.h.
12738 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12739 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12740 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12741 kern/$(target_cpu)/cache.S.
12742 * configure.ac (grub-emu-modules): New option.
12743 * genmk.rb: Handle multiple source lists.
12744 * include/grub/sdl.h: New file.
12745 * include/grub/libusb.h: Likewise.
12746 * util/grub-emu.c (main): Hanle (host) root.
12747 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12748 GRUB_ERR_UNKNOWN_DEVICE.
12749 * util/misc.c: Move mm functions to ...
12750 * util/mm.c: ... here. All users updated.
12751
47822096
VS
127522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12755 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12756 missing files.
12757 (maintainer-clean): Remove libgcrypt-grub.
12758
5d7e7445
VS
127592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12762
25f4e252
EC
127632010-04-09 EFI Coder <eficoder@hotmail.com>
12764
12765 * normal/menu_text.c (print_message): Clean up the message and show
12766 the Fn information when on EFI
12767 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12768
027de555
VS
127692010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12770
12771 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12772 All users updated.
12773 * normal/crypto.c (read_crypto_list): Likewise.
12774 * normal/dyncmd.c (read_command_list): Likewise.
12775 * normal/term.c (read_terminal_list): Likewise.
12776 * normal/main.c (read_lists): Use explicit prefix.
12777 (read_lists_hook): Use read_lists.
12778 (grub_normal_execute): Likewise.
12779
47779711
VS
127802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12783 Reported by: Thomas Schmitt.
12784 Add -no-emul-boot to grub-mkisofs parameters.
12785
1118c32e
VS
127862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * font/font.c: Indented.
12789
7d652447
BC
127902010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12791
12792 Elif support to GRUB script (by Deepak Vankadaru).
12793
12794 * tests/grub_script_if.in: New testcase.
12795 * conf/tests.rmk: Rule for new testcase.
12796 * script/parser.y: Grammar rules for elif.
12797
34bb22df
BC
127982010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12799
12800 While and until loops support to GRUB script.
12801
12802 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12803 (grub_script_create_cmdwhile): New function prototype.
12804 (grub_script_execute_cmdwhile): New function prototype.
12805 * script/execute.c (grub_script_execute_cmdwhile): New function.
12806 * script/parser.y (command): New commands.
12807 (whilecmd): New grammar rule.
12808 (untilcmd): New grammar rule.
12809 * script/script.c (grub_script_create_cmdwhile): New function.
12810 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12811 function.
12812
12813 * tests/grub_script_while1.in: New testcase.
12814 * conf/tests.rmk: Rule for new testcase.
12815
e215d8e0
VS
128162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12819 as *.jpg.
12820
d7c43ba1
MV
128212010-04-09 Mario Vazquez <mariovazq@gmail.com>
12822
12823 GRUB_BACKGROUND support.
12824
12825 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12826 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12827
d64795c0
VS
128282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 12831 Idea by: Mario Vazquez
d64795c0
VS
12832
12833 * util/grub.d/00_header.in: Load pf2 and image modules.
12834
f267f83a
VS
128352010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12836
12837 grub-mkconfig multiple terminal support.
12838
12839 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12840 * util/grub.d/00_header.in: Likewise.
12841
b7841ceb
VS
128422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12843
12844 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12845 we use cd $(srcdir).
12846
df60998c
CW
128472010-04-08 Colin Watson <cjwatson@ubuntu.com>
12848
12849 * util/grub.d/10_linux.in: Only use the first word of
12850 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
12851 spaces in GRUB_DISTRIBUTOR.
12852 * util/grub.d/10_kfreebsd.in: Likewise.
12853 * util/grub.d/10_hurd.in: Likewise.
12854
fa09c82e
BC
128552010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
12856
14e18ae3 12857 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12858
12859 * tests/util/grub-shell.in: Remove -serial stdio option.
12860
daf892b3
BC
128612010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12862
12863 POSIX header file wrappers.
12864
12865 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
12866 equivalents.
12867 * lib/posix_wrap/ctype.h: Likewise.
12868 * lib/posix_wrap/errno.h: Likewise.
12869 * lib/posix_wrap/langinfo.h: Likewise.
12870 * lib/posix_wrap/limits.h: Likewise.
12871 * lib/posix_wrap/localcharset.h: Likewise.
12872 * lib/posix_wrap/stdint.h: Likewise.
12873 * lib/posix_wrap/stdio.h: Likewise.
12874 * lib/posix_wrap/stdlib.h: Likewise.
12875 * lib/posix_wrap/string.h: Likewise.
12876 * lib/posix_wrap/sys/types.h: Likewise.
12877 * lib/posix_wrap/unistd.h: Likewise.
12878 * lib/posix_wrap/wchar.h: Likewise.
12879 * lib/posix_wrap/wctype.h: Likewise.
12880 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
12881 (grub_script.yy.h): Likewise.
12882 * script/yylex.l: Remove POSIX emulation #defines.
12883 * Makefile.in (POSIX_CFLAGS): New variable.
12884 (GNULIB_UTIL_CFLAGS): Likewise.
12885
12886 Regexp support.
12887
12888 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
12889 (regexp_mod_SOURCES): New variable.
12890 (regexp_mod_CFLAGS): Likewise.
12891 (regexp_mod_LDFLAGS): Likewise.
12892 * commands/regexp.c: New file.
12893 * gnulib/regcomp.c: New file. Imported from gnulib.
12894 * gnulib/regex.c: Likewise.
12895 * gnulib/regex_internal.c: Likewise.
12896 * gnulib/regex_internal.h: Likewise.
12897 * gnulib/regexec.c: Likewise.
12898 * gnulib/regex.h: Likewise.
12899
974ac4f7
VS
129002010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
12903 unsupported video mode types.
12904
2622c3ff
VS
129052010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
12908
064cb524
VS
129092010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12910
12911 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
12912 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
12913
a8c3b552
VS
129142010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12915
12916 Remove unused grub_vga_get_font.
12917
12918 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
12919 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
12920
187bbe3d
GS
129212010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12922
12923 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
12924 * include/grub/misc.h: Likewise.
12925
b9396631
GS
129262010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12927
12928 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
12929 for which failure is fatal.
12930
50479feb
GS
129312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12932
12933 * util/grub-install.in: Use mkdir -p to create grub directory.
12934 * util/i386/efi/grub-install.in: Likewise.
12935 * util/ieee1275/grub-install.in: Likewise.
12936
b1654fdf
GS
129372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12938
12939 * Makefile.in (LEX): new variable.
12940
bd5a6415
GS
129412010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
12942
12943 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
12944 `=' and added double quotes on operands of this equality test.
12945
3db3a82b
VS
129462010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12947
12948 * Makefile.in (uninstall): Remove a leftover debug echo.
12949 Reported by: Grégoire Sutre
12950
38023412
VS
129512010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 MIPS multiboot2 support.
12954
12955 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
12956 (multiboot2_mod_SOURCES): New variable.
12957 (multiboot2_mod_CFLAGS): Likewise.
12958 (multiboot2_mod_LDFLAGS): Likewise.
12959 (multiboot2_mod_ASFLAGS): Likewise.
12960 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
12961 definition.
12962 (MULTIBOOT_ENTRY_REGISTER): Likewise.
12963 (MULTIBOOT_MBI_REGISTER): Likewise.
12964 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
12965 (MULTIBOOT_ELF32_MACHINE): Likewise.
12966 (MULTIBOOT_ELF64_MACHINE): Likewise.
12967 * include/grub/mips/multiboot.h: New file.
12968 * include/grub/video.h (grub_video_driver_id): New type
12969 GRUB_VIDEO_DRIVER_SM712.
12970 (grub_video_get_info_and_fini): Export.
12971 (grub_video_get_palette): Likewise.
12972 (grub_video_get_driver_id): Likewise.
12973 * include/multiboot2.h: Resynced with spec.
12974 * loader/i386/multiboot.c: Moved from here ...
12975 * loader/multiboot.c: ... here. All users updated.
12976 (grub_multiboot_boot): Use platform-specific macros.
12977 * loader/i386/multiboot_elfxx.c: Moved from here ...
12978 * loader/multiboot_elfxx.c: ... here. All users updated.
12979 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
12980 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
12981 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
12982
47674667
VS
129832010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 Import gnulib argp module.
12986
12987 * gnulib/argp-ba.c: New file.
12988 * gnulib/argp-eexst.c: Likewise.
12989 * gnulib/argp-fmtstream.c: Likewise.
12990 * gnulib/argp-fmtstream.h: Likewise.
12991 * gnulib/argp-fs-xinl.c: Likewise.
12992 * gnulib/argp-help.c: Likewise.
12993 * gnulib/argp-namefrob.h: Likewise.
12994 * gnulib/argp-parse.c: Likewise.
12995 * gnulib/argp-pin.c: Likewise.
12996 * gnulib/argp-pv.c: Likewise.
12997 * gnulib/argp-pvh.c: Likewise.
12998 * gnulib/argp-version-etc.c: Likewise.
12999 * gnulib/argp-version-etc.h: Likewise.
13000 * gnulib/argp-xinl.c: Likewise.
13001 * gnulib/argp.h: Likewise.
13002
495442ed
VS
130032010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13004
13005 * kern/device.c (grub_device_iterate): Clear errors after failed
13006 opening device.
13007
f9fd65df
VS
130082010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
13011 returned by firmware.
13012
af09641e
VS
130132010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13014
13015 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
13016 compilation on coreboot and qemu
13017
016883a5
VS
130182010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * include/multiboot2.h: Resync with spec.
13021
f97e1f7d
VS
130222010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13023
13024 Multiboot2 tag support
13025
13026 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
13027 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
13028 Remove loader/multiboot_loader.c.
13029 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
13030 (grub_multiboot2_real_boot): Likewise.
13031 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
13032 (grub_get_multiboot_mmap_count): New proto.
13033 (grub_fill_multiboot_mmap): Likewise.
13034 (grub_multiboot_set_video_mode): Likewise.
13035 (grub_multiboot_set_console): Likewise.
13036 (grub_multiboot_load): Likewise.
13037 (grub_multiboot_load_elf): Likewise.
13038 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
13039 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
13040 * include/multiboot.h: Resynced with specification.
13041 * include/multiboot2.h: Resynced with specification.
13042 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
13043 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
13044 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
13045 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
13046 users updated.
13047 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
13048 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
13049 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
13050 Removed.
13051 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
13052 Moved from here...
13053 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
13054 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13055 Moved from here...
13056 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
13057 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
13058 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
13059 All users updated.
13060 * loader/i386/multiboot_mbi2.c: New file.
13061
3506b90b
VS
130622010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13063
13064 Resync with gnulib.
13065
13066 * Makefile.in (GNULIB_CFLAGS): New variable.
13067 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
13068 (grub_script_check_CFLAGS): New variable.
13069 * gnulib/alloca.h: Resync with gnulib.
13070 * gnulib/error.c: Likewise.
13071 * gnulib/error.h: Likewise.
13072 * gnulib/fnmatch.c: Likewise.
13073 * gnulib/fnmatch_loop.c: Likewise.
13074 * gnulib/getdelim.c: Likewise.
13075 * gnulib/getline.c: Likewise.
13076 * gnulib/getopt.c: Likewise.
13077 * gnulib/getopt1.c: Likewise.
13078 * gnulib/getopt_int.h: Likewise.
13079 * gnulib/gettext.h: Likewise.
13080 * gnulib/progname.c: Likewise.
13081 * gnulib/progname.h: Likewise.
13082
394a3120
GS
130832010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
13084
13085 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
13086 which is the case with --disabled-nls.
13087
13088 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
13089 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
13090 * util/misc.c: Likewise.
13091 * util/mkisofs/mkisofs.c: Likewise.
13092 * util/mkisofs/mkisofs.h: Likewise.
13093
969d1c78
VS
130942010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 Simplify Apple CC support.
13097
13098 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
13099 Add 0 byte at the end not to have a symbol with empty target.
13100 * mmap/i386/pc/mmap_helper.S: Likewise.
13101 * genmk.rb: Ignore errors 2030 and 2050.
13102 * kern/i386/pc/startup.S: Use LOCAL when possible.
13103
8d2977bb
BC
131042010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
13105
13106 Testcase and the fix for final semicolon on cmdline.
13107
13108 * tests/grub_script_final_semicolon.in: New testcase.
13109 * conf/tests.rmk: Rules for the new testcase.
13110 * script/parser.y: Grammar fix.
13111
a7bd6915
BC
131122010-03-26 BVK Chaitanya <bvk@localhost>
13113
13114 Blank lines testcase for GRUB script.
13115
13116 * tests/grub_script_blanklines.in: New testcase.
13117 * conf/tests.rmk: Rules for the new testcase.
13118
e4ff6628
VS
131192010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 Don't use __FILE__.
13122
13123 * genmk.rb: Add -DGRUB_FILE to all C targets.
13124 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
13125 * include/grub/list.h: Likewise.
13126 * include/grub/misc.h: Likewise.
13127 * include/grub/mm.h: Likewise.
13128 * include/grub/test.h: Likewise.
13129 * kern/mm.c: Likewise.
13130 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13131
6a5cf6b6
VS
131322010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 Sunpc partitions support.
13135
13136 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
13137 (grub_fstest_SOURCES): Likewise.
13138 (pkglib_MODULES): Add part_sunpc.mod.
13139 (part_sunpc_mod_SOURCES): New variable.
13140 (part_sunpc_mod_CFLAGS): Likewise.
13141 (part_sunpc_mod_LDFLAGS): Likewise.
13142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13143 * partmap/sunpc.c: New file.
13144
746d9045
BC
131452010-03-26 BVK Chaitanya <bvk@localhost>
13146
13147 For loop support to GRUB script.
13148
13149 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13150 (grub_script_create_cmdfor): New function prototype.
13151 (grub_script_execute_cmdfor): New function prototype.
13152 * script/execute.c (grub_script_execute_cmdfor): New function.
13153 * script/parser.y (command): New for command.
13154 (forcmd): New grammar rule.
13155 * script/script.c (grub_script_create_cmdfor): New function.
13156 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13157 function.
13158 * tests/grub_script_for1.in: New testcase.
13159 * conf/tests.rmk: Rules for new testcase.
13160
18486b18
VS
131612010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13162
13163 Nested partitions
13164
13165 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13166 'partition' is NULL, grub_partition_get_start already does that.
13167 * commands/loadenv.c (check_blocklists): Likewise.
13168 (write_blocklists): Likewise.
13169 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13170 (grub_fstest_SOURCES): Likewise.
13171 (pkglib_MODULES): Add part_bsd.mod.
13172 (part_bsd_mod_SOURCES): New variable.
13173 (part_bsd_mod_CFLAGS): Likewise.
13174 (part_bsd_mod_LDFLAGS): Likewise.
13175 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13176 (grub_emu_SOURCES): Likewise.
13177 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13178 * include/grub/bsdlabel.h: New file.
13179 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13180 'get_name'.
13181 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13182 (grub_partition_map_list): New variable.
13183 (grub_partition_map_register): Inline.
13184 (grub_partition_map_unregister): Likewise.
13185 (FOR_PARTITION_MAPS): New macro.
13186 (grub_partition_map_iterate): Removed.
13187 (grub_partition_get_start): Handle nested partitions.
13188 * include/grub/msdos_partition.h: Remove bsd-related entries.
13189 (grub_pc_partition): Remove.
13190 * kern/disk.c (grub_disk_close): Free partition data.
13191 (grub_disk_adjust_range): Handle nested partitions.
13192 * kern/partition.c (grub_partition_map_probe): New function.
13193 (grub_partition_probe): Parse name to number, handle subpartitions.
13194 (get_partmap): New function.
13195 (grub_partition_iterate): Handle subpartitions.
13196 (grub_partition_get_name): Likewise.
13197 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13198 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13199 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13200 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13201 Set 'number'.
13202 (acorn_partition_map_probe): Remove.
13203 (acorn_partition_map_get_name): Likewise.
13204 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13205 Set 'number'.
13206 Set 'index' to 0 since there can be only one partition entry per sector.
13207 (amiga_partition_map_probe): Remove.
13208 (amiga_partition_map_get_name): Likewise.
13209 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13210 Set 'number'.
13211 Set 'offset' and 'index' to real positions of partitions.
13212 (apple_partition_map_probe): Remove.
13213 (apple_partition_map_get_name): Likewise.
13214 * partmap/bsdlabel.c: New file.
13215 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13216 Set 'number'.
13217 Allocate 'data' so it can be correctly freed.
13218 Set 'index' to offset inside sector.
13219 (gpt_partition_map_probe): Remove.
13220 (gpt_partition_map_get_name): Likewise.
13221 * partmap/msdos.c (grub_partition_parse): Remove.
13222 (pc_partition_map_iterate): Don't force raw access.
13223 Set 'number'.
13224 Make 'ext_offset' a local variable.
13225 (pc_partition_map_probe): Remove.
13226 (pc_partition_map_get_name): Remove.
13227 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13228 Set 'number'.
13229 (sun_partition_map_probe): Remove.
13230 (sun_partition_map_get_name): Likewise.
13231 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13232 (grub_pcpart_type): Likewise.
13233 * util/hostdisk.c (open_device): Handle new numbering scheme.
13234 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13235 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13236 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13237 * util/grub-install.in: Insert all subpartition modules.
13238 * util/ieee1275/grub-install.in: Likewise.
13239
a3940f88
AG
132402010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13241
13242 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13243 grammar.
13244
21b99926 132452010-03-24 Colin Watson <cjwatson@ubuntu.com>
13246
13247 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13248
bed1d352
CW
132492010-03-21 Colin Watson <cjwatson@ubuntu.com>
13250
13251 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13252 match where 'make install' puts them.
13253 * util/i386/efi/grub-install.in: Likewise.
13254
c9f58427
CW
132552010-03-19 Colin Watson <cjwatson@ubuntu.com>
13256
13257 * .bzrignore: Add gentrigtables, grub-script-check,
13258 grub_script_check_init.c, grub_script_check_init.h, and
13259 trigtables.c.
13260
f84afb27
VS
132612010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * kern/parser.c: Indented.
13264
ed0e3d30
VS
132652010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13268
0ea81d98
VS
132692010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13272 alpha_mask_size == 0 case.
13273
0cdc2a09
BC
132742010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13275
13276 GRUB shell lexer and parser improvements.
13277
13278 * conf/any-emu.rmk: Build rule updates.
13279 * conf/common.rmk: Likewise.
13280 * conf/i386-coreboot.rmk: Likewise.
13281 * conf/i386-efi.rmk: Likewise.
13282 * conf/i386-ieee1275.rmk: Likewise.
13283 * conf/i386-pc.rmk: Likewise.
13284 * conf/powerpc-ieee1275.rmk: Likewise.
13285 * conf/x86_64-efi.rmk: Likewise.
13286
13287 * configure.ac: Configure check for flex.
13288
13289 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13290 types.
13291 (grub_lexer_param): Struct member updates.
13292 (grub_parser_param): Likewise.
13293 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13294 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13295 (grub_script_lexer_init): Prototype update.
13296 (grub_script_lexer_record_start): Likewise.
13297 (grub_script_lexer_record_stop): Likewise.
13298 (grub_script_lexer_yywrap): New function prototype.
13299 (grub_script_lexer_fini): Likewise.
13300 (grub_script_execute_argument_to_string): Removed by...
13301 (grub_script_execute_argument_to_argv): ...better version.
13302
13303 * script/execute.c (ROUND_UPTO): New macro.
13304 (grub_script_execute_cmdline): Out of memory fixes.
13305 (grub_script_execute_menuentry): Likewise.
13306 (grub_script_execute_argument_to_string): Removed. Update all
13307 users by...
13308 (grub_script_execute_argument_to_argv): ...better version.
13309 * script/function.c (grub_script_function_create): Use
13310 grub_script_execute_argument_to_argv instead of
13311 grub_script_execute_argument_to_string.
13312
13313 * script/lexer.c (check_varstate): Removed.
13314 (check_textstate): Removed.
13315 (grub_script_lexer_record_start): Likewise.
13316 (grub_script_lexer_record_stop): Likewise.
13317 (recordchar): Replaced with...
13318 (grub_script_lexer_record): ...new function.
13319 (nextchar): Removed.
13320 (grub_script_lexer_init): Rewritten.
13321 (grub_script_yylex): Rewritten.
13322 (append_newline): New function.
13323 (grub_script_lexer_yywrap): New function.
13324 (grub_script_lexer_fini): New function.
13325 (grub_script_yyerror): Sets error flag.
13326
13327 * script/yylex.l: New file.
13328 (grub_lexer_yyfree): Wrapper for flex yyffre.
13329 (grub_lexer_yyalloc): Likewise.
13330 (grub_lexer_yyrealloc): Likewise.
13331 * script/parser.y: Refactored.
13332
13333 * script/script.c (grub_script_arg_add): Out of memory fixes.
13334 (grub_script_add_arglist): Likewise.
13335 (grub_script_create_cmdline): Likewise.
13336 (grub_script_create_cmdmenu): Likewise.
13337 (grub_script_add_cmd): Likewise.
13338 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13339 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13340 unnecessary code.
13341
13342 * tests/grub_script_echo1.in: New testcase.
13343 * tests/grub_script_vars1.in: New testcase.
13344 * tests/grub_script_echo_keywords.in: New testcase.
13345
1d63a066
VS
133462010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 Remove some redundancy in build system.
13349
13350 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13351 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13352 (TARGET_LDFLAGS): Add -nostdlib.
13353 (TARGET_IMG_LDFLAGS): Likewise.
13354 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13355 anything since mmap isn't available.
13356 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13357 Add util/time.c.
13358 (pkglib_MODULES): Remove reboot.mod.
13359 (reboot_mod_SOURCES): Removed.
13360 (reboot_mod_CFLAGS): Likewise.
13361 (reboot_mod_LDFLAGS): Likewise.
13362 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13363 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13364 (DEFSYMFILES): Add kernel_syms.lst.
13365 (kernel_img_HEADERS): Add common headers.
13366 (symlist.c): New target.
13367 (kernel_syms.lst): Likewise.
13368 (pkglib_MODULES): Add memdisk.mod.
13369 (memdisk_mod_SOURCES): New variable.
13370 (memdisk_mod_CFLAGS): Likewise.
13371 (memdisk_mod_LDFLAGS): Likewise.
13372 (pkglib_MODULES): Add reboot.mod.
13373 (reboot_mod_SOURCES): New variable.
13374 (reboot_mod_CFLAGS): Likewise.
13375 (reboot_mod_LDFLAGS): Likewise.
13376 (pkglib_MODULES): Add date.mod.
13377 (date_mod_SOURCES): New variable.
13378 (date_mod_CFLAGS): Likewise.
13379 (date_mod_LDFLAGS): Likewise.
13380 (pkglib_MODULES): Add datehook.mod.
13381 (datehook_mod_SOURCES): New variable.
13382 (datehook_mod_CFLAGS): Likewise.
13383 (datehook_mod_LDFLAGS): Likewise.
13384 (pkglib_MODULES): Add lsmmap.mod.
13385 (lsmmap_mod_SOURCES): New variable.
13386 (lsmmap_mod_CFLAGS): Likewise.
13387 (lsmmap_mod_LDFLAGS): Likewise.
13388 (pkglib_MODULES): Add boot.mod.
13389 (boot_mod_SOURCES): New variable.
13390 (boot_mod_CFLAGS): Likewise.
13391 (boot_mod_LDFLAGS): Likewise.
13392 * conf/i386-coreboot.rmk: Removed redundant parts.
13393 * conf/i386-ieee1275.rmk: Likewise.
13394 * conf/i386-pc.rmk: Likewise.
13395 * conf/mips-yeeloong.rmk: Likewise.
13396 * conf/mips.rmk: Likewise.
13397 * conf/powerpc-ieee1275.rmk: Likewise.
13398 * conf/sparc64-ieee1275.rmk: Likewise.
13399 * conf/x86_64-efi.rmk: Likewise.
13400 * conf/i386-coreboot.rmk: Moved qemu parts ..
13401 * conf/i386-qemu.rmk: ... here
13402 * conf/i386-efi.rmk: Moved common parts to...
13403 * conf/x86-efi.rmk: ... here.
13404 * conf/i386.rmk: Added modules common to all x86 variants.
13405 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13406 * disk/memdisk.c: Remove grub/machine/kernel.h.
13407 * gensymlist.sh.in: Include symbol.h.
13408 * hook/datehook.c: Correct module name.
13409 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13410 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13411 * include/grub/i386/efi/serial.h: New file.
13412 * include/grub/x86_64/efi/serial.h: Likewise.
13413 * util/time.c: Likewise.
13414 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13415
463ac55f
CK
134162010-03-14 Colin King <colin.king@ubuntu.com>
134172010-03-14 Colin Watson <cjwatson@ubuntu.com>
13418
13419 Shrink the pre-partition-table part of boot.img by eight bytes.
13420
13421 * boot/i386/pc/boot.S (ERR): New macro.
13422 (chs_mode): Use ERR.
13423 (geometry_error): Likewise.
13424 (hd_probe_error): Remove. This is only used once, so we wrwite
13425 it inline instead.
13426 (read_error): Instead of printing read_error_string, just set up
13427 %si and fall through to ...
13428 (error_message): ... this new function, also used by ERR.
13429
08e46ede
CW
134302010-03-14 Colin Watson <cjwatson@ubuntu.com>
13431
13432 Speed up consecutive hostdisk operations on the same device.
13433
13434 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13435 (grub_util_biosdisk_open): Initialise disk->data.
13436 (struct linux_partition_cache): New structure.
13437 (linux_find_partition): Cache partition start positions; these are
13438 expensive to compute on every read and write.
13439 (open_device): Cache open file descriptor in disk->data, so that we
13440 don't have to reopen it and flush the buffer cache for consecutive
13441 operations on the same device.
13442 (grub_util_biosdisk_close): New function.
13443 (grub_util_biosdisk_dev): Set `close' member.
13444
13445 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13446 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13447 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13448 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13449 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13450
4a6d2d06
VS
134512010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 Compile parts of grub-emu as modules.
13454
13455 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13456 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13457 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13458 (all-local): Add $(GRUB_EMU).
13459 (install-local): Install $(GRUB_EMU).
13460 (uninstall): Uninstall $(GRUB_EMU).
13461 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13462 * kern/dl.c: Likewise.
13463 * commands/sleep.c: Not include machine/time.h.
13464 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13465 (COMMON_CFLAGS): Likewise.
13466 (sbin_UTILITIES): Remove grub-emu.
13467 (grub_emu_SOURCES): Removed.
13468 (kernel_img_RELOCATABLE): New variable.
13469 (pkglib_PROGRAMS): Add kernel.img.
13470 (kernel_img_SOURCES): New variable
13471 (kernel_img_CFLAGS): Likewise.
13472 (kernel_img_LDFLAGS): Likewise.
13473 (TARGET_NO_STRIP): Likewise.
13474 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13475 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13476 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13477 (grub-emu): New target.
13478 (GRUB_EMU): New variable.
13479 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13480 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13481 * loader/xnu.c: Likewise.
13482 * include/grub/pci.h: Likewise.
13483 * genemuinit.sh: New file.
13484 * genemuinitheader.sh: Likewise.
13485 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13486 Support TARGET_NO_DYNAMIC_MODULES.
13487 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13488 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13489 * disk/loopback.c: Likewise.
13490 * font/font_cmd.c: Likewise.
13491 * partmap/acorn.c: Likewise.
13492 * partmap/amiga.c: Likewise.
13493 * partmap/apple.c: Likewise.
13494 * partmap/gpt.c: Likewise.
13495 * partmap/msdos.c: Likewise.
13496 * partmap/sun.c: Likewise.
13497 * parttool/msdospart.c: Likewise.
13498 * term/gfxterm.c: Likewise.
13499 * video/bitmap.c: Likewise.
13500 * video/readers/jpeg.c: Likewise.
13501 * video/readers/png.c: Likewise.
13502 * video/readers/tga.c: Likewise.
13503 * video/video.c: Likewise.
13504 * util/grub-emu.c (read_command_list): Removed.
13505 (main): Don't call util_init_nls.
13506 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13507 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13508
91fdd2ed
VS
135092010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13512 date.mod, datehook.mod.
13513 (datetime_mod_SOURCES): New variable.
13514 (datetime_mod_CFLAGS): Likewise.
13515 (datetime_mod_LDFLAGS): Likewise.
13516 (date_mod_SOURCES): Likewise.
13517 (date_mod_CFLAGS): Likewise.
13518 (date_mod_LDFLAGS): Likewise.
13519 (datehook_mod_SOURCES): Likewise.
13520 (datehook_mod_CFLAGS): Likewise.
13521 (datehook_mod_LDFLAGS): Likewise.
13522 * conf/sparc64-ieee1275.rmk: Likewise.
13523 * lib/ieee1275/datetime.c: New file.
13524
873ccae6
VS
135252010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13526
13527 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13528 (ieee1275_fb_mod_SOURCES): New variable.
13529 (ieee1275_fb_mod_CFLAGS): Likewise.
13530 (ieee1275_fb_mod_LDFLAGS): Likewise.
13531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13532 New proto.
13533 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13534 (HEAP_MAX_ADDR): Likewise.
13535 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13536 type.
13537 Correct stop condition.
13538 (grub_ieee1275_devices_iterate): New function.
13539 * video/ieee1275.c: New file.
13540
601c97c0
VS
135412010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13542
13543 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13544
13545 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13546 as scratch.
13547 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13548 SCRATCH_PAD_DISKBOOT as scratch.
13549 (bootit): Pass Openfirmware pointer in %o4.
13550 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13551 of 0x200000.
13552 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13553 with util/grub-mkrawimage.c.
13554 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13555 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13556 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13557 (grub_aout_load) [GRUB_UTIL]: Likewise.
13558 * include/grub/kernel.h (grub_modules_get_end): New proto.
13559 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13560 (SCRATCH_PAD_BOOT): New definition.
13561 (SCRATCH_PAD_DISKBOOT): Likewise.
13562 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13563 * include/grub/sparc64/ieee1275/ieee1275.h
13564 (grub_ieee1275_original_stack): New variable
13565 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13566 New definition
13567 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13568 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13569 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13570 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13571 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13572 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13573 (grub_platform_image_format_t): New type.
13574 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13575 * kern/main.c (grub_modules_get_end)
13576 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13577 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13578 (codestart): Switch stacks.
13579 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13580 variable.
13581 (grub_heap_init): Use grub_modules_get_end.
13582 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13583 stack.
13584 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13585 (main): Likewise.
13586 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13587
d68b491e
TG
135882010-03-14 Thorsten Glaser <tg@mirbsd.org>
13589
13590 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13591
4e02ed50
MK
135922010-03-08 Matt Kraai <kraai@ftbfs.org>
13593
13594 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13595 bug #559005).
13596
1f15fc1e
VS
135972010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13598
13599 * genmoddep.awk: Output all missing symbols and not only first.
13600
fce5d8ff
VS
136012010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 * NEWS: Put the date of 1.98 release.
13604
d1e8a02f
VS
136052010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13608 ft2build.h.
13609
696fd607
VS
136102010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13611
13612 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13613 completition in the middle of string.
13614
33e2e6f3
VS
136152010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * util/grub-mkrescue.in: Use mktemp with explicit template.
13618
b1f6d291
VS
136192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13622
2ac227c7
VS
136232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13624
13625 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13626 right pointer.
13627
8f9a632b
VS
136282010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 Fix FreeBSD compilation.
13631
13632 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13633 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13634
60b03859
VS
136352010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13636
13637 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13638
48a5a769
VS
136392010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13640
13641 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13642
3ab4bd77
VS
136432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13646
d116e0d8
RM
136472010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13648
13649 Support relative image path in theme file.
13650
13651 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13652 (image_set_property): Handle theme_dir and relative path.
13653
c7ef54aa
VS
136542010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13655
13656 * configure.ac: Alias amd64 to x86_64.
13657
fcee14ed
VS
136582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * NEWS: mention multiboot on EFI.
13661
d0780363
VS
136622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 * kern/main.c (grub_load_modules): Handle errors from init functions of
13665 embeded modules.
13666
41168ea4
VS
136672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 * normal/autofs.c (autoload_fs_module): Handle errors.
13670
b54d93ac
VS
136712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 Disable linux.mod on qemu-mips since it's not functional and leads
13674 to compilation failure.
13675
13676 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13677 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13678 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13679 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13680 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13681 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13682 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13683 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13684 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13685 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13686 Reported by: BVK Chaitanya
13687
fc8345da
JU
136882010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13689
13690 * INSTALL: Add gettext as a dependency and add qemu to a new section
13691 "Prerequisites for make-check".
13692
4760f979
CF
136932010-03-04 Christian Franke <franke@computer.org>
13694
13695 * util/grub-pe2elf.c: Add missing include "progname.h".
13696
f209b5b2
VS
136972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13698
13699 * normal/crypto.c (read_crypto_list): Fix a typo.
13700 Reported by: Seth Goldberg.
13701
b4b7be98
VS
137022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 13705 Reported by: Seth Goldberg.
b4b7be98 13706
c0ee0385
VS
137072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13710 ascii.bitmaps.
13711
a8efbf64
VS
137122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13713
13714 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 13715 Reported by: Seth Goldberg.
a8efbf64 13716
08dcd913
VS
137172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13718
13719 * util/i386/efi/grub-install.in: Copy gettext files.
13720
c4d0b332
VS
137212010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13724
c6f2fe52
VS
137252010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 Wait for user entry basing on presence of output rather than on errors.
13728
13729 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13730 (grub_install_newline_hook): Likewise.
13731 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13732 * normal/menu.c (show_menu): Check line_counter to determine presence
13733 of output.
13734 * normal/term.c (grub_normal_line_counter): New variable.
13735 (grub_normal_get_line_counter): New function.
13736 (grub_install_newline_hook): Likewise.
13737
5382b1e4
VS
137382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13741
5519963b
VS
137422010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * configure.ac: Update version to 1.98.
13745
72b28631
VS
137462010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13747
13748 * util/grub.d/10_linux.in (linux_entry): Don't default to
13749 gfxpayload=keep if Linux doesn't support video handover.
13750
c140a180
VS
137512010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 Don't compile video modules on yeeloong since video subsystem is part
13754 of kernel.
13755
13756 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13757 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13758 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13759 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13760 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13761 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13762 * include/grub/bitmap_scale.h: Likewise.
13763 * include/grub/bufio.h: Likewise.
13764 * include/grub/font.h: Likewise.
13765 * include/grub/gfxterm.h: Likewise.
13766 * include/grub/video.h: Likewise.
13767 * include/grub/vbe.h: Don't include video_fb.h.
13768 * video/i386/pc/vbe.c: Include video_fb.h.
13769 * commands/i386/pc/vbetest.c: Include video.h.
13770
a0ca21c2
CW
137712010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13772
13773 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13774 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13775 default entry if GRUB_SAVEDEFAULT=true. This allows using
13776 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13777 saving a new default on every boot.
13778
4a8a763c
VS
137792010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13782 * normal/term.c (read_terminal_list): Likewise.
13783 * normal/main.c (grub_normal_init_page): Likewise.
13784 (grub_normal_read_line_real): Likewise.
13785
607ffde2
VS
137862010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13787
13788 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13789 memory leak.
13790 Reported by: Seth Goldberg.
13791
2b8fa975
CW
137922010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13793
13794 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13795 duplicate declaration of `start'.
13796
618307dd
VS
137972010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13800 filename.
13801 Reported by: Georgy Buranov
13802
7dd05b96 138032010-02-20 Carles Pina i Estany <carles@pina.cat>
13804
13805 * util/grub-mkrawimage.c (usage): Change string formatting to
13806 improve gettext.
13807
d1484a42
MRA
138082010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13809
13810 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13811 backspace keys.
13812
42b1d186
VS
138132010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13814
13815 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13816 Reported by: Michael Suchanek.
13817
138182010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
13819
13820 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13821 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13822
d9f31a41
VS
138232010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 Remove any reference to non-free fonts.
13826
13827 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13828 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13829 uses non-free components.
13830 * font/font.c (grub_font_get_name): Remove example name.
13831 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13832 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13833 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13834 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13835
2793c71e
GB
138362010-02-16 Georgy Buranov <gburanov@gmail.com>
13837
13838 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13839
402e3779
VS
138402010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13841
13842 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13843 Double divisor.
13844 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13845 features.
13846 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
13847
0dd1e0dd
VS
138482010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13849
13850 * gensymlist.sh.in: Use TARGET_CC instead of CC.
13851
6fa7cfce
ST
138522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13853
13854 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
13855 * docs/grub.texi (Command-line and menu entry commands): Document play
13856 command.
13857
37c8483b
ST
138582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13859
13860 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
13861 parse arguments as inline tempo and notes. Move code for playing notes
13862 to...
13863 (play): ... new function.
13864
14da0fb7
ST
138652010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
13866
13867 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
13868 grub_uint16_t instead of short.
13869 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
13870 disk from little endian to cpu endianness.
13871
04459e70
ST
138722010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
13873
13874 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
13875 GRUB_TICKS_PER_SECOND instead of 120.
13876
a0876943
VS
138772010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
13880 escape sequence after \e.
13881
e29f95dc
VS
138822010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
13885 non-ASCII characters.
13886
d27859b2
VS
138872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13888
13889 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
13890 set root in single quotes to prevent \, from being unescaped.
13891
bc028f2f
VS
138922010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 Prevent unknown commands from stopping menuentry execution.
13895
13896 * script/execute.c (grub_script_execute_cmdline): Print error after
13897 unknown command.
13898
095f5f82
VS
138992010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13900
13901 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
13902 Reported by: Pavel Pisa.
13903
8c717950
VS
139042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
13907
904935c3
VS
139082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 Merge grub_ieee1275_map_physical into grub_map and rename to
13911 grub_ieee1275_map
13912
13913 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
13914 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
13915 Remove.
13916 * kern/ieee1275/openfw.c (grub_map): Rename to ...
13917 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
13918 necessary.
13919 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
13920
5b59a4e3
VS
139212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13922
13923 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
13924 opening and not after.
13925
69e137e8
VS
139262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
13929 constants.
13930
2c0fcc36
VS
139312010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
13934 (alloc_phys): Use ALIGN_UP instead of align_addr.
13935
8c6052ce
VS
139362010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
13939
17cec782
VS
139402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
13943
e0128bbd
VS
139442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
13947 verbose dprintf.
13948
ca62070b
VS
139492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 Fix over-4GiB seek on sparc64.
13952
13953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
13954 Replace pos_i and pos_lo with pos. All users updated.
13955 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13956 New constant.
13957 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
13958 Likewise.
13959 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
13960 and pos_lo.
13961
bdca2607
VS
139622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * util/grub-mkrawimage.c (main): Call set_program_name.
13965
da278c4d
VS
139662010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13967
13968 Properly align 64-bit targets.
13969
13970 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
13971 (generate_image): Use ALIGN_ADDR.
13972
b274d734
VS
139732010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 Properly create cross-endian images.
13976
13977 * include/grub/types.h (grub_host_to_target_addr): New macro
13978 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
13979
82da2062
VS
139802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
13981
13982 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
13983
7cae4377
VS
139842010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
13987
13988 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
13989 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
13990 (grub_linux_boot): Divide by 64K when on VESA.
13991
65a533e7
VS
139922010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 Support GRUB_GFXPAYLOAD_LINUX.
13995
13996 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
13997 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
13998
dd01d397
VS
139992010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
14002 to show messages instead of discarding them.
14003 Process errors after executing command and not before. Keep old method
14004 too as precaution.
14005
660960d6
VS
140062010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * configure.ac: Check for ft2build.h.
14009
62509f04
VS
140102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
14013
473df63d
VS
140142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * genkernsyms.sh.in: Use TARGET_CC.
14017
c98d2a13
CW
140182010-02-07 Colin Watson <cjwatson@ubuntu.com>
14019
14020 * NEWS: Update.
14021
6e14234c
VS
140222010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
14025 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
14026 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 14027
b255e9cf
YB
140282010-02-07 Yves Blusseau <blusseau@zetam.org>
14029
6e14234c 14030 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 14031
98e6959d
VS
140322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 Fix warnings in grub-emu when compiling with maximum warning options.
14035
14036 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
14037 (grub_arch_modules_addr): Return 0 and not NULL.
14038 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 14039 (xstrdup): Use newstr instead of dup.
f88d801b
VS
14040 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
14041 of disk to dsk to avoid shadowing.
74e4934e
VS
14042 (find_free_slot): Fix prototype.
14043 * util/getroot.c (grub_util_is_dmraid): Make static.
14044 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
14045 Add missing prototype.
14046 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 14047
74e31b5c
VS
140482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14049
14050 * loader/i386/linux.c (grub_linux_setup_video): Handle error
14051 appropriately.
14052
6b2ad14b
VS
140532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
14056 code out.
14057
8f891adc
VS
140582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
14061 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
14062 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
14063 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
14064 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
14065 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
14066
74b45184
VS
140672010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 * include/grub/err.h (grub_err_printf): Don't export.
14070
a4bced77
VS
140712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
14074
007d0695
VS
140752010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * include/grub/i18n.h (grub_gettext_dummy): Removed.
14078 * kern/misc.c (grub_gettext_dummy): Make static.
14079
b6c0d9c2
VS
140802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
14083 by non-valid ones.
14084 * kern/term.c (grub_putchar): Likewise.
14085
f51a90d0
VS
140862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
14089 buggy hook call and memory leak.
14090
6846cec5
VS
140912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14092
14093 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
14094
468d69fe
VS
140952010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14096
14097 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
14098
51906b8c
VS
140992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14100
14101 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
14102 modevar.
14103 Return grub_errno on allocation error.
14104
09706ce5
VS
141052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
14108
911df80c
YB
141092010-02-06 Yves Blusseau <blusseau@zetam.org>
14110
14111 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
14112 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
14113
3746a6bc
VS
141142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
14117 non-pxe disk.
14118 (grub_pxefs_open): Likewise.
14119
09706ce5
VS
141202010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14121
14122 * util/grub.d/10_hurd.in: Add --class information to menuentries.
14123 * util/grub.d/10_kfreebsd.in: Likewise.
14124 * util/grub.d/10_linux.in: Likewise.
14125
7cc192d9
VS
141262010-02-06 Colin D Bennett <colin@gibibit.com>
14127
14128 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
14129 (gfxmenu_mod_SOURCES): New variable.
14130 (gfxmenu_mod_CFLAGS): Likewise.
14131 (gfxmenu_mod_LDFLAGS): Likewise.
14132 * include/grub/term.h (grub_term_set_current_output): Declare
14133 argument as const.
14134 * docs/gfxmenu-theme-example.txt: New file.
14135 * gfxmenu/gfxmenu.c: Likewise.
14136 * gfxmenu/gui_box.c: Likewise.
14137 * gfxmenu/gui_canvas.c: Likewise.
14138 * gfxmenu/gui_circular_progress.c: Likewise.
14139 * gfxmenu/gui_image.c: Likewise.
14140 * gfxmenu/gui_label.c: Likewise.
14141 * gfxmenu/gui_list.c: Likewise.
14142 * gfxmenu/gui_progress_bar.c: Likewise.
14143 * gfxmenu/gui_string_util.c: Likewise.
14144 * gfxmenu/gui_util.c: Likewise.
14145 * gfxmenu/icon_manager.c: Likewise.
14146 * gfxmenu/model.c: Likewise.
14147 * gfxmenu/named_colors.c: Likewise.
14148 * gfxmenu/theme_loader.c: Likewise.
14149 * gfxmenu/view.c: Likewise.
14150 * gfxmenu/widget-box.c: Likewise.
14151 * include/grub/gfxmenu_model.h: Likewise.
14152 * include/grub/gfxmenu_view.h: Likewise.
14153 * include/grub/gfxwidgets.h: Likewise.
14154 * include/grub/gui.h: Likewise.
14155 * include/grub/gui_string_util.h: Likewise.
14156 * include/grub/icon_manager.h: Likewise.
14157
141582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14159
14160 Agglomerate scrolling in gfxterm.
14161
14162 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14163 (grub_virtual_screen_setup): Initialise 'total_screen'.
14164 (write_char): Split to ...
14165 (paint_char): ... this ...
14166 (write_char): ... and this.
14167 (paint_char): Handle delayed scrolling.
14168 (draw_cursor): Likewise.
14169 (scroll_up): Split to ...
14170 (real_scroll): ... this ...
14171 (scroll_up): ... and this.
14172 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14173 characters.
14174 (grub_gfxterm_refresh): Call real_scroll.
14175
141762010-02-06 Colin D Bennett <colin@gibibit.com>
14177
14178 * include/grub/misc.h (grub_iscntrl): New inline function.
14179 (grub_isalnum): Likewise.
14180 (grub_strtol): Likewise.
14181
141822010-02-06 Colin D Bennett <colin@gibibit.com>
14183
14184 * normal/menu_text.c (get_entry_number): Move from here ...
14185 * normal/menu.c (get_entry_number): ... moved here.
14186 * include/grub/menu.h (grub_menu_get_default_entry_index):
14187 New prototype.
14188 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14189 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14190 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14191 (grub_menu_viewer_should_return): Likewise.
14192 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14193 * normal/menu_text.c (run_menu): Enable menu switching.
14194 * normal/menu_viewer.c (should_return): New variable.
14195 (menu_viewer_changed): Likewise.
14196 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14197 (grub_menu_viewer_should_return): New function.
14198 (menuviewer_write_hook): Likewise.
14199 (grub_menu_viewer_init): Likewise.
14200
142012010-02-06 Colin D Bennet <colin@gibibit.com>
142022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 Support for gfxterm in a window.
14205
14206 * include/grub/gfxterm.h: New file.
14207 * include/grub/video.h (struct grub_video_rect): New declaration.
14208 (grub_video_rect_t): Likewise.
14209 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14210 (refcount): New variable.
14211 (render_target): Likewise.
14212 (window): Likewise.
14213 (repaint_callback): Likewise.
14214 (grub_virtual_screen_setup): Use 'render_target'.
14215 (init_window): New function.
14216 (grub_gfxterm_init_window): Likewise.
14217 (grub_gfxterm_init): Check reference counter.
14218 Use init_window.
14219 (destroy_window): New function.
14220 (grub_gfxterm_destroy_window): Likewise.
14221 (grub_gfxterm_fini): Check reference counter.
14222 Use destroy_window.
14223 (redraw_screen_rect): Restore viewport.
14224 Use 'render_target' and 'window'.
14225 Call 'repaint_callback'.
14226 (write_char): Use 'render_target'.
14227 (draw_cursor): Likewise.
14228 (scroll_up): Restore viewport.
14229 Use 'render_target' and 'window'.
14230 Call 'repaint_callback'.
14231 (grub_gfxterm_cls): Likewise.
14232 (grub_gfxterm_refresh): Use 'window'.
14233 (grub_gfxterm_set_repaint_callback): New function.
14234 (grub_gfxterm_background_image_cmd): Use 'window'.
14235 (grub_gfxterm_get_term): New function.
14236 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14237
142382010-02-06 Colin D Bennett <colin@gibibit.com>
14239
14240 Bitmap scaling support.
14241
14242 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14243 (bitmap_scale_mod_SOURCES): New variable.
14244 (bitmap_scale_mod_CFLAGS): Likewise.
14245 (bitmap_scale_mod_LDFLAGS): Likewise.
14246 * include/grub/bitmap_scale.h: New file.
14247 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14248 (background_image_cmd_options): New variable.
14249 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14250 (cmd): Rename and change type to ...
14251 (background_image_cmd_handle): ... this. All users updated.
14252 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14253 * video/bitmap_scale.c: New file.
14254
142552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 SDL support.
14258
14259 * Makefile.in (LIBSDL): New variable.
14260 (enable_grub_emu_sdl): Likewise.
14261 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14262 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14263 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14264 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14265 * util/sdl.c: New file.
14266
142672010-02-06 Colin D Bennett <colin@gibibit.com>
142682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 Double buffering support.
14271
14272 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14273 * include/grub/video.h: Update comment.
14274 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14275 New type.
14276 (grub_video_fb_doublebuf_blit_init): New prototype.
14277 * term/gfxterm.c (scroll_up): Support double buffering.
14278 (grub_gfxterm_refresh): Likewise.
14279 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14280 (grub_video_fb_doublebuf_blit_init): Likewise.
14281 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14282 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14283 'displayed_page', 'render_page' and 'update_screen'.
14284 (grub_video_vbe_fini): Free offscreen buffer.
14285 (doublebuf_pageflipping_commit): New function.
14286 (doublebuf_pageflipping_update_screen): Likewise.
14287 (doublebuf_pageflipping_init): Likewise.
14288 (double_buffering_init): Likewise.
14289 (grub_video_vbe_setup): Enable doublebuffering.
14290 (grub_video_vbe_swap_buffers): Implement.
14291 (grub_video_vbe_set_active_render_target): Handle double buffering.
14292 (grub_video_vbe_get_active_render_target): Likewise.
14293 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14294 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14295 (grub_video_vbe_enable_double_buffering): Likewise.
14296 (grub_video_vbe_swap_buffers): Use update_screen.
14297 (grub_video_set_mode): Use double buffering.
14298
142992010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14300
14301 * maintainance/gentrigtables.py: Remove.
14302 * lib/trig.c: Likewise.
14303
14304 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14305
14306 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14307 `trigtables.c'.
14308 (trigtables.c): New rule.
14309 (gentrigtables): Likewise.
14310 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14311
143122010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14313
14314 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14315 integer constants.
14316
143172010-02-06 Colin D Bennet <colin@gibibit.com>
14318
14319 Trigonometry support.
14320
14321 * include/grub/trig.h: New file.
14322 * lib/trig.c: Likewise.
14323 * maintainance/gentrigtables.py: Likewise.
14324 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14325 (trig_mod_SOURCES): New variable.
14326 (trig_mod_CFLAGS): Likewise.
14327 (trig_mod_LDFLAGS): Likewise.
14328
5562834e
VS
143292010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14330
14331 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14332 disk devices.
14333
4f8528fc
VS
143342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14337 error.
14338
2b4068e9
VS
143392010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14340
14341 * util/hostdisk.c (open_device): Don't use partition device when reading
14342 before the partition.
14343 (grub_util_biosdisk_read): Don't read from partition and before the
14344 partition in single operation.
14345 (grub_util_biosdisk_write): Don't write to partition and before the
14346 partition in single operation.
14347
399f6e4d
TL
143482010-02-03 Torsten Landschoff <torsten@debian.org>
14349
14350 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14351 last sectors.
14352
996649b0
VS
143532010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14356 CDROM reads.
14357 (grub_biosdisk_write): Refuse to write to CDROM.
14358
3b205d4d
VS
143592010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14362
61e89d9d
VS
143632010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * font/font.c (find_glyph): Check that bmp_idx is available before
14366 using it.
14367 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14368 with (font == NULL).
14369
bf7fcba2
CS
143702010-01-28 Christian Schmitt <chris@ilovelinux.de>
14371
14372 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14373
f45d2663
BC
143742010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14375
14376 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14377 * util/grub-script-check.c (getline): Fix empty lines case.
14378
ec1444e6
RM
143792010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14380
14381 * Makefile.in (check): Exit with fail status when one of the tests
14382 fails.
14383 * tests/example_functional_test.c (example_test): Fix reversed assert.
14384 * tests/example_unit_test.c (example_test): Likewise.
14385
2e1cb9bb
CW
143862010-01-28 Colin Watson <cjwatson@ubuntu.com>
14387
14388 * util/grub.d/10_linux.in: This script does not use any of the
14389 contents of gettext.sh, only the external command `gettext', so stop
14390 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14391 the same prefix as GRUB.)
14392 * util/grub.d/10_kfreebsd.in: Likewise.
14393
63533ab0
VS
143942010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14395
14396 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14397 of the line.
14398
989e1f93
VS
143992010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14402 last sectors.
14403
e709ebe2
VS
144042010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14407 having a 4KiB and not 32KiB buffer size.
14408
27dea7ed
RM
144092010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14410
14411 * util/hostfs.c: Include `<errno.h>'.
14412 (grub_hostfs_read): Handle errors from fseeko() and fread().
14413
67667b9c
RM
144142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14415
14416 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14417 loop when using read hooks on files whose size isn't sector-aligned.
14418
c294d9d8
RM
144192010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14420
14421 Remove unused parameter.
14422
14423 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14424 (grub_iso9660_open): Remove initialization of `data->length'.
14425
af75a9f1
RM
144262010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14427
14428 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14429 memleak conditions.
14430
254e2ce5 144312010-01-27 Carles Pina i Estany <carles@pina.cat>
14432
14433 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14434 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14435
b510928c 144362010-01-26 Carles Pina i Estany <carles@pina.cat>
14437
14438 * util/bin2h.c (usage): Fix warning (space after backslash).
14439
aa2f9dd2 144402010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14441
14442 * font/font.c: Include `grub/fontformat.h.
14443 Remove font file format constants.
14444 (grub_font_load): Use the new macros.
14445 * include/grub/fontformat.h: New file.
14446 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14447 (write_font_pf2): Use the new macros.
14448
94e7e712
RM
144492010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14450
14451 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14452 does.
14453
3973a59a
RM
144542010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14455
14456 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14457
14458 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14459 (_start): Macroify `0x7F'.
14460
14461 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14462 (make_install_device): Use "(pxe)" as fallback prefix when booting
14463 via PXE.
14464
42e0cba3
GS
144652010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * configure.ac: Reset LIBS after check for libgcc symbols.
14468
847effd8
CW
144692010-01-25 Colin Watson <cjwatson@ubuntu.com>
14470
14471 * util/hostdisk.c (open_device): Add trailing newline to debug
14472 message.
14473
ea4a7e35
GS
144742010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14475
14476 * configure.ac: Check for `limits.h'.
14477 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14478
67951a53
RM
144792010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14480
14481 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14482 capitalize error strings.
14483
c273d4ce
ST
144842010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14485
14486 * util/grub.d/10_hurd.in: Add a recovery mode.
14487
69be5b74
VS
144882010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * configure.ac: Check for libgcc symbols with -nostdlib.
14491
fc9e5810
BC
144922010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14493
14494 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14495
4b358c0a
VS
144962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14499 stack since heap may be unavailable at that point.
14500 (grub_ofconsole_gotoxy): Likewise.
14501
454fcd1c
VS
145022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 * configure.ac: Check for _restgpr_14_x.
14505 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14506 and _savegpr_* prototypes.
14507
566863ca
RM
145082010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14509
14510 Use generic grub_reboot() for i386-efi.
14511
14512 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14513 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14514 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14515
bf86e59a
VS
145162010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14519 presence of "prefix" variable as it breaks when normal.mod is
14520 embedded.
14521
d645e0f8
VS
145222010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14523
14524 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14525 stack since heap is unavailable at that point.
14526
f9ab2e25
VS
145272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14528
14529 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14530 (grub_freebsd_bootinfo): Rewritten.
14531 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14532
01fc7054
VS
145332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14534
14535 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14536
caab4fd6
RM
145372010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14538
14539 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14540 domain now.
14541
67eb1427
FZ
145422010-01-20 Felix Zielcke <fzielcke@z-51.de>
14543
14544 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14545 around for handling "/" to the correct fix. Fix a memory leak. Use
14546 xstrdup instead of strdup.
14547
a9ed4ff3
VS
145482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14551
145522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14553
14554 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14555
14556 * font/font.c (struct grub_font): New member 'bmp_idx'.
14557 (font_init): Initialise 'bmp_idx'.
14558 (load_font_index): Fill 'bmp_idx'.
14559 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14560
48209f4f
VS
145612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14562
14563 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14564 unnecessary calls.
14565
9f0a4bb7
VS
145662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14567
14568 Move context handling out of the kernel.
14569
14570 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14571 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14572 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14573 * conf/i386-efi.rmk: Likewise.
14574 * conf/i386-ieee1275.rmk: Likewise.
14575 * conf/i386-pc.rmk: Likewise.
14576 * conf/powerpc-ieee1275.rmk: Likewise.
14577 * conf/sparc64-ieee1275.rmk: Likewise.
14578 * conf/x86_64-efi.rmk: Likewise.
14579 * include/grub/env.h: Include grub/menu.h.
14580 (grub_env_var_type): Removed.
14581 (grub_env_var): Replaced field 'type' with 'global'.
14582 (grub_env_find): New prototype.
14583 (grub_env_context_open): Remove EXPORT_FUNC.
14584 (grub_env_context_close): Likewise.
14585 (grub_env_export): Likewise.
14586 (grub_env_set_data_slot): Removed.
14587 (grub_env_get_data_slot): Likewise.
14588 (grub_env_unset_data_slot): Likewise.
14589 (grub_env_unset_menu): New prototype.
14590 (grub_env_set_menu): Likewise.
14591 (grub_env_get_menu): Likewise.
14592 * include/grub/env_private.h: New file.
14593 * include/grub/normal.h (grub_context_init): New prototype.
14594 (grub_context_fini): Likewise.
14595 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14596 * normal/context.c (grub_cmd_export): ... to here.
14597 * kern/env.c: Include env_private.h.
14598 (HASHSZ): Moved to include/grub/env_private.h.
14599 (grub_env_context): Likewise.
14600 (grub_env_sorted_var): Likewise.
14601 (current_context): Renamed from this ...
14602 (grub_current_context): ...to this. 'static' removed. All users updated.
14603 (grub_env_find): Removed 'static'.
14604 (grub_env_context_open): Moved to normal/context.c.
14605 (grub_env_context_close): Likewise.
14606 (grub_env_export): Likewise.
14607 (mangle_data_slot_name): Removed.
14608 (grub_env_set_data_slot): Likewise.
14609 (grub_env_get_data_slot): Likewise.
14610 (grub_env_unset_data_slot): Likewise.
14611 * kern/main.c (grub_set_root_dev): Don't export root.
14612 It will be done later.
14613 (grub_main): Don't export prefix.
14614 It will be done later.
14615 * normal/context.c: New file.
14616 * normal/main.c (free_menu): Use grub_env_unset_menu.
14617 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14618 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14619 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14620 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14621
8dd35b8c
VS
146222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 setpci support.
14625
14626 * commands/setpci.c: New file.
14627 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14628 (setpci_mod_SOURCES): New variable.
14629 (setpci_mod_CFLAGS): Likewise.
14630 (setpci_mod_LDFLAGS): Likewise.
14631
449193d5
VS
146322010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 Byte-addressable PCI configuration space.
14635
14636 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14637 dword address.
14638 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14639 GRUB_PCI_REG_CACHELINE.
14640 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14641 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14642 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14643 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14644 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14645 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14646 grub_pci_make_address.
14647 (lock_rom_area): Likewise.
14648 * commands/lspci.c (grub_lspci_iter): Use macroses
14649 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14650 of grub_pci_make_address.
14651 * disk/ata.c (grub_ata_pciinit): Likewise.
14652 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14653 (GRUB_PCI_REG_VENDOR): Likewise.
14654 (GRUB_PCI_REG_DEVICE): Likewise.
14655 (GRUB_PCI_REG_COMMAND): Likewise.
14656 (GRUB_PCI_REG_STATUS): Likewise.
14657 (GRUB_PCI_REG_REVISION): Likewise.
14658 (GRUB_PCI_REG_CLASS): Likewise.
14659 (GRUB_PCI_REG_CACHELINE): Likewise.
14660 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14661 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14662 (GRUB_PCI_REG_BIST): Likewise.
14663 (GRUB_PCI_REG_ADDRESSES): Likewise.
14664 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14665 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14666 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14667 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14668 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14669 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14670 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14671 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14672 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14673 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14674 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14675 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14676 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14677 (GRUB_PCI_REG_MIN_GNT): Likewise.
14678 (GRUB_PCI_REG_MAX_LAT): Likewise.
14679 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14680 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14681 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 14682 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
14683 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14684 space.
14685
96d73208
RM
146862010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14687
14688 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14689 can be reliably determined to be supported.
14690
d4484482
RM
146912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14692
14693 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14694 that VESA is supported.
14695 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14696 supported.
14697
00308ecf
VS
146982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14701
f66924a4
RM
147022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14703
14704 * util/misc.c (make_system_path_relative_to_its_root): Work around
14705 special-casing of "/", as previous incarnation of this routine did.
14706
cbca0ada
VS
147072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14708
14709 Fix any-emu compilation.
14710
14711 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14712 * grub_bin2h_SOURCES: New variable.
14713
34a66d99
RM
147142010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14715
14716 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14717
94fabf58
RM
147182010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14719
14720 * util/grub.d/00_header.in: Fix handling of locale_dir.
14721
02cf98ca
VS
147222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14723
14724 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14725 as possible unifont location (Gentoo).
14726 Reported by: Alexander Brüning
14727
327dbcd7
VS
147282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14729
14730 Don't try to generate lists for kernel.img.
14731
14732 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14733 (pkglib_MODULES): Remove kernel.img.
14734 (kernel_img_EXPORTS): Removed.
14735 (kernel_img_RELOCATABLE): New variable.
14736 * conf/x86_64-efi.rmk: Likewise.
14737 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14738
ca467290
VS
147392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14742 grub_xasprintf or grub_snprintf.
14743 (grub_vsprintf): Likewise.
14744 (grub_snprintf): New proto.
14745 (grub_vsnprintf): Likewise.
14746 (grub_xasprintf): Likewise.
14747 (grub_xvasprintf): Likewise.
14748 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14749 (grub_sprintf): Removed.
14750 (grub_vsnprintf): New function.
14751 (grub_snprintf): Likewise.
14752 (grub_xvasprintf): Likewise.
14753 (grub_xasprintf): Likewise.
14754 (grub_vsprintf): Renamed to ...
14755 (grub_vsnprintf_real): ...this. New argument max_len.
14756
aca655fd
BC
147572010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14758
14759 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14760 fix grub-script-check warning.
14761
7ee92c32
VS
147622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14763
14764 * include/grub/font.h (grub_font_load): Fix prototype.
14765
f80927ca
VS
147662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14767
14768 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14769
119c50ea
VS
147702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * include/grub/x86_64/at_keyboard.h: New file.
14773
47d5f3c1
VS
147742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14775
14776 * loader/mips/linux.c: Include missing grub/i18n.h.
14777
55ff5266
RM
147782009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14779
14780 * normal/menu.c (notify_execution_failure): Clarify error message.
14781
c893cc87
RM
147822009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14783
14784 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14785 return value (and revert all return statements). Update users.
14786
917dd370
CW
147872010-01-20 Dan Merillat <debian@dan.merillat.org>
14788
14789 * kern/device.c (grub_device_iterate): Allocate new part_ent
14790 structure based on sizeof (*p) rather than sizeof (p->next), to
14791 account for structure padding.
14792
14793 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14794 disk is NULL, which might happen for LVM physical volumes with no
14795 LVM signature.
14796
d4a4ee57
RM
147972009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14798
14799 * loader/mips/linux.c (grub_cmd_initrd)
14800 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14801
148022009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14803
14804 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14805 (grub_video_video_init, grub_video_bitmap_init)
14806 (grub_font_manager_init, grub_term_gfxterm_init)
14807 (grub_at_keyboard_init): New extern declarations.
14808 (grub_machine_init): Initialize gfxterm and at_keyboard.
14809
14810 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14811
14812 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14813 `gfxterm.mod' into core image.
14814
14815 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14816 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14817 (kernel_img_FORMAT): Copy to ...
14818
14819 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14820 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14821 (kernel_img_FORMAT): ... here, and ...
14822
14823 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14824 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14825 (kernel_img_FORMAT): ... here.
14826
14827 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14828 and input (at_keyboard) terminals in kernel.
14829 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14830
14831 (pkglib_MODULES): Remove `pci.mod'.
14832 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14833 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14834 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14835 (at_keyboard_mod_LDFLAGS): Remove variables.
14836
148372010-01-11 Felix Zielcke <fzielcke@z-51.de>
14838
14839 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14840
148412009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14842
14843 * include/grub/mips/libgcc.h: Only export symbols for functions
14844 that libgcc provides.
14845
148462009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
14847
14848 MIPS support.
14849
14850 * bus/bonito.c: New file.
14851 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
14852 GRUB_PCI_NUM_DEVICES.
14853 * term/i386/pc/serial.c: Move to ...
14854 * term/serial.c: ... here. All users updated.
14855 * util/i386/pc/grub-mkimage.c: Move to ...
14856 * util/grub-mkrawimage.c: ... here. All users updated.
14857 * term/i386/pc/at_keyboard.c: Move to ...
14858 * term/at_keyboard.c: ... here. All users updated.
14859 * conf/mips-qemu-mips.rmk: New file.
14860 * conf/mips-yeeloong.rmk: Likewise.
14861 * conf/mips.rmk: Likewise.
14862 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
14863 mipsel-qemu-mips.
14864 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
14865 to port addresses.
14866 (grub_ata_pciinit): Support CS5536.
14867 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
14868 * font/font_cmd.c (loadfont_command): Open file before passing it to
14869 grub_font_load.
14870 (pseudo_file_read): New function.
14871 (pseudo_file_close): Likewise.
14872 (pseudo_fs): New structure.
14873 (load_font_module): New function.
14874 (GRUB_MOD_INIT(font_manager)): Load embedded font.
14875 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
14876 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
14877 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
14878 * include/grub/i386/at_keyboard.h: Split into ...
14879 * include/grub/at_keyboard.h: ... this ...
14880 * include/grub/i386/at_keyboard.h: ... and this.
14881 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
14882 New prototype.
14883 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
14884 updated.
14885 (grub_elf64_size): Likewise.
14886 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
14887 filename.
14888 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
14889 * include/grub/i386/coreboot/serial.h: Rewritten.
14890 * include/grub/i386/ieee1275/serial.h: Include
14891 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
14892 * include/grub/i386/pc/serial.h: Moved from here ...
14893 * include/grub/serial.h: ... to here. All users updated.
14894 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
14895 (GRUB_PCI_NUM_BUS): Likewise.
14896 (GRUB_PCI_NUM_DEVICES): Likewise.
14897 (grub_pci_device_map_range): Add missing volatile keyword.
14898 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
14899 * include/grub/mips/at_keyboard.h: New file.
14900 * include/grub/mips/cache.h: Likewise.
14901 * include/grub/mips/io.h: Likewise.
14902 * include/grub/mips/kernel.h: Likewise.
14903 * include/grub/mips/libgcc.h: Likewise.
14904 * include/grub/mips/pci.h: Likewise.
14905 * include/grub/mips/qemu-mips/boot.h: Likewise.
14906 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14907 * include/grub/mips/qemu-mips/loader.h: Likewise.
14908 * include/grub/mips/qemu-mips/memory.h: Likewise.
14909 * include/grub/mips/qemu-mips/serial.h: Likewise.
14910 * include/grub/mips/qemu-mips/time.h: Likewise.
14911 * include/grub/mips/relocator.h: Likewise.
14912 * include/grub/mips/time.h: Likewise.
14913 * include/grub/mips/types.h: Likewise.
14914 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
14915 * include/grub/mips/yeeloong/boot.h: Likewise.
14916 * include/grub/mips/yeeloong/kernel.h: Likewise.
14917 * include/grub/mips/yeeloong/loader.h: Likewise.
14918 * include/grub/mips/yeeloong/memory.h: Likewise.
14919 * include/grub/mips/yeeloong/pci.h: Likewise.
14920 * include/grub/mips/yeeloong/serial.h: Likewise.
14921 * include/grub/mips/yeeloong/time.h: Likewise.
14922 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
14923 * kern/elf.c (grub_elf32_size): New parameter. All users
14924 updated.
14925 (grub_elf64_size): Likewise.
14926 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
14927 Load modules before saying "Welcome to GRUB!".
14928 Call grub_refresh after saying "Welcome to GRUB!".
14929 * kern/mips/cache.S: New file.
14930 * kern/mips/cache_flush.S: Likewise.
14931 * kern/mips/dl.c: Likewise.
14932 * kern/mips/init.c: Likewise.
14933 * kern/mips/qemu-mips/init.c: Likewise.
14934 * kern/mips/startup.S: Likewise.
14935 * kern/mips/yeeloong/init.c: Likewise.
14936 * kern/term.c (grub_putcode): Handle NULL terminal.
14937 (grub_getcharwidth): Likewise.
14938 (grub_getkey): Likewise.
14939 (grub_checkkey): Likewise.
14940 (grub_getkeystatus): Likewise.
14941 (grub_getxy): Likewise.
14942 (grub_getwh): Likewise.
14943 (grub_gotoxy): Likewise.
14944 (grub_cls): Likewise.
14945 (grub_setcolorstate): Likewise.
14946 (grub_setcolor): Likewise.
14947 (grub_getcolor): Likewise.
14948 (grub_refresh): Likewise.
14949 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
14950 (write_jump): Add hatch nop.
14951 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
14952 * lib/mips/setjmp.S: New file.
14953 * loader/mips/linux.c: Likewise.
14954 * term/i386/pc/at_keyboard.c: Move from here ...
14955 * term/at_keyboard.c: ... to here.
14956 * term/i386/pc/serial.c: Moved from here ...
14957 * term/serial.c: ... to here. All users updated.
14958 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
14959 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
14960 (serial_translate_key_sequence): Avoid deadlock.
14961 (grub_serial_getkey): Handle backspace.
14962 (grub_serial_putchar): Fix newline handling.
14963 * util/i386/pc/grub-mkimage.c: Move from here ...
14964 * util/grub-mkrawimage.c: ... to here. All users updated.
14965 (generate_image): New parameters 'font_path' and 'format'.
14966 Support embedding font.
14967 Use grub_host_to_target* instead of grub_cpu_to_le*.
14968 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
14969 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
14970 (options): New option "--font".
14971 (usage): Likewise.
14972 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
14973 (main): Handle "--font".
14974 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
14975 (grub_virtual_screen_setup): Set bg_color_display.
14976 (redraw_screen_rect): Use bg_color_display instead of incorrect
14977 bg_color.
14978 (grub_gfxterm_cls): Likewise.
14979 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
14980 Support embedding config file.
14981 (add_segments): Likewise.
14982 (options): New option "--config".
14983 (main): Handle "--config".
14984 * video/sm712.c: New file.
14985
25c2b5b3
RM
149862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14987
14988 Fix parallel builds.
14989
14990 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
14991 font.c depend on ascii.h).
14992
149932010-01-12 Carles Pina i Estany <carles@pina.cat>
14994
14995 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
14996
149972010-01-11 Carles Pina i Estany <carles@pina.cat>
14998
14999 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
15000 By default: disabled.
15001 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
15002 parameter.
15003
150042010-01-10 Carles Pina i Estany <carles@pina.cat>
15005
15006 * font/font.c: Update copyright years.
15007 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
15008
150092010-01-10 Carles Pina i Estany <carles@pina.cat>
15010
15011 * font/font.c: Include `ascii.h'.
15012 (ASCII_BITMAP_SIZE): New macro.
15013 (ascii_font_glyph): Define.
15014 (ascii_glyph_lookup): New function.
15015 (grub_font_get_string_width): Change comment. If glyph not found, use
15016 ascii_glyph_lookup.
15017 (grub_font_get_glyph_with_fallback): If glyph not available returns
15018 ascii_glyph_lookup.
15019 * util/grub-mkfont.c (file_formats): New enum.
15020 (options): Add `ascii-bitmaps' new option.
15021 (usage): Add `asii-bitmaps' new option.
15022 (write_font_ascii_bitmap): New function.
15023 (write_font): Rename to ...
15024 (write_font_p2): ... this. Remove print_glyphs call.
15025 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
15026 used. Call print_glyphs.
15027 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
15028
150292010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15030
15031 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
15032 (grub_bin2h_SOURCES): New variable.
15033 * util/bin2h.c: New file.
15034
915fc1b8
VS
150352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 * include/multiboot.h: Resynced with spec.
15038 * include/multiboot2.h: Likewise.
15039 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
15040 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
15041
9444b678
RM
150422010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15043
15044 * include/grub/term.h (grub_term_register_input,
15045 grub_term_register_output): Check return of terminal init()
15046 routines, and abort if errors are raised.
15047
15048 * commands/terminal.c: Update copyright year.
15049
cba98e8d
RM
150502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15051
15052 * commands/terminal.c (grub_cmd_terminal_input)
15053 (grub_cmd_terminal_output): Check return of terminal init()
15054 routines, and abort if errors are raised.
15055
6f7db5d6
VS
150562010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 * include/grub/i386/bsd.h: Fix include pathes.
15059
262bff8d
VS
150602010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15061
15062 Add missing *BSD copyright headers.
15063
15064 * include/grub/aout.h: Add BSD licence.
15065 * include/grub/i386/bsd.h: Parts under different licences moved to ...
15066 * include/grub/i386/freebsd_linker.h: ... here,
15067 * include/grub/i386/freebsd_reboot.h: ... here,
15068 * include/grub/i386/netbsd_bootinfo.h: ... here,
15069 * include/grub/i386/netbsd_reboot.h: ... here,
15070 * include/grub/i386/openbsd_bootarg.h: ... here,
15071 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
15072 licence to each file.
15073
b2cab848
RM
150742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15075
15076 * acinclude.m4: Remove `nop' assembly instruction; it's not
15077 implemented by all architectures.
15078
2cb6be4b
RM
150792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15080
15081 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
15082 ELILO. This is no longer necessary.
15083
a2eaee15
BC
150842010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
15085
15086 Added new tool, grub-scrit-check to verify grub.cfg syntax.
15087
15088 * util/grub-script-check.c: grub-script-check tool.
15089 * conf/common.rmk: Make rules for grub-script-check.
15090
88d17012
RM
150912010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15092
15093 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
15094 spotting it back in 2008. Shame on me for forgetting he did.
15095
15096 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
15097
8040619d
RM
150982010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15099
15100 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
15101 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
15102 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
15103 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
15104 (GRUB_VIDEO_TYPE_EFI): Rename to ...
15105 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
15106
a0c2a0f6
RM
151072010-01-17 Robert Millan <rmh.grub@aybabtu.com>
15108
15109 * include/grub/test.h: Add license header.
15110 * tests/example_functional_test.c: Likewise.
15111 * tests/example_unit_test.c: Likewise.
15112 * tests/lib/functional_test.c: Likewise.
15113 * tests/lib/test.c: Likewise.
15114 * tests/lib/unit_test.c: Likewise.
15115
b0b13907
VS
151162010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 Use flag-based instead of hook-based video mode selection and "auto"
15119 keyword.
15120
15121 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
15122 (grub_video_set_mode): Changed prototype. All users updated.
15123 (grub_video_check_mode_flag): New inline function.
15124 * video/video.c (parse_modespec): New function.
15125 (grub_video_set_mode): Parse flags and keywords.
15126
ea379330 151272010-01-17 Carles Pina i Estany <carles@pina.cat>
15128
15129 * util/misc.c (grub_util_info): Fix the order of the parameters in a
15130 fprintf call.
15131
e15c215e
FZ
151322010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
15133
15134 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
15135
409ae1c9 151362010-01-16 Carles Pina i Estany <carles@pina.cat>
15137
15138 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
15139 string.
15140 * util/grub-emu.c (usage): Likewise.
15141 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15142 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15143 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15144 * util/i386/pc/grub-setup.c (usage): Likewise.
15145
70a14d3d 151462010-01-16 Carles Pina i Estany <carles@pina.cat>
15147
15148 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15149 the message.
15150 (grub_util_info): Likewise.
15151 (grub_util_error): Likewise.
15152 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15153 and/or new lines in `grub_util_warna', `grub_util_info',
15154 `grub_util_error' calls.
15155 * util/getroot.c: Likewise.
15156 * util/grub-editenv.c: Likewise.
15157 * util/grub-emu.c: Likewise.
15158 * util/grub-fstest.c: Likewise.
15159 * util/grub-mkdevicemap.c: Likewise.
15160 * util/grub-mkfont.c: Likewise.
15161 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15162 * util/grub-mkrelpath.c: Likewise.
15163 * util/grub-pe2elf.c: Likewise.
15164 * util/grub-probe.c: Likewise.
15165 * util/hostdisk.c: Likewise.
15166 * util/i386/efi/grub-mkimage.c: Likewise.
15167 * util/i386/pc/grub-mkimage.c: Likewise.
15168 * util/i386/pc/grub-setup.c: Likewise.
15169 * util/ieee1275/ofpath.c: Likewise.
15170 * util/mkisofs/eltorito.c: Likewise.
15171 * util/mkisofs/rock.c: Likewise.
15172 * util/mkisofs/write.c: Likewise.
15173 * util/raid.c: Likewise.
15174 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15175 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15176
a0b766fc
VS
151772010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15178
15179 Enable multiboot on non-pc.
15180
15181 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15182 multiboot.mod and multiboot2.mod to ...
15183 * conf/i386.rmk (pkglib_MODULES): ... here.
15184 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15185 Moved to ...
15186 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15187 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15188 Moved to ...
15189 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15190 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15191 Moved to ...
15192 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15193 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15194 Moved to ...
15195 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15196 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15197 relocator.mod.
15198 (ata_mod_SOURCES): Removed.
15199 (ata_mod_CFLAGS): Likewise.
15200 (ata_mod_LDFLAGS): Likewise.
15201 (relocator_mod_SOURCES): Removed.
15202 (relocator_mod_CFLAGS): Likewise.
15203 (relocator_mod_ASFLAGS): Likewise.
15204 (relocator_mod_LDFLAGS): Likewise.
15205 Include i386.mk.
15206 * include/grub/x86_64/multiboot.h: New file.
15207 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15208 Terminate EFI.
15209
884ade56
VS
152102010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 Video multiboot support.
15213
15214 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15215 New prototype.
15216 * include/multiboot.h: Resynced with multiboot specification.
15217 * include/multiboot2.h: Likewise.
15218 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15219 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15220 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15221 (HAS_VGA_TEXT): Likewise.
15222 (accepts_video): New variable.
15223 (grub_multiboot_set_accepts_video): New function.
15224 (grub_multiboot_get_mbi_size): Account for video structures.
15225 (set_video_mode): New function.
15226 (retrieve_video_parameters): Likewise.
15227 (grub_multiboot_make_mbi): Fill video fields.
15228
0d90e8a6
VS
152292010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15230
15231 Video driver ids.
15232
15233 * include/grub/video.h (grub_video_driver_id): New type.
15234 (grub_video_adapter): New member 'id'. All users updated.
15235 (grub_video_get_driver_id): New proto.
15236 * video/video.c (grub_video_get_driver_id): New function.
15237
5c71db1b 152382010-01-14 Carles Pina i Estany <carles@pina.cat>
15239
15240 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15241 `var=val'.
15242
cca15b52 152432010-01-14 Carles Pina i Estany <carles@pina.cat>
15244
15245 * normal/cmdline.c (print_completion): Gettextizze.
15246
c586fbb2 152472001-01-14 Carles Pina i Estany <carles@pina.cat>
15248
15249 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15250
ba2f6848 152512010-01-14 Carles Pina i Estany <carles@pina.cat>
15252
15253 * gettext/gettext.c (grub_gettext_translate): Push and pop
15254 grub_errno.
15255 (grub_gettext_delete_list): Change comment style.
15256 * kern/err.c (grub_error): Gettextizze.
15257 (grub_fatal): Gettextizze.
15258
0a46429a
RM
152592010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15260
15261 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15262 (grub_linux16_real_boot): ... this.
15263 * kern/i386/loader.S: Likewise.
15264 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15265 (grub_linux16_boot): New function. Switches to text mode and calls
15266 grub_linux16_real_boot().
15267
15268 * loader/i386/bsd.c: Include `<grub/video.h>'.
15269 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15270 text mode before calling grub_unix_real_boot().
15271
15272 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15273 (grub_multiboot_boot): Switch to text mode before calling
15274 grub_relocator32_boot().
15275
15276 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15277 (grub_chainloader_boot): Switch to text mode before calling
15278 grub_chainloader_real_boot().
15279
d6f93a66
RM
152802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
152812010-01-05 Colin Watson <cjwatson@ubuntu.com>
15282
15283 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15284 non-empty value.
15285
152862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
152872010-01-05 Colin Watson <cjwatson@ubuntu.com>
15288
15289 * util/grub.d/00_header.in: Define a "savedefault" function for use
15290 in menu entries.
15291 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15292
152932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
152942010-01-05 Colin Watson <cjwatson@ubuntu.com>
15295
15296 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15297 saved_entry if boot_once is unset.
15298 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15299 previous saved entry (i.e. grub-reboot).
15300
153012009-12-08 Colin Watson <cjwatson@ubuntu.com>
15302
15303 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15304
153052009-12-08 Colin Watson <cjwatson@ubuntu.com>
15306
15307 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15308 `var=val'.
15309 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15310
153112009-12-08 Colin Watson <cjwatson@ubuntu.com>
15312
15313 * util/grub-reboot.in: Fix --version output.
15314 * util/grub-set-default.in: Likewise.
15315
153162009-12-08 Colin Watson <cjwatson@ubuntu.com>
15317
15318 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15319 blocks.
15320
153212009-12-08 Colin Watson <cjwatson@ubuntu.com>
15322
15323 * util/grub.d/00_header.in: Quote the value assigned to `default',
15324 in case it contains spaces.
15325
153262009-12-08 Colin Watson <cjwatson@ubuntu.com>
15327
15328 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15329 `save_default_entry' call from the macosx case to the linux case.
15330
153312009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
153322009-10-25 Colin Watson <cjwatson@ubuntu.com>
15333
15334 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15335 in `chosen' environment variable.
15336 * normal/menu_text.c (get_entry_number): Check if the variable
15337 matches the title of a menu entry.
15338 (run_menu): Pass menu to get_entry_number.
15339
15340 * util/grub-reboot.in: New file.
15341 * util/grub-set-default.in: New file.
15342 * conf/common.rmk (grub-reboot): New utility.
15343 (grub-set-default): New utility.
15344
15345 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15346 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15347 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15348 move it to `saved_entry' for the next boot. Load environment on
15349 initialisation.
15350 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15351 * util/grub.d/10_hurd.in: Likewise.
15352 * util/grub.d/10_linux.in (linux_entry): Likewise.
15353 * util/grub.d/10_windows.in: Likewise.
15354 * util/grub.d/30_os-prober.in: Likewise.
15355
15356 * util/grub-install.in: Create environment block.
15357 * util/i386/efi/grub-install.in: Likewise.
15358 * util/ieee1275/grub-install.in: Likewise.
15359 * util/sparc64/ieee1275/grub-install.in: Likewise.
15360
0934d184
BC
153612010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15362
15363 Unit testing framework for GRUB.
15364
15365 * Makefile.in: Test framework build rules for 'make check'.
15366 * conf/tests.rmk: Build rules for individual tests and framework.
15367
15368 * include/grub/test.h: Header file for whitebox tests.
15369 * tests/lib/functional_test.c: Framework support for whitebox
15370 functional tests.
15371 * tests/lib/test.c: Common whitebox testing code for unit and
15372 functional tests.
15373 * tests/lib/unit_test.c: Framework support for whitebox unit
15374 tests.
15375
15376 * tests/util/grub-shell-tester.in: Support utility for grub-script
15377 tests.
15378 * tests/util/grub-shell.in: Utility to execute grub-script
15379 commands in a Qemu instance.
15380
15381 * tests/example_functional_test.c: Example whitebox functional
15382 test.
15383 * tests/example_grub_script_test.in: Example grub-script test.
15384 * tests/example_scripted_test.in: Example scripted test.
15385 * tests/example_unit_test.c: Example whitebox unit test.
15386
9c4ffeeb
VS
153872010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15388
15389 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15390 Add loader/i386/multiboot_mbi.c.
15391 (multiboot2_mod_SOURCES): Likewise.
15392 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15393 (multiboot2_mod_SOURCES): Likewise.
15394 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15395 (grub_multiboot_make_mbi): Likewise.
15396 (grub_multiboot_free_mbi): Likewise.
15397 (grub_multiboot_init_mbi): Likewise.
15398 (grub_multiboot_add_module): Likewise.
15399 (grub_multiboot_set_bootdev): Likewise.
15400 * loader/i386/multiboot.c (mbi): Removed.
15401 (mbi_dest): Likewise.
15402 (alloc_mbi): New variable.
15403 (grub_multiboot_payload_size): Removed. All users updated.
15404 (grub_multiboot_pure_size): New variable.
15405 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15406 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15407 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15408 (grub_fill_multiboot_mmap): Likewise.
15409 (grub_multiboot_get_bootdev): Likewise.
15410 (grub_multiboot): Use multiboot_mbi functions.
15411 * loader/i386/multiboot_mbi.c: New file.
15412
17383dfe
VS
154132010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15416 it would result in module crash.
15417
c1f28820
VS
154182010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15419
15420 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15421 (grub_ofconsole_getwh): Split to ...
15422 (grub_ofconsole_getwh): ... this.
15423 (grub_ofconsole_dimensions): ...and this.
15424 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15425
58655a16
RM
154262010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15427
15428 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15429
10891398
VS
154302010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * loader/i386/pc/multiboot2.c: Removed stalled file.
15433
0b8a223c
VS
154342010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15435
15436 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15437 Reported by: Grégoire Sutre
15438
92ab12b0
RM
154392010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15440
15441 * util/misc.c (canonicalize_file_name): New function.
15442 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15443 instead of realpath().
15444
a788afb6
CW
154452010-01-11 Colin Watson <cjwatson@ubuntu.com>
15446
15447 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15448 and make it clearer that it's optional. Based on confusion
15449 witnessed on IRC.
15450
ffa8e3d2
VS
154512010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15452
15453 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15454 in premature implicit newline.
15455
e9060a9d
VS
154562010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15459 which resulted in garbled command line at the end of screen.
15460
f0d0c0b7
RM
154612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15462
15463 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15464 initialization with similar approach as with other Linux loaders.
15465
0e60bae7
RM
154662010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15467
15468 Fix i386-ieee1275 build.
15469
15470 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15471 and grub_term_height() for video_{width,height} initialization.
15472
154732010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15474
15475 Fix grub-emu build.
15476
15477 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15478
cdb3f378
RM
154792010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
154802010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15481
15482 Support for multiple terminals.
15483
15484 * Makefile.in (pkglib_DATA): terminal.lst.
15485 (terminal.lst): New target.
15486 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15487 (GRUB_MOD_INIT(handler)): Likewise.
15488 (GRUB_MOD_FINI(handler)): Likewise.
15489 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15490 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15491 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15492 (grub_cmd_sleep): Use grub_term_save_pos.
15493 * commands/terminal.c: New file.
15494 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15495 commands/terminal.c and lib/charset.c.
15496 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15497 (pkglib_MODULES): Add terminal.mod.
15498 (terminal_mod_SOURCES): New variable.
15499 (terminal_mod_CFLAGS): Likewise.
15500 (terminal_mod_LDFLAGS): Likewise.
15501 * genhandlerlist.sh: Don't handle terminals.
15502 * genmk.rb: Generate terminal-*.lst.
15503 * genterminallist.sh: New file.
15504 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15505 (grub_is_valid_utf8): Likewise.
15506 (grub_utf8_to_ucs4_alloc): Likewise.
15507 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15508 (grub_menu_register_viewer): Changed argument.
15509 (grub_menu_try_text): New proto.
15510 (grub_gfxmenu_try_hook): New declaration.
15511 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15512 (grub_menu_init_page): Additional argument term.
15513 (grub_normal_init_page): Likewise.
15514 (grub_cmdline_get): Arguments simplified.
15515 (grub_utf8_to_ucs4_alloc): Removed.
15516 (grub_print_ucs4): Additional argument term.
15517 (grub_getstringwidth): Likewise.
15518 (grub_print_message_indented): Likewise.
15519 (grub_menu_text_register_instances): New proto.
15520 (grub_show_menu): Likewise.
15521 (read_terminal_list): Likewise.
15522 (grub_set_more): Likewise.
15523 * include/grub/parser.h: Include handler.h.
15524 * include/grub/reader.h: Rewritten.
15525 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15526 (GRUB_TERM_WIDTH): Changed to function.
15527 (GRUB_TERM_HEIGHT): Likewise.
15528 (GRUB_TERM_BORDER_WIDTH): Likewise.
15529 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15530 (GRUB_TERM_NUM_ENTRIES): Likewise.
15531 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15532 (GRUB_TERM_CURSOR_X): Likewise.
15533 (grub_term_input_class): Likewise.
15534 (grub_term_output_class): Likewise.
15535 (grub_term_outputs_disabled): New declaration.
15536 (grub_term_inputs_disabled): Likewise.
15537 (grub_term_outputs): Likewise.
15538 (grub_term_inputs): Likewise.
15539 (grub_term_register_input): Rewritten.
15540 (grub_term_register_output): Likewise.
15541 (grub_term_unregister_input): Likewise.
15542 (grub_term_unregister_output): Likewise.
15543 (FOR_ACTIVE_TERM_INPUTS): New macro.
15544 (FOR_DISABLED_TERM_INPUTS): Likewise.
15545 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15546 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15547 * include/grub/terminfo.h: Add oterm argument to all protypes.
15548 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15549 Use grub_rescue_run.
15550 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15551 All users updated.
15552 * kern/reader.c: Removed. All users updated.
15553 * kern/rescue_reader.c (grub_rescue_init): Removed.
15554 (grub_rescue_reader): Likewise.
15555 (grub_register_rescue_reader): Likewise.
15556 (grub_rescue_run): New function based on kern/reader.c.
15557 * kern/term.c: Adapted for multiterm.
15558 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15559 (grub_is_valid_utf8): Likewise.
15560 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15561 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15562 right terminal.
15563 * loader/i386/linux.c (grub_linux_boot): Likewise.
15564 * normal/auth.c (grub_username_get): New function.
15565 (grub_auth_check_authentication): Use grub_username_get.
15566 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15567 * normal/color.c: Adapt for multiterm.
15568 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15569 (grub_normal_init_page): Additional argument term.
15570 (read_lists): Call read_terminal_lists.
15571 (grub_enter_normal_mode): Call grub_cmdline_run.
15572 Handle grub_normal_exit_level.
15573 (grub_cmd_normal): Make reentrant.
15574 (grub_cmd_normal_exit): New function.
15575 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15576 * normal/menu.c: Adapt for multiterm.
15577 * normal/menu_entry.c: Likewise.
15578 * normal/menu_text.c: Likewise.
15579 * normal/menu_viewer.c: Removed. All users updated.
15580 * normal/term.c: New file.
15581 * util/console.c: Change order of includes to workaround a bug in
15582 ncurses headers.
15583 * term/terminfo.c: New argument oterm on all exported functions.
15584 All users updated.
15585 * util/grub-editenv.c (grub_term_input_class): Removed.
15586 (grub_term_output_class): Likewise.
15587
1a064917
RM
155882010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15589
15590 Make loader output a bit more user-friendly.
15591
15592 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15593 is being loaded. Likewise for the Hurd.
15594
15595 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15596 that kernel of FreeBSD ${version} is being loaded.
15597
15598 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15599 grub_dprintf().
15600 (grub_cmd_initrd): Likewise.
15601 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15602 that Linux ${version} is being loaded. Likewise for initrd.
15603
5ce0a83a 156042010-01-09 Carles Pina i Estany <carles@pina.cat>
15605
15606 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15607
809bbfeb 156082010-01-08 Carles Pina i Estany <carles@pina.cat>
15609
15610 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15611 (GRUB_MOD_INIT): Gettextizze.
15612 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15613 (GRUB_MOD_INIT): Gettextizze.
15614 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15615 (grub_cmd_linux): Capitalise Linux.
15616 (GRUB_MOD_INIT): Gettextizze.
15617 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15618 (grub_cmd_linux): Capitalise Linux.
15619 (GRUB_MOD_INIT): Gettextizze.
15620 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15621 (grub_cmd_linux): Capitalise Linux.
15622 (GRUB_MOD_INIT): Gettextizze.
15623 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15624 (GRUB_MOD_INIT): Gettextizze.
15625 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15626 (grub_cmd_linux): Capitalise Linux.
15627 (GRUB_MOD_INIT): Gettextizze.
15628 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15629 (grub_cpu_xnu_init): Gettextizze.
15630 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15631 (GRUB_MOD_INIT): Gettextizze.
15632 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15633 (GRUB_MOD_INIT): Gettextizze.
15634 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15635 (grub_linux_load64): Capitalise Linux.
15636 (GRUB_MOD_INIT): Gettextizze.
15637 * loader/xnu.c: Include `<grub/i18n.h>'.
15638 (GRUB_MOD_INIT): Gettextizze.
15639 * po/POTFILES: Add `loader/efi/appleloader.c',
15640 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15641 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15642 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15643 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15644 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15645 and `loader/xnu.c'.
15646
b394b2ca
RM
156472010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15648
15649 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15650
156512010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
15652
15653 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15654 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15655 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15656
bc8b32b3
RM
156572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15658
15659 Reset Multiboot 2 support. New loader implements the draft in
15660 /branches/multiboot2 and shares as much code as possible with the
15661 production Multiboot 1 implementation.
15662
15663 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15664 * loader/multiboot2.c: Likewise.
15665 * loader/i386/multiboot_helper.S: Likewise.
15666 * include/multiboot2.h: Replace with latest version from the draft
15667 in /branches/multiboot2.
15668
15669 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15670 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15671 and `loader/multiboot2.c'.
15672 (pkglib_MODULES): Add `multiboot2.mod'.
15673 (multiboot2_mod_SOURCES): New variable.
15674 (multiboot2_mod_LDFLAGS): Likewise.
15675 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15676
15677 * conf/i386-pc.rmk: Likewise.
15678
15679 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15680 (multiboot_mod_SOURCES): Remove variable.
15681 (multiboot_mod_LDFLAGS): Likewise.
15682 (multiboot_mod_CFLAGS): Likewise.
15683
15684 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15685 `<multiboot2.h>' instead of `<multiboot.h>'.
15686 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15687 (MULTIBOOT_HEADER_MAGIC): New macros.
15688
15689 * loader/multiboot_loader.c (module_version_status): Remove variable.
15690 (find_multi_boot2_header): Remove function.
15691 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15692 logic. Always check for the Multiboot version we're compiling for.
15693 (grub_cmd_module_loader): Likewise.
15694 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15695 command instead of `multiboot'.
15696
5d2c52b8
RM
156972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15698
15699 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15700 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15701 all users.
15702
53108d92
RM
157032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
157042010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 Fix breakage introduced with previous commit.
15707
15708 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15709 commands.
15710 * normal/handler.c (read_handler_list): Revert part of previous commit
15711 affecting this file.
15712 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15713 (grub_normal_execute): ... here.
15714
e2e936b2
RM
157152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15716
15717 Merge prefix-redefinition-fix branch.
15718
15719 * normal/autofs.c (read_fs_list): Make function capable of being
15720 run multiple times, gracefuly replacing the previous data
15721 structures.
15722 * normal/dyncmd.c (read_command_list): Likewise.
15723 * normal/handler.c (read_handler_list): Likewise.
15724 * normal/main.c (read_lists): New function. Calls all the
15725 list reading functions.
15726 (grub_normal_execute): Use read_lists() instead of calling all
15727 list reading functions explicitly. Register read_lists() as a
15728 variable hook attached to ${prefix}.
15729
607a3701
VS
157302010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 Merge crypto branch.
15733
15734 * Makefile.in (pkglib_DATA): Add crypto.lst.
15735 (crypto.lst): New target.
15736 * commands/hashsum.c: New file.
15737 * commands/password.c (check_password): Use grub_crypto_memcmp.
15738 * commands/password_pbkdf2.c: New file.
15739 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15740 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15741 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15742 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15743 -I$(srcdir)/lib/libgcrypt_wrap.
15744 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15745 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15746 password_pbkdf2.mod.
15747 (crypto_mod_SOURCES): New variable.
15748 (crypto_mod_CFLAGS): Likewise.
15749 (crypto_mod_LDFLAGS): Likewise.
15750 (hashsum_mod_SOURCES): New variable.
15751 (hashsum_mod_CFLAGS): Likewise.
15752 (hashsum_mod_LDFLAGS): Likewise.
15753 (pbkdf2_mod_SOURCES): New variable.
15754 (pbkdf2_mod_CFLAGS): Likewise.
15755 (pbkdf2_mod_LDFLAGS): Likewise.
15756 (password_pbkdf2_mod_SOURCES): New variable.
15757 (password_pbkdf2_mod_CFLAGS): Likewise.
15758 (password_pbkdf2_mod_LDFLAGS): Likewise.
15759 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15760 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15761 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15762 Include conf/gcry.rmk.
15763 * include/grub/auth.h: Rewritten.
15764 * include/grub/crypto.h: New file.
15765 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15766 * include/grub/normal.h (read_crypto_list): New prototype.
15767 * lib/crypto.c: New file.
15768 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15769 * lib/pbkdf2.c: Likewise.
15770 * normal/auth.c (grub_auth_strcmp): Removed.
15771 (grub_iswordseparator): Likewise.
15772 (grub_auth_strword): Likewise.
15773 (is_authenticated): Use grub_strword.
15774 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15775 and grub_strword. Pass entered password to authentication callback.
15776 * normal/crypto.c: New file.
15777 * normal/main.c: Call read_crypto_list.
15778 * util/grub-mkpasswd-pbkdf2.c: New file.
15779 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15780
42841caa
VS
157812010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 Fix descent and ascent calculation.
15784
15785 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15786 (options): New option "asce".
15787 (usage): Likewise.
15788 (add_char): Ignore invalid glyphs for descent calculation.
15789 Calculate ascent from actual content.
15790 (print_glyphs): Use 'asce'.
15791 (write_font): Likewise. Allow ascent override.
15792 (main): Handle "asce" option.
15793
e7730de7 157942010-01-06 Carles Pina i Estany <carles@pina.cat>
15795
15796 * kern/err.c: Include `<grub/i18n.h>'.
15797 (grub_print_error): Add full stop. Gettextizze.
15798 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15799 (grub_bsd_load_elf): Capitalise ELF.
15800 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15801 (grub_cmd_freebsd_module): Likewise.
15802 (grub_cmd_freebsd_module_elf): Likewise.
15803 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15804
40e3a41f 158052010-01-06 Carles Pina i Estany <carles@pina.cat>
15806
15807 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15808 * commands/search_file.c (HELP_MESSAGE): New macro.
15809 * commands/search_label.c (HELP_MESSAGE): Likewise.
15810 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15811 * po/POTFILES: Add `commands/search_file.c',
15812 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15813 `commands/search.c'.
15814
83507e68
RM
158152010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15816
15817 * config.rpath: Update from Gnulib.
15818
465c787b
YB
158192010-01-05 Yves Blusseau <blusseau@zetam.org>
15820
15821 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15822
6581dd3a
YB
158232010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15824
15825 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15826
3bff18c5
CW
158272010-01-05 Colin Watson <cjwatson@ubuntu.com>
15828
15829 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15830 arguments to fread so that we get a return value in bytes, rather
15831 than something that will normally be rounded down to 0.
15832 Adjust error handling to avoid producing garbage when size_t is not
15833 the same size as long long.
15834
a1368118
CW
158352010-01-05 Colin Watson <cjwatson@ubuntu.com>
15836
15837 * util/mkisofs/write.c (padblock_write): Check return value of
15838 fread.
15839
7c302978
RM
158402010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15841
15842 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15843 floppy images now.
15844
15845 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
15846
e33ace06
RM
158472010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15848
15849 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
15850 instead of manual alignment.
15851 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
15852 verbose). Avoid attempts to read past end of the device
15853 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
15854 but GRUB_DISK_CACHE_SIZE may exceed that).
15855
4b856776
RM
158562010-01-04 Robert Millan <rmh.grub@aybabtu.com>
15857
15858 * commands/crc.c (grub_cmd_crc): Abort on read errors.
15859 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
15860 it to upper layer.
15861
52c2d97f
VS
158622010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
15865 New constant.
15866 (grub_efi_piwg_device_path): New structure
15867 (grub_efi_piwg_device_path_t): New type.
15868 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
15869 (devpath_1): Transform to a structure. All users updated.
15870 (devpath_2): Likewise.
15871 (devpath_3): Likewise.
15872 (devpath_4): Likewise.
15873 (devpath_5): Likewise.
15874
98ff6a54
VS
158752010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * loader/efi/appleloader.c: Restored. Update all users.
15878
3a73dcb6
RM
158792010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15880
15881 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
15882
15883 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
15884 (struct boot_blocklist): Move from here ...
15885 * include/grub/i386/pc/boot.h [ASM_FILE]
15886 (struct grub_boot_blocklist): ... to here. Update all users.
15887 (setup): Only initialize `start' member of `first_block'
15888 structure. Add assert() calls to verify the other members.
15889
15890 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
15891 (generate_image): Fix broken blocklist length initialization.
15892 Add assert() call to verify blocklist `segment' field.
15893
ab0eeb0c
RM
158942010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15895
15896 * loader/efi/appleloader.c: Remove. Update all users.
15897
58bc8bd5
RM
158982010-01-03 Robert Millan <rmh.grub@aybabtu.com>
15899
15900 * boot/i386/pc/boot.S: Update copyright year.
15901 * boot/i386/pc/cdboot.S: Likewise.
15902 * boot/i386/pc/diskboot.S: Likewise.
15903 * boot/i386/pc/lnxboot.S: Likewise.
15904 * boot/i386/pc/pxeboot.S: Likewise.
15905 * bus/pci.c: Likewise.
15906 * commands/cmp.c: Likewise.
15907 * commands/help.c: Likewise.
15908 * commands/hexdump.c: Likewise.
15909 * commands/i386/pc/halt.c: Likewise.
15910 * commands/i386/pc/play.c: Likewise.
15911 * commands/i386/pc/vbeinfo.c: Likewise.
15912 * commands/ls.c: Likewise.
15913 * commands/test.c: Likewise.
15914 * disk/dmraid_nvidia.c: Likewise.
15915 * disk/i386/pc/biosdisk.c: Likewise.
15916 * disk/ieee1275/nand.c: Likewise.
15917 * disk/ieee1275/ofdisk.c: Likewise.
15918 * disk/lvm.c: Likewise.
15919 * disk/raid.c: Likewise.
15920 * disk/raid6_recover.c: Likewise.
15921 * disk/scsi.c: Likewise.
15922 * fs/affs.c: Likewise.
15923 * fs/cpio.c: Likewise.
15924 * fs/ext2.c: Likewise.
15925 * fs/hfs.c: Likewise.
15926 * fs/iso9660.c: Likewise.
15927 * fs/ntfs.c: Likewise.
15928 * fs/sfs.c: Likewise.
15929 * fs/udf.c: Likewise.
15930 * fs/ufs.c: Likewise.
15931 * fs/xfs.c: Likewise.
15932 * gencmdlist.sh: Likewise.
15933 * genmk.rb: Likewise.
15934 * include/grub/disk.h: Likewise.
15935 * include/grub/efi/api.h: Likewise.
15936 * include/grub/efi/efi.h: Likewise.
15937 * include/grub/efi/pe32.h: Likewise.
15938 * include/grub/elf.h: Likewise.
15939 * include/grub/fs.h: Likewise.
15940 * include/grub/i386/at_keyboard.h: Likewise.
15941 * include/grub/i386/pc/memory.h: Likewise.
15942 * include/grub/i386/pc/vbe.h: Likewise.
15943 * include/grub/i386/pci.h: Likewise.
15944 * include/grub/i386/tsc.h: Likewise.
15945 * include/grub/ieee1275/ieee1275.h: Likewise.
15946 * include/grub/ntfs.h: Likewise.
15947 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
15948 * include/grub/sparc64/libgcc.h: Likewise.
15949 * include/grub/symbol.h: Likewise.
15950 * include/grub/types.h: Likewise.
15951 * include/multiboot2.h: Likewise.
15952 * io/gzio.c: Likewise.
15953 * kern/device.c: Likewise.
15954 * kern/disk.c: Likewise.
15955 * kern/efi/efi.c: Likewise.
15956 * kern/efi/mm.c: Likewise.
15957 * kern/elf.c: Likewise.
15958 * kern/file.c: Likewise.
15959 * kern/i386/dl.c: Likewise.
15960 * kern/i386/pc/init.c: Likewise.
15961 * kern/i386/pc/startup.S: Likewise.
15962 * kern/ieee1275/ieee1275.c: Likewise.
15963 * kern/ieee1275/init.c: Likewise.
15964 * kern/main.c: Likewise.
15965 * kern/mm.c: Likewise.
15966 * kern/powerpc/dl.c: Likewise.
15967 * kern/sparc64/dl.c: Likewise.
15968 * kern/x86_64/dl.c: Likewise.
15969 * lib/hexdump.c: Likewise.
15970 * loader/efi/appleloader.c: Likewise.
15971 * loader/i386/ieee1275/linux.c: Likewise.
15972 * loader/i386/pc/chainloader.c: Likewise.
15973 * loader/i386/pc/linux.c: Likewise.
15974 * loader/i386/pc/multiboot2.c: Likewise.
15975 * loader/ieee1275/multiboot2.c: Likewise.
15976 * loader/multiboot2.c: Likewise.
15977 * loader/multiboot_loader.c: Likewise.
15978 * loader/powerpc/ieee1275/linux.c: Likewise.
15979 * normal/completion.c: Likewise.
15980 * normal/menu_entry.c: Likewise.
15981 * partmap/apple.c: Likewise.
15982 * util/grub.d/10_hurd.in: Likewise.
15983 * util/hostfs.c: Likewise.
15984 * video/readers/png.c: Likewise.
15985
e2d70b5c
CW
159862010-01-03 Colin Watson <cjwatson@ubuntu.com>
15987
15988 * include/grub/misc.h (GNUC_PREREQ): New macro.
15989 (ATTRIBUTE_ERROR): New macro.
15990 * include/grub/list.h (grub_bad_type_cast_real): Use
15991 ATTRIBUTE_ERROR.
15992
a173283f 159932010-01-03 Carles Pina i Estany <carles@pina.cat>
15994
15995 * normal/menu_text.c (print_message): Change messages.
15996
7fa7ff74 159972010-01-03 Carles Pina i Estany <carles@pina.cat>
15998
15999 * normal/menu_entry.c (store_completion): Gettextizze.
16000
136d24f6 160012010-01-03 Carles Pina i Estany <carles@pina.cat>
16002
16003 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
16004
f936862e 160052010-01-03 Carles Pina i Estany <carles@pina.cat>
16006
16007 * po/POTFILES: Sort correctly.
16008
29c44ad1 160092010-01-03 Carles Pina i Estany <carles@pina.cat>
16010
16011 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
16012 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
16013 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
16014 full stop.
16015 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
16016 summary. Gettextizze the strings.
16017 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
16018 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
16019 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
16020 full stop.
16021 (GRUB_MOD_INIT): Remove command name from summary.
16022 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
16023 summary.
16024 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
16025 * term/i386/pc/serial.c (options): Add full stops.
16026 (GRUB_MOD_INIT): Remove command name from the summary.
16027
77a79592 160282010-01-03 Carles Pina i Estany <carles@pina.cat>
16029
16030 * commands/acpi.c: Gettextizze help strings and/or options. Include
16031 `grub/i18n.h' if needed.
16032 * commands/blocklist.c: Likewise.
16033 * commands/boot.c: Likewise.
16034 * commands/cat.c: Likewise.
16035 * commands/cmp.c: Likewise.
16036 * commands/configfile.c: Likewise.
16037 * commands/crc.c: Likewise.
16038 * commands/date.c: Likewise.
16039 * commands/echo.c: Likewise.
16040 * commands/efi/fixvideo.c: Likewise.
16041 * commands/efi/loadbios.c: Likewise.
16042 * commands/gptsync.c: Likewise.
16043 * commands/halt.c: Likewise.
16044 * commands/handler.c: Likewise.
16045 * commands/hdparm.c: Likewise.
16046 * commands/hexdump.c: Likewise.
16047 * commands/i386/cpuid.c: Likewise.
16048 * commands/i386/pc/drivemap.c: Likewise.
16049 * commands/i386/pc/halt.c: Likewise.
16050 * commands/i386/pc/pxecmd.c: Likewise.
16051 * commands/i386/pc/vbeinfo.c: Likewise.
16052 * commands/i386/pc/vbetest.c: Likewise.
16053 * commands/ieee1275/suspend.c: Likewise.
16054 * commands/keystatus.c: Likewise.
16055 * commands/loadenv.c: Likewise.
16056 * commands/ls.c: Likewise.
16057 * commands/lsmmap.c: Likewise.
16058 * commands/lspci.c: Likewise.
16059 * commands/memrw.c: Likewise.
16060 * commands/minicmd.c: Likewise.
16061 * commands/parttool.c: Likewise.
16062 * commands/password.c: Likewise.
16063 * commands/probe.c: Likewise.
16064 * commands/read.c: Likewise.
16065 * commands/reboot.c: Likewise.
16066 * commands/search.c: Likewise.
16067 * commands/sleep.c: Likewise.
16068 * commands/test.c: Likewise.
16069 * commands/true.c: Likewise.
16070 * commands/usbtest.c: Likewise.
16071 * commands/videotest.c: Likewise.
16072 * commands/xnu_uuid.c: Likewise.
16073 * disk/loopback.c: Likewise.
16074 * hello/hello.c: Likewise.
16075 * loader/i386/bsd.c: Likewise.
16076 * term/i386/pc/serial.c: Likewise.
16077 * po/POTFILES: Add new files.
16078
da8d5c53
CW
160792010-01-02 Colin Watson <cjwatson@ubuntu.com>
16080
16081 * term/i386/pc/at_keyboard.c
16082 (keyboard_controller_wait_untill_ready): Rename to ...
16083 (keyboard_controller_wait_until_ready): ... this. Update all users.
16084
33937904 160852010-01-01 Carles Pina i Estany <carles@pina.cat>
16086
16087 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
16088 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
16089 string using string width.
16090 * normal/menu_text.c (grub_print_message_indented): Use
16091 grub_print_spaces and not print_spaces.
16092 (print_timeout): Likewise.
16093 (print_spaces): Move to...
16094 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
16095
3fd3b8d8
RM
160962010-01-01 Robert Millan <rmh.grub@aybabtu.com>
16097
16098 Import from Gnulib.
16099
16100 * gnulib/getdelim.c: New file.
16101 * gnulib/getline.c: Likewise.
16102
33433555
VS
161032009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
16104
16105 * include/grub/list.h (grub_assert_fail): Removed.
16106 (grub_bad_type_cast_real): New function.
16107 (grub_bad_type_cast): New macro.
16108 (GRUB_AS_LIST): Use grub_bad_type_cast.
16109 (GRUB_AS_LIST_P): Likewise.
e44721e8 16110 (GRUB_AS_NAMED_LIST): Likewise.
33433555 16111 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 16112 (GRUB_AS_PRIO_LIST): Likewise.
33433555 16113 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 16114 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 16115
f5a51306
VS
161162009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
16119 Fix syntax error.
16120
90d1e879
RM
161212009-12-29 Robert Millan <rmh.grub@aybabtu.com>
16122
16123 * configure.ac: Check for TARGET_CFLAGS initialization before we
16124 initialize it ourselves (sigh).
16125 Move a few modifications to TARGET_CFLAGS to be unconditional
16126 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
16127 eh_frame)
16128
16129 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
16130 * term/i386/pc/at_keyboard.c
16131 (keyboard_controller_wait_untill_ready): Likewise.
16132 (keyboard_controller_led): Rename `led_status' paramter to avoid
16133 name conflict.
16134
465b5a81 161352009-12-28 Carles Pina i Estany <carles@pina.cat>
16136
16137 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
16138 quotes.
16139
c181849b
VS
161402009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16143
9c8739a4
VS
161442009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * normal/menu_text.c (grub_print_message_indented): Prevent
16147 past-the-end-of-array dereference.
16148
3e74249c
VS
161492009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16152 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16153
64fd18ed 161542009-12-27 Carles Pina i Estany <carles@pina.cat>
16155
16156 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16157 * normal/main.c (grub_normal_read_line): Remove a space from the
16158 default prompt.
16159
714af9b9 161602009-12-27 Carles Pina i Estany <carles@pina.cat>
16161
16162 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16163 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16164 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16165 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16166 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16167 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16168 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16169
82f3e412 161702009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16171
16172 * video/readers/jpeg.c (cmd): Declare.
16173 (grub_cmd_jpegtest): Use `grub_command_t' type.
16174 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16175 Assign to `cmd'.
16176 (GRUB_MOD_FINI): Use `cmd' to unregister.
16177 * video/readers/png.c (cmd): Declare.
16178 (grub_cmd_pngtest): Use `grub_command_t' type.
16179 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16180 Assign to `cmd'.
16181 (GRUB_MOD_FINI): Use `cmd' to unregister.
16182 * video/readers/tga.c (cmd): Declare.
16183 (grub_cmd_tgatest): Use `grub_command_t' type.
16184 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16185 Assign to `cmd'.
16186 (GRUB_MOD_FINI): Use `cmd' to unregister.
16187
82f3e412 161882009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16189
16190 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16191 stops.
16192 * kern/corecmd.c (grub_register_core_commands): Likewise.
16193 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16194 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16195 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16196 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16197 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16198 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16199 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16200 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16201 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16202 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16203 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16204 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16205 * normal/handler.c (insert_handler): Likewise.
16206 * normal/main.c (GRUB_MOD_INIT): Likewise.
16207 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16208
fdcdbb66 162092009-12-26 Carles Pina i Estany <carles@pina.cat>
16210
16211 * commands/help.c (grub_cmd_help): Print the command name before the
16212 summary.
16213 (GRUB_MOD_INIT): Remove command name from the summary.
16214 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16215 string as summary.
fdcdbb66 16216 * lib/arg.c (find_long): Print the command name before the summary.
16217 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16218 summary.
16219 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16220 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16221 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16222 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16223 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16224 * commands/date.c (GRUB_MOD_INIT): Likewise.
16225 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16226 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16227 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16228 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16229 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16230 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16231 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16232 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16233 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16234 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16235 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16236 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16237 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16238 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16239 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16240 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16241 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16242 * commands/password.c (GRUB_MOD_INIT): Likewise.
16243 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16244 * commands/read.c (GRUB_MOD_INIT): Likewise.
16245 * commands/search.c (GRUB_MOD_INIT): Likewise.
16246 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16247 * commands/test.c (GRUB_MOD_INIT): Likewise.
16248 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16249 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16250 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16251 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16252 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16253 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16254 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16255 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16256 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16257 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16258 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16259 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16260 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16261 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16262
9c288be2
VS
162632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 Use search command for preliminar UUID search.
16266
16267 * commands/search.c: Split into ...
16268 * commands/search_wrap.c: ...this
16269 * commands/search.c: ...and this.
16270 * commands/search_file.c: New file.
16271 * commands/search_label.c: New file.
16272 * commands/search_uuid.c: New file.
16273 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16274 Add commands/search_wrap.c, commands/search_file.c,
16275 commands/search_label.c and commands/search_uuid.c.
16276 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16277 (search_mod_SOURCES): Set to commands/search_wrap.c.
16278 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16279 search_label.mod.
16280 (search_fs_file_mod_SOURCES): New variable.
16281 (search_fs_file_mod_CFLAGS): Likewise.
16282 (search_fs_file_mod_LDFLAGS): Likewise.
16283 (search_label_mod_SOURCES): Likewise.
16284 (search_label_mod_CFLAGS): Likewise.
16285 (search_label_mod_LDFLAGS): Likewise.
16286 (search_fs_uuid_mod_SOURCES): New variable.
16287 (search_fs_uuid_mod_CFLAGS): Likewise.
16288 (search_fs_uuid_mod_LDFLAGS): Likewise.
16289 (fs_file_mod_SOURCES): Removed.
16290 (fs_file_mod_CFLAGS): Likewise.
16291 (fs_file_mod_LDFLAGS): Likewise.
16292 (fs_uuid_mod_SOURCES): Removed.
16293 (fs_uuid_mod_CFLAGS): Likewise.
16294 (fs_uuid_mod_LDFLAGS): Likewise.
16295 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16296 Set to util/grub-install.in.
16297 * disk/fs_file.c: Removed.
16298 * disk/fs_uuid.c: Likewise.
16299 * include/grub/search.h: New file.
16300 * util/grub-install.in: Handle sparc64.
16301 Create and use load.cfg.
16302 * util/sparc64/ieee1275/grub-install.in: Removed.
16303
db943399
VS
163042009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16305
16306 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16307 Ignore return status if CF is cleared.
16308 (grub_biosdisk_get_diskinfo_standard): Likewise.
16309
3fdae612
RM
163102009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16311
16312 * term/i386/pc/at_keyboard.c
16313 (keyboard_controller_wait_untill_ready): New function.
16314 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16315 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16316 for keyboard polling, rather than duplicate the same loop. This
16317 saves a few bytes in code size.
16318
7ebaa2b4
VS
163192009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16320
16321 Support for (pxe[:server[:gateway]]) syntax and
16322 use environment variable for PXE.
16323
16324 * commands/i386/pc/pxecmd.c (options): Removed.
16325 (print_ip): Removed.
16326 (grub_cmd_pxe): Removed
16327 (grub_cmd_pxe_unload): New function.
16328 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16329 (grub_pxe_your_ip): Made static.
16330 (grub_pxe_default_server_ip): Likewise.
16331 (grub_pxe_default_gateway_ip): Likewise.
16332 (grub_pxe_blksize): Likewise.
16333 (parse_ip): New function.
16334 (grub_pxe_open): Support server and gateway specification.
16335 (grub_pxe_close): Free disk->data.
16336 (grub_pxefs_open): Use disk->data.
16337 (grub_pxefs_read): Likewise.
16338 (grub_env_write_readonly): New function.
16339 (set_mac_env): Likewise.
16340 (set_env_limn_ro): Likewise.
16341 (parse_dhcp_vendor): Likewise.
16342 (grub_pxe_detect): Set the environment variables.
16343 (set_ip_env): New function.
16344 (write_ip_env): Likewise.
16345 (grub_env_write_pxe_default_server): Likewise.
16346 (grub_env_write_pxe_default_gateway): Likewise.
16347 (grub_env_write_pxe_blocksize): Likewise.
16348 (GRUB_MOD_INIT(pxe)): Set environment variables.
16349 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16350 (grub_pxe_mac_addr_t): ... this. All users updated.
16351 (grub_pxe_your_ip): Removed.
16352 (grub_pxe_server_ip): Likewise.
16353 (grub_pxe_gateway_ip): Likewise.
16354 (grub_pxe_blksize): Likewise.
16355
ec5f98ab 163562009-12-25 Carles Pina i Estany <carles@pina.cat>
16357
16358 * commands/help.c: Include `<grub/i18n.h>'.
16359 (grub_cmd_help): Gettextizze.
16360 (GRUB_MOD_INIT): Likewise.
16361 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16362 (GRUB_MOD_INIT): Gettextizze.
16363 * commands/search.c: Include `<grub/i18n.h>'.
16364 (options): Gettextizze.
16365 (GRUB_MOD_INIT): Gettextizze.
16366 * lib/arg.c: Include `<grub/i18n.h>'.
16367 (help_options): Gettextizze.
16368 (find_long): Likewise.
16369 (grub_arg_show_help): Likewise.
16370 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16371 (read_command_list): Gettextizze.
16372 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16373 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16374
22815526
RM
163752009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16376
16377 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16378 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16379 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16380 (led_status): New variable.
16381 (keyboard_controller_led): New function.
16382 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16383 update led status for caps lock, num lock and scroll lock.
16384
0ad46fd7
FZ
163852009-12-25 Felix Zielcke <fzielcke@z-51.de>
16386
16387 * util/hostdisk.c (open_device): Fix a comment.
16388
d0e158c2
RM
163892009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16390
16391 * util/grub-install.in (host_os): New variable.
16392 * util/i386/efi/grub-install.in (host_os): Likewise.
16393
401c0ad6
RM
163942009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16395
16396 * util/mkisofs/write.c (padblock_write): Abort when given an
16397 excedingly large embed image, instead of silently truncating it.
16398
d14d3370
RM
163992009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16400
16401 * include/multiboot.h: Indentation fixes.
16402
eeed10b4
RM
164032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16404
16405 * include/multiboot.h (struct multiboot_aout_symbol_table)
16406 (struct multiboot_elf_section_header_table): New structure
16407 declarations (stolen from GRUB Legacy).
16408 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16409 table information.
16410
16411 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16412 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16413 type aliases.
16414
681c70ab
RM
164152009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16416
16417 * include/multiboot.h: Make comments src2texi-friendly.
16418
e4d47d8d
RM
164192009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16420
16421 For consistency with [multiboot]/docs/boot.S.
16422
16423 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16424 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16425 (MULTIBOOT_MAGIC2): Rename from this ...
16426 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16427
a0b70bda
RM
164282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16429
16430 * include/multiboot.h: Remove `<grub/types.h>'.
16431 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16432 types. Update all users.
16433
61ba42be 164342009-12-25 Carles Pina i Estany <carles@pina.cat>
16435
16436 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16437 `couldn't' and `can not' by `cannot'.
16438 * commands/i386/pc/drivemap.c: Likewise.
16439 * disk/ata.c: Likewise.
16440 * disk/ieee1275/nand.c: Likewise.
16441 * fs/affs.c: Likewise.
16442 * fs/fat.c: Likewise.
16443 * fs/hfs.c: Likewise.
16444 * fs/hfsplus.c: Likewise.
16445 * fs/iso9660.c: Likewise.
16446 * fs/jfs.c: Likewise.
16447 * fs/minix.c: Likewise.
16448 * fs/reiserfs.c: Likewise.
16449 * fs/sfs.c: Likewise.
16450 * fs/udf.c: Likewise.
16451 * fs/ufs.c: Likewise.
16452 * fs/xfs.c: Likewise.
16453 * loader/powerpc/ieee1275/linux.c: Likewise.
16454 * loader/sparc64/ieee1275/linux.c: Likewise.
16455 * util/grub-probe.c: Likewise.
16456 * util/misc.c: Likewise.
16457
7fd0baee 164582009-12-24 Carles Pina i Estany <carles@pina.cat>
16459
16460 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16461 grub_errno calls.
16462 * commands/acpi.c: Likewise.
16463 * commands/blocklist.c: Likewise.
16464 * commands/efi/loadbios.c: Likewise.
16465 * commands/i386/pc/drivemap.c: Likewise.
16466 * commands/loadenv.c: Likewise.
16467 * commands/memrw.c: Likewise.
16468 * commands/password.c: Likewise.
16469 * commands/videotest.c: Likewise.
16470 * disk/ata.c: Likewise.
16471 * disk/ata_pthru.c: Likewise.
16472 * disk/dmraid_nvidia.c: Likewise.
16473 * disk/ieee1275/nand.c: Likewise.
16474 * disk/ieee1275/ofdisk.c: Likewise.
16475 * disk/loopback.c: Likewise.
16476 * disk/lvm.c: Likewise.
16477 * disk/mdraid_linux.c: Likewise.
16478 * disk/raid.c: Likewise.
16479 * disk/raid6_recover.c: Likewise.
16480 * disk/scsi.c: Likewise.
16481 * efiemu/main.c: Likewise.
16482 * efiemu/mm.c: Likewise.
16483 * efiemu/pnvram.c: Likewise.
16484 * efiemu/symbols.c: Likewise.
16485 * font/font.c: Likewise.
16486 * fs/cpio.c: Likewise.
16487 * fs/hfsplus.c: Likewise.
16488 * fs/iso9660.c: Likewise.
16489 * fs/jfs.c: Likewise.
16490 * fs/minix.c: Likewise.
16491 * fs/ntfs.c: Likewise.
16492 * fs/ntfscomp.c: Likewise.
16493 * fs/reiserfs.c: Likewise.
16494 * fs/ufs.c: Likewise.
16495 * fs/xfs.c: Likewise.
16496 * gettext/gettext.c: Likewise.
16497 * include/grub/auth.h: Likewise.
16498 * kern/elf.c: Likewise.
16499 * kern/file.c: Likewise.
16500 * kern/ieee1275/init.c: Likewise.
16501 * kern/ieee1275/mmap.c: Likewise.
16502 * kern/ieee1275/openfw.c: Likewise.
16503 * kern/powerpc/dl.c: Likewise.
16504 * kern/sparc64/dl.c: Likewise.
16505 * lib/arg.c: Likewise.
16506 * loader/i386/bsd.c: Likewise.
16507 * loader/i386/bsdXX.c: Likewise.
16508 * loader/i386/efi/linux.c: Likewise.
16509 * loader/i386/efi/xnu.c: Likewise.
16510 * loader/i386/ieee1275/linux.c: Likewise.
16511 * loader/i386/linux.c: Likewise.
16512 * loader/i386/multiboot.c: Likewise.
16513 * loader/i386/pc/linux.c: Likewise.
16514 * loader/i386/pc/multiboot2.c: Likewise.
16515 * loader/i386/xnu.c: Likewise.
16516 * loader/ieee1275/multiboot2.c: Likewise.
16517 * loader/macho.c: Likewise.
16518 * loader/machoXX.c: Likewise.
16519 * loader/multiboot2.c: Likewise.
16520 * loader/multiboot_loader.c: Likewise.
16521 * loader/powerpc/ieee1275/linux.c: Likewise.
16522 * loader/sparc64/ieee1275/linux.c: Likewise.
16523 * loader/xnu.c: Likewise.
16524 * loader/xnu_resume.c: Likewise.
16525 * mmap/i386/pc/mmap.c: Likewise.
16526 * normal/menu_viewer.c: Likewise.
16527 * partmap/acorn.c: Likewise.
16528 * partmap/amiga.c: Likewise.
16529 * partmap/apple.c: Likewise.
16530 * script/lexer.c: Likewise.
16531 * term/gfxterm.c: Likewise.
16532 * term/i386/pc/serial.c: Likewise.
16533 * term/i386/pc/vga.c: Likewise.
16534 * term/ieee1275/ofconsole.c: Likewise.
16535 * term/terminfo.c: Likewise.
16536 * video/bitmap.c: Likewise.
16537 * video/efi_gop.c: Likewise.
16538 * video/efi_uga.c: Likewise.
16539 * video/fb/video_fb.c: Likewise.
16540 * video/i386/pc/vbe.c: Likewise.
16541 * video/readers/tga.c: Likewise.
16542 * video/video.c: Likewise.
16543
0ad46fd7 165442009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16545
16546 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16547 * commands/lspci.c: Likewise.
16548 * commands/probe.c: Likewise.
16549 * commands/xnu_uuid.c: Likewise.
16550 * conf/i386-coreboot.rmk: Likewise.
16551 * conf/i386-efi.rmk: Likewise.
16552 * conf/i386-ieee1275.rmk: Likewise.
16553 * conf/i386-pc.rmk: Likewise.
16554 * conf/powerpc-ieee1275.rmk: Likewise.
16555 * conf/sparc64-ieee1275.rmk: Likewise.
16556 * conf/x86_64-efi.rmk: Likewise.
16557 * fs/i386/pc/pxe.c: Likewise.
16558 * gettext/gettext.c: Likewise.
16559 * include/grub/efi/graphics_output.h: Likewise.
16560 * include/grub/i386/pc/memory.h: Likewise.
16561 * kern/env.c: Likewise.
16562 * kern/i386/qemu/startup.S: Likewise.
16563 * lib/i386/pc/biosnum.c: Likewise.
16564 * lib/i386/relocator.c: Likewise.
16565 * lib/i386/relocator_asm.S: Likewise.
16566 * lib/relocator.c: Likewise.
16567 * loader/i386/bsd.c: Likewise.
16568 * loader/i386/multiboot.c: Likewise.
16569 * loader/i386/pc/chainloader.c: Likewise.
16570 * loader/i386/xnu.c: Likewise.
16571 * loader/xnu.c: Likewise.
16572 * normal/main.c: Likewise.
16573 * normal/menu_text.c: Likewise.
16574 * util/getroot.c: Likewise.
16575 * util/grub-mkconfig_lib.in: Likewise.
16576 * util/grub.d/00_header.in: Likewise.
16577 * util/i386/pc/grub-mkimage.c: Likewise.
16578 * util/mkisofs/eltorito.c: Likewise.
16579 * util/mkisofs/exclude.h: Likewise.
16580 * util/mkisofs/hash.c: Likewise.
16581 * util/mkisofs/iso9660.h: Likewise.
16582 * util/mkisofs/joliet.c: Likewise.
16583 * util/mkisofs/mkisofs.c: Likewise.
16584 * util/mkisofs/mkisofs.h: Likewise.
16585 * util/mkisofs/multi.c: Likewise.
16586 * util/mkisofs/name.c: Likewise.
16587 * util/mkisofs/rock.c: Likewise.
16588 * util/mkisofs/tree.c: Likewise.
16589 * util/mkisofs/write.c: Likewise.
16590 * video/efi_gop.c: Likewise.
16591
009ec743
VS
165922009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16595 size counting.
16596
0ad46fd7 165972009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16598
16599 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16600 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16601
d3d30ea0
VS
166022009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16605 (GRUB_MOD_INIT(memrw)): Update help line.
16606
a34f5c70
VS
166072009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16608
16609 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16610 Use grub_extcmd_t. All users updated.
16611 (options): New variable.
16612 (grub_cmd_read): Restructure for readability. Support "-v" option.
16613 (grub_cmd_write): Restructure for readability.
16614
0ad46fd7 166152009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16616
16617 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16618
0ad46fd7 166192009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16620
16621 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16622 with the actual contents of the correspondending make variable.
16623 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16624 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16625 specifying `*.lst' and `efiemu??.o'
16626
0ad46fd7 166272009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16628
16629 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16630 after function name.
16631 Noticed by Rene Engelhard <rene@debian.org>.
16632
dc77a799
VS
166332009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16636 (options): New variable.
16637 (iospace): Likewise.
16638 (grub_lspci_iter): List IO spaces if "-i" was given.
16639 (grub_cmd_lspci): Parse options.
16640 (GRUB_MOD_INIT(lspci)): Use extcmd.
16641 (GRUB_MOD_FINI(lspci)): Likewise.
16642
0ad46fd7 166432009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
16644
16645 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16646 `function' keyword.
16647 Patch by Tony Mancill <tmancill@debian.org>.
16648
b5d5993b
VS
166492009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16650
16651 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16652 (grub_uhci_portstatus): Likewise.
16653 (grub_uhci_portstatus): Add necessary delay.
11d18281 16654 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 16655
941903f2 166562009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 16657
941903f2 16658 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16659 (GRUB_MOD_INIT): Likewise.
16660 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 16661 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16662 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 16663 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16664 (enable_rom_area): Likewise.
16665 (GRUB_MOD_INIT): Likewise.
16666 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16667 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16668 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16669 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16670 * commands/hexdump.c (options): Likewise.
16671 * commands/i386/cpuid.c (options): Likewise.
16672 (GRUB_MOD_INIT): Likewise.
16673 * commands/i386/pc/drivemap.c (options): Likewise.
16674 (GRUB_MOD_INIT): Likewise.
16675 * commands/i386/pc/halt (options): Likewise.
16676 (GRUB_MOD_INIT): Likewise.
16677 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16678 * commands/i386/pc/pxecmd.c (options): Likewise.
16679 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16680 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16681 * commands/keystatus.c (options): Likewise.
16682 (GRUB_MOD_INIT): Likewise.
16683 * commands/loadenv.c (options): Likewise.
16684 * commands/ls.c (options): Likewise.
16685 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16686 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16687 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16688 * commands/parttool.c (helpmsg): Likewise.
16689 * commands/probe.c (options): Likewise.
16690 * commands/read.c (GRUB_MOD_INIT): Likewise.
16691 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16692 * commands/search.c (options): Likewise.
16693 * commands/sleep.c (options): Likewise.
16694 * commands/test.c (GRUB_MOD_INIT): Likewise.
16695 * commands/true.c (GRUB_MOD_INIT): Likewise.
16696 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16697 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16698 * lib/arg.c (help_options): Likewise.
e9bbb4e7 16699 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16700 `$(XGETTEXT)'.
98a50553 16701 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 16702
0ad46fd7 167032009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 16704
ef3c2c3a 16705 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
16706 instead of specifying them explicit.
16707
7922f68b
RM
167082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16709
16710 * NEWS: Add grub-probe support for GNU/Hurd.
16711
537ce47f
RM
167122009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16713
16714 * NEWS: gettext was added after 1.97.
16715
9b214e3a
RM
167162009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16717
16718 * util/mkisofs/msdos_partition.h: New file (based on
16719 include/grub/msdos_partition.h).
16720 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16721 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16722 (ld_options, main): Recognize --protective-msdos-label.
16723 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16724 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16725 (padblock_write): If `use_protective_msdos_label' is set, patch a
16726 protective DOS-style label in the output image.
16727
16728 * util/grub-mkrescue.in: Use --protective-msdos-label.
16729
e9309813
RM
167302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16731
16732 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16733 boot.
16734
0ae56929
RM
167352009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16736
16737 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16738 variables.
16739 (ld_options, main): Recognize `--embedded-boot'.
16740 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16741 declarations.
16742 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16743 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16744 (padblock_write): Likewise. Rewrite to support embedded boot image.
16745
16746 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16747 for BIOS-based disk boot instead of only ElTorito.
16748
b15937b1
RM
167492009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16750
16751 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16752 build (not needed for bootstrap).
16753
52cc3ce0
RM
167542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16755
16756 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16757 from i386-pc build (not needed for bootstrap).
16758 Rewrite a pair of strings.
16759
36f5ff04
RM
167602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16761
16762 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16763
973c6c85 167642009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
16765
16766 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16767
05d21547
AB
167682009-12-21 Andreas Born <futur.andy@googlemail.com>
16769
16770 * kern/env.c (grub_env_context_open): Mark exported variable for
16771 reexport.
16772
0175d51f
AB
167732009-12-21 Andreas Born <futur.andy@googlemail.com>
16774
16775 * kern/env.c (grub_env_export): Create nonexistent variables before
16776 exporting.
16777
7f39d92f 167782009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 16779
7f39d92f 16780 * include/grub/auth.h: Include `<grub/i18n.h>'.
16781 (GRUB_GET_PASSWORD): Gettextizze string.
16782 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16783 menu_text.c.
16784 (grub_utf8_to_ucs4_alloc): Fix indentation.
16785 (grub_print_ucs4): Likewise.
16786 (grub_getstringwidth): Likewise.
16787 (print_message_indented): New declaration.
16788 * normal/auth.c: Include `<grub/i18n.h>'.
16789 (grub_auth_check_authentication): Gettexttize string.
16790 * normal/cmdline.c: Include `<grub/i18n.h>'.
16791 (grub_cmdline_get): Gettextizze.
16792 * normal/color.c: Include `<grub/i18n.h>'.
16793 (grub_parse_color_name_pair): Gettexttize strings.
16794 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16795 string (use `print_message_indented').
16796 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16797 `include/grub/normal.h'.
16798 (print_message_indented): Renamed to ...
16799 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16800 used in normal/main.c).
16801 (print_message): Use `grub_print_message_indented' instead of
16802 `print_message_indented'.
16803 (print_timeout): Likewise.
16804 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16805 (grub_normal_print_device_info): Gettexttize strings.
16806 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16807
3041d898
VS
168082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16809
16810 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16811 of arguments. Return number of tokens and not arguments. All users
16812 updated.
16813
de15bf8e
VS
168142009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16815
16816 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16817 non-MSDOS paritions.
16818
e0a6ca52
VS
168192009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16820
16821 * include/grub/types.h (UNUSED): Removed since it conflicts with
16822 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16823 Reported by Grégoire Sutre.
16824
b99518d1 168252009-12-19 Carles Pina i Estany <carles@pina.cat>
16826
16827 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16828 (grub_print_ucs4_alloc): Likewise.
16829 (grub_getstringwidth): Likewise.
16830 * normal/main.c (grub_normal_init_page): Gettextize version string.
16831 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16832 (getstringwidth): Renamed to ...
16833 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16834 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16835 (grub_print_ucs4): Remove `static' qualifer (now used in
16836 normal/main.c).
16837 * po/POTFILES: Add normal/main.c.
16838
bfd5e52b 168392009-12-19 Carles Pina i Estany <carles@pina.cat>
16840
16841 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16842 (print_message_indented): Add `margin_left' and `margin_right'
16843 parameters.
16844 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16845 strings.
16846 (print_timeout): Use `print_message_indented' to print the message.
16847 Deletes `second_stage' parameter.
16848 (run_menu): Update `print_timeout' calls.
16849
5a1ad2b9
VS
168502009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16851
16852 Fix console palette on OpenFirmware.
16853
16854 * term/ieee1275/ofconsole.c (MAX): Removed.
16855 (colors): Redone based on VGA palette.
16856 (grub_ofconsole_setcolor): Discard brightness bit since only 8
16857 colors are supported.
16858 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
16859
b045f00a
VS
168602009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
16861
16862 Fix potential EfiEmu double prepare.
16863
16864 * efiemu/main.c (prepared): New variable
16865 (grub_efiemu_unload): Set prepare to '0'.
16866 (grub_efiemu_prepare): Return if already prepared. Set prepared.
16867
16868 set_virtual_address_map support.
16869
16870 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
16871 prototype.
16872 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
16873 prototype.
16874 (grub_efiemu_crc32): Likewise.
16875 (grub_efiemu_crc64): Likewise.
16876 (grub_efiemu_set_virtual_address_map): Likewise.
16877 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
16878 New definition.
16879 (grub_autoefi_set_virtual_address_map): Likewise.
16880 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
16881 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
16882 Restructure flow to accomodate it.
16883 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
16884 (grub_efiemu_crc): Recompute CRC32.
16885 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
16886 (efiemu_ptv_relocated): ... this. Made global. All users updated.
16887 * efiemu/symbols.c (relocated_handle): New variable.
16888 (grub_efiemu_free_syms): Free relocated_handle.
16889 (grub_efiemu_alloc_syms): Allocate relocated_handle.
16890 (grub_efiemu_write_sym_markers): New function.
16891 (grub_efiemu_set_virtual_address_map): Likewise.
16892
16893 Newer XNU parameters.
16894
16895 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
16896 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
16897 (grub_xnu_fill_devicetree): New prototype.
16898 (grub_xnu_heap_real_start): New variable.
16899 * loader/xnu.c (get_name_ptr): New function.
16900 (grub_xnu_load_driver): Fill namelen and name.
16901
16902 64-bit xnu support.
16903
16904 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
16905 and 'loader/macho64.c'.
16906 * conf/i386-pc.rmk: Likewise.
16907 * conf/x86_64-efi.rmk: Likewise.
16908 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
16909 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
16910 * include/grub/macho.h (grub_macho_segment64): New structure.
16911 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
16912 (grub_macho_size32): ... to this.
16913 (grub_macho32_get_entry_point): Renamed from ...
16914 (grub_macho_get_entry_point32): ... to this.
16915 (grub_macho_contains_macho64): New prototype.
16916 (grub_macho_size64): Likewise.
16917 (grub_macho_get_entry_point64): Likewise.
16918 (grub_macho32_load): Renamed from ...
16919 (grub_macho_load32): ... to this.
16920 (grub_macho32_filesize): Renamed from ...
16921 (grub_macho_filesize32): ... to this.
16922 (grub_macho32_readfile): Renamed from ...
16923 (grub_macho_readfile32): ... to this.
16924 (grub_macho_filesize64): New prototype.
16925 (grub_macho_readfile64): Likewise.
16926 (grub_macho_parse32): Likewise.
16927 (grub_macho_parse64): Likewise.
16928 * loader/macho.c: Split into ...
16929 * loader/machoXX.c: ... and this. Replace 32 with XX.
16930 * loader/macho32.c: New file.
16931 * loader/macho64.c: Likewise.
16932 * loader/xnu.c (grub_xnu_is_64bit): New variable.
16933 (grub_cmd_xnu_kernel): Make 32-bit only.
16934 (grub_cmd_xnu_kernel64): New function.
16935 (grub_xnu_load_driver): Support Mach-O 64.
16936 (grub_cmd_xnu_mkext): Likewise.
16937 * util/grub.d/30_os-prober.in (osx_entry): New function.
16938 Generate entries for 64-bit boot too.
16939
16940 Eliminate ad-hoc tree format in XNU and EfiEmu.
16941
16942 * efiemu/main.c (grub_efiemu_prepare): Update comment.
16943 * efiemu/pnvram.c: Rewritten to use environment variables.
16944 All users updated.
16945
16946 Inline utf16_to_utf8.
16947
16948 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
16949 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
16950 All users updated.
16951 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
16952
16953 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
16954 * commands/usbtest.c (grub_usb_get_string): ... move here.
16955 (usb_print_str): Fix error handling.
16956 * include/grub/usb.h (grub_usb_get_string): Remove.
16957
16958 UTF-8 to UTF-16 transformation.
16959
16960 * conf/common.rmk (pkglib_MODULES): Add charset.mod
16961 (charset_mod_SOURCES): New variable.
16962 (charset_mod_CFLAGS): Likewise.
16963 (charset_mod_LDFLAGS): Likewise.
16964 * include/grub/utf.h: New file.
16965 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
16966
16967 Support for device properties.
16968
16969 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
16970 (grub_xnu_devprop_device_header): Likewise.
16971 (grub_xnu_devprop_device_descriptor): Likewise.
16972 (grub_xnu_devprop_add_device): New prototype.
16973 (grub_xnu_devprop_remove_device): Likewise.
16974 (grub_xnu_devprop_remove_property): Likewise.
16975 (grub_xnu_devprop_add_property_utf8): Likewise.
16976 (grub_xnu_devprop_add_property_utf16): Likewise.
16977 (grub_cpu_xnu_init): Likewise.
16978 (grub_cpu_xnu_fini): Likewise.
16979 (grub_cpu_xnu_unload): Likewise.
16980 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
16981 (property_descriptor): Likewise.
16982 (devices): New variable.
16983 (grub_xnu_devprop_remove_property): New function.
16984 (grub_xnu_devprop_add_device): Likewise.
16985 (grub_xnu_devprop_remove_device): Likewise.
16986 (grub_xnu_devprop_add_property): Likewise.
16987 (grub_xnu_devprop_add_property_utf8): Likewise.
16988 (grub_xnu_devprop_add_property_utf16): Likewise.
16989 (hextoval): Likewise.
16990 (grub_cpu_xnu_fill_devprop): Likewise.
16991 (grub_cmd_devprop_load): Likewise.
16992 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
16993 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
16994 (cmd_devprop_load): New variable.
16995 (grub_cpu_xnu_init): New function.
16996 (grub_cpu_xnu_fini): Likewise.
16997 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
16998 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
16999 (grub_cmd_xnu_devtree): Likewise.
17000 (hextoval): New function.
17001 (unescape): Likewise.
17002 (grub_xnu_fill_devicetree): Likewise.
17003
17004 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
17005 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
17006
0945f181
VS
170072009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 Workaround for broken ATI VBE.
17010
17011 * video/i386/pc/vbe.c (last_set_mode): New variable.
17012 (grub_vbe_set_video_mode): Set 'last_set_mode'.
17013 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
17014 (grub_video_vbe_setup): Don't check for reserved flag.
17015
0ad46fd7 170162009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
17017
17018 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
17019 the `find' command.
17020
c179ebe4
VS
170212009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
17022
17023 UUID support for HFS.
17024
17025 * fs/hfs.c (grub_hfs_uuid): New function.
17026 (grub_hfs_fs): New value .uuid.
17027 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
17028
0ad46fd7 170292009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
17030
17031 Fix a segfault with parsing unknown long options.
17032
17033 * util/grub-mkrelpath.c (options): Zero terminate it.
17034
c4a3e41a
CPE
170352009-12-13 Carles Pina i Estany <carles@pina.cat>
17036
17037 * include/grub/misc.h (grub_puts): New declaration.
17038 (grub_puts_): Likewise.
a22008a6 17039 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
17040 (grub_puts_): Likewise.
17041
2e8a7602
RM
170422009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17043
17044 * util/grub-probe.c (probe): Improve error message.
17045
b50b77b9
RM
170462009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17047
17048 * loader/i386/multiboot_elfxx.c
17049 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
17050 initialization.
17051
170522009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 Relocator framework
17055
17056 * loader/i386/xnu_helper.S: Removed. All users updated.
17057 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
17058 (relocator_mod_SOURCES): New variable.
17059 (relocator_mod_CFLAGS): Likewise.
17060 (relocator_mod_LDFLAGS): Likewise.
17061 (relocator_mod_ASFLAGS): Likewise.
17062 * conf/x86_64.rmk: Likewise.
17063 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
17064 (grub_multiboot_payload_entry_offset): Likewise.
17065 (grub_multiboot_forward_relocator): Likewise.
17066 (grub_multiboot_forward_relocator_end): Likewise.
17067 (grub_multiboot_backward_relocator): Likewise.
17068 (grub_multiboot_backward_relocator_end): Likewise.
17069 (grub_multiboot_payload_eip): New variable.
17070 (grub_multiboot_payload_orig): Likewise.
17071 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
17072 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
17073 * include/grub/i386/memory.h
17074 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
17075 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
17076 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
17077 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
17078 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
17079 * include/grub/i386/relocator.h: New file.
17080 * include/grub/x86_64/relocator.h: Likewise.
17081 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
17082 (XNU_RELOCATOR): New macro.
17083 (grub_xnu_launcher_start): Remove.
17084 (grub_xnu_launcher_end): Likewise.
17085 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
17086 (grub_xnu_heap_real_start): Remove.
17087 (grub_xnu_heap_start): Change to void *. All users updated.
17088 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
17089 * lib/i386/relocator.c: New file.
17090 * lib/i386/relocator_asm.S: Likewise.
17091 * lib/i386/relocator_backward.S: Likewise.
17092 * lib/mips/relocator.c: Likewise.
17093 * lib/mips/relocator_asm.S: Likewise.
17094 * lib/relocator.c: Likewise.
17095 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
17096 (entry): Removed.
17097 (playground): Likewise.
17098 (grub_multiboot_payload_orig): New variable.
17099 (grub_multiboot_payload_dest): Likewise.
17100 (grub_multiboot_payload_size): Likewise.
17101 (grub_multiboot_payload_eip): Likewise.
17102 (grub_multiboot_payload_esp): Likewise.
17103 (grub_multiboot_boot): Use grub_relocator32_boot.
17104 (grub_multiboot_unload): Free relocators.
17105 (grub_multiboot): Setup stack. Use relocators.
17106 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
17107 (grub_multiboot_load_elfXX): Use relocators.
17108 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
17109 (grub_multiboot_payload_size): Likewise.
17110 (grub_multiboot_payload_dest): Likewise.
17111 (grub_multiboot_payload_entry_offset): Likewise.
17112 (grub_multiboot_forward_relocator): Likewise.
17113 (grub_multiboot_backward_relocator): Likewise.
17114 (grub_multiboot_real_boot): Likewise.
17115 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
17116 (grub_xnu_entry_point): Likewise.
17117 (grub_xnu_arg1): Likewise.
17118 (grub_xnu_stack): Likewise.
17119 (grub_xnu_launch): Removed.
17120 (grub_xnu_boot_resume): New function.
17121 (grub_xnu_boot): Use relocators.
17122 * loader/i386/xnu_helper.S: Removed.
17123 * loader/xnu.c (grub_xnu_heap_start): New variable.
17124 (grub_xnu_heap_size): Likewise.
17125 (grub_xnu_heap_malloc): Use relocators.
17126 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
17127
29eb90c6
VS
171282009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
17131 anything.
17132
31027430
CPE
171332009-12-13 Carles Pina i Estany <carles@pina.cat>
17134
17135 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
17136 GRUB_ERR_NONE before calling grub_env_set.
17137
dc0c71d9
RM
171382009-12-12 Robert Millan <rmh@aybabtu.com>
17139
17140 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17141 * genmk.rb (video): New variable.
17142 (CLEANFILES, VIDEOFILES): Add #{video}.
17143 (#{video}): New target rule.
17144 * genvideolist.sh: New file.
17145 * Makefile.in (pkglib_DATA): Add video.lst.
17146 (video.lst): New target rule.
17147 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17148 `video.lst'.
17149 * util/grub.d/30_os-prober.in: Replace `vbe' with
17150 ${GRUB_VIDEO_BACKEND}.
17151
2a4bfcf0
RM
171522009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17153
17154 * THANKS: Add David Miller.
17155
2a3aa4d5
RM
171562009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 libpciaccess support.
17159
17160 * Makefile.in (LIBPCIACCESS): New variable.
17161 (enable_grub_emu_pci): Likewise.
17162 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17163 util/pci.c and commands/lspci.c.
17164 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17165 * configure.ac (grub-emu-pci): New option.
17166 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17167 (grub_pci_device_unmap_range): Likewise.
17168 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17169 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17170 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17171 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17172 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17173 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17174 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17175 * include/grub/pciutils.h: New file.
17176 * util/pci.c: Likewise.
17177
0ad46fd7 171782009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17179
17180 * util/misc.c: Don't include <errno.h> twice.
17181
0ad46fd7 171822009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17183
17184 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17185 name in an error message.
17186 (grub_biosdisk_rw): Likewise.
17187
2e59983c
VS
171882009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17189
17190 Eliminate NTFS 4Gib barrier.
17191
17192 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17193 (read_run_data): Likewise.
17194 (grub_ntfs_read_run_list): Likewise.
17195 (grub_ntfs_read_block): Likewise.
17196 (grub_ntfs_iterate_dir): Likewise.
17197 (read_mft): Likewise.
17198 (read_data): Likewise.
17199 Use COM_LOG_LEN.
17200 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17201 to avoid 64-bit division
17202 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17203 (grub_ntfs_rlst): Use grub_disk_addr_t.
17204
71ee178a
VS
172052009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17206
17207 Eliminate grub-fstest 4Gib barrier.
17208
17209 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17210 (read_file): Fix error reporting.
17211
2520d4b8
VS
172122009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17213
17214 Eliminate hexdump 4Gib barrier.
17215
17216 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17217 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17218
e1f27065
VS
172192009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17222 Fixes amarsh bug.
17223
1a0f7f45
RM
172242009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17225
17226 Remove miscellaneous files in distclean target.
17227
17228 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17229
c631d9fb
CW
172302009-12-09 Colin Watson <cjwatson@ubuntu.com>
17231
17232 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17233 if they're already set. This resolves the conflict between my
17234 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17235 fixing the --grub-probe option again.
17236 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17237 change on 2009-10-06, so that we now once again source
17238 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17239
7c7b6106
RM
172402009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17241
17242 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17243 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17244 `util/devicemap.c'.
17245
e3069ec1
CPE
172462009-12-08 Carles Pina i Estany <carles@pina.cat>
17247
17248 * include/grub/misc.h (grub_printf_): New declaration.
17249 * kern/misc.c (grub_printf_): New definition.
17250 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17251 instead of `grub_printf' and `_'.
17252 * normal/menu_entry.c (store_completion): Likewise.
17253 (run): Likewise.
17254 (grub_menu_entry_run): Likewise.
17255 * normal/menu_text.c (grub_wait_after_message): Likewise.
17256 (notify_booting): Likewise.
17257 (notify_fallback): Likewise.
17258 (notify_execution_failure): Likewise.
17259
d6ceebf1
CW
172602009-12-07 Colin Watson <cjwatson@ubuntu.com>
17261
17262 * configure.ac: Check for vasprintf.
17263 * util/misc.c (asprintf): Move allocation from here ...
17264 (vasprintf): ... to here. New function.
17265 (xasprintf): New function.
17266 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17267 prototypes.
17268 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17269 * util/grub-mkfont.c (write_font): Likewise.
17270 * util/grub-probe.c (probe): Likewise.
17271 * util/hostdisk.c (make_device_name): Likewise.
17272
de6daa8b
DM
172732009-12-06 David S. Miller <davem@sunset.davemloft.net>
17274
17275 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17276 anything even prefixed with 'cdrom' as a cdrom.
17277
0ad46fd7 172782009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17279
17280 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17281 mount points.
17282
98d3dc02
CPE
172832009-12-05 Carles Pina i Estany <carles@pina.cat>
17284
17285 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17286 grub_gettext_msg_list.
17287 (grub_gettext_gettranslation_from_position): Return const char *
17288 and not char *.
a2c1332b 17289 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17290 returns from the list if existing there.
17291 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17292 (grub_gettext_delete_list): Delete the list.
17293 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17294 lang environment variable is changed.
17295 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17296
b283f108
VS
172972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17298
17299 Rename kernel.mod to kernel.img.
17300
17301 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17302 (kernel_mod_EXPORTS): Rename to ...
17303 (kernel_img_EXPORTS): ... this.
17304 (kernel_mod_SOURCES): Rename to ...
17305 (kernel_img_SOURCES): ... this.
17306 (kernel_mod_HEADERS): Rename to ...
17307 (kernel_img_HEADERS): ... this. All users updated.
17308 (kernel_mod_CFLAGS): Rename to ...
17309 (kernel_img_CFLAGS): ... this.
17310 (kernel_mod_ASFLAGS): Rename to ...
17311 (kernel_img_ASFLAGS): ... this.
17312 (kernel_mod_LDFLAGS): Rename to ...
17313 (kernel_img_LDFLAGS): ... this.
17314 * conf/x86_64-efi.rmk: Likewise.
17315 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17316 (read_kernel_image): ... this. All users updated.
17317 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17318
69055f8a
CPE
173192009-12-05 Carles Pina i Estany <carles@pina.cat>
17320
17321 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17322 (print_spaces): New function.
17323 (grub_print_ucs4): New function.
17324 (getstringwidth): New function.
17325 (print_message_indented): New function.
17326 (print_message): Gettexttize strings using print_message_indented.
17327 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17328 width.
17329 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17330 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17331 Gettextize.
17332 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17333 string.
17334 (run): Likewise.
17335 (grub_menu_entry_run): Likewise.
17336 * PO/POTFILES: Add normal/menu_entry.c.
17337
f616f51c
VS
173382009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17341
57bbe3be
CPE
173422009-12-05 Carles Pina i Estany <carles@pina.cat>
17343
17344 * util/grub-install.in: Install gettext .mo files.
17345 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17346
013d67a1
CPE
173472009-12-05 Carles Pina i Estany <carles@pina.cat>
17348
17349 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17350 grub_dprintf.
17351
fb954db0
RM
173522009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17353
17354 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17355 non-firmware-dependant one in realmode.S takes precedence.
17356
6b8474f8
RM
173572009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17358
17359 * commands/halt.c: Replace misc arch-specific headers with
17360 `<grub/misc.h>'.
17361 * commands/reboot.c: Likewise.
17362 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17363 `<grub/misc.h>'.
17364 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17365 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17366 (kernel_img_SOURCES): ... to here.
17367
17368 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17369 * include/grub/i386/pc/init.h: Likewise.
17370 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17371 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17372
17373 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17374
17375 * include/grub/i386/halt.h: Remove.
17376 * include/grub/i386/reboot.h: Likewise.
17377
17378 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17379
4b2e6ca2
DM
173802009-12-03 David S. Miller <davem@sunset.davemloft.net>
17381
17382 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17383 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17384 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17385 "progname.h"
17386 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17387 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17388 (usage): Add missing comma in printf.
17389
5239348f
RM
173902009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17391
17392 Use the same reboot approach on i386 coreboot and qemu as we do on
17393 BIOS.
17394
17395 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17396 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17397 * kern/i386/reboot.c: Remove.
17398 * include/grub/i386/reboot.h (grub_reboot): Export function.
17399 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17400 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17401 0xf000:0xfff0 instead of 0xffff:0x0000.
17402 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17403 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17404
ef34cbd4
RM
174052009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17406
17407 Fix $srcdir != $objdir build.
17408
17409 * Makefile.in (po/%.po): Rewrite as ...
17410 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17411
dc9837ea
ST
174122009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17413
17414 Fix GNU/Hurd grub-install crash.
17415 * util/grub-probe.c (probe): Try to access `path' only when it is not
17416 NULL.
17417
2f857f98
VS
174182009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 Correct module naming.
17421
17422 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17423 (GRUB_MOD_INIT(efi_uga)): ... to this
17424 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17425 (GRUB_MOD_FINI(efi_uga)): ... to this
17426 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17427 (GRUB_MOD_INIT(efi_gop)): ... to this
17428 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17429 (GRUB_MOD_FINI(efi_gop)): ... to this
17430
c5448046
RM
174312009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17432
17433 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17434 translatable.
17435 (usage): Translate `arg' strings using gettext().
17436 Thanks to Jordi Mallach for the suggestion.
17437
c85184ad
VS
174382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17439
17440 GOP support. Based on patch from Bean
17441 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17442
17443 * video/efi_gop.c: New file.
17444 * include/grub/efi/graphics_output.h: Likewise.
17445 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17446 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17447 variables.
17448 * conf/x86_64-efi.rmk: Likewise.
17449
8a4c48d8
VS
174502009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 Rename efi_fb to efi_uga.
17453
17454 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17455 'efi_uga.mod'.
17456 (efi_fb_mod_SOURCES): Rename this ...
17457 (efi_uga_mod_SOURCES): ... to this.
17458 (efi_fb_mod_CFLAGS): Rename this ...
17459 (efi_uga_mod_CFLAGS): ... to this.
17460 (efi_fb_mod_LDFLAGS): Rename this ...
17461 (efi_uga_mod_LDFLAGS): ... to this.
17462 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17463 'efi_uga.mod'.
17464 (efi_fb_mod_SOURCES): Rename this ...
17465 (efi_uga_mod_SOURCES): ... to this.
17466 (efi_fb_mod_CFLAGS): Rename this ...
17467 (efi_uga_mod_CFLAGS): ... to this.
17468 (efi_fb_mod_LDFLAGS): Rename this ...
17469 (efi_uga_mod_LDFLAGS): ... to this.
17470 * video/efi_fb.c: Move this ...
17471 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17472
fb6c1a7b
RM
174732009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17474
17475 * po/README: New file. Explain our PO file workflow.
17476
3bc7896c
RM
174772009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17478
17479 * po/ChangeLog: Remove. Move relevant entries back to ...
17480 * ChangeLog: ... here.
17481 * po/ca.po: Remove (now handled by TLP).
17482 * po/id.po: Likewise.
17483 * po/zh_CN.po: Likewise.
17484 * Makefile.in (LINGUAS): Initialize in a way that supports
17485 empty set.
17486
9ed4841d
RM
174872009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17488
17489 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17490 reliing on po/LINGUAS.
17491 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17492 (po/%.po): ... this.
17493
0ad46fd7 174942009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17495
17496 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17497 (main): Use `program_name' instead of nonexistent `progname'.
17498
e30dd392
FZ
174992009-11-26 Felix Zielcke <fzielcke@z-51.de>
17500
17501 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17502 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17503
7656de4f
RM
175042009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17505
17506 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17507 commit.
17508 * conf/i386-efi.rmk: Likewise.
17509 * conf/i386-ieee1275.rmk: Likewise.
17510 * conf/powerpc-ieee1275.rmk: Likewise.
17511 * conf/sparc64-ieee1275.rmk: Likewise.
17512 * conf/x86_64-efi.rmk: Likewise.
17513
db77c4d4
FZ
175142009-11-26 Felix Zielcke <fzielcke@z-51.de>
17515
17516 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17517
a755bb04
FZ
175182009-11-26 Felix Zielcke <fzielcke@z-51.de>
17519
17520 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17521
8a4c07fd
RM
175222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17523
17524 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17525 (grub_mkdevicemap_SOURCES): New variable.
17526 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17527 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17528 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17529 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17530 (grub_mkdevicemap_SOURCES): Remove.
17531 * conf/i386-efi.rmk: Likewise.
17532 * conf/i386-ieee1275.rmk: Likewise.
17533 * conf/i386-pc.rmk: Likewise.
17534 * conf/powerpc-ieee1275.rmk: Likewise.
17535 * conf/sparc64-ieee1275.rmk: Likewise.
17536 * conf/x86_64-efi.rmk: Likewise.
17537 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17538 (usage): Fix strings to use `program_name'.
17539 (main): Initialize gettext.
17540 * util/grub-editenv.c: Likewise.
17541 * util/grub-emu.c: Likewise.
17542 * util/grub-fstest.c: Likewise.
17543 * util/grub-mkdevicemap.c: Likewise.
17544 * util/grub-mkfont.c: Likewise.
17545 * util/grub-mkrelpath.c: Likewise.
17546 * util/grub-pe2elf.c: Likewise.
17547 * util/grub-probe.c: Likewise.
17548 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17549 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17550 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17551
17552 * util/misc.c: Include `"progname.h"'.
17553 (progname): Remove variable.
17554 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17555
6f61ed55
FZ
175562009-11-25 Felix Zielcke <fzielcke@z-51.de>
17557
17558 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17559 printf and print a newline after the menuentry header line.
17560 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17561
f022876b
FZ
175622009-11-25 Felix Zielcke <fzielcke@z-51.de>
17563
17564 autoconf >= 2.60 support $(localedir).
17565
17566 * INSTALL: Note that autoconf 2.60 is required.
17567 * configure.ac (AC_PREREQ): Bump to 2.60.
17568 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17569 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17570
6717926e
YB
175712009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17572
17573 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17574 aclocal is run.
17575
08806a54
RM
175762009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17577
17578 * normal/main.c (grub_normal_read_line): Fix off-by-one
17579 buffer overflow.
17580
13b33fba
RM
175812009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17582
17583 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17584 "parser.grub" in grub_command_execute() call.
17585
4a8572e9
CPE
175862009-11-24 Carles Pina i Estany <carles@pina.cat>
17587
17588 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17589 * conf/i386-efi.rmk: Likewise.
17590 * conf/i386-ieee1275.rmk: Likewise.
17591 * conf/i386-pc.rmk: Likewise.
17592 * conf/powerpc-ieee1275.rmk: Likewise.
17593 * conf/sparc64-ieee1275.rmk: Likewise.
17594 * conf/x86_64-efi.rmk: Likewise.
17595 * gettext/gettex.c: Include <grub/i18n.h>.
17596 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17597 here ...
17598 * include/grub/i18n.h: ... to here
17599 * include/grub/i18n.h: ... to here.
17600 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17601 (grub_gettext_dummy): Move above user.
4a8572e9 17602
bee48093
FZ
176032009-11-24 Felix Zielcke <fzielcke@z-51.de>
17604
17605 * util/Makefile.in (install-local): Convert a `for' into a normal
17606 shell expansion.
17607
a031e91c
RM
176082009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17609
17610 * autogen.sh: Add automake call.
17611 * config.guess: Remove.
17612 * config.sub: Likewise.
17613 * install-sh: Likewise.
17614
26bec39d
FZ
176152009-11-24 Felix Zielcke <fzielcke@z-51.de>
17616
17617 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17618
8e2532fd
FZ
176192009-11-24 Felix Zielcke <fzielcke@z-51.de>
17620
17621 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17622 function to a normal shell `for'.
17623
fefa1b7d
FZ
176242009-11-24 Felix Zielcke <fzielcke@z-51.de>
17625
17626 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17627
4501250b
FZ
176282009-11-24 Felix Zielcke <fzielcke@z-51.de>
17629
17630 * util/grub-mkrelpath.c: New file.
17631 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17632 (grub_mkrelpath_SOURCES): New variable.
17633 * include/grub/util/misc.h: New function prototype.
17634 * util/misc.c (make_system_path_relative_to_its_root): New function.
17635
17636 * util/grub-mkconfig_lib.in (bindir): New variable.
17637 (grub_mkrelpath): Likewise.
17638 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17639
17640 * util/probe.c (probe): Make the file path relative to its root.
17641 Change a info message to use the GRUB path. Enable again the
17642 check if we can read the file with GRUB facilities.
17643
17644 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17645 to its root.
17646
11d9778b
FZ
176472009-11-24 Felix Zielcke <fzielcke@z-51.de>
17648
17649 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17650 platform.
17651
4465287d
FZ
176522009-11-24 Felix Zielcke <fzielcke@z-51.de>
17653
17654 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17655 strncmp().
17656
62b47f22
FZ
176572009-11-24 Felix Zielcke <fzielcke@z-51.de>
17658
17659 * util/getroot.c (grub_util_is_dmraid): New function.
17660 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17661 devices as normal ones, not as LVM.
17662
1eafb9b9 176632009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
17664
17665 * conf/common.rmk: Add grub-gettext_lib target and updates
17666 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17667 LDFLAGS.
17668 * gettext/gettext.c: New file. (Reads mo files).
17669 * include/grub/file.h (grub_file_pread): New prototype.
17670 * include/grub/i18n.h (_): New prototype.
17671 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17672 prototypes.
17673 * kern/misc.c (grub_gettext_dummy): New function.
17674 * normal/menu_text.c: Include <grub/i18n.h>.
17675 * normal/menu_text.c (print_timeout): Gettexttize string.
17676 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
17677 * po/POTFILES: Add `normal/menu_text.c'.
17678 * po/ca.po: Add new translations.
c3ea6bd4
CPE
17679 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17680 gettext module and defines locale_dir and lang in grub.cfg.
17681 * NEWS: Add gettext support.
17682
0fdb2568
RM
176832009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17684
17685 * util/hostdisk.c: Include `<grub/i18n.h>'.
17686 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17687 (make_device_name): Rewrite using asprintf.
17688 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17689 (find_system_device): If a device is not found, generate one just
17690 by reusing the OS path name.
17691 (read_device_map): Make it permissible for device.map not to exist.
17692
f515aa62
RM
176932009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17694
17695 * script/sh/execute.c: Move from here ...
17696 * script/execute.c: ... to here. Update all users.
17697 * script/sh/function.c: Move from here ...
17698 * script/function.c: ... to here. Update all users.
17699 * script/sh/lexer.c: Move from here ...
17700 * script/lexer.c: ... to here. Update all users.
17701 * script/sh/main.c: Move from here ...
17702 * script/main.c: ... to here. Update all users.
17703 * script/sh/parser.y: Move from here ...
17704 * script/parser.y: ... to here. Update all users.
17705 * script/sh/script.c: Move from here ...
17706 * script/script.c: ... to here. Update all users.
17707
f84b481b
RM
177082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17709
17710 * configure.ac: Detect all `emu' platforms. Define
17711 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17712 --enable-grub-emu logic. Disable include/grub/machine
17713 symlink on `emu' platforms.
17714
17715 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17716 * gensymlist.sh.in: Likewise.
17717
17718 * include/grub/i386/coreboot/machine.h: Remove file.
17719 * include/grub/i386/efi/machine.h: Likewise.
17720 * include/grub/i386/ieee1275/machine.h: Likewise.
17721 * include/grub/i386/pc/machine.h: Likewise.
17722 * include/grub/i386/qemu/machine.h: Likewise.
17723 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17724 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17725 * include/grub/x86_64/efi/machine.h: Likewise.
17726
17727 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17728 * commands/halt.c: Likewise.
17729 * commands/reboot.c: Likewise.
17730 * include/grub/autoefi.h: Likewise.
17731 * include/grub/i386/at_keyboard.h: Likewise.
17732 * include/grub/i386/kernel.h: Likewise.
17733 * include/grub/i386/loader.h: Likewise.
17734 * include/grub/i386/pc/memory.h: Likewise.
17735 * kern/dl.c: Likewise.
17736 * kern/i386/coreboot/init.c: Likewise.
17737 * loader/i386/bsd.c: Likewise.
17738 * loader/i386/linux.c: Likewise.
17739 * loader/multiboot_loader.c: Likewise.
17740 * term/i386/pc/serial.c: Likewise.
17741 * term/usb_keyboard.c: Likewise.
17742
17743 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17744 `<grub/machine/machine.h>'
17745 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17746 * util/misc.c: Remove `<grub/machine/machine.h>' and
17747 `<grub/machine/time.h>'.
17748
17749 * Makefile.in (enable_grub_emu): Remove variable.
17750 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17751
17752 * conf/any-emu.rmk: New file.
17753 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17754 (grub_emu_init.c): Move from here ...
17755 * conf/any-emu.rmk: ... to here.
17756
17757 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17758 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17759 * conf/any-emu.rmk: ... to here.
17760
4efeab03
RM
177612009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17762
17763 * include/grub/parser.h (grub_parser_register): Document need
17764 of `name' parameter.
17765 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17766 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17767 "sh" to "grub".
17768
ea1dd8bf
RM
177692009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17770
17771 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17772 `$(XGETTEXT)'.
17773 * include/grub/i18n.h (N_): New macro.
17774 * util/mkisofs/mkisofs.h: Likewise.
17775 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17776 around N_().
17777 (usage): Use gettext() to translate help strings when printing them.
17778
0c140626
RM
177792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17780
17781 Based on patch from Bean
17782 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17783
17784 * video/efi_fb.c: New file.
17785 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17786 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17787 variables.
17788 * conf/x86_64-efi.rmk: Likewise.
17789
87d58298
RM
177902009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17791
17792 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17793 * util/i386/pc/grub-setup.c: Likewise.
17794
994cc3a3
ST
177952009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17796
17797 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17798 <hurd/fs.h>
17799 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17800 file_get_storage_info to implement grub_guess_root_device.
17801
26a61d6a
FZ
178022009-11-21 Felix Zielcke <fzielcke@z-51.de>
17803
17804 * Makefile.in (target): Use make's builtin $(shell) function
17805 instead of calling directly $(SHELL) to create the locale directories,
17806 inside the $(foreach) function.
17807
74ff1dd5
FZ
178082009-11-21 Felix Zielcke <fzielcke@z-51.de>
17809
17810 * util/grub-mkrescue.in: Print an error and usage if output option
17811 has not been given.
17812
0b787d0e
FZ
178132009-11-21 Felix Zielcke <fzielcke@z-51.de>
17814
17815 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17816 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17817 root and /boot are on different devices.
17818
1164b270
RM
178192009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17820
17821 Fix build for srcdir != objdir.
17822
17823 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17824 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17825 $(srcdir).
17826 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17827 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17828 reference for input.
17829
13774a2f
RM
178302009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17831
17832 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17833 or hardlinking it). Remove -J option, Joliet is not compatible with
17834 multiple source directories.
17835
efda854e
RM
178362009-11-21 Carles Pina i Estany <carles@pina.cat>
178372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17838
17839 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17840 (process_input_dir): New function. Process an arbitrary input
17841 directory.
17842 Misc adjustments to support both "override mode" and system-wide mode.
17843
6c09890c
FZ
178442009-11-20 Felix Zielcke <fzielcke@z-51.de>
17845
17846 * configure.ac (UNIFONT_BDF): Rename to ...
17847 (FONT_SOURCE): ... this. Update all users.
17848
a797824f
FZ
178492009-11-20 Felix Zielcke <fzielcke@z-51.de>
17850
17851 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
17852 to the list of unifont files to look for.
17853
cd4f42b0
RM
178542009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17855
17856 Patch from Joe Auricchio <jauricchio@gmail.com>
17857 * commands/minicmd.c (grub_mini_cmd_clear): New function.
17858 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
17859 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
17860
393c783d
FZ
178612009-11-19 Felix Zielcke <fzielcke@z-51.de>
17862
17863 * Makefile.in (install-local): Add a missing backslash.
17864
b2f1e327
FZ
178652009-11-19 Felix Zielcke <fzielcke@z-51.de>
17866
17867 * include/grub/x86_64/io.h: New file.
17868
f577f7a0
RM
178692009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17870
17871 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
17872 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
17873 Include `"progname.h"'.
17874 (main): Initialize gettext.
17875 * util/i386/pc/grub-setup.c: Gettexttize.
17876 * util/i386/pc/grub-mkimage.c: Likewise.
17877
17878 * Makefile.in (po/*.po): Redefine as ...
17879 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
17880
3bc7896c
RM
17881 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
17882
c37943b6
RM
178832009-11-19 Robert Millan <rmh.grub@aybabtu.com>
17884
17885 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
17886 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
17887 (program_name): Remove.
17888 (main): Initialize gettext support.
6323f705
RM
17889 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
17890 Include `<libintl.h>'.
17891 (_): New macro.
c37943b6
RM
17892
17893 * util/mkisofs/eltorito.c: Gettexttize.
17894 * util/mkisofs/joliet.c: Likewise.
17895 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
17896 * util/mkisofs/multi.c: Likewise.
17897 * util/mkisofs/rock.c: Likewise.
17898 * util/mkisofs/tree.c: Likewise.
17899 * util/mkisofs/write.c: Likewise.
17900
3bc7896c
RM
17901 * po/POTFILES: Update with new files.
17902
5ce77c6e
RM
179032009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17904
17905 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
17906 * util/mkisofs/iso9660.h: Likewise.
17907 * util/mkisofs/joliet.c: Likewise.
17908 * util/mkisofs/mkisofs.c: Likewise.
17909 * util/mkisofs/mkisofs.h: Likewise.
17910 * util/mkisofs/rock.c: Likewise.
17911 * util/mkisofs/tree.c: Likewise.
17912 * util/mkisofs/write.c: Likewise.
17913
17914 * util/mkisofs/eltorito.c (rcsid): Remove.
17915 * util/mkisofs/hash.c: Likewise.
17916 * util/mkisofs/joliet.c: Likewise.
17917 * util/mkisofs/name.c: Likewise.
17918 * util/mkisofs/rock.c: Likewise.
17919 * util/mkisofs/tree.c: Likewise.
17920 * util/mkisofs/write.c: Likewise.
17921
1dabbc77
RM
179222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17923
17924 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
17925 instead of static allocation.
17926 * util/mkisofs/match.h: Likewise.
17927
633877cb
RM
179282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17929
3bc7896c
RM
17930 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
17931 and `util/grub.d/10_linux.in'.
633877cb
RM
17932 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
17933 translatable Shell files.
17934
af1c0c85
RM
179352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
17936
17937 * Makefile.in ($(srcdir)/aclocal.m4): New target.
17938
769ae37b
RM
179392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17940
17941 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 17942 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
17943 * util/grub.d/10_kfreebsd.in (bindir): New variable.
17944 Add gettext initialization.
17945 (kfreebsd_entry): Make menuentry output translatable.
17946
179472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17948
17949 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
17950 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
17951 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
17952 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
17953 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 17954 * po/LINGUAS: New file.
769ae37b
RM
17955
179562009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17957
17958 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
17959 other things).
17960 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
17961 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
17962 bindtextdomain() calls for gettext initialization.
17963
179642009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17965
17966 * gnulib/progname.c: New file (imported from Gnulib).
17967 * gnulib/progname.h: Likewise.
17968 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17969 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
17970 (usage): Replace `progname' with `program_name'.
17971 (main): Use set_program_name() for program name initialization.
17972
179732009-11-17 Robert Millan <rmh.grub@aybabtu.com>
17974
17975 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
17976 from here ...
17977 * Makefile.in (CPPFLAGS): ... to here.
17978
179792009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17980
17981 * aclocal.m4: Move from here ...
17982 * acinclude.m4: ... to here.
17983 * autogen.sh: Add call to `aclocal'.
17984 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
17985
179862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17987
17988 * Makefile.in (CLEANFILES): Add `po/*.mo'.
17989 (LINGUAS): New variable.
17990 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
17991 (install-local): Install MO files.
17992 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
17993 * include/grub/i18n.h: New file.
3bc7896c
RM
17994 * po/POTFILES: New file.
17995 * po/ca.po: New file.
769ae37b
RM
17996 * util/grub.d/10_linux.in (bindir): New variable.
17997 Add gettext initialization.
17998 (linux_entry): Make menuentry output translatable.
17999 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
18000 (usage): Make --help output translatable.
18001 (main): Initialize gettext.
18002
02c0a6ad
RM
180032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18004
18005 * import_gcry.py: New file (written by Vladimir with minor
18006 adjustments).
18007 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
18008 ciphers.
18009 * INSTALL: Document that Python is required for bootstrap.
18010
180112009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18012
18013 Import ciphers from libgcrypt 1.4.4.
18014
18015 * lib/libgcrypt/cipher/ChangeLog
18016 * lib/libgcrypt/cipher/ac.c
18017 * lib/libgcrypt/cipher/arcfour.c
18018 * lib/libgcrypt/cipher/bithelp.h
18019 * lib/libgcrypt/cipher/blowfish.c
18020 * lib/libgcrypt/cipher/camellia-glue.c
18021 * lib/libgcrypt/cipher/camellia.c
18022 * lib/libgcrypt/cipher/camellia.h
18023 * lib/libgcrypt/cipher/cast5.c
18024 * lib/libgcrypt/cipher/cipher.c
18025 * lib/libgcrypt/cipher/crc.c
18026 * lib/libgcrypt/cipher/des.c
18027 * lib/libgcrypt/cipher/dsa.c
18028 * lib/libgcrypt/cipher/ecc.c
18029 * lib/libgcrypt/cipher/elgamal.c
18030 * lib/libgcrypt/cipher/hash-common.c
18031 * lib/libgcrypt/cipher/hash-common.h
18032 * lib/libgcrypt/cipher/hmac-tests.c
18033 * lib/libgcrypt/cipher/md.c
18034 * lib/libgcrypt/cipher/md4.c
18035 * lib/libgcrypt/cipher/md5.c
18036 * lib/libgcrypt/cipher/primegen.c
18037 * lib/libgcrypt/cipher/pubkey.c
18038 * lib/libgcrypt/cipher/rfc2268.c
18039 * lib/libgcrypt/cipher/rijndael-tables.h
18040 * lib/libgcrypt/cipher/rijndael.c
18041 * lib/libgcrypt/cipher/rmd.h
18042 * lib/libgcrypt/cipher/rmd160.c
18043 * lib/libgcrypt/cipher/rsa.c
18044 * lib/libgcrypt/cipher/seed.c
18045 * lib/libgcrypt/cipher/serpent.c
18046 * lib/libgcrypt/cipher/sha1.c
18047 * lib/libgcrypt/cipher/sha256.c
18048 * lib/libgcrypt/cipher/sha512.c
18049 * lib/libgcrypt/cipher/tiger.c
18050 * lib/libgcrypt/cipher/twofish.c
18051 * lib/libgcrypt/cipher/whirlpool.c
18052
af2f93ac
RM
180532009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18054
18055 Fix build for systems without error().
18056
18057 * gnulib/error.c: New file (imported from Gnulib).
18058 * gnulib/error.h: Likewise.
18059 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
18060 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
18061 (this variable is now used by error()).
18062
73fb3dd5
FZ
180632009-11-16 Felix Zielcke <fzielcke@z-51.de>
18064
814f5e96
FZ
18065 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
18066 instead of relying that char is signed.
73fb3dd5 18067
a691ca33
VS
180682009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18069
18070 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
18071 blocksize different from specified.
18072 (grub_pxefs_read): Likewise.
18073
2af8f0f4
FZ
180742009-11-16 Felix Zielcke <fzielcke@z-51.de>
18075
18076 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
18077
18078 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
18079 (grub_ata_readwrite): Likewise. Update 2 format strings.
18080 (grub_atapi_read): Likewise.
18081
18082 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
18083 * conf/i386.rmk (pkglib_MODULES): ... to here ...
18084 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
18085 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
18086 (ata_mod_LDFLAGS): Move from here ...
18087 * conf/i386.rmk: ... to here ...
18088 * conf/x86_64-efi.rmk: ... and here.
18089 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
18090 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
18091
83bdecaf
RM
180922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18093
18094 Relicense multiboot.h, with RMS' blessing.
18095
18096 * include/multiboot.h: Change to X11 license.
18097
fd6fd3d7
RM
180982009-11-15 Robert Millan <rmh.grub@aybabtu.com>
18099
18100 Support --version in grub-mkisofs.
18101
18102 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
18103 (OPTION_VERSION): New macro.
18104 (ld_options): Recognize --version.
18105 (usage): Move `program_name' from here ...
18106 (program_name): ... to here. Add `static' qualifier.
18107 (main): Recognize `OPTION_VERSION'.
18108
16a88c49
FZ
181092009-11-15 Felix Zielcke <fzielcke@z-51.de>
18110
18111 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
18112 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
18113
a4158476
RM
181142009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18115
18116 Fix help2man generation for mkisofs.
18117
18118 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
18119 (usage): Send output to stdout (rather than stderr).
18120
fc2208b0
RM
181212009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18122
18123 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
18124 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18125 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
18126 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18127 (bin_SCRIPTS): Add `grub-mkfloppy'.
18128 (grub_mkfloppy_SOURCES): New variable.
18129
18130 * util/grub-mkrescue.in: New file.
18131 * util/i386/pc/grub-mkfloppy.in: New file.
18132
18133 * util/i386/coreboot/grub-mkrescue.in: Remove.
18134 * util/i386/pc/grub-mkrescue.in: Remove.
18135
8d0edf4a
RM
181362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18137
18138 * include/grub/multiboot.h (struct grub_multiboot_header): Move
18139 from here ...
18140 * include/multiboot.h (struct multiboot_header): ... to here. Update
18141 all users.
18142 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18143 from here ...
18144 * include/multiboot.h (struct multiboot_info): ... to here. Update
18145 all users.
18146 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18147 from here ...
18148 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18149 Update all users.
18150 * include/grub/multiboot.h (struct grub_mod_list): Move
18151 from here ...
18152 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18153 Update all users.
18154
a73f5969
RM
181552009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18156
18157 * include/multiboot2.h (multiboot_word): Rename from this ...
18158 (multiboot2_word): ... to this. Update all users.
18159 (multiboot_header): Rename from this ...
18160 (multiboot2_header): ... to this. Update all users.
18161 (multiboot_tag_header): Rename from this ...
18162 (multiboot2_tag_header): ... to this. Update all users.
18163 (multiboot_tag_start): Rename from this ...
18164 (multiboot2_tag_start): ... to this. Update all users.
18165 (multiboot_tag_name): Rename from this ...
18166 (multiboot2_tag_name): ... to this. Update all users.
18167 (multiboot_tag_module): Rename from this ...
18168 (multiboot2_tag_module): ... to this. Update all users.
18169 (multiboot_tag_memory): Rename from this ...
18170 (multiboot2_tag_memory): ... to this. Update all users.
18171 (multiboot_tag_unused): Rename from this ...
18172 (multiboot2_tag_unused): ... to this. Update all users.
18173 (multiboot_tag_end): Rename from this ...
18174 (multiboot2_tag_end): ... to this. Update all users.
18175
1c8927f0
RM
181762009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18177
18178 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18179 this platform we should support Multiboot1 first.
18180
18181 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18182 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18183 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18184
6e1e0d89
RM
181852009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18186
18187 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18188 of write calls (converting them to fwrite() if they aren't already).
18189 (get_torito_desc): Likewise.
18190 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18191
7f2b34d8
RM
181922009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18193
18194 * util/i386/pc/grub-install.in: Move from here ...
18195 * util/grub-install.in: ... to here. Update all users.
18196
c0ef3311
CW
181972009-11-11 Colin Watson <cjwatson@ubuntu.com>
18198
18199 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18200
e1f240ff
RM
182012009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18202
18203 Support for El Torito without floppy emulation.
18204
18205 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18206 (init_boot_catalog): Improve error handling.
18207 (get_torito_desc): Don't use floppy emulation unless requested by
18208 user. Patch boot information table when requested via
18209 `-boot-info-table'.
18210 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18211 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18212 (use_boot_info_table): New variables.
18213 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18214 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18215 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18216 `--eltorito-emul-floppy'.
18217 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18218 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18219 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18220 (use_boot_info_table, get_731): New prototypes.
18221 * util/mkisofs/write.c (get_731): New function.
18222
af7d4de5
FZ
182232009-11-11 Felix Zielcke <fzielcke@z-51.de>
18224
18225 Fix the generation of the man page.
18226
18227 * util/pc/i386/grub-install.in: Source
18228 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18229
2c55dbc0
RM
182302009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18231
18232 Large file support for grub-mkisofs.
18233
18234 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18235 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18236 (session_start): Upgrade type to `uint64_t'. Update all users.
18237 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18238 (struct directory_entry): Upgrade type of `starting_block' and
18239 `size' to `uint64_t'. Update all users.
18240 (struct deferred): Remove unused structure.
18241 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18242 Update all users.
18243 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18244 file is larger than `UINT32_MAX'.
18245 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18246 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18247 return value.
18248 (struct deferred_write): Upgrade type of `extent' and `size' to
18249 `uint64_t'. Update all users.
18250 (last_extent_written): Upgrade type to `uint64_t'. Update all
18251 users.
18252 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18253 Update all users. Upgrade type of `remain' to `int64_t' and
18254 `use' to `size_t'. Use error() to handle fread() errors.
18255 (write_files): Rely on write_one_file() rather than calling
18256 xfwrite() directly.
18257
6a9cead5
FZ
182582009-11-09 Felix Zielcke <fzielcke@z-51.de>
18259
18260 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18261
4825d790
RM
182622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18263
18264 * util/mkisofs/fnmatch.c: Remove.
18265 * util/mkisofs/getopt1.c: Likewise.
18266 * util/mkisofs/getopt.c: Likewise.
18267 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18268 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18269 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18270 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18271 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18272
18273 * configure.ac: Detect `mingw32msvc' host_os.
18274 Check for lstat(), getuid() and getgid().
18275
18276 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18277 instances of `u_char' with `uint8_t'.
18278
18279 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18280 [!HAVE_GETUID] (getuid): New function (stub).
18281 [!HAVE_GETGID] (getgid): Likewise.
18282 [!HAVE_LSTAT] (lstat): Likewise.
18283 [!S_IROTH] (S_IROTH): New macro (dummy).
18284 [!S_IRGRP] (S_IRGRP): Likewise.
18285
84b860d8
RM
182862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18287
18288 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18289 conditional expression).
18290
66e9b712
RM
182912009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18292
18293 Import from Gnulib.
18294
18295 * gnulib/fnmatch.c: New file.
18296 * gnulib/fnmatch.h: Likewise.
18297 * gnulib/fnmatch_loop.c: Likewise.
18298 * gnulib/getopt.c: Likewise.
18299 * gnulib/getopt.h: Likewise.
18300 * gnulib/getopt1.c: Likewise.
18301 * gnulib/getopt_int.h: Likewise.
18302 * gnulib/gettext.h: Likewise.
18303
34f4a5b0
RM
183042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18305
18306 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18307 * normal/handler.c (read_handler_list): Likewise.
18308
ac451143
RM
183092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18310
18311 Misc cleanup.
18312
18313 * kern/command.c (grub_register_command_prio): Use
18314 grub_zalloc() instead of explicitly zeroing data.
18315 * kern/list.c: Include `<grub/mm.h>'.
18316 (grub_named_list_find): Replace `0' with `NULL'.
18317 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18318 (fs_module_list): Change type to `grub_named_list_t'. Update all
18319 users.
18320 * normal/dyncmd.c (read_command_list): Add space between function
18321 call and parenthesis.
18322 * normal/handler.c (read_handler_list): Likewise.
18323
4089b167
RM
183242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18325
18326 * normal/auth.c (punishment_delay): Moved from here ...
18327 (grub_auth_strcmp): ... to here (inside function).
18328
325f5037
RM
183292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18330
18331 * include/grub/list.h (struct grub_named_list): Remove `const'
18332 qualifier from `name'.
18333 (struct grub_prio_list): Likewise.
18334
7aea29a3
RM
183352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18336
18337 * normal/auth.c: Include `<grub/time.h>'.
18338 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18339
3fd6f044
RM
183402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18341
18342 * normal/auth.c (punishment_delay): New variable.
18343 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18344 (grub_auth_check_authentication): Punish failed login attempts with
18345 an incremental (2^N) delay.
18346
a4cd68e4
RM
183472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18348
18349 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18350 path with $(srcdir).
18351
7ad12f43
VS
183522009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18353
18354 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18355
c1129f03
RM
183562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18357
18358 * util/i386/coreboot/grub-mkrescue.in: New file.
18359 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18360 variables.
18361
18362 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18363 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18364 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18365 requirements.
18366 * util/mkisofs/defaults.h: New file.
18367 * util/mkisofs/eltorito.c: Likewise.
18368 * util/mkisofs/exclude.h: Likewise.
18369 * util/mkisofs/fnmatch.c: Likewise.
18370 * util/mkisofs/getopt.c: Likewise.
18371 * util/mkisofs/getopt1.c: Likewise.
18372 * util/mkisofs/hash.c: Likewise.
18373 * util/mkisofs/include/fctldefs.h: Likewise.
18374 * util/mkisofs/include/mconfig.h: Likewise.
18375 * util/mkisofs/include/prototyp.h: Likewise.
18376 * util/mkisofs/include/statdefs.h: Likewise.
18377 * util/mkisofs/iso9660.h: Likewise.
18378 * util/mkisofs/joliet.c: Likewise.
18379 * util/mkisofs/match.c: Likewise.
18380 * util/mkisofs/match.h: Likewise.
18381 * util/mkisofs/mkisofs.c: Likewise.
18382 * util/mkisofs/mkisofs.h: Likewise.
18383 * util/mkisofs/multi.c: Likewise.
18384 * util/mkisofs/name.c: Likewise.
18385 * util/mkisofs/rock.c: Likewise.
18386 * util/mkisofs/tree.c: Likewise.
18387 * util/mkisofs/write.c: Likewise.
18388
ec8bb77d
VS
183892009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18390
18391 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18392 being insecure.
18393
3716b12c
RM
183942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18395
18396 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18397 `grub-mkimage' (and use $0 when possible).
18398
b97b7b91
RM
183992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18400
18401 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18402 error message for excessively large memory map.
18403
04114812
RM
184042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18405
18406 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18407 executable bit.
18408
e4eb2373
RM
184092009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18410
18411 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18412 message for coreboot users.
18413
c926e1d5 184142009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18415
18416 Fix build with GNU gold.
18417
18418 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18419 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18420 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18421 link addresses.
18422 * aclocal.m4: Likewise.
18423
86e5b1db 184242009-11-04 Felix Zielcke <fzielcke@z-51.de>
18425
18426 * configure.ac (AC_PREREQ): Bump to 2.59d.
18427 * INSTALL: Make it more clear when Autoconf and Ruby are
18428 needed and when to run `./autogen.sh'.
18429
246cd78f 184302009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18431
18432 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18433 OSes.
18434
4f9dfb37 184352009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18436
18437 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18438
b82bd5e1 184392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18440
18441 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18442 giving it to GNU Mach.
18443
ff1a9bca 184442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18445
18446 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18447 GNU partition number to get internal GRUB partition number.
18448
61697d9c 184492009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18450
18451 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18452 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18453
a50569e1 184542009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18455
18456 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18457 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18458 case.
18459
5b153867 184602009-11-01 Felix Zielcke <fzielcke@z-51.de>
18461
18462 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18463
d9e2cd70 184642009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18465
18466 Fix build problem.
18467
18468 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18469 `-isystem=$(srcdir)/include'.
18470
805111a4 184712009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18472
18473 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18474 checked (grub-install doesn't currently rely on it).
18475
fa6e945f 184762009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18477
18478 Revert SVN r2660.
18479
18480 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18481 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18482 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18483 * conf/i386-ieee1275.rmk: Likewise.
18484 * conf/i386-pc.rmk: Likewise.
18485 * conf/powerpc-ieee1275.rmk: Likewise.
18486 * conf/sparc64-ieee1275.rmk: Likewise.
18487 * conf/x86_64-efi.rmk: Likewise.
18488
cee15086 184892009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18490
18491 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18492
95b9239e 184932009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18494
18495 * include/grub/misc.h: Stop checking for APPLE_CC.
18496
2ed19dfd 184972009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18500 doesn't cause an infinite call loop.
18501
fdcdde19 185022009-10-28 Felix Zielcke <fzielcke@z-51.de>
18503
18504 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18505 strings.
18506
cefabfe1 185072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18508
18509 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18510 variable.
18511 * Makefile.in: Likewise.
18512
ed96ab6d 185132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18514
18515 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18516
0579b753 185172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18518
18519 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18520
478df409 185212009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18522
18523 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18524
083d1679 185252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18526
18527 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18528 from here ...
18529 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18530
5947ae32 185312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18532
18533 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18534 in $(MAKEINFO) invocation. This makes it clear in output that
18535 errors are being ignored.
18536
94180ff6 185372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18538
18539 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18540 from here ...
18541 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18542 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18543 * conf/i386-ieee1275.rmk: Likewise.
18544 * conf/i386-pc.rmk: Likewise.
18545 * conf/powerpc-ieee1275.rmk: Likewise.
18546 * conf/sparc64-ieee1275.rmk: Likewise.
18547 * conf/x86_64-efi.rmk: Likewise.
18548
9031b03a 185492009-10-26 Colin Watson <cjwatson@ubuntu.com>
18550
18551 * util/grub-editenv.c (main): If only a command is given, use
18552 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18553 (usage): FILENAME is now optional and has a default.
18554
e4f6809b 185552009-10-26 Colin Watson <cjwatson@ubuntu.com>
18556
18557 Improve grub-mkconfig performance when there are several menu
18558 entries on a single filesystem.
18559
18560 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18561 prepare_grub_to_access_device.
18562 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18563 * util/grub.d/30_os-prober.in: Likewise.
18564
67937d4d 185652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18566
18567 * util/grub.d/10_freebsd.in: Remove.
18568 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18569 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18570
ee3756cc 185712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18572
5c35048e 18573 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18574
4dea1c6f 185752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18576
18577 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18578 grub_util_error() call.
18579
042484d7 185802009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18581
18582 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18583 `reserved_first_sector' member.
18584 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18585 `reserved_first_sector' to 1.
18586 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18587 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18588 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18589 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18590 filesystems which begin at first sector.
18591 (options): New option --skip-fs-probe.
18592 (main): Handle --skip-fs-probe and pass it to setup().
18593
d64448a7 185942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18595
18596 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18597 (memset): Fix function prototype.
18598
508d42ec 185992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
186002009-10-25 Vasily Averin <vvs@parallels.com>
18601
18602 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18603 `dirent.direntlen == 0'.
18604
b240e30c 186052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18606
18607 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18608 `cpio'.
18609 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18610
346e7fbe 186112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18612
18613 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18614 `__trampoline_setup' and `__ucmpdi2'.
18615 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18616 that libgcc provides.
18617
cdb308b0 186182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18619
18620 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18621 * include/grub/sparc64/libgcc.h (memset): Likewise.
18622 * include/grub/misc.h (memset, memcmp): New function prototypes.
18623
fb26abc2 186242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18625
18626 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18627 `cpio'.
18628 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18629
f6693890 186302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18631
18632 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18633 * docs/grub.cfg: Compensate for recent change in multiboot
18634 loader (since 2009-08-14 it won't pass filename to payload).
18635 * util/grub.d/10_hurd.in: Likewise.
18636
0933cdc0 186372009-10-21 Felix Zielcke <fzielcke@z-51.de>
18638
18639 * config.guess: Update to latest version from config git
18640 repository.
18641 * config.sub: Likewise.
18642
3b2fe8c2 186432009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18644
18645 Fix build on sparc64.
18646
18647 * configure.ac: Perform checks for libgcc symbols before
18648 adding `-nostdlib' to LDFLAGS.
18649
46695a62 186502009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18651
18652 Let user specify OpenBSD root device.
18653
18654 * loader/i386/bsd.c (openbsd_root): New variable.
18655 (openbsd_opts): New option 'root'.
18656 (OPENBSD_ROOT_ARG): New macro.
18657 (grub_openbsd_boot): Use 'openbsd_root'.
18658 (grub_cmd_openbsd): Fill 'openbsd_root'.
18659
d2b6b7fc 186602009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18661
18662 * NEWS: Misc adjustments.
18663
421bd7ac 186642009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18665
18666 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18667
f1d29d87 186682009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18669
18670 * configure.ac: Bump version to 1.97.
18671
6f3cd880 186722009-10-16 Colin Watson <cjwatson@ubuntu.com>
18673
18674 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18675 -mno-3dnow on x86 architectures. Some toolchains enable these
18676 features by default, but they rely on registers that aren't enabled
18677 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18678
035f7122 186792009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18680
18681 Make entry text a bit more readable.
18682
18683 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18684
44998e58 186852009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18686
18687 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18688
cd2851b3 186892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18690
18691 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18692 operations.
18693
c6f3b249 186942009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18695
18696 * configure.ac: Add missing dollar.
18697
6b5886ba 186982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18701
18702 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18703 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18704 exports.
18705 * include/grub/sparc64/libgcc.h: Likewise. Use
18706 preprocessor conditionals.
18707
e9d66f6d 187082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18709
18710 * conf/common.rmk (grub-dumpbios): Remove rule.
18711 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18712 * util/grub-dumpbios.in: Remove file.
18713
9155bc17 187142009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18715
18716 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18717 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18718
18719 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18720 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18721 users.
18722
18723 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18724 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18725 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18726 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18727 users.
18728
bf7f7a18 187292009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18730
18731 * term/tparm.c: Switch to GPLv3.
18732
86564c26 187332009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18734
18735 * include/grub/i386/cpuid.h: Add header protection.
18736
5c936493 187372009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18738
18739 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18740
18741 * include/grub/i386/cpuid.h: New file.
18742 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18743 (has_longmode): Rename to ...
18744 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18745 `static' attribute.
18746 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18747 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18748 on a CPU that doesn't implement AMD64 instruction set.
18749
186e7cf2 187502009-10-06 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18753 that version.texi is rebuilt on version number changes.
18754
83b65c4a 187552009-10-06 Colin Watson <cjwatson@ubuntu.com>
18756
18757 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18758 Fixes bug #27602.
18759
d244281c 187602009-10-06 Colin Watson <cjwatson@ubuntu.com>
18761
18762 * util/i386/pc/grub-install.in: Source
18763 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18764 that the --grub-probe option will work.
18765 * util/sparc64/ieee1275/grub-install.in: Likewise.
18766
da25306d 187672009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18768
18769 * configure.ac: Bump version to 1.97~beta4.
18770
e8ee83c0 187712009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18772
18773 Resync grub-mkdevicemap in x86_64-efi.
18774
18775 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18776 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18777 `util/devicemap.c'.
18778
50dcabcf 187792009-10-01 Colin Watson <cjwatson@ubuntu.com>
18780
18781 * util/grub-editenv.c (create_envblk_file): Write new block with a
18782 .new suffix and then rename it into place, to ensure atomic
18783 creation.
18784
0e51c3a7 187852009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18786
18787 Do not automatically install headers.
18788
18789 * Makefile.in (include_DATA): Remove. Update all users.
18790
31299a95 187912009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18792
18793 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18794 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18795
18796 * util/osdetect.lua: Remove.
18797 * script/lua/lauxlib.c: Likewise.
18798 * script/lua/ldebug.c: Likewise.
18799 * script/lua/grub_main.c: Likewise.
18800 * script/lua/lauxlib.h: Likewise.
18801 * script/lua/ldebug.h: Likewise.
18802 * script/lua/ltablib.c: Likewise.
18803 * script/lua/liolib.c: Likewise.
18804 * script/lua/lstrlib.c: Likewise.
18805 * script/lua/lualib.h: Likewise.
18806 * script/lua/ldo.c: Likewise.
18807 * script/lua/ldump.c: Likewise.
18808 * script/lua/ldo.h: Likewise.
18809 * script/lua/loslib.c: Likewise.
18810 * script/lua/lundump.c: Likewise.
18811 * script/lua/grub_lib.c: Likewise.
18812 * script/lua/ldblib.c: Likewise.
18813 * script/lua/lundump.h: Likewise.
18814 * script/lua/lmem.c: Likewise.
18815 * script/lua/grub_lib.h: Likewise.
18816 * script/lua/lmathlib.c: Likewise.
18817 * script/lua/lstate.c: Likewise.
18818 * script/lua/ltm.c: Likewise.
18819 * script/lua/lvm.c: Likewise.
18820 * script/lua/lmem.h: Likewise.
18821 * script/lua/lstate.h: Likewise.
18822 * script/lua/ltm.h: Likewise.
18823 * script/lua/ltable.c: Likewise.
18824 * script/lua/lvm.h: Likewise.
18825 * script/lua/llex.c: Likewise.
18826 * script/lua/lgc.c: Likewise.
18827 * script/lua/grub_lua.h: Likewise.
18828 * script/lua/loadlib.c: Likewise.
18829 * script/lua/lfunc.c: Likewise.
18830 * script/lua/lopcodes.c: Likewise.
18831 * script/lua/lparser.c: Likewise.
18832 * script/lua/ltable.h: Likewise.
18833 * script/lua/llex.h: Likewise.
18834 * script/lua/lgc.h: Likewise.
18835 * script/lua/lfunc.h: Likewise.
18836 * script/lua/lbaselib.c: Likewise.
18837 * script/lua/lopcodes.h: Likewise.
18838 * script/lua/lparser.h: Likewise.
18839 * script/lua/lzio.c: Likewise.
18840 * script/lua/linit.c: Likewise.
18841 * script/lua/lobject.c: Likewise.
18842 * script/lua/llimits.h: Likewise.
18843 * script/lua/lstring.c: Likewise.
18844 * script/lua/lzio.h: Likewise.
18845 * script/lua/lapi.c: Likewise.
18846 * script/lua/lcode.c: Likewise.
18847 * script/lua/lua.h: Likewise.
18848 * script/lua/lobject.h: Likewise.
18849 * script/lua/lstring.h: Likewise.
18850 * script/lua/lapi.h: Likewise.
18851 * script/lua/lcode.h: Likewise.
18852 * script/lua/luaconf.h: Likewise.
18853
cb8a2c38 188542009-09-26 Colin Watson <cjwatson@ubuntu.com>
18855
18856 * docs/grub.texi (Command-line and menu entry commands): Document
18857 date and echo commands.
18858
6b9b6276 188592009-09-24 Pavel Roskin <proski@gnu.org>
18860
18861 * include/grub/kernel.h (struct grub_module_header): Remove
18862 `grub_module_header_types'. Make `type' unsigned. Make `size'
18863 32-bit on all platforms.
18864 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
18865 8-bit field. Use grub_host_to_target32() for `size'.
18866 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
18867 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
18868 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
18869
4e5a02a7 188702009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18871
18872 Fix "lost keypress" bug in at_keyboard.
18873
18874 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
18875 Checks for readyness of input buffer (without flushing it).
18876 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
18877 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
18878
c6dcedf6 188792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18880
18881 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
18882 size check within GRUB_MACHINE_PCBIOS section.
18883
74c958b1 188842009-09-24 Robert Millan <rmh.grub@aybabtu.com>
18885
18886 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
18887 return value.
18888 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
18889 KEYBOARD_ISREADY check.
18890 (grub_at_keyboard_checkkey): Rename to ...
18891 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
18892 Remove gratuitous cast.
18893
ff420223 188942009-09-23 Colin Watson <cjwatson@ubuntu.com>
18895
18896 * configure.ac: Call AC_PROG_MKDIR_P.
18897 * Makefile.in (docs/stamp-vti): Create docs directory. Create
18898 version.texi in $(builddir) rather than $(srcdir).
18899 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
18900 to makeinfo's @include search path.
18901
d96875df 189022009-09-23 Felix Zielcke <fzielcke@z-51.de>
18903
18904 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
18905
9b3f8365 189062009-09-23 Felix Zielcke <fzielcke@z-51.de>
18907
18908 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
18909 for `*.dpkg-new'.
18910
c44c90db 189112009-09-21 Colin Watson <cjwatson@ubuntu.com>
18912
18913 Build info documentation. Some code borrowed from Automake.
18914
18915 * configure.ac: Check for makeinfo.
18916 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
18917 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
18918 docs/version.texi.
18919 (MOSTLYCLEANFILES): Add vti.tmp.
18920 (docs/version.texi, docs/stamp-vti): Update automatically.
18921 (docs/grub.info): Build info documentation. Use --force and ignore
18922 errors for now.
18923 (all-local): Add $(INFOS).
18924 (install-local): Install info files.
18925 (uninstall): Uninstall info files.
18926 * docs/version.texi: Remove from revision control. This file is
18927 automatically generated on build now.
18928 * gendistlist.sh: Add `*.info'.
18929
e0b37bb5 189302009-09-21 Felix Zielcke <fzielcke@z-51.de>
18931
18932 * kern/term.c: Fix indentation.
18933
5a78865b 189342009-09-21 Felix Zielcke <fzielcke@z-51.de>
18935
18936 * util/hostdisk.c: Fix a comment.
18937
dace7e8a 189382009-09-20 Robert Millan <rmh.grub@aybabtu.com>
18939
18940 Fix regression introduced in r2539.
18941
18942 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
18943 to 0xA1.
18944
a83d079b 189452009-09-19 Colin Watson <cjwatson@ubuntu.com>
18946
18947 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 18948 os-prober. Under normal operation, it does not print anything to
18949 stderr; if it does, we need to debug it, and throwing away stderr
18950 makes that excessively difficult.
a83d079b 18951
be94a509 189522009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
18953
18954 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
18955
63f745e8 189562009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18957
18958 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
18959 AC_LANG_PROGRAM from autoconf.
18960 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
18961 prototypes (fixes warning).
18962
18963 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
18964 `--disable-werror' was used.
18965
bbb2a70f 189662009-09-16 Robert Millan <rmh.grub@aybabtu.com>
18967
18968 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
18969 uninitialized `lastaddr'.
18970
77c24f1d 189712009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
18972
0f0b8c87 18973 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 18974
07197f23 189752009-09-14 Colin Watson <cjwatson@ubuntu.com>
18976
18977 * commands/test.c (get_fileinfo): Return immediately if
18978 grub_fs_probe fails.
18979
dabf1798 189802009-09-14 José Martínez <xosemp@gmail.com>
18981
18982 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
18983
d52109a7 189842009-09-14 Colin Watson <cjwatson@ubuntu.com>
18985
18986 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
18987 output.
18988
56532179 189892009-09-13 Robert Millan <rmh.grub@aybabtu.com>
18990
18991 * configure.ac: Remove --enable-grub-pe2elf. Only build
18992 grub-pe2elf when needed by the build system itself.
18993 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
18994
8ef070f5 189952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
18996
18997 * configure.ac: Bump version to 1.97~beta3.
18998 * docs/version.texi: Likewise.
18999
61229557 190002009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19001
19002 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
19003 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
19004 from here ...
19005 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
19006 (grub_linux_setup_video): ... to here (with some adjustments).
19007
5c9f8d84 190082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19009
19010 Fix memory corruption issue (spotted by Colin Watson).
19011
19012 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
19013 causing returned size to be stored in an incorrect memory location.
19014 Fix use of uninitialized value when storing the returned size.
19015
e8f5d6e9 190162009-09-12 Yves Blusseau <blusseau@zetam.org>
19017
19018 Change clean rules to properly remove files
19019
19020 * genmk.rb: add new clean rules
19021 * Makefile.in (clean): add the new targets
19022 (mostlyclean): likewise
19023
cda2a409 190242009-09-11 Colin Watson <cjwatson@ubuntu.com>
19025
19026 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
19027 to grub_uint64_t.
19028 * fs/ntfs.c (init_file): Understand 64-bit sizes for
19029 non-resident files.
19030
86695375 190312009-09-11 Colin Watson <cjwatson@ubuntu.com>
19032
19033 * configure.ac: Don't look for help2man when cross-compiling. Fixes
19034 part of bug #27349.
19035
8aa1541a 190362009-09-10 Felix Zielcke <fzielcke@z-51.de>
19037
19038 * util/grub-mkconfig.in: Make the created config mode 400 and
19039 print a warning if it fails.
19040
48d9bb0a 190412009-09-10 Robert Millan <rmh.grub@aybabtu.com>
19042
19043 * util/grub.d/40_custom.in: Ask user to type custom entries below
19044 comment, rather than below 'exec tail' line.
19045
3b0521be 190462009-09-10 Colin Watson <cjwatson@ubuntu.com>
19047
19048 * util/grub.d/40_custom.in: Make sure that the explanatory text is
19049 visible in grub.cfg.
19050
50051d55 190512009-09-10 Colin Watson <cjwatson@ubuntu.com>
19052
19053 * util/grub.d/40_custom.in: Make it a little clearer how to use this
19054 file.
19055
c0d34387 190562009-09-10 Felix Zielcke <fzielcke@z-51.de>
19057
19058 * docs/grub.cfg: Add an example menu entry for memtest86+.
19059
80a608f3 190602009-09-09 Felix Zielcke <fzielcke@z-51.de>
19061
a2094832 19062 * config.guess: Update to latest version from config git.
80a608f3 19063 * config.sub: Likewise.
19064
99423078 190652009-09-08 Colin Watson <cjwatson@ubuntu.com>
19066
19067 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
19068 unknown-command case. Fixes bug #27320.
19069
44454e4c 190702009-09-08 Felix Zielcke <fzielcke@z-51.de>
19071
19072 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
19073 `help' if the command exists.
19074
e30d87ad 190752009-09-06 Robert Millan <rmh.grub@aybabtu.com>
19076
19077 * INSTALL: Require GCC 4.1.3 or later.
19078
9a86f1ec 190792009-09-06 Yves Blusseau <blusseau@zetam.org>
19080
19081 * Makefile.in (RMKFILES): add i386-qemu.rmk
19082 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
19083 $(srcdir)/stamp-h.in
19084
7f26d466 190852009-09-05 Robert Millan <rmh.grub@aybabtu.com>
19086
19087 * util/grub-probe.c (probe): Comment out buggy codepath, which
19088 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
19089 should be re-enabled after 1.97.
19090
3a613259 190912009-09-05 Felix Zielcke <fzielcke@z-51.de>
19092
19093 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
19094 find searches for.
19095
197f76c7 190962009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19097
19098 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
19099 unnecessary calls to grub_error.
19100
70ba68ce 191012009-09-04 Colin Watson <cjwatson@ubuntu.com>
19102
19103 * NEWS: Mention `keystatus' and Unicode fonts.
19104
4ff0d7a4 191052009-09-04 Robert Millan <rmh.grub@aybabtu.com>
19106
19107 * configure.ac: Bump version to 1.97~beta2.
19108 * docs/version.texi: Likewise.
19109
77c55a87 191102009-09-03 Colin Watson <cjwatson@ubuntu.com>
19111
19112 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
19113 containing unwind information in some cases where it previously did
19114 not. Use -fno-dwarf2-cfi-asm if available to restore the old
19115 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
19116 discussion.
19117
f79572cd 191182009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
19119
19120 Embedding loadenv module into grub-emu
19121
19122 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
19123 commands/loadenv.c
19124 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
19125 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
19126 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
19127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
19128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
19129 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
19130
93a81088 191312009-09-03 Magnus Granberg <zorry@ume.nu>
19132
19133 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
19134 include -fPIE in the default specs.
19135 * configure.ac: Check if pie_possible is yes and add -fno-PIE
19136 to TARGET_CFLAGS.
19137
160034b2 191382009-09-03 Felix Zielcke <fzielcke@z-51.de>
19139
19140 * INSTALL: Note that GNU Bison 2.3 or later is required.
19141
087c07c4 191422009-09-03 Colin Watson <cjwatson@ubuntu.com>
19143
19144 * kern/i386/pc/startup.S: Fix typo.
19145
cbf978c0 191462009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19147
19148 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19149 according to GCS.
19150
191512009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19152
19153 * docs/grub.texi (Naming convention): Describe one-based partition
19154 numbering.
19155 (Device syntax): Likewise.
19156 (File name syntax): Likewise.
19157 (Block list syntax): Likewise.
19158 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19159 menu.lst.
19160 (File name syntax): Likewise.
19161 (Command-line and menu entry commands): Document acpi, blocklist,
19162 crc, export, insmod, keystatus, ls, set, and unset commands.
19163
f3e8cdfd 191642009-09-02 Colin Watson <cjwatson@ubuntu.com>
19165
19166 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19167 to avoid implying that only one of --shift, --ctrl, or --alt may be
19168 used.
19169
c0bc232b 191702009-09-02 Colin Watson <cjwatson@ubuntu.com>
19171
19172 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19173 rather than comparing against S_IFREG, which will almost never work.
19174
aa0f752d 191752009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19178 (write_blocklists): Likewise.
19179
ecb3166a 191802009-09-01 Colin Watson <cjwatson@ubuntu.com>
19181
19182 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19183 argument to grub_printf.
19184
c403a125 191852009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19186
19187 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19188 non GNU test.
31aba781 19189
b5e7312c 191902009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * kern/file.c (grub_file_read): Spelling fix
19193
fe00f472 191942009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19195
19196 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19197 loading of headers in some cases.
19198
cc55302e 191992009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19200
19201 * configure.ac: Bump version to 1.97~beta1.
19202 * docs/version.texi: Likewise.
19203
5c90cdd2 192042009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19205
19206 * include/grub/i386/xnu.h: Add license header.
19207 include grub/err.h explicitly.
19208
c90edae4 192092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19210
19211 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19212 to `ufs' in the vfs.root.mountfrom kernel parameter.
19213
d8888b5c 192142009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19215
19216 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19217
19218 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19219 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19220
19221 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19222 `ARRAY_SIZE' macro.
19223
6f07b921 192242009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19225
19226 * kern/file.c (grub_file_read): Check offset.
19227 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19228 * fs/jfs.c (grub_jfs_read_file): Likewise.
19229 * fs/ntfs.c (grub_ntfs_read): Likewise.
19230 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19231 * fs/minix.c (grub_minix_read_file): Correct offset check.
19232 * fs/ufs.c (grub_ufs_read_file): Likewise.
19233
b4f34077 192342009-08-28 Colin Watson <cjwatson@ubuntu.com>
19235
19236 * term/i386/pc/console.c (bios_data_area): Cast
19237 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19238
e7c69859 192392009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19240
19241 1-bit optimised blitters.
19242
19243 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19244 prototype.
19245 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19246 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19247 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19248 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19249 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19250 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19251 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19252 function.
19253 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19254 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19255 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19256 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19257 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19258 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19259 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19260 when possible.
19261 * video/video.c (grub_video_get_blit_format): Return
19262 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19263
a57da43f 192642009-08-28 Colin Watson <cjwatson@ubuntu.com>
19265
19266 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19267 the first argument to grub_printf.
19268
4cbe67e5 192692009-08-28 Colin Watson <cjwatson@ubuntu.com>
192702009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19271
19272 Add `getkeystatus' terminal method. Add a new `keystatus' command
19273 to query it.
19274
19275 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19276 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19277 modifier key bitmasks.
19278 (struct grub_term_input): Add `getkeystatus' member.
19279 (grub_getkeystatus): Add prototype.
19280 * kern/term.c (grub_getkeystatus): New function.
19281
19282 * include/grub/i386/pc/memory.h
19283 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19284 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19285 Data Area layout.
19286 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19287 (grub_console_term_input): Set `getkeystatus' member.
19288 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19289 constants.
19290 (grub_usb_keyboard_getreport): Likewise.
19291 (grub_usb_keyboard_checkkey): Likewise.
19292 (grub_usb_keyboard_getkeystatus): New function.
19293 (grub_usb_keyboard_term): Set `getkeystatus' member.
19294
19295 * commands/keystatus.c: New file.
19296 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19297 (keystatus_mod_SOURCES): New variable.
19298 (keystatus_mod_CFLAGS): Likewise.
19299 (keystatus_mod_LDFLAGS): Likewise.
19300 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19301 commands/keystatus.c.
19302 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19304 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19305 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19306 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19307 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19308
6e2a9085 193092009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19310
19311 Split befs.mod and afs.mod into *_be.mod and *.mod
19312
19313 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19314 (grub_fstest_SOURCES): Likewise.
19315 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19316 (afs_be_mod_SOURCES): New variable.
19317 (afs_be_mod_CFLAGS): Likewise.
19318 (afs_be_mod_LDFLAGS): Likewise.
19319 (befs_be_mod_SOURCES): Likewise.
19320 (befs_be_mod_CFLAGS): Likewise.
19321 (befs_be_mod_LDFLAGS): Likewise.
19322 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19323 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19324 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19325 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19326 (grub_emu_SOURCES): Likewise.
19327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19328 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19329 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19330 * fs/afs_be.c: New file.
19331 * fs/befs_be.c: New file.
19332 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19333 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19334 (U16): Replaced with ...
19335 (grub_afs_to_cpu16): ...this. All users updated.
19336 (U32): Replaced with ...
19337 (grub_afs_to_cpu32): ...this. All users updated.
19338 (U64): Replaced with ...
19339 (grub_afs_to_cpu64): ...this. All users updated.
19340 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19341 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19342 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19343 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19344 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19345 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19346 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19347 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19348 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19349 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19350 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19351
32a71655 193522009-08-26 Bean <bean123ch@gmail.com>
19353
19354 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19355 64-bit number.
19356 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19357 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19358 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19359
552bf6c5 193602009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19361
19362 NetBSD memory map support.
19363
19364 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19365 (grub_netbsd_btinfo_mmap_header): New structure.
19366 (grub_netbsd_btinfo_mmap_entry): Likewise.
19367 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19368
1ae2078c 193692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19370
19371 Enable bsd.mod on coreboot.
19372
19373 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19374 (bsd_mod_SOURCES): New variable.
19375 (bsd_mod_CFLAGS): Likewise.
19376 (bsd_mod_LDFLAGS): Likewise.
19377 (bsd_mod_ASFLAGS): Likewise.
19378 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19379 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19380
beefc598 193812009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19382
19383 Cleanup NetBSD root support.
19384
19385 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19386 grub_bsd_get_device.
19387 Fix typo.
19388
3b76e68b 193892009-08-25 Felix Zielcke <fzielcke@z-51.de>
19390
19391 * util/grub.d/00_header.in: Move check for the video backend of
19392 gfxterm from here ...
19393 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19394 a suitable video backend.
19395
aea664ea 193962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19397
19398 Fix breakage in grub-setup.
19399
19400 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19401 "msdos_partition_map".
19402
ff747d50 194032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 Fix breakage in normal/auth.c.
19406
19407 * normal/auth.c (grub_iswordseparator): New function.
19408
e7e1f93f 194092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19410
19411 Authentication support.
19412
19413 * commands/password.c: New file.
19414 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19415 (password_mod_SOURCES): New variable.
19416 (password_mod_CFLAGS): Likewise.
19417 (password_mod_LDFLAGS): Likewise.
19418 (normal_mod_SOURCES): Add normal/auth.c.
19419 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19420 normal/auth.c.
19421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19422 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19423 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19426 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19427 * include/grub/auth.h: New file.
19428 * include/grub/err.h (grub_err_t): New enum value
19429 GRUB_ERR_ACCESS_DENIED.
19430 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19431 'users'.
19432 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19433 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19434 users updated.
19435 * normal/auth.c: New file.
19436 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19437 (grub_cmdline_run): Don't allow to go to command line without
19438 authentication.
19439 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19440 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19441 menuentry without superuser rights.
19442 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19443 user isn't a superuser.
19444
70f1161d 194452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19446
19447 Save space by inlining misc.c functions.
19448
19449 * kern/misc.c (grub_iswordseparator): Made static.
19450 * kern/misc.c (grub_strcat): Moved from here ...
19451 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19452 * kern/misc.c (grub_strncat): Moved from here ...
19453 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19454 * kern/misc.c (grub_strcasecmp): Moved from here ...
19455 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19456 * kern/misc.c (grub_strncasecmp): Moved from here ...
19457 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19458 * kern/misc.c (grub_isalpha): Moved from here ...
19459 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19460 * kern/misc.c (grub_isdigit): Moved from here ...
19461 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19462 * kern/misc.c (grub_isgraph): Moved from here ...
19463 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19464 * kern/misc.c (grub_tolower): Moved from here ...
19465 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19466
48e40bff 194672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19468
19469 * script/sh/function.c (grub_script_function_find): Cut error message
19470 not to flood terminal.
19471 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19472 limit.
19473 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19474
c385bfc3 194752009-08-24 Colin Watson <cjwatson@ubuntu.com>
19476
19477 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19478 `report' grub_uint8_t *.
19479 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19480 Use a 50-millisecond timeout rather than just repeating
19481 grub_usb_keyboard_getreport 50 times.
19482 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19483
2d21e3e8 194842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19485
19486 Rename *_partition_map to part_*
19487
19488 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19489 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19490 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19491 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19492 All users updated.
19493 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19494 All users updated.
19495 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19496 * util/grub-probe.c (probe_partmap): Don't transform partition name
19497 to get module name.
19498
dd103c4e 194992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19500
19501 Fix OpenBSD and NetBSD support.
19502
19503 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19504 memory address conflict.
19505 (OPENBSD_MMAP_ACPI): New definition.
19506 (OPENBSD_MMAP_NVS): Likewise.
19507 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19508 and OPENBSD_MMAP_NVS.
19509 Add memory map terminator
19510 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19511 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19512
16c84d74 195132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19514
19515 Let user specify NetBSD root device.
19516
19517 * loader/i386/bsd.c (netbsd_root): New variable.
19518 (netbsd_opts): New option 'root'.
19519 (NETBSD_ROOT_ARG): New macro.
19520 (grub_netbsd_boot): Use 'netbsd_root'.
19521 (grub_bsd_unload): Free 'netbsd_root'.
19522 (grub_cmd_netbsd): Fill 'netbsd_root'.
19523
adb29902 195242009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Support for 64-bit NetBSD.
19527
19528 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19529 point when booting non-FreeBSD.
19530
f5ae9f74 195312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19532
19533 Support --no-smp and --no-acpi for NetBSD.
19534
19535 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19536 (NETBSD_AB_NOACPI): Likewise.
19537 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19538 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19539
de74f136 195402009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19541
19542 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19543 errors.
19544 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19545 errors. Call grub_error when needed.
19546
e9a925da 195472009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19548
19549 * commands/search.c (search_fs): Try searching without autoload first.
19550 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19551 filesystem module explicitly for faster booting.
19552
5174302b 195532009-08-23 Colin Watson <cjwatson@ubuntu.com>
19554
19555 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19556
c8c80635 195572009-08-23 Colin Watson <cjwatson@ubuntu.com>
19558
19559 * util/grub.d/30_os-prober.in: Disable os-prober if
19560 `GRUB_DISABLE_OS_PROBER' was set to true.
19561
71acf5e5 195622009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19563
19564 * partmap/pc.c: Rename to ...
19565 * partmap/msdos.c: ... this. Update all users.
19566 (grub_pc_partition_map): Rename to ...
19567 (grub_msdos_partition_map): ... this. Update all users.
19568
19569 * parttool/pcpart.c: Rename to ...
19570 * parttool/msdospart.c: ... this. Update all users.
19571
19572 * include/grub/pc_partition.h: Rename to ...
19573 * include/grub/msdos_partition.h: ... this. Update all users.
19574 (grub_pc_partition_bsd_entry): Rename to ...
19575 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19576 (grub_pc_partition_disk_label): Rename to ...
19577 (grub_msdos_partition_disk_label): ... this. Update all users.
19578 (grub_pc_partition_entry): Rename to ...
19579 (grub_msdos_partition_entry): ... this. Update all users.
19580 (grub_pc_partition_mbr): Rename to ...
19581 (grub_msdos_partition_mbr): ... this. Update all users.
19582 (grub_pc_partition): Rename to ...
19583 (grub_msdos_partition): ... this. Update all users.
19584 (grub_pc_partition_is_empty): Rename to ...
19585 (grub_msdos_partition_is_empty): ... this. Update all users.
19586 (grub_pc_partition_is_extended): Rename to ...
19587 (grub_msdos_partition_is_extended): ... this. Update all users.
19588 (grub_pc_partition_is_bsd): Rename to ...
19589 (grub_msdos_partition_is_bsd): ... this. Update all users.
19590
19591 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19592 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19593 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19594 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19595 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19596 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19597 (gpt_mod_LDFLAGS): Rename to ...
19598 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19599 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19600 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19601 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19602 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19603 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19604 (part_gpt_mod_LDFLAGS): ... this.
19605 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19606 `pcpart.mod' to `msdospart.mod'.
19607 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19608 to ...
19609 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19610 (msdospart_mod_LDFLAGS): ... this.
19611
c11fded5 196122009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19613
19614 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19615 (openbsd_opts): Likewise.
19616 (netbsd_opts): Likewise.
19617 (freebsd_flags): Added 0 terminator.
19618 (openbsd_flags): Likewise.
19619 (netbsd_flags): Likewise.
19620 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19621 (grub_cmd_freebsd): Transformed into extended command.
19622 (grub_cmd_openbsd): Likewise.
19623 (grub_cmd_netbsd): Likewise.
19624 (cmd_freebsd): Changed type to grub_extcmd_t.
19625 (cmd_openbsd): Likewise.
19626 (cmd_netbsd): Likewise.
19627 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19628 grub_cmd_openbsd as extended commands.
19629 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19630 cmd_netbsd and cmd_openbsd
19631
11d1c769 196322009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19633
19634 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19635
7a9094e5 196362009-08-21 Pavel Roskin <proski@gnu.org>
19637
5496c37e 19638 * Makefile.in (install-local): When checking if a file is in the
19639 build directory, use "test -e" to detect symlinks.
19640
7a9094e5 19641 * Makefile.in (install-local): Remove all files in
19642 $(DESTDIR)$(pkglibdir) before installing new files there.
19643
e53cea11 196442009-08-18 Felix Zielcke <fzielcke@z-51.de>
19645
19646 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19647 grub-mkelfimage.
19648
9aced544 196492009-08-18 Felix Zielcke <fzielcke@z-51.de>
19650
19651 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19652 explicitly specified by the user.
19653
b7da6bab 196542009-08-18 Pavel Roskin <proski@gnu.org>
19655
19656 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19657 grub_uint8_t pointer for data.
19658 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19659 Likewise.
19660 * video/fb/fbutil.c: Remove unnecessary casts.
19661
19f1b335 196622009-08-17 Michal Suchanek <hramrach@centrum.cz>
19663
19664 VBE cleanup.
19665
19666 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19667 (grub_vbe_set_video_mode): Save active mode info
19668 only after setting the mode.
19669 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19670 second argument.
19671
2f467aa9 196722009-08-17 Michal Suchanek <hramrach@centrum.cz>
19673
19674 Rename variables for clarity.
19675
19676 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19677 (active_vbe_mode_info): ... this. All users updated.
19678 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19679 All users updated.
19680 (initial_mode): Rename to ...
19681 (initial_vbe_mode): ... this. All users updated.
19682 (mode_in_use): Rename to ..
19683 (vbe_mode_in_use): ... this. All users updated.
19684 (mode_list): Rename to ..
19685 (vbe_mode_list): ... this. All users updated.
19686 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19687 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19688 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19689 'mode_list_size' to 'vbe_mode_list_size'.
19690 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19691 'best_mode_info' to 'best_vbe_mode_info' and
19692 'best_mode' to 'best_vbe_mode'
19693
6025fcd7 196942009-08-17 Michal Suchanek <hramrach@centrum.cz>
19695
19696 Remove duplicate grub_video_fb_get_video_ptr.
19697
19698 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19699 (grub_video_fb_get_video_ptr): ... this.
19700 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19701 * video/fb/fbutil.c: Add comment about addressing.
19702 (get_data_ptr): Rename to ...
19703 (grub_video_fb_get_video_ptr): ... this. All users updated.
19704 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19705
cc8c6faf 197062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19707
19708 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19709 grub_dprintf() that was just added.
19710
08aa61f0 197112009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19714 (DEFAULT_VIDEO_MODE): Remove macros.
19715 (grub_linux_boot): Remove assumption that Linux has FB support,
19716 and use "text" as default video mode.
19717
7cef4f75 197182009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19719
19720 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19721 grub_dprintf.
19722 * fs/fat.c (grub_fat_read_data): Likewise.
19723
e1f39873 197242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19725
19726 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19727 payload.
19728 (grub_module): Likewise.
19729
c166d79e 197302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19731
19732 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19733 mbi->cmdline but free playground.
19734
c60cee8e 197352009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19736
19737 Handle group offset on UFS1.
19738
19739 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19740 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19741
c0d8b5d4 197422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19743
19744 Split ufs.mod into ufs1.mod and ufs2.mod.
19745
19746 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19747 (grub_fstest_SOURCES): Likewise.
19748 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19749 (ufs_mod_SOURCES): Remove.
19750 (ufs_mod_CFLAGS): Likewise.
19751 (ufs_mod_LDFLAGS): Likewise.
19752 (ufs1_mod_SOURCES): New variable.
19753 (ufs1_mod_CFLAGS): Likewise.
19754 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 19755 (ufs2_mod_SOURCES): New variable.
19756 (ufs2_mod_CFLAGS): Likewise.
19757 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 19758 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19759 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19760 Likewise.
19761 (grub_emu_SOURCES): Likewise.
19762 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19763 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19764 (grub_setup_SOURCES): Likewise.
19765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19766 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19767 (grub_setup_SOURCES): Likewise.
19768 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19769 Likewise.
19770 * fs/ufs2.c: New file.
19771 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19772
d3539132 197732009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19774
19775 Framebuffer split.
19776
19777 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19778 subsystem at the end.
19779 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19780 (video_fb_mod_SOURCES): New variable.
19781 (video_fb_mod_CFLAGS): Likewise.
19782 (video_fb_mod_LDFLAGS): Likewise.
19783 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19784 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19785 * video/i386/pc/vbeblit.c: Moved from here ...
19786 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19787 * video/i386/pc/vbefill.c: Moved from here ...
19788 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19789 * video/i386/pc/vbeutil.c: Moved from here ...
19790 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19791 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19792 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19793 * include/grub/i386/pc/vbefill.h: Moved from here ...
19794 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19795 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19796 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19797 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19798 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19799 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19800 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19801 (grub_video_adapter): Added 'get_info_and_fini'.
19802 (grub_video_get_info_and_fini): New prototype.
19803 (grub_video_set_mode): make modestring const char *.
19804 * loader/i386/linux.c (grub_linux_setup_video): Use
19805 grub_video_get_info_and_fini.
19806 (grub_linux_boot): Move modesetting just before booting.
19807 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19808 grub_video_get_info_and_fini.
19809 * video/i386/pc/vbe.c: Moved framebuffer part ...
19810 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19811 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19812 grub_video_fbstd_colors and grub_video_fb_set_palette.
19813 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19814 grub_video_fb_init.
19815 (grub_video_vbe_fini): Use grub_video_fb_fini.
19816 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19817 render_target and use grub_video_fb_set_active_render_target and
19818 grub_video_fb_set_palette.
19819 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19820 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19821 (grub_video_vbe_adapter): Use framebuffer.
19822 * video/video.c (grub_video_get_info_and_fini): New function.
19823 (grub_video_set_mode): Make modestring const char *.
19824 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19825 values are already initialised.
19826
d404ee56 198272009-08-14 Pavel Roskin <proski@gnu.org>
19828
19829 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19830 ABS and APPLE_CC.
19831 * boot/i386/pc/diskboot.S: Likewise.
19832 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19833 sectors allow compilation on MacOSX.
19834 * conf/i386-pc.rmk: Enable unconditional compilation of
19835 lnxboot.img.
19836
9a10df16 198372009-08-13 Colin Watson <cjwatson@ubuntu.com>
19838
19839 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19840 * util/grub.d/00_header.in: Enter interruptible sleep if
19841 GRUB_HIDDEN_TIMEOUT is set.
19842
be3c9ca7 198432009-08-13 Yves Blusseau <blusseau@zetam.org>
19844
19845 * include/grub/symbol.h: Add the LOCAL macro.
19846 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
19847 starting with "L_".
19848
1f9e557e 198492009-08-13 Pavel Roskin <proski@gnu.org>
19850
9ca62843 19851 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
19852 any modern compilers we support.
19853
1f9e557e 19854 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
19855 Use local labels starting with "L_" so that Apple assembler
19856 knows they are local.
19857
81623db6 198582009-08-10 Robert Millan <rmh.grub@aybabtu.com>
19859
19860 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
19861 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
19862 (bsd_kernel_types): ... this enum.
19863
19864 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
19865 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
19866 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
19867
19868 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
19869 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
19870 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
19871 messages.
19872
f5d35e7a 198732009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19874
19875 * util/grub-dumpdevtree: Moved from here ...
19876 * util/i386/efi/grub-dumpdevtree: ... to here.
19877 (hexify): New function. Converts a string to its hex version.
19878 Generate hex versions of "efi" and "device-properties" by calling
19879 hexify() on the ASCII strings rather than by hardcoding numbers.
19880
d1e1d527 198812009-08-08 Robert Millan <rmh.grub@aybabtu.com>
19882
19883 * fs/jfs.c: Update copyright year.
19884
1ebbe064 198852009-08-08 Felix Zielcke <fzielcke@z-51.de>
19886
19887 * util/grub.d/00_header.in: Fix a comment.
19888 * util/grub.d/10_linux.in: Likewise.
19889 * util/grub.d/10_windows.in: Likewise.
19890 * util/grub.d/10_hurd.in: Likewise.
19891
a78c8d24 198922009-08-08 Felix Zielcke <fzielcke@z-51.de>
19893
19894 * util/grub-mkconfig.in: Allow the user to specify the used font
19895 with GRUB_FONT.
19896
29a6b9e8 198972009-08-08 Pavel Roskin <proski@gnu.org>
19898
b5f16cc4 19899 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
19900 available, xfs.mod needs it now.
19901
2f5cb827 19902 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
19903 the "g" modifier in sed when the intention is to strip something
19904 once. This fixes comparison of kernels with multiple dashes.
19905
29a6b9e8 19906 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
19907 on it. Add missing space before closing bracket. Fix
19908 misleading formatting.
19909
892a3d98 199102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19911
19912 * docs/grub.texi: Major overhaul. Remove all sections that are
19913 specific to GRUB Legacy, or mostly composed of Legacy-specific
19914 information.
19915
ed94253f 199162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19917
19918 * docs/version.texi: New file. Provides version information for
19919 grub.texi.
19920
126d6628 199212009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19922
19923 * docs/grub.texi: Update CVS information to SVN.
19924 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
19925
998b5aa9 199262009-08-07 Felix Zielcke <fzielcke@z-51.de>
19927
19928 * util/grub-mkconfig.in: Remove a wrong `fi'.
19929
818e094a 199302009-08-07 Felix Zielcke <fzielcke@z-51.de>
19931
19932 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
19933 (grub_jfs_uuid): New function.
19934 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
19935
b969c52f 199362009-08-07 Felix Zielcke <fzielcke@z-51.de>
19937
19938 * util/grub-mkconfig_lib.in (font_path): Move the functionality
19939 of it to ...
19940 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
19941 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
19942
7a4894cc 199432009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19944
19945 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
19946 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
19947 Update all users.
19948
19949 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
19950 not just "vmlinu[zx]".
19951 Moved from here ...
19952 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
19953 all users.
19954
19955 * util/grub.d/10_linux.in (find_latest): Moved from here ...
19956 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
19957 all users.
19958
4e2171f8 199592009-08-07 Robert Millan <rmh.grub@aybabtu.com>
19960
19961 * util/grub.d/10_freebsd.in: Use an absolute device path for
19962 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
19963
6dcfcb32 199642009-08-06 Felix Zielcke <fzielcke@z-51.de>
19965
19966 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
19967 handling of multiple abstraction modules.
19968
f56a8756 199692009-08-04 Robert Millan <rmh.grub@aybabtu.com>
19970
19971 Fix a bug resulting in black screen when loading Linux using a
19972 packed video mode.
19973
19974 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
19975 function.
19976
19977 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
19978 (grub_vbe_bios_getset_dac_palette_width): New function.
19979 (grub_vbe_bios_get_dac_palette_width)
19980 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
19981 grub_vbe_bios_getset_dac_palette_width()).
19982
19983 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
19984 check for return status.
19985 (grub_vbe_get_video_mode_info): When getting information for a packed
19986 mode (<= 8 bpp), obtain DAC palette width using
19987 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
19988 {red,green,blue}_mark_size.
19989
222671b2 199902009-08-04 Felix Zielcke <fzielcke@z-51.de>
19991
ecb1a6d9 19992 * commands/search.c (options): Fix help output to match actual code.
222671b2 19993
f84114f5 199942009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
19995
19996 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
19997 of homegrown code.
19998
bd288a20 199992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 20000
20001 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
20002 on XFS or ReiserFS.
20003
8aab5e25 200042009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 Support Apple partition map with sector size different from 512 bytes.
20007
20008 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
20009 (apple_partition_map_iterate): Respect 'aheader.blocksize'
20010 and 'apart.partmap_size'.
20011
6ad6258a 200122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
200132009-08-01 Robert Millan <rmh.grub@aybabtu.com>
20014
20015 Fix cpuid command.
20016
20017 * commands/i386/cpuid.c (options): New variable.
20018 (grub_cmd_cpuid): Return real error.
20019 (GRUB_MOD_INIT(cpuid)): Declare options.
20020
67459bc6 200212009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
20022
20023 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
20024 valid.
20025
fbc6ab54 200262009-07-31 Bean <bean123ch@gmail.com>
20027
20028 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
20029 log2_inode.
20030 (grub_fshelp_node): Move inode field to the end.
20031 (grub_xfs_data): Remove inode field.
20032 (grub_xfs_inode_block): Calculate inode size using sblock.
20033 (grub_xfs_inode_offset): Likewise.
20034 (grub_xfs_read_inode): Calculate inode size using sblock.
20035 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
20036 (grub_xfs_iterate_dir): Calculate inode size using sblock.
20037 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
20038 to match inode size.
20039 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
20040 not accessible when data is null.
20041 (grub_xfs_open): Likewise.
20042
f45d6cfc 200432009-07-31 Bean <bean123ch@gmail.com>
20044
20045 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
20046 Don't change pv->disk if it's already set.
20047
20048 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
20049 (grub_raid_register): ... here.
20050 (grub_raid_rescan): Removed.
20051
20052 * include/grub/raid.h (grub_raid_rescan): Removed.
20053
20054 * util/grub-fstest.c: Remove include file <grub/raid.h>.
20055 (fstest): Replace grub_raid_rescan with module fini function followed
20056 by init function.
20057
20058 * util/grub-probe.c: Add include file <grub/raid.h>.
20059 (probe_raid_level): New function.
20060 (probe): Detect abstraction by walking the disk device, support two
20061 level of abstraction (LVM on RAID) when detecting partition map.
20062
24443b5a 200632009-07-31 Pavel Roskin <proski@gnu.org>
20064
20065 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
20066 to grub_zalloc(), it was erroneous.
20067 Reported by Bean <bean123ch@gmail.com>
20068
a275d9e7 200692009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
20070
20071 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 20072 embedding zone, not only the first one.
a275d9e7 20073
56c5a47f 200742009-07-29 Joe Auricchio <jauricchio@gmail.com>
20075
20076 * term/gfxterm.c (clear_char): New function.
20077 (grub_virtual_screen_setup): Use clear_char.
20078 (scroll_up): Likewise.
20079 (grub_virtual_screen_cls): Likewise.
20080
67bb323a 200812009-07-29 Felix Zielcke <fzielcke@z-51.de>
20082
20083 * util/deviceiter.c (get_acceleraid_disk_name): New static
20084 function.
20085 (grub_util_iterate_devices): Handle Accelraid devices.
20086 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
20087
388a7c75 200882009-07-28 Robert Millan <rmh.grub@aybabtu.com>
20089
20090 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
20091 separator for the suggested gfxpayload string (';' collides with the
20092 parser and needs escaping).
20093
3bb7abcf 200942009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
20097 Clear direction flag before jumping to OS.
20098 (grub_multiboot2_real_boot): Likewise.
20099
2ddd36d7 201002009-07-28 Felix Zielcke <fzielcke@z-51.de>
20101
20102 * util/i386/pc/grub-install: Fix parsing of --disk-module
20103 option.
20104
c521b62b 201052009-07-28 Felix Zielcke <fzielcke@z-51.de>
20106
20107 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
20108 when embedding.
20109
880e0a0c 201102009-07-26 Felix Zielcke <fzielcke@z-51.de>
20111
20112 * util/grub-mkconfig.in (package_version): New variable.
20113 Use it do display the version.
20114
2366e356 201152009-07-25 Felix Zielcke <fzielcke@z-51.de>
20116
20117 * kern/file.c (grub_file_open): Revert to previous check with
20118 grub_errno.
20119
7ad8c80e 201202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
20123 from help line. It's out of sync with code.
20124
72b9658b 201252009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20126
20127 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
20128 entries on failed boot.
20129
77435277 201302009-07-25 Felix Zielcke <fzielcke@z-51.de>
20131
20132 * kern/file.c (grub_file_open): Fix an error check.
20133
fcaa8b21 201342009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
20135
35d16c74 20136 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
20137 partition map couldn't be identified.
fcaa8b21 20138
48904cd1 201392009-07-23 Pavel Roskin <proski@gnu.org>
20140
ef3c317f 20141 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20142 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20143 case of little endian words becomes just an optimization.
20144 Respect const modifier.
ad8ea1f4 20145 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20146
48904cd1 20147 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20148 to avoid loss of upper bits if align is unsigned and shorter
20149 than addr.
20150
260c9a89 201512009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20152
20153 UUID support for UFS
20154
20155 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20156 (grub_ufs_uuid): New function.
20157 (grub_ufs_fs): add .uuid
20158
f76ce889 201592009-07-21 Pavel Roskin <proski@gnu.org>
20160
20161 * kern/dl.c (grub_dl_check_header): Make static.
20162
6a6cbcaf 201632009-07-21 Felix Zielcke <fzielcke@z-51.de>
20164
20165 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20166 add drivemap for Vista. It breaks Windows 7.
20167
cffcddb2 201682009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20169
20170 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20171 128 bytes
20172
1ef44b80 201732009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20174
20175 Add BFS support
20176
20177 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20178 (grub_fstest_SOURCES): Likewise.
20179 (pkglib_MODULES): Add befs.mod.
20180 (befs_mod_SOURCES): New variable.
20181 (befs_mod_CFLAGS): Likewise.
20182 (befs_mod_LDFLAGS): Likewise.
20183 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20184 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20185 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20186 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20187 (grub_setup_SOURCES): Likewise.
20188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20189 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20190 (grub_setup_SOURCES): Likewise.
20191 * fs/befs.c: New file.
20192 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20193 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20194 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20195 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20196 (B_KEY_INDEX_ALIGN): New declaration.
20197 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20198 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20199 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20200 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20201 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20202 (grub_afs_mount) [MODE_BFS]: Likewise.
20203 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20204 (grub_afs_fs): Use GRUB_AFS_FSNAME
20205 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20206 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20207 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20208 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20209
4f253044 202102009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20211
20212 * util/getroot.c (find_root_device): Add support for MacOSX.
20213 * util/hostdisk.c: Likewise.
20214
57a55913 202152009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20216
20217 * font/font.c (find_glyph): Check whether a font is present to avoid
20218 segmentation fault.
75421ca9 20219
202202009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20221
20222 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20223
e98cd0c2 202242009-07-20 Pavel Roskin <proski@gnu.org>
20225
20226 * configure.ac: Trim excessively wordy excuses.
20227
1d2d169a 202282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 Add symlink, mtime and label support to AtheFS.
20231
20232 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20233 (grub_afs_iterate_dir): Handle symlinks.
20234 (grub_afs_open): Use grub_afs_read_symlink.
20235 (grub_afs_dir): Likewise.
20236 Pass mtime.
20237 (grub_afs_label): New function.
20238 (grub_afs_fs): Add grub_afs_label.
20239 (grub_afs_read_symlink): New function.
20240
186f3189 202412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 Fix AtheFS support.
20244
20245 * fs/afs.c: Fix comments style.
20246 (grub_afs_blockrun): Declare as packed.
20247 (grub_afs_datastream): Likewise.
20248 (grub_afs_bnode): Likewise.
20249 (grub_afs_btree): Likewise.
20250 (grub_afs_sblock): Likewise.
20251 Declare `name' as char.
20252 (grub_afs_inode): Declare as packed.
20253 Change void *vnode to grub_uint32_t unused.
20254 (grub_afs_iterate_dir): Check that key_size is positive.
20255 (grub_afs_mount): Don't read superblock twice.
75421ca9 20256 (grub_afs_dir): Don't free node in case of error,
186f3189 20257 grub_fshelp_find_file already handles this.
20258 (grub_afs_open): Likewise.
20259
5680109e 202602009-07-19 Pavel Roskin <proski@gnu.org>
20261
20262 * Makefile.in: Remove LIBLZO and enable_lzo.
20263 * conf/i386-pc.rmk: Remove lzo support.
20264 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20265 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20266 support.
20267 * kern/i386/pc/lzo1x.S: Remove.
20268 * kern/i386/pc/startup.S: Remove lzo support.
20269 * util/i386/pc/grub-mkimage.c: Likewise.
20270
ac70fa32 202712009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20272
20273 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20274 * fs/xfs.c (grub_xfs_dir): Likewise.
20275 * fs/afs.c (grub_afs_dir): Likewise.
20276 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20277 (grub_iso9660_open): Likewise.
20278 * fs/jfs.c (grub_jfs_open): Likewise.
20279 * fs/ext2.c (grub_ext2_dir): Likewise.
20280 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20281 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20282
eab58da2 202832009-07-16 Pavel Roskin <proski@gnu.org>
20284
d2838156 20285 * configure.ac: Never add "-c" to CFLAGS.
20286
55c70904 20287 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20288
43e6200c 20289 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20290 grub_cv_cc_efiemu should be used.
20291
ce7a733d 20292 * configure.ac: Typo fixes.
20293
eab58da2 20294 * kern/mm.c (grub_zalloc): New function.
20295 (grub_debug_zalloc): Likewise.
20296 * include/grub/mm.h: Declare grub_zalloc() and
20297 grub_debug_zalloc().
20298 * util/misc.c (grub_zalloc): New function.
20299 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20300 instead of grub_malloc(), remove unneeded initializations.
20301 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20302 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20303 * commands/parttool.c (grub_cmd_parttool): Likewise.
20304 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20305 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20306 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20307 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20308 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20309 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20310 (grub_cmd_efiemu_pnvram): Likewise.
20311 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20312 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20313 (grub_iso9660_iterate_dir): Likewise.
20314 * fs/jfs.c (grub_jfs_opendir): Likewise.
20315 * fs/ntfs.c (list_file): Likewise.
20316 (grub_ntfs_mount): Likewise.
20317 * kern/disk.c (grub_disk_open): Likewise.
20318 * kern/dl.c (grub_dl_load_core): Likewise.
20319 * kern/elf.c (grub_elf_file): Likewise.
20320 * kern/env.c (grub_env_context_open): Likewise.
20321 (grub_env_set): Likewise.
20322 (grub_env_set_data_slot): Likewise.
20323 * kern/file.c (grub_file_open): Likewise.
20324 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20325 * loader/i386/multiboot.c (grub_module): Likewise.
20326 * loader/xnu.c (grub_xnu_create_key): Likewise.
20327 (grub_xnu_create_value): Likewise.
20328 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20329 (read_config_file): Likewise.
20330 * normal/menu_entry.c (make_screen): Likewise.
20331 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20332 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20333 * script/sh/script.c (grub_script_parse): Likewise.
20334 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20335 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20336 * video/readers/png.c (grub_png_output_byte): Likewise.
20337 (grub_video_reader_png): Likewise.
20338
830afef7 203392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20340
20341 Enable all targets that can be built by default
20342
830afef7 20343 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20344 grub-mkfont and grub-fstest if they can be built
20345
ee293aee 203462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20347
20348 Fix hang and segmentation fault in grub-emu-usb
20349
20350 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20351 * util/usb.c (grub_libusb_devices): likewise
20352 (grub_libusb_init): rename to ...
20353 (GRUB_MOD_INIT (libusb)):...this
20354 (grub_libusb_fini): rename to ..
20355 (GRUB_MOD_FINI (libusb)):...this
20356 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20357 * include/grub/disk.h (grub_raid_init): removed, it's useless
20358 (grub_raid_fini): likewise
20359 (grub_lvm_init): likewise
20360 (grub_lvm_fini): likewise
20361 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20362 by grub_init_all
20363
94414221 203642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 Fix libusb
20367
20368 * Makefile.in (LIBUSB): new macro
20369 * genmk.rb (Utility/print_tail): new method
20370 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20371 (top level): call util.print_tail at the end.
20372
59ade63d 203732009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 Make FreeBSD accept zpool.cache
20376
20377 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20378 type is /boot/zfs/zpool.cache
20379
a58da8c7 203802009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20381
20382 Fix 64-bit efiemu
20383
20384 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20385 correct wrong typedef
20386 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20387
20591577 203882009-07-15 Pavel Roskin <proski@gnu.org>
20389
560ca572 20390 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20391 * kern/disk.c (struct grub_disk_cache): Likewise.
20392
e8e8e4fd 20393 * commands/probe.c (options): Typo fix.
20394
fde24e10 20395 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20396 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20397 accordingly.
20398 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20399
379c54c1 20400 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20401 the end of "Error" to make the message more readable.
20402
7bd8f5bf 20403 * boot/i386/pc/boot.S (kernel_segment): Remove.
20404 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20405 for destination.
20406
40b132c5 20407 * boot/i386/pc/boot.S (boot_version): Remove.
20408 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20409 Remove.
20410
20591577 20411 * include/grub/i386/pc/boot.h: Sort all offsets.
20412 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20413 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20414 * boot/i386/pc/boot.S: Assert location of every offset listed in
20415 include/grub/i386/pc/boot.h.
20416
2df32b2c 204172009-07-13 Pavel Roskin <proski@gnu.org>
20418
44b5d879 20419 * include/grub/i386/coreboot/machine.h: Rename
20420 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20421 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20422 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20423
17dc3751 20424 * kern/dl.c: Force native word size to suppress warnings when
20425 compiling grub-emu.
20426
2df32b2c 20427 * kern/device.c (grub_device_iterate): Change struct part_ent to
20428 hold the name, not a pointer to it. Use one grub_malloc() per
20429 partition, not two. Free partition_name if grub_malloc() fails.
20430 Set ents to NULL only before grub_partition_iterate() is called.
20431
75c59f59 204322009-07-11 Bean <bean123ch@gmail.com>
20433
20434 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20435 childname.
20436
0ae1bf88 204372009-07-10 Bean <bean123ch@gmail.com>
204382009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20439
20440 * kern/ieee1275/openfw.c (grub_children_iterate)
20441 (grub_devalias_iterate): Fix size evaluation for property or path
20442 strings, which was broken since r2132.
20443
8279cade 204442009-07-07 Pavel Roskin <proski@gnu.org>
20445
7d8a52d3 20446 * commands/search.c (search_file): Merge into ...
20447 (search_fs): ... this. Accept search type as argument.
20448 (grub_cmd_search): Pass search type to search_fs().
20449
25f9a05a 20450 * include/grub/util/console.h: New file.
20451 * util/console.c: Use it instead of grub/machine/console.h.
20452 * util/grub-emu.c: Likewise.
20453
8279cade 20454 * lib/arg.c (find_long_option): Remove.
20455 (find_long): Add `len' argument, make `s' const char *.
20456 (grub_arg_parse): Parse long options in place, not in a
20457 temporary buffer.
20458
4a11b60f 204592009-07-06 Pavel Roskin <proski@gnu.org>
20460
99f68041 20461 * commands/search.c (search_fs): Fix potential NULL pointer
20462 dereference.
20463
4a11b60f 20464 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20465 function pointer.
20466
e110f4de 204672009-07-06 Daniel Mierswa <impulze@impulze.org>
20468
20469 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20470 comparison.
20471
46eeb6a2 204722009-07-05 Pavel Roskin <proski@gnu.org>
20473
bab74958 20474 * include/grub/i386/linux.h (struct linux_kernel_params):
20475 Restore padding3, it's still needed.
20476
46eeb6a2 20477 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20478 FreeBSD.
20479 * util/osdetect.lua: Likewise.
20480
b4a1dc79 204812009-07-05 Bean <bean123ch@gmail.com>
20482
20483 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20484
20485 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20486 (grub_lua_getenv): Likewise.
20487 (grub_lua_setenv): Likewise.
20488 (save_errno): New function.
20489 (push_result): Likewise.
20490 (grub_lua_enum_device): Likewise.
20491 (grub_lua_enum_file): Likewise.
20492 (grub_lua_file_open): Likewise.
20493 (grub_lua_file_close): Likewise.
20494 (grub_lua_file_seek): Likewise.
20495 (grub_lua_file_read): Likewise.
20496 (grub_lua_file_getline): Likewise.
20497 (grub_lua_file_getsize): Likewise.
20498 (grub_lua_file_getpos): Likewise.
20499 (grub_lua_file_eof): Likewise.
20500 (grub_lua_file_exist): Likewise.
20501 (grub_lua_add_menu): Likewise.
20502
20503 * script/lua/grub_lua.h (isupper): New inline function.
20504 (islower): Likewise.
20505 (ispunct): Likewise.
20506 (isxdigit): Likewise.
20507 (strcspn): Change to normal function.
20508 (strpbkr): New function declaration.
20509 (memchr): Likewise.
20510
20511 * script/lua/grub_main.c (scan_str): New function.
20512 (strcspn): Likewise.
20513 (strpbrk): Likewise.
20514 (memchr): Likewise.
20515
20516 * script/lua/linit.c (lualibs): Enable the string library.
20517
20518 * util/osdetect.lua: New file.
20519
2da92295 205202009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20521
20522 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20523 `capabilities' member.
20524
b2582ec9 205252009-07-02 Pavel Roskin <proski@gnu.org>
20526
20527 * genparttoollist.sh: Add missing newline at the end.
20528
32622956 205292009-07-01 Pavel Roskin <proski@gnu.org>
20530
87a7339e 20531 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20532
d23af54e 20533 * util/hostdisk.c (open_device): Remove `const' from
20534 `sysctl_size', as sysctlbyname() can change it (in this case it
20535 doesn't actually happen).
20536
c94b18a9 20537 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20538 using signed long int constants.
20539
c6cd3ef0 20540 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20541 constant to avoid a warning on FreeBSD.
20542
0df63420 20543 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20544 where it's needed.
20545
999577f1 20546 * Makefile.in: Install include/grub/machine symlink.
20547
6f41557f 20548 * Makefile.in: When installing symlinks, use "cp -fR", which
20549 works on FreeBSD and MacOSX.
20550 From Yves Blusseau <cl7m42e02@sneakemail.com>
20551
c8d22988 20552 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20553 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20554
1b96e952 20555 * util/misc.c: Move grub_reboot() and grub_halt() ...
20556 * util/grub-emu.c: ... here. Make main_env static.
20557 * include/grub/util/misc.h: Remove main_env.
20558
2ef0084d 20559 * kern/mm.c: Use correct format to print size_t.
20560
32622956 20561 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20562 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20563 * kern/powerpc/dl.c: Likewise.
20564 * kern/sparc64/dl.c: Likewise.
20565 * kern/x86_64/dl.c: Likewise.
20566
3f7f0cd0 205672009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20568
20569 Fix grub-emu build on sparc64-ieee1275.
20570
75421ca9 20571 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20572 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20573
211d06b5 205742009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20575
20576 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20577 (grub_reboot, grub_halt): New functions.
20578
20579 * util/i386/pc/misc.c: Delete. Update all users.
20580 * util/sparc64/ieee1275/misc.c: Likewise.
20581 * util/powerpc/ieee1275/misc.c: Likewise.
20582
aaf53e3c 205832009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20584
20585 * conf/i386.rmk (setjmp_mod_SOURCES)
20586 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20587 * conf/common.rmk (setjmp_mod_SOURCES)
20588 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20589 to use $(target_cpu).
20590 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20591 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20592 * conf/powerpc-ieee1275.rmk: Likewise.
20593 * conf/sparc64-ieee1275.rmk: Likewise.
20594
20595 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20596 $(target_cpu) for kern/$(target_cpu)/dl.c.
20597 * conf/i386-efi.rmk: Likewise.
20598 * conf/i386-ieee1275.rmk: Likewise.
20599 * conf/x86_64-efi.rmk: Likewise.
20600 * conf/i386-coreboot.rmk: Likewise.
20601 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20602 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20603 kern/$(target_cpu)/cache.S.
20604 * conf/sparc64-ieee1275.rmk: Likewise.
20605
a337130b 206062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20607
20608 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20609 type to `grub_uint8_t', and adjust `padding9' accordingly.
20610
c6fe4d53 206112009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20612
b09db61d 20613 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20614
c6fe4d53 20615 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20616 assembly in final jump, using register constraints.
20617
b09db61d 20618 (grub_linux_boot): For text mode, initialize `have_vga' using
20619 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20620
20621 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20622 right before the final jump.
20623
20624 Set `video_mode' to 0x3.
20625
20626 Document initialization of `video_page', `video_mode' and
20627 `video_ega_bx'.
20628
28333ad0 206292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20630
20631 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20632 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20633 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20634
02164e1b 206352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20636
20637 Fix build on Debian / sparc.
20638
20639 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20640
18b6c557 206412009-06-28 Pavel Roskin <proski@gnu.org>
20642
85f2aab6 20643 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20644 fix a warning.
20645
18b6c557 20646 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20647
ad760f81 206482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20649
20650 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20651 `err'.
20652
87a4623b 206532009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20654
20655 Revert r2338.
20656
20657 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20658 file can't be opened. grub_file_open() is already supposed to set
75421ca9 20659 grub_errno / grub_errmsg appropriately.
87a4623b 20660 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20661
8231fb77 206622009-06-27 Pavel Roskin <proski@gnu.org>
206632009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20664
20665 * include/grub/dl.h: Include grub/elf.h.
20666 (struct grub_dl): Add symtab field.
20667 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20668 GRUB_MODULES_MACHINE_READONLY.
20669 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20670 of the header for read-only modules.
20671 (grub_dl_unload): Free mod->symtab for read-only modules.
20672 * kern/i386/dl.c: Use mod->symtab.
20673 * kern/powerpc/dl.c: Likewise.
20674 * kern/sparc64/dl.c: Likewise.
20675 * kern/x86_64/dl.c: Likewise.
20676
20677 * conf/i386-qemu.rmk: New file.
20678 * kern/i386/qemu/startup.S: Likewise.
20679 * kern/i386/qemu/mmap.c: Likewise.
20680 * boot/i386/qemu/boot.S: Likewise.
20681 * include/grub/i386/qemu/time.h: Likewise.
20682 * include/grub/i386/qemu/serial.h: Likewise.
20683 * include/grub/i386/qemu/kernel.h: Likewise.
20684 * include/grub/i386/qemu/console.h: Likewise.
20685 * include/grub/i386/qemu/boot.h: Likewise.
20686 * include/grub/i386/qemu/init.h: Likewise.
20687 * include/grub/i386/qemu/machine.h: Likewise.
20688 * include/grub/i386/qemu/loader.h: Likewise.
20689 * include/grub/i386/qemu/memory.h: Likewise.
20690
20691 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20692 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20693 [qemu] (pkglib_IMAGES): Add `boot.img'.
20694 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20695 [qemu] (boot_img_FORMAT): New variables.
20696 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20697 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20698 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20699 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20700 [qemu] (kernel_img_FORMAT): New variables.
20701
20702 * configure.ac: Recognise `i386-qemu'.
20703
20704 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20705 (for no compression).
20706 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20707 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20708 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20709 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20710 ifdefs).
20711
97fe384e 207122009-06-27 Pavel Roskin <proski@gnu.org>
20713
20714 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20715 read.
20716 * efiemu/prepare32.c: Likewise.
20717 * efiemu/prepare64.c: Likewise.
20718
c402ab17 207192009-06-26 Pavel Roskin <proski@gnu.org>
20720
20721 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20722 * include/grub/elf.h: Define symbols without "32" or "64" based
20723 on GRUB_TARGET_WORDSIZE.
20724 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20725 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20726 ELF definitions.
20727 * efiemu/loadcore64.c: Likewise.
20728 * loader/i386/bsd32.c: Likewise.
20729 * loader/i386/bsd64.c: Likewise.
20730 * kern/dl.c: Remove own ELF definitions.
20731 * util/i386/efi/grub-mkimage.c: Likewise.
20732
9bbdfd4d 207332009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20734
20735 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20736 segment 0x0 unconditionally, because the reference generated by
20737 GAS is an absolute address.
20738
a42ce6e9 207392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20740
20741 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20742 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20743
c952cf92 207442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20745
20746 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20747 indexes. Check for -f explicitly.
cc3752ad 20748 (search_file): Improve error message.
20749 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 20750
132a0a59 207512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20754 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20755
387a140c 207562009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20757
20758 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20759 * conf/i386-ieee1275.rmk: Likewise.
20760 * conf/i386-coreboot.rmk: Likewise.
20761
20762 * kern/i386/pc/startup.S (grub_stop): Remove function.
20763 * kern/i386/ieee1275/startup.S: Likewise.
20764 * kern/i386/coreboot/startup.S: Likewise.
20765 * kern/i386/misc.S (grub_stop): New function.
20766
41da9665 207672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20768
20769 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20770 * kern/i386/realmode.S (real_to_prot): ... to here.
20771
bf337234 207722009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20773
20774 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20775 with `kernel.img'.
20776 (kernel_elf_SOURCES): Rename to ...
20777 (kernel_img_SOURCES): ... this.
20778 (kernel_elf_HEADERS): Rename to ...
20779 (kernel_img_HEADERS): ... this. Update all users.
20780 (kernel_elf_ASFLAGS): Rename to ...
20781 (kernel_img_ASFLAGS): ... this.
20782 (kernel_elf_CFLAGS): Rename to ...
20783 (kernel_img_CFLAGS): ... this.
20784 (kernel_elf_LDFLAGS): Rename to ...
20785 (kernel_img_LDFLAGS): ... this.
20786 * conf/i386-coreboot.rmk: Likewise.
20787 * conf/powerpc-ieee1275.rmk: Likewise.
20788
20789 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20790 with "kernel.img".
20791
f52196ff 207922009-06-21 Pavel Roskin <proski@gnu.org>
20793
c3cee413 20794 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20795 to match nested functions.
20796 * loader/sparc64/ieee1275/linux.c: Likewise.
20797
f52196ff 20798 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20799
58750afc 208002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20801
20802 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20803 all i386 platforms.
20804
15355c7d 208052009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20806
20807 Fix asm file handling on ELF, and remove workarounds.
20808
20809 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 20810 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 20811 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20812 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20813
3f3ec72b 208142009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20815
20816 Load BSD ELF modules
20817
20818 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20819 and loader/i386/bsd64.c
20820 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20821 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20822 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20823 (grub_freebsd_load_elfmodule32): New declaration
20824 (grub_freebsd_load_elfmoduleobj64): Likewise
20825 (grub_freebsd_load_elf_meta32): Likewise
20826 (grub_freebsd_load_elf_meta64): Likewise
20827 (grub_freebsd_add_meta): Likewise
20828 (grub_freebsd_add_meta_module): Likewise
20829 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20830 (grub_freebsd_add_meta_module): Likewise and move module-specific
20831 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20832 (grub_cmd_freebsd): Add elf-kernel specific parts
20833 based on grub_freebsd_add_meta_module
20834 (grub_cmd_freebsd_module): Add type parsing moved from
20835 grub_freebsd_add_meta_module
20836 (grub_cmd_freebsd_module_elf): New function
20837 (cmd_freebsd_module_elf): New variable
20838 (GRUB_MOD_INIT): Register freebsd_module_elf
20839 * loader/i386/bsd32.c: New file
20840 * loader/i386/bsd64.c: Likewise
20841 * loader/i386/bsdXX.c: Likewise
20842 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20843 (grub_elf64_load): Likewise
20844 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20845 All users updated
20846 (grub_elf64_load_hook_t): Likewise
20847
0db15301 208482009-06-21 Colin Watson <cjwatson@ubuntu.com>
20849
20850 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
20851 variable.
20852 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
20853 don't write a menu entry for recovery mode.
20854
546796c1 208552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20856
20857 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
20858 after it's no longer needed.
20859
cd7310d5 208602009-06-20 Robert Millan <rmh.grub@aybabtu.com>
20861
20862 * include/grub/i386/loader.h (grub_linux_prot_size)
20863 (grub_linux_tmp_addr, grub_linux_real_addr)
20864 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
20865 GRUB_MACHINE_PCBIOS.
20866 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
20867 common grub_util_info() call to ...
20868 (generate_image): ... here.
20869 Fix use of uninitialized memory, comparison of signed with
20870 unsigned integers and memory leak.
20871 Remove bogus module address message.
20872
ab32d3b5 208732009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
20874
20875 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
20876 grub_raid_register
20877 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
20878
024ef597 208792009-06-19 Pavel Roskin <proski@gnu.org>
20880
20881 * configure.ac: Remove stray AC_MSG_CHECKING.
20882
3ac72b51 208832009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 20886
e14cd814 208872009-06-18 Pavel Roskin <proski@gnu.org>
20888
20889 * conf/common.rmk: Add fs_file.mod.
20890 * disk/fs_file.c: New file.
20891 * include/grub/disk.h (enum grub_disk_dev_id): Add
20892 GRUB_DISK_DEVICE_FILE_ID.
20893
26586d98 208942009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 Fix build with Apple's toolchain. Part 2
20897
20898 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
20899 a fake start
20900
26de2bcd 209012009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 Fix build with Apple's toolchain. Part 1
20904
20905 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
20906 for long calls
20907 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 20908 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 20909 Apple's toolchain
20910
09b3490b 209112009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 Fix warnings
20914
20915 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
20916 (decomp_block): initialize ch
20917 use grub_memcpy instead of memcpy
20918
c22a006a 209192009-06-17 Pavel Roskin <proski@gnu.org>
20920
d3638678 20921 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
20922 version, use declarations needed to use vga_text as the startup
20923 console.
20924
c22a006a 20925 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
20926 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
20927 the kernel.
20928 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
20929 and grub_at_keyboard_fini(), it's done on module load and
20930 unload.
20931
05b129e0 209322009-06-17 Felix Zielcke <fzielcke@z-51.de>
20933
20934 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
20935 file can't be found.
20936 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20937
cf24ed9e 209382009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20939
20940 Fix newline handling
20941
20942 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 20943 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 20944 (grub_script_yylex): don't segfault on unterminated script
20945 newline terminates command and variable
20946
74aa8e4b 209472009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 avoid double grub_adjust_range call. Bug reported by David Simner
20950
20951 * kern/disk.c (grub_disk_write): change to raw disk access before
20952 calling disk_read
20953
1bd265f3 209542009-06-17 Colin Watson <cjwatson@ubuntu.com>
20955
20956 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
20957 spaces, for the benefit of help2man.
20958 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20959
a2d08c06 209602009-06-16 Pavel Roskin <proski@gnu.org>
20961
20962 * kern/i386/halt.c: Include grub/machine/init.h.
20963 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
20964
b97bcb19 209652009-06-16 Felix Zielcke <fzielcke@z-51.de>
20966
20967 * util/grub.d/30_os-prober.in: Use ${root} in the generated
20968 drivemap menuentry.
20969
0644f96c 209702009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
20971
20972 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
20973 `echo' command.
20974
3ef17a2e 209752009-06-16 Pavel Roskin <proski@gnu.org>
20976
20977 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
20978 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
20979 save %dx, we only need %dl and we never change it.
20980 * boot/i386/pc/cdboot.S: Don't set the root drive.
20981 * boot/i386/pc/pxeboot.S: Likewise.
20982 * include/grub/i386/pc/boot.h: Remove
20983 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
20984 GRUB_BOOT_MACHINE_DRIVE_CHECK.
20985 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
20986 * kern/i386/pc/init.c (make_install_device): Remove references
20987 to grub_root_drive.
20988 * kern/i386/pc/startup.S: Likewise.
20989 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
20990
693fe637 209912009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
20992
20993 xnu_uuid command
20994
20995 * commands/xnu_uuid.c: new file
20996 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
20997 (xnu_uuid_mod_SOURCES): new variable
20998 (xnu_uuid_mod_CFLAGS): likewise
20999 (xnu_uuid_mod_LDFLAGS): likewise
21000 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21001 * conf/i386-ieee1275.rmk: likewise
21002 * conf/i386-pc.rmk: likewise
21003 * conf/powerpc-ieee1275.rmk: likewise
21004 * conf/sparc64-ieee1275.rmk: likewise
21005 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
21006
c9da87d0 210072009-06-16 Pavel Roskin <proski@gnu.org>
21008
21009 * configure.ac: Avoid '==' in test command, it's not portable.
21010
9c6f4596 210112009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21012
21013 Probe command
21014
21015 * commands/probe.c: new file
21016 * conf/common.rmk (pkglib_MODULES): add probe.mod
21017 (probe_mod_SOURCES): new variable
21018 (probe_mod_CFLAGS): likewise
21019 (probe_mod_LDFLAGS): likewise
21020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21021 * conf/i386-ieee1275.rmk: likewise
21022 * conf/i386-pc.rmk: likewise
21023 * conf/powerpc-ieee1275.rmk: likewise
21024 * conf/sparc64-ieee1275.rmk: likewise
21025
70b7f9fd 210262009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
21027
21028 Fix handling of string like \"hello\" and "a
21029 b"
21030
21031 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
21032 (grub_script_yylex): fix parsing of quoting, escaping and newline
21033
71c79a6b 210342009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
21035
dd74360c 21036 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 21037 handling
dd74360c 21038
0644f96c 210392009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 21040
21041 * util/grub-mkconfig.in: Fix parsing of --output option.
21042
e40893c3 210432009-06-12 Pavel Roskin <proski@gnu.org>
21044
21045 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
21046 genmk.rb don't need to be generated or installed.
21047
3a1acfe2 210482009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21049
21050 * commands/i386/pc/drivemap_int13h.S: add more comments
21051
3a4575d4 210522009-06-11 Pavel Roskin <proski@gnu.org>
21053
0658e928 21054 * Makefile.in (uninstall): Uninstall manuals.
21055
ca0388f0 21056 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
21057 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
21058 and update-grub_lib in two places.
21059 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
21060
e3b27c39 21061 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
21062 a compiler warning.
21063
3a4575d4 21064 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
21065 `entry_lo' to fix variable shadowing.
21066
af1f4f55 210672009-06-11 Christian Franke <franke@computer.org>
21068
21069 * kern/misc.c (__enable_execute_stack): Add missing return type
21070 to prevent gcc warning.
21071
5225e649 210722009-06-11 Felix Zielcke <fzielcke@z-51.de>
21073
21074 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
21075
7d83bd47 210762009-06-11 Pavel Roskin <proski@gnu.org>
21077
c1cb63ba 21078 * Makefile.in: Don't rely on any scripts being executable.
21079 Always use $(SHELL) to run shell scripts.
21080
7d83bd47 21081 * configure.ac: Always define ___main if using -nostdlib. This
21082 fixes tests on Cygwin.
21083
948f48e7 210842009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
21085
21086 UDF fix
21087
7d83bd47 21088 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 21089 is in bytes and not in blocks
7d83bd47 21090
8ada9bc1 210912009-06-11 Pavel Roskin <proski@gnu.org>
21092
21093 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
21094 warning.
21095
25ad2323 210962009-06-11 Felix Zielcke <fzielcke@z-51.de>
21097
21098 * util/grub.d/30_os-prober.in: Fix a comment. Source
21099 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
21100 to set the root device. Place drivemap command in the generated
21101 chain entry.
21102
e65acb0c 211032009-06-11 Pavel Roskin <proski@gnu.org>
21104
21105 * configure.ac: Remove host_m32. Issues with 64-bit utilities
21106 have long been resolved.
21107
f285fe2d 211082009-06-11 Colin Watson <cjwatson@ubuntu.com>
21109
bd47b0b5 21110 * util/grub.d/10_linux.in: Capitalise "Linux".
21111
f285fe2d 21112 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
21113
a0c62e4e 211142009-06-11 Pavel Roskin <proski@gnu.org>
21115
b6783cb2 21116 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
21117 fix a gcc warning and ensure that the function won't ever exit.
21118
dde032e8 21119 * kern/i386/ieee1275/init.c: Add missing prototype for
21120 grub_stop_floppy().
21121
22cd079d 21122 * loader/ieee1275/multiboot2.c [__i386__]: Include
21123 grub/cpu/multiboot.h.
21124
a0c62e4e 21125 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
21126 casts to short - they are not portable and cause warnings. Fix
21127 use of uninitialized values in input_buf. Use ARRAY_SIZE.
21128
63963d17 211292009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
21130
21131 Drivemap fixes
21132
21133 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
21134 new function
21135 (grub_get_root_biosnumber_saved): new variable
21136 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
21137 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 21138 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 21139 %dx after the call if necessary
21140 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21141 (boot_mod_SOURCES): remove
21142 (boot_mod_CFLAGS): remove
21143 (boot_mod_LDFLAGS): remove
21144 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21145 (boot_mod_SOURCES): new variable
21146 (boot_mod_CFLAGS): likewise
21147 (boot_mod_LDFLAGS): likewise
21148 * conf/i386-efi.rmk: likewise
21149 * conf/i386-ieee1275.rmk: likewise
21150 * conf/i386-pc.rmk: likewise
21151 * conf/powerpc-ieee1275.rmk: likewise
21152 * conf/sparc64-ieee1275.rmk: likewise
21153 * conf/x86_64-efi.rmk: likewise
21154 * include/grub/i386/pc/biosnum.h: new file
21155 * lib/i386/pc/biosnum.c: likewise
21156 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21157 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21158 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21159
33abf7ae 211602009-06-10 Pavel Roskin <proski@gnu.org>
21161
5ac35b35 21162 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21163 Use separate variables. Read only the file size at the end, but
21164 not the checksum that we don't use.
21165
5c5215d5 21166 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21167 Adjust all callers.
21168
27d5fef7 21169 * kern/ieee1275/openfw.c: Remove libc includes.
21170 * kern/ieee1275/cmain.c: Likewise.
21171 * include/grub/ieee1275/ieee1275.h: Likewise.
21172
33abf7ae 21173 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21174 compiler warnings.
21175
19d50c2b 211762009-06-10 Felix Zielcke <fzielcke@z-51.de>
21177
21178 * Makefile.in: Remove all trailing whitespace.
21179 * conf/i386-pc.rmk: Likewise.
21180 * conf/powerpc-ieee1275.rmk: Likewise.
21181 * conf/sparc64-ieee1275.rmk: Likewise.
21182 * docs/grub.texi: Likewise.
21183 * docs/texinfo.tex: Likewise.
21184 * disk/fs_uuid.c: Likewise.
21185 * disk/lvm.c: Likewise.
21186 * disk/scsi.c: Likewise.
21187 * disk/ata.c: Likewise.
21188 * disk/ieee1275/ofdisk.c: Likewise.
21189 * disk/i386/pc/biosdisk.c: Likewise.
21190 * disk/host.c: Likewise.
21191 * disk/raid.c: Likewise.
21192 * disk/efi/efidisk.c: Likewise.
21193 * disk/usbms.c: Likewise.
21194 * disk/memdisk.c: Likewise.
21195 * disk/loopback.c: Likewise.
21196 * kern/powerpc/dl.c: Likewise.
21197 * kern/device.c: Likewise.
21198 * kern/dl.c: Likewise.
21199 * kern/sparc64/dl.c: Likewise.
21200 * kern/ieee1275/ieee1275.c: Likewise.
21201 * kern/term.c: Likewise.
21202 * kern/fs.c: Likewise.
21203 * kern/i386/dl.c: Likewise.
21204 * kern/i386/pc/startup.S: Likewise.
21205 * kern/i386/pc/init.c: Likewise.
21206 * kern/i386/pc/mmap.c: Likewise.
21207 * kern/i386/pc/lzo1x.S: Likewise.
21208 * kern/i386/ieee1275/init.c: Likewise.
21209 * kern/i386/realmode.S: Likewise.
21210 * kern/i386/tsc.c: Likewise.
21211 * kern/partition.c: Likewise.
21212 * kern/corecmd.c: Likewise.
21213 * kern/file.c: Likewise.
21214 * kern/efi/efi.c: Likewise.
21215 * kern/efi/init.c: Likewise.
21216 * kern/efi/mm.c: Likewise.
21217 * kern/main.c: Likewise.
21218 * kern/err.c: Likewise.
21219 * kern/env.c: Likewise.
21220 * kern/disk.c: Likewise.
21221 * kern/generic/millisleep.c: Likewise.
21222 * kern/generic/rtc_get_time_ms.c: Likewise.
21223 * kern/misc.c: Likewise.
21224 * kern/parser.c: Likewise.
21225 * genmk.rb: Likewise.
21226 * configure.ac: Likewise.
21227 * boot/i386/pc/diskboot.S: Likewise.
21228 * boot/i386/pc/pxeboot.S: Likewise.
21229 * boot/i386/pc/boot.S: Likewise.
21230 * boot/i386/pc/lnxboot.S: Likewise.
21231 * boot/i386/pc/cdboot.S: Likewise.
21232 * parttool/pcpart.c: Likewise.
21233 * video/readers/tga.c: Likewise.
21234 * video/video.c: Likewise.
21235 * video/bitmap.c: Likewise.
21236 * lib/envblk.c: Likewise.
21237 * lib/i386/setjmp.S: Likewise.
21238 * fs/xfs.c: Likewise.
21239 * fs/afs.c: Likewise.
21240 * fs/fat.c: Likewise.
21241 * fs/ntfs.c: Likewise.
21242 * fs/udf.c: Likewise.
21243 * fs/affs.c: Likewise.
21244 * fs/iso9660.c: Likewise.
21245 * fs/hfs.c: Likewise.
21246 * fs/fshelp.c: Likewise.
21247 * fs/ext2.c: Likewise.
21248 * fs/jfs.c: Likewise.
21249 * fs/reiserfs.c: Likewise.
21250 * fs/hfsplus.c: Likewise.
21251 * fs/minix.c: Likewise.
21252 * fs/cpio.c: Likewise.
21253 * fs/sfs.c: Likewise.
21254 * fs/ufs.c: Likewise.
21255 * efiemu/prepare.c: Likewise.
21256 * efiemu/loadcore_common.c: Likewise.
21257 * efiemu/runtime/efiemu.sh: Likewise.
21258 * efiemu/runtime/efiemu.S: Likewise.
21259 * efiemu/runtime/efiemu.c: Likewise.
21260 * efiemu/pnvram.c: Likewise.
21261 * efiemu/main.c: Likewise.
21262 * efiemu/i386/pc/cfgtables.c: Likewise.
21263 * efiemu/i386/loadcore64.c: Likewise.
21264 * efiemu/i386/loadcore32.c: Likewise.
21265 * efiemu/loadcore.c: Likewise.
21266 * efiemu/symbols.c: Likewise.
21267 * efiemu/mm.c: Likewise.
21268 * include/grub/autoefi.h: Likewise.
21269 * include/grub/datetime.h: Likewise.
21270 * include/grub/term.h: Likewise.
21271 * include/grub/hfs.h: Likewise.
21272 * include/grub/lvm.h: Likewise.
21273 * include/grub/i386/tsc.h: Likewise.
21274 * include/grub/i386/linux.h: Likewise.
21275 * include/grub/i386/xnu.h: Likewise.
21276 * include/grub/i386/efiemu.h: Likewise.
21277 * include/grub/i386/pc/biosdisk.h: Likewise.
21278 * include/grub/i386/pc/memory.h: Likewise.
21279 * include/grub/i386/pc/vbe.h: Likewise.
21280 * include/grub/parttool.h: Likewise.
21281 * include/grub/video.h: Likewise.
21282 * include/grub/memory.h: Likewise.
21283 * include/grub/fs.h: Likewise.
21284 * include/grub/partition.h: Likewise.
21285 * include/grub/xnu.h: Likewise.
21286 * include/grub/efi/api.h: Likewise.
21287 * include/grub/efi/pe32.h: Likewise.
21288 * include/grub/efi/memory.h: Likewise.
21289 * include/grub/multiboot.h: Likewise.
21290 * include/grub/usbdesc.h: Likewise.
21291 * include/grub/multiboot2.h: Likewise.
21292 * include/grub/acpi.h: Likewise.
21293 * include/grub/efiemu/efiemu.h: Likewise.
21294 * include/grub/disk.h: Likewise.
21295 * include/grub/ieee1275/ieee1275.h: Likewise.
21296 * include/grub/net.h: Likewise.
21297 * include/grub/machoload.h: Likewise.
21298 * include/grub/macho.h: Likewise.
21299 * include/multiboot.h: Likewise.
21300 * genmoddep.awk: Likewise.
21301 * normal/main.c: Likewise.
21302 * normal/menu_entry.c: Likewise.
21303 * normal/menu_viewer.c: Likewise.
21304 * normal/completion.c: Likewise.
21305 * normal/cmdline.c: Likewise.
21306 * normal/misc.c: Likewise.
21307 * normal/datetime.c: Likewise.
21308 * bus/usb/usbtrans.c: Likewise.
21309 * bus/usb/ohci.c: Likewise.
21310 * bus/usb/uhci.c: Likewise.
21311 * bus/usb/usb.c: Likewise.
21312 * mmap/efi/mmap.c: Likewise.
21313 * mmap/i386/pc/mmap_helper.S: Likewise.
21314 * mmap/i386/pc/mmap.c: Likewise.
21315 * mmap/i386/mmap.c: Likewise.
21316 * mmap/i386/uppermem.c: Likewise.
21317 * mmap/mmap.c: Likewise.
21318 * commands/acpi.c: Likewise.
21319 * commands/echo.c: Likewise.
21320 * commands/blocklist.c: Likewise.
21321 * commands/loadenv.c: Likewise.
21322 * commands/usbtest.c: Likewise.
21323 * commands/boot.c: Likewise.
21324 * commands/parttool.c: Likewise.
21325 * commands/search.c: Likewise.
21326 * commands/cat.c: Likewise.
21327 * commands/i386/pc/play.c: Likewise.
21328 * commands/i386/pc/drivemap.c: Likewise.
21329 * commands/i386/pc/vbeinfo.c: Likewise.
21330 * commands/i386/pc/acpi.c: Likewise.
21331 * commands/i386/pc/vbetest.c: Likewise.
21332 * commands/ls.c: Likewise.
21333 * commands/cmp.c: Likewise.
21334 * commands/test.c: Likewise.
21335 * commands/efi/acpi.c: Likewise.
21336 * commands/gptsync.c: Likewise.
21337 * commands/help.c: Likewise.
21338 * partmap/amiga.c: Likewise.
21339 * partmap/apple.c: Likewise.
21340 * partmap/acorn.c: Likewise.
21341 * partmap/pc.c: Likewise.
21342 * partmap/sun.c: Likewise.
21343 * partmap/gpt.c: Likewise.
21344 * script/sh/lexer.c: Likewise.
21345 * script/sh/function.c: Likewise.
21346 * font/font.c: Likewise.
21347 * font/font_cmd.c: Likewise.
21348 * loader/powerpc/ieee1275/linux.c: Likewise.
21349 * loader/efi/chainloader.c: Likewise.
21350 * loader/multiboot_loader.c: Likewise.
21351 * loader/macho.c: Likewise.
21352 * loader/i386/multiboot.c: Likewise.
21353 * loader/i386/linux.c: Likewise.
21354 * loader/i386/pc/linux.c: Likewise.
21355 * loader/i386/pc/multiboot2.c: Likewise.
21356 * loader/i386/pc/chainloader.c: Likewise.
21357 * loader/i386/pc/xnu.c: Likewise.
21358 * loader/i386/bsd_trampoline.S: Likewise.
21359 * loader/i386/efi/linux.c: Likewise.
21360 * loader/i386/multiboot_elfxx.c: Likewise.
21361 * loader/i386/bsd_helper.S: Likewise.
21362 * loader/i386/bsd.c: Likewise.
21363 * loader/i386/linux_trampoline.S: Likewise.
21364 * loader/i386/xnu_helper.S: Likewise.
21365 * loader/i386/xnu.c: Likewise.
21366 * loader/i386/bsd_pagetable.c: Likewise.
21367 * loader/i386/multiboot_helper.S: Likewise.
21368 * loader/xnu.c: Likewise.
21369 * loader/xnu_resume.c: Likewise.
21370 * io/gzio.c: Likewise.
21371 * term/efi/console.c: Likewise.
21372 * term/terminfo.c: Likewise.
21373 * term/ieee1275/ofconsole.c: Likewise.
21374 * term/i386/pc/serial.c: Likewise.
21375 * term/i386/pc/vesafb.c: Likewise.
21376 * term/i386/pc/vga.c: Likewise.
21377 * term/usb_keyboard.c: Likewise.
21378 * term/gfxterm.c: Likewise.
21379 * aclocal.m4: Likewise.
21380 * util/lvm.c: Likewise.
21381 * util/grub.d/30_os-prober.in: Likewise.
21382 * util/grub.d/10_hurd.in: Likewise.
21383 * util/console.c: Likewise.
21384 * util/grub-macho2img.c: Likewise.
21385 * util/grub-probe.c: Likewise.
21386 * util/hostfs.c: Likewise.
21387 * util/i386/pc/grub-mkimage.c: Likewise.
21388 * util/i386/pc/grub-setup.c: Likewise.
21389 * util/i386/efi/grub-mkimage.c: Likewise.
21390 * util/grub-mkconfig.in: Likewise.
21391 * util/raid.c: Likewise.
21392 * util/resolve.c: Likewise.
21393 * util/grub-mkdevicemap.c: Likewise.
21394 * util/grub-emu.c: Likewise.
21395 * util/getroot.c: Likewise.
21396 * util/hostdisk.c: Likewise.
21397 * util/usb.c: Likewise.
21398 * util/grub-editenv.c: Likewise.
21399 * util/misc.c: Likewise.
21400
d2d49665 214012009-06-10 Felix Zielcke <fzielcke@z-51.de>
21402
21403 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21404 `genparttoollist.sh'.
21405 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21406 Add `*.sh' to the list find searches for and change `mdate.sh'
21407 to `mdate-sh'.
21408
fe052e37 214092009-06-10 Pavel Roskin <proski@gnu.org>
21410
2763ac18 21411 * include/grub/multiboot2.h: Provide compatibility defines for
21412 multiboot2.h.
21413 * include/multiboot2.h: Include stdint.h only if needed, using
21414 angle brackets.
21415 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21416 grub/multiboot2.h.
21417 * loader/ieee1275/multiboot2.c: Likewise.
21418 * loader/multiboot2.c: Likewise.
21419 * loader/multiboot_loader.c: Likewise.
21420
437e6adc 21421 * configure.ac: Use -nostdlib when probing for the target. It
21422 should not be required to have libc for the target.
21423
06a6836c 21424 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21425 they fail without libc headers for the target.
21426 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21427 exports.
21428 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21429 preprocessor conditionals.
21430
fe052e37 21431 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21432 build system doesn't need to be aware of the tar.c internals.
21433
afd22553 214342009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21435
afd22553 21436 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21437
6b787c4f 214382009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21439
21440 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21441 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21442
214432009-06-09 Felix Zielcke <fzielcke@z-51.de>
21444
21445 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21446 aren't available if ata.mod gets used.
6b787c4f 21447
473d1e45 214482009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21449
473d1e45 21450 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21451 initialising controller.
473d1e45 21452 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21453
255a27d4 214542009-06-08 Felix Zielcke <fzielcke@z-51.de>
21455
21456 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21457 to choose between ata and biosdisk module on i386-pc.
21458
473d1e45 214592009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21460
d55842d8 21461 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21462 Subclass and Programming Interface fields in terms of the 3 byte
21463 Class Code register.
21464 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21465
fa5db0b1 21466 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21467 interface is OHCI. Add grub_dprintf for symmetry with
21468 bus/usb/uhci.c.
21469 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21470 interface is UHCI. Add interf variable for programming
21471 interface. Print interface with class/subclass.
21472
c0947beb 21473 * bus/usb/ohci.c: Set interf with correct field.
21474
69da8877 21475 * bus/usb/uhci.c: Remove unneeded doubled lines.
21476 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21477 Remove whitespace inside comment.
21478
9e172e30 214792009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21480
21481 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21482 as fallback an equivalent option without depth.
21483
de65ee2b 214842009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21485
21486 Not fail if unable to retrieve C/H/S on LBA disks
21487
473d1e45 21488 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21489 if unable to retrieve C/H/S on LBA disks
21490
b57ea2c9 214912009-06-08 Pavel Roskin <proski@gnu.org>
21492
21493 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21494 about aliasing.
21495
af361263 214962009-06-08 Felix Zielcke <fzielcke@z-51.de>
21497
21498 * Makefile.in (uninstall): Remove all $lib_DATA files.
21499
4c9ec6b3 215002009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21501
21502 Bugfix: install on partitionless device
21503
21504 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21505 is a whole disk
21506
e76fc924 215072009-06-08 Felix Zielcke <fzielcke@z-51.de>
21508
21509 * Makefile.in (uninstall): Remove all $include_DATA files.
21510
ba5a0d05 215112009-06-08 Felix Zielcke <fzielcke@z-51.de>
21512
21513 * commands/true.c: New file. Implement the true and false commands.
21514 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21515 (true_mod_SOURCES): New variable.
21516 (true_mod_CFLAGS): Likewise.
21517 (true_mod_LDFLAGS): Likewise.
21518
c8048e32 215192009-06-05 Colin D Bennett <colin@gibibit.com>
21520
21521 Optimized font character lookup using binary search instead of linear
21522 search. Fonts now are required to have the character index ordered by
21523 code point.
21524
21525 * font/font.c (load_font_index): Verify that fonts have ordered
21526 character indices.
21527 (find_glyph): Use binary search instead of linear search to find a
21528 character in a font.
21529
408305be 215302009-06-05 Michael Scherer <misc@mandriva.org>
21531
21532 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21533 uses case sensitive btree.
21534 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21535 only for case insensitive filesystems.
21536
8ee1e0d9 215372009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21538
21539 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21540 * conf/common.rmk (search_mod_CFLAGS): likewise
21541
a9966eb1 215422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21543
473d1e45 21544 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21545 compensate a compiler bug
21546
9e7100fb 215472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21548
473d1e45 21549 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21550 instead of '\b'
473d1e45 21551
ede21d71 215522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21553
21554 Definitions for creating asm symbols with Apple's CC
21555
21556 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21557 [APPLE_CC] (VARIABLE): likewise
21558
9dbf7653 215592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21560
21561 Disable lnxboot.img when compiled
21562 with Apple's CC
21563
21564 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21565 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21566 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21567 [! APPLE_CC] (CODE_LENG): skip
21568 [! APPLE_CC] (setup_sects): likewise
21569 [! APPLE_CC]: skip filling
473d1e45 21570
e93cdc3d 215712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 Address in trampolines based on 32-bit registers when compiled
21574 with Apple's CC
21575
473d1e45 21576 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21577 for addresses
21578 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21579
6c688477 215802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21581
21582 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21583
21584 * kern/misc.c [APPLE_CC] (memcpy): new function
21585 [APPLE_CC] (memmove): likewise
21586 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21587 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21588 (memset): likewise
21589 (abort): likewise
21590 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21591 APPLE_CC are defined
21592 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21593 (grub_assert_fail): make prototype conditional
21594
e37ffc5c 215952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21598
473d1e45 21599 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21600 grub-macho2img
e37ffc5c 21601 (CLEANFILES): add grub-macho2img
21602 (grub_macho2img_SOURCES): new variable
21603 * kern/i386/pc/startup.S (bss_start): new variable
21604 (bss_end): likewise
21605 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21606 * util/grub-macho2img.c: new file
21607
cf00df31 216082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21609
21610 Use objconv when compiling with Apple's CC
21611
21612 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21613 (efiemu64.o): likewise
21614 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21615 when compiling with Apple's CC
21616 (efiemu64_s.o): likewise
21617 * configure.ac: check for objconv when compiling with Apple's CC
21618 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21619
d119a20c 216202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21621
21622 Define segment as well as section when compiling with
21623 Apple's CC
21624
21625 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21626 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21627 (efiemu_convert_pointer): likewise
21628 (efiemu_set_virtual_address_map): likewise
21629 (efiemu_convert_pointer): likewise
21630 (efiemu_getcrc32): likewise
21631 (init_crc32_table): likewise
21632 (reflect): likewise
21633 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21634 (GRUB_MOD_DEP): likewise
473d1e45 21635
c8600122 216362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21637
21638 Allow a compilation without -mcmodel=large
21639
21640 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21641 when compiled without -mcmodel=large
473d1e45 21642 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 21643 without -mcmodel=large
473d1e45 21644 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 21645 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 21646
e8df1d4e 216472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21648
21649 Remove nested functions in efiemu core
21650
21651 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 21652
cc6c3ac1 216532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21654
21655 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21656
21657 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21658 temporary storage
473d1e45 21659 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21660 using Apple's CC
cc6c3ac1 21661 (grub_cpu_is_tsc_supported): likewise
21662 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 21663
3e325901 216642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21665
21666 Absolute addressing through constant with Apple's cc
21667
21668 * kern/i386/pc/startup.S: Define necessary constants
21669 and address through it when using ABS with Apple's CC
21670 * boot/i386/pc/diskboot.S: likewise
21671 * boot/i386/pc/boot.S: likewise
21672 * boot/i386/pc/lnxboot.S: likewise
21673 * boot/i386/pc/cdboot.S: likewise
21674 * mmap/i386/pc/mmap_helper.S: likewise
21675 * commands/i386/pc/drivemap_int13h.S: likewise
21676
2b167a72 216772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 Check if compiler is apple cc
21680
21681 * Makefile.in (ASFLAGS): new variable
21682 (TARGET_ASFLAGS): likewise
21683 (TARGET_MODULE_FORMAT): likewise
21684 (TARGET_APPLE_CC): likewise
21685 (OBJCONV): likewise
21686 (TARGET_IMG_CFLAGS): likewise
21687 (TARGET_CPPFLAGS): add includedir
21688 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21689 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21690 Check for linker script only if compiler isn't Apple's CC
21691 (TARGET_MODULE_FORMAT): set
21692 (TARGET_APPLE_CC): likewise
21693 (TARGET_ASFLAGS): likewise
21694 (ASFLAGS): likewise
21695 Check for objcopy only if compiler isn't Apple's CC
21696 Check for BSS symbol only if compiler isn't Apple's CC
21697 * genmk.rb: adapt nm options if we use Apple's utils
21698 * aclocal.m4 (grub_apple_cc): new test
21699 (grub_apple_target_cc): likewise
473d1e45 21700
fb14123e 217012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21702
21703 Simplify sed expressions and improve awk
21704
21705 * Makefile.in (install-local): simplify sed expression
21706 * gencmdlist.sh: likewise
21707 * genmoddep.awk: avoid adding module as a dependency of itself
21708
5b889789 217092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 Add missing start symbols
21712
21713 * boot/i386/pc/boot.S: add start
fb14123e 21714 * boot/i386/pc/pxeboot.S: likewise
473d1e45 21715
fd2bf2e3 217162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21717
21718 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 21719
21720 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 21721 (relocate_addresses): consider both r_addend and value at offset
21722 (make_mods_section): zerofill modinfo and header
21723 (convert_elf): write prefix here
473d1e45 21724
5389763d 217252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21726
21727 Use .asciz instead of .string
21728
21729 * i386/pc/diskboot.S: use .asciz instead of .string
21730 * i386/pc/boot.S: likewise
21731 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21732 (GRUB_MOD_NAME): likewise
473d1e45 21733
3eb5ed4e 217342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 gfxpayload support
21737
21738 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21739 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21740 (grub_video_setup): remove
21741 (grub_video_set_mode): new prototype
21742 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21743 (vid_mode): remove
21744 (linux_vesafb_res): compile only on PCBIOS
21745 (grub_linux_boot): support gfxpayload
21746 * loader/i386/pc/xnu.c (video_hook): new function
21747 (grub_xnu_set_video): support gfxpayload
21748 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21749 (DEFAULT_VIDEO_HEIGHT): likewise
21750 (DEFAULT_VIDEO_FLAGS): likewise
21751 (DEFAULT_VIDEO_MODE): new definition
21752 (video_hook): new function
21753 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 21754 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 21755 loading xnu
21756 * video/video.c (grub_video_setup): removed
473d1e45 21757 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 21758 grub_video_setup
21759
4b0e1143 217602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21761
21762 Avoid calling biosdisk in drivemap
21763
21764 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21765 (revparse_biosdisk): likewise
21766 (list_mappings): derive name from id directly
21767 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 21768
fda6cb98 217692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21770
21771 Script fixes
21772
21773 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21774 (grub_lexer_param): add tokenonhold
21775 (grub_script_create_cmdline): remove cmdline. All callers updated
21776 (grub_script_function_create): make functionname
21777 grub_script_arg. All callers updated
21778 (grub_script_execute_argument_to_string): new prototype
21779 * kern/parser.c (state_transitions): reorder
21780 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 21781 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 21782 make global
21783 (grub_script_execute_cmdline): use new format
21784 * script/sh/function.c (grub_script_function_create): make functionname
21785 grub_script_arg. All callers updated
473d1e45 21786 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 21787 (grub_script_yylex): remove
21788 (grub_script_yylex2): renamed to ...
21789 (grub_script_yylex): ...renamed
21790 parse the expressions like a${b}c
21791 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21792 (GRUB_PARSER_TOKEN_VAR): remove
21793 (GRUB_PARSER_TOKEN_NAME): likewise
21794 ("if"): declare as typeless
21795 ("while"): likewise
21796 ("function"): likewise
21797 ("else"): likewise
21798 ("then"): likewise
21799 ("fi"): likewise
21800 (text): remove
21801 (argument): likewise
21802 (script): accept empty scripts and make exit on error
21803 (arguments): use GRUB_PARSER_TOKEN_ARG
21804 (function): likewise
21805 (command): move error handling to script
21806 (menuentry): move grub_script_lexer_ref before
473d1e45 21807 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 21808 argument. All callers updated
21809
f4448a07 218102009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21811
21812 Prevent GRUB from probing floppies during boot.
21813
21814 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21815 * commands/search.c (options): Add --no-floppy.
21816 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21817 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21818 --no-floppy when searching for UUIDs.
21819
2bf5885a 218202009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21821
21822 Simplify the code duplication in commands/search.c.
21823
21824 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21825 (search_fs): ... this. Update all users.
21826
f6fd460a 218272009-06-03 Felix Zielcke <fzielcke@z-51.de>
21828
21829 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21830
cbb3c83e 218312009-05-28 Pavel Roskin <proski@gnu.org>
21832
57788cfd 21833 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21834 Remove the original symlink explicitly.
21835
cbb3c83e 21836 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21837 just one slash. That's how grub_fshelp_find_file() does it.
21838
cd0d5e30 218392009-05-26 Pavel Roskin <proski@gnu.org>
21840
f0f8bbe2 21841 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21842 to `str'.
21843
cd0d5e30 21844 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21845 possibly unused.
21846
8c2cab51 218472009-05-25 Christian Franke <franke@computer.org>
21848
21849 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
21850 register.
21851 (grub_atapi_identify): Add wait after drive select.
21852 (grub_ata_identify): Do more strict status register check before
21853 calling grub_atapi_identify (). Suppress error message if status
21854 register is 0x00 after command failure. Add status register
21855 check after PIO read to avoid bogus identify due to stuck DRQ.
21856 Thanks to Pavel Roskin for testing.
21857 (grub_device_initialize): Remove unsafe status register check.
21858 Thanks to 'phcoder' for problem report and patch.
21859 Prevent sign extension in debug message.
21860
230c0ad6 218612009-05-23 Colin D Bennett <colin@gibibit.com>
21862
21863 Cleaned up `include/grub/normal.h'. Grouped prototypes by
21864 definition file, and functions defined in `normal/menu.c' have had
21865 their prototypes moved to `include/grub/menu.h' for consistency.
21866
21867 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
21868 from normal.h.
21869 (grub_menu_get_entry): Likewise.
21870 (grub_menu_get_timeout): Likewise.
21871 (grub_menu_set_timeout): Likewise.
21872 (grub_menu_execute_entry): Likewise.
21873 (grub_menu_execute_with_fallback): Likewise.
21874 (grub_menu_entry_run): Likewise.
21875
21876 * include/grub/normal.h: Re-ordered and grouped function
21877 prototypes by file that the function is defined in.
21878 (grub_menu_execute_callback): Removed; moved to menu.h.
21879 (grub_menu_get_entry): Likewise.
21880 (grub_menu_get_timeout): Likewise.
21881 (grub_menu_set_timeout): Likewise.
21882 (grub_menu_execute_entry): Likewise.
21883 (grub_menu_execute_with_fallback): Likewise.
21884 (grub_menu_entry_run): Likewise.
21885 (grub_menu_addentry): Renamed from this ...
21886 (grub_normal_add_menu_entry): ... to this.
21887
21888 * normal/main.c (grub_menu_addentry): Renamed from this ...
21889 (grub_normal_add_menu_entry): ... to this.
21890
21891 * script/sh/execute.c (grub_script_execute_menuentry): Update
21892 reference to renamed grub_menu_addentry function.
21893
861f03a5 218942009-05-23 Felix Zielcke <fzielcke@z-51.de>
21895
21896 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
21897
96b1619a 218982009-05-22 Pavel Roskin <proski@gnu.org>
21899
bf6a5fb2 21900 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
21901 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
21902 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
21903 compiling for the i386 targets, but not for the utilities.
21904
96b1619a 21905 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
21906 to grub_uint8_t.
21907 (grub_root_drive): Likewise.
21908 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
21909 remove alignment.
21910 (grub_root_drive): Change size to byte.
21911 (grub_start_addr): Remove.
21912 (grub_end_addr): Likewise.
21913 (grub_apm_bios_info): Likewise.
21914
b729776b 219152009-05-21 Felix Zielcke <fzielcke@z-51.de>
21916
21917 * normal/i386: Remove.
21918 * normal/powerpc: Likewise.
21919 * normal/sparc64: Likewise.
21920 * normal/x86_64: Likewise.
21921
0a15ce80 219222009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
21923
21924 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 21925 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 21926 * loader/i386/xnu_helper.S: Likewise
d6da58e6 21927
33db9015 219282009-05-18 Colin D Bennett <colin@gibibit.com>
21929
d6da58e6 21930 Display error messages when parsing a Lua statement fails.
21931 Previously, executing a syntactically invalid statement like
21932 ")foo" or "bar;" would silently fail.
33db9015 21933
21934 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 21935 (grub_lua_parse_line): Improved reporting of Lua parser and
21936 execution errors.
33db9015 21937
46422c89 219382009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21939
21940 Remove -Werror which causes build to fail on some systems
21941
21942 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
21943 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
21944 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 21945
22f53a96 219462009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
21947
21948 trampoline for linux on 64-bit platform
21949
18f547ad 21950 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
21951 loader/i386/efi/linux_trampoline.S
21952 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 21953 declaration
d6da58e6 21954 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
21955 here
22f53a96 21956 * loader/i386/linux_trampoline.S: moved here
d6da58e6 21957 * loader/i386/efi/linux.c (allocate_pages): reserve space for
21958 trampoline
22f53a96 21959 (jumpvector): removed
21960 (grub_linux_trampoline_start): new declaration
21961 (grub_linux_trampoline_end): likewise
21962 (grub_linux_boot): use trampoline when on 64-bit platform
21963 * loader/i386/linux.c: likewise
21964
cb5a0f40 219652009-05-16 Pavel Roskin <proski@gnu.org>
21966
21967 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
21968 const to avoid a warning.
21969 (grub_lua_setenv): Likewise.
21970 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
21971 lmsg to fix a warning.
21972
334f2c28 219732009-05-16 Felix Zielcke <fzielcke@z-51.de>
21974
21975 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 21976 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21977 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
21978 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21979 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21980 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
21981 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
21982 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 21983
59e5d3ec 219842009-05-16 Felix Zielcke <fzielcke@z-51.de>
21985
21986 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
21987
9d87a1ba 219882009-05-16 Bean <bean123ch@gmail.com>
21989
21990 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
21991 (lua_mod_SOURCES): New variable.
21992 (lua_mod_CFLAGS): Likewise.
21993 (lua_mod_LDFLAGS): Likewise.
21994
21995 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
21996 (setjmp_mod_SOURCES): New variable.
21997 (setjmp_mod_CFLAGS): Likewise.
21998 (setjmp_LDFLAGS): Likewise.
21999
22000 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
22001 (setjmp_mod_SOURCES): New variable.
22002 (setjmp_mod_CFLAGS): Likewise.
22003 (setjmp_LDFLAGS): Likewise.
22004
22005 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22006 (setjmp_mod_SOURCES): New variable.
22007 (setjmp_mod_CFLAGS): Likewise.
22008 (setjmp_LDFLAGS): Likewise.
22009
22010 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22011 (setjmp_mod_SOURCES): New variable.
22012 (setjmp_mod_CFLAGS): Likewise.
22013 (setjmp_LDFLAGS): Likewise.
22014
22015 * normal/i386/setjmp.S: Moved from here ...
22016 * lib/i386/setjmp.S: ... Moved here
22017 * normal/x86_64/setjmp.S: Moved from here ...
22018 * lib/x86_64/setjmp.S: ... Moved here
22019 * normal/powerpc/setjmp.S: Moved from here ...
22020 * lib/powerpc/setjmp.S: ... Moved here
22021 * normal/sparc64/setjmp.S: Moved from here ...
22022 * lib/sparc64/setjmp.S: ... Moved here
22023
22024 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
22025 returns_twice in mingw.
22026
22027 * script/lua/grub_lib.c: New file.
22028 * script/lua/grub_lib.h: Likewise.
22029 * script/lua/grub_lua.h: Likewise.
22030 * script/lua/grub_main.c: Likewise.
22031 * script/lua/lapi.c: Likewise.
22032 * script/lua/lapi.h: Likewise.
22033 * script/lua/lauxlib.c: Likewise.
22034 * script/lua/lauxlib.h: Likewise.
22035 * script/lua/lbaselib.c: Likewise.
22036 * script/lua/lcode.c: Likewise.
22037 * script/lua/lcode.h: Likewise.
22038 * script/lua/ldblib.c: Likewise.
22039 * script/lua/ldebug.c: Likewise.
22040 * script/lua/ldebug.h: Likewise.
22041 * script/lua/ldo.c: Likewise.
22042 * script/lua/ldo.h: Likewise.
22043 * script/lua/ldump.c: Likewise.
22044 * script/lua/lfunc.c: Likewise.
22045 * script/lua/lfunc.h: Likewise.
22046 * script/lua/lgc.c: Likewise.
22047 * script/lua/lgc.h: Likewise.
22048 * script/lua/linit.c: Likewise.
22049 * script/lua/liolib.c: Likewise.
22050 * script/lua/llex.c: Likewise.
22051 * script/lua/llex.h: Likewise.
22052 * script/lua/llimits.h: Likewise.
22053 * script/lua/lmathlib.c: Likewise.
22054 * script/lua/lmem.c: Likewise.
22055 * script/lua/lmem.h: Likewise.
22056 * script/lua/loadlib.c: Likewise.
22057 * script/lua/lobject.c: Likewise.
22058 * script/lua/lobject.h: Likewise.
22059 * script/lua/lopcodes.c: Likewise.
22060 * script/lua/lopcodes.h: Likewise.
22061 * script/lua/loslib.c: Likewise.
22062 * script/lua/lparser.c: Likewise.
22063 * script/lua/lparser.h: Likewise.
22064 * script/lua/lstate.c: Likewise.
22065 * script/lua/lstate.h: Likewise.
22066 * script/lua/lstring.c: Likewise.
22067 * script/lua/lstring.h: Likewise.
22068 * script/lua/lstrlib.c: Likewise.
22069 * script/lua/ltable.c: Likewise.
22070 * script/lua/ltable.h: Likewise.
22071 * script/lua/ltablib.c: Likewise.
22072 * script/lua/ltm.c: Likewise.
22073 * script/lua/ltm.h: Likewise.
22074 * script/lua/lua.h: Likewise.
22075 * script/lua/luaconf.h: Likewise.
22076 * script/lua/lualib.h: Likewise.
22077 * script/lua/lundump.c: Likewise.
22078 * script/lua/lundump.h: Likewise.
22079 * script/lua/lvm.c: Likewise.
22080 * script/lua/lvm.h: Likewise.
22081 * script/lua/lzio.c: Likewise.
22082 * script/lua/lzio.h: Likewise.
22083
5e898c9d 220842009-05-16 Bean <bean123ch@gmail.com>
22085
22086 * include/grub/kernel.h (grub_module_header_types): Add type
22087 OBJ_TYPE_CONFIG.
22088
22089 * kern/main.c (grub_load_config): New function.
22090 (grub_main): Call grub_load_config to read boot config.
22091
22092 * grub-mkimage (generate_image): New parameter config_path.
22093 (options): New option --config.
22094 (main): Parse --config option, and pass it to generate_image.
22095
cf353a47 220962009-05-14 Christian Franke <franke@computer.org>
22097
22098 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
22099 This fixes build on Cygwin.
22100
3834887f 221012009-05-14 Pavel Roskin <proski@gnu.org>
22102
22103 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
22104 jump. This saves two bytes, so the typical case of 2 swapped
22105 drives would fit 32 bytes.
22106
8090fc01 221072009-05-13 Pavel Roskin <proski@gnu.org>
22108
ac963883 22109 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
22110 grub_uint32_t to avoid a warning.
22111
8090fc01 22112 * loader/i386/linux.c (allocate_pages): When assigning
22113 real_mode_mem, cast through grub_size_t to fix a warning. The
22114 code already makes sure that the value would fit a pointer.
22115 (grub_linux_setup_video): Cast render_target->data to
22116 grub_size_t to fix a warning.
22117
18f547ad 221182009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 22119
22120 * commands/i386/pc/drivemap.c: New file - implement drivemap
22121 command.
22122 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
22123 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
22124
6f6a8b28 221252009-05-13 Pavel Roskin <proski@gnu.org>
22126
22127 * util/i386/pc/grub-setup.c (setup): Remove unused variable
22128 embedding_area_exists.
22129
15fbf4c4 221302009-05-13 Robert Millan <rmh.grub@aybabtu.com>
22131
22132 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
22133 it easier to understand / work with.
59978c8a 22134 Improve warning messages for cases where there's no embedding area,
22135 or when it is too small (or core.img too large).
15fbf4c4 22136
238e871f 221372009-05-13 Pavel Roskin <proski@gnu.org>
22138
0ab3a9a4 22139 * loader/i386/pc/multiboot2.c: Add necessary includes for
22140 grub_multiboot2_real_boot().
22141
a2c8c5f8 22142 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22143 PX record is always little-endian. We only need the lower 2
22144 bytes of the mode.
22145
faec96af 22146 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22147 facilitate code reuse.
22148 (grub_cpio_mount): Use "struct head", not a char buffer. This
22149 fixes a warning reported by gcc 4.4.
22150
238e871f 22151 * kernel/disk.c (grub_disk_read): Use void pointer for the
22152 buffer.
22153 (grub_disk_write): Use const void pointer for the buffer.
22154 Adjust all callers. Remove unnecessary casts.
22155
901d2f0c 221562009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22157
22158 * util/i386/pc/grub-install.in: Update copyright year.
22159
18f547ad 221602009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22161
22162 gptsync
22163
22164 * commands/gptsync.c: new file
22165 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22166 (gptsync_mod_SOURCES): new variable
22167 (gptsync_mod_CFLAGS): likewise
22168 (gptsync_mod_LDFLAGS): likewise
18f547ad 22169 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22170 new definition
22171 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22172 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22173 * conf/i386-ieee1275.rmk: likewise
22174 * conf/i386-pc.rmk: likewise
22175 * conf/powerpc-ieee1275.rmk: likewise
22176
b4ba690a 221772009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22178
22179 Fixed grub-emu
22180
22181 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22182 (grub_dl_ref): likewise
22183
317e1a44 221842009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22185
22186 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22187 split in two functions (one for msdos and one for gpt).
22188
041b8094 221892009-05-08 Pavel Roskin <proski@gnu.org>
22190
752473c2 22191 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22192 not modified.
22193
041b8094 22194 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22195 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22196 Initialize them with -1. Add sanity check for bad1. Eliminate
22197 nerr variable.
22198
172800ce 221992009-05-08 David S. Miller <davem@davemloft.net>
22200
22201 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22202
29aa5e81 222032009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22204
22205 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22206 existence.
29aa5e81 22207
96613b62 222082009-05-05 Felix Zielcke <fzielcke@z-51.de>
22209
22210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22211 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22212
eef73c8a 222132009-05-05 David S. Miller <davem@davemloft.net>
22214
22215 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22216
119494b5 222172009-05-05 Pavel Roskin <proski@gnu.org>
22218
22219 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22220 of grub_dl_ref() and grub_dl_unref().
22221 * commands/parttool.c: Remove preprocessor conditionals around
22222 grub_dl_ref() and grub_dl_unref().
22223 * fs/affs.c: Likewise.
22224 * fs/afs.c: Likewise.
22225 * fs/cpio.c: Likewise.
22226 * fs/ext2.c: Likewise.
22227 * fs/fat.c: Likewise.
22228 * fs/hfs.c: Likewise.
22229 * fs/hfsplus.c: Likewise.
22230 * fs/iso9660.c: Likewise.
22231 * fs/jfs.c: Likewise.
22232 * fs/minix.c: Likewise.
22233 * fs/ntfs.c: Likewise.
22234 * fs/reiserfs.c: Likewise.
22235 * fs/sfs.c: Likewise.
22236 * fs/udf.c: Likewise.
22237 * fs/ufs.c: Likewise.
22238 * fs/xfs.c: Likewise.
22239 * include/grub/dl.h: Likewise.
22240 * loader/xnu.c: Likewise.
22241
de5fd76e 222422009-05-04 Pavel Roskin <proski@gnu.org>
22243
22244 * commands/acpi.c: Remove unused variable my_mod.
22245 * partmap/amiga.c: Likewise.
22246 * partmap/apple.c: Likewise.
22247 * partmap/gpt.c: Likewise.
22248 * partmap/pc.c: Likewise.
22249 * partmap/sun.c: Likewise.
22250 * term/gfxterm.c: Likewise.
22251 * term/i386/pc/vesafb.c: Likewise.
22252 * term/i386/pc/vga.c: Likewise.
22253
983598ad 222542009-05-04 David S. Miller <davem@davemloft.net>
22255
22256 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22257 pointer args to grub_ieee1275_get_property().
22258
8aadec43 22259 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22260
9554b15e 22261 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22262 devices, and do not traverse down under controller nodes.
22263
67e23c90 22264 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22265 (grub_ofdisk_open): Use it to un-escape "," characters.
22266 * kern/disk.c (find_part_sep): New.
22267 (grub_disk_open): Use it to find the first non-escaped ','
22268 character in the disk name.
22269 * util/ieee1275/devicemap.c (escape_of_path): New.
22270 (grub_util_emit_devicemap_entry): Use it.
22271 * util/sparc64/ieee1275/grub-install.in: Update script to
22272 strip partition specifiers properly by not triggering on
22273 '\' escaped ',' characters.
22274
74bfdd2f 222752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22276
22277 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22278 to 0x300.
22279 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22280 resolutions.
22281 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22282 on documentation from Wikipedia).
22283
4241d2b1 222842009-05-04 Pavel Roskin <proski@gnu.org>
22285
22286 * disk/ata.c: Spelling fixes.
22287 * disk/raid.c: Likewise.
22288 * disk/usbms.c: Likewise.
22289 * disk/dmraid_nvidia.c: Likewise.
22290 * kern/ieee1275/openfw.c: Likewise.
22291 * kern/ieee1275/init.c: Likewise.
22292 * kern/ieee1275/cmain.c: Likewise.
22293 * boot/i386/pc/cdboot.S: Likewise.
22294 * video/readers/png.c: Likewise.
22295 * video/i386/pc/vbe.c: Likewise.
22296 * fs/udf.c: Likewise.
22297 * fs/hfs.c: Likewise.
22298 * fs/reiserfs.c: Likewise.
22299 * efiemu/runtime/efiemu.c: Likewise.
22300 * efiemu/main.c: Likewise.
22301 * efiemu/mm.c: Likewise.
22302 * include/grub/elf.h: Likewise.
22303 * include/grub/xnu.h: Likewise.
22304 * include/grub/usbdesc.h: Likewise.
22305 * include/grub/usb.h: Likewise.
22306 * include/grub/script_sh.h: Likewise.
22307 * include/grub/lib/LzmaEnc.h: Likewise.
22308 * include/grub/efiemu/efiemu.h: Likewise.
22309 * include/grub/command.h: Likewise.
22310 * normal/menu.c: Likewise.
22311 * normal/main.c: Likewise.
22312 * normal/datetime.c: Likewise.
22313 * bus/usb/uhci.c: Likewise.
22314 * mmap/i386/uppermem.c: Likewise.
22315 * mmap/mmap.c: Likewise.
22316 * commands/acpi.c: Likewise.
22317 * commands/test.c: Likewise.
22318 * partmap/apple.c: Likewise.
22319 * font/font.c: Likewise.
22320 * loader/sparc64/ieee1275/linux.c: Likewise.
22321 * loader/macho.c: Likewise.
22322 * loader/i386/bsd_trampoline.S: Likewise.
22323 * loader/i386/bsd.c: Likewise.
22324 * loader/xnu.c: Likewise.
22325 * term/i386/pc/vesafb.c: Likewise.
22326 * term/usb_keyboard.c: Likewise.
22327 * util/resolve.c: Likewise.
22328 * util/getroot.c: Likewise.
22329
0cfc0083 223302009-05-04 Felix Zielcke <fzielcke@z-51.de>
22331
22332 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22333
7c1d00cd 223342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22335
22336 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22337 build error.
22338
b01f0548 223392009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22340
22341 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22342 parameter only available on BIOS.
22343
ecc3eb22 223442009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22345
22346 Removed wrong semicolon in declaration
22347
22348 * grub/misc.h (grub_dprintf): remove semicolon
22349
112972a9 223502009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22351
22352 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22353 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22354 is done by grub_cmd_linux() now).
22355 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22356 restore video to text mode.
22357 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22358 indicates lack of "vga=" parameter. "vga=0" is mapped to
22359 `GRUB_LINUX_VID_MODE_NORMAL'.
22360
afd5c115 223612009-05-04 Felix Zielcke <fzielcke@z-51.de>
22362
22363 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22364 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22365 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22366 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22367 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22368 `grub_script.tab.c'.
22369
22370 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22371 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22373 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22374 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22375
faa517ce 22376 * Makefile.in: Remove duplicated 2008 in Copyright line.
22377
ae0c0bdc 223782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22379
473d1e45 22380 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22381 unconditionally.
22382 * include/grub/util/misc.h (grub_util_warn): New declaration.
22383
22384 * util/i386/pc/grub-install.in: Understand --force and pass it down
22385 to grub-setup.
22386
22387 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22388 down to setup().
22389 (setup): Improve error messages and add warnings when requested to
22390 install in odd layouts. Refuse to install using blocklists unless
22391 --force was set.
22392
18f547ad 223932009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22394
22395 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22396
6d260daa 223972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22398
22399 Updated copyright year
22400
22401 * fs/hfsplus.c: updated copyright year
18f547ad 22402
69f853f8 224032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22404
22405 HFS+ UUID
22406
18f547ad 22407 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22408 in the space previously used by unused3
22409 (grub_hfsplus_uuid): new function
22410 (grub_hfsplus_fs): added uuid field
22411
4c402e73 224122009-05-03 Pavel Roskin <proski@gnu.org>
22413
22414 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22415 suppress warnings. It's no longer needed.
22416 * disk/host.c: Likewise.
22417 * disk/ata_pthru.c: Likewise.
22418 * disk/loopback.c: Likewise.
22419 * hook/datehook.c: Likewise.
22420 * parttool/pcpart.c: Likewise.
22421 * fs/i386/pc/pxe.c: Likewise.
22422 * fs/ntfscomp.c: Likewise.
22423 * efiemu/main.c: Likewise.
22424 * mmap/mmap.c: Likewise.
22425 * commands/crc.c: Likewise.
22426 * commands/hexdump.c: Likewise.
22427 * commands/hdparm.c: Likewise.
22428 * commands/acpi.c: Likewise.
22429 * commands/echo.c: Likewise.
22430 * commands/minicmd.c: Likewise.
22431 * commands/blocklist.c: Likewise.
22432 * commands/memrw.c: Likewise.
22433 * commands/loadenv.c: Likewise.
22434 * commands/usbtest.c: Likewise.
22435 * commands/lsmmap.c: Likewise.
22436 * commands/boot.c: Likewise.
22437 * commands/parttool.c: Likewise.
22438 * commands/configfile.c: Likewise.
22439 * commands/search.c: Likewise.
22440 * commands/ieee1275/suspend.c: Likewise.
22441 * commands/cat.c: Likewise.
22442 * commands/i386/pc/pxecmd.c: Likewise.
22443 * commands/i386/pc/play.c: Likewise.
22444 * commands/i386/pc/halt.c: Likewise.
22445 * commands/i386/pc/vbeinfo.c: Likewise.
22446 * commands/i386/pc/vbetest.c: Likewise.
22447 * commands/lspci.c: Likewise.
22448 * commands/date.c: Likewise.
22449 * commands/handler.c: Likewise.
22450 * commands/ls.c: Likewise.
22451 * commands/test.c: Likewise.
22452 * commands/cmp.c: Likewise.
22453 * commands/efi/loadbios.c: Likewise.
22454 * commands/efi/fixvideo.c: Likewise.
22455 * commands/halt.c: Likewise.
22456 * commands/help.c: Likewise.
22457 * commands/reboot.c: Likewise.
22458 * hello/hello.c: Likewise.
22459 * script/sh/main.c: Likewise.
22460 * loader/xnu.c: Likewise.
22461 * term/terminfo.c: Likewise.
22462 * term/i386/pc/serial.c: Likewise.
22463 * term/usb_keyboard.c: Likewise.
22464
515b5079 224652009-05-03 David S. Miller <davem@davemloft.net>
22466
22467 * normal/menu.c: Include grub/parser.h
22468
dfc31a22 224692009-05-03 Pavel Roskin <proski@gnu.org>
22470
2fee74f1 22471 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22472 not char*.
22473 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22474 Suggested by Javier Martín <lordhabbit@gmail.com>
22475
dfc31a22 22476 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22477 efiemu??.o doesn't exist.
22478 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22479 copying.
22480
18f547ad 224812009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22482
22483 FreeBSD 64-bit support
22484
18f547ad 22485 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22486 and loader/i386/bsd_trampoline.S
22487 (bsd_mod_ASFLAGS): new variable
22488 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22489 (FREEBSD_MODTYPE_KERNEL64): likewise
22490 (grub_bsd64_trampoline_start): likewise
22491 (grub_bsd64_trampoline_end): likewise
22492 (grub_bsd64_trampoline_selfjump): likewise
22493 (grub_bsd64_trampoline_gdt): likewise
22494 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22495 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22496 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22497 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22498 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22499 of "attrib" member
22500 * loader/i386/bsd_pagetable.c: new file
22501 * loader/i386/bsd_trampoline.S: likewise
22502 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22503 (ALIGN_VAR): likewise
22504 (entry_hi): new variable
22505 (kern_end_mdofs): likewise
22506 (is_64bit): likewise
22507 (grub_freebsd_add_meta): use ALIGN_VAR
22508 (grub_e820_mmap): new declaration
22509 (grub_freebsd_add_mmap): new function
22510 (grub_freebsd_add_meta_module): support 64 bit kernels
22511 (grub_freebsd_list_modules): use ALIGN_VAR
22512 (gdt_descriptor): new declaration
22513 (grub_freebsd_boot): support 64 bit kernels
22514 (grub_bsd_elf64_hook): new function
22515 (grub_bsd_load_elf): support elf64
22516
038c5720 225172009-05-03 Bean <bean123ch@gmail.com>
22518
22519 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22520 after we get the result of if statement.
22521
fc45fb58 225222009-05-03 Bean <bean123ch@gmail.com>
22523
22524 * Makefile.in (enable_efiemu): New variable.
22525
22526 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22527 set.
22528 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22529 path.
22530 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22531 path, add -mno-red-zone option.
22532 (efiemu64_s.o): Likewise.
22533 (efiemu64.o): Use macro $^ for source file.
22534
22535 * configure.ac (--enable-efiemu): New option.
22536
bbee0f2b 225372009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 xnu support
22540
22541 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22542 (pkglib_MODULES): add xnu.mod
22543 (xnu_mod_SOURCES): new variable
22544 (xnu_mod_CFLAGS): likewise
22545 (xnu_mod_LDFLAGS): likewise
22546 (xnu_mod_ASFLAGS): likewise
22547 * conf/i386-pc.rmk: likewise
22548 * conf/x86_64-efi.rmk: likewise
7dd4a573 22549 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22550 new declaration
22551 * include/grub/i386/macho.h: new file
22552 * include/grub/i386/xnu.h: likewise
22553 * include/grub/macho.h: likewise
22554 * include/grub/machoload.h: likewise
22555 * include/grub/x86_64/macho.h: likewise
22556 * include/grub/x86_64/xnu.h: likewise
22557 * include/grub/xnu.h: likewise
22558 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22559 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22560 * loader/i386/efi/xnu.c: new file
22561 * loader/i386/pc/xnu.c: likewise
22562 * loader/i386/xnu.c: likewise
22563 * loader/i386/xnu_helper.S: likewise
22564 * loader/macho.c: likewise
22565 * loader/xnu.c: likewise
22566 * loader/xnu_resume.c: likewise
22567 * util/grub-dumpdevtree: likewise
22568 * include/grub/i386/pit.h: include grub/err.h
22569 (grub_pit_wait): export
22570 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22571
5caf964d 225722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22573
22574 Efiemu
7dd4a573 22575
5caf964d 22576 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22577 _linux_efi, linux_efi.
22578 new files in grub-emu
5caf964d 22579 new targets efiemu32.o and efiemu64.o
22580 * loader/linux_normal_efiemu.c: likewise
22581 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22582 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22583 files to copy
22584 * include/grub/autoefi.h: new file
7dd4a573 22585 * include/grub/i386/efiemu.h: likewise
5caf964d 22586 * include/grub/i386/pc/efiemu.h: likewise
22587 * include/grub/efi/api.h: add LL suffix when necessary
22588 new definitions relating to tables
22589 * include/grub/efiemu/efiemu.h: new file
22590 * include/grub/efiemu/runtime.h: likewise
22591 * efiemu/prepare.c: likewise
22592 * efiemu/loadcore_common.c: likewise
22593 * efiemu/loadcore64.c: likewise
22594 * efiemu/runtime/efiemu.sh: likewise
22595 * efiemu/runtime/efiemu.S: likewise
22596 * efiemu/runtime/efiemu.c: likewise
22597 * efiemu/runtime/config.h: likewise
22598 * efiemu/prepare32.c: likewise
22599 * efiemu/main.c: likewise
22600 * efiemu/modules/pnvram.c: likewise
22601 * efiemu/modules/i386: likewise
22602 * efiemu/modules/i386/pc: likewise
22603 * efiemu/modules/acpi.c: likewise
22604 * efiemu/i386/pc/cfgtables.c: likewise
22605 * efiemu/i386/loadcore64.c: likewise
22606 * efiemu/i386/loadcore32.c: likewise
22607 * efiemu/prepare64.c: likewise
22608 * efiemu/loadcore.c: likewise
22609 * efiemu/symbols.c: likewise
22610 * efiemu/mm.c: likewise
22611 * efiemu/loadcore32.c: likewise
7dd4a573 22612
226132009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22614
22615 ACPI spoofing
22616
22617 * commands/acpi.c: new file
22618 * commands/i386/pc/acpi.c: likewise
22619 * commands/efi/acpi.c: likewise
22620 * include/grub/acpi.h: likewise
22621 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22622 (acpi_mod_SOURCES): new variable
22623 (acpi_mod_CFLAGS): likewise
22624 (acpi_mod_LDFLAGS): likewise
22625 * conf/i386-efi.rmk: likewise
22626 * conf/x86_64-efi.rmk: likewise
22627
7dd4a573 226282009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22629
22630 Missing part from mmap patch
22631
22632 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22633 (grub_mmap_unregister)
22634 (grub_mmap_free_and_unregister): use grub_mmap_register
22635
7dd4a573 226362009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22637
22638 Mmap services
22639
22640 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22641 * loader/i386/linux.c (find_mmap_size): likewise
22642 (allocate_pages): likewise
22643 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22644 (grub_fill_multiboot_mmap): likewise
22645 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22646 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22647 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22648 (OPENBSD_MMAP_RESERVED): likewise
22649 * include/grub/i386/pc/memory.h: include grub/memory.h
22650 (grub_lower_mem): removed
22651 (grub_upper_mem): likewise
22652 (GRUB_MACHINE_MEMORY_ACPI): new definition
22653 (GRUB_MACHINE_MEMORY_NVS): likewise
22654 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22655 (GRUB_MACHINE_MEMORY_HOLE): likewise
22656 (grub_machine_mmap_register): likewise
22657 (grub_machine_mmap_unregister): likewise
22658 (grub_machine_get_upper): likewise
22659 (grub_machine_get_lower): likewise
22660 (grub_machine_get_post64): likewise
22661 * include/grub/i386/efi/memory.h: new file
22662 * include/grub/x86_64/efi/memory.h: likewise
22663 * include/grub/efi/memory.h: likewise
22664 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22665 (mmap_mod_SOURCES): new variable
22666 (mmap_mod_LDFLAGS): likewise
22667 (mmap_mod_ASFLAGS): likewise
22668 * conf/i386-coreboot.rmk: likewise
22669 * conf/i386-ieee1275.rmk: likewise
22670 * conf/i386-efi.rmk: likewise
22671 * conf/x86_64-efi.rmk: likewise
22672 * include/grub/types.h (UINT_TO_PTR): new macro
22673 (PTR_TO_UINT32): likewise
22674 (PTR_TO_UINT64): likewise
22675 * include/grub/memory.h: new file
22676 * mmap/i386/pc/mmap.c: likewise
22677 * mmap/i386/pc/mmap_helper.S: likewise
22678 * mmap/i386/uppermem.c: likewise
22679 * mmap/mmap.c: likewise
22680 * mmap/efi/mmap.c: likewise
7dd4a573 22681 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 22682 grub_upper_mem
22683 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22684 (grub_upper_mem): likewise
22685 (grub_machine_init): don't use grub_upper_mem,
22686 make grub_lower_mem local
22687 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22688 grub_mmap_iterate and grub_mmap_get_upper
22689 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22690
d558e6b5 226912009-05-02 Bean <bean123ch@gmail.com>
22692
22693 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22694 script/sh/parser.y.
22695 (pkglib_MODULES): Add normal.mod and sh.mod.
22696 (normal_SOURCES): New variable.
22697 (normal_mod_CFLAGS): Likewise.
22698 (normal_mod_LDFLAGS): Likewise.
22699 (sh_mod_SOURCES): Likewise.
22700 (sh_mod_CFLAGS): Likewise.
22701 (sh_mod_LDFLAGS): Likewise.
22702
22703 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22704 script/sh/lexer.c_DEPENDENCIES.
22705 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22706 kern/rescue_reader.c and kern/rescue_parser.c.
22707 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22708 (grub_emu_SOURCES): Change source files.
22709 (pkglib_MODULES): Remove normal.mod.
22710 (normal_SOURCES): Removed.
22711 (normal_mod_CFLAGS): Likewise.
22712 (normal_mod_LDFLAGS): Likewise.
22713 * conf/i386-coreboot.rmk: Likewise.
22714 * conf/i386-efi.rmk: Likewise.
22715 * conf/i386-ieee1276.rmk: Likewise.
22716 * conf/powerpc-ieee1275.rmk: Likewise.
22717 * conf/sparc64-ieee1275.rmk: Likewise.
22718 * conf/x86_64-efi.rmk: Likewise.
22719
22720 * include/grub/command.h (grub_command_execute): New inline function.
22721
22722 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22723
22724 * include/grub/normal.h: Remove <grub/setjmp.h>.
22725 (grub_fs_module_list): Moved to normal/autofs.c.
22726 (grub_exit_env): Removed.
22727 (grub_command_execute): Likewise.
22728 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22729 parameter script.
22730 (read_command_list): New function declaration.
22731 (read_fs_list): Likewise.
22732
22733 * include/parser.h: Include <grub/reader.h>.
22734 (grub_parser_split_cmdline): Change type of getline parameter.
22735 (grub_parser): New structure.
22736 (grub_parser_class): New variable.
22737 (grub_parser_execute): New function declaration.
22738 (grub_register_rescue_parser): Likewise.
22739 (grub_parser_register): New inline function.
22740 (grub_parser_unregister): Likewise.
22741 (grub_parser_get_current): Likewise.
22742 (grub_parser_set_current): Likewise.
22743
22744 * include/grub/reader.h: New file.
22745 * kern/reader.c: Likewise.
22746 * kern/rescue_parser.c: Likewise.
22747 * kern/rescue_reader.c: Likewise.
22748 * normal/autofs.c: Likewise.
22749 * normal/dyncmd.c: Likewise.
22750
22751 * include/grub/rescue.h: Removed.
22752 * normal/command.h: Likewise.
22753
22754 * include/grub/script.h: Moved to ...
22755 * include/grub/script_sh.h: ... Moved here.
22756 * normal/execute.c: Moved to ...
22757 * script/sh/execute.c: ... Moved here.
22758 * normal/function.c: Moved to ...
22759 * script/sh/function.c: ... Moved here.
22760 * normal/lexer.c: Moved to ...
22761 * script/sh/lexer.c: ... Moved here.
22762 * normal/parser.y: Moved to ...
22763 * script/sh/parser.y: ... Moved here.
22764 * normal/script.c: Moved to ...
22765 * script/sh/script.c: ... Moved here.
22766
22767 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22768 <grub/reader.h>.
22769 (grub_exit_env): Removed.
22770 (fs_module_list): Moved to normal/autofs.c.
22771 (grub_file_getline): Don't handle comment here.
22772 (free_menu): Skip removed field entry->commands.
22773 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22774 script parameter.
22775 (read_config_file): Removed nested parameter, change getline function.
22776 (grub_enter_normal_mode): Removed.
22777 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22778 (read_command_list): Likewise.
22779 (autoload_fs_module): Moved to normal/autofs.c.
22780 (read_fs_list): Likewise.
22781 (reader_nested): New variable.
22782 (grub_normal_execute): Run parser.sh to switch to sh parser.
22783 (grub_cmd_rescue): Removed.
22784 (cmd_normal): Removed.
22785 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22786 rescue command.
22787 (grub_cmdline_run): New function.
22788 (grub_normal_reader_init): Likewise.
22789 (grub_normal_read_line): Likewise.
22790 (grub_env_write_pager): Likewise.
22791 (cmdline): New variable.
22792 (grub_normal_reader): Likewise.
22793 (GRUB_MOD_INIT): Register normal reader and set as current, register
22794 pager hook, register normal command with grub_register_command_prio,
22795 so that it won't show up in command.lst.
22796 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22797 grub_fs_autoload_hook.
22798
22799 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22800 (grub_menu_execute_entry): Replace grub_script_execute with
22801 grub_parser_execute, change parameter to grub_command_execute.
22802
22803 * normal/menu_text.c: Remove <grub/script.h>.
22804
22805 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22806 and <grub/parser.h>.
22807 (run): Change editor_getline to use new parser interface. Change
22808 parameter to grub_command_execute.
22809
22810 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22811 <grub/reader.h> and <grub/parser.h>.
22812 (grub_load_normal_mode): Execute normal command.
22813 (grub_main): Call grub_register_core_commands,
22814 grub_register_rescue_parser and grub_register_rescue_reader, use
22815 grub_reader_loop to enter input loop.
22816
7dd4a573 22817 * kern/parser.c (grub_parser_split_cmdline): Change type of
22818 getline parameter.
d558e6b5 22819 (grub_parser_class): New variable.
22820 (grub_parser_execute): New function.
22821
22822 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22823 * loader/multiboot2.c: Likewise.
22824 * loader/sparc64/ieee1275/linux.c: Likewise.
22825
22826 * util/grub-emu.c (read_command_list): New dummy function.
22827
18db813d 228282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22829
22830 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22831 count to 16 for CCISS and IDA.
22832
6c67de15 228332009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22834
22835 * normal/menu_text.c (grub_wait_after_message): Print a newline
22836 after waiting for user input.
22837
22838 * loader/i386/linux.c: Include `<grub/normal.h>'.
22839 (grub_cmd_linux): Improve the error message about `ask' mode, by
22840 waiting for user input so it's not missed (we can do this, since
22841 user requested interaction).
22842
d9dc87b0 228432009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22844
22845 Added missing lst to grub-mkrescue
22846
22847 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
22848 and ${input_dir}/parttool.lst
22849
ac8a2baa 228502009-04-30 David S. Miller <davem@davemloft.net>
22851
ad22a610 22852 * util/hostdisk.c (device_is_wholedisk): New function.
22853 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
22854 zero only if device_is_wholedisk() returns true.
22855
6966215d 22856 * util/hostdisk.c (convert_system_partition_to_system_disk):
22857 Handle virtual disk devices named /dev/vdiskX as found on sparc
22858 and powerpc.
22859
ac8a2baa 22860 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
22861 lettered partition specifier is found, convert to numbered.
22862
979b4fb4 228632009-04-29 David S. Miller <davem@davemloft.net>
22864
e2bf39b2 22865 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
22866 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22867
3c64e104 22868 * normal/command.c: Add missing newline at end of file.
22869
979b4fb4 22870 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
22871 warnings.
22872 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
22873 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
22874 grub_ofdisk_read): Likewise, and deal similarly with the fact that
22875 ihandles have a 32-bit type but need to be stored in a "void *".
22876
136d9f82 228772009-04-28 Pavel Roskin <proski@gnu.org>
22878
9459c306 22879 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
22880 not disk. Adjust all dependencies.
2e08a26a 22881 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 22882 grub_disk_close().
22883
136d9f82 22884 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
22885 parent's partition, don't copy it by reference, as it gets freed
22886 on close.
22887
7dd4a573 228882009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 22889
22890 Preboot hooks support
22891
22892 * commands/boot.c (struct grub_preboot_t): new declaration
22893 (preboots_head): new variable
22894 (preboots_tail): likewise
22895 (grub_loader_register_preboot_hook): new function
22896 (grub_loader_unregister_preboot_hook): likewise
22897 (grub_loader_set): launch preboot hooks
22898 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
22899 (grub_loader_register_preboot_hook): new declaration
22900 (grub_loader_unregister_preboot_hook): likewise
22901
5af922b5 229022009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
22903
22904 Warning fix
22905
7dd4a573 22906 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 22907 calling grub_dprintf
22908
a5562c30 229092009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
22910
22911 Bug and warning fixes
22912
7dd4a573 22913 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 22914 declaration
22915 * commands/test.c (test_parse): fixed bug with file tests and corrected
22916 declaration of find_file
22917
4006f85c 229182009-04-26 Pavel Roskin <proski@gnu.org>
22919
22920 * Makefile.in: Don't install empty manual pages if help2man is
22921 missing. Use help2man option for output, not shell redirection.
22922
5c77c3de 229232009-04-26 David S. Miller <davem@davemloft.net>
22924
22925 * util/grub-mkdevicemap.c (make_device_map): Add missing
22926 NESTED_FUNC_ATTR to process_device().
22927
033b10a8 229282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22929
22930 Test command
22931
22932 * commands/test.c: rewritten to use bash-like test
22933
e4343593 229342009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
22935
22936 Parttool autoloading and improvements
22937
7dd4a573 22938 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 22939 (parttool.lst): new target
22940 * genmk.rb: generate parttool-*
22941 (CLEANFILES): add #{parttool}
22942 (PARTTOOLFILES): new variable
22943 * genparttoollist.sh: new file
7dd4a573 22944 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 22945 (grub_pcpart_type): likewise
22946 * commands/parttool.c (helpmsg): new variable
22947 (grub_cmd_parttool): output help if not enough arguments are supplied
22948 autoload modules
22949 (GRUB_MOD_INIT(parttool)): use helpmsg
22950
0d312500 229512009-04-24 David S. Miller <davem@davemloft.net>
22952
7dd4a573 22953 Avoiding opening same device multiple times in device iterator.
0d312500 22954
22955 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 22956 and use it to build a list of partitions in iterate_disk() and
0d312500 22957 iterate_partition().
22958
ac20caff 22959 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
22960 on disk->data.
22961
0dcf7495 22962 * disk/ieee1275/nand.c (grub_nand_iterate): Return
22963 grub_devalias_iterate() result instead of unconditional 0.
22964 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
22965 Also, capture hook return value, either directly or via
22966 grub_children_iterate(), and propagate to caller.
22967 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
22968 grub_children_iterate): Return value is now 'int' instead of
22969 'grub_err_t'.
22970 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
22971 like a proper iterator, stopping when hooks return non-zero.
22972 (grub_devalias_iterate): Likewise.
22973
c8c08833 229742009-04-23 David S. Miller <davem@davemloft.net>
22975
22976 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
22977
f01005a8 229782009-04-22 David S. Miller <davem@davemloft.net>
22979
22980 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
22981 is larger than address_cells, use that value for address_cells too.
22982
4e8269da 22983 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
22984 IEEE1275_MAX_PATH_LEN): Define.
22985 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
22986 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
22987 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
22988 'devtype'. Explicitly NULL terminate devalias expansion.
22989
a1447506 22990 * util/sparc64/ieee1275/misc.c: New file.
22991 * util/sparc64/ieee1275/grub-setup.c: New file.
22992 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
22993 * util/sparc64/ieee1275/grub-mkimage.c: New file.
22994 * util/sparc64/ieee1275/grub-install.in: New file.
22995 * util/ieee1275/ofpath.c: New file.
22996 * util/ieee1275/devicemap.c: New file.
22997 * util/devicemap.c: New file.
22998 * util/deviceiter.c: New file.
22999 * kern/sparc64/ieee1275/init.c: New file.
23000 * include/grub/util/ofpath.h: New file.
23001 * include/grub/util/deviceiter.h: New file.
23002 * util/grub-mkdevicemap.c: Include deviceiter.h.
23003 Implement using grub_util_emit_devicemap_entry and
23004 grub_util_iterate_devices.
23005 * conf/i386-corebook.rmk: Build util/deviceiter.c and
23006 util/devicemap.c into grub-mkdevicemap
23007 * conf/i386-efi.rmk: Likewise.
23008 * conf/i386-ieee1275.rmk: Likewise.
23009 * conf/i386-pc.rmk: Likewise.
23010 * conf/powerpc-ieee1275.rmk: Likewise.
23011 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
23012 images and installation utilities. Build kernel as image
23013 instead of as elf binary. Use common rules as much as possible.
23014
7dd4a573 230152009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 23016
23017 Correct GPT definition
23018
7dd4a573 23019 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 23020 of "attrib" member
23021
c6c5219f 230222009-04-19 Felix Zielcke <fzielcke@z-51.de>
23023
23024 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
23025
0552ff9f 230262009-04-19 David S. Miller <davem@davemloft.net>
23027
23028 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
23029 (grub_rescue_cmd_linux): Rename to...
23030 (grub_cmd_linux): and fix prototype.
23031 (grub_rescue_cmd_initrd): Rename to...
23032 (grub_cmd_initrd): and fix prototype.
23033 (cmd_linux, cmd_initrd): New.
23034 (GRUB_MOD_INIT(linux)): Use grub_register_command().
23035 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
23036
d1a282fc 230372009-04-17 Pavel Roskin <proski@gnu.org>
23038
07c5039f 23039 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
23040 format.
23041 (grub_ohci_transfer): Likewise.
23042
b012002d 23043 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
23044
1bc09c35 23045 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
23046 return without a value. Fix inconsistent indentation.
23047
e0ff9126 23048 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
23049 match struct grub_fs.
23050
d1a282fc 23051 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
23052 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
23053 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23054 * commands/lspci.c (grub_lspci_iter): Likewise.
23055
a96df3f2 230562009-04-16 Bean <bean123ch@gmail.com>
23057
23058 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
23059 value.
23060
41bb0fe9 230612009-04-15 Pavel Roskin <proski@gnu.org>
23062
23063 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
23064 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
23065 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
23066 definitions.
23067
596c6970 230682009-04-15 Felix Zielcke <fzielcke@z-51.de>
23069
23070 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 23071 that no multiple data or metadata areas are supported and `Unknown
596c6970 23072 metadata header'.
23073
7dd4a573 230742009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 23075
23076 Move loader out of the kernel
23077
23078 * kern/loader.c: moved to ...
23079 * commands/boot.c: ... moved here
23080 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
23081 * commands/boot.c (grub_cmd_boot): moved here. All users updated
23082 * include/grub/kernel.h (grub_machine_fini): export
23083 * include/grub/loader.h (grub_loader_is_loaded): update declaration
23084 (grub_loader_set): likewise
23085 (grub_loader_unset): likewise
23086 (grub_loader_boot): likewise
23087 * conf/common.rmk: new module boot.mod
23088 (pkglib_MODULES): add boot.mod
23089 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
23090 (grub_emu_SOURCES): likewise
23091 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
23092 (grub_emu_SOURCES): likewise
23093 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
23094 (grub_emu_SOURCES): likewise
23095 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
23096 (grub_emu_SOURCES): likewise
23097 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
23098 (grub_emu_SOURCES): likewise
7dd4a573 23099 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
23100 (grub_emu_SOURCES): likewise
0d5d5653 23101 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 23102 (grub_emu_SOURCES): likewise
0d5d5653 23103
7dd4a573 231042009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 23105
23106 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 23107
5999d619 23108 * kern/misc.c (grub_itoa): Removed function
23109 (grub_ltoa): likewise
23110 (grub_vsprintf): use grub_lltoa
23111
7dd4a573 231122009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 23113
23114 Restore grub-emu
23115
23116 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
23117 * conf/i386-coreboot.rmk: likewise
23118 * conf/i386-ieee1275.rmk: likewise
23119 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23120
20318222 231212009-04-15 Felix Zielcke <fzielcke@z-51.de>
23122
23123 * INSTALL: Add that `./autogen.sh' needs to be run before
23124 `./configure.'.
23125
d05f0df3 231262009-04-14 Bean <bean123ch@gmail.com>
23127
23128 * Makefile.in (pkglib_DATA): Add handler.lst.
23129 (handler.lst): New rule.
23130
23131 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
23132 * conf/i386-coreboot.rmk: Likewise.
23133 * conf/i386-ieee1275.rmk: Likewise.
23134 * conf/i386-efi.rmk: Likewise.
23135 * conf/x86_64-efi.rmk: Likewise.
23136 * conf/powerpc-ieee1275.rmk: Likewise.
23137 * conf/sparc64-ieee1275.rmk: Likewise.
23138
23139 * genhandlerlist.sh: New file.
23140
23141 * genmk.rb: Add rules to generate handler.lst.
23142
23143 * include/grub/normal.h (grub_file_getline): New function definition.
23144 (read_handler_list): Likewise.
23145 (free_handler_list): Likewise.
23146
23147 * include/grub/term.h (grub_term_register_input): Add name parameter
23148 for auto generation of handler.lst.
23149 (grub_term_register_output): Likewise.
23150
23151 * normal/handler.c: New file.
23152
23153 * normal/main.c (get_line): Renamed to grub_file_getline.
23154 (read_config_file): Use the newly renamed grub_file_getline.
23155 (read_command_list): Likewise.
23156 (read_fs_list): Likewise.
23157 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23158 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23159
23160 * term/efi/console.c (grub_console_init): Add name parameter for auto
23161 generation of handler.lst.
23162 * term/gfxterm.c: Likewise.
23163 * term/i386/pc/at_keyboard.c: Likewise.
23164 * term/i386/pc/console.c: Likewise.
23165 * term/i386/pc/serial.c: Likewise.
23166 * term/i386/pc/vesafb.c: Likewise.
23167 * term/i386/pc/vga.c: Likewise.
23168 * term/i386/pc/vga_text.c: Likewise.
23169 * term/ieee1275/ofconsole.c: Likewise.
23170 * term/usb_keyboard.c: Likewise.
23171
33c846be 231722009-04-14 Bean <bean123ch@gmail.com>
23173
23174 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23175 properly with null character.
23176
4484e01e 231772009-04-14 Felix Zielcke <fzielcke@z-51.de>
23178
23179 * configure: Remove.
23180 * config.h.in: Likewise.
f93d668e 23181 * stamp-h.in: Likewise.
4484e01e 23182 * DISTLIST: Likewise.
23183 * conf/common.mk: Likewise.
23184 * conf/i386-coreboot.mk: Likewise.
23185 * conf/i386-efi.mk: Likewise.
23186 * conf/i386-ieee1275.mk: Likewise.
23187 * conf/i386.mk: Likewise.
23188 * conf/i386-pc.mk: Likewise.
23189 * conf/powerpc-ieee1275.mk: Likewise.
23190 * conf/sparc64-ieee1275.mk: Likewise.
23191 * conf/x86_64-efi.mk: Likewise.
23192
23193 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23194 develop on GRUB.
23195
7dd4a573 231962009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23197 David S. Miller <davem@davemloft.net>
23198
23199 * util/hostdisk.c (make_device_name): Fix buffer length
23200 calculations.
23201
e25b5a8c 232022009-04-14 Felix Zielcke <fzielcke@z-51.de>
23203
23204 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23205 <sys/param.h> and <sys/sysctl.h>.
23206 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23207 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23208 opening the device and reset them afterwards.
23209
1f1f580c 232102009-04-13 Pavel Roskin <proski@gnu.org>
23211
23212 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23213 Reported by John Stanley <jpsinthemix@verizon.net>
23214
7ebc2d6b 232152009-04-13 Robert Millan <rmh@aybabtu.com>
23216
23217 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23218 that name for menuentries when appropriate.
7ebc2d6b 23219
d8ba3667 232202009-04-13 Felix Zielcke <fzielcke@z-51.de>
23221
23222 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23223
cba416eb 232242009-04-13 Robert Millan <rmh@aybabtu.com>
23225
23226 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23227 to Linux, simply abort telling the user it's no longer supported.
23228
a547a745 232292009-04-13 Felix Zielcke <fzielcke@z-51.de>
23230
23231 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23232 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23233 `freebsd_loadenv' only when devices.hints exist.
23234
232a769c 232352009-04-13 Pavel Roskin <proski@gnu.org>
23236
23237 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23238
c3012039 232392009-04-13 Felix Zielcke <fzielcke@z-51.de>
23240
23241 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23242 partition number.
23243 (grub_drive): Likewise.
23244
234022fe 232452009-04-13 David S. Miller <davem@davemloft.net>
23246
23247 * kern/sparc64/ieee1275/ieee1275.c: New file.
23248 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23249 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23250 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23251 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23252 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23253 grub_ieee1275_alloc_physmem): Declare new exported functions.
23254
d8e1836c 23255 * include/grub/sparc64/ieee1275/loader.h: New file.
23256 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23257 * include/grub/sparc64/kernel.h: Likewise.
23258 * loader/sparc64/ieee1275/linux.c: Likewise.
23259
96bd81ec 23260 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23261 (grub_fstest_SOURCES): Likewise.
23262
6a4737e5 23263 * util/hostdisk.c (make_device_name): Do not make any assumptions
23264 about the length of drive names.
23265
1d7a72fd 23266 * kern/dl.c (grub_dl_load_file): Close file immediately when
23267 we are done using it.
23268
56bc2471 232692009-04-12 David S. Miller <davem@davemloft.net>
23270
23271 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23272 values. Noticed by Pavel Roskin.
23273
df38d0bb 23274 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23275 target compiler.
7dd4a573 23276
e382e93a 23277 * genmk.rb: Add more flexible image type specification, also
23278 pass --strip-unneeded to objcopy.
23279 * conf/i386-pc.rmk: Use *_FORMAT.
23280 * conf/i386-pc.mk: Rebuilt.
23281
f5dbbca9 23282 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23283 (OFDISK_HASH_SZ): Define.
23284 (ofdisk_hash): New hash table.
23285 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23286 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23287 instead of device phandle which is not unique.
23288
91c88b12 23289 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23290 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23291 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23292 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23293 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23294 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23295 GRUB_KERNEL_MACHINE_DATA_END): Define.
23296 (grub_kernel_image_size, grub_total_module_size): Declare.
23297
5b5d4aa5 232982009-04-12 Pavel Roskin <proski@gnu.org>
23299
7dd4a573 23300 * configure.ac: Change the logic when we check for target tools.
23301 Do it when the target is specified and it's different from the
23302 specified value of the host.
5b5d4aa5 23303
c91e1793 233042009-04-11 Felix Zielcke <fzielcke@z-51.de>
23305
23306 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23307 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23308 GNU/kFreeBSD. Check if a device is a character device. Use
23309 DIOCGMEDIASIZE to get the size.
23310 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23311 support for GNU/kFreeBSD.
23312 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23313 is a character device instead of a block device. Add support for
23314 FreeBSD device names.
23315
23316 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23317 is a character device instead of a block device.
23318
23319 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23320 is a character device instead of a block device.
23321
b1ac8644 233222009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23323
23324 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23325 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23326 FreeBSD. Check if a device is a character device. Use
23327 DIOCGMEDIASIZE to get the size.
23328 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23329 support for FreeBSD.
23330 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23331 is a character device instead of a block device. Add support for
23332 FreeBSD device names.
23333
23334 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23335 a character device instead of a block device.
23336 (grub_util_check_char_device): New function.
23337
23338 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23339 a character device instead of a block device.
23340
23341 * include/grub/util/getroot.h (grub_util_check_char_device): New
23342 prototype.
23343
a3f7515a 233442009-04-11 David S. Miller <davem@davemloft.net>
23345
23346 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23347 static libgcc.
23348 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23349 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23350 function, if present.
23351 (__bswapdi2): Likewise.
23352
0d44993d 23353 * include/grub/sparc64/ieee1275/boot.h: New file.
23354 * boot/sparc64/ieee1275/boot.S: Likewise.
23355 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23356
ed3d2bc2 23357 * kern/misc.c (grub_ltoa): New function.
23358 (grub_vsprintf): Use it to format 'long' integers.
23359
d3bfb59c 233602009-04-10 David S. Miller <davem@davemloft.net>
23361
23362 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23363 slots are of type grub_ieee1275_cell_t.
23364 (grub_nand_read): Likewise.
23365 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23366 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23367 macros are used to compare values in arg/ret block of the call.
23368 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23369 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23370 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23371 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23372 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23373 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23374 grub_ieee1275_close, grub_ieee1275_set_property,
23375 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23376 grub_ieee1275_cell_t.
23377 * kern/ieee1275/openfw.c (grub_map): Likewise.
23378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23379 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23380
450e2238 23381 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23382 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23383 (grub_devalias_iterate): Likewise.
23384
7dd4a573 233852009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23386
23387 UFS improvements
23388
23389 * fs/ufs.c (INODE_NBLOCKS): new definition
23390 (struct grub_ufs_dirent): added fields for non-BSD dirents
23391 (grub_ufs_get_file_block): fixed double indirect handling
23392 (grub_ufs_lookup_symlink): use more robust way to determine whether
23393 symlink is inline
23394 (grub_ufs_find_file): support for non-BSD dirents
23395 (grub_ufs_dir): support for non-BSD dirents
23396
e7e6862a 233972009-04-10 Bean <bean123ch@gnail.com>
23398
23399 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23400 attribute, otherwise the size would be wrong for i386 platform.
23401
23402 * include/grub/pci.h (grub_pci_read_word): New inline function.
23403 (grub_pci_read_byte): Likewise.
23404 (grub_pci_write): Likewise.
23405 (grub_pci_write_word): Likewise.
23406 (grub_pci_write_byte): Likewise.
23407
23408 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23409
23410 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23411 (find_framebuf): Scan pci to locate the frame buffer address.
23412
23413 * commands/efi/fixvideo.c: New file.
23414
23415 * commands/efi/loadbios.c: Likewise.
23416
23417 * commands/memrw.c: Likewise.
23418
23419 * util/grub-dumpbios.in: Likewise.
23420
23421 * conf/common.rmk (grub-dumpbios): New utility.
23422 (pkglib_MODULES): New module memrw.mod.
23423 (memrw_mod_SOURCE): New macro.
23424 (memrw_mod_CFLAGS): Likewise.
23425 (memrw_mod_LDFLAGS): Likewise.
23426
7dd4a573 23427 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23428 fixvideo.mod.
23429 (loadbios_mod_SOURCE): New macro.
23430 (loadbios_mod_CFLAGS): Likewise.
23431 (loadbios_mod_LDFLAGS): Likewise.
23432 (fixvideo_mod_SOURCE): Likewise.
23433 (fixvideo_mod_CFLAGS): Likewise.
23434 (fixvideo_mod_LDFLAGS): Likewise.
23435
7dd4a573 23436 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23437 fixvideo.mod.
23438 (loadbios_mod_SOURCE): New macro.
23439 (loadbios_mod_CFLAGS): Likewise.
23440 (loadbios_mod_LDFLAGS): Likewise.
23441 (fixvideo_mod_SOURCE): Likewise.
23442 (fixvideo_mod_CFLAGS): Likewise.
23443 (fixvideo_mod_LDFLAGS): Likewise.
23444
af63ada2 234452009-04-08 Felix Zielcke <fzielcke@z-51.de>
23446
23447 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23448
c2cdde70 234492009-04-07 David S. Miller <davem@davemloft.net>
23450
23451 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23452 support for R_SPARC_OLO10 relocations. Fix compile warning for
23453 R_SPARC_WDISP30 case.
ea3f72cf 23454 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23455
761319cf 234562009-04-06 Pavel Roskin <proski@gnu.org>
23457
1007d1f5 23458 * include/grub/misc.h (ARRAY_SIZE): New macro.
23459 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23460 New macro.
23461 * loader/i386/linux.c (allocate_pages): Use free_pages().
23462 (grub_linux_unload): Don't use free_pages().
23463 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23464 wrong index. Treat all other modes as text modes.
23465 (grub_cmd_linux): Initialize vid_mode unconditionally to
23466 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23467
761319cf 23468 * commands/help.c (print_command_help): Use cmd->prio, not
23469 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23470
ea761d40 234712009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23472
ea761d40 23473 Parttool
23474
23475 * parttool/pcpart.c: new file
23476 * commands/parttool.c: likewise
23477 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23478 (parttool_mod_SOURCES): new variable
23479 (parttool_mod_CFLAGS): likewise
23480 (parttool_mod_LDFLAGS): likewise
23481 (pcpart_mod_SOURCES): likewise
23482 (pcpart_mod_CFLAGS): likewise
23483 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23485 and parttool/pcpart.c
23486 * conf/i386-efi.rmk: likewise
23487 * conf/i386-ieee1275.rmk: likewise
23488 * conf/i386-pc.rmk: likewise
23489 * conf/powerpc-ieee1275.rmk: likewise
23490 * conf/sparc64-ieee1275.rmk: likewise
23491 * conf/x86_64-ieee1275.rmk: likewise
23492
05aaebfb 234932009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 Support for mtime and further expandability of dir command
23496
23497 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23498 * include/grub/datetime.h: ... moved here and added
05aaebfb 23499 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23500 * include/grub/fs.h: new syntax for dir and mtime functions in
23501 struct grub_fs
05aaebfb 23502 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23503 and GRUB_FSHELP_FLAGS_MASK
23504 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23505 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23506 (grub_ext2_mtime): new function
23507 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23508 (grub_hfsplus_mtime): new function
23509 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23510 (GRUB_UFS_ATTR_FILE): likewise
23511 (GRUB_UFS_ATTR_LNK): likewise
23512 (struct grub_ufs_sblock): new fields mtime
23513 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23514 all users updated
23515 (grub_ufs_dir): mtime support
23516 (grub_ufs_mtime): new function
23517 * fs/affs.c (grub_affs_dir): use new dir syntax
23518 * fs/afs.c (grub_afs_dir): likewise
23519 * fs/cpio.c (grub_cpio_dir): likewise
23520 * fs/fat.c (grub_fat_find_dir): likewise
23521 * fs/hfs.c (grub_hfs_dir): likewise
23522 * fs/iso9660.c (grub_iso9660_dir): likewise
23523 * fs/jfs.c (grub_jfs_dir): likewise
23524 * fs/minix.c (grub_minix_dir): likewise
23525 * fs/ntfs.c (grub_ntfs_dir): likewise
23526 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23527 * fs/sfs.c (grub_sfs_dir): likewise
23528 * fs/xfs.c (grub_xfs_dir): likewise
23529 * util/hostfs.c (grub_hostfs_dir): likewise
23530 * lib/datetime.c: moved to ...
23531 * normal/datetime.c: ... moved here
23532 (grub_unixtime2datetime): new function
23533 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23534 * normal/completion.c (iterate_dir): use new dir syntax
23535 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23536 last modification time of a volume
7dd4a573 23537 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23538 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23539 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23540 (normal_mod_SOURCES): likewise
23541 (datetime_mod_SOURCES): Removed lib/datetime.c
23542 * conf/i386-efi.rmk: likewise
7dd4a573 23543 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23544 * conf/i386-pc.rmk: likewise
23545 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23546 * conf/sparc64-ieee1275.rmk: likewise
23547 * conf/x86_64-efi.rmk: likewise
05aaebfb 23548
8a7e1a14 235492009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23552
23553 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23554 on grub_fat_find_dir
23555 (grub_fat_find_dir): use grub_fat_iterate_dir
23556 (grub_fat_label): likewise
23557
04186a9c 235582009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23559
7dd4a573 23560 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23561 and command.h
23562 remove extraneous kernel_elf_HEADERS
23563
da4c0bb6 235642009-04-04 Bean <bean123ch@gnail.com>
23565
23566 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23567
23568 * util/misc.c: Likewise.
23569
54ad9555 235702009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23571
23572 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23573 instead of grub_printf.
23574
7a6bf9f2 235752009-04-03 Robert Millan <rmh@aybabtu.com>
23576
23577 * loader/i386/linux.c (grub_linux_setup_video): Fill
23578 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23579 values from `mode info' structure instead of hardcoded
23580 values.
23581
3fcc2083 235822009-04-01 Pavel Roskin <proski@gnu.org>
23583
23584 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23585 unused now.
23586 * genmk.rb: Likewise.
23587 * configure.ac: Likewise.
23588
5ec9740b 235892009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23590
23591 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23592 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23593
5270cec8 235942009-04-01 David S. Miller <davem@davemloft.net>
23595
23596 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23597 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23598 (grub_setjmp): Mark with 'returns_twice' attribute.
23599 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23600 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23601 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23602
9c3dd854 236032009-04-01 Robert Millan <rmh@aybabtu.com>
23604
23605 Reapply fix from 2008-07-28 which was accidentally reverted; also
23606 perform the same fix to a similar check in same function.
23607
23608 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23609 with the same number are found, just use issue a warning with
23610 grub_dprintf(), as this error has been reported to be non-fatal.
23611
0d818b7e 236122009-03-31 Pavel Roskin <proski@gnu.org>
23613
23614 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23615 for cross-compilation.
23616
95646d92 236172009-03-30 Robert Millan <rmh@aybabtu.com>
23618
23619 Fix i386-ieee1275 build.
23620
23621 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23622 Remove declaration.
23623
6a003ed1 236242009-03-30 Pavel Roskin <proski@gnu.org>
23625
23626 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23627 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23628 zero-terminated, rely only on the strlen value. Fix comparison
23629 of strings differing in length.
23630
92f33540 236312009-03-30 Robert Millan <rmh@aybabtu.com>
23632
23633 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23634 checking for abi version. Improve error messages on BIOS to notify
23635 user about `linux16' command.
23636
a8c48fd5 236372009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23638
f968172e 23639 Leak fixes
a8c48fd5 23640
f968172e 23641 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23642 in case of collision
23643 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 23644
9c323f09 236452009-03-29 Robert Millan <rmh@aybabtu.com>
23646
23647 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23648 set `vid_mode' accordingly.
23649 (grub_linux_boot): Process `vid_mode' and set video mode.
23650
ae68f423 236512009-03-29 Robert Millan <rmh@aybabtu.com>
23652
23653 * util/grub.d/10_linux.in (linux_entry): New function.
23654 Factorize generation of Linux boot entries.
23655
5709cfc4 236562009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23657
23658 Make the format of Environment Block plain text. The boot loader
23659 part is not tested well yet.
7dd4a573 23660
5709cfc4 23661 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23662 (buffer): Removed.
23663 (envblk): Likewise.
23664 (usage): Remove "info" and "clear". Add "unset". Update the
23665 description of "set", as this does not delete variables any
23666 longer.
23667 (create_envblk_file): Complete rewrite.
23668 (open_envblk_file): Likewise.
23669 (cmd_info): Removed.
23670 (cmd_list): Likewise.
23671 (cmd_set): Likewise.
23672 (cmd_clear): Likewise.
23673 (list_variables): New function.
23674 (write_envblk): Likewise.
23675 (set_variables): Likewise.
23676 (unset_variables): Likewise.
23677 (main): Complete rewrite.
23678
23679 * commands/loadenv.c (buffer): Removed.
23680 (envblk): Likewise.
23681 (open_envblk_file): New function.
23682 (read_envblk_file): Complete rewrite.
23683 (grub_cmd_load_env): Likewise.
23684 (grub_cmd_list_env): Likewise.
23685 (struct blocklist): New struct.
23686 (free_blocklists): New function.
23687 (check_blocklists): Likewise.
23688 (write_blocklists): Likewise.
23689 (grub_cmd_save_env): Complete rewrite.
23690
23691 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23692 a plain text signature.
23693 (GRUB_ENVBLK_MAXLEN): Removed.
23694 (struct grub_envblk): Complete rewrite.
23695 (grub_envblk_find): Removed.
23696 (grub_envblk_insert): Likewise.
23697 (grub_envblk_open): New prototype.
23698 (grub_envblk_set): Likewise.
23699 (grub_envblk_delete): Put const to VALUE.
23700 (grub_envblk_iterate): Put const to NAME and VALUE.
23701 (grub_envblk_close): New prototype.
23702 (grub_envblk_buffer): New inline function.
23703 (grub_envblk_size): Likewise.
23704
23705 * lib/envblk.c: Include grub/mm.h.
23706 (grub_env_find): Removed.
23707 (grub_envblk_open): New function.
23708 (grub_envblk_close): Likewise.
23709 (escaped_value_len): Likewise.
23710 (find_next_line): Likewise.
23711 (grub_envblk_insert): Removed.
23712 (grub_envblk_set): New function.
23713 (grub_envblk_delete): Complete rewrite.
23714 (grub_envblk_iterate): Likewise.
23715
a9368fd3 237162009-03-28 Robert Millan <rmh@aybabtu.com>
23717
23718 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23719 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23720 variables. Use 16-bit loader.
23721 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23722 loader.
23723 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23724 (grub_linux16_boot): ... this. Update all users.
23725 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23726 (grub_linux_boot): ... this. Update all users.
23727
23728 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23729 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23730 commands to `linux16' and `initrd16'.
23731 (GRUB_MOD_FINI(linux)): Rename to ...
23732 (GRUB_MOD_FINI(linux16)): ... this.
23733
e4dd5a7e 237342009-03-24 Pavel Roskin <proski@gnu.org>
23735
23736 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23737 not just for compilation.
23738
c04d6e05 237392009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23740
23741 Move multiboot helper out of kernel
23742
23743 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23744 `loader/i386/multiboot_helper.S'.
23745 * conf/i386-coreboot.rmk: Likewise
23746 * conf/i386-ieee1275.rmk: Likewise
23747
23748 * kern/i386/loader.S: Move multiboot helpers from here...
23749 * loader/i386/multiboot_helper.S: ...moved here
23750 * include/grub/i386/loader.h: Move declarations of multiboot
23751 helpers from here...
23752 * include/grub/i386/multiboot.h: ...moved here
23753 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23754
42a5b3fc 237552009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23756
23757 * kern/env.c (grub_env_context_open): Added an argument to specify
23758 whether a new context inherits exported variables from current
23759 one. This is useful when making a sandbox to interpret a config
23760 file.
23761 All callers updated.
23762
23763 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23764
b28bbc4e 237652009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23766
23767 * kern/env.c (grub_env_context_close): Fix memory leaks.
23768
f04f02e4 237692009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23770
23771 * normal/main.c (grub_normal_execute): Added an argument
23772 BATCH to specify if an interactive interface should be provided
23773 after reading a config file.
23774 All callers updated.
23775 (read_command_list): Prevent being executed twice.
23776 (read_fs_list): Likewise.
23777
42a5b3fc 23778 * include/grub/normal.h (grub_normal_execute): Updated the
23779 prototype.
f04f02e4 23780
41473ac2 237812009-03-22 Pavel Roskin <proski@gno.org>
23782
fbc00b0c 23783 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23784 _start.
23785 * kern/i386/pc/startup.S: Likewise.
23786 * kern/i386/efi/startup.S: Likewise.
23787 * kern/i386/ieee1275/startup.S: Likewise.
23788 * kern/i386/coreboot/startup.S: Likewise.
23789 * kern/x86_64/efi/startup.S: Likewise.
23790
41473ac2 23791 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23792 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23793 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23794
2274cc8f 237952009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23796
23797 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23798
23799 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23800 limit detection.
23801 Use vaddr of correct segment for entry_point.
23802
b1b797cb 238032009-03-21 Bean <bean123ch@gmail.com>
23804
23805 * commands/blocklist.c: Add include file <grub/command.h>, remove
23806 <grub/normal.h> and <grub/arg.h>.
23807 (grub_cmd_blocklist): Use the new command interface.
23808 (GRUB_MOD_INIT): Likewise.
23809 (GRUB_MOD_FINI): Likewise.
23810 * commands/boot.c: Likewise.
23811 * commands/cat.c: Likewise.
23812 * commands/cmp.c: Likewise.
23813 * commands/configfile.c: Likewise.
23814 * commands/crc.c: Likewise.
23815 * commands/echo.c: Likewise.
23816 * commands/halt.c: Likewise.
23817 * commands/handler.c: Likewise.
23818 * commands/hdparm.c: Likewise.
23819 * commands/help.c: Likewise.
23820 * commands/hexdump.c: Likewise.
23821 * commands/loadenv.c: Likewise.
23822 * commands/ls.c: Likewise.
23823 * commands/lsmmap.c: Likewise.
23824 * commands/lspci.c: Likewise.
23825 * commands/loadenv.c: Likewise.
23826 * commands/read.c: Likewise.
23827 * commands/reboot.c: Likewise.
23828 * commands/search.c: Likewise.
23829 * commands/sleep.c: Likewise.
23830 * commands/test.c: Likewise.
23831 * commands/usbtest.c: Likewise.
23832 * commands/videotest.c: Likewise.
23833 * commands/i386/cpuid.c: Likewise.
23834 * commands/i386/pc/halt.c: Likewise.
23835 * commands/i386/pc/play.c: Likewise.
23836 * commands/i386/pc/pxecmd.c: Likewise.
23837 * commands/i386/pc/vbeinfo.c: Likewise.
23838 * commands/i386/pc/vbetest.c: Likewise.
23839 * commands/ieee1275/suspend.c: Likewise.
23840 * disk/loopback.c: Likewise.
23841 * font/font_cmd.c: Likewise.
23842 * hello/hello.c: Likewise.
23843 * loader/efi/appleloader.c: Likewise.
23844 * loader/efi/chainloader.c: Likewise.
23845 * loader/i386/bsd.c: Likewise.
23846 * loader/i386/efi/linux.c: Likewise.
23847 * loader/i386/ieee1275/linux.c: Likewise.
23848 * loader/i386/linux.c: Likewise.
23849 * loader/i386/pc/chainloader.c: Likewise.
23850 * loader/i386/pc/linux.c: Likewise.
23851 * loader/powerpc/ieee1275/linux.c: Likewise.
23852 * loader/multiboot_loader.c: Likewise.
23853 * term/gfxterm.c: Likewise.
23854 * term/i386/pc/serial.c: Likewise.
23855 * term/terminfo.c: Likewise.
23856
23857 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
23858 * term/i386/pc/vga.c: Likewise.
23859 * video/readers/jpeg.c: Likewise.
23860 * video/readers/png.c: Likewise.
23861 * video/readers/tga.c: Likewise.
23862
23863 * util/grub-fstest (cmd_loopback): Removed.
23864 (cmd_blocklist): Likewise.
23865 (cmd_ls): Likewise.
23866 (grub_register_command): Likewise.
23867 (grub_unregister_command): Likewise.
23868 (execute_command): Use grub_command_find to locate command and execute
23869 it.
23870
23871 * include/grub/efi/chainloader.h: Removed.
23872 * loader/efi/chainloader_normal.c: Likewise.
23873 * loader/i386/bsd_normal.c: Likewise.
23874 * loader/i386/pc/chainloader_normal.c: Likewise.
23875 * loader/i386/pc/multiboot_normal.c: Likewise.
23876 * loader/linux_normal.c: Likewise.
23877 * loader/multiboot_loader_normal.c: Likewise.
23878 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
23879
23880 * gencmdlist.sh: Scan new registration command grub_register_extcmd
23881 and grub_register_command_p1.
23882
23883 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
23884 kern/command.c, lib/arg.c and commands/extcmd.c.
23885 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
23886 (minicmd_mod_SOURCES): New variable.
23887 (minicmd_mod_CFLAGS): Likewise.
23888 (minicmd_mod_LDFLAGS): Likewise.
23889 (extcmd_mod_SOURCES): Likewise.
23890 (extcmd_mod_CFLAGS): Likewise.
23891 (extcmd_mod_LDFLAGS): Likewise.
23892 (boot_mod_SOURCES): Removed.
23893 (boot_mod_CFLAGS): Likewise.
23894 (boot_mod_LDFLAGS): Likewise.
23895
23896 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
23897 kern/corecmd.c.
23898 (kernel_img_HEADERS): Add command.h.
23899 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
23900 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
23901 and lib/arg.c.
23902 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
23903 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
23904 remove the corresponding normal mode command.
23905 (normal_mod_SOURCES): Remove normal/arg.c.
23906 * conf/i386-coreboot.rmk: Likewise.
23907 * conf/i386-efi.rmk: Likewise.
23908 * conf/i386-ieee1275.rmk: Likewise.
23909 * conf/powerpc-ieee1275.rmk: Likewise.
23910 * conf/x86_64-efi.rmk: Likewise.
23911
23912 * include/grub/arg.h: Move from here ...
23913 * include/grub/lib/arg.h: ... to here.
23914
23915 * normal/arg.c: Move from here ...
23916 * lib/arg.c: ... to here.
23917
23918 * commands/extcmd.c: New file.
23919 * commands/minicmd.c: Likewise.
23920 * include/grub/command.h: Likewise.
23921 * include/grub/extcmd.h: Likewise.
23922 * kern/command.c: Likewise.
23923 * kern/corecmd.c: Likewise.
23924
23925 * kern/list.c (grub_list_iterate): Return int instead of void.
23926 (grub_list_insert): New function.
23927 (grub_prio_list_insert): Likewise.
23928
23929 * kern/rescue.c (grub_rescue_command): Removed.
23930 (grub_rescue_command_list): Likewise.
23931 (grub_rescue_register_command): Likewise.
23932 (grub_rescue_unregister_command): Likewise.
23933 (grub_rescue_cmd_boot): Move to minicmd.c
23934 (grub_rescue_cmd_help): Likewise.
23935 (grub_rescue_cmd_info): Likewise.
23936 (grub_rescue_cmd_boot): Likewise.
23937 (grub_rescue_cmd_testload): Likewise.
23938 (grub_rescue_cmd_dump): Likewise.
23939 (grub_rescue_cmd_rmmod): Likewise.
23940 (grub_rescue_cmd_lsmod): Likewise.
23941 (grub_rescue_cmd_exit): Likewise.
23942 (grub_rescue_print_devices): Moved to corecmd.c.
23943 (grub_rescue_print_files): Likewise.
23944 (grub_rescue_cmd_ls): Likewise.
23945 (grub_rescue_cmd_insmod): Likewise.
23946 (grub_rescue_cmd_set): Likewise.
23947 (grub_rescue_cmd_unset): Likewise.
7d074e3c 23948 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 23949 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 23950 commands, remove grub_rescue_register_command calls.
b1b797cb 23951
7d074e3c 23952 * normal/command.c (grub_register_command): Removed.
b1b797cb 23953 (grub_unregister_command): Likewise.
23954 (grub_command_find): Likewise.
23955 (grub_iterate_commands): Likewise.
23956 (rescue_command): Likewise.
23957 (export_command): Moved to corecmd.c.
23958 (set_command): Removed.
23959 (unset_command): Likewise.
23960 (insmod_command): Likewise.
23961 (rmmod_command): Likewise.
23962 (lsmod_command): Likewise.
23963 (grub_command_init): Likewise.
23964
23965 * normal/completion.c (iterate_command): Use cmd->prio to check for
23966 active command.
23967 (complete_arguments): Use grub_extcmd_t structure to find options.
23968 (grub_normal_do_completion): Change function grub_iterate_commands to
23969 grub_command_iterate.
23970
23971 * normal/execute.c (grub_script_execute_cmd): No need to parse
23972 argument here.
23973
23974 * normal/main.c (grub_dyncmd_dispatcher): New function.
23975 (read_command_list): Register unload commands as dyncmd.
23976 (grub_cmd_normal): Use new command interface, register rescue,
23977 unregister normal at entry, register normal, unregister rescue at exit.
23978
23979 * include/grub/list.h (grub_list_test_t): New type.
23980 (grub_list_iterate): Return int instead of void.
23981 (grub_list_insert): New function.
23982 (GRUB_AS_NAMED_LIST_P): New macro.
23983 (GRUB_AS_PRIO_LIST): Likewise.
23984 (GRUB_AS_PRIO_LIST_P): Likewise.
23985 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
23986 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
23987 (grub_prio_list): New structure.
23988 (grub_prio_list_insert): New function.
23989 (grub_prio_list_remove): New inline function.
23990
23991 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
23992 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
23993 (GRUB_COMMAND_FLAG_MENU): Likewise.
23994 (GRUB_COMMAND_FLAG_BOTH): Likewise.
23995 (GRUB_COMMAND_FLAG_TITLE): Likewise.
23996 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
23997 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
23998 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
23999 (grub_command): Likewise.
24000 (grub_register_command): Likewise.
24001 (grub_command_find): Likewise.
24002 (grub_iterate_commands): Likewise.
24003 (grub_command_init): Likewise.
24004 (grub_arg_parse): Likewise.
24005 (grub_arg_show_help): Likewise.
24006
24007 * include/grub/rescue.h (grub_rescue_register_command): Removed.
24008 (grub_rescue_unregister_command): Likewise.
24009
24010 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
24011 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
24012 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
24013
24014 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
24015 grub_rescue_cmd_initrd.
24016 * include/grub/i386/loader.h: Likewise.
24017 * include/grub/x86_64/loader.h: Likewise.
24018
24019 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
24020
1f4147aa 240212009-03-21 Bean <bean123ch@gmail.com>
24022
24023 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
24024 instead of stat in mingw environment.
24025
24026 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
24027
24028 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
24029
24030 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
24031 AC_CONFIG_LINKS.
24032
2156d5ba 240332009-03-21 Bean <bean123ch@gmail.com>
24034
24035 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
24036 out of range error.
24037
177b82ca 240382009-03-18 Michel Dänzer <michel@daenzer.net>
24039
24040 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
24041 checking inode flags for EXT4_EXTENTS_FLAG.
24042
14aad807 240432009-03-18 Robert Millan <rmh@aybabtu.com>
24044
24045 * loader/i386/linux.c: Include `<grub/video.h>' and
24046 `<grub/i386/pc/vbe.h>'..
24047 (grub_linux_setup_video): New function. Loosely based on the EFI one.
24048 (grub_linux32_boot): Attempt to configure video settings with
24049 grub_linux_setup_video().
24050 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
24051 to avoid grub_console_fini() which would step out of graphical mode
24052 unconditionally.
24053
8cf83a27 240542009-03-14 Robert Millan <rmh@aybabtu.com>
24055
24056 Fix build on powerpc.
24057 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
24058
40164e75 240592009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
24060
24061 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
24062 background image command.
24063
c58bc32a 240642009-03-12 Colin D Bennett <colin@gibibit.com>
24065
24066 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
24067 (grub_gfxterm_putchar): Extract pairs of identical calls to
24068 draw_cursor out of conditional blocks.
24069
5415144a 240702009-03-11 Pavel Roskin <proski@gnu.org>
24071
24072 * fs/hfs.c (grub_hfs_strncasecmp): New function.
24073 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
24074
6394042e 240752009-03-11 Robert Millan <rmh@aybabtu.com>
24076
24077 * loader/i386/multiboot_elfxx.c
24078 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
24079
b7b50e5f 240802009-03-11 Felix Zielcke <fzielcke@z-51.de>
24081
24082 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
24083 `kern/handler.c'.
24084
1ca7fc96 240852009-03-11 Robert Millan <rmh@aybabtu.com>
24086
24087 * loader/i386/multiboot.c (code_size): New variable.
24088 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 24089 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 24090 4-byte alignment to MBI and others by increasing
7d074e3c 24091 `boot_loader_name_length' appropriately.
1ca7fc96 24092
24093 * loader/i386/multiboot_elfxx.c
24094 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
24095
a83ea1d2 240962009-03-09 Felix Zielcke <fzielcke@z-51.de>
24097
24098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
24099 `fs/ext2.c'.
24100
aa9f3bff 241012009-03-08 Robert Millan <rmh@aybabtu.com>
24102
24103 Make loader/i386/linux.c usable on i386-pc again.
24104
24105 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
24106 memory to heap.
24107 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
24108 `#error' stanza.
24109
d8b3b60e 241102009-03-07 Bean <bean123ch@gmail.com>
24111
24112 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
24113 allocation.
24114
b362c9e9 241152009-03-06 Robert Millan <rmh@aybabtu.com>
24116
24117 Fix display issue on terminals with screen size other than 80x25
24118 (e.g. gfxterm with resolution higher than 640x480).
24119
24120 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 24121 position relative to the center of the terminal instead of relying
b362c9e9 24122 on a hardcoded offset.
24123
9304eef1 241242009-03-04 Robert Millan <rmh@aybabtu.com>
24125
24126 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
24127 installed.
24128
24129 * Makefile.in (host_kernel): New variable.
24130 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
24131 scripts instead of just the windows one.
24132 * configure.ac: Initialize and AC_SUBST `host_kernel'.
24133
eabc95fb 241342009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 24135
24136 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
24137 `kern/handler.c'.
24138 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24139 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24140 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24142 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24143 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24144
ceb1223c 241452009-03-04 Felix Zielcke <fzielcke@z-51.de>
24146
24147 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24148 or if there's no space for the disk label and print the partition number on a
24149 invalid magic.
24150
4910684a 241512009-03-04 Felix Zielcke <fzielcke@z-51.de>
24152
24153 * util/misc.c: Include <time.h>.
24154 (grub_millisleep): New function.
24155
7e9ca17a 241562009-03-04 Bean <bean123ch@gmail.com>
24157
24158 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24159 another option -mno-red-zone.
24160
24161 * commands/handler.c: Change module description.
24162
24163 * kern/handler.c: Add missing space at the end of description line.
24164
24165 * kern/list.c: Likewise.
24166
f501677c 241672009-03-03 Robert Millan <rmh@aybabtu.com>
24168
24169 Move more components to the relocation area, and fix mbi pointer
24170 handling to use the destination rather than the origin (thanks to
24171 Vladimir Serbinenko for spotting).
24172
24173 * loader/i386/multiboot.c (mbi_dest): New variable.
24174 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24175 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24176 relocation area.
24177
9902d047 241782009-03-01 Bean <bean123ch@gmail.com>
24179
50fb7002 24180 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24181 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24182 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24183 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24184
24185 * loader/i386/efi/linux.c (acpi_guid): New variable.
24186 (acpi_guid): Likewise.
24187 (EBDA_SEG_ADDR): New constant.
24188 (LOW_MEM_ADDR): Likewise.
24189 (FAKE_EBDA_SEG): Likewise.
24190 (fake_bios_data): New function.
24191 (grub_linux_boot): Call fake_bios_data.
24192
71b9f361 241932009-03-01 Bean <bean123ch@gmail.com>
24194
24195 * commands/terminal.c: Removed.
24196
24197 * commands/handler.c: New file.
24198
24199 * include/grub/list.h: Likewise.
24200
24201 * include/grub/handler.h: Likewise.
24202
24203 * kern/list.c: Likewise.
24204
24205 * kern/handler.c: Likewise.
24206
24207 * kern/term.h: Include header file <grub/handler.h>.
24208 (grub_term_input): Move next field to the beginning.
24209 (grub_term_output): Likewise.
24210 (grub_term_input_class): New variable.
24211 (grub_term_output_class): Likewise.
24212 (grub_term_register_input): Changed to inline function.
24213 (grub_term_register_output): Likewise.
24214 (grub_term_unregister_input): Likewise.
24215 (grub_term_unregister_output): Likewise.
24216 (grub_term_set_current_input): Likewise.
24217 (grub_term_set_current_output): Likewise.
24218 (grub_term_get_current_input): Likewise.
24219 (grub_term_get_current_output): Likewise.
24220 (grub_term_iterate_input): Removed.
24221 (grub_term_iterate_output): Likewise.
24222
24223 * kern/term.c (grub_term_list_input): Removed.
24224 (grub_term_list_output): Likewise.
24225 (grub_term_input_class): New variable.
24226 (grub_term_output_class): Likewise.
50fb7002 24227 (grub_cur_term_input): Change variable as macro.
71b9f361 24228 (grub_cur_term_output): Likewise.
24229 (grub_term_register_input): Removed.
24230 (grub_term_register_output): Likewise.
24231 (grub_term_unregister_input): Likewise.
24232 (grub_term_unregister_output): Likewise.
24233 (grub_term_set_current_input): Likewise.
24234 (grub_term_set_current_output): Likewise.
24235 (grub_term_iterate_input): Likewise.
24236 (grub_term_iterate_output): Likewise.
24237 (grub_term_get_current_input): Likewise.
24238 (grub_term_get_current_output): Likewise.
24239
24240 * util/grub-editenv.c: Include header file <grub/handler.h>.
24241 (grub_term_get_current_input): Removed.
24242 (grub_term_get_current_output): Likewise.
24243 (grub_term_input_class): New variable.
50fb7002 24244 (grub_term_output_class): Likewise.
71b9f361 24245
24246 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24247 (grub_term_get_current_output): Likewise.
24248 (grub_term_input_class): New variable.
50fb7002 24249 (grub_term_output_class): Likewise.
71b9f361 24250
24251 * util/grub-probe.c (grub_term_get_current_input): Removed.
24252 (grub_term_get_current_output): Likewise.
24253 (grub_term_input_class): New variable.
50fb7002 24254 (grub_term_output_class): Likewise.
71b9f361 24255
24256 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24257 (grub_term_get_current_output): Likewise.
24258 (grub_term_input_class): New variable.
50fb7002 24259 (grub_term_output_class): Likewise.
71b9f361 24260
24261 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24262 (terminal_mod_SOURCES): Likewise.
24263 (terminal_mod_CFLAGS): Likewise.
24264 (terminal_mod_LDFLAGS): Likewise.
24265
24266 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24267 handler.c.
24268 (kernel_img_SOURCES): Add list.c and handler.c.
24269 (kernel_img_HEADERS): Add list.h and handler.h.
24270
24271 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24272 handler.c.
24273 (kernel_mod_SOURCES): Add list.c and handler.c.
24274 (kernel_mod_HEADERS): Add list.h and handler.h.
24275
24276 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24277 handler.c.
24278 (kernel_elf_SOURCES): Add list.c and handler.c.
24279 (kernel_elf_HEADERS): Add list.h and handler.h.
24280
24281 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24282 handler.c.
24283 (kernel_elf_SOURCES): Add list.c and handler.c.
24284 (kernel_elf_HEADERS): Add list.h and handler.h.
24285
24286 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24287 handler.c.
24288 (kernel_mod_SOURCES): Add list.c and handler.c.
24289 (kernel_mod_HEADERS): Add list.h and handler.h.
24290
24291 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24292 handler.c.
24293 (kernel_elf_SOURCES): Add list.c and handler.c.
24294 (kernel_elf_HEADERS): Add list.h and handler.h.
24295
8a31787f 242962009-02-27 Robert Millan <rmh@aybabtu.com>
24297
24298 Factorize elf32 / elf64 code in Multiboot loader. This will
24299 prevent it from getting out of sync again.
24300
24301 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24302 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24303 grub_multiboot_load_elf64): Move from here ...
24304 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24305 grub_multiboot_load_elf): ... to here (new file).
24306
51cd3dfc 243072009-02-27 Robert Millan <rmh@aybabtu.com>
24308
24309 * util/grub.d/10_linux.in: Rename "single-user mode" to
24310 "recovery mode".
24311
6e8c9c3a 243122009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 Don't leak in SCSI code.
24315 * disk/scsi.c (grub_scsi_close): free `scsi'.
24316
4b6bf4f9 243172009-02-27 Robert Millan <rmh@aybabtu.com>
24318
24319 * loader/i386/pc/multiboot.c: Move from here ...
24320 * loader/i386/multiboot.c: ... to here. Update all users.
24321
b9413424 243222009-02-27 Robert Millan <rmh@aybabtu.com>
24323
24324 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24325 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24326
50fb7002 243272009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24328
24329 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24330 b-tree.
24331
8cc50345 243322009-02-27 Robert Millan <rmh@aybabtu.com>
24333
24334 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24335 `0x' qualifier as 0 when base is specified as parameter).
24336
6e09b8b7 243372009-02-24 Bean <bean123ch@gmail.com>
24338
24339 * configure.ac: Check for -mcmodel=large in x86_64 target.
24340
24341 * include/grub/efi/api.h (efi_call_10): New macro.
24342 (efi_wrap_10): New function.
24343
24344 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24345 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24346 (GRUB_PE32_REL_BASED_LOW): Likewise.
24347 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24348 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24349 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24350 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24351 (GRUB_PE32_REL_BASED_REL): Likewise.
24352 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24353 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24354 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24355
24356 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24357 issue.
24358
24359 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24360 (efi_wrap_10): New function.
24361
24362 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24363
24364 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24365 MB/MBP model (NV chipset).
24366 (devdata_devs): Add devpath_5 to the list.
24367
24368 * load/i386/efi/linux.c (video_base): Remove variable.
24369 (RGB_MASK): New macro.
24370 (RGB_MAGIC): Likewise.
24371 (LINE_MIN): Likewise.
24372 (LINE_MAX): Likewise.
24373 (FBTEST_STEP): Likewise.
24374 (FBTEST_COUNT): Likewise.
24375 (fb_list): New variable.
24376 (grub_find_video_card): Remove function.
24377 (find_framebuf): New function.
24378 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24379 line length.
24380
24381 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24382 problem for x86_64.
24383
74b21bee 243842009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24385
24386 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24387
24388 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24389 coding tool name.
24390
a455f472 243912009-02-22 Robert Millan <rmh@aybabtu.com>
24392
24393 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24394 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24395 in our relocation, instead of using it directly from heap. Also
24396 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24397
6374daf3 243982009-02-21 Robert Millan <rmh@aybabtu.com>
24399
24400 Implement USB keyboard support (based on patch by Marco Gerards)
24401
24402 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24403 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24404 (usb_keyboard_mod_LDFLAGS): New variables.
24405
24406 * term/usb_keyboard.c: New file.
24407
8fa4ea70 244082009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24409
24410 Corrected wrong declaration
24411
24412 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24413
353976ac 244142009-02-14 Christian Franke <franke@computer.org>
24415
24416 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24417 (grub_lspci_iter): Print class code and programming interface byte.
24418
6aa1169b 244192009-02-14 Christian Franke <franke@computer.org>
24420
24421 * gendistlist.sh: Ignore `.svn' directories.
24422
265372ca 244232009-02-14 Felix Zielcke <fzielcke@z-51.de>
24424
24425 * fs/fat.c: Add 2009 to Copyright line.
24426
9ff516f3 244272009-02-14 Christian Franke <franke@computer.org>
24428
24429 * commands/hdparm.c: New file. Provides `hdparm' command
24430 which sends ATA commands via grub_disk_ata_pass_through ().
24431
24432 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24433
24434 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24435 and <grub/cpu/io.h> to include/grub/ata.h.
24436 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24437 (GRUB_CDROM_SECTOR_SIZE): Remove.
24438 (GRUB_ATA_*): Move to include/grub/ata.h.
24439 (GRUB_ATAPI_*): Likewise.
24440 (enum grub_ata_commands): Likewise.
24441 (enum grub_ata_timeout_milliseconds): Likewise.
24442 (struct grub_ata_device): Likewise.
24443 (grub_ata_regset): Likewise.
24444 (grub_ata_regget): Likewise.
24445 (grub_ata_regset2): Likewise.
24446 (grub_ata_regget2): Likewise.
24447 (grub_ata_check_ready): Likewise.
24448 (grub_ata_wait_not_busy): Remove static, exported in
24449 include/grub/ata.h.
24450 (grub_ata_wait_drq): Likewise.
24451 (grub_ata_pio_read): Likewise.
24452
24453 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24454 function for hdparm.mod.
24455
24456 * include/grub/ata.h: New file, contains declarations from
24457 disk/ata.c.
24458 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24459
24460 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24461 (grub_disk_ata_pass_through): New exported variable.
24462
24463 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24464
772e23da 244652009-02-13 Colin D Bennett <colin@gibibit.com>
24466
24467 Support multiple fallback entries, and provide an API to support
24468 executing default+fallback menu entries. Renamed the `terminal' menu
24469 viewer to `text'.
24470
24471 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24472 variable declaration.
24473 (grub_menu_execute_callback): New structure declaration.
24474 (grub_menu_execute_callback_t): New typedef.
24475 (grub_menu_execute_with_fallback): New function declaration.
24476 (grub_menu_get_entry): Likewise.
24477 (grub_menu_get_timeout): Likewise.
24478 (grub_menu_set_timeout): Likewise.
24479
24480 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24481
24482 * normal/menu.c (grub_wait_after_message): Moved to
24483 `normal/menu_text.c'.
24484 (draw_border): Likewise.
24485 (print_message): Likewise.
24486 (print_entry): Likewise.
24487 (print_entries): Likewise.
24488 (grub_menu_init_page): Likewise.
24489 (get_entry_number): Likewise.
24490 (print_timeout): Likewise.
24491 (run_menu): Likewise.
24492 (grub_menu_execute_entry): Likewise.
24493 (show_text_menu): Likewise.
24494 (get_and_remove_first_entry_number): New function.
24495 (grub_menu_execute_with_fallback): Likewise.
24496 (get_entry): Renamed to ...
24497 (grub_menu_get_entry): .. this and made it global.
24498 (get_timeout): Renamed to ...
24499 (grub_menu_get_timeout): ... this and made it global.
24500 (set_timeout): Renamed to ...
24501 (grub_menu_set_timeout): ... this and made it global.
24502 (grub_normal_terminal_menu_viewer): Renamed to ...
24503 (grub_normal_text_menu_viewer): ... this.
24504
24505 * normal/menu_text.c: New file. Extracted text-menu-specific code
24506 from normal/menu.c.
24507
24508 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24509 (normal_mod_SOURCES): Likewise.
24510
24511 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24512 (normal_mod_SOURCES): Likewise.
24513
24514 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24515 (normal_mod_SOURCES): Likewise.
24516
24517 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24518 (normal_mod_SOURCES): Likewise.
24519
24520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24521 (normal_mod_SOURCES): Likewise.
24522
24523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24524 (normal_mod_SOURCES): Likewise.
24525
24526 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24527 (normal_mod_SOURCES): Likewise.
24528
16ac430e 245292009-02-11 Robert Millan <rmh@aybabtu.com>
24530
24531 * util/grub.d/00_header.in: Update old reference to `font' command.
24532
06ff20fc 245332009-02-10 Felix Zielcke <fzielcke@z-51.de>
24534
24535 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24536
24537 Based on patch from Javier Martín.
24538
96da9407 245392009-02-09 Felix Zielcke <fzielcke@z-51.de>
24540
24541 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24542 to avoid false positives with FAT.
96da9407 24543 (grub_fstest_SOURCES): Likewise.
24544 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24545 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24547 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24548 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24549 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24550
6dca6fe4 245512009-02-09 Felix Zielcke <fzielcke@z-51.de>
24552
06ff20fc 24553 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24554 bpb.version_specific.fat12_or_fat16.fstype and
24555 bpb.version_specific.fat32.fstype.
24556
2550c62f 245572009-02-08 Robert Millan <rmh@aybabtu.com>
24558
be110b30 24559 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24560
56978920 245612009-02-08 Robert Millan <rmh@aybabtu.com>
24562
24563 * Makefile.in (host_os, host_cpu): New variables.
24564 (target_os): Remove. Update all users.
24565
d64399b5 245662009-02-08 Marco Gerards <marco@gnu.org>
24567
24568 * Makefile.in (enable_grub_emu_usb): New variable.
24569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24570 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24571 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24572 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24573 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24574 `usbtest.mod' and `usbms.mod'.
24575 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24576 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24577 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24578 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24579 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24580 variables.
24581
24582 * disk/usbms.c: New file.
24583
24584 * include/grub/usb.h: Likewise.
24585
24586 * include/grub/usbtrans.h: Likewise.
24587
24588 * include/grub/usbdesc.h: Likewise.
24589
24590 * bus/usb/usbtrans.c: Likewise.
24591
24592 * bus/usb/ohci.c: Likewise.
24593
24594 * bus/usb/uhci.c: Likewise.
24595
24596 * bus/usb/usbhub.c: Likewise.
24597
24598 * bus/usb/usb.c: Likewise.
24599
24600 * commands/usbtest.c: Likewise.
24601
24602 * util/usb.c: Likewise.
50fb7002 24603
d64399b5 24604 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24605
24606 * configure.ac: Test for libusb presence.
50fb7002 24607
d64399b5 24608 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24609
2b40d6bb 246102009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24611
24612 * kern/mm.c: Add more comments.
24613
73a4ce81 246142009-02-08 Robert Millan <rmh@aybabtu.com>
24615
24616 Patch from Javier Martín.
24617 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24618 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24619
f821ce59 246202009-02-08 Robert Millan <rmh@aybabtu.com>
24621
24622 * fs/cpio.c: Split tar functionality to ...
24623 * fs/tar.c: ... here (new file). Update all users.
24624
aebfc4b0 246252009-02-07 Robert Millan <rmh@aybabtu.com>
24626
24627 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24628 backward-incompatible features.
24629
24630 Based on patch from Javier Martín, with some adjustments.
24631
50fb7002 246322009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24633
24634 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24635
0bb5115e 246362009-02-07 Robert Millan <rmh@aybabtu.com>
24637
24638 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24639 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24640 after the RAID stuff.
24641
38a0f8e7 246422009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24643
50fb7002 24644 Fixes problem when running vbetest command as reported by
38a0f8e7 24645 Vladimir Serbinenko <phcoder@gmail.com>.
24646
24647 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24648
3143cc1c 246492009-02-04 Felix Zielcke <fzielcke@z-51.de>
24650
24651 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24652 /dev/md/NpN style mdraid devices.
24653
9cba6fce 246542009-02-03 Felix Zielcke <fzielcke@z-51.de>
24655
24656 * util/unifont2pff.rb: Remove.
24657
e507a2c1 246582009-02-03 Felix Zielcke <fzielcke@z-51.de>
24659
24660 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24661 `#'.
24662
d2c2b4cd 246632009-02-03 Felix Zielcke <fzielcke@z-51.de>
24664
24665 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24666 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24668 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24672
b4315fb0 246732009-02-02 Christian Franke <franke@computer.org>
24674
24675 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24676
de3aa260 246772009-02-01 Felix Zielcke <fzielcke@z-51.de>
24678
7c3ff286 24679 * INSTALL: Note that we now require at least autoconf 2.59 and
24680 that LZO is optional.
de3aa260 24681
825a182b 246822009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24683
24684 Base on patch on bug #24154 created by Tomas Tintera
24685 <trosos@seznam.cz>.
24686
24687 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24688
a69ef770 246892009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24690
7c3ff286 24691 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 24692 <bero@arklinux.org>.
24693
24694 * normal/parser.y (script_init): Add missing semicolon.
24695
6fa42fa6 246962009-01-31 Colin D Bennett <colin@gibibit.com>
24697
7c3ff286 24698 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 24699 (free_menu_entry_classes): Added.
24700 (grub_normal_menu_addentry): Added class property handling.
24701 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24702 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24703
24704 * normal/menu_viewer.c: New file.
24705
24706 * normal/menu.c (run_menu_entry): Renamed to ...
24707 (grub_menu_execute_entry): ... this and made it as global.
24708 (grub_menu_run): Renamed to ...
24709 (show_text_menu): ... this and made it local.
24710 (show_text_menu): Adapt to new function names.
24711 (grub_normal_terminal_menu_viewer): New global variable.
24712
24713 * include/grub/menu.h: New file.
24714
24715 * include/grub/menu_viewer.h: New file.
24716
24717 * include/grub/normal.h: Added include to grub/menu.h.
24718 (grub_menu_entry): Moved to include/grub/menu.h.
24719 (grub_menu_entry_t): Likewise.
24720 (grub_menu): Likewise.
24721 (grub_menu_t): Likewise.
24722 (grub_normal_terminal_menu_viewer): Added.
24723 (grub_menu_execute_entry): Likewise.
24724 (grub_menu_run): Removed.
24725
24726 * DISTLIST: Added include/grub/menu.h.
24727 Added include/grub/menu_viewer.h.
24728 Added normal/menu_viewer.c.
24729
247302009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24731
24732 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24733 arglist for menutitle arguments.
24734
24735 * normal/main.c (grub_normal_menu_addentry): Likewise.
24736
24737 * normal/parser.y (menuentry): Likewise.
24738
24739 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24740
24741 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24742 (grub_script_create_cmdmenu): Likewise.
24743
24744 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24745
24746 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24747 changes.
24748
24749 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24750
24751 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24752
24753 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24754
24755 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24756
24757 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24758
24759 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24760
56192c23 247612009-01-30 Christian Franke <franke@computer.org>
24762
24763 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24764 in option help text.
24765
d72521b3 247662009-01-27 Pavel Roskin <proski@gnu.org>
24767
24768 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24769
994b5e84 247702009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24771
24772 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24773
24774 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24775
24776 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24777 unregister function.
24778
6a7eab2c 247792009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24780
24781 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24782
24783 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24784
24785 * util/grub-mkfont.c (usage): Fix typo.
24786
24787 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24788
1806b56e 247892009-01-26 Daniel Mierswa <impulze@impulze.org>
24790
3fb18f09 24791 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24792
336e1fb9 24793 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24794
1806b56e 24795 * kern/misc.c (grub_strcasecmp): New function.
24796 (grub_strcasecmp): Use grub_size_t instead of int for length.
24797 Fix return value.
24798 * include/grub/misc.h: Update function prototypes.
24799
580b2a0f 248002009-01-26 Robert Millan <rmh@aybabtu.com>
24801
24802 * configure.ac: Fix cross-compilation check.
ef257b36 24803
d31c24f1 248042009-01-22 Christian Franke <franke@computer.org>
24805
24806 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24807 (precision) digit string. Allow `.format2' without `format1' (width).
24808 Limit input chars for `%s' output to `format2' if specified. This is
24809 compatible with standard printf ().
24810
3138b44c 248112009-01-22 Christian Franke <franke@computer.org>
24812
24813 * disk/ata.c (grub_ata_wait_status): Replace by ...
24814 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24815 other status bits may be invalid while BSY is asserted.
24816 (grub_ata_check_ready): New function.
24817 (grub_ata_cmd): Removed.
24818 (grub_ata_wait_drq): New function.
24819 (grub_ata_strncpy): Remove inline.
24820 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24821 and error check now done by grub_ata_wait_drq ().
24822 (grub_ata_pio_write): Likewise.
24823 (grub_atapi_identify): Set DEV before check for !BSY. Use
24824 grub_ata_wait_drq () to wait for data.
24825 (grub_ata_device_initialize): Add status register check to
24826 detect missing SATA slave devices. Add debug messages.
24827 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24828 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24829 transfer loop by grub_ata_pio_write ().
24830 (grub_ata_identify): Set DEV before check for !BSY. Use
24831 grub_ata_wait_drq () to wait for data.
ef257b36 24832 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 24833 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24834 read/write in one loop. Fix invalid command on write. Fix incomplete
24835 command on (size % batch) == 0. Add missing error check after write of
24836 last block. Add debug messages.
24837 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24838
59a64ef6 248392009-01-19 Christian Franke <franke@computer.org>
24840
24841 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24842 (GRUB_ATAPI_IREASON_*): Likewise.
24843 (grub_ata_pio_write): Fix timeout error return.
24844 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24845 (grub_atapi_wait_drq): New function.
24846 (grub_atapi_packet): New parameter `size'.
24847 Use grub_atapi_wait_drq () and direct write instead of
24848 grub_ata_pio_write ().
24849 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
24850 reads the number of bytes requested by the device for each DRQ
24851 assertion.
24852 (grub_atapi_write): Remove old implementation, return not
24853 implemented instead.
24854
1cfe20b3 248552009-01-19 Christian Franke <franke@computer.org>
24856
24857 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
24858 of 512 to calculate data size.
24859 (grub_scsi_read12): Likewise.
24860 (grub_scsi_write10): Likewise.
24861 (grub_scsi_write12): Likewise.
24862 (grub_scsi_read): Adjust size according to blocksize.
24863 Add checks for invalid blocksize and unaligned transfer.
24864
bee5fe5d 248652009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
24866
24867 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
24868
ef257b36 24869 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 24870 width glyphs.
24871
3e643f8c 248722009-01-19 Robert Millan <rmh@aybabtu.com>
24873
24874 * config.guess: Update to latest version from config git.
24875 * config.sub: Likewise.
24876
4fa80998 248772009-01-17 Felix Zielcke <fzielcke@z-51.de>
24878
24879 * Makefile.in: Change font compilation to use new grub-mkfont instead
24880 of java version.
24881
24882 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
24883 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24884 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24885 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24886 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24887 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24888 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24889 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24890 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24891
7086085b 248922009-01-16 Christian Franke <franke@computer.org>
24893
24894 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
24895 (enum grub_ata_timeout_milliseconds): New enum.
24896 (grub_ata_wait_status): Add parameter milliseconds.
24897 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
24898 recovery from timed-out commands.
24899 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
24900 return grub_errno instead of REG_ERROR.
24901 (grub_ata_pio_write): Add parameter milliseconds.
24902 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
24903 Pass milliseconds to grub_ata_wait_status () and
24904 grub_ata_pio_read ().
24905 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
24906 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
24907 grub_ata_wait_status (). Fix IDENTIFY timeout check.
24908 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
24909 It is not suitable for device detection, because DEV bit is ignored,
24910 the command may run too long, and not all devices set the signature
24911 properly.
24912 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
24913 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
24914 Fix device selection, DEV bit must be set first to address the registers
24915 of the correct device.
24916 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
24917 grub_ata_pio_read/write ().
24918 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
24919 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
24920
4a412913 249212009-01-13 Carles Pina i Estany <carles@pina.cat>
24922
24923 * util/grub-editenv.c (main): Use fseeko(), not fseek().
24924
7795c55e 249252009-01-13 Bean <bean123ch@gmail.com>
d913988c 24926
24927 * util/grub-mkfont.c (write_font): forget to remove some debug code.
24928
7795c55e 249292009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 24930
24931 * Makefile.in: (enable_grub_mkfont): New variable.
24932 (freetype_cflags): Likewise.
24933 (freetype_libs): Likewise.
24934
24935 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
24936 (grub_mkfont_SOURCES): New variable.
24937 (grub_mkfont_CFLAGS): Likewise.
24938 (grub_mkfont_LDFLAGS): Likewise.
24939
24940 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
24941 library if `--enable-grub-mkfont' is requested.
24942 (enable_grub_mkfont): New variable.
24943 (freetype_cflags): Likewise.
24944 (freetype_libs): Likewise.
24945
24946 * util/grub-mkfont.c: New file.
24947
093af1fe 249482009-01-12 Christian Franke <franke@computer.org>
24949
24950 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
24951 mode check. Fix setting of compat_use[].
24952
f36cc108 249532009-01-10 Robert Millan <rmh@aybabtu.com>
24954
24955 Update a few copyright years which we forgot to do in 2008 (only for
24956 files whose changes made in 2008 were copyright-significant)
24957
24958 * Makefile.in: Add 2008 to Copyright line.
24959 * disk/ieee1275/ofdisk.c: Likewise.
24960 * disk/efi/efidisk.c: Likewise.
24961 * kern/dl.c: Likewise.
24962 * kern/sparc64/ieee1275/init.c: Likewise.
24963 * kern/mm.c: Likewise.
24964 * kern/efi/mm.c: Likewise.
24965 * boot/i386/pc/boot.S: Likewise.
24966 * genfslist.sh: Likewise.
24967 * fs/iso9660.c: Likewise.
24968 * fs/hfs.c: Likewise.
24969 * fs/jfs.c: Likewise.
24970 * fs/minix.c: Likewise.
24971 * fs/ufs.c: Likewise.
24972 * gensymlist.sh.in: Likewise.
24973 * genkernsyms.sh.in: Likewise.
24974 * include/grub/misc.h: Likewise.
24975 * include/grub/types.h: Likewise.
24976 * include/grub/symbol.h: Likewise.
24977 * include/grub/elf.h: Likewise.
24978 * include/grub/kernel.h: Likewise.
24979 * include/grub/disk.h: Likewise.
24980 * include/grub/dl.h: Likewise.
24981 * include/grub/i386/linux.h: Likewise.
24982 * include/grub/i386/pc/biosdisk.h: Likewise.
24983 * include/grub/efi/api.h: Likewise.
24984 * include/grub/efi/pe32.h: Likewise.
24985 * include/grub/util/misc.h: Likewise.
24986 * normal/execute.c: Likewise.
24987 * normal/arg.c: Likewise.
24988 * normal/completion.c: Likewise.
24989 * normal/lexer.c: Likewise.
24990 * normal/parser.y: Likewise.
24991 * normal/misc.c: Likewise.
24992 * commands/i386/pc/vbeinfo.c: Likewise.
24993 * commands/hexdump.c: Likewise.
24994 * commands/terminal.c: Likewise.
24995 * commands/ls.c: Likewise.
24996 * commands/help.c: Likewise.
24997 * partmap/pc.c: Likewise.
24998 * loader/efi/chainloader.c: Likewise.
24999 * loader/multiboot_loader.c: Likewise.
25000 * loader/i386/pc/multiboot2.c: Likewise.
25001 * term/efi/console.c: Likewise.
25002 * term/i386/pc/serial.c: Likewise.
25003 * util/lvm.c: Likewise.
25004 * util/console.c: Likewise.
25005 * util/i386/efi/grub-mkimage.c: Likewise.
25006 * util/raid.c: Likewise.
25007
7f02114b 250082009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
25009
25010 * commands/videotest.c: Removed include to grub/machine/memory.h.
25011
25012 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
25013 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
25014 (video_mod_SOURCES): Removed.
25015 (video_mod_CFLAGS): Likewise.
25016 (video_mod_LDFLAGS): Likewise.
25017 (gfxterm_mod_SOURCES): Likewise.
25018 (gfxterm_mod_CFLAGS): Likewise.
25019 (gfxterm_mod_LDFLAGS): Likewise.
25020 (videotest_mod_SOURCES): Likewise.
25021 (videotest_mod_CFLAGS): Likewise.
25022 (videotest_mod_LDFLAGS): Likewise.
25023 (bitmap_mod_SOURCES): Likewise.
25024 (bitmap_mod_CFLAGS): Likewise.
25025 (bitmap_mod_LDFLAGS): Likewise.
25026 (tga_mod_SOURCES): Likewise.
25027 (tga_mod_CFLAGS): Likewise.
25028 (tga_mod_LDFLAGS): Likewise.
25029 (jpeg_mod_SOURCES): Likewise.
25030 (jpeg_mod_CFLAGS): Likewise.
25031 (jpeg_mod_LDFLAGS): Likewise.
25032 (png_mod_SOURCES): Likewise.
25033 (png_mod_CFLAGS): Likewise.
25034 (png_mod_LDFLAGS): Likewise.
25035
25036 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
25037 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
25038 (video_mod_SOURCES): Added.
25039 (video_mod_CFLAGS): Likewise.
25040 (video_mod_LDFLAGS): Likewise.
25041 (videotest_mod_SOURCES): Likewise.
25042 (videotest_mod_CFLAGS): Likewise.
25043 (videotest_mod_LDFLAGS): Likewise.
25044 (bitmap_mod_SOURCES): Likewise.
25045 (bitmap_mod_CFLAGS): Likewise.
25046 (bitmap_mod_LDFLAGS): Likewise.
25047 (tga_mod_SOURCES): Likewise.
25048 (tga_mod_CFLAGS): Likewise.
25049 (tga_mod_LDFLAGS): Likewise.
25050 (jpeg_mod_SOURCES): Likewise.
25051 (jpeg_mod_CFLAGS): Likewise.
25052 (jpeg_mod_LDFLAGS): Likewise.
25053 (png_mod_SOURCES): Likewise.
25054 (png_mod_CFLAGS): Likewise.
25055 (png_mod_LDFLAGS): Likewise.
25056 (gfxterm_mod_SOURCES): Likewise.
25057 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 25058 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 25059
25060 * term/gfxterm.c: Removed include to grub/machine/memory.h,
25061 grub/machine/console.h.
25062
644fff97 250632009-01-04 Jerone Young <jerone@gmail.com>
25064
25065 Make on screen instructions clearer
25066
25067 Based on patch created by Jidanni <jidanni@jidanni.org>
25068
25069 * normal/menu.c: print clearer instructions on the screen
25070
1e901a75 250712009-01-02 Colin D Bennett <colin@gibibit.com>
25072
25073 New font engine.
34c44600 25074
1e901a75 25075 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
25076 build system and fixed gfxterm.c to work with different sized fonts.
25077
25078 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 25079
1e901a75 25080 * configure: Re-generated.
34c44600 25081
1e901a75 25082 * DISTLIST: Removed font/manager.c.
25083 Added font/font.c.
25084 Added font/font_cmd.c.
34c44600 25085
1e901a75 25086 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
25087 compilation.
34c44600 25088
1e901a75 25089 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 25090
25091 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 25092
25093 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 25094
1e901a75 25095 * normal/menu.c: Likewise.
34c44600 25096
1e901a75 25097 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
25098 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 25099
1e901a75 25100 * include/grub/font.h: Replaced with new file.
34c44600 25101
1e901a75 25102 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
25103 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
25104 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
25105 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
25106 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 25107 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 25108 fg_red, fg_green, fg_blue, fg_alpha.
25109 (grub_video_adapter): Removed blit_glyph.
34c44600 25110 (grub_video_blit_glyph): Removed.
25111
1e901a75 25112 * font/manager.c: Removed file.
34c44600 25113
25114 * font/font.c: New file.
25115
1e901a75 25116 * font/font_cmd.c: Likewise.
34c44600 25117
1e901a75 25118 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 25119
1e901a75 25120 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
25121 (grub_video_vbe_map_rgba): Likewise.
25122 (grub_video_vbe_unmap_color_int): Likewise.
25123 (grub_video_vbe_blit_glyph): Removed.
25124 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 25125
1e901a75 25126 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
25127 (get_pixel): Likewise.
34c44600 25128 (set_pixel): Likewise.
25129
1e901a75 25130 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 25131
1e901a75 25132 * term/gfxterm.c: Adapted to new font engine.
34c44600 25133
1e901a75 25134 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 25135
1e901a75 25136 * term/i386/pc/vga.c: Likewise.
34c44600 25137
1e901a75 25138 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 25139
1e901a75 25140 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 25141
1e901a75 25142 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25143
1e901a75 25144 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25145
1e901a75 25146 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25147
1e901a75 25148 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25149
1e901a75 25150 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25151
1e901a75 25152 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25153
1e901a75 25154 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25155
25156 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25157
1e901a75 25158 * util/grub-mkconfig_lib.in: Changed font extension.
25159
278922e8 251602008-12-28 Felix Zielcke <fzielcke@z-51.de>
25161
25162 * util/getroot.c (grub_util_get_grub_dev): Add support for
25163 /dev/md/dNNpNN style partitionable mdraid devices.
25164
3ced05cf 251652008-12-12 Alex Smith <alex@alex-smith.me.uk>
25166
25167 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25168 at a time limit of the PXE TFTP API correctly.
25169 (grub_pxefs_close): Likewise.
25170
7fd0ee30 251712008-11-29 Robert Millan <rmh@aybabtu.com>
25172
34c44600 25173 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25174 grub_ata_device_initialize() calls.
25175
34c44600 251762008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25177
25178 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25179 iteration failed.
25180 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25181
89313780 251822008-11-28 Robert Millan <rmh@aybabtu.com>
25183
25184 Fix build on powerpc-ieee1275. Based on patch created by
25185 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25186 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25187 `kern/ieee1275/mmap.c'.
25188 * include/grub/powerpc/ieee1275/memory.h: New file.
25189
15257703 25190 Provide grub-install on coreboot.
25191 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25192 (grub_install_SOURCES): New variable.
25193 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25194 usable on coreboot.
25195
9fc5388a 251962008-11-25 Felix Zielcke <fzielcke@z-51.de>
25197
25198 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25199 to `grub_term_input_t'.
25200 (grub_term_get_current_output): Change return type to
25201 `grub_term_output_t'.
25202
bc3a2f31 252032008-11-22 Robert Millan <rmh@aybabtu.com>
25204
34c44600 25205 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25206 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25207 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25208 grub_vga_text_cls().
25209
80fc88f2 25210 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25211 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25212
cbf36fd3 25213 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25214 to 0x200000 (avoids trouble with some OFW implementations, and matches
25215 with the one in Yaboot).
25216 Reported by Manoel Abranches
25217
73e8e268 252182008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25219
25220 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25221 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25222
73e8e268 25223 * util/grub-mkconfig_lib.in (grub_warn): New function.
25224 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25225 warnings, to obtain consistent formatting.
25226 * util/grub.d/00_header.in: Likewise.
25227 * util/update-grub_lib.in: Likewise.
25228
e94045a1 25229 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25230 Move comment text to `#error' stanza.
e94045a1 25231
79d29fd7 25232 Harmonize ieee1275's grub_available_iterate() with the generic
25233 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25234 build problem on i386-ieee1275):
25235 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25236 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25237 parameter `type'. Update all users of this function.
25238 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25239 `kern/ieee1275/mmap.c'.
25240 * kern/ieee1275/init.c
25241 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25242 with ...
25243 (grub_machine_mmap_iterate): ... this.
25244 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25245 return type to `grub_err_t'. Update all implementations of this
25246 function prototype.
25247 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25248 Likewise.
25249
60d6b16e 25250 Add `lsmmap' command (lists firmware-provided memory map):
25251 * commands/lsmmap.c: New file.
25252 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25253 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25254 variables.
25255 * conf/powerpc-ieee1275.rmk: Likewise.
25256 * conf/i386-coreboot.rmk: Likewise.
25257 * conf/i386-ieee1275.rmk: Likewise.
25258
ebaaf49b 252592008-11-19 Robert Millan <rmh@aybabtu.com>
25260
25261 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25262 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25263 constraints to initrd allocation (based on code from
25264 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25265 for Linux to find it.
ebaaf49b 25266
dfab719f 252672008-11-14 Robert Millan <rmh@aybabtu.com>
25268
25269 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25270 order to cope with duplicate slashes.
25271
10fc3eb9 252722008-11-14 Robert Millan <rmh@aybabtu.com>
25273
25274 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25275 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25276 don't want to mess with lower memory, because it is used in the Linux
25277 loader.
25278
25279 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25280 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25281 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25282 is in our heap (probably as a result of it being corrupted during
2f2a3442 25283 decompression). Add #error instance with comment to explain why this
25284 loader isn't currently usable on PC/BIOS.
10fc3eb9 25285
e2e07847 252862008-11-14 Robert Millan <rmh@aybabtu.com>
25287
25288 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25289 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25290
fe8e8d69 252912008-11-12 Robert Millan <rmh@aybabtu.com>
25292
25293 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25294
25295 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25296 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25297 from here ...
25298 * include/grub/i386/pc/memory.h: ... to here.
25299
976b07d0 253002008-11-12 Robert Millan <rmh@aybabtu.com>
25301
25302 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25303 split).
25304
25305 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25306 (grub_console_cur_color, grub_console_real_putchar)
25307 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25308 (grub_console_setcolorstate, grub_console_setcolor)
25309 (grub_console_getcolor): Move from here ...
25310 * include/grub/i386/vga_common.h: ... to here (new file).
25311
25312 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25313 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25314 `<grub/i386/io.h>'.
25315 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25316 `<grub/i386/vga_common.h>'.
25317
76679cd3 253182008-11-12 Robert Millan <rmh@aybabtu.com>
25319
25320 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25321 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25322 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25323 variables.
25324 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25325 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25326
25327 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25328 grub_console_init() with call to grub_vga_text_init().
25329 (grub_machine_fini): Replace call to
25330 grub_console_fini() with call to grub_vga_text_fini() and
25331 grub_at_keyboard_fini().
25332
25333 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25334 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25335 (grub_console_setcolorstate, grub_console_setcolor)
25336 (grub_console_getcolor): New function prototypes.
25337
25338 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25339 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25340 (grub_vga_text_setcursor): Static-ize.
25341 (grub_vga_text_term): New structure.
25342 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25343
25344 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25345 (grub_console_cur_color, grub_console_standard_color)
25346 (grub_console_normal_color, grub_console_highlight_color)
25347 (map_char, grub_console_putchar, grub_console_getcharwidth)
25348 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25349 (grub_console_getcolor): Move from here ...
25350 * term/i386/vga_common.c: ... to here (same function names).
25351
95b841d3 253522008-11-12 Robert Millan <rmh@aybabtu.com>
25353
25354 Use newly-added Multiboot support in coreboot.
25355
25356 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25357 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25358
25359 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25360 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25361 (codestart): Store the MBI in `startup_multiboot_info' when we're
25362 being loaded using Multiboot.
25363
25364 * kern/i386/coreboot/init.c (grub_machine_init): Move
25365 grub_at_keyboard_init() call to beginning of function (useful for
25366 debugging). Call grub_machine_mmap_init() before attempting to use
25367 grub_machine_mmap_iterate().
25368 (grub_lower_mem, grub_upper_mem): Move from here ...
25369 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25370 here (new file).
25371
25372 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25373 function prototype.
25374
761ca975 253752008-11-12 Robert Millan <rmh@aybabtu.com>
25376
25377 Fix a regression introduced by the at_keyboard.mod split. Because
25378 some terminals are default on some platforms and non-default on
25379 others, the first terminal being registered determines which is
25380 going to be default.
25381
25382 * kern/term.c (grub_term_register_input): If this is the first
25383 terminal being registered, set it as the current one.
25384 (grub_term_register_output): Likewise.
25385
25386 * term/efi/console.c (grub_console_init): Do not call
25387 grub_term_set_current_output() or grub_term_set_current_input().
25388 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25389 * term/i386/pc/console.c (grub_console_init): Likewise.
25390 (grub_console_fini): Do not call grub_term_set_current_input()
25391 (but leave grub_term_set_current_output() to restore text mode).
25392
6c529df7 253932008-11-10 Robert Millan <rmh@aybabtu.com>
25394
25395 * util/grub.d/00_header.in: Add backward compatibility check for
25396 versions of terminal.mod that don't understand `terminal_input' or
25397 `terminal_output'.
25398
132e4113 253992008-11-09 Robert Millan <rmh@aybabtu.com>
25400
25401 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25402 `terminal_input' / `terminal_output', not `terminal'.
25403
ac293d50 254042008-11-08 Robert Millan <rmh@aybabtu.com>
25405
25406 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25407 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25408
0025933a 254092008-11-08 Robert Millan <rmh@aybabtu.com>
25410
25411 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25412 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25413 members. Update all users.
25414 * util/console.c (grub_ncurses_term): Split in ...
25415 (grub_ncurses_term_input): ... this, and ...
25416 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25417 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25418
37c86336 254192008-11-08 Robert Millan <rmh@aybabtu.com>
25420
25421 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25422 (PKGDATA): Add $(pkgdata_SRCDIR).
25423 (pkglib_BUILDDIR): New variable.
25424 (pkgdata_SRCDIR): New variable.
25425 (build_env.mk): New target.
25426 (include_DATA): New variable.
25427 (install-local): Install $(include_DATA) files in $(includedir).
25428
b6c15a2d 254292008-11-07 Pavel Roskin <proski@gnu.org>
25430
d99d46f1 25431 * gendistlist.sh: Use C locale for sorting to ensure consistent
25432 output on all systems.
25433
b6c15a2d 25434 * util/grub.d/00_header.in: Remove incorrect space before
25435 "serial".
25436
c32ee8c9 254372008-11-07 Robert Millan <rmh@aybabtu.com>
25438
25439 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25440 per specification.
25441 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25442 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25443 (based on find_multi_boot1_header).
25444 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25445 using find_multi_boot2_header(), and abort if neither Multiboot or
25446 Multiboot headers were found.
25447
651c29b7 254482008-11-07 Robert Millan <rmh@aybabtu.com>
25449
25450 Modularize at_keyboard.mod:
25451
25452 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25453 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25454 (at_keyboard_mod_LDFLAGS): New variables.
25455
25456 Actual terminal split:
25457
25458 * include/grub/term.h (struct grub_term): Split in ...
25459 (struct grub_term_input): ... this, and ...
25460 (struct grub_term_output): ... this. Update all users.
25461 (grub_term_set_current): Split in ...
25462 (grub_term_set_current_input): ... this, and ...
25463 (grub_term_set_current_output): ... this.
25464 (grub_term_get_current): Split in ...
25465 (grub_term_get_current_input): ... this, and ...
25466 (grub_term_get_current_output): ... this.
25467 (grub_term_register): Split in ...
25468 (grub_term_register_input): ... this, and ...
25469 (grub_term_register_output): ... this.
25470 (grub_term_unregister): Split in ...
25471 (grub_term_unregister_input): ... this, and ...
25472 (grub_term_unregister_output): ... this.
25473 (grub_term_iterate): Split in ...
25474 (grub_term_iterate_input): ... this, and ...
25475 (grub_term_iterate_output): ... this.
25476
25477 * kern/term.c (grub_term_list): Split in ...
25478 (grub_term_list_input): ... this, and ...
25479 (grub_term_list_output): ... this. Update all users.
25480 (grub_cur_term): Split in ...
25481 (grub_cur_term_input): ... this, and ...
25482 (grub_cur_term_output): ... this. Update all users.
25483 (grub_term_set_current): Split in ...
25484 (grub_term_set_current_input): ... this, and ...
25485 (grub_term_set_current_output): ... this.
25486 (grub_term_get_current): Split in ...
25487 (grub_term_get_current_input): ... this, and ...
25488 (grub_term_get_current_output): ... this.
25489 (grub_term_register): Split in ...
25490 (grub_term_register_input): ... this, and ...
25491 (grub_term_register_output): ... this.
25492 (grub_term_unregister): Split in ...
25493 (grub_term_unregister_input): ... this, and ...
25494 (grub_term_unregister_output): ... this.
25495 (grub_term_iterate): Split in ...
25496 (grub_term_iterate_input): ... this, and ...
25497 (grub_term_iterate_output): ... this.
25498
25499 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25500 a check for input and one for output (and only attempt to get keys
25501 from user when input works).
25502
25503 * util/grub-probe.c (grub_term_get_current): Split in ...
25504 (grub_term_get_current_input): ... this, and ...
25505 (grub_term_get_current_output): ... this.
25506 * util/grub-fstest.c: Likewise.
25507 * util/i386/pc/grub-setup.c: Likewise.
25508 * util/grub-editenv.c: Likewise.
25509
25510 Portability adjustments:
25511
25512 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25513 `term/i386/pc/at_keyboard.c'.
25514 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25515 grub_keyboard_controller_init() (now handled by terminal .init).
25516 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25517 grub_at_keyboard_init().
25518 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25519 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25520 at_keyboard.mod via input terminal interface).
25521 * include/grub/i386/coreboot/console.h: Convert into a stub for
25522 `<grub/i386/pc/console.h>'.
25523
25524 Migrate full terminals to new API:
25525
25526 * term/efi/console.c (grub_console_term): Split into ...
25527 (grub_console_term_input): ... this, and ...
25528 (grub_console_term_output): ... this. Update all users.
25529 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25530 (grub_ofconsole_init): Split into ...
25531 (grub_ofconsole_init_input): ... this, and ...
25532 (grub_ofconsole_init_output): ... this.
25533 (grub_ofconsole_term): Split into ...
25534 (grub_ofconsole_term_input): ... this, and ...
25535 (grub_ofconsole_term_output): ... this. Update all users.
25536 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25537 (grub_serial_term_input): ... this, and ...
25538 (grub_serial_term_output): ... this. Update all users.
25539 * term/i386/pc/console.c (grub_console_term): Split into ...
25540 (grub_console_term_input): ... this, and ...
25541 (grub_console_term_output): ... this. Update all users.
25542 (grub_console_term_input): Only enable it on PC/BIOS platform.
25543 (grub_console_init): Remove grub_keyboard_controller_init() call.
25544
25545 Migrate input terminals to new API:
25546
25547 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25548 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25549 i386-specific anyway).
25550 (grub_console_checkkey): Rename to ...
25551 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25552 users.
25553 (grub_keyboard_controller_orig): New variable.
25554 (grub_console_getkey): Rename to ...
25555 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25556 users.
25557 (grub_keyboard_controller_init): Static-ize. Save original
25558 controller value so that it can be restored ...
25559 (grub_keyboard_controller_fini): ... here (new function).
25560 (grub_at_keyboard_term): New structure.
25561 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25562 functions.
25563
25564 Migrate output terminals to new API:
25565
25566 * term/i386/pc/vga.c (grub_vga_term): Change type to
25567 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25568 members. Update all users.
25569 * term/gfxterm.c (grub_video_term): Change type to
25570 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25571 members. Update all users.
25572 * include/grub/i386/pc/console.h (grub_console_checkkey)
25573 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25574 etc).
25575
25576 Migrate `terminal' command and userland tools to new API:
25577
25578 * commands/terminal.c (grub_cmd_terminal): Split into ...
25579 (grub_cmd_terminal_input): ... this, and ...
25580 (grub_cmd_terminal_output): ... this.
25581 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25582 `terminal_input' and `terminal_output'.
25583 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25584 `terminal_input' / `terminal_output' API.
25585 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25586 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25587 provided ${GRUB_TERMINAL}, convert it).
25588
96e5d876 255892008-11-04 Robert Millan <rmh@aybabtu.com>
25590
25591 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25592 for FreeBSD.
25593 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25594
556f3775 255952008-11-03 Bean <bean123ch@gmail.com>
25596
25597 * kern/elf.c (grub_elf32_load): Revert to previous code.
25598 (grub_elf64_load): Likewise.
25599
25600 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25601
926b9823 256022008-11-01 Robert Millan <rmh@aybabtu.com>
25603
25604 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25605 (TARGET_CPPFLAGS): Likewise.
25606 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25607
1432e958 256082008-11-01 Carles Pina i Estany <carles@pina.cat>
25609
25610 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25611
dba3f844 256122008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25613
25614 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25615 addition of objects until the code is not going to be able to fail.
25616
dba3f844 256172008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25618
25619 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25620 (add a missing NULL check, and correct them by moving the pointer
25621 operations after the actual check).
25622
7ab28c21 256232008-10-29 Robert Millan <rmh@aybabtu.com>
25624
25625 * util/i386/pc/grub-install.in: Handle empty string as output from
25626 make_system_path_relative_to_its_root().
25627
1b7748eb 256282008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25629
25630 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25631 circular metadata worst case scenario. If the metadata is circular
25632 then copy the wrap in place.
25633 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25634 project lib/format_text/layout.h
25635 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25636
c9618ab2 256372008-10-03 Felix Zielcke <fzielcke@z-51.de>
25638
7a36edca 25639 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 25640
bf981c62 256412008-10-03 Felix Zielcke <fzielcke@z-51.de>
25642
25643 * util/update-grub_lib.in: Mention filename in warning message.
25644
6d994591 256452008-09-29 Felix Zielcke <fzielcke@z-51.de>
25646
25647 * NEWS: Update for rename of update-grub to grub-mkconfig.
25648
18ade780 256492008-09-29 Felix Zielcke <fzielcke@z-51.de>
25650
25651 * util/update-grub_lib.in: Copy to ...
25652 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 25653 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 25654 * util/update-grub.in: Rename to ...
25655 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25656 option. Add `--output' option to allow users to specify the generated
25657 configuration file. Default to stdout.
25658 (update_grub_dir): Rename to ...
25659 (grub_mkconfig_dir): ... this.
25660 (grub_cfg): Default to an empty string.
25661 * conf/common.rmk (update-grub): Rename to ...
25662 (grub-mkconfig): ... this.
25663 (update-grub_lib): Copy to ...
25664 (grub-mkconfig_lib): ... this.
25665 (update-grub_SCRIPTS): Copy to ...
25666 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25667 (update-grub_DATA): Rename to ...
25668 (grub-mkconfig_DATA): ... this.
25669
556ce6ac 256702008-09-28 Robert Millan <rmh@aybabtu.com>
25671
25672 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25673 to `modified'. Add the real `created' field.
25674 (grub_iso9660_uuid): Use `modified' rather than `created' for
25675 constructing the UUID.
25676
256772008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 25678
25679 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25680 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25681
92274e85 256822008-09-28 Bean <bean123ch@gmail.com>
25683
25684 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25685 Thanks to Christian Franke for finding this bug.
25686
add6f17a 256872008-09-25 Robert Millan <rmh@aybabtu.com>
25688
25689 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25690 instances of grub_util_get_disk_name() (see previous commit).
25691
d2a367b8 256922008-09-25 Robert Millan <rmh@aybabtu.com>
25693
25694 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25695 `util/i386/get_disk_name.c'.
25696 * conf/i386-efi.rmk: Likewise.
25697 * conf/x86_64-efi.rmk: Likewise.
25698 * conf/i386-coreboot.rmk: Likewise.
25699 * conf/i386-ieee1275.rmk: Likewise.
25700 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25701 `util/ieee1275/get_disk_name.c'.
25702 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25703 * util/ieee1275/get_disk_name.c: Remove file.
25704 * util/i386/get_disk_name.c: Remove file.
25705 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25706 "hd%d" for device.map entries, rather than using
25707 grub_util_get_disk_name().
25708
81a06771 257092008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 25710
25711 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25712 warning.
25713 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25714
5a004279 257152008-09-24 Carles Pina i Estany <carles@pina.cat>
25716
25717 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25718 Changed to 0x5100.
25719 (GRUB_TERM_PPAGE): Changed to 0x4900.
25720
397093d3 257212008-09-24 Robert Millan <rmh@aybabtu.com>
25722
25723 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25724 macros (they were i386-pc specific).
25725 * include/grub/sparc64/ieee1275/console.h: Likewise.
25726 * include/grub/efi/console.h: Likewise.
25727
a91b6c7c 257282008-09-22 Bean <bean123ch@gmail.com>
25729
25730 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25731 resident and in attribute list.
25732
25733 * include/grub/ntfs.h (BMP_LEN): Removed.
25734
c40fd116 257352008-09-22 Bean <bean123ch@gmail.com>
25736
81a06771 25737 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 25738 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25739
25740 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25741 error occurs, as grub_disk_open will call grub_disk_close, which will
25742 call p->close (scsi).
25743
81a06771 257442008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 25745
25746 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25747 (AC_PREREQ): Bumped to 2.59.
25748 (AC_TRY_COMPILE): Replace obsolete macro with ...
25749 (AC_COMPILE_IFELSE): ... this.
25750 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25751 (AC_LINK_IFELSE): ... this.
25752
5dc43410 257532008-09-21 Felix Zielcke <fzielcke@z-51.de>
25754
25755 * autogen.sh: Add a call to `gendistlist.sh'.
25756
9035dce4 257572008-09-19 Christian Franke <franke@computer.org>
25758
25759 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25760 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25761 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25762 Export __enable_execute_stack() to modules.
25763 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25764 New function.
25765
7fd75377 257662008-09-09 Felix Zielcke <fzielcke@z-51.de>
25767
040030b3 25768 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25769 Sort the list.
25770
257712008-09-09 Felix Zielcke <fzielcke@z-51.de>
25772
25773 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 25774 #include <grub/util/hostdisk.h>.
25775
89d5ffcf 257762008-09-08 Robert Millan <rmh@aybabtu.com>
25777
25778 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25779 segments when their filesz is zero (grub_file_read() interprets
81a06771 25780 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 25781 Use `lowest_segment' rather than 0 for calculating the current
25782 segment load address.
25783
40da438f 257842008-09-08 Robert Millan <rmh@aybabtu.com>
25785
25786 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25787 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25788 clobbered useful information.
25789
ddbf5556 257902008-09-08 Robert Millan <rmh@aybabtu.com>
25791
25792 * include/grub/util/biosdisk.h: Move to ...
25793 * include/grub/util/hostdisk.h: ... here. Update all users.
25794 * util/biosdisk.c: Move to ...
25795 * util/hostdisk.c: ... here. Update all users.
25796
783d0f48 257972008-09-07 Robert Millan <rmh@aybabtu.com>
25798
25799 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25800 variables.
25801 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25802 and length can be stored directly in the `mbi->mmap_addr' and
25803 `mbi->mmap_length' struct fields.
25804
548e2ea5 258052008-09-07 Robert Millan <rmh@aybabtu.com>
25806
25807 * conf/i386.rmk: New file. Provides declaration for building
25808 `cpuid.mod'.
25809 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25810 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25811 variables.
25812 Include `conf/i386.mk'.
25813 * conf/i386-efi.rmk: Likewise.
25814 * conf/x86_64-efi.rmk: Likewise.
25815 * conf/i386-coreboot.rmk: Likewise.
25816 * conf/i386-ieee1275.rmk: Likewise.
25817
0ea85a37 258182008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25819
25820 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25821 Adds optimization support for BGR based modes.
25822
25823 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25824 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25825 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25826 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25827 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25828 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25829 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25830 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25831 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25832 (grub_video_i386_vbeblit_index_index): Likewise.
25833 (grub_video_i386_vbeblit_replace_directN): Added.
25834 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25835 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25836 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25837 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25838 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25839 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 25840 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 25841 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25842 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25843 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25844 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25845 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25846 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
25847
25848 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
25849 (grub_video_i386_vbefill_R8G8B8): Likewise.
25850 (grub_video_i386_vbefill_index): Likewise.
25851 (grub_video_i386_vbefill_direct32): Added.
25852 (grub_video_i386_vbefill_direct24): Likewise.
25853 (grub_video_i386_vbefill_direct16): Likewise.
25854 (grub_video_i386_vbefill_direct8): Likewise.
25855
81a06771 25856 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 25857 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
25858 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
25859 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
25860 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
25861 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 25862
0ea85a37 25863 * video/video.c (grub_video_get_blit_format): Updated to use new
25864 blit formats. Added handling for 16 bit color modes.
81a06771 25865
25866 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 25867 fillers.
25868 (common_blitter): Updated to use new blitters.
25869
25870 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
25871 Removed.
25872 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25873 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25874 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25875 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25876 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25877 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25878 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25879 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25880 (grub_video_i386_vbeblit_index_index): Likewise.
25881 (grub_video_i386_vbeblit_replace_directN): Added.
25882 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25883 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25884 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25885 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25886 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25887 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25888 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25889 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25890 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25891 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25892 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25893 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
25894 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 25895
0ea85a37 25896 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
25897 (grub_video_i386_vbefill_R8G8B8): Likewise.
25898 (grub_video_i386_vbefill_index): Likewise.
25899 (grub_video_i386_vbefill_direct32): Added.
25900 (grub_video_i386_vbefill_direct24): Likewise.
25901 (grub_video_i386_vbefill_direct16): Likewise.
25902 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 25903
0ea85a37 25904 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
25905 types.
81a06771 25906
0ea85a37 25907 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
25908 types.
81a06771 25909
0ea85a37 25910 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
25911 blitter types.
81a06771 25912
0ea85a37 25913 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
25914 types.
25915
e8a83df6 259162008-09-06 Felix Zielcke <fzielcke@z-51.de>
25917
25918 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
25919 RAID level 1.
25920
6bcd8ee5 259212008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 25922
6bcd8ee5 25923 * fs/iso9660.c (grub_iso9660_date): New structure.
25924 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
25925 (grub_iso9660_uuid): New function.
c375ae58 25926
59261157 259272008-09-05 Bean <bean123ch@gmail.com>
25928
25929 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
25930
25931 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
25932 insensitive bit for names in Win32 and Win32 & DOS namespace.
25933
25934 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
25935
25936 * include/grub/types.h (LONG_MAX): Likewise.
25937
58b6645a 259382008-09-04 Felix Zielcke <fzielcke@z-51.de>
25939
4ee55921 25940 * util/getroot.c: Include <config.h>.
25941 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
25942 add support for /dev/md/N devices and handle LVM double dash escaping.
25943
259442008-09-04 Felix Zielcke <fzielcke@z-51.de>
25945
25946 * config.guess: Update to latest version from config git.
25947 * config.sub: Likewise.
58b6645a 25948
9124f65d 259492008-09-03 Robert Millan <rmh@aybabtu.com>
25950
25951 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
25952 `disk->total_sectors'.
25953
81a06771 259542008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 25955
25956 * include/grub/normal.h: Fixed incorrect comment for
25957 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
25958
81a06771 259592008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 25960
25961 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
25962 values with defines.
25963
25964 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
25965 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
25966 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
25967 (GRUB_VBE_MODEATTR_COLOR): Likewise.
25968 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
25969 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
25970 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
25971 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
25972 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
25973 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
25974 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
25975 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
25976 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
25977 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
25978 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
25979 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
25980 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
25981 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
25982 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
25983
93d5cbf8 259842008-08-31 Robert Millan <rmh@aybabtu.com>
25985
25986 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
25987 declaration.
25988 (grub_multiboot): Fix a few warnings.
25989
21751d50 259902008-08-31 Robert Millan <rmh@aybabtu.com>
25991
25992 * loader/i386/pc/multiboot.c: Update comment not to say that
25993 boot_device support is unimplemented.
25994
e27a75c5 259952008-08-31 Robert Millan <rmh@aybabtu.com>
25996
25997 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
25998 or memory map support are unimplemented.
25999
81a06771 260002008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 26001
26002 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
26003
81a06771 260042008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 26005
26006 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
26007 total video memory in 'vbeinfo' output; show color format details for
26008 each video mode.
26009
7c5d8d95 260102008-08-30 Pavel Roskin <proski@gnu.org>
26011
26012 * util/genmoddep.c: Remove for real this time.
26013 * DISTLIST: Remove util/genmoddep.c.
26014
4cebd25a 260152008-08-30 Robert Millan <rmh@aybabtu.com>
26016
26017 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
26018 as required by Multiboot spec (it was already 4-byte aligned, but
26019 only by chance).
26020
b497a269 260212008-08-29 Pavel Roskin <proski@gnu.org>
26022
e3925185 26023 * kern/powerpc/ieee1275/crt0.S: Rename to ...
26024 * kern/powerpc/ieee1275/startup.S: ... this.
26025 * conf/powerpc-ieee1275.rmk: Adjust for the above.
26026 * DISTLIST: Likewise.
26027
b497a269 26028 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
26029 grub/cpu/kernel.h. Add start label for consistency with other
26030 platforms. Add grub_prefix immediately after start. Add jump
26031 to the code after grub_prefix.
26032 * include/grub/powerpc/kernel.h: Provide valid values for
26033 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
26034
6e5a42fe 260352008-08-29 Bean <bean123ch@gmail.com>
26036
26037 * configure.ac: Change host_os to cygwin for mingw.
26038 (asprintf): New check for function.
26039
26040 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
26041 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
26042
26043 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 26044 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 26045 sync, sleep and grub_util_get_disk_size for mingw.
26046
26047 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
26048 to get size in mingw.
26049 (open_device): Use flag O_BINARY if it's defined.
26050 (find_root_device): Add dummy code for mingw.
26051
26052 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
26053 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
26054 (get_scsi_disk_name): Return 0 for mingw.
26055
26056 * util/hostfs.c: #include <grub/util/misc.h>.
26057 (grub_hostfs_open): Use "rb" flag to open file, use
26058 grub_util_get_disk_size to get disk size for mingw.
26059
26060 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
26061 (asprintf): New function if HAVE_ASPRINTF is not set.
26062 (sync): New function for mingw.
26063 (sleep): Likewise.
26064 (grub_util_get_disk_size): Likewise.
26065
ab3f2673 260662008-08-28 Pavel Roskin <proski@gnu.org>
26067
26068 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26069 kern/time.c.
26070
1c282483 260712008-08-28 Robert Millan <rmh@aybabtu.com>
26072
26073 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
26074
678e849c 260752008-08-28 Robert Millan <rmh@aybabtu.com>
26076
26077 Change find_grub_drive() syntax so it doesn't prevent it from
26078 detecting NULL names as errors.
26079
26080 * util/biosdisk.c (find_grub_drive): Move free slot search code
26081 from here ...
26082 (find_free_slot): ... to here.
26083 (read_device_map): Use find_free_slot() to search for free slots.
26084
965c75ca 260852008-08-27 Marco Gerards <marco@gnu.org>
26086
26087 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
26088 (scsi_mod_SOURCES): New variable.
26089 (scsi_mod_CFLAGS): Likewise
26090 (scsi_mod_LDFLAGS): Likewise.
26091
26092 * disk/scsi.c: New file.
26093
26094 * include/grub/scsi.h: Likewise.
26095
26096 * include/grub/scsicmd.h: Likewise.
26097
26098 * disk/ata.c: Include <grub/scsi.h>.
26099 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
26100 instead.
26101 (grub_ata_iterate): Skip ATAPI devices.
26102 (grub_ata_open): Only handle ATAPI devices.
26103 (struct grub_atapi_read): Removed.
26104 (grub_atapi_readsector): Likewise.
26105 (grub_ata_read): No longer handle ATAPI devices.
26106 (grub_ata_write): Likewise.
26107 (grub_atapi_iterate): New function.
26108 (grub_atapi_read): Likewise.
26109 (grub_atapi_write): Likewise.
26110 (grub_atapi_open): Likewise.
26111 (grub_atapi_close): Likewise.
26112 (grub_atapi_dev): New variable.
26113 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
26114 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
26115
26116 * include/grub/disk.h (enum grub_disk_dev_id): Add
26117 `GRUB_DISK_DEVICE_SCSI_ID'.
26118
c07ae501 261192008-08-26 Robert Millan <rmh@aybabtu.com>
26120
26121 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
26122 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
26123 descriptive.
26124
5ed20adc 261252008-08-23 Bean <bean123ch@gmail.com>
26126
26127 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
26128 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26129 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
26130 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
26131 dm_nv.mod.
26132 (raid5rec_mod_SOURCES): New macro.
26133 (raid5rec_mod_CFLAGS): Likewise.
26134 (raid5rec_mod_LDFLAGS): Likewise.
26135 (raid6rec_mod_SOURCES): Likewise.
26136 (raid6rec_mod_CFLAGS): Likewise.
26137 (raid6rec_mod_LDFLAGS): Likewise.
26138 (mdraid_mod_SOURCES): Likewise.
26139 (mdraid_mod_CFLAGS): Likewise.
26140 (mdraid_mod_LDFLAGS): Likewise.
26141 (dm_nv_mod_SOURCES): Likewise.
26142 (dm_nv_mod_CFLAGS): Likewise.
26143 (dm_nv_mod_LDFLAGS): Likewise.
26144
26145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26146 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26147 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26148
26149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26150 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26151
26152 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26153
26154 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26155
26156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26157
26158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26159
26160 * disk/raid5_recover.c: New file.
26161
26162 * disk/raid6_recover.c: Likewise.
26163
26164 * disk/mdraid_linux.c: Likewise.
26165
26166 * disk/dmraid_nvidia.c: Likewise.
26167
26168 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26169 ULONG_MAX.
26170
26171 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26172 calculate the size of raid device.
26173 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26174 different layout of raid5.
26175 (grub_raid_scan_device): Remove code specific to mdraid.
26176 (grub_raid_list): New variable.
26177 (free_array): New function.
26178 (grub_raid_register): Likewise.
26179 (grub_raid_unregister): Likewise.
26180 (grub_raid_rescan): Likewise.
26181 (GRUB_MOD_INIT): Don't iterate device here.
26182 (GRUB_MOD_FINI): Use free_array to release resource.
26183
26184 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26185 (grub_raid5_recover_func_t): New function variable type.
26186 (grub_raid6_recover_func_t): Likewise.
26187 (grub_raid5_recover_func): New variable.
26188 (grub_raid6_recover_func): Likewise.
26189 (grub_raid_register): New function.
26190 (grub_raid_unregister): Likewise.
26191 (grub_raid_rescan): Likewise.
26192 (grub_raid_block_xor): Likewise.
26193
26194 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26195 (CMD_CRC): New macro.
26196 (part): Removed.
26197 (read_file): Handle device as well as file.
26198 (cmd_crc): New function.
26199 (fstest): Handle multiple disks.
26200 (options): Remove part, raw and long, add root and diskcount.
26201 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26202 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26203 add handling for the new options, support multiple disks.
26204
26205 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26206
29c18915 262072008-08-23 Bean <bean123ch@gmail.com>
26208
26209 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26210
26211 * genfslist.sh: Ignore kernel.mod.
26212
26213 * genpartmaplist.sh: Likewise.
26214
8415f261 262152008-08-23 Robert Millan <rmh@aybabtu.com>
26216
26217 * util/getroot.c (find_root_device): Skip anything that starts with
26218 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26219
d5a7dc5b 262202008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26221
d5a7dc5b 26222 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26223 * util/grub.d/00_header.in: Allow the administrator to change default
26224 gfxmode via ${GRUB_GFXMODE}.
26225
380cfbb4 262262008-08-21 Felix Zielcke <fzielcke@z-51.de>
26227
26228 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26229
c9baafe7 262302008-08-21 Robert Millan <rmh@aybabtu.com>
26231
26232 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26233 loader.
26234 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26235 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26236
e290bef2 262372008-08-20 Carles Pina i Estany <carles@pina.cat>
26238
26239 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26240 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26241
f9dbfc96 262422008-08-19 Robert Millan <rmh@aybabtu.com>
26243
26244 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26245 (struct grub_virtual_screen): Remove `cursor_color'.
26246 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26247 initialization.
26248 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26249
dd6bd6ab 262502008-08-18 Robert Millan <rmh@aybabtu.com>
26251
26252 Unify (identical) linux_normal.c files.
26253 * loader/i386/efi/linux_normal.c: Move from here ...
26254 * loader/linux_normal.c: ... to here. Update all users.
26255 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26256 * loader/i386/ieee1275/linux_normal.c: Likewise.
26257
7f42f83e 262582008-08-18 Robert Millan <rmh@aybabtu.com>
26259
26260 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26261 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26262 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26263 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26264 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26265 New macros.
26266 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26267 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26268 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26269 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26270 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26271 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26272 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26273 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26274 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26275 portably using grub_getxy().
26276 Replace `-EFI' with `-bzImage' in boot message.
26277
38487ddb 262782008-08-17 Robert Millan <rmh@aybabtu.com>
26279
26280 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26281
deceb3ec 262822008-08-17 Robert Millan <rmh@aybabtu.com>
26283
26284 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26285
26286 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26287 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26288 (grub_machine_mmap_iterate): New function declaration.
26289 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26290 structure.
26291 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26292 macros.
26293
26294 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26295 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26296 Move e820 parsing from here ...
26297 * kern/i386/pc/mmap.c: New file.
26298 (grub_machine_mmap_iterate): ... to here.
26299
26300 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26301 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26302 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26303 (grub_available_iterate): Redeclare to return `void', and redeclare
26304 its hook to use grub_uint64_t as addr and size parameters, and rename
26305 to ...
26306 (grub_machine_mmap_iterate): ... this. Update all users.
26307
26308 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26309 to make it more readable. Rename to ...
26310 (grub_machine_mmap_iterate): ... this.
26311
26312 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26313 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26314 (grub_multiboot): Allocate an extra region after the payload, and fill
26315 it with a Multiboot memory map. Adjust a.out loader to calculate size
26316 with the extra space.
26317 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26318 with the extra space.
26319
f8aa0f43 263202008-08-17 Carles Pina i Estany <carles@pina.cat>
26321
9807deb9 26322 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26323
605f5bb6 263242008-08-17 Felix Zielcke <fzielcke@z-51.de>
26325
26326 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26327 mdate-sh to the list `find' searches for.
26328 * DISTLIST: Regenerated.
26329
210db6c6 263302008-08-16 Felix Zielcke <fzielcke@z-51.de>
26331
26332 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26333 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26334 genmoddep.awk, gensymlist.sh.in.
26335 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26336 * DISTLIST: Regenerated.
48cdbfd4 26337 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26338
1082b929 263392008-08-16 Robert Millan <rmh@aybabtu.com>
26340
26341 * disk/raid.c (grub_raid_init): Handle/report errors set by
26342 grub_device_iterate().
26343 * disk/lvm.c (grub_lvm_init): Likewise.
26344
42ce5170 263452008-08-15 Bean <bean123ch@gmail.com>
26346
26347 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26348 and datehook.mod.
26349 (datetime_mod_SOURCES): New macro.
26350 (datetime_mod_CFLAGS): Likewise.
26351 (datetime_mod_LDFLAGS): Likewise.
26352 (date_mod_SOURCES): Likewise.
26353 (date_mod_CFLAGS): Likewise.
26354 (date_mod_LDFLAGS): Likewise.
26355 (datehook_mod_SOURCES): Likewise.
26356 (datehook_mod_CFLAGS): Likewise.
26357 (datehook_mod_LDFLAGS): Likewise.
26358
26359 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26360 and datehook.mod.
26361 (datetime_mod_SOURCES): New macro.
26362 (datetime_mod_CFLAGS): Likewise.
26363 (datetime_mod_LDFLAGS): Likewise.
26364 (date_mod_SOURCES): Likewise.
26365 (date_mod_CFLAGS): Likewise.
26366 (date_mod_LDFLAGS): Likewise.
26367 (datehook_mod_SOURCES): Likewise.
26368 (datehook_mod_CFLAGS): Likewise.
26369 (datehook_mod_LDFLAGS): Likewise.
26370
26371 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26372 and datehook.mod.
26373 (datetime_mod_SOURCES): New macro.
26374 (datetime_mod_CFLAGS): Likewise.
26375 (datetime_mod_LDFLAGS): Likewise.
26376 (date_mod_SOURCES): Likewise.
26377 (date_mod_CFLAGS): Likewise.
26378 (date_mod_LDFLAGS): Likewise.
26379 (datehook_mod_SOURCES): Likewise.
26380 (datehook_mod_CFLAGS): Likewise.
26381 (datehook_mod_LDFLAGS): Likewise.
26382
26383 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26384 and datehook.mod.
26385 (datetime_mod_SOURCES): New macro.
26386 (datetime_mod_CFLAGS): Likewise.
26387 (datetime_mod_LDFLAGS): Likewise.
26388 (date_mod_SOURCES): Likewise.
26389 (date_mod_CFLAGS): Likewise.
26390 (date_mod_LDFLAGS): Likewise.
26391 (datehook_mod_SOURCES): Likewise.
26392 (datehook_mod_CFLAGS): Likewise.
26393 (datehook_mod_LDFLAGS): Likewise.
26394
26395 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26396 and datehook.mod.
26397 (datetime_mod_SOURCES): New macro.
26398 (datetime_mod_CFLAGS): Likewise.
26399 (datetime_mod_LDFLAGS): Likewise.
26400 (date_mod_SOURCES): Likewise.
26401 (date_mod_CFLAGS): Likewise.
26402 (date_mod_LDFLAGS): Likewise.
26403 (datehook_mod_SOURCES): Likewise.
26404 (datehook_mod_CFLAGS): Likewise.
26405 (datehook_mod_LDFLAGS): Likewise.
26406
26407 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26408
26409 * commands/date.c: New file.
26410
26411 * hook/datehook.c: Likewise.
26412
26413 * include/grub/lib/datetime.h: Likewise.
26414
26415 * include/grub/i386/cmos.h: Likewise.
26416
26417 * lib/datetime.c: Likewise.
26418
26419 * lib/i386/datetime.c: Likewise.
26420
26421 * lib/efi/datetime.c: Likewise.
26422
0e9242da 264232008-08-14 Robert Millan <rmh@aybabtu.com>
26424
26425 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26426 (grub_mkelfimage_SOURCES): New variable.
26427 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26428
26429 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26430 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26431 * conf/powerpc-ieee1275.rmk: Likewise.
26432 * conf/i386-ieee1275.rmk: Likewise.
26433
26434 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26435 * kern/i386/coreboot/init.c: Likewise.
26436
26437 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26438 with `<grub/cpu/kernel.h>'.
26439 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26440 to ...
26441 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26442 * kern/i386/coreboot/startup.S: Likewise.
26443
26444 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26445 (GRUB_MOD_GAP): Remove.
26446 * include/grub/powerpc/kernel.h: New file.
26447 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26448 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26449 * include/grub/i386/kernel.h: New file.
26450 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26451 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26452 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26453
26454 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26455 `grub-mkelfimage'.
26456 Use --directory when invoking grub_mkimage.
26457
26458 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26459 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26460 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26461 and GRUB_KERNEL_CPU_PREFIX.
26462
b86408f8 264632008-08-14 Felix Zielcke <fzielcke@z-51.de>
26464
d5e619ca 26465 * include/grub/err.h (grub_err_printf): New function prototype.
26466 * util/misc.c (grub_err_printf): New function.
26467 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26468 grub_printf.
26469 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26470
7161f0e0 264712008-08-13 Robert Millan <rmh@aybabtu.com>
26472
26473 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26474
a1967522 264752008-08-13 Robert Millan <rmh@aybabtu.com>
26476
26477 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26478 boot entry.
26479
371458b5 264802008-08-12 Robert Millan <rmh@aybabtu.com>
26481
26482 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26483 of the relocation code from here ...
26484 (grub_multiboot): ... to here.
26485 (forward_relocator, backward_relocator): Move from here ...
26486 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26487 (grub_multiboot_backward_relocator): ... to here.
26488 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26489 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26490 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26491 (grub_multiboot_forward_relocator_end)
26492 (grub_multiboot_backward_relocator)
26493 (grub_multiboot_backward_relocator_end): New variables.
26494
05f9452b 264952008-08-12 Bean <bean123ch@gmail.com>
26496
26497 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26498
20024ab0 264992008-08-11 Robert Millan <rmh@aybabtu.com>
26500
26501 * kern/i386/linuxbios/startup.S: Move from here ...
26502 * kern/i386/coreboot/startup.S: ... to here.
26503
26504 * kern/i386/linuxbios/init.c: Move from here ...
26505 * kern/i386/coreboot/init.c: ... to here.
26506
26507 * kern/i386/linuxbios/table.c: Move from here ...
26508 * kern/i386/coreboot/mmap.c: ... to here.
26509
26510 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26511
e352e9cd 265122008-08-11 Robert Millan <rmh@aybabtu.com>
26513
26514 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26515 errors. Leave it to the upper layer to handle them.
26516
2d05bc6a 265172008-08-09 Christian Franke <franke@computer.org>
26518
26519 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26520 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26521 Install `grub.d/10_windows' only on Cygwin.
26522 * configure.ac: Add subst of `target_os'.
26523 Check `target_os' also before setting TARGET_OBJ2ELF.
26524 Add `--enable-grub-pe2elf'.
26525
042bd419 265262008-08-08 Robert Millan <rmh@aybabtu.com>
26527
26528 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26529 (grub_last_time): Change type to grub_uint64_t.
26530 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26531 (grub_disk_close): Likewise.
26532
26533 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26534 (run_menu): Migrate code from to using grub_get_time_ms().
26535
26536 * util/misc.c (grub_get_time_ms): New function.
26537
7f280db5 265382008-08-08 Marco Gerards <marco@gnu.org>
26539
26540 * disk/ata.c (grub_ata_regget): Change return type to
26541 `grub_uint8_t'.
26542 (grub_ata_regget2): Likewise.
26543 (grub_ata_wait_status): New function.
26544 (grub_ata_wait_busy): Removed function, updated all users to use
26545 `grub_ata_wait_status'.
26546 (grub_ata_wait_drq): Likewise.
26547 (grub_ata_cmd): New function.
26548 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26549 error handling.
26550 (grub_ata_pio_write): Add error handling.
26551 (grub_atapi_identify): Likewise.
26552 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26553 handling.
26554 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26555 handling. Actually use the detected registers. Reorder the
26556 detection logic such that it is easier to read.
26557 (grub_ata_pciinit): Do not assign the same ID to each controller.
26558 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26559 handling.
26560 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26561
26562 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26563
1fbc5e66 265642008-08-08 Marco Gerards <marco@gnu.org>
26565
26566 * NEWS: Update.
26567
819ce6c0 265682008-08-07 Bean <bean123ch@gmail.com>
26569
26570 * include/grub/x86_64/pci.h: New file.
26571
5c41d44d 265722008-08-07 Christian Franke <franke@computer.org>
26573
26574 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26575 (TIMER2_GATE): Likewise.
26576 (grub_pit_wait): Add enable/disable of the timer2 gate
26577 bit of port 0x61. This fixes a possible infinite loop.
26578
5ebc275d 265792008-08-07 Bean <bean123ch@gmail.com>
26580
26581 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26582 kern/i386/tsc.c and kern/i386/pit.c.
26583
26584 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26585 x86_64 platform.
26586
26587 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26588 <grub/i386/tsc.h>.
26589
26590 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26591
e383b3d0 265922008-08-07 Bean <bean123ch@gmail.com>
26593
26594 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26595
26596 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26597
26598 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26599 multiple inclusion. Add #include <grub/types.h>.
26600
1cbb58ac 266012008-08-06 Christian Franke <franke@computer.org>
26602
26603 * conf/common.rmk: Build and install `10_windows'.
26604 * util/grub.d/10_windows.in: New script.
26605
337f5a1e 266062008-08-06 Pavel Roskin <proski@gnu.org>
26607
26608 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26609
057bc4ac 266102008-08-06 Robert Millan <rmh@aybabtu.com>
26611
26612 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26613 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26614
2b99f123 266152008-08-06 Bean <bean123ch@gmail.com>
26616
26617 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26618 (grub_pxefs_fs_int): Remove dummy definition.
26619 (grub_pxefs_open): Use data->block_size to store the current block
26620 size setting.
26621 (grub_pxefs_read): Use block size stored in data->block_size. As the
26622 value of grub_pxe_blksize can be changed after the file is opened.
26623
9f0234cb 266242008-08-06 Bean <bean123ch@gmail.com>
26625
26626 * fs/i386/pc/pxe.c (curr_file): new variable.
26627 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26628 require the dummy internal file system anymore.
26629 (grub_pxefs_read): Removed.
26630 (grub_pxefs_close): Likewise.
26631 (grub_pxefs_fs_int): Likewise.
26632 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26633 connection when we switch file.
26634 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26635
a55d42e0 266362008-08-06 Robert Millan <rmh@aybabtu.com>
26637
26638 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26639 `halt.mod'.
26640 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26641 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26642
26643 * kern/i386/halt.c: New file.
26644 * kern/i386/reboot.c: Likewise.
26645 * include/grub/i386/reboot.h: Likewise.
26646 * include/grub/i386/halt.h: Likewise.
26647
26648 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26649 Include `<grub/cpu/halt.h>'.
26650 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26651 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26652
26653 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26654 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26655 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26656 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26657 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26658 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26659 from here ...
26660 * include/grub/i386/at_keyboard.h: ... to here.
26661
24371d26 266622008-08-05 Robert Millan <rmh@aybabtu.com>
26663
26664 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26665 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26666 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26667 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26668 `kern/generic/millisleep.c'.
26669
26670 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26671 instead of grub_get_rtc().
26672 (grub_tsc_init): Initialize `tsc_boot_time'.
26673
26674 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26675 (grub_machine_init): Use grub_tsc_init() rather than
26676 installing an RTC-based handler via grub_install_get_time_ms().
26677
26678 * kern/i386/pit.c: New file.
26679 * include/grub/i386/pit.h: Likewise.
26680
9e7007b3 266812008-08-05 Bean <bean123ch@gmail.com>
26682
26683 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26684
26685 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26686 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26687 (pxe_mod_SOURCES): New macro.
26688 (pxe_mod_CFLAGS): Likewise.
26689 (pxe_mod_LDFLAGS): Likewise.
26690 (pxecmd_mod_SOURCES): Likewise.
26691 (pxecmd_mod_CFLAGS): Likewise.
26692 (pxecmd_mod_LDFLAGS): Likewise.
26693
26694 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26695 (grub_pxe_call): Likewise.
26696
26697 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26698
26699 * commands/i386/pc/pxecmd.c: New file.
26700
9f0234cb 26701 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 26702
26703 * include/grub/i386/pc/pxe.h: Likewise.
26704
6977d49f 267052008-08-05 Bean <bean123ch@gmail.com>
26706
26707 * util/console.c (grub_console_cur_color): New variable.
26708 (grub_console_standard_color): Likewise.
26709 (grub_console_normal_color): Likewise.
26710 (grub_console_highlight_color): Likewise.
26711 (color_map): Likewise.
26712 (use_color): Likewise.
26713 (NUM_COLORS): New macro.
26714 (grub_ncurses_setcolorstate): Handle color properly.
26715 (grub_ncurses_setcolor): Don't change color here, just remember the
26716 settings, color will be set in grub_ncurses_setcolorstate.
26717 (grub_ncurses_getcolor): New function.
26718 (grub_ncurses_init): Initialize color pairs.
26719 (grub_ncurses_term): New member grub_ncurses_getcolor.
26720
9c2ff3ee 267212008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 26722
9c2ff3ee 26723 High resolution timer support. Implemented for x86 CPUs using TSC.
26724 Extracted generic grub_millisleep() so it's linked in only as needed.
26725 This requires a Pentium compatible CPU; if the RDTSC instruction is
26726 not supported, then it falls back on the generic grub_get_time_ms()
26727 implementation that uses the machine's RTC.
26728
26729 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26730 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26731 `kern/generic/millisleep.c'.
26732
26733 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26734 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26735
26736 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26737 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26738
26739 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26740
26741 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26742 `kern/generic/millisleep.c'.
26743
26744 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26745
26746 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26747
26748 * kern/generic/rtc_get_time_ms.c: New file.
26749
26750 * kern/generic/millisleep.c: New file.
337f5a1e 26751
9c2ff3ee 26752 * kern/misc.c: Don't include
26753 <kern/time.h> anymore.
26754 (grub_millisleep_generic): Removed.
26755
26756 * commands/sleep.c (grub_interruptible_millisleep): Uses
26757 grub_get_time_ms() instead of grub_get_rtc().
26758
26759 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26760 function.
26761 (grub_cpu_is_cpuid_supported): New inline function.
26762 (grub_cpu_is_tsc_supported): New inline function.
26763 (grub_tsc_init): New function prototype.
26764 (grub_tsc_get_time_ms): New function prototype.
26765
26766 * kern/i386/tsc.c (grub_get_time_ms): New file.
26767
26768 * include/grub/time.h: Include <grub/types.h.
26769 (grub_millisleep_generic): Removed.
26770 (grub_get_time_ms): New prototype.
26771 (grub_install_get_time_ms): New prototype.
26772 (grub_rtc_get_time_ms): New prototype.
26773
26774 * kern/time.c (grub_get_time_ms): New function.
26775 (grub_install_get_time_ms): New function.
26776
26777 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26778 <grub/time.h> anymore.
26779 (grub_millisleep): Removed.
26780 (grub_machine_init): Call grub_tsc_init.
26781
26782 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26783 get_time_ms() implementation.
26784
26785 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26786 (ieee1275_get_time_ms): New function.
26787 (grub_machine_init): Install get_time_ms() implementation.
26788
26789 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26790 (grub_machine_init): Call grub_tsc_init().
26791 (grub_millisleep): Removed.
bf06a93f 26792
9c2ff3ee 26793 * kern/ieee1275/init.c (grub_millisleep): Removed.
26794 (grub_machine_init): Install ieee1275_get_time_ms()
26795 implementation.
26796 (ieee1275_get_time_ms): New function.
26797 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26798 real work.
26799
9ec92aaf 268002008-08-05 Marco Gerards <marco@gnu.org>
26801
26802 * disk/ata.c: Include <grub/pci.h>.
26803 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26804 (grub_ata_initialize): Rewritten.
26805 (grub_ata_device_initialize): New function.
26806
8d23f507 268072008-08-04 Pavel Roskin <proski@gnu.org>
26808
26809 * kern/main.c: Include grub/mm.h.
26810
5e15ee3d 268112008-08-04 Robert Millan <rmh@aybabtu.com>
26812
26813 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26814 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26815 corruption problem).
26816
a9053f8f 268172008-08-04 Robert Millan <rmh@aybabtu.com>
26818
26819 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26820 warnings introduced in my last commit.
26821
dd19c7d7 268222008-08-03 Robert Millan <rmh@aybabtu.com>
26823
26824 Make PCI available on all i386 architectures.
26825
26826 * include/grub/i386/pc/pci.h: Move from here ...
26827 * include/grub/i386/pci.h: ... to here.
26828
26829 * include/grub/i386/pc/pci.h: Remove.
26830 * include/grub/i386/efi/pci.h: Remove.
26831 * include/grub/x86_64/efi/pci.h: Remove.
26832
26833 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26834 `<grub/cpu/pci.h>'.
26835
26836 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26837 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26838 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26839
26840 * conf/i386-ieee1275.rmk: Likewise.
26841
e14a6184 268422008-08-03 Robert Millan <rmh@aybabtu.com>
26843
26844 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26845 (grub_console_setcursor): Make it possible to set cursor off.
26846
52768e37 268472008-08-03 Robert Millan <rmh@aybabtu.com>
26848
26849 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
26850 of modules instead of assuming which platform provides what.
26851 * util/update-grub.in: Likewise.
26852
2d52f57f 268532008-08-03 Robert Millan <rmh@aybabtu.com>
26854
26855 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
26856 instead of `grub_install_dos_part' to determine whether a drive needs
26857 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 26858 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 26859
2a5cd121 268602008-08-02 Robert Millan <rmh@aybabtu.com>
26861
26862 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
26863
93808428 268642008-08-02 Robert Millan <rmh@aybabtu.com>
26865
26866 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
26867 of informational grub_dprintf() calls.
26868
3bd0a12a 268692008-08-02 Robert Millan <rmh@aybabtu.com>
26870
26871 * disk/memdisk.c (memdisk_size): Don't initialize.
26872 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
26873
26874 * include/grub/i386/pc/kernel.h
26875 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
26876 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
26877 (grub_memdisk_image_size, grub_arch_memdisk_addr)
26878 (grub_arch_memdisk_size): Remove.
26879
26880 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
26881 field (was only used to transfer a constant). Add `type' field to
26882 support multiple module types.
26883 (grub_module_iterate): New function.
26884
26885 * kern/device.c (grub_device_open): Do not hide error messages
26886 when grub_disk_open() fails. Use grub_print_error() instead.
26887
26888 * kern/i386/pc/init.c (grub_arch_modules_addr)
26889 (grub_arch_memdisk_size): Remove functions.
26890 (grub_arch_modules_addr): Return the module address in high memory
26891 (now that it isn't copied anymore).
26892
26893 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
26894 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
26895 decompression routine (grub_total_module_size already includes that
26896 now). Don't copy modules back to low memory.
26897
26898 * kern/main.c: Include `<grub/mm.h>'.
26899 (grub_load_modules): Split out (and use) ...
26900 (grub_module_iterate): ... this function, which iterates through
26901 module objects and runs a hook.
26902 Comment out grub_mm_init_region() call, as it would cause non-ELF
26903 modules to be overwritten.
26904
26905 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
26906 the memdisk image in its own region, make it part of the module list.
26907 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
26908 (main): Parse --memdisk|-m option, and pass user-provided path as
26909 parameter to generate_image().
26910 (add_segments): Pass `memdisk_path' down to load_modules().
26911 (load_modules): Embed memdisk image in module section when requested.
26912 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
26913 `header.type' instead of `header.offset'.
26914
26915 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
26916 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
26917 (memdisk_mod_LDFLAGS): New variables.
26918 * conf/i386-coreboot.rmk: Likewise.
26919 * conf/i386-ieee1275.rmk: Likewise.
26920
a927cc73 269212008-08-02 Robert Millan <rmh@aybabtu.com>
26922
26923 * loader/i386/pc/multiboot.c (playground, forward_relocator)
26924 (backward_relocator): New variables. Used to allocate and relocate
26925 the payload, respectively.
26926 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 26927 address, install the appropriate relocator code in each bound of
a927cc73 26928 the payload, and set the entry point such that
26929 grub_multiboot_real_boot() will jump to one of them.
26930
26931 * kern/i386/loader.S (grub_multiboot_payload_size)
26932 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26933 (grub_multiboot_payload_entry_offset): New variables.
26934 (grub_multiboot_real_boot): Set cpu context to what the relocator
26935 expects, and jump to the relocator instead of the payload.
26936
26937 * include/grub/i386/loader.h (grub_multiboot_payload_size)
26938 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
26939 (grub_multiboot_payload_entry_offset): Export.
26940
b15d8a0c 269412008-08-01 Bean <bean123ch@gmail.com>
26942
26943 * normal/menu_entry.c (editor_getline): Don't return the original
26944 string as result, as it will be released by lexer once it has done
26945 using it.
26946
cdfb3d22 269472008-08-01 Robert Millan <rmh@aybabtu.com>
26948
26949 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
26950 within menuentries, not before them.
26951 util/grub.d/10_hurd.in: Likewise.
26952
9175e93d 269532008-08-01 Bean <bean123ch@gmail.com>
26954
26955 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
26956 (bufio_mod_SOURCES): New macro.
26957 (bufio_mod_CFLAGS): Likewise.
26958 (bufio_mod_LDFLAGS): Likewise.
26959
26960 * include/grub/bufio.h: New file.
26961
26962 * io/bufio.c: Likewise.
26963
26964 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
26965 (grub_video_reader_png): Use grub_buffile_open to open file.
26966
26967 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
26968 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
26969
26970 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
26971 (grub_video_reader_tga): Use grub_buffile_open to open file.
26972
26973 * font/manager.c: Include <grub/bufio.h>.
26974 (add_font): Use grub_buffile_open to open file.
26975
3d8383e7 269762008-07-31 Robert Millan <rmh@aybabtu.com>
26977
26978 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
26979 ELF segments, use a macro for arbitrarily accessing any of them instead
26980 of preparing a pointer that allows access to one at a time.
26981 (grub_multiboot_load_elf64): Likewise.
26982
16e641b6 269832008-07-31 Bean <bean123ch@gmail.com>
26984
26985 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
26986 GRUB_KERNEL_MACHINE_DATA_END.
26987
59198b72 269882008-07-30 Robert Millan <rmh@aybabtu.com>
26989
26990 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
26991 Increase from 0x50 to 0x60.
26992 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
26993 use UUIDs to identify the root drive for them. If that's not
26994 possible, abort.
26995 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
26996 check, for cross-disk installs.
26997
ae88bca3 269982008-07-30 Robert Millan <rmh@aybabtu.com>
26999
27000 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
27001 is non-empty, use it to set the `prefix' environment variable instead
27002 of the usual approach.
27003 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
27004 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
27005 environment variable instead of dummy make_install_device().
27006
27007 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
27008 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 27009 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 27010
27011 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
27012 New variable reference.
27013 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
27014 New macro. Defines offset of `grub_prefix' within startup.S (relative
27015 to `start').
27016 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
27017 section within startup.S (relative to `start').
27018 * include/grub/i386/coreboot/kernel.h: Likewise.
27019
27020 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
27021 Overwrite grub_prefix with its contents, at the beginning of the
27022 first segment.
27023 (main): Understand -p|--prefix.
27024
14f41dd1 270252008-07-30 Robert Millan <rmh@aybabtu.com>
27026
27027 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
27028
4ca049a3 270292008-07-30 Robert Millan <rmh@aybabtu.com>
27030
27031 * term/i386/pc/vga_text.c (grub_console_cls): Use
27032 grub_console_gotoxy() to go back to beginning of the screen.
27033 Found by Patrick Georgi <patrick.georgi@coresystems.de>
27034
2921d337 270352008-07-29 Christian Franke <franke@computer.org>
27036
27037 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27038 Add conversion of emulated mount points on Cygwin.
27039
b609876d 270402008-07-29 Christian Franke <franke@computer.org>
27041
27042 * util/update-grub.in: Add a check for admin
27043 group on Cygwin.
27044 Remove old `grub.cfg.new' before creation.
27045 Add `-f' to `mv' to handle the different filesystem
27046 semantics of Windows.
27047
e93e4679 270482008-07-29 Bean <bean123ch@gmail.com>
27049
27050 * normal/main.c (get_line): Fix buffer overflow bug.
27051
41694fd0 270522008-07-28 Robert Millan <rmh@aybabtu.com>
27053
27054 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
27055 (struct grub_apple_header): New struct. Describes the layout of
27056 the partmap header.
27057 (apple_partition_map_iterate): Check the header magic as well as the
27058 partition magic (which was already being checked).
27059
cfd0b4e6 270602008-07-28 Pavel Roskin <proski@gnu.org>
27061
27062 * genmk.rb: Add a warning to the beginning of the output that
27063 it's a generated file and should not be edited.
27064
93cce016 270652008-07-28 Robert Millan <rmh@aybabtu.com>
27066
27067 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27068 with the same number are found, just use issue a warning with
27069 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 27070
cd1df915 270712008-07-27 Robert Millan <rmh@aybabtu.com>
27072
27073 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
27074 information.
27075
b70a8427 270762008-07-27 Bean <bean123ch@gmail.com>
27077
27078 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
27079 (grub_fat_find_dir): Ignore case when comparing filename.
27080
8f5e379f 270812008-07-27 Bean <bean123ch@gmail.com>
27082
27083 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
27084 smallino, as it's more descriptive, and i8count can be confused with
27085 the other field count.
27086 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
27087 inode type.
27088
a85cd5a0 270892008-07-27 Bean <bean123ch@gmail.com>
27090
27091 * commands/crc.c: New file.
27092
27093 * lib/crc.c: Likewise.
27094
27095 * include/grub/lib/crc.h: Likewise.
27096
27097 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
27098
27099 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
27100 (hexdump): Move this function to ...
27101
27102 * lib/hexdump.c: ... here.
27103
27104 * include/grub/hexdump.h: Renamed to ...
27105
27106 * include/grub/lib/hexdump.h: ... this.
27107
27108 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
27109
27110 * util/grub-editenv.c: Likewise.
27111
27112 * include/envblk.h: Renamed to ...
27113
27114 * include/lib/envblk.h: ... this.
27115
27116 * util/envblk.c: Renamed to ...
27117
27118 * lib/envblk.c: ... this.
27119
27120 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
27121 lib/hexdump.c.
27122 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
27123 (pkglib_MODULES): Add crc.mod.
27124 (hexdump_mod_SOURCES): Add lib/hexdump.c.
27125 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
27126 (crc_mod_SOURCES): New macro.
27127 (crc_mod_CFLAGS): Likewise.
27128 (crc_mod_LDFLAGS): Likewise.
27129
27130 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
27131
27132 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27133
27134 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27135
27136 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27137
27138 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27139
c298def0 271402008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 27141
27142 * commands/help.c: Include <grub/term.h>.
27143 (TERM_WIDTH): Removed. Updated all users.
27144
cc349fb3 271452008-07-27 Pavel Roskin <proski@gnu.org>
27146
27147 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27148 spurious warnings about a comment within a comment.
27149
9051607e 271502008-07-25 Robert Millan <rmh@aybabtu.com>
27151
27152 * util/getroot.c (find_root_device): Skip devices that match
27153 /dev/dm-[0-9]. This lets the real device be found for any type of
27154 abstraction (LVM, EVMS, RAID..).
27155 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27156 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27157 device is found first, find_root_device() will now skip it.
27158
01453bfc 271592008-07-24 Pavel Roskin <proski@gnu.org>
27160
27161 * include/grub/types.h: Use __builtin_bswap32() and
27162 __builtin_bswap64() with gcc 4.3 and newer.
27163
6af9849f 271642008-07-24 Christian Franke <franke@computer.org>
27165
3a0fa256 27166 * util/i386/pc/grub-install.in: If `--debug' is specified,
27167 pass `--verbose' to grub-setup.
27168 Abort script if make_system_path_relative_to_its_root() fails.
27169
7810e747 271702008-07-24 Bean <bean123ch@gmail.com>
27171
27172 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27173 variable `target_platform' should be `platform'.
27174
42290e17 271752008-07-24 Bean <bean123ch@gmail.com>
27176
51cc5193 27177 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27178 (grub_png_init_fixed_block): New function.
27179 (grub_png_decode_image_data): Handle fixed huffman code compression.
27180
2a8a80e4 271812008-07-24 Bean <bean123ch@gmail.com>
27182
27183 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27184 (grub_pe2elf_SOURCES): New macro.
27185 (CLEANFILES): Add grub-pe2elf.
27186
27187 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27188 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27189 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27190 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27191 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27192 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27193 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27194 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27195 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27196 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27197 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27198 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27199 (GRUB_PE32_DT_FUNCTION): Likewise.
27200 (GRUB_PE32_REL_I386_DIR32): Likewise.
27201 (GRUB_PE32_REL_I386_REL32): Likewise.
27202 (grub_pe32_symbol): New structure.
27203 (grub_pe32_reloc): Likewise.
27204
27205 * util/grub-pe2elf.c: New file.
27206
27207 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27208 start symbol in non pc platform.
27209
27210 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27211
27212 The following patches are from Christian Franke.
27213
27214 * include/grub/dl.h: Remove .previous, gas supports this only
27215 for ELF format.
27216
27217 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27218 Remove .type, gas supports this only for ELF format.
27219
27220 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27221 nullbytes in symbol table. This fixes an infinite loop if table is
27222 zero filled.
27223
27224 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27225 TARGET_IMG_LDFLAGS and EXEEXT.
27226
27227 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27228 TARGET_IMG_LDFLAGS_AC.
27229 (grub_CHECK_STACK_ARG_PROBE): New function.
27230
27231 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27232
27233 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27234
27235 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27236 to set TARGET_IMG_LD* accordingly.
27237 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27238 Add call to grub_CHECK_STACK_ARG_PROBE.
27239 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27240
27241 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27242
27243 * genmk.rb: Add EXEEXT to CLEANFILES.
27244
12ccdb75 272452008-07-23 Robert Millan <rmh@aybabtu.com>
27246
27247 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27248 define the codes for arrows and lines used for the menu).
27249 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27250 as well.
27251
27252 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27253 fonts, because the latter are too slow.
27254
18eeaf04 272552008-07-21 Bean <bean123ch@gmail.com>
27256
27257 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27258 a20. Run keyboard test last, as it will cause macbook to halt.
27259
b095e2ad 272602008-07-18 Pavel Roskin <proski@gnu.org>
27261
27262 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27263 load foreign architecture modules correctly anyway. Keep
27264 support for loading host architecture modules, whether we
27265 compile them or not.
27266
737feb35 272672008-07-17 Pavel Roskin <proski@gnu.org>
27268
3f4ce737 27269 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27270 change target_cpu. The compiler default can mismatch target_cpu
27271 in any case.
27272
4ad2d049 27273 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27274 * kern/efi/efi.c: Likewise.
27275
f6130a12 27276 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27277 target compiler is functional.
27278 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27279 are set up.
27280
58393a2d 27281 * configure.ac: Default to efi platform for x86_64-apple. Allow
27282 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27283 adjustments from the rest, only do them if target is not
27284 explicitly given. Merge other adjustments with the final sanity
27285 check. Remove an extraneous check for supported CPU. Be
27286 specific which CPU and which platform is not supported.
27287
737feb35 27288 * configure.ac: Default to pc platform for x86_64.
27289
546f966a 272902008-07-17 Robert Millan <rmh@aybabtu.com>
27291
27292 Partial LinuxBIOS -> Coreboot rename.
27293
27294 * conf/i386-linuxbios.rmk: Renamed to ...
27295 * conf/i386-coreboot.rmk: ... this.
27296 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27297 * configure.ac: Accept "coreboot" as input platform (but maintain
27298 compatibility with "linuxbios").
27299 * include/grub/i386/linuxbios: Renamed to ...
27300 * include/grub/i386/coreboot: ... this.
27301
20011694 273022008-07-17 Bean <bean123ch@gmail.com>
27303
27304 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27305 (appleldr_mod_SOURCE): New variable.
20011694 27306 (appleldr_mod_CFLAGS): Likewise.
27307 (appleldr_mod_LDFLAGS): Likewise.
27308 (pci_mod_SOURCES): Likewise.
27309 (pci_mod_CFLAGS): Likewise.
27310 (pci_mod_LDFLAGS): Likewise.
27311 (lspci_mod_SOURCES): Likewise.
27312 (lspci_mod_CFLAGS): Likewise.
27313 (lspci_mod_LDFLAGS): Likewise.
27314
27315 * conf/x86_64-efi.rmk: New file.
27316
27317 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27318 macro.
27319 (grub_efidisk_write): Likewise.
27320
27321 * include/efi/api.h (efi_call_0): New macro.
27322 (efi_call_1): Likewise.
27323 (efi_call_2): Likewise.
27324 (efi_call_3): Likewise.
27325 (efi_call_4): Likewise.
27326 (efi_call_5): Likewise.
27327 (efi_call_6): Likewise.
27328
27329 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27330 grub_rescue_cmd_chainloader.
27331
27332 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27333 (grub_pe32_optional_header): Change some fields based on i386 or
27334 x86_64 platform.
27335 (GRUB_PE32_PE32_MAGIC): Likewise.
27336
27337 * include/grub/efi/uga_draw.h: New file.
27338
27339 * include/grub/elf.h (STN_ABS): New constant.
27340 (R_X86_64_NONE): Relocation constant for x86_64.
27341 (R_X86_64_64): Likewise.
27342 (R_X86_64_PC32): Likewise.
27343 (R_X86_64_GOT32): Likewise.
27344 (R_X86_64_PLT32): Likewise.
27345 (R_X86_64_COPY): Likewise.
27346 (R_X86_64_GLOB_DAT): Likewise.
27347 (R_X86_64_JUMP_SLOT): Likewise.
27348 (R_X86_64_RELATIVE): Likewise.
27349 (R_X86_64_GOTPCREL): Likewise.
27350 (R_X86_64_32): Likewise.
27351 (R_X86_64_32S): Likewise.
27352 (R_X86_64_16): Likewise.
27353 (R_X86_64_PC16): Likewise.
27354 (R_X86_64_8): Likewise.
27355 (R_X86_64_PC8): Likewise.
27356
27357 * include/grub/i386/efi/pci.h: New file.
27358
27359 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27360 Change it value based on platform.
27361 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27362 (GRUB_E820_RAM): Likewise.
27363 (GRUB_E820_RESERVED): Likewise.
27364 (GRUB_E820_ACPI): Likewise.
27365 (GRUB_E820_NVS): Likewise.
27366 (GRUB_E820_EXEC_CODE): Likewise.
27367 (GRUB_E820_MAX_ENTRY): Likewise.
27368 (grub_e820_mmap): New structure.
27369 (linux_kernel_header): Change the efi field according to different
27370 kernel version, also field from linux_kernel_header.
27371
27372 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27373
27374 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27375 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27376 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27377 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27378 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27379 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27380 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27381 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27382 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27383 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27384
27385 * include/grub/x86_64/efi/kernel.h: New file.
27386
27387 * include/grub/x86_64/efi/loader.h: Likewise.
27388
27389 * include/grub/x86_64/efi/machine.h: Likewise.
27390
27391 * include/grub/x86_64/efi/pci.h: Likewise.
27392
27393 * include/grub/x86_64/efi/time.h: Likewise.
27394
27395 * include/grub/x86_64/linux.h: Likewise.
27396
27397 * include/grub/x86_64/setjmp.h: Likewise.
27398
27399 * include/grub/x86_64/time.h: Likewise.
27400
27401 * include/grub/x86_64/types.h: Likewise.
27402
27403 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27404 GRUB_TARGET_SIZEOF_VOID_P.
27405
27406 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27407 (grub_efi_locate_handle): Likewise.
27408 (grub_efi_open_protocol): Likewise.
27409 (grub_efi_set_text_mode): Likewise.
27410 (grub_efi_stall): Likewise.
27411 (grub_exit): Likewise.
27412 (grub_reboot): Likewise.
27413 (grub_halt): Likewise.
27414 (grub_efi_exit_boot_services): Likewise.
27415 (grub_get_rtc): Likewise.
27416
27417 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27418 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27419 (grub_efi_allocate_pages): Wrap efi calls.
27420 (grub_efi_free_pages): Wrap efi calls.
27421 (grub_efi_get_memory_map): Wrap efi calls.
27422
27423 * kern/x86_64/dl.c: New file.
27424
27425 * kern/x86_64/efi/callwrap.S: Likewise.
27426
27427 * kern/x86_64/efi/startup.S: Likewise.
27428
27429 * loader/efi/appleloader.c: Likewise.
27430
27431 * loader/efi/chainloader.c (cmdline): New variable.
27432 (grub_chainloader_unload): Wrap efi calls.
27433 (grub_chainloader_boot): Likewise.
27434 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27435 command line.
27436
27437 * loader/efi/chainloader_normal.c (chainloader_command):
27438 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27439 command line.
27440
27441 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27442 method.
27443 (grub_e820_add_region): New function.
27444 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27445 booting.
27446 (grub_find_video_card): New function.
27447 (grub_linux_setup_video): New function.
27448 (grub_rescue_cmd_linux): Probe for video information.
27449
27450 * normal/x86_64/setjmp.S: New file.
27451
27452 * term/efi/console.c (map_char): New function.
27453 (grub_console_putchar): Map unicode char.
27454 (grub_console_checkkey): Wrap efi calls.
27455 (grub_console_getkey): Likewise.
27456 (grub_console_getwh): Likewise.
27457 (grub_console_gotoxy): Likewise.
27458 (grub_console_cls): Likewise.
27459 (grub_console_setcolorstate): Likewise.
27460 (grub_console_setcursor): Likewise.
27461
27462 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27463
59652a20 274642008-07-16 Pavel Roskin <proski@gnu.org>
27465
ef294055 27466 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27467 format strings.
27468
59652a20 27469 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27470 pointer, not an integer. This fixes a warning and prevents
27471 precision loss on 64-bit systems.
27472 (relocate_addresses): Remove unneeded cast.
27473
afc3b5d7 274742008-07-15 Pavel Roskin <proski@gnu.org>
27475
506b2b3e 27476 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27477
62ead89c 27478 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27479
c4cd51d7 27480 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27481 Fix comparison between signed and unsigned.
27482
0d3d8f28 27483 * include/grub/i386/ieee1275/console.h: Declare
27484 grub_console_init() and grub_console_fini().
27485
8804b286 27486 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27487 It's empty and unused.
27488
ee01cf35 27489 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27490 beginning to avoid warnings with some compilers.
27491
afc3b5d7 27492 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27493 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27494
e4e8eaa5 274952008-07-14 Pavel Roskin <proski@gnu.org>
27496
407aceb4 27497 * kern/env.c (grub_register_variable_hook): Don't copy empty
27498 string, it leaks memory. Pass "" to grub_env_set(), it should
27499 handle constant strings.
27500
e4e8eaa5 27501 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27502 * commands/cmp.c (grub_cmd_cmp): Likewise.
27503 * kern/dl.c (grub_dl_flush_cache): Likewise.
27504 (grub_dl_load_core): Likewise.
27505 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27506 (grub_elf64_load_phdrs): Likewise.
27507
d4e2dad3 275082008-07-13 Pavel Roskin <proski@gnu.org>
27509
27510 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27511 between signed and unsigned.
27512 (LzmaEnc_Finish): Fix warning about an unused parameter.
27513
aa24b516 275142008-07-13 Bean <bean123ch@gmail.com>
27515
27516 * Makefile.in (enable_lzo): New rule.
27517
27518 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27519
27520 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27521
27522 * boot/i386/pc/lnxboot.S: #include <config.h>.
27523
27524 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27525 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27526
27527 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27528 compression algorithm according to configure macro.
27529
27530 * kern/i386/pc/startup.S (codestart): Likewise.
27531
27532 * kern/i386/pc/lzma_decode.S: New file.
27533
27534 * include/grub/lib/LzFind.h: Likewise.
27535
27536 * include/grub/lib/LzHash.h: Likewise.
27537
27538 * include/grub/lib/LzmaDec.h: Likewise.
27539
27540 * include/grub/lib/LzmaEnc.h: Likewise.
27541
27542 * include/grub/lib/LzmaTypes.h: Likewise.
27543
27544 * lib/LzFind.c: Likewise.
27545
27546 * lib/LzmaDec.c: Likewise.
27547
27548 * lib/LzmaEnc.c: Likewise.
27549
4ae821ac 275502008-07-13 Bean <bean123ch@gmail.com>
27551
27552 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27553 (grub_ext4_extent_header): New structure.
27554 (grub_ext4_extent): Likewise.
27555 (grub_ext4_extent_idx): Likewise.
27556 (grub_ext4_find_leaf): New function.
27557 (grub_ext2_read_block): Handle extents.
27558
9a745147 275592008-07-12 Robert Millan <rmh@aybabtu.com>
27560
27561 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27562
d49a4cf6 275632008-07-11 Robert Millan <rmh@aybabtu.com>
27564
27565 * util/grub.d/40_custom.in: New file. Example on how to add custom
27566 entries to /etc/grub.d.
27567 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27568 40_custom (implicitly, by merging all the grub.d rules).
27569
947414b4 275702008-07-11 Pavel Roskin <proski@gnu.org>
27571
0059cf6f 27572 * commands/read.c (grub_getline): Fix invalid memory access.
27573 Don't add newline to the variable value.
27574
947414b4 27575 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27576 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27577 (serial_hw_get_port): Check validity of the port number.
27578 (grub_cmd_serial): Check return value of serial_hw_get_port().
27579
62a02d00 275802008-07-07 Pavel Roskin <proski@gnu.org>
27581
27582 * boot/i386/pc/diskboot.S (notification_string): Replace
27583 "Loading kernel" with just "loading". This is shorter, less
27584 confusing and saves a few bytes for possible future changes.
27585
3e5581b0 275862008-07-05 Pavel Roskin <proski@gnu.org>
27587
ea387a48 27588 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27589 size for ATAPI devices, they are undefined. Output sector
27590 number in decimal form.
27591
3e5581b0 27592 * disk/ata.c: Use named constants for status bits.
27593
fdecb8fd 275942008-07-04 Pavel Roskin <proski@gnu.org>
27595
bcd35b90 27596 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27597 grub_addr_t before casting it to the void pointer to fix a
27598 warning. Non-addressable regions are discarded earlier.
27599 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27600 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27601 (check_signature): Don't shadow table_header.
27602 (grub_linuxbios_table_iterate): Cast numeric constants to
27603 grub_linuxbios_table_header_t.
27604 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27605 grub_stop().
27606
af58ab3d 27607 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27608 prevent warnings.
27609
1759aa57 27610 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27611 pointer, which can cause warnings. Support 64-bit addresses.
27612
fdecb8fd 27613 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27614 of sizeof(long). This fixes PowerPC image generation on x86_64.
27615
8516d2a8 276162008-07-04 Robert Millan <rmh@aybabtu.com>
27617
27618 This fixes a performance issue when pc & gpt partmap iterators
27619 didn't abort iteration even after our hook found what it was
fe987087 27620 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27621
27622 Some callers relied on previous buggy behaviour, since they would
34c44600 27623 raise an error when their own hooks caused early abortion of its
8516d2a8 27624 iteration.
27625
27626 * kern/device.c (grub_device_open): Improve error message.
27627 * disk/lvm.c (grub_lvm_open): Likewise.
27628 * disk/raid.c (grub_raid_open): Likewise.
27629
27630 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27631 when hook requests it, independently of grub_errno.
27632 (pc_partition_map_probe): Do not fail when find_func() caused
27633 early abortion of pc_partition_map_iterate().
27634
27635 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27636 when hook requests it, independently of grub_errno.
27637 (gpt_partition_map_probe): Do not fail when find_func() caused
27638 early abortion of gpt_partition_map_iterate().
27639
27640 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27641 when hook requests it, independently of grub_errno. Do not fail when
27642 part_map_iterate_hook() caused early abortion of p->iterate().
27643
27644 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27645 when grub_partition_iterate() returned with non-zero.
27646
277d0de9 276472008-07-03 Pavel Roskin <proski@gnu.org>
27648
27649 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27650 like we do in grub_ata_pio_read().
27651 (grub_ata_readwrite): Always write individual sectors. Fix the
27652 sector count for the remainder.
27653 (grub_ata_write): Enable writing to ATA devices. Correctly
27654 report error for ATAPI devices.
27655
d4c9b428 276562008-07-02 Pavel Roskin <proski@gnu.org>
27657
e43fc690 27658 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27659 warning.
27660
f707af42 27661 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27662 for every read sector, we already increment it for the whole
27663 batch. This fixes reading more than 256 sectors at once.
27664
11e16b15 27665 * util/grub-editenv.c (cmd_info): Cast argument to long
27666 explicitly. ptrdiff_t reduces to int on i386.
27667
cbabfdd4 27668 * util/grub-editenv.c (main): Be specific which parameter is
27669 missing.
27670
b8fbce0a 27671 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27672 (memdisk): Make memdisk_orig_addr a pointer.
27673
c9c8e606 27674 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27675 for file offsets, use grub_off_t instead. Fix printf format
27676 warnings.
27677
ca62e598 27678 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27679 there. Real unexpected warnings should not drown in the noise
27680 about known problems.
27681
ce8d1766 27682 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27683 grub_disk_addr_t for memory addresses.
27684
00c7a56a 27685 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27686 explicitly to fix a warning.
27687
08d3ef09 27688 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27689
cb71ba20 27690 * Makefile.in (MODULE_LDFLAGS): New variable.
27691 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27692 the linker accepts --build-id=none.
27693 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27694 MODULE_LDFLAGS.
27695 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27696
d4c9b428 27697 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27698 those in Linux XFS code. Provide a way to access 64-bit parent
27699 inode.
27700 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27701 the end of struct grub_xfs_dir_header.
27702
d4156eee 277032008-07-02 Bean <bean123ch@gmail.com>
27704
27705 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27706 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27707 and GRUB_IEEE1275_FLAG_NO_ANSI.
27708
27709 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27710 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27711 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27712
27713 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27714 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27715
27716 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27717 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27718
27719 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27720 esc sequence on non ANSI terminal.
27721 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27722
27723 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27724 beginning of file.
27725
2270f77b 277262008-07-02 Bean <bean123ch@gmail.com>
27727
27728 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27729 (grub_editenv_SOURCES): New variable.
27730 (pkglib_MODULES): Add loadenv.mod.
27731 (loadenv_mod_SOURCES): New variable.
27732 (loadenv_mod_CFLAGS): Likewise.
27733 (loadenv_mod_LDFLAGS): Likewise.
27734
27735 * include/grub/envblk.h: New file.
27736
27737 * util/envblk.c: New file.
27738
27739 * util/grub-editenv.c: New file.
27740
27741 * commands/loadenv.c: New file.
27742
0e9e51ec 277432008-07-01 Pavel Roskin <proski@gnu.org>
27744
d89b7634 27745 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27746 not unsigned char. This fixes warnings and is consistent with
27747 other tags.
27748
bf1835b1 27749 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27750
8222a04b 27751 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27752
6a42d99d 27753 * term/tparm.c (analyze): Always set *popcount.
27754
10b159d1 27755 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27756 cast to fix a warning.
27757
b8789f6c 27758 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27759 cast to suppress a warning.
27760
29d7e38a 27761 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27762 grub_fshelp_read_file() expects.
27763
f341f669 27764 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27765 write uuid as a 32-bit value in CPU byte order, so declare and
27766 use it as such.
27767
0e9e51ec 27768 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27769 long if the format specifier expects it.
27770 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27771 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27772 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27773 long to fix a warning.
27774 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27775 grub_dprintf() arguments to fix warnings.
27776
3aefa857 277772008-06-30 Pavel Roskin <proski@gnu.org>
27778
56c7668b 27779 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27780 install_bsd_part immediately before core.img is embedded or
27781 modified on disk. This fixes core.img verification if core.img
27782 cannot be embedded.
27783
3aefa857 27784 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27785 core_path to calculate the blocklist.
27786 Patch from Javier Martín <lordhabbit@gmail.com>
27787
5444088d 277882008-06-29 Robert Millan <rmh@aybabtu.com>
27789
27790 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27791 block to disk block.
27792 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27793 Patch from Niels Böhm <bitbucket@arcor.de>
27794
674835c8 277952008-06-29 Robert Millan <rmh@aybabtu.com>
27796
27797 * util/update-grub_lib.in (font_path): Search for fonts in
27798 /boot/grub first, which is more likely to be readable (we aren't
27799 deciding where fonts live, just looking for them).
27800
f527dbc8 278012008-06-26 Pavel Roskin <proski@gnu.org>
27802
6c2d8df6 27803 * util/biosdisk.c (read_device_map): Don't leave dead map
27804 entries for devices failing stat() check.
27805
f527dbc8 27806 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27807 core_path_dev for the core.img path on the target device.
27808
aebe3d13 278092008-06-26 Robert Millan <rmh@aybabtu.com>
27810
27811 * disk/fs_uuid.c: New file.
27812 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27813 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27814 (fs_uuid_mod_LDFLAGS): New variables.
27815 * include/grub/disk.h (grub_disk_dev_id): Add
27816 `GRUB_DISK_DEVICE_UUID_ID'.
27817 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27818 implement iterate().
27819
37aaf354 278202008-06-26 Robert Millan <rmh@aybabtu.com>
27821
27822 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27823 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27824 Linux image includes no initrd.
27825
25ff262a 278262008-06-21 Javier Martín <lordhabbit@gmail.com>
27827
27828 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27829 call to resolve the core image location that effectively appended the
27830 name twice.
27831
76a2bd44 278322008-06-21 Robert Millan <rmh@aybabtu.com>
27833
27834 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27835 call from here ...
27836
27837 * util/grub.d/10_hurd.in: ... to here ...
27838 * util/grub.d/10_linux.in: ... and here.
27839
650e1c79 278402008-06-19 Robert Millan <rmh@aybabtu.com>
27841
fe987087 27842 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 27843 after it has been set by grub_machine_set_prefix().
27844
6ce63911 278452008-06-19 Robert Millan <rmh@aybabtu.com>
27846
27847 * commands/search.c (search_label, search_fs_uuid, search_file): Print
27848 search result when not saving to variable, not the other way around.
27849 When saving to variable, abort iteration as soon as a match is found.
27850
73940cec 278512008-06-19 Robert Millan <rmh@aybabtu.com>
27852
27853 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
27854 check for partition that provides /boot/grub. Its logic is flawed,
27855 as it prevents prepare_grub_to_access_device() from being called
27856 multiple times.
27857
3c62a39d 278582008-06-19 Robert Millan <rmh@aybabtu.com>
27859
27860 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
27861 "insmod" command directly when abstraction modules are needed,
fe987087 27862 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 27863 since it had already been processed).
27864
47395a42 278652008-06-19 Pavel Roskin <proski@gnu.org>
27866
27867 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
27868 changed. This is needed in case GRUB_LIBDIR changes.
27869 * conf/i386-ieee1275.rmk: Likewise.
27870 * conf/i386-linuxbios.rmk: Likewise.
27871 * conf/i386-pc.rmk: Likewise.
27872 * conf/powerpc-ieee1275.rmk: Likewise.
27873
a145ac2d 278742008-06-18 Pavel Roskin <proski@gnu.org>
27875
27876 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
27877 kernel_elf_symlist.c to symlist.c for consistency with other
27878 architectures. Update all users.
27879 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27880
7847c51e 278812008-06-18 Robert Millan <rmh@aybabtu.com>
27882
27883 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
27884 it in prefix.
27885
27886 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
27887 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
27888 a RAID device, run setup() for all members independently on whether
27889 LVM abstraction is being used.
27890 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
27891 If grub-mkimage has set `*install_dos_part == -2', don't override this
27892 value.
27893 Perform *install_dos_part adjustments independently on whether
27894 we're embedding or not.
27895 Clarify error message when image is too big for embedding.
27896 Remove duplicate *install_dos_part stanza.
27897
b23e5644 278982008-06-17 Robert Millan <rmh@aybabtu.com>
27899
27900 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
27901 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
27902 variables.
27903 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
27904 values in grub_ofconsole_normal_color and
27905 grub_ofconsole_highlight_color (they're not directly related to
27906 background and foreground).
27907 (grub_ofconsole_setcolorstate): Extract background and foreground
27908 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
27909
0aac2f79 279102008-06-17 Robert Millan <rmh@aybabtu.com>
27911
27912 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
27913 /boot/grub for the check in last commit, not /boot (they could be
27914 different partitions).
27915
3cca7ef3 279162008-06-16 Robert Millan <rmh@aybabtu.com>
27917
27918 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
27919 asked to setup access for the same partition that provides /boot,
27920 don't bother using UUIDs since our root already has the value we
27921 want.
27922
347396d8 279232008-06-16 Robert Millan <rmh@aybabtu.com>
27924
27925 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
27926 I2O devices.
27927 Patch from Sven Mueller <sven@debian.org>.
27928
991477f8 279292008-06-16 Robert Millan <rmh@aybabtu.com>
27930
27931 * util/update-grub.in: Check for $EUID instead of $UID.
27932 Reported by Vincent Zweije.
27933
d31a32a1 279342008-06-16 Bean <bean123ch@gmail.com>
27935
fe987087 27936 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 27937 (grub_ext2_read_block): Likewise.
27938 (grub_ext2_read_inode): Likewise.
27939 (grub_ext2_mount): Likewise.
27940 (grub_ext2_close): Likewise.
27941 (grub_ext3_get_journal): Removed.
27942
fe987087 27943 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 27944 (grub_reiserfs_read_symlink): Likewise.
27945 (grub_reiserfs_mount): Likewise.
27946 (grub_reiserfs_open): Likewise.
27947 (grub_reiserfs_read): Likewise.
27948 (grub_reiserfs_close): Likewise.
27949 (grub_reiserfs_get_journal): Removed.
27950
27951 * fs/fshelp.c (grub_fshelp_read): Removed.
27952 (grub_fshelp_map_block): Likewise.
27953
27954 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
27955 (grub_fshelp_journal): Likewise.
27956 (grub_fshelp_read): Likewise.
27957 (grub_fshelp_map_block): Likewise.
27958
3540a760 279592008-06-16 Pavel Roskin <proski@gnu.org>
27960
27961 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
27962 floating point anymore.
27963 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
27964
95614c84 279652008-06-15 Pavel Roskin <proski@gnu.org>
27966
27967 * commands/ls.c (grub_ls_list_files): Use integer calculations
27968 for human readable format, avoid floating point use.
27969 * kern/misc.c (grub_ftoa): Remove.
27970 (grub_vsprintf): Remove floating point support.
27971
50465dd6 279722008-06-15 Robert Millan <rmh@aybabtu.com>
27973
fe6b695a 27974 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 27975 devices.
27976 Reported by Max Vozeler.
27977
a9207284 279782008-06-15 Robert Millan <rmh@aybabtu.com>
27979
27980 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
27981 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
27982 skipped later.
27983 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
27984 the beginning of the prefix.
27985
27986 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
27987 It is assumed that if we have a memdisk, grub-mkimage has set
27988 grub_prefix to include the "(memdisk)" drive in it.
27989
a7cbd45a 279902008-06-15 Robert Millan <rmh@aybabtu.com>
27991
27992 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
27993 Initialize keyboard controller after registering the terminal, so that
27994 grub_printf() can be called from grub_keyboard_controller_init().
27995
21cf716a 279962008-06-15 Robert Millan <rmh@aybabtu.com>
27997
27998 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
27999 extent-btree which is written as big endian on disk.
28000 Reported by Alain Greppin <al@chilibi.org>.
28001
23a64d8e 280022008-06-14 Robert Millan <rmh@aybabtu.com>
28003
28004 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
28005 * util/i386/pc/grub-install.in (modules): Likewise.
28006
d687651c 280072008-06-13 Pavel Roskin <proski@gnu.org>
28008
28009 * commands/ls.c (grub_ls_list_files): Fix format warnings.
28010
dfe9ddd4 280112008-06-13 Bean <bean123ch@gmail.com>
28012
28013 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
28014
28015 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
28016
28017 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
28018 to indicate sparse block.
28019
16ae7781 280202008-06-12 Pavel Roskin <proski@gnu.org>
28021
e6d1a308 28022 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
28023 number, grub_fshelp_read() does it for us.
28024
16ae7781 28025 * fs/fshelp.c (grub_fshelp_read): New function. Implement
28026 linear disk read with journal translation.
28027 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
28028 * include/grub/fshelp.h: Declare grub_fshelp_read().
28029
40fd3a2b 280302008-06-09 Pavel Roskin <proski@gnu.org>
28031
28032 * fs/minix.c (grub_minix_mount): Handle error reading
28033 superblock.
28034
f5679726 280352008-06-08 Robert Millan <rmh@aybabtu.com>
28036
28037 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
28038 don't append the RAID prefix afterwards.
28039 Reported by Clint Adams.
28040
ce525529 280412008-06-08 Robert Millan <rmh@aybabtu.com>
28042
28043 Based on description from Pavel:
28044 * kern/disk.c (grub_disk_check_range): Rename to ...
28045 (grub_disk_adjust_range): ... this. Add a comment explaining the
28046 tasks performed by this function.
28047
ad4936a0 280482008-06-08 Robert Millan <rmh@aybabtu.com>
28049
28050 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
28051 `num_serial' (for consistency with other variables).
28052 (struct grub_ntfs_data): Add `uuid' member.
28053 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
28054 (grub_ntfs_uuid): New function.
28055 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
28056
dc20b0f9 280572008-06-07 Pavel Roskin <proski@gnu.org>
28058
28059 * util/biosdisk.c (open_device): Revert last change to the
28060 function, it broke installation. The sector needs to be
28061 different dependent on which device is opened.
28062
c5e3cfba 280632008-06-06 Robert Millan <rmh@aybabtu.com>
28064
28065 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
28066 rest of GRUB, and breakage doesn't happen if its value were modified.
28067
28068 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28069 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
28070 a constant (same value).
28071 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
28072 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
28073
26a1f8c4 280742008-06-06 Robert Millan <rmh@aybabtu.com>
28075
28076 * util/biosdisk.c (open_device): Do not modify sector offset when
28077 accessing a partition. kern/disk.c already handles this for us.
28078
25d6b327 280792008-06-06 Robert Millan <rmh@aybabtu.com>
28080
28081 * util/grub-emu.c (grub_machine_init): Move code in this function from
28082 here ...
28083 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
28084 segfault in case grub_printf() is called).
28085
28086 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
28087 grub_probe. Update all users not to explicitly add it again.
28088 (grub_device): New variable; contains corresponding device for grubdir.
28089 (fs_module, partmap_module, devabstraction_module): Pass
28090 `--device ${grub_device}' to grub_probe to avoid traversing /dev
28091 every time.
28092
9ece62fb 280932008-06-05 Robert Millan <rmh@aybabtu.com>
28094
28095 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
28096 is found, print it (same layout as with labels).
28097
1ad36d37 280982008-06-04 Robert Millan <rmh@aybabtu.com>
28099
28100 * util/biosdisk.c (get_drive): Rename to ...
28101 (find_grub_drive): ... this. Update all users.
28102
28103 (get_os_disk): Rename to ...
28104 (convert_system_partition_to_system_disk): ... this. Update all users.
28105
28106 (find_drive): Rename to ...
28107 (find_system_device): ... this. Update all users.
28108
e6a30859 281092008-06-04 Robert Millan <rmh@aybabtu.com>
28110
28111 * util/biosdisk.c (get_os_disk): Handle IDA devices.
28112 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28113 (make_device_map): Likewise.
28114
00c108a4 281152008-06-01 Robert Millan <rmh@aybabtu.com>
28116
28117 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
28118 before dereferencing it.
28119
28120 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
28121 union with fat12/fat16-specific ones. Add some new fields, including
28122 `num_serial' for both versions.
28123 (struct grub_fat_data): Add `uuid' member.
28124 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
28125 names. Initialize `data->uuid' using `num_serial'.
28126 (grub_fat_uuid): New function.
28127 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
28128
28129 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
28130 (grub_reiserfs_uuid): New function.
28131 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
28132 member.
28133
28134 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
28135 (grub_xfs_uuid): New function.
28136 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
28137
1385c5bb 281382008-06-01 Robert Millan <rmh@aybabtu.com>
28139
28140 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28141 code that is backward compatible with pre-uuid search command.
28142
c682dfd7 281432008-05-31 Robert Millan <rmh@aybabtu.com>
28144
28145 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28146 floppies after everything else, to ensure floppy drive isn't accessed
28147 unnecessarily (patch from Bean).
28148
b7db5d47 281492008-05-31 Robert Millan <rmh@aybabtu.com>
28150
28151 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28152 not print device names when we were asked to set a variable.
28153
6e037aa9 281542008-05-31 Robert Millan <rmh@aybabtu.com>
28155
28156 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28157 using "cursor-on" and "cursor-off" commands (understood at least by
28158 the Open Firmware flavour on OLPC).
28159
41305bc8 281602008-05-31 Michael Gorven <michael@gorven.za.net>
28161
28162 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28163 on and off sequences.
28164
69ba137e 281652008-05-31 Robert Millan <rmh@aybabtu.com>
28166
28167 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28168 * util/update-grub.in: Likewise.
28169
520ae21b 281702008-05-30 Pavel Roskin <proski@gnu.org>
28171
28172 * util/biosdisk.c (linux_find_partition): Simplify logic and
28173 make the code more universal. Keep special processing for
28174 devfs, but use a simple rule for all other devices. If the
28175 device ends with a number, append 'p' and the partition number.
28176 Otherwise, append only the partition number.
28177
5786569b 281782008-05-30 Robert Millan <rmh@aybabtu.com>
28179
28180 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28181 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28182 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28183 the `root' parameter to Linux.
28184
51500452 281852008-05-30 Robert Millan <rmh@aybabtu.com>
28186
28187 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28188 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28189 --fs_uuid with --fs-uuid.
28190 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28191 all filesystems support them).
28192
811d3878 281932008-05-30 Robert Millan <rmh@aybabtu.com>
28194
28195 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28196 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28197
cab63c95 281982008-05-30 Robert Millan <rmh@aybabtu.com>
28199
28200 * util/grub.d/00_header.in: Remove obsolete comment referencing
28201 convert_system_path_to_grub_path().
28202 * util/update-grub.in: Likewise.
28203 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28204 (convert_system_path_to_grub_path): Add a warning message explaining
28205 that this function is deprecated. Rely on is_path_readable_by_grub()
28206 for the readability checks.
28207 (font_path): Use is_path_readable_by_grub() for the readability
28208 check rather than convert_system_path_to_grub_path().
28209
972e2f7a 282102008-05-30 Robert Millan <rmh@aybabtu.com>
28211
28212 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28213 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28214 converting it first.
28215 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28216 grub.cfg for access to font file, and afterwards call it again to set
28217 the root device.
28218
62191274 282192008-05-30 Robert Millan <rmh@aybabtu.com>
28220
28221 * commands/search.c (options): Add --fs_uuid option.
28222 (search_fs_uuid): New function.
28223 (grub_cmd_search): Fix --set argument passing.
28224 Use search_fs_uuid() when requested via --fs_uuid.
28225 (grub_search_init): Update help message.
28226 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28227 and redeclare it as an array of 16-bit words.
28228 (grub_ext2_uuid): New function.
28229 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28230 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28231 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28232 (GRUB_DEVICE_BOOT_UUID): New variables.
28233 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28234 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28235 whenever possible.
28236 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28237 just assume `root' variable has the right value.
28238 * util/grub.d/10_linux.in: Likewise.
28239 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28240 via PRINT_FS_UUID.
28241 (main): Recognise `-t fs_uuid' argument.
28242
01b73ec8 282432008-05-30 Robert Millan <rmh@aybabtu.com>
28244
28245 * util/biosdisk.c (map): Redefine structure to hold information
28246 about GRUB drive name.
fe6b695a 28247 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28248 drive names.
28249 (call_hook): Remove.
28250 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28251 member. Assume drive has partitions.
28252 (grub_util_biosdisk_open): Access device names via `.device' struct
28253 member.
28254 (open_device): Likewise.
28255 (find_drive): Likewise.
28256 (read_device_map): Adjust map[] usage to match the new struct
28257 definition. Don't check for duplicates (still possible, but not cheap
28258 anymore).
28259 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28260 (make_device_name): Remove assumption of BIOS-like drive names.
28261
22f16596 282622008-05-30 Pavel Roskin <proski@gnu.org>
28263
28264 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28265 compiling execute.c doesn't need grub_script.tab.h anymore.
28266 (normal/command.c_DEPENDENCIES): Likewise.
28267 (normal/function.c_DEPENDENCIES): Likewise.
28268 * conf/i386-ieee1275.rmk: Likewise.
28269 * conf/i386-linuxbios.rmk: Likewise.
28270 * conf/i386-pc.rmk: Likewise.
28271 * conf/powerpc-ieee1275.rmk: Likewise.
28272 * conf/sparc64-ieee1275.rmk: Likewise.
28273
528ad8f2 282742008-05-29 Pavel Roskin <proski@gnu.org>
28275
d1dff95d 28276 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28277 when scanning metadata for volume group name.
28278
528ad8f2 28279 * include/grub/script.h: Don't include grub_script.tab.h. It's
28280 a generated file, which may only be included from the files with
28281 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28282 use union YYSTYPE, as the later allows forward declaration.
28283 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28284
47248e08 282852008-05-29 Robert Millan <rmh@aybabtu.com>
28286
28287 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28288 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28289 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28290 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28291 scan codes.
28292
ee632529 282932008-05-29 Robert Millan <rmh@aybabtu.com>
28294
28295 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28296 control key combinations.
28297
eee96e08 282982008-05-29 Robert Millan <rmh@aybabtu.com>
28299
28300 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28301 * util/ieee1275/grub-install.in: ... to here.
28302 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28303 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28304 (grub_install_SOURCES): Likewise.
28305
da9a6a94 283062008-05-29 Robert Millan <rmh@aybabtu.com>
28307
28308 * fs/affs.c: Update copyright year.
28309 * fs/ext2.c: Likewise.
28310 * fs/fshelp.c: Likewise.
28311 * fs/hfsplus.c: Likewise.
28312 * fs/ntfs.c: Likewise.
28313 * fs/xfs.c: Likewise.
28314 * include/grub/fshelp.h: Likewise.
28315 * util/grub-mkdevicemap.c: Likewise.
28316
12e65f3a 283172008-05-28 Robert Millan <rmh@aybabtu.com>
28318
28319 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28320 might need to be fatfs to support some firmware implementations
28321 (e.g. OFW or EFI).
28322
23023641 283232008-05-28 Robert Millan <rmh@aybabtu.com>
28324
28325 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28326 devices.
28327 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28328 (make_device_map): Likewise.
28329
887d2619 283302008-05-20 Bean <bean123ch@gmail.com>
28331
28332 * fs/fshelp.c (grub_fshelp_map_block): New function.
28333 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28334 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28335
28336 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28337 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28338 (grub_fshelp_journal): New structure.
28339 (grub_fshelp_map_block): New function prototype.
28340 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28341 (grub_fshelp_map_block): Likewise.
28342
28343 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28344 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28345 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28346 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28347 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28348 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28349 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28350 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28351 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28352 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28353 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28354 (grub_ext2_sblock): New members for journal support.
28355 (grub_ext3_journal_header): New structure.
28356 (grub_ext3_journal_revoke_header): Likewise.
28357 (grub_ext3_journal_block_tag): Likewise.
28358 (grub_ext3_journal_sblock): Likewise.
28359 (grub_fshelp_node): New members logfile and journal.
28360 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28361 grub_fshelp_map_block to get real block number.
28362 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28363 number.
28364 (grub_ext2_read_inode): Likewise.
28365 (grub_ext3_get_journal): New function.
28366 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28367 (grub_ext2_close): Release memory used by journal.
28368
28369 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28370 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28371 (grub_reiserfs_transaction_header): Renamed to
28372 grub_reiserfs_description_block, replace field data with real_blocks.
28373 (grub_reiserfs_commit_block): New structure.
28374 (grub_reiserfs_data): New member journal.
28375 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28376 number.
28377 (grub_reiserfs_read_symlink): Likewise.
28378 (grub_reiserfs_iterate_dir): Likewise.
28379 (grub_reiserfs_open): Likewise.
28380 (grub_reiserfs_read): Likewise.
28381 (grub_reiserfs_get_journal): New function.
28382 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28383 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28384 using grub_reiserfs_get_journal.
28385 (grub_reiserfs_close): Release memory used by journal.
28386
28387 * fs/affs.c (grub_affs_read_block): Change block type to
28388 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28389
28390 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28391
28392 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28393
28394 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28395
28396 * fs/udf.c (grub_udf_read_block): Change block type to
28397 grub_disk_addr_t. Use type cast to avoid warning.
28398
28399 * fs/xfs.c (grub_xfs_read_block): Likewise.
28400
b7c6bed5 284012008-05-16 Christian Franke <franke@computer.org>
28402
28403 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28404 to ensure that break with ESC will always work.
28405 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28406 Remove ESC from keyboard queue.
28407
eedf167f 284082008-05-16 Christian Franke <franke@computer.org>
28409
28410 * util/biosdisk.c: [__CYGWIN__] Add includes.
28411 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28412 (get_os_disk): Move variable declarations to OS specific
28413 parts to avoid warning.
28414 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28415 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28416 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28417 Cygwin.
28418 * util/getroot.c: [__CYGWIN__] Add includes.
28419 (strip_extra_slashes): Fix "/" case.
28420 [__CYGWIN__] (get_win32_path): New function.
28421 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28422 [__CYGWIN__] (find_root_device): Disable.
28423 [__CYGWIN__] (get_bootsec_serial): New function.
28424 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28425 [__linux__] (grub_guess_root_device): Add early returns to simplify
28426 structure.
28427 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28428 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28429 check for Linux only.
28430
a079699e 284312008-05-15 Bean <bean123ch@gmail.com>
28432
28433 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28434 keyboard hang problem in apple's intel mac.
28435
1cf4059a 284362008-05-09 Robert Millan <rmh@aybabtu.com>
28437
28438 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28439 devices.
28440 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28441 (make_device_map): Likewise.
28442 Reported by Aurelien Jarno <aurel32@debian.org>
28443
ed759390 284442008-05-07 Ian Campbell <ijc@hellion.org.uk>
28445
28446 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28447 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28448 (make_device_map): Output entries for xvd type disks.
28449
b56c4eaa 284502008-05-07 Robert Millan <rmh@aybabtu.com>
28451
28452 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28453 devices.
28454 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28455 (make_device_map): Likewise.
28456 Reported by Roland Dreier <rdreier@cisco.com>
28457
7f8866ed 284582008-05-07 Robert Millan <rmh@aybabtu.com>
28459
28460 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28461 grub_strstr() call. Correct a few mistakes in failure path handling.
28462
b0346e0f 284632008-05-06 Robert Millan <rmh@aybabtu.com>
28464
28465 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28466 Do not print a trailing slash (therefore, the root directory is an
28467 empty string).
28468 (convert_system_path_to_grub_path): Do not remove trailing slash
28469 from make_system_path_relative_to_its_root() output.
28470
28471 * util/i386/pc/grub-install.in: Add trailing slash to output from
28472 make_system_path_relative_to_its_root().
28473
6cf12cbd 284742008-05-06 Robert Millan <rmh@aybabtu.com>
28475
28476 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28477 ensures that output lines aren't intermangled with those sent to
28478 stderr (via grub_util_info()).
28479 * util/grub-probe.c (grub_refresh): Likewise.
28480 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28481
0fbb3117 284822008-05-05 Christian Franke <franke@computer.org>
28483
28484 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28485 Add Cygwin device names.
28486 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28487 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28488 (check_device): Return error instead of success on empty name.
28489 (make_device_map): Move label inside linux specific code to
28490 prevent compiler warning.
28491
8124cdb7 284922008-04-30 Robert Millan <rmh@aybabtu.com>
28493
28494 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28495 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28496 first boot option.
28497 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28498
094c01d0 284992008-04-29 Robert Millan <rmh@aybabtu.com>
28500
28501 * docs/grub.cfg: New file (example GRUB configuration).
28502
f4b1fc02 285032008-04-26 Robert Millan <rmh@aybabtu.com>
28504
329ce2a5 28505 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28506 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28507 and `disk/ieee1275/nand.c'.
f4b1fc02 28508
25f16ec1 285092008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28510
25f16ec1 28511 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28512 i386-linuxbios.
28513
28514 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28515 change the buffer size to 4096 for cdrom device.
28516
28517 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28518 and nand.mod.
28519 (_linux_mod_SOURCES): New variable.
28520 (_linux_mod_CFLAGS): Likewise.
28521 (_linux_mod_LDFLAGS): Likewise.
28522 (linux_mod_SOURCES): Likewise.
28523 (linux_mod_CFLAGS): Likewise.
28524 (linux_mod_LDFLAGS): Likewise.
28525 (nand_mod_SOURCES): Likewise.
28526 (nand_mod_CFLAGS): Likewise.
28527 (nand_mod_LDFLAGS): Likewise.
28528
28529 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28530 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28531 type property. (nand device in olpc don't have this property)
28532
28533 * include/grub/disk.h (grub_disk_dev_id): New macro
28534 GRUB_DISK_DEVICE_NAND_ID.
28535
28536 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28537 function prototype.
28538 (grub_rescue_cmd_initrd): Likewise.
28539
28540 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28541 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28542 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28543
25f16ec1 28544 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28545 GRUB_MACHINE_IEEE1275 is defined.
28546
28547 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28548 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28549
28550 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28551 on nested function heap_init.
28552 (grub_upper_mem): New variable for i386-ieee1275.
28553 (grub_get_extended_memory): New function for i386-ieee1275.
28554 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28555
28556 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28557 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28558 property.
f19dbdb7 28559
25f16ec1 28560 * loader/i386/ieee1275/linux.c: New file.
28561
28562 * loader/i386/ieee1275/linux_normal.c: New file.
28563
28564 * disk/ieee1275/nand.c: New file.
28565
e89d61e9 285662008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28567
28568 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28569 value.
28570 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28571
602566f6 285722008-04-18 Robert Millan <rmh@aybabtu.com>
28573
28574 Restructures early code path on ieee1275 to unify grub_main() as
28575 the first C function that is executed in every platform.
28576
28577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28578 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28579 cmain().
28580 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28581 * kern/ieee1275/cmain.c (cmain): Rename to ...
28582 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28583 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28584 at the beginning.
28585
57490c2b 285862008-04-18 Robert Millan <rmh@aybabtu.com>
28587
28588 * util/update-grub.in: Fix syntax error when setting
28589 `GRUB_PRELOAD_MODULES'.
28590 Reported by Stephane Chazelas <stephane@artesyncp.com>
28591
1977517d 285922008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28593
28594 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28595 section into account, newer toolchains generate unique build ids
28596 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28597 we want build ids to be preserved
1977517d 28598 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28599 far from other sections don't cause the raw binary images grow
28600 size
28601
bfb1f1a2 286022008-04-15 Robert Millan <rmh@aybabtu.com>
28603
28604 * disk/lvm.c: Update copyright year.
28605 * kern/misc.c: Likewise.
28606
01979850 286072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28608
28609 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28610 there is no memory left for physical volume name.
01979850 28611
0a1150e2 286122008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28613
28614 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28615 volume name mapping to support bigger than 9 character names properly.
28616
82ead3fe 286172008-04-13 Robert Millan <rmh@aybabtu.com>
28618
28619 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28620 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28621
e54a72f5 286222008-04-13 Christian Franke <franke@computer.org>
28623
28624 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28625 to create a floppy emulation boot CD when non emulation mode
28626 does not work.
28627 Enable Joliet CD filesystem extension.
28628
9fe86034 286292008-04-13 Robert Millan <rmh@aybabtu.com>
28630
28631 * kern/misc.c (grub_strncat): Fix off-by-one error.
28632 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28633
28634 * kern/env.c (grub_env_context_close): Clear current context, not
28635 previous one.
28636 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28637
28638 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28639
7ceeee39 286402008-04-13 Robert Millan <rmh@aybabtu.com>
28641
28642 Improve robustness when handling LVM.
28643
28644 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 28645 (and leave `*p' unmodified).
7ceeee39 28646 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28647 through it.
28648 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28649 iterating through it.
28650 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28651 through it.
fe6b695a 28652 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 28653 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28654 Don't assume `vg->pvs != NULL' when iterating through it.
28655
58cd3d85 286562008-04-13 Robert Millan <rmh@aybabtu.com>
28657
28658 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28659 * genmk.rb (partmap): New variable.
28660 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28661 (#{partmap}): New target rule.
28662 * genpartmaplist.sh: New file.
28663 * Makefile.in (pkglib_DATA): Add partmap.lst.
28664 (partmap.lst): New target rule.
28665 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28666 modules (including all partition maps), instead of preloading them.
28667
78b51059 286682007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28669
28670 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28671 `linux-boot-prober' (if installed) to detect other operating
28672 systems which are installed on the computer and add them to
28673 the boot menu.
28674 * conf/common.rmk: Build and install 30_os-prober.
28675
a91627b4 286762008-04-12 Robert Millan <rmh@aybabtu.com>
28677
28678 * kern/powerpc/ieee1275/init.c: Move from here ...
28679 * kern/ieee1275/init.c: ... to here. Update all users.
28680
28681 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28682 * kern/ieee1275/cmain.c: ... to here. Update all users.
28683
28684 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28685 * kern/ieee1275/openfw.c: ... to here. Update all users.
28686
28687 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28688 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28689
322562ea 286902008-04-10 Pavel Roskin <proski@gnu.org>
28691
28692 * configure.ac: Always use "_cv_" in cache variables for
28693 compatibility with Autoconf 2.62.
28694
a02a73c5 286952008-04-07 Robert Millan <rmh@aybabtu.com>
28696
28697 Revert grub/machine/init.h addition by Pavel (since it breaks on
28698 i386-ieee1275 and others):
28699 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28700 * util/powerpc/ieee1275/misc.c: Likewise.
28701
25c024b1 287022008-04-07 Robert Millan <rmh@aybabtu.com>
28703
28704 * util/grub-probe.c (probe): Improve error message.
28705
3cbd2f98 287062008-04-07 Robert Millan <rmh@aybabtu.com>
28707
28708 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28709 (this prevents the presence of a bogus entry from ruining the whole
28710 thing).
28711
87a297bf 287122008-04-06 Pavel Roskin <proski@gnu.org>
28713
36747a62 28714 * util/biosdisk.c: Include grub/util/biosdisk.h.
28715 * util/grub-fstest.c (execute_command): Make static.
28716 * util/grub-mkdevicemap.c (check_device): Likewise.
28717 * util/i386/pc/misc.c: Include grub/machine/init.h.
28718 * util/powerpc/ieee1275/misc.c: Likewise.
28719 * util/lvm.c: Include grub/util/lvm.h.
28720 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28721 grub/cache.h.
28722 * util/raid.c: Include grub/util/raid.h.
28723 (grub_util_getdiskname): Make static.
28724
87a297bf 28725 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28726 grub_hostfs_fini(), as they are called from grub_init_all() and
28727 grub_fini_all() respectively. This fixes an infinite loop in
28728 grub-fstest due to double registration of hostfs.
28729 Reported by Christian Franke <Christian.Franke@t-online.de>
28730
f6ce7629 287312008-04-05 Pavel Roskin <proski@gnu.org>
28732
28733 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28734 all 8 functions. Otherwise, probe function 0 only.
28735
070e49e4 287362008-04-04 Pavel Roskin <proski@gnu.org>
28737
8b088a4c 28738 * commands/lspci.c (grub_lspci_iter): Print the bus number
28739 correctly.
28740
4f657021 28741 * commands/lspci.c (grub_pci_classes): Fix typos.
28742 (grub_lspci_iter): Don't print func twice. Print vendor ID
28743 before device ID, as it's normally done.
28744
070e49e4 28745 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28746 Fix signedness warnings.
28747 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28748 Likewise.
28749 * util/ieee1275/get_disk_name.c: Include config.h so that
28750 _GNU_SOURCE is defined and getline() is declared. Mark an
28751 unused argument as such. Fix a signedness warning.
28752
ba7328dc 287532008-04-02 Pavel Roskin <proski@gnu.org>
28754
26887f22 28755 * genkernsyms.sh.in: Use more robust assignments for CC and
28756 srcdir. Quote srcdir.
28757 * gensymlist.sh.in: Likewise. Assert at the compile time that
28758 the symbol table is not empty.
28759
ba7328dc 28760 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28761 * fs/cpio.c (grub_cpio_read): Likewise.
28762
0f582c6b 287632008-04-01 Pavel Roskin <proski@gnu.org>
28764
4b6e1995 28765 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28766 * disk/host.c (grub_host_open): Likewise.
28767 * disk/loopback.c (grub_loopback_open): Likewise.
28768 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28769 disk->id as in disk/host.c, not a multi-character constant.
28770
828a2768 28771 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28772 later is obsolete, potentially dangerous and sets a bad example.
28773 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28774 * util/misc.c (grub_util_get_image_size): Likewise.
28775
2bb4fb47 28776 * disk/loopback.c (options): Improve help for "--partitions".
28777
0f582c6b 28778 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28779 options to align them with the short options, e.g. "echo -e".
28780
a33224e0 287812008-03-31 Bean <bean123ch@gmail.com>
28782
28783 * video/reader/png.c (grub_png_data): New member is_16bit and
28784 image_data.
28785 (grub_png_decode_image_header): Detect 16 bit png image.
28786 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28787 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28788 (grub_video_reader_png): Release memory occupied by image_data.
28789
28790 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28791 4096 bytes.
28792 (grub_nfs_mount): Skip the test for sector per cluster.
28793
28794 * include/grub/ntfs.h (MAX_SPC): Removed.
28795
86cb4f54 287962008-03-31 Bean <bean123ch@gmail.com>
28797
28798 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28799 (grub_probe_SOURCES): Add fs/afs.c.
28800 (grub_fstest_SOURCES): Likewise.
28801 (afs_mod_SOURCES): New variable.
28802 (afs_mod_CFLAGS): Likewise.
28803 (afs_mod_LDFLAGS): Likewise.
28804
28805 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28806 (grub_emu_SOURCES): Likewise.
28807
28808 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28809
28810 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28811
28812 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28813
28814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28815
28816 * fs/afs.c: New file.
28817
17c74c21 288182008-03-30 Pavel Roskin <proski@gnu.org>
28819
4cb68e89 28820 * disk/host.c: Include grub/misc.h to fix a warning.
28821 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28822 warnings about implicit declarations.
28823
8790bb04 28824 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28825 variable.
28826 * include/grub/i386/loader.h: Change declaration of
28827 grub_linux_boot() to match what grub_loader_set() expects.
28828 * util/getroot.c (grub_guess_root_device): Return const char* to
28829 fix a warning.
28830 * util/grub-probe.c (probe): Fix a warning about uninitialized
28831 abstraction_name variable.
28832 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28833 second argument as unused to fix a warning.
28834
9a3f3296 28835 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28836 missing grub_error() call.
28837
0ecef90d 28838 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28839 2.60 and newer uses it to define datadir.
28840
0bf6d401 28841 * commands/sleep.c: Fix warning about implicit declaration.
28842 * disk/memdisk.c: Likewise.
28843 * loader/aout.c: Likewise.
28844 * loader/i386/bsd_normal.c: Likewise.
28845 * util/grub-probe.c: Likewise.
28846
7cdacf97 28847 * commands/i386/cpuid.c (has_longmode): Make static.
28848 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
28849 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
28850
17c74c21 28851 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
28852 GDT. This is more robust, as %ds can change.
28853 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
28854 calling real_to_prot().
28855 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
28856
80a3e68b 288572008-03-28 Pavel Roskin <proski@gnu.org>
28858
28859 * kern/i386/pc/startup.S: Assert that uncompressed functions
28860 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
28861 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
28862 code, as they push parts of the code (error handlers) beyond
28863 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
28864 code as correctness and size.
28865
77bcd272 288662008-03-28 Pavel Roskin <proski@gnu.org>
28867
28868 * kern/i386/pc/startup.S
28869 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
28870 data block address to the real mode, keep offset minimal. This
28871 works around a bug in AWARD BIOS on old Athlon systems, which
28872 makes CD detection hang.
28873
c5dfd43b 288742008-03-26 Pavel Roskin <proski@gnu.org>
28875
28876 * normal/color.c (grub_parse_color_name_pair): Make `name' a
28877 const.
28878 * include/grub/normal.h: Add grub_parse_color_name_pair()
28879 declaration.
28880
bf962df2 288812008-03-24 Bean <bean123ch@gmail.com>
28882
28883 * disk/i386/pc/biosdisk.c (cd_start): Removed.
28884 (cd_count): Removed.
28885 (cd_drive): New variable.
28886 (grub_biosdisk_get_drive): Don't check for (cdN) device.
28887 (grub_biosdisk_call_hook): Likewise.
28888 (grub_biosdisk_iterate): Change cdrom detection method.
28889 (grub_biosdisk_open): Replace cd_start with cd_drive.
28890 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
28891 detect cdrom device.
28892
28893 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
28894 Removed.
28895 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
28896 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
28897 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
28898 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
28899 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
28900 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
28901 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
28902 (grub_biosdisk_cdrp): New structure.
28903 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
28904
28905 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
28906
28907 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
28908 device.
28909
28910 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
28911 New function.
28912
68e7fc7a 289132008-03-20 Robert Millan <rmh@aybabtu.com>
28914
28915 Remove 2 TiB limit in ata.mod.
28916 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
28917 (grub_ata_dumpinfo): Print sector count with 0x%llx.
28918 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
28919 grub_uint64_t instead of grub_uint32_t.
28920
38ad2cf5 289212008-03-05 Bean <bean123ch@gmail.com>
28922
28923 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
28924 (grub_multiboot): Set boot device.
28925
28926 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
28927
2b89344e 289282008-03-02 Bean <bean123ch@gmail.com>
28929
28930 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
28931 symlink_buffer.
28932
87a95d1f 289332008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
28934
28935 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
28936 texinfo.tex.
28937
28938 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
28939 modified.
28940
28941 * docs/fdl.texi: New file.
f19dbdb7 28942
87a95d1f 28943 * docs/mdate-sh: New file. Copied from gnulib.
28944 * docs/texinfo.tex: Likewise.
28945
28946 * config.guess: Updated from gnulib.
28947 * install-sh: Likewise.
28948
7dc15d8e 289492008-02-28 Robert Millan <rmh@aybabtu.com>
28950
28951 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
28952 (aout_mod_SOURCES): New variable.
28953 (aout_mod_CFLAGS): Likewise.
28954 (aout_mod_LDFLAGS): Likewise.
28955
28956 * conf/i386-ieee1275.rmk: Likewise.
28957
b00ab696 289582008-02-28 Robert Millan <rmh@aybabtu.com>
28959
28960 * util/update-grub.in: Reorganise terminal validity check. Accept
28961 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
28962 Based on suggestion by Franklin PIAT.
28963
79ca2d78 289642008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
28965
28966 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
28967 function.
28968 * util/getroot.c (grub_util_check_block_device): New function that
28969 returns the given argument if it is a block device and returns NULL else.
28970 * util/grub-probe.c (argument_is_device): New variable.
28971 (probe): Promote device_name from a variable to an argument. Receive
28972 device_name from grub_util_check_block_device() if path is NULL and from
28973 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 28974 (options): Introduce new parameter '-d, --device'.
79ca2d78 28975 (main): Add description of the new parameter to the help screen.
28976 Rename path variable to argument. Set argument_is_device if the '-d'
28977 option is given. Pass argument to probe() depending on
28978 argument_is_device.
28979
0d16e571 289802008-02-24 Bean <bean123ch@gmail.com>
28981
28982 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
28983 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
28984 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
28985 (GRUB_ISO9660_VOLDESC_PART): Likewise.
28986 (GRUB_ISO9660_VOLDESC_END): Likewise.
28987 (grub_iso9660_primary_voldesc): New member escape.
28988 (grub_iso9660_data): New member joliet.
28989 (grub_iso9660_convert_string): New function.
28990 (grub_iso9660_mount): Detect joliet extension.
28991 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
28992 (grub_iso9660_iso9660_label): Likewise.
28993
28994 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
28995 (grub_setup_SOURCES): Add fs/udf.c.
28996 (grub_fstest_SOURCES): Likewise.
28997 (udf_mod_SOURCES): New variable.
28998 (udf_mod_CFLAGS): Likewise.
28999 (udf_mod_LDFLAGS): Likewise.
29000
29001 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
29002 (grub_emu_SOURCES): Likewise.
29003
29004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29005
29006 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29007
29008 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29009
29010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29011
29012 * fs/udf.c: New file.
29013
8a594a17 290142008-02-24 Robert Millan <rmh@aybabtu.com>
29015
29016 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
29017 (normal/lexer.c_DEPENDENCIES): New variables.
29018 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29019 (normal/lexer.c_DEPENDENCIES): Likewise.
29020 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
29021 (normal/lexer.c_DEPENDENCIES): Likewise.
29022 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
29023 (normal/lexer.c_DEPENDENCIES): Likewise.
29024 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29025 (normal/lexer.c_DEPENDENCIES): Likewise.
29026 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29027 (normal/lexer.c_DEPENDENCIES): Likewise.
29028
2dc33c03 290292008-02-23 Robert Millan <rmh@aybabtu.com>
29030
29031 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
29032 since they were intended to be in hex. This didn't break previously
29033 because of a bug in gpt_partition_map_iterate() (see below).
29034
29035 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
29036 when checking the validity of GPT header.
29037 Remove `partno', since it always provides the same information as `i'.
29038
f6f4cfb0 290392008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
29040
29041 * include/grub/efi/time.h: Fix a wrong comment.
29042
79ff665f 290432008-02-19 Pavel Roskin <proski@gnu.org>
29044
29045 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
29046 message.
29047
d38e24c2 290482008-02-19 Bean <bean123ch@gmail.com>
29049
29050 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
29051 (aout_mod_SOURCES): New variable.
29052 (aout_mod_CFLAGS): Likewise.
29053 (aout_mod_LDFLAGS): Likewise.
29054 (_bsd_mod_SOURCES): New variable.
29055 (_bsd_mod_CFLAGS): Likewise.
29056 (_bsd_mod_LDFLAGS): Likewise.
29057 (bsd_mod_SOURCES): New variable.
29058 (bsd_mod_CFLAGS): Likewise.
29059 (bsd_mod_LDFLAGS): Likewise.
29060
29061 * include/grub/aout.h: New file.
29062
29063 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
29064
29065 * include/grub/i386/bsd.h: New file.
29066
29067 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
29068 to make it public.
29069
29070 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
29071 function is called, so that it's possible to change it inside the hook.
29072 (grub_elf64_load): Likewise.
29073 (grub_elf_file): Don't close the file if elf header is not found.
29074 (grub_elf_close): Close the file if grub_elf_file fails (The new
29075 grub_elf_file won't close it).
29076 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
29077 (grub_elf64_size): Likewise.
29078
29079 * kern/i386/loader.S (grub_unix_real_boot): New function.
29080
29081 * loader/aout.c: New file.
29082
29083 * loader/i386/bsd.c: New file.
29084
29085 * loader/i386/bsd_normal.c: New file.
29086
29087 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
29088
29089 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 29090 can test other formats.
d38e24c2 29091
b93bdb0f 290922008-02-19 Robert Millan <rmh@aybabtu.com>
29093
29094 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
29095 (grub_gpt_partition_type_empty): Redefine with macro from
29096 `<grub/gpt_partition.h>'.
29097 (gpt_partition_map_iterate): Adjust partition type comparison.
29098
29099 Export `entry' as partmap-specific `part.data' struct.
29100 (grub_gpt_header, grub_gpt_partentry): Move from here ...
29101
29102 * include/grub/gpt_partition.h (grub_gpt_header)
29103 (grub_gpt_partentry): ... to here (new file).
29104
29105 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
29106
29107 (grub_gpt_partition_type_bios_boot): New const variable, defined
29108 with macro from `<grub/gpt_partition.h>'.
29109
29110 (setup): Replace `first_start' with `embed_region', which keeps
29111 track of the embed region (and is partmap-agnostic).
29112
29113 Replace find_first_partition_start() with find_usable_region(),
29114 which finds a usable region for embedding using partmap-specific
29115 knowledge (supports PC/MSDOS and GPT).
29116
29117 Fix all assumptions that the embed region start at sector 1, using
29118 `embed_region.start' from now on. Similarly, use `embed_region.end'
29119 rather than `first_start' to calculate available size.
29120
29121 In grub_util_info() message, replace "into after the MBR" with an
29122 indication of the specific sector our embed region starts at.
29123
66cb40f6 291242008-02-19 Robert Millan <rmh@aybabtu.com>
29125
29126 * DISTLIST: Replace `commands/ieee1275/halt.c' and
29127 `commands/ieee1275/reboot.c' with `commands/halt.c' and
29128 `commands/reboot.c'.
29129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29130 (halt_mod_SOURCES): Likewise.
29131 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29132 (halt_mod_SOURCES): Likewise.
29133
b7202015 291342008-02-17 Christian Franke <franke@computer.org>
29135
29136 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
29137
32b0fc49 291382008-02-17 Robert Millan <rmh@aybabtu.com>
29139
29140 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29141 set `first_start' to 0 for non-PC/MSDOS partition maps.
29142
aca63502 291432008-02-16 Robert Millan <rmh@aybabtu.com>
29144
29145 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29146 do not assume partition map is PC/MSDOS before performing checks that
29147 are specific to that layout.
29148
0de8be86 291492008-02-13 Robert Millan <rmh@aybabtu.com>
29150
29151 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29152 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29153 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29154
c3db8364 291552008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29156
29157 * configure.ac: Only a cosmetic change on the handling of
29158 -fno-stack-protector.
29159
f714229e 291602008-02-12 Alexandre Boeglin <alex@boeglin.org>
29161
c3db8364 29162 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29163 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29164 reboot.c.
f714229e 29165 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29166 (halt_mod_SOURCES): New variable.
29167 (halt_mod_CFLAGS): Likewise.
29168 (halt_mod_LDFLAGS): Likewise.
29169 (reboot_mod_SOURCES): Likewise.
29170 (reboot_mod_CFLAGS): Likewise.
29171 (reboot_mod_LDFLAGS): Likewise.
29172
c3db8364 29173 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29174 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29175 reboot.c.
f714229e 29176 (halt_mod_SOURCES): Likewise.
29177 (reboot_mod_SOURCES): Likewise.
29178
c3db8364 29179 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29180 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29181 (reboot_mod_SOURCES): Likewise.
29182
29183 * commands/i386/pc/reboot.c: merge this file ...
29184
29185 * commands/ieee1275/reboot.c: ... and this file ...
29186
29187 * commands/reboot.c: ... to this file.
c3db8364 29188 Add some precompiler directive to include the correct header for
29189 each machine.
f714229e 29190
29191 * commands/ieee1275/halt.c: move this file ...
29192
29193 * commands/halt.c: ... to here.
c3db8364 29194 Add some precompiler directive to include the correct header for
29195 each machine.
f714229e 29196
29197 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29198 (grub_halt): Likewise.
29199
29200 * kern/efi/efi.c (grub_reboot): New function.
29201 (grub_halt): Likewise.
29202
c74493e0 292032008-02-12 Robert Millan <rmh@aybabtu.com>
29204
29205 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29206 /dev (like it is done for /dev/mapper). This doesn't provide support
29207 for EVMS, but at least it is now easy to identify the problem when it
29208 arises.
29209
d0db4b04 292102008-02-11 Robert Millan <rmh@aybabtu.com>
29211
29212 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29213 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29214 comparing it with -1, not 0.
29215
bf748642 292162008-02-10 Robert Millan <rmh@aybabtu.com>
29217
29218 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29219 `disk/lvm.c'.
29220 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29221 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29222
29223 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29224 `disk/lvm.c' to the end of the list.
29225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29226 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29227
b5db202a 292282008-02-10 Robert Millan <rmh@aybabtu.com>
29229
29230 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29231 grub_print_error() instead. This will let user know why we're entering
29232 rescue mode.
29233 Based on suggestions from Sam Morris.
29234
83abee31 292352008-02-10 Alexandre Boeglin <alex@boeglin.org>
29236
29237 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29238 on remaining N args, instead of "--" arg N times.
29239
78d5a08b 292402008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29241
29242 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29243 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29244 pattern for unknown glyphs.
29245
68807e5f 292462008-02-09 Robert Millan <rmh@aybabtu.com>
29247
29248 * configure.ac: Probe for `help2man'.
29249 * Makefile.in (builddir): New variable.
29250 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29251 or otherwise add a few flags/options to it.
29252 (install-local): For every executable utility or script that is
29253 installed, invoke $(HELP2MAN) to install a manpage based on --help
29254 output.
29255
29256 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29257 that it doesn't prevent --help from working in build tree.
29258
29259 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29260 with `bug-grub@gnu.org'.
29261 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29262 * util/update-grub.in (usage): New function.
29263 Implement proper argument check, with support for --help and --version
29264 (as well as existing -y).
29265
292662008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29267
29268 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29269 avoid overwriting previous output.
29270 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29271
c1962162 292722008-02-09 Robert Millan <rmh@aybabtu.com>
29273
29274 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29275 drawing the menu.
29276
3dac2e3f 292772008-02-09 Robert Millan <rmh@aybabtu.com>
29278
29279 * commands/sleep.c: New file.
29280 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29281 (sleep_mod_SOURCES): New variable.
29282 (sleep_mod_CFLAGS): Likewise.
29283 (sleep_mod_LDFLAGS): Likewise.
29284
7a634e08 292852008-02-09 Robert Millan <rmh@aybabtu.com>
29286
29287 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29288 situations in which we can deduce the RAID size and the superblock
29289 doesn't match it.
29290
b92f0c18 292912008-02-09 Robert Millan <rmh@aybabtu.com>
29292
29293 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29294 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29295 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29296
29297 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29298 and return a grub_diskmemberlist_t composed of physical array members.
29299 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29300
29301 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29302 prototype.
29303 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29304 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29305 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29306
29307 * util/grub-probe.c (probe): Move partmap probing code from here ...
29308 (probe_partmap): ... to here.
29309 (probe): Use probe_partmap() once for the disk we're probing, and
29310 additionally, when such disk contains a memberlist() struct member,
29311 once for each disk that is contained in the structure returned by
29312 memberlist().
29313
91a4bf68 293142008-02-09 Robert Millan <rmh@aybabtu.com>
29315
29316 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29317 environment variable to 'all' in order to obtain debug output from
29318 non-util/ code.
29319 * util/i386/pc/grub-setup.c (main): Likewise.
29320
a96f9caa 293212008-02-08 Robert Millan <rmh@aybabtu.com>
29322
29323 * disk/raid.c (grub_raid_scan_device): Check for
29324 `array->device[sb.this_disk.number]' rather than for
29325 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29326 guaranteed to be accessible.
a96f9caa 29327
b37a9222 293282008-02-08 Robert Millan <rmh@aybabtu.com>
29329
29330 * disk/raid.c: Update copyright.
29331 * fs/cpio.c: Likewise.
29332 * include/grub/raid.h: Likewise.
29333 * loader/i386/pc/multiboot.c: Likewise.
29334 * util/hostfs.c: Likewise.
29335
5626aee1 293362008-02-08 Robert Millan <rmh@aybabtu.com>
29337
29338 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29339 to a grub_disk_t array.
29340 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29341 `device[x]'.
29342 (grub_raid_scan_device): Replace `device[x].name' accesses with
29343 `device[x]->name'. Simplify initialization of `array->device[x]'.
29344
554f0187 293452008-02-08 Robert Millan <rmh@aybabtu.com>
29346
29347 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29348 grub_dprintf() calls.
29349 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29350 error message.
29351
1ec8425d 293522008-02-07 Christian Franke <franke@computer.org>
29353
29354 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29355 instead of fseek and ftell to support large files.
29356 (grub_hostfs_read): Likewise.
29357
f2156fda 293582008-02-07 Robert Millan <rmh@aybabtu.com>
29359
29360 Patch from Jeroen Dekkers.
29361 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29362 failure, since successfully reading all array members might not be
f2156fda 29363 required.
29364
9216e0e7 293652008-02-06 Robert Millan <rmh@aybabtu.com>
29366
29367 * util/grub-probe.c (probe): Simplify partmap probing (with the
29368 assumption that the first word up to the underscore equals to
29369 the module name).
29370
b0dfd29a 293712008-02-06 Christian Franke <franke@computer.org>
29372
29373 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29374 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29375 last block of a cpio or tar stream.
29376 Check for "TRAILER!!!" instead of any empty data
29377 block to detect last block of a cpio stream.
29378 (grub_cpio_dir): Fix constness of variable np.
29379 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29380 cpio or tar trailer is detected. This fixes a crash
29381 on open of a non existing file.
29382
c32865bf 293832008-02-05 Bean <bean123ch@gmail.com>
29384
29385 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29386 address of entry.
29387 (grub_multiboot_load_elf64): Likewise.
29388 (grub_multiboot): Initialize mbi structure.
29389
29390 * util/grub-fstest.c: Don't include unused header file script.h.
29391
fe6b695a 29392 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29393 of file.
29394 (grub_fstest_SOURCES): Likewise.
29395
409480b7 293962008-02-05 Robert Millan <rmh@aybabtu.com>
29397
29398 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29399 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29400 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29401 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29402
29403 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29404 (translation_table): Replace hardcoded values with macros
29405 provided by `<grub/term.h>'.
29406
29407 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29408 (keyboard_map): Correct/add a few values, with macros provided
29409 by `<grub/term.h>'.
29410 (keyboard_map_shift): Zero values that don't differ from their
29411 `keyboard_map' equivalents.
29412 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29413 Discard the second scan code that is always sent by Caps lock.
29414 Only use `keyboard_map_shift' when it provides a non-zero value,
29415 otherwise fallback to `keyboard_map'.
29416
99fadbaa 294172008-02-04 Bean <bean123ch@gmail.com>
29418
29419 * Makefile.in (enable_grub_fstest): New variable.
29420
29421 * conf/common.rmk (grub_fstest_init.lst): New rule.
29422 (grub_fstest_init.h): Likewise.
29423 (grub_fstest_init.c): Likewise.
29424 (util/grub-fstest.c_DEPENDENCIES): New variable.
29425 (grub_fstest_SOURCES): Likewise.
29426
29427 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29428
29429 * util/grub-fstest.c: New file.
29430
bf567c50 294312008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29432
29433 Make grub-setup handle a separate root device.
f19dbdb7 29434
bf567c50 29435 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29436 so that the root device can be compared with the destination
29437 device.
29438 When embedding the core image, if the root and destination devices
29439 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29440 0xFF.
29441 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29442
9be6b98b 294432008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29444
29445 Add support for having a grub directory in a different drive. This
29446 is still only the data handling part.
f19dbdb7 29447
9be6b98b 29448 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29449 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29450 (grub_root_drive): New variable.
29451
29452 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29453 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29454 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29455 as it was.
29456
29457 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29458
29459 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29460 macro.
29461 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29462
29463 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29464 is bogus, because PXE booting does not specify any drive
29465 correctly.
29466
29467 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29468 am not sure if this is really correct.
29469
29470 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29471 is always identical to the boot drive when booting from a CD.
29472
29473 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29474 longer.
29475 (root_drive): New variable.
29476 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29477 (setup_sectors): Push %dx right after popping it, because %dh will
29478 be modified later.
29479 (copy_buffer): Restore %dx.
29480
e0ca0677 294812008-02-03 Robert Millan <rmh@aybabtu.com>
29482
29483 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29484 use `cdboot.img' for cdrom images.
29485
3b3f6629 294862008-02-03 Robert Millan <rmh@aybabtu.com>
29487
29488 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29489 only setup gfxterm when `font' command has succeeded.
29490
d42b3672 294912008-02-03 Robert Millan <rmh@aybabtu.com>
29492
29493 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29494 (grub_rescue_cmd_multiboot_loader)
29495 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29496
fa370ea6 294972008-02-03 Pavel Roskin <proski@gnu.org>
29498
e0c5dacb 29499 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29500 %edx and %esi from stack only after grub_gate_a20() is called.
29501 grub_gate_a20() clobbers %edx.
29502
f2a76e1d 295032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29504
29505 * configure.ac (AC_INIT): Bumped to 1.96.
29506
29507 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29508 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29509 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29510 video/readers/png.c.
29511
90fd32d1 295122008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29513
29514 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29515 (cdboot_img_SOURCES): New variable.
29516 (cdboot_img_ASFLAGS): New variable.
29517 (cdboot_img_LDFLAGS): New variable.
29518
29519 * boot/i386/pc/cdboot.S: New file.
29520
29521 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29522 (cd_count): Likewise.
29523 (grub_biosdisk_get_drive): Add support for cd device.
29524 (grub_biosdisk_call_hook): Likewise.
29525 (grub_biosdisk_iterate): Likewise.
29526 (grub_biosdisk_open): Likewise.
29527 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29528 (grub_biosdisk_rw): Support reading from cd device.
29529 (GRUB_MOD_INIT): Iterate cd devices.
29530
29531 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29532 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29533 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29534
29535 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29536
4020aa53 295372008-02-02 Robert Millan <rmh@aybabtu.com>
29538
29539 * commands/read.c: New file.
29540 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29541 (read_mod_SOURCES): New variable.
29542 (read_mod_CFLAGS): Likewise.
29543 (read_mod_LDFLAGS): Likewise.
29544
e03a1132 295452008-02-02 Robert Millan <rmh@aybabtu.com>
29546
29547 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29548 determining whether menu has to be displayed.
29549
58c69220 295502008-02-02 Marco Gerards <marco@gnu.org>
29551
29552 * bus/pci.c: New file.
29553
29554 * include/grub/pci.h: Likewise.
29555
29556 * include/grub/i386/pc/pci.h: Likewise.
29557
29558 * commands/lspci.c: Likewise.
29559
29560 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29561 `lspci.mod'.
29562 (pci_mod_SOURCES): New variable.
29563 (pci_mod_CFLAGS): Likewise.
29564 (pci_mod_LDFLAGS): Likewise.
29565 (lspci_mod_SOURCES): Likewise.
29566 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29567 (lspci_mod_LDFLAGS): Likewise.
58c69220 29568
c004e1b4 295692008-02-02 Bean <bean123ch@gmail.com>
29570
29571 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29572 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29573
29574 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29575 (grub_xfs_btree_node): New structure.
29576 (grub_xfs_btree_root): New structure.
29577 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29578 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29579 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29580 (GRUB_XFS_EXTENT_SIZE): Likewise.
29581 (grub_xfs_read_block): Support btree format type.
29582 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29583 Use directory block as basic unit.
29584
29585 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29586
29587 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29588 __attribute__ ((__regparm__ (1))).
29589
f95562bf 295902008-02-01 Robert Millan <rmh@aybabtu.com>
29591
29592 Correct a mistake in previous commit.
29593
29594 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29595 top.
29596 (normal/command.c_DEPENDENCIES): New variable.
29597
7d31f41f 295982008-02-01 Robert Millan <rmh@aybabtu.com>
29599
29600 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29601 top.
29602 (normal/command.c_DEPENDENCIES): New variable.
29603 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29604 * conf/i386-ieee1275.rmk: Likewise.
29605 * conf/i386-linuxbios.rmk: Likewise.
29606 * conf/i386-pc.rmk: Likewise.
29607 * conf/sparc64-ieee1275.rmk: Likewise.
29608 * conf/powerpc-ieee1275.rmk: Likewise.
29609 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29610
29611 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29612
60b6be74 296132008-02-01 Robert Millan <rmh@aybabtu.com>
29614
29615 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29616 call at beginning of function.
29617
078522ab 296182008-01-31 Pavel Roskin <proski@gnu.org>
29619
29620 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29621 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29622 (grub_mkrescue_SOURCES): Likewise.
078522ab 29623 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29624
ccaa8a5f 296252008-01-30 Robert Millan <rmh@aybabtu.com>
29626
29627 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29628 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29629 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29630 (grub_probe_SOURCES): ... to here.
29631
29632 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29633 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29634 * conf/i386-ieee1275.rmk: Likewise.
29635 * conf/i386-linuxbios.rmk: Likewise.
29636 * conf/powerpc-ieee1275.rmk: Likewise.
29637
ae5a9cd7 296382008-01-30 Tristan Gingold <gingold@free.fr>
29639
29640 * kern/rescue.c: Silently accept empty lines.
29641
70bc2ef2 296422008-01-29 Bean <bean123ch@gmail.com>
29643
29644 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29645 (real_code_2): Code cleanup and change comment style.
29646 (move_memory): Avoid using 32-bit address mode.
29647
6a4d50ea 296482008-01-29 Bean <bean123ch@gmail.com>
29649
29650 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29651 (png_mod_SOURCES): New variable.
29652 (png_mod_CFLAGS): Likewise.
29653 (png_mod_LDFLAGS): Likewise.
29654
29655 * video/readers/png.c: New file.
29656
11cc30ac 296572008-01-28 Robert Millan <rmh@aybabtu.com>
29658
29659 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29660 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29661 `ifndef GRUB_MOD_GAP' hack.
29662 * util/elf/grub-mkimage.c (add_segments): Likewise.
29663
3abc589f 296642008-01-27 Robert Millan <rmh@aybabtu.com>
29665
29666 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29667 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 29668 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 29669
e1907778 296702008-01-27 Robert Millan <rmh@aybabtu.com>
29671
29672 Get grub-emu to build again (including parallel builds).
29673
29674 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29675 Split into ...
29676 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29677 (normal/execute.c_DEPENDENCIES): ... this, ...
29678 (grub-emu_DEPENDENCIES): ... and this.
29679
29680 * conf/i386-efi.rmk: Likewise.
29681 * conf/i386-linuxbios.rmk: Likewise.
29682 * conf/i386-ieee1275.rmk: Likewise.
29683 * conf/powerpc-ieee1275.rmk: Likewise.
29684 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29685
2216b101 296862008-01-27 Robert Millan <rmh@aybabtu.com>
29687
29688 * NEWS: Add a few items.
29689
f75172d9 296902008-01-27 Robert Millan <rmh@aybabtu.com>
29691
29692 Fix parallel builds with grub-emu. Based on earlier commit for
29693 grub-probe and grub-setup.
29694
29695 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29696 (util/grub-emu.c_DEPENDENCIES): ... this.
29697 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29698 (util/grub-emu.c_DEPENDENCIES): ... this.
29699 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29700 (util/grub-emu.c_DEPENDENCIES): ... this.
29701 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29702 (util/grub-emu.c_DEPENDENCIES): ... this.
29703 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29704 (util/grub-emu.c_DEPENDENCIES): ... this.
29705
3f51de77 297062008-01-27 Pavel Roskin <proski@gnu.org>
29707
29708 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29709 to create a gap between _end and the modules added to the image
29710 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29711 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29712 * util/elf/grub-mkimage.c (add_segments): Likewise.
29713
2033f53e 297142008-01-26 Pavel Roskin <proski@gnu.org>
29715
29716 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29717 just return an error.
29718
22da1f6f 297192008-01-26 Bean <bean123ch@gmail.com>
29720
29721 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29722 (grub_reiserfs_get_item): Save offset of the next item.
29723 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29724
2a9525e6 297252008-01-25 Robert Millan <rmh@aybabtu.com>
29726
29727 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29728 make all filesystem sources appear together (possibly fixing omissions
29729 while at it).
29730 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29731 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29732 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29734
29735 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29736 add `kern/file.c'.
29737 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29738 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29739 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29740 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29741
29742 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29743 (probe): Add a sanity check to make sure of our ability to read
29744 requested files when probing for filesystem type.
29745
29746 * genmk.rb: Update copyright year (2007).
29747
29748 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29749 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29750 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29751 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29752 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29753 : Remove function prototypes.
29754
b95f71b5 297552008-01-25 Robert Millan <rmh@aybabtu.com>
29756
29757 Revert my previous commits (based on wrong assumption of how grub_errno
29758 works).
29759
fe6b695a 29760 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 29761 * kern/file.c (grub_file_open): Likewise.
29762
d08bbb49 297632008-01-24 Pavel Roskin <proski@gnu.org>
29764
29765 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29766 that hang if GRUB tries to setup colors.
29767 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29768 colors for firmwares that don't support it.
29769 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29770 Recognize Open Hack'Ware, set flags to work around its
29771 limitations.
29772
605e36ed 297732008-01-24 Robert Millan <rmh@aybabtu.com>
29774
29775 * kern/file.c (grub_file_open): Do not account previous failures of
29776 unrelated functions when grub_errno is checked for.
29777 Reported by Oleg Strikov.
29778
bac332a1 297792008-01-24 Bean <bean123ch@gmail.com>
29780
29781 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29782 (grub_ufs_sblock): New member volume name.
29783 (grub_ufs_find_file): Fix string copy bug.
29784 (grub_ufs_label): Implement this function properly.
29785
29786 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29787 (grub_hfs_iterate_records): Use the correct file number for extents
29788 and catalog file. Fix problem in next index calculation.
29789 (grub_hfs_find_node): Replace recursive function call with loop.
29790 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29791
15c80c09 297922008-01-23 Robert Millan <rmh@aybabtu.com>
29793
29794 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29795 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29796 (grub_multiboot2_real_boot): New function prototype.
29797
29798 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29799 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29800
29801 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29802 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29803
305338fd 298042008-01-23 Robert Millan <rmh@aybabtu.com>
29805
29806 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29807 #ifdef'ed out grub_printf().
29808
3ea52685 298092008-01-23 Robert Millan <rmh@aybabtu.com>
29810
29811 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29812 grub_dprintf calls, since they make "debug=all" mode unusable.
29813 (grub_console_checkkey): Likewise.
29814
5882ae4b 298152008-01-23 Robert Millan <rmh@aybabtu.com>
29816
29817 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29818 `term/i386/pc/at_keyboard.c'.
29819 (pkglib_MODULES): Add `serial.mod'.
29820 (serial_mod_SOURCES): New variable.
29821 (serial_mod_CFLAGS): Likewise.
29822 (serial_mod_LDFLAGS): Likewise.
29823
29824 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29825 `<grub/powerpc/ieee1275/console.h>'.
29826 (grub_keyboard_controller_init): New function prototype.
29827 (grub_console_checkkey): Likewise.
29828 (grub_console_getkey): Likewise.
29829
29830 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29831 keyboard on i386.
29832
29833 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29834 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29835
06ab5303 298362008-01-23 Robert Millan <rmh@aybabtu.com>
29837
29838 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29839 present, "(memdisk)/boot/grub" becomes the default prefix.
29840
29841 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29842 a memdisk tarball with all the modules. Add --overlay=DIR option that
29843 allows users to overlay additional files into the image.
29844
dbb475a4 298452008-01-23 Robert Millan <rmh@aybabtu.com>
29846
29847 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
29848 and `machine/memory.h'.
29849 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
29850 (_multiboot_mod_SOURCES): New variable.
29851 (_multiboot_mod_CFLAGS): Likewise.
29852 (_multiboot_mod_LDFLAGS): Likewise.
29853 (multiboot_mod_SOURCES): Likewise.
29854 (multiboot_mod_CFLAGS): Likewise.
29855 (multiboot_mod_LDFLAGS): Likewise.
29856
29857 * include/grub/i386/ieee1275/loader.h: New file.
29858
29859 * include/grub/i386/ieee1275/machine.h: Likewise.
29860
29861 * include/grub/i386/ieee1275/memory.h: Likewise.
29862
29863 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
29864 variable declaration.
29865 (grub_os_area_size): Likewise.
29866
29867 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
29868 (grub_lower_mem, grub_upper_mem): New variables.
29869 (grub_stop_floppy): New function (just to make
29870 grub_multiboot2_real_boot() happy).
29871
29872 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
29873 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
29874 (grub_stop): New function.
29875 Include `"../realmode.S"' and `"../loader.S"'.
29876
29877 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
29878 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
29879
29880 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
29881 rely on grub_multiboot2_real_boot() for final boot.
29882
25638629 298832008-01-22 Robert Millan <rmh@aybabtu.com>
29884
29885 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
29886 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
29887 device that doesn't look like an SD card.
29888 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
29889 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
29890 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
29891 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
29892 found.
29893
9dad816d 298942008-01-22 Robert Millan <rmh@aybabtu.com>
29895
29896 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
29897 avoid claiming over our own code.
29898
34842f2d 298992008-01-22 Bean <bean123ch@gmail.com>
29900
29901 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
29902 (jpeg_mod_SOURCES): New variable.
29903 (jpeg_mod_CFLAGS): Likewise.
29904 (jpeg_mod_LDFLAGS): Likewise.
29905
29906 * video/readers/jpeg.c : New file.
29907
44023a28 299082008-01-22 Bean <bean123ch@gmail.com>
29909
29910 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
29911 there are no more items.
29912
bc2d8ac6 299132008-01-21 Robert Millan <rmh@aybabtu.com>
29914
29915 * kern/mm.c (grub_mm_init_region): Improve debug message.
29916
261bd4bc 299172008-01-21 Robert Millan <rmh@aybabtu.com>
29918
29919 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
29920 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
29921 address.
29922 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
29923 a C macro.
29924 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
29925 Indicates start of upper memory.
29926 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
29927 (generate_image): Abort when image size is big enough to corrupt
29928 upper memory.
29929
29930 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
29931 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
29932 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29933 instead of hardcoding 0xA0000.
29934 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
29935 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
29936 instead of hardcoding 0xA0000.
29937
f970b55e 299382008-01-21 Robert Millan <rmh@aybabtu.com>
29939
29940 * disk/memdisk.c (memdisk_size): New variable.
29941 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
29942 `memdisk_size'.
29943 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
29944 image to dynamic memory.
29945 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
29946 `memdisk_size'. Free memdisk block.
29947
1a8b0526 299482008-01-21 Robert Millan <rmh@aybabtu.com>
29949
29950 Fix detection of very small filesystems (like tar).
29951
29952 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
29953 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
29954 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
29955 a problem with this disk).
29956
6e9b4aab 299572008-01-21 Robert Millan <rmh@aybabtu.com>
29958
29959 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
29960 on grub_biosdisk_rw_standard() error.
29961
0d8837b2 299622008-01-21 Robert Millan <rmh@aybabtu.com>
29963
29964 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
29965 recent changes.
29966 * kern/elf.c: Likewise.
29967 * kern/ieee1275/ieee1275.c: Likewise.
29968 * kern/powerpc/ieee1275/openfw.c: Likewise.
29969 * term/ieee1275/ofconsole.c: Likewise.
29970
ffd36e34 299712008-01-21 Robert Millan <rmh@aybabtu.com>
29972
29973 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
29974
3f0093d0 29975 * include/grub/kernel.h (grub_arch_memdisk_addr)
29976 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 29977
3f0093d0 29978 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
29979 (grub_arch_memdisk_size): ... to here.
ffd36e34 29980
6c391b21 299812008-01-21 Robert Millan <rmh@aybabtu.com>
29982
29983 Mostly based on bugfix from Bean.
29984
29985 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
29986 attribute with hook() parameter.
29987 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
29988 declaration.
29989 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
29990 attribute with hook() parameter.
29991 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
29992 declaration.
29993
55a581dc 299942008-01-21 Robert Millan <rmh@aybabtu.com>
29995
29996 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
29997 (pkglib_MODULES): Add `memdisk.mod'.
29998 (memdisk_mod_SOURCES): New variable.
29999 (memdisk_mod_CFLAGS): Likewise.
30000 (memdisk_mod_LDFLAGS): Likewise.
30001
30002 * disk/memdisk.c: New file.
30003
30004 * include/grub/disk.h (grub_disk_dev_id): Add
30005 `GRUB_DISK_DEVICE_MEMDISK_ID'.
30006
30007 * include/grub/i386/pc/kernel.h
30008 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
30009 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
30010 (grub_kernel_image_size): New variable declaration.
30011 (grub_total_module_size): Likewise.
30012 (grub_memdisk_image_size): Likewise.
30013
30014 * include/grub/i386/pc/memory.h
30015 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
30016
30017 * include/grub/kernel.h: Include `<grub/symbol.h>'.
30018 (grub_arch_memdisk_addr): New variable declaration.
30019 (grub_arch_memdisk_size): Likewise.
30020
30021 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
30022 (grub_arch_memdisk_size): Likewise.
30023
30024 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
30025 (codestart): Replace hardcoded `0x100000' with
30026 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
30027
30028 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
30029 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
30030 not NULL, append the contents of the file it refers to, at the end of
30031 the compressed kernel image. Initialize `grub_memdisk_image_size'
30032 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
30033 (options): Add "memdisk"|'m' option.
30034 (main): Parse --memdisk|-m option, and pass user-provided path as
30035 parameter to generate_image().
30036
3d7f54c9 300372008-01-20 Robert Millan <rmh@aybabtu.com>
30038
30039 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
30040 grub_dprintf() calls from here ...
30041 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
30042
0bf74728 300432008-01-20 Robert Millan <rmh@aybabtu.com>
30044
30045 Fix detection of "real mode" when /options/real-mode? doesn't exist.
30046
30047 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
30048 declaration.
30049 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
30050 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
30051 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 30052 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 30053 property).
30054 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
30055 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
30056
33bf70a7 300572008-01-19 Robert Millan <rmh@aybabtu.com>
30058
fe6b695a 30059 Get rid of confusing function (superseded by
33bf70a7 30060 `grub_ieee1275_get_integer_property')
30061 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
30062 prototype.
30063 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
30064 function.
30065 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
30066 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 30067 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 30068
e2da7d26 300692008-01-19 Robert Millan <rmh@aybabtu.com>
30070
30071 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
30072 command after "shut-down", since implementations differ on which
30073 the command for halt is.
30074
59f1fd8d 300752008-01-19 Robert Millan <rmh@aybabtu.com>
30076
30077 * include/grub/i386/linuxbios/console.h: Add header protection.
30078 (grub_keyboard_controller_init): New function prototype.
30079 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
30080 (KEYBOARD_COMMAND_READ): Likewise.
30081 (KEYBOARD_COMMAND_WRITE): Likewise.
30082 (KEYBOARD_SCANCODE_SET1): Likewise.
30083 (grub_keyboard_controller_write): New function.
30084 (grub_keyboard_controller_read): Likewise.
30085 (grub_keyboard_controller_init): Likewise.
30086
30087 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
30088 (grub_console_init): On coreboot/LinuxBIOS, call
30089 grub_keyboard_controller_init().
30090
5f5a7c15 300912008-01-19 Robert Millan <rmh@aybabtu.com>
30092
30093 PowerPC changes provided by Pavel Roskin.
30094
30095 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
30096 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
30097 don't rely on cmain() doing it.
30098 * kern/i386/ieee1275/startup.S (_start): Store %eax in
30099 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
30100
1210e168 301012008-01-16 Robert Millan <rmh@aybabtu.com>
30102
30103 * include/grub/i386/linuxbios/memory.h
30104 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
30105 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
30106 receive `table_header' as argument. Instead, probe for it in the
30107 known memory ranges where it can be present.
30108 (grub_available_iterate): Do not pass a fixed `table_header' address
30109 to grub_linuxbios_table_iterate().
30110
3d04eab8 301112008-01-15 Robert Millan <rmh@aybabtu.com>
30112
30113 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
30114 * conf/i386-ieee1275.rmk: New file.
30115 * include/grub/i386/ieee1275/console.h: Likewise.
30116 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
30117 * include/grub/i386/ieee1275/kernel.h: Likewise.
30118 * include/grub/i386/ieee1275/time.h: Likewise.
30119 * kern/i386/ieee1275/init.c: Likewise.
30120 * kern/i386/ieee1275/startup.S: Likewise.
30121
d1bc1b73 301222008-01-15 Robert Millan <rmh@aybabtu.com>
30123
30124 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
30125 when pointers are 32-bit (but still do set it to one when they are
30126 64-bit).
30127
66a65807 301282008-01-15 Robert Millan <rmh@aybabtu.com>
30129
30130 * include/grub/ieee1275/ieee1275.h
30131 (grub_ieee1275_get_integer_property): New function prototype.
30132
30133 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
30134 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 30135 grub_ieee1275_get_property() to handle endianness.
66a65807 30136
30137 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
30138 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 30139 where appropriate.
66a65807 30140 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30141 (grub_map): Likewise.
30142 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30143
a83ccafd 301442008-01-15 Bean <bean123ch@gmail.com>
30145
30146 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30147 (grub_script_execute_cmdline): Reset grub_errno.
30148
30149 * normal/main.c (read_config_file): Reset grub_errno.
30150
30151 * normal/parse.y (script_init): New.
30152 (script): Move function and menuentry here.
30153 (delimiter): New.
30154 (command): Add delimiter at the end of command.
30155 (commands): Adjust to match the new command.
30156 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30157 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30158 (if): Use the new commands.
30159
30160 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30161
df6ecfc6 301622008-01-15 Robert Millan <rmh@aybabtu.com>
30163
30164 * normal/menu.c (run_menu): Move timeout message from here ...
30165 (print_timeout): ... to here.
30166 (run_menu): Use print_timeout() once during initial draw to print
30167 the whole message, and again in every clock tick to update only
30168 the number of seconds.
30169
87ae25eb 301702008-01-15 Robert Millan <rmh@aybabtu.com>
30171
30172 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30173 actual size of `available' from grub_ieee1275_get_property(), and
30174 restrict parsing to that bound.
30175
47bf09a4 301762008-01-15 Christian Franke <franke@computer.org>
30177
30178 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30179 (argp_program_version): Remove variable.
30180 (argp_program_bug_address): Likewise.
30181 (options): Convert from struct argp_option to struct option.
30182 (struct arguments): Remove.
30183 (parse_opt): Remove.
30184 (usage): New function.
30185 (main): Replace struct args members by simple variables.
30186 Replace argp_parse() by getopt_long().
30187 Add switch to evaluate options.
30188 Add missing "(...)" around root_dev in prefix string.
30189
c86f1469 301902008-01-14 Robert Millan <rmh@aybabtu.com>
30191
30192 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30193 for grub_ieee1275_exit(), in order to improve portability.
30194
e622c559 301952008-01-14 Robert Millan <rmh@aybabtu.com>
30196
30197 * util/grub.d/10_linux.in (prefix): Define.
30198 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30199
44cb1ec8 302002008-01-13 Pavel Roskin <proski@gnu.org>
30201
30202 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30203 grub_errno if no errors have been detected.
30204
1eb8c802 302052008-01-12 Robert Millan <rmh@aybabtu.com>
30206
30207 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30208 (grub_util_get_dev_abstraction): New function prototype.
30209
30210 * util/getroot.c: Include `<grub/util/getroot.h>'
30211 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30212 (grub_util_get_dev_abstraction): ... here (new function).
30213
30214 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30215 `PRINT_ABSTRACTION'.
30216 (probe): Probe for abstraction type when requested.
30217 (main): Understand `--target=abstraction'.
30218
30219 * util/i386/efi/grub-install.in: Add abstraction module to core
30220 image when it is found to be necessary.
30221 * util/i386/pc/grub-install.in: Likewise.
30222 * util/powerpc/ieee1275/grub-install.in: Likewise.
30223
30224 * util/update-grub_lib.in (font_path): Return system path without
30225 converting to GRUB path.
30226 * util/update-grub.in: Convert system path returned by font_path()
30227 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30228 abstraction module is needed for loading fonts (if any). Export
30229 that as `GRUB_PRELOAD_MODULES'.
30230 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30231 insmod commands).
30232
52bd3de9 302332008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30234
30235 Remove some unused code from reiserfs.
f19dbdb7 30236
52bd3de9 30237 * fs/reiserfs.c (struct grub_reiserfs_key)
30238 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30239 (struct grub_reiserfs_node_body): Removed.
30240 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30241 Likewise.
30242 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30243 Likewise.
30244 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30245 Likewise.
30246 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30247 Likewise.
30248 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30249 Likewise.
30250 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30251 Likewise.
30252 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30253 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30254 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30255
2f80039d 302562008-01-10 Robert Millan <rmh@aybabtu.com>
30257
30258 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30259 Determines if a file is garbage left by packaging systems, etc.
30260 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30261 for processing /etc/grub.d scripts.
30262 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30263 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30264 as a condition for processing Linux images.
30265
87888032 302662008-01-10 Pavel Roskin <proski@gnu.org>
30267
30268 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30269 to compile reiserfs.c on PowerPC.
30270
7e54fced 302712008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30272
30273 * kern/device.c (grub_device_iterate): Do not abort device iteration
30274 when one of the devices cannot be opened.
30275 * kern/disk.c (grub_disk_open): Do not account previous failures of
30276 unrelated functions when grub_errno is checked for.
30277
5aa541e6 302782008-01-08 Robert Millan <rmh@aybabtu.com>
30279
30280 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30281 `! grub_linux_is_bzimage', change order of address comparison to make
30282 it more intuitive, and improve "too big zImage" error message.
30283
7076340d 302842008-01-08 Robert Millan <rmh@aybabtu.com>
30285
30286 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30287 `$(update-grub_DATA)'.
30288 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30289 targets.
30290
9ca70333 302912008-01-07 Robert Millan <rmh@aybabtu.com>
30292
30293 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30294 which instruction is modified by grub-setup during installation
30295 (since it wasn't obvious by only looking at this file).
30296
38ccf575 302972008-01-07 Robert Millan <rmh@aybabtu.com>
30298
30299 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30300 listing actual TODO items.
30301
f5db4291 303022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30303
868967cf 30304 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30305 correctly.
30306 (grub_reiserfs_get_key_offset): Likewise.
30307 (grub_reiserfs_set_key_offset): Likewise.
30308 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30309 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30310
30311 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30312 better to remove the bitfield version completely.
f19dbdb7 30313
868967cf 303142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30315
f5db4291 30316 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30317 allocated from the heap, due to the fshelp implementation.
30318 (grub_reiserfs_dir): Free NODE, due to the same reason.
30319
492e6d9d 303202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30321
30322 Mostly from Vincent Pelletier:
f19dbdb7 30323
492e6d9d 30324 * fs/reiserfs.c: New file.
f19dbdb7 30325
492e6d9d 30326 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30327 (reiserfs_mod_SOURCES): New variable.
30328 (reiserfs_mod_CFLAGS): Likewise.
30329 (reiserfs_mod_LDFLAGS): Likewise.
30330
30331 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30332 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30333 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30334 normal/color.c.
30335
9ce3e7c1 303362008-01-06 Robert Millan <rmh@aybabtu.com>
30337
30338 * normal/color.c: Remove `<grub/env.h>'.
30339
f3b58148 303402008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30341
30342 * include/grub/normal.h: Include <grub/env.h>.
30343
7ac3bcfa 303442008-01-05 Robert Millan <rmh@aybabtu.com>
30345
30346 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30347 usage example with `(hd0,1)'.
fb358190 30348 Reported by Samuel Thibault.
7ac3bcfa 30349
c8ee99d7 303502008-01-05 Robert Millan <rmh@aybabtu.com>
30351
30352 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30353 (grub_linux_boot_zimage): Rename to ...
30354 (grub_linux_boot): ... this.
30355 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30356 (grub_linux_boot_zimage): Conditionalize zImage copy.
30357
30358 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30359 (grub_linux_boot_bzimage): Remove prototype.
30360 (grub_linux_boot_zimage): Rename to ...
30361 (grub_linux_boot): ... this.
30362
30363 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30364 (grub_linux_boot): Remove function.
30365
0ece25b1 303662008-01-05 Robert Millan <rmh@aybabtu.com>
30367
30368 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30369 (grub_env_write_color_highlight): Likewise.
30370 (grub_wait_after_message): Likewise.
30371
30372 * normal/color.c: New file.
30373
30374 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30375 (normal_mod_DEPENDENCIES): Likewise.
30376
30377 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30378 (normal_mod_DEPENDENCIES): Likewise.
30379
30380 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30381 (normal_mod_DEPENDENCIES): Likewise.
30382
30383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30384 (normal_mod_DEPENDENCIES): Likewise.
30385
30386 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30387 for waiting after a message is printed.
30388 * normal/main.c (read_config_file): Likewise.
30389 (grub_normal_init): Register grub_env_write_color_normal() and
30390 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30391 `color_highlight' variables as global.
30392
30393 * normal/menu.c (grub_wait_after_message): New function.
30394 (grub_color_menu_normal): New variable. Replaces ...
30395 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30396 (grub_color_menu_highlight): New variable. Replaces ...
30397 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30398 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30399 `GRUB_TERM_COLOR_STANDARD'.
30400 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30401 `normal_code' and `highlight_code' to `old_color_normal' and
30402 `old_color_highlight', respectively.
30403 (grub_menu_init_page): Update colors when drawing the menu, based on
30404 `menu_color_normal' and `menu_color_highlight' variables.
30405 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30406 a message is printed.
30407
182dd4e5 304082008-01-05 Robert Millan <rmh@aybabtu.com>
30409
30410 * kern/env.c (grub_env_context_open): Propagate hooks for global
30411 variables to new context.
30412
30413 * kern/main.c (grub_set_root_dev): Export `root' variable.
30414
ddf8f6ad 304152008-01-05 Robert Millan <rmh@aybabtu.com>
30416
30417 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30418 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30419 them.
30420
d8b43d9b 304212008-01-05 Robert Millan <rmh@aybabtu.com>
30422
30423 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30424
2bff2de3 304252008-01-04 Christian Franke <franke@computer.org>
30426
30427 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30428 of eisa_mmap.
30429
97eab917 304302008-01-03 Pavel Roskin <proski@gnu.org>
30431
30432 * kern/i386/linuxbios/init.c: Put "void" to all function
30433 declarations with no arguments.
30434 * kern/powerpc/ieee1275/init.c: Likewise.
30435 * term/i386/pc/at_keyboard.c: Likewise.
30436 * term/i386/pc/vga_text.c: Likewise.
30437 * util/grub-mkdevicemap.c: Likewise.
30438
b9416d00 304392008-01-02 Robert Millan <rmh@aybabtu.com>
30440
30441 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30442 message when loaded image is out of bounds.
30443 (grub_multiboot_load_elf64): Likewise.
30444
92695df9 304452008-01-02 Pavel Roskin <proski@gnu.org>
30446
30447 * util/grub.d/10_linux.in: Try version without ".old" when
30448 looking for initrd. It's better to use initrd from the newer
30449 kernel of the same version than no initrd at all.
30450
d98d9cad 304512008-01-01 Robert Millan <rmh@aybabtu.com>
30452
30453 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30454
dbfdce36 304552008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30456
f19dbdb7 30457 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30458 grub_video_get_active_render_target.
30459 (grub_video_adapter): Added unmap_color and get_active_render_target.
30460
f19dbdb7 30461 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30462 grub_video_get_active_render_target.
30463 (grub_video_get_info): Changed method to accept NULL pointer as an
30464 argument to allow detection of active video adapter.
30465
30466 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30467 grub_video_vbe_unmap_color_int.
30468 Added grub_video_vbe_unmap_color and
30469 grub_video_vbe_get_active_render_target.
30470 (grub_video_vbe_adapter): Added unmap_color and
30471 get_active_render_target.
30472
f19dbdb7 30473 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30474 with grub_video_vbe_unmap_color_int.
30475
30476 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30477 (DEFAULT_NORMAL_COLOR): Likewise.
30478 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30479 (DEFAULT_FG_COLOR): Removed.
30480 (DEFAULT_BG_COLOR): Likewise.
30481 (DEFAULT_CURSOR_COLOR): Changed value.
30482 (grub_virtual_screen): Added standard_color_setting,
30483 normal_color_setting, highlight_color_setting and term_color.
30484 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30485 (bitmap_width): Added.
30486 (bitmap_height): Likewise.
30487 (bitmap): Likewise.
30488 (set_term_color): Likewise.
30489 (grub_virtual_screen_setup): Changed to use new terminal coloring
30490 settings.
30491 (grub_gfxterm_init): Added init for bitmap.
30492 (grub_gfxterm_fini): Added destroy for bitmap.
30493 (redraw_screen_rect): Updated to use background bitmap and new
30494 terminal coloring.
30495 (scroll_up): Added optimization for case when there is no bitmap.
30496 (grub_gfxterm_cls): Fixed to use correct background color.
30497 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30498 coloring.
30499 (grub_virtual_screen_setcolor): Likewise.
30500 (grub_virtual_screen_getcolor): Added.
30501 (grub_gfxterm_background_image_cmd): Likewise.
30502 (grub_video_term): Added setcolor and getcolor.
30503 (MOD_INIT): Added registration of background_image command.
30504 (MOD_TERM): Added unregistration for background_image command.
30505
c3c20931 305062007-12-30 Pavel Roskin <proski@gnu.org>
30507
30508 * loader/multiboot_loader.c: Fix multiboot command
30509 unregistration. Fix all typos in the word "multiboot".
30510
df266716 305112007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30512
30513 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30514 support for initrd names used in Fedora.
30515
fc6e896c 305162007-12-26 Bean <bean123ch@gmail.com>
30517
30518 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30519 (cpio_mod_SOURCES): New variable.
30520 (cpio_mod_CFLAGS): Likewise.
30521 (cpio_mod_LDFLAGS): Likewise.
30522
30523 * fs/cpio.c: New file.
30524
30525 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30526
30527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30528
30529 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30530
30531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30532
533110ad 305332007-12-25 Robert Millan <rmh@aybabtu.com>
30534
30535 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30536 (grub_getcolor): New function.
30537
30538 * kern/term.c (grub_getcolor): New function.
30539 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30540 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30541 (print_entry): Set normal and highlight colors to
30542 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30543 respectively, before printing and restore them to old
30544 values afterwards.
30545 (grub_menu_init_page): Likewise. Fill an additional colored space
30546 that would otherwise be left blank.
30547
30548 * term/efi/console.c (grub_console_getcolor): New function.
30549 (struct grub_console_term.getcolor): New variable.
30550 * term/i386/pc/console.c (grub_console_getcolor): New function.
30551 (struct grub_console_term.getcolor): New variable.
30552 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30553 (struct grub_console_term.getcolor): New variable.
30554
30555 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30556 (struct grub_console_term.setcolor): Remove variable.
30557 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30558 (struct grub_console_term.setcolor): Remove variable.
30559 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30560 (struct grub_console_term.setcolor): Remove variable.
30561 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30562 (struct grub_console_term.setcolor): Remove variable.
30563
4931827f 305642007-12-25 Robert Millan <rmh@aybabtu.com>
30565
30566 * configure.ac: Search for possible unifont.hex locations, and
30567 define UNIFONT_HEX if found.
30568
30569 * Makefile.in (UNIFONT_HEX): Define variable.
30570 (DATA): Rename to ...
30571 (PKGLIB): ... this. Update all users.
30572 (PKGDATA): New variable.
30573 (pkgdata_IMAGES): Rename to ...
30574 (pkglib_IMAGES): ... this. Update all users.
30575 (pkgdata_MODULES): Rename to ...
30576 (pkglib_MODULES): ... this. Update all users.
30577 (pkgdata_PROGRAMS): Rename to ...
30578 (pkglib_PROGRAMS): ... this. Update all users.
30579 (pkgdata_DATA): Rename to ...
30580 (pkglib_DATA): ... this. Update all users.
30581 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30582 (unicode.pff, ascii.pff): New rules.
30583 (all-local): Add `$(PKGDATA)' dependency.
30584 (install-local): Process `$(PKGDATA)'.
30585
30586 * util/update-grub_lib.in (font_path): Search for *.pff files in
30587 a few more locations, including `${pkgdata}'.
30588
57e57e31 305892007-12-23 Robert Millan <rmh@aybabtu.com>
30590
30591 Patch from Bean <bean123ch@gmail.com>:
30592 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30593 `size'.
30594
4bc72aa9 305952007-12-21 Bean <bean123ch@gmail.com>
30596
30597 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30598 (ntfscomp_mod_SOURCES): New variable.
30599 (ntfscomp_mod_CFLAGS): Likewise.
30600 (ntfscomp_mod_LDFLAGS): Likewise.
30601
30602 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30603 (grub_probe_SOURCES): Likewise.
30604 (grub_emu_SOURCES): Likewise.
30605
30606 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30607 (grub_emu_SOURCES): Likewise.
30608
30609 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30610 (grub_emu_SOURCES): Likewise.
30611
30612 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30613 (grub_emu_SOURCES): Likewise.
30614
30615 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30616 (read_run_list): Renamed to grub_ntfs_read_run_list.
30617 (decomp_nextvcn): Moved to ntfscomp.c.
30618 (decomp_getch): Likewise.
30619 (decomp_get16): Likewise.
30620 (decomp_block): Likewise.
30621 (read_block): Likewise.
30622 (read_data): Partially moved to ntfscomp.c.
30623 (fixup): Change unsigned to grub_uint16_t.
30624 (read_mft): Change unsigned long to grub_uint32_t.
30625 (read_attr): Likewise.
30626 (read_data): Likewise.
30627 (read_run_data): Likewise.
30628 (read_run_list): Likewise.
30629 (read_mft): Likewise.
30630
30631 * fs/ntfscomp.c: New file.
30632
30633 * include/grub/ntfs.h: New file.
30634
af680a87 306352007-12-16 Robert Millan <rmh@aybabtu.com>
30636
30637 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30638 IDE disk check, since Linux is known to support 20 IDE disks.
30639 Reported by Colin Watson.
30640
84be7599 306412007-12-15 Bean <bean123ch@gmail.com>
30642
30643 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30644 (lnxboot_img_SOURCES): New variable.
30645 (lnxboot_img_ASFLAGS): Likewise.
30646 (lnxboot_img_LDFLAGS): Likewise.
30647
30648 * boot/i386/pc/lnxboot.S: New file.
30649
6af9db01 306502007-11-24 Pavel Roskin <proski@gnu.org>
30651
30652 * configure.ac: Test if '--build-id=none' is supported by the
30653 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30654 objcopy to generate incorrect binary files (binutils
30655 2.17.50.0.18-1 as shipped by Fedora 8).
30656 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30657 linking, so that build ID doesn't break the test.
30658
7361cfe6 306592007-11-24 Pavel Roskin <proski@gnu.org>
30660
30661 * include/grub/i386/time.h: use "void" in the argument list
30662 of grub_cpu_idle().
30663 * include/grub/powerpc/time.h: Likewise.
30664 * include/grub/sparc64/time.h: Likewise.
30665
1593e10c 306662007-11-18 Christian Franke <franke@computer.org>
30667
30668 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30669 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30670 This fixes the problem that function keys did not work in grub-emu.
30671
3b8db1a8 306722007-11-18 Christian Franke <franke@computer.org>
30673
30674 * disk/host.c (grub_host_open): Remove attribute unused from
30675 name parameter. Add check for "host". This fixes the problem
30676 that grub-emu does not find partitions.
30677
2e29408d 306782007-11-18 Christian Franke <franke@computer.org>
30679
30680 * util/hostfs.c (is_dir): New function.
30681 (grub_hostfs_dir): Handle missing dirent.d_type case.
30682 (grub_hostfs_read): Add missing fseek().
30683 (grub_hostfs_label): Clear label pointer. This fixes a crash
30684 of grub-emu on "ls (host)".
30685
398cd047 306862007-11-18 Christian Franke <franke@computer.org>
30687
30688 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30689 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30690 to 64 bit boundary by default.
30691
c405c391 306922007-11-18 Bean <bean123ch@gmail.com>
30693
30694 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30695 (hexdump_mod_SOURCES): New variable.
30696 (hexdump_mod_CFLAGS): Likewise.
30697 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 30698
c405c391 30699 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30700
30701 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30702
30703 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30704
30705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30706
30707 * include/grub/hexdump.h: New file.
30708
30709 * commands/hexdump.c: New file.
30710
5cced7fd 307112007-11-10 Robert Millan <rmh@aybabtu.com>
30712
30713 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30714 in grub_outb() calls.
30715 (beep_on): Likewise.
30716
8b714eb0 307172007-11-10 Christian Franke <franke@computer.org>
30718
30719 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30720 (grub_menu_run): Likewise.
30721
ce0f1839 307222007-11-10 Robert Millan <rmh@aybabtu.com>
30723
30724 * include/grub/i386/efi/machine.h: New file.
30725 * include/grub/i386/linuxbios/machine.h: Likewise.
30726 * include/grub/i386/pc/machine.h: Likewise.
30727 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30728 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30729
30730 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30731 (serial_hw_io_addr): New variable.
30732 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30733 instead of `(unsigned short *) 0x400'.
30734
270c237d 307352007-11-10 Bean <bean123ch@gmail.com>
30736
30737 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30738
a87783bf 307392007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30740
30741 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30742 (vga_mod_SOURCES): Added.
30743 (vga_mod_CFLAGS): Likewise.
30744 (vga_mod_LDFLAGS): Likewise.
30745
30746 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30747 grub_outb() calls.
30748 (set_map_mask): Likewise.
30749 (set_read_map): Likewise.
30750 (set_read_address): Likewise.
30751 (vga_font): Removed variable.
30752 (get_vga_glyph): Removed function.
30753 (invalidate_char): Likewise.
30754 (write_char): Changed to use grub_font_get_glyph() for font
30755 information.
30756 (grub_vga_putchar): Likewise.
30757 (grub_vga_getcharwidth): Likewise.
30758
6433b448 307592007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30760
30761 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30762 flags.
30763 (pxeboot_img_LDFLAGS): Likewise.
30764 (diskboot_img_LDFLAGS): Likewise.
30765 (kernel_img_LDFLAGS): Likewise.
30766
49178511 307672007-11-06 Robert Millan <rmh@aybabtu.com>
30768
30769 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30770 in grub_outb() calls.
30771 (serial_hw_init): Likewise.
30772
53b052de 307732007-11-05 Robert Millan <rmh@aybabtu.com>
30774
30775 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30776 spaces. Skip non-regular files.
30777
5ab33bba 307782007-11-05 Robert Millan <rmh@aybabtu.com>
30779
30780 * kern/disk.c (grub_disk_firmware_fini)
30781 (grub_disk_firmware_is_tainted): New variables.
30782
30783 * include/grub/disk.h (grub_disk_firmware_fini)
30784 (grub_disk_firmware_is_tainted): Likewise.
30785
30786 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30787 (grub_disk_biosdisk_fini): ... to here.
30788 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30789 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30790 is set. Register grub_disk_biosdisk_fini() in
30791 `grub_disk_firmware_fini'.
30792
30793 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30794 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30795 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30796 to finish existing firmware disk interface.
30797
30798 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30799 (ata_mod_SOURCES): New variable.
30800 (ata_mod_CFLAGS): Likewise.
30801 (ata_mod_LDFLAGS): Likewise.
30802
0149ab7c 308032007-11-05 Robert Millan <rmh@aybabtu.com>
30804
30805 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30806 (grub_ata_wait): Reimplement using grub_millisleep().
30807
30808 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30809 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30810
be7ac41e 308112007-11-03 Marco Gerards <marco@gnu.org>
30812
30813 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30814 (CRTC_ADDR_PORT): New macro.
30815 (CRTC_DATA_PORT): Likewise.
30816 (CRTC_CURSOR): Likewise.
30817 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30818 (CRTC_CURSOR_ADDR_LOW): Likewise.
30819 (update_cursor): New function.
30820 (grub_console_real_putchar): Call `update_cursor'.
30821 (grub_console_gotoxy): Likewise.
30822 (grub_console_cls): Set the default color when clearing the
30823 screen.
30824 (grub_console_setcursor): Implemented.
30825
bb06ab2e 308262007-11-03 Marco Gerards <marco@gnu.org>
30827
30828 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30829 become activate.
30830 (grub_ata_pio_write): Likewise.
30831
30832 (grub_atapi_identify): Wait after issuing an ATA command.
30833 (grub_atapi_packet): Likewise.
30834 (grub_ata_identify): Likewise.
30835 (grub_ata_readwrite): Likewise.
30836
cf8f780b 308372007-11-03 Marco Gerards <marco@gnu.org>
30838
30839 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30840 (grub_ata_pio_write): Likewise.
30841 (grub_ata_readwrite): Use `grub_error', instead of
30842 returning `grub_errno'.
30843
ed649e54 308442007-11-03 Marco Gerards <marco@gnu.org>
30845
30846 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
30847 grub_ata_pio_write once for every single sector, instead of for
30848 multiple sectors.
30849
ca25d8f0 308502007-10-31 Robert Millan <rmh@aybabtu.com>
30851
30852 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
30853
30854 * conf/i386-linuxbios.rmk: New file.
30855
30856 * kern/i386/pc/hardware.c: Likewise.
30857 * term/i386/pc/at_keyboard.c: Likewise.
30858 * term/i386/pc/vga_text.c: Likewise.
30859
30860 * include/grub/i386/linuxbios/boot.h: Likewise.
30861 * include/grub/i386/linuxbios/console.h: Likewise.
30862 * include/grub/i386/linuxbios/init.h: Likewise.
30863 * include/grub/i386/linuxbios/kernel.h: Likewise.
30864 * include/grub/i386/linuxbios/loader.h: Likewise.
30865 * include/grub/i386/linuxbios/memory.h: Likewise.
30866 * include/grub/i386/linuxbios/serial.h: Likewise.
30867 * include/grub/i386/linuxbios/time.h: Likewise.
30868
30869 * kern/i386/linuxbios/init.c: Likewise.
30870 * kern/i386/linuxbios/startup.S: Likewise.
30871 * kern/i386/linuxbios/table.c: Likewise.
30872
e911ecc1 308732007-10-31 Marco Gerards <marco@gnu.org>
30874
30875 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
30876 (ata_mod_SOURCES): New variable.
30877 (ata_mod_CFLAGS): Likewise.
30878 (ata_mod_LDFLAGS): Likewise.
30879
30880 * disk/ata.c: New file.
30881
30882 * include/grub/disk.h (grub_disk_dev_id): Add
30883 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 30884
7f66d0e0 308852007-10-31 Robert Millan <rmh@aybabtu.com>
30886
30887 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
30888 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
30889
30890 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
30891 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
30892
30893 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
30894 `<grub/types.h>'.
30895
30896 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
30897
5cd7dd46 308982007-10-27 Robert Millan <rmh@aybabtu.com>
30899
3236ca65 30900 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 30901
2ebfc90f 309022007-10-22 Robert Millan <rmh@aybabtu.com>
30903
30904 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
30905 `"../realmode.S"'.
30906 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
30907
73fcb0f3 309082007-10-22 Robert Millan <rmh@aybabtu.com>
30909
30910 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
30911 (pkgdata_MODULES): Add `biosdisk.mod'.
30912 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
30913 variables.
30914
30915 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
30916 (grub_biosdisk_init): Replace with ...
30917 (GRUB_MOD_INIT(biosdisk)): ... this.
30918 (grub_biosdisk_fini): Replace with ...
30919 (GRUB_MOD_FINI(biosdisk)): ... this.
30920
30921 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
30922 (grub_machine_init): Remove call to grub_biosdisk_init().
30923 (grub_machine_fini): Remove call to grub_machine_fini().
30924
30925 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
30926
3381d274 309272007-10-22 Robert Millan <rmh@aybabtu.com>
30928
30929 * include/grub/time.h: New file.
30930 * include/grub/i386/time.h: Likewise.
30931 * include/grub/powerpc/time.h: Likewise.
30932 * include/grub/sparc64/time.h: Likewise.
30933
30934 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
30935 instances to ...
30936 (KERNEL_MACHINE_TIME_HEADER): ... this.
30937 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30938 instances to ...
30939 (KERNEL_MACHINE_TIME_HEADER): ... this.
30940 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
30941 instances to ...
30942 (KERNEL_MACHINE_TIME_HEADER): ... this.
30943
30944 * kern/i386/efi/init.c: Include `<grub/time.h>'.
30945 (grub_millisleep): New function.
30946 * kern/i386/pc/init.c: Include `<grub/time.h>'.
30947 (grub_millisleep): New function.
30948 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
30949 Remove `grub/machine/time.h' include.
30950 (grub_millisleep): New function.
30951 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
30952 Remove `grub/machine/time.h' include.
30953 (grub_millisleep): New function.
30954
30955 * include/grub/misc.h (grub_div_roundup): New function.
30956
30957 * kern/misc.c: Include `<grub/time.h>'.
30958 (grub_millisleep_generic): New function.
30959
30960 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
30961 Add `time.h'.
30962 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
30963 Add `time.h'.
30964 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
30965 `machine/time.h'. Add `time.h'.
30966 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
30967
a39a0312 309682007-10-21 Robert Millan <rmh@aybabtu.com>
30969
30970 * include/grub/misc.h (grub_max): New function.
30971
2aad70e2 309722007-10-21 Robert Millan <rmh@aybabtu.com>
30973
30974 * util/misc.c (grub_util_info): Call fflush() before returning.
30975
54b71c4b 309762007-10-20 Robert Millan <rmh@aybabtu.com>
30977
30978 * genmk.rb (Image): Copy `extra_flags' from here ...
30979 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
30980
30981 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
30982 to `argc' and `args' arguments.
30983
a979f513 309842007-10-17 Robert Millan <rmh@aybabtu.com>
30985
30986 * kern/i386/loader.S: New file.
30987
30988 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
30989 * kern/i386/loader.S (grub_linux_prot_size)... to here.
30990 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
30991 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
30992 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
30993 * kern/i386/loader.S (grub_linux_real_addr)... to here.
30994 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
30995 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
30996 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
30997 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
30998 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
30999 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
31000 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
31001 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
31002
31003 * kern/i386/realmode.S: New file.
31004
31005 * kern/i386/pc/startup.S (protstack): Moved from here ...
31006 * kern/i386/realmode.S (protstack)... to here.
31007 * kern/i386/pc/startup.S (gdt): Moved from here ...
31008 * kern/i386/realmode.S (gdt)... to here.
31009 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
31010 * kern/i386/realmode.S (prot_to_real)... to here.
31011
31012 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
31013 `kern/i386/realmode.S'.
31014
825fc8fd 310152007-10-17 Robert Millan <rmh@aybabtu.com>
31016
31017 * include/grub/i386/loader.h: New file.
31018
31019 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
31020 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31021 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31022 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31023 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
31024 * include/grub/i386/loader.h (grub_linux_prot_size)
31025 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31026 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31027 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31028 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
31029
31030 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
31031
e179b2f4 310322007-10-15 Robert Millan <rmh@aybabtu.com>
31033
31034 * normal/misc.c (grub_normal_print_device_info): Do not probe for
31035 filesystem when dev->disk is unset.
31036 Do probe for filesystem even when dev->disk->has_partitions is set.
31037 In case a filesystem is found, always report it.
31038 In case it isn't, if dev->disk->has_partitions is set, report that
31039 a partition table was found instead of reporting that no filesystem
31040 could be identified.
31041
5db82af6 310422007-10-12 Robert Millan <rmh@aybabtu.com>
31043
31044 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
31045 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
31046
68f6ac74 31047 * include/grub/types.h (grub_host_to_target16): New macro.
31048 (grub_host_to_target32): Likewise.
31049 (grub_host_to_target64): Likewise.
31050 (grub_target_to_host16): Likewise.
31051 (grub_target_to_host32): Likewise.
31052 (grub_target_to_host64): Likewise.
5db82af6 31053
31054 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31055 Renamed from to ...
31056 (GRUB_MOD_ALIGN): ...this. Update all users.
31057
68f6ac74 31058 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
31059 grub_host_to_target32.
31060 Replace grub_be_to_cpu32 with grub_target_to_host32.
31061 (load_modules): Likewise.
31062 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
31063 Replace grub_be_to_cpu32 with grub_target_to_host32.
31064 Replace grub_cpu_to_be16 with grub_host_to_target16.
31065 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 31066
3cf497cc 310672007-10-12 Robert Millan <rmh@aybabtu.com>
31068
31069 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
31070 * util/elf/grub-mkimage.c: ... here.
31071
31072 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
31073 `util/powerpc/ieee1275/grub-mkimage.c'.
31074
c8cc3692 310752007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 31076
c8cc3692 31077 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
31078 and make it easier to figure out.
31079 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
31080 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
31081 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
31082 leave us with less than HEAP_MIN_SIZE total heap.
31083 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 31084
5c58b791 310852007-10-03 Robert Millan <rmh@aybabtu.com>
31086
31087 * include/grub/i386/io.h: New file.
31088 * commands/i386/pc/play.c (inb): Removed.
31089 (outb): Removed.
31090 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31091 with grub_outb().
afcd2ef8 31092 * term/i386/pc/serial.c (inb): Removed.
31093 (outb): Removed.
31094 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31095 with grub_outb().
31096 * term/i386/pc/vga.c (inb): Removed.
31097 (outb): Removed.
31098 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31099 with grub_outb().
5c58b791 31100
1a477ed6 311012007-10-02 Robert Millan <rmh@aybabtu.com>
31102
31103 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
31104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31105 Reported by Marcin Kurek.
31106
6b5d80fa 311072007-09-07 Robert Millan <rmh@aybabtu.com>
31108
31109 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
31110 SmartFirmware version updates (as released by Sven Luther), and avoid
31111 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
31112 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
31113 known broken.
31114
5618afbf 311152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31116
31117 From Hitoshi Ozeki:
31118 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
31119 when merging two regions.
31120
6139dcd9 311212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31122
508e39ee 31123 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
31124 * normal/completion.c (grub_normal_do_completion): Likewise.
31125 Reported by Hitoshi Ozeki.
31126
311272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31128
6139dcd9 31129 Do not use devices at boot in chainloading.
f19dbdb7 31130
6139dcd9 31131 * loader/i386/pc/chainloader.c (boot_drive): New variable.
31132 (boot_part_addr): Likewise.
31133 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
31134 with BOOT_DRIVE and BOOT_PART_ADDR.
31135 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
31136 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
31137
38da6516 311382007-08-29 Robert Millan <rmh@aybabtu.com>
31139
31140 Patch from Simon Peter <dn.tlp@gmx.net>:
31141 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31142 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31143 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31144 util/i386/pc/grub-setup.c_DEPENDENCIES.
31145 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31146 util/grub-probe.c_DEPENDENCIES.
31147 * conf/powerpc-ieee1275.rmk: Likewise.
31148
29d0928c 311492007-08-28 Robert Millan <rmh@aybabtu.com>
31150
31151 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31152 to tell grub-mkdevicemap how to name devices.
31153 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31154 feature).
31155
31156 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31157 util/i386/get_disk_name.c.
31158 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31159 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31160 util/ieee1275/get_disk_name.c.
31161
31162 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31163
31164 * DISTLIST: Add util/i386/get_disk_name.c and
31165 util/ieee1275/get_disk_name.c.
31166
31167 * util/grub-mkdevicemap.c: Replace device naming logic with
31168 grub_util_get_disk_name() calls.
31169
5a0d3cca 311702007-08-20 Robert Millan <rmh@aybabtu.com>
31171
31172 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31173 (so that it works for both plural and singular quantities).
31174
8b72db2f 311752007-08-05 Robert Millan <rmh@aybabtu.com>
31176
31177 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31178 so that [xz] isn't taken into account when determining order.
31179
352466bf 311802007-08-02 Marco Gerards <marco@gnu.org>
31181
31182 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31183 `include/multiboot2.h', `include/grub/elfload.h',
31184 `include/multiboot.h', `include/grub/multiboot.h',
31185 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31186 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31187 `kern/elf.c', `loader/multiboot_loader.c',
31188 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31189 `loader/i386/pc/multiboot2.c',
31190 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31191 `util/i386/pc/grub-mkrescue.in'. Remove
31192 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31193 `include/grub/i386/pc/util/biosdisk.h' and
31194 `include/grub/powerpc/ieee1275/multiboot.h'.
31195
8f096014 311962007-08-02 Bean <bean123ch@gmail.com>
31197
31198 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31199 (ntfs_mod_SOURCES): New variable.
31200 (ntfs_mod_CFLAGS): Likewise.
31201 (ntfs_mod_LDFLAGS): Likewise.
31202
31203 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31204 (grub_probe_SOURCES): Likewise.
31205 (grub_emu_SOURCES): Likewise.
31206
31207 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31208 (grub_emu_SOURCES): Likewise.
31209
31210 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31211 (grub_emu_SOURCES): Likewise.
f19dbdb7 31212
8f096014 31213 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31214
31215 * fs/ntfs.c: New file.
31216
9959f7db 312172007-08-02 Bean <bean123ch@gmail.com>
31218
31219 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31220
31221 * file.h (grub_file): Likewise.
31222
31223 * fshelp.h (grub_fshelp_read_file): Likewise.
31224
31225 * util/i386/pc/grub-setup.c (setup): Likewise.
31226 (save_first_sector): Likewise.
31227 (save_blocklists): Likewise.
f19dbdb7 31228
9959f7db 31229 * fs/affs.c (grub_affs_read_file): Likewise.
31230
31231 * fs/ext2.c (grub_ext2_read_file): Likewise.
31232
31233 * fs/fat.c (grub_fat_read_data): Likewise.
31234
31235 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31236
31237 * fs/hfs.c (grub_hfs_read_file): Likewise.
31238
31239 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31240
31241 * fs/jfs.c (grub_jfs_read_file): Likewise.
31242
31243 * fs/minix.c (grub_minix_read_file): Likewise.
31244
31245 * fs/sfs.c (grub_sfs_read_file): Likewise.
31246
31247 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31248
9959f7db 31249 * fs/xfs.c (grub_xfs_read_file): Likewise.
31250
31251 * command/blocklist.c (read_blocklist): Likewise.
31252 (print_blocklist): Likewise.
31253
0a203f83 312542007-08-02 Marco Gerards <marco@gnu.org>
31255
31256 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31257 `util/hostfs.c'.
31258
31259 * disk/host.c: New file.
31260
31261 * util/hostfs.c: Likewise.
31262
31263 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31264 return `GRUB_ERR_BAD_FS'.
31265 * fs/sfs.c (grub_sfs_mount): Likewise.
31266 * fs/xfs.c (grub_xfs_mount): Likewise.
31267
31268 * include/grub/disk.h (enum grub_disk_dev_id): Add
31269 `GRUB_DISK_DEVICE_HOST_ID'.
31270
31271 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31272
e5dfe777 312732007-07-24 Jerone Young <jerone@gmail.com>
31274
f19dbdb7 31275 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31276 modules for compilation.
31277 * conf/powerpc-ieee1275.rmk: Likewise.
31278
31279 * include/multiboot.h: Move multiboot definitions to one file. Rename
31280 many definitions to not get grub specific.
31281 * include/multiboot2.h: Create header with multiboot 2 definitions.
31282 * include/grub/multiboot.h: Header for grub specific function
31283 prototypes and definitions.
31284 * include/grub/multiboot2.h: Likewise.
31285 * include/grub/multiboot_loader.h: Likewise.
31286 * include/grub/i386/pc/multiboot.h: Removed.
31287 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31288
31289 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31290 and 2 to allow for one multiboot and module commands.
31291 * loader/multiboot2.c: Add multiboot2 functionality.
31292 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31293 and definition names.
31294 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31295 2 functions.
31296 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31297 ieee1275 specific multiboot2 code.
31298
31299 * kern/i386/pc/startup.S: Change headers and definition names for
31300 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31301
daf0f0ba 313022007-07-22 Robert Millan <rmh@aybabtu.com>
31303
31304 * geninitheader.sh: Process file specified in first parameter rather
31305 than hardcoding grub_modules_init.lst.
fe6b695a 31306 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31307 than hardcoding grub_modules_init.h.
31308
31309 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31310 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31311 grub_probe_init.[ch] and grub_setup_init.[ch].
31312
31313 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31314 grub_modules_init.h with grub_emu_init.h.
31315 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31316 grub_probe_init.[ch] files.
31317 * conf/i386-efi.rmk: Likewise.
31318 * conf/i386-pc.rmk: Likewise.
31319 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31320 grub_setup_init.[ch] files.
31321
31322 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31323 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31324 to initialize modules rather than a list of hardcoded functions.
31325 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31326 grub_init_all() to initialize modules rather than a list of hardcoded
31327 functions.
31328
54cdc1cc 313292007-07-22 Robert Millan <rmh@aybabtu.com>
31330
31331 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31332 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31333
ad0686cc 313342007-07-22 Robert Millan <rmh@aybabtu.com>
31335
31336 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31337 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31338 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31339 flag when running on SmartFirmware.
31340 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31341 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31342 was set.
31343
31344 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31345 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31346 rather than decreasing it.
31347
31348 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31349 there's not enough space to do it, fail in the same way as when it
31350 can't be done because there are no partitions.
31351
31352 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31353 when nvsetenv failed.
31354
969c02ec 313552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31356
31357 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31358 because this rule is automatically generated.
31359 (grub-mkrescue): Removed for the same reason as above.
31360
5a79f472 313612007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31362
31363 Migrate to GNU General Public License Version 3.
f19dbdb7 31364
5a79f472 31365 * COPYING: Replaced with the plain text version of GPLv3.
31366
31367 * config.guess: Updated from gnulib.
31368 * config.sub: Likewise.
31369
31370 * geninit.sh: Output a GPLv3 copyright notice.
31371 * geninitheader.sh: Likewise.
31372 * genmodsrc.sh: Likewise.
31373 * gensymlist.sh.in: Likewise.
31374
31375 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31376 * boot/i386/pc/diskboot.S: Likewise.
31377 * boot/i386/pc/pxeboot.S: Likewise.
31378 * commands/blocklist.c: Likewise.
31379 * commands/boot.c: Likewise.
31380 * commands/cat.c: Likewise.
31381 * commands/cmp.c: Likewise.
31382 * commands/configfile.c: Likewise.
31383 * commands/echo.c: Likewise.
31384 * commands/help.c: Likewise.
31385 * commands/ls.c: Likewise.
31386 * commands/search.c: Likewise.
31387 * commands/terminal.c: Likewise.
31388 * commands/test.c: Likewise.
31389 * commands/videotest.c: Likewise.
31390 * commands/i386/cpuid.c: Likewise.
31391 * commands/i386/pc/halt.c: Likewise.
31392 * commands/i386/pc/play.c: Likewise.
31393 * commands/i386/pc/reboot.c: Likewise.
31394 * commands/i386/pc/vbeinfo.c: Likewise.
31395 * commands/i386/pc/vbetest.c: Likewise.
31396 * commands/ieee1275/halt.c: Likewise.
31397 * commands/ieee1275/reboot.c: Likewise.
31398 * commands/ieee1275/suspend.c: Likewise.
31399 * disk/loopback.c: Likewise.
31400 * disk/lvm.c: Likewise.
31401 * disk/raid.c: Likewise.
31402 * disk/efi/efidisk.c: Likewise.
31403 * disk/i386/pc/biosdisk.c: Likewise.
31404 * disk/ieee1275/ofdisk.c: Likewise.
31405 * font/manager.c: Likewise.
31406 * fs/affs.c: Likewise.
31407 * fs/ext2.c: Likewise.
31408 * fs/fat.c: Likewise.
31409 * fs/fshelp.c: Likewise.
31410 * fs/hfs.c: Likewise.
31411 * fs/hfsplus.c: Likewise.
31412 * fs/iso9660.c: Likewise.
31413 * fs/jfs.c: Likewise.
31414 * fs/minix.c: Likewise.
31415 * fs/sfs.c: Likewise.
31416 * fs/ufs.c: Likewise.
31417 * fs/xfs.c: Likewise.
31418 * hello/hello.c: Likewise.
31419 * include/grub/acorn_filecore.h: Likewise.
31420 * include/grub/arg.h: Likewise.
31421 * include/grub/bitmap.h: Likewise.
31422 * include/grub/boot.h: Likewise.
31423 * include/grub/cache.h: Likewise.
31424 * include/grub/device.h: Likewise.
31425 * include/grub/disk.h: Likewise.
31426 * include/grub/dl.h: Likewise.
31427 * include/grub/elfload.h: Likewise.
31428 * include/grub/env.h: Likewise.
31429 * include/grub/err.h: Likewise.
31430 * include/grub/file.h: Likewise.
31431 * include/grub/font.h: Likewise.
31432 * include/grub/fs.h: Likewise.
31433 * include/grub/fshelp.h: Likewise.
31434 * include/grub/gzio.h: Likewise.
31435 * include/grub/hfs.h: Likewise.
31436 * include/grub/kernel.h: Likewise.
31437 * include/grub/loader.h: Likewise.
31438 * include/grub/lvm.h: Likewise.
31439 * include/grub/misc.h: Likewise.
31440 * include/grub/mm.h: Likewise.
31441 * include/grub/net.h: Likewise.
31442 * include/grub/normal.h: Likewise.
31443 * include/grub/parser.h: Likewise.
31444 * include/grub/partition.h: Likewise.
31445 * include/grub/pc_partition.h: Likewise.
31446 * include/grub/raid.h: Likewise.
31447 * include/grub/rescue.h: Likewise.
31448 * include/grub/script.h: Likewise.
31449 * include/grub/setjmp.h: Likewise.
31450 * include/grub/symbol.h: Likewise.
31451 * include/grub/term.h: Likewise.
31452 * include/grub/terminfo.h: Likewise.
31453 * include/grub/tparm.h: Likewise.
31454 * include/grub/types.h: Likewise.
31455 * include/grub/video.h: Likewise.
31456 * include/grub/efi/api.h: Likewise.
31457 * include/grub/efi/chainloader.h: Likewise.
31458 * include/grub/efi/console.h: Likewise.
31459 * include/grub/efi/console_control.h: Likewise.
31460 * include/grub/efi/disk.h: Likewise.
31461 * include/grub/efi/efi.h: Likewise.
31462 * include/grub/efi/pe32.h: Likewise.
31463 * include/grub/efi/time.h: Likewise.
31464 * include/grub/i386/linux.h: Likewise.
31465 * include/grub/i386/setjmp.h: Likewise.
31466 * include/grub/i386/types.h: Likewise.
31467 * include/grub/i386/efi/kernel.h: Likewise.
31468 * include/grub/i386/efi/loader.h: Likewise.
31469 * include/grub/i386/efi/time.h: Likewise.
31470 * include/grub/i386/pc/biosdisk.h: Likewise.
31471 * include/grub/i386/pc/boot.h: Likewise.
31472 * include/grub/i386/pc/chainloader.h: Likewise.
31473 * include/grub/i386/pc/console.h: Likewise.
31474 * include/grub/i386/pc/init.h: Likewise.
31475 * include/grub/i386/pc/kernel.h: Likewise.
31476 * include/grub/i386/pc/loader.h: Likewise.
31477 * include/grub/i386/pc/memory.h: Likewise.
31478 * include/grub/i386/pc/multiboot.h: Likewise.
31479 * include/grub/i386/pc/serial.h: Likewise.
31480 * include/grub/i386/pc/time.h: Likewise.
31481 * include/grub/i386/pc/vbe.h: Likewise.
31482 * include/grub/i386/pc/vbeblit.h: Likewise.
31483 * include/grub/i386/pc/vbefill.h: Likewise.
31484 * include/grub/i386/pc/vbeutil.h: Likewise.
31485 * include/grub/i386/pc/vga.h: Likewise.
31486 * include/grub/ieee1275/ieee1275.h: Likewise.
31487 * include/grub/ieee1275/ofdisk.h: Likewise.
31488 * include/grub/powerpc/libgcc.h: Likewise.
31489 * include/grub/powerpc/setjmp.h: Likewise.
31490 * include/grub/powerpc/types.h: Likewise.
31491 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31492 * include/grub/powerpc/ieee1275/console.h: Likewise.
31493 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31494 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31495 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31496 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31497 * include/grub/powerpc/ieee1275/time.h: Likewise.
31498 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31499 * include/grub/sparc64/libgcc.h: Likewise.
31500 * include/grub/sparc64/setjmp.h: Likewise.
31501 * include/grub/sparc64/types.h: Likewise.
31502 * include/grub/sparc64/ieee1275/console.h: Likewise.
31503 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31504 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31505 * include/grub/sparc64/ieee1275/time.h: Likewise.
31506 * include/grub/util/biosdisk.h: Likewise.
31507 * include/grub/util/getroot.h: Likewise.
31508 * include/grub/util/lvm.h: Likewise.
31509 * include/grub/util/misc.h: Likewise.
31510 * include/grub/util/raid.h: Likewise.
31511 * include/grub/util/resolve.h: Likewise.
31512 * io/gzio.c: Likewise.
31513 * kern/device.c: Likewise.
31514 * kern/disk.c: Likewise.
31515 * kern/dl.c: Likewise.
31516 * kern/elf.c: Likewise.
31517 * kern/env.c: Likewise.
31518 * kern/err.c: Likewise.
31519 * kern/file.c: Likewise.
31520 * kern/fs.c: Likewise.
31521 * kern/loader.c: Likewise.
31522 * kern/main.c: Likewise.
31523 * kern/misc.c: Likewise.
31524 * kern/mm.c: Likewise.
31525 * kern/parser.c: Likewise.
31526 * kern/partition.c: Likewise.
31527 * kern/rescue.c: Likewise.
31528 * kern/term.c: Likewise.
31529 * kern/efi/efi.c: Likewise.
31530 * kern/efi/init.c: Likewise.
31531 * kern/efi/mm.c: Likewise.
31532 * kern/i386/dl.c: Likewise.
31533 * kern/i386/efi/init.c: Likewise.
31534 * kern/i386/efi/startup.S: Likewise.
31535 * kern/i386/pc/init.c: Likewise.
31536 * kern/i386/pc/lzo1x.S: Likewise.
31537 * kern/i386/pc/startup.S: Likewise.
31538 * kern/ieee1275/ieee1275.c: Likewise.
31539 * kern/powerpc/cache.S: Likewise.
31540 * kern/powerpc/dl.c: Likewise.
31541 * kern/powerpc/ieee1275/cmain.c: Likewise.
31542 * kern/powerpc/ieee1275/crt0.S: Likewise.
31543 * kern/powerpc/ieee1275/init.c: Likewise.
31544 * kern/powerpc/ieee1275/openfw.c: Likewise.
31545 * kern/sparc64/cache.S: Likewise.
31546 * kern/sparc64/dl.c: Likewise.
31547 * kern/sparc64/ieee1275/init.c: Likewise.
31548 * kern/sparc64/ieee1275/openfw.c: Likewise.
31549 * loader/efi/chainloader.c: Likewise.
31550 * loader/efi/chainloader_normal.c: Likewise.
31551 * loader/i386/efi/linux.c: Likewise.
31552 * loader/i386/efi/linux_normal.c: Likewise.
31553 * loader/i386/pc/chainloader.c: Likewise.
31554 * loader/i386/pc/chainloader_normal.c: Likewise.
31555 * loader/i386/pc/linux.c: Likewise.
31556 * loader/i386/pc/linux_normal.c: Likewise.
31557 * loader/i386/pc/multiboot.c: Likewise.
31558 * loader/i386/pc/multiboot_normal.c: Likewise.
31559 * loader/powerpc/ieee1275/linux.c: Likewise.
31560 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31561 * normal/arg.c: Likewise.
31562 * normal/cmdline.c: Likewise.
31563 * normal/command.c: Likewise.
31564 * normal/completion.c: Likewise.
31565 * normal/execute.c: Likewise.
31566 * normal/function.c: Likewise.
31567 * normal/lexer.c: Likewise.
31568 * normal/main.c: Likewise.
31569 * normal/menu.c: Likewise.
31570 * normal/menu_entry.c: Likewise.
31571 * normal/misc.c: Likewise.
31572 * normal/parser.y: Likewise.
31573 * normal/script.c: Likewise.
31574 * normal/i386/setjmp.S: Likewise.
31575 * normal/powerpc/setjmp.S: Likewise.
31576 * normal/sparc64/setjmp.S: Likewise.
31577 * partmap/acorn.c: Likewise.
31578 * partmap/amiga.c: Likewise.
31579 * partmap/apple.c: Likewise.
31580 * partmap/gpt.c: Likewise.
31581 * partmap/pc.c: Likewise.
31582 * partmap/sun.c: Likewise.
31583 * term/gfxterm.c: Likewise.
31584 * term/terminfo.c: Likewise.
31585 * term/efi/console.c: Likewise.
31586 * term/i386/pc/console.c: Likewise.
31587 * term/i386/pc/serial.c: Likewise.
31588 * term/i386/pc/vesafb.c: Likewise.
31589 * term/i386/pc/vga.c: Likewise.
31590 * term/ieee1275/ofconsole.c: Likewise.
31591 * util/biosdisk.c: Likewise.
31592 * util/console.c: Likewise.
31593 * util/genmoddep.c: Likewise.
31594 * util/getroot.c: Likewise.
31595 * util/grub-emu.c: Likewise.
31596 * util/grub-mkdevicemap.c: Likewise.
31597 * util/grub-probe.c: Likewise.
31598 * util/lvm.c: Likewise.
31599 * util/misc.c: Likewise.
31600 * util/raid.c: Likewise.
31601 * util/resolve.c: Likewise.
31602 * util/update-grub.in: Likewise.
31603 * util/update-grub_lib.in: Likewise.
31604 * util/grub.d/00_header.in: Likewise.
31605 * util/grub.d/10_hurd.in: Likewise.
31606 * util/grub.d/10_linux.in: Likewise.
31607 * util/i386/efi/grub-install.in: Likewise.
31608 * util/i386/efi/grub-mkimage.c: Likewise.
31609 * util/i386/pc/grub-install.in: Likewise.
31610 * util/i386/pc/grub-mkimage.c: Likewise.
31611 * util/i386/pc/grub-mkrescue.in: Likewise.
31612 * util/i386/pc/grub-setup.c: Likewise.
31613 * util/i386/pc/misc.c: Likewise.
31614 * util/powerpc/ieee1275/grub-install.in: Likewise.
31615 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31616 * util/powerpc/ieee1275/misc.c: Likewise.
31617 * video/bitmap.c: Likewise.
31618 * video/video.c: Likewise.
31619 * video/i386/pc/vbe.c: Likewise.
31620 * video/i386/pc/vbeblit.c: Likewise.
31621 * video/i386/pc/vbefill.c: Likewise.
31622 * video/i386/pc/vbeutil.c: Likewise.
31623 * video/readers/tga.c: Likewise.
31624
3572d015 316252007-07-02 Robert Millan <rmh@aybabtu.com>
31626
31627 * conf/i386-efi.rmk: Replace obsolete reference to
31628 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31629 with util/getroot.c.
31630 * conf/powerpc-ieee1275.rmk: Likewise.
31631 * conf/sparc64-ieee1275.rmk: Likewise.
31632
31633 * util/grub-emu.c (main): Fix unchecked pointer handling.
31634
2c2a681b 316352007-07-02 Robert Millan <rmh@aybabtu.com>
31636
31637 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31638 invocation to fail, in order to support partition-less media.
31639
31640 * util/i386/pc/grub-install.in: Likewise.
31641
31642 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31643 which fs or partmap modules are needed (akin to its sister scripts).
31644
31645 Also use grub-probe to get rid of unportable /proc/mounts check.
31646
31647 Print the same informational message that the other scripts do, before
fe6b695a 31648 exiting.
2c2a681b 31649
6193defe 316502007-06-23 Robert Millan <rmh@aybabtu.com>
31651
fe6b695a 31652 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 31653 a font file can be found and, if so, echo the GRUB path to it.
31654
31655 * util/update-grub.in: Handle multiple terminals depending on user
31656 input, platform availability and font file presence. Propagate
31657 variables of our findings to /etc/grub.d/ children.
31658
31659 * util/grub.d/00_header.in: Handle multiple terminals, based on
31660 environment setup by update-grub.
31661
eface1dc 316622007-06-23 Robert Millan <rmh@aybabtu.com>
31663
ba50d28f 31664 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 31665
bf697e28 316662007-06-21 Robert Millan <rmh@aybabtu.com>
31667
31668 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31669 indicate end of data section in kernel image.
31670 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31671 GRUB_KERNEL_MACHINE_DATA_END.
31672
31673 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31674 space for it.
31675 * kern/i386/efi/startup.S: Likewise.
31676
31677 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31678 during image generation. Implement --prefix option to override this
31679 patch.
31680 * util/i386/efi/grub-mkimage.c: Likewise.
31681
31682 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31683 code to make path relative to its root into a separate function.
31684
31685 * util/i386/pc/grub-install.in: Use newly provided
31686 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31687 pass the result to grub-install --prefix.
31688
baa574b4 316892007-06-13 Robert Millan <rmh@aybabtu.com>
31690
31691 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31692 DEFAULT_DEVICE_MAP.
31693 * util/grub-emu.c: Use above definitions from misc.h instead of
31694 defining them.
31695 * util/grub-mkdevicemap.c: Likewise.
31696 * util/i386/pc/grub-setup.c: Likewise.
31697 * util/grub-probe.c: Likewise.
31698 (probe): Abort with grub_util_error() when either
31699 grub_guess_root_device or grub_util_get_grub_dev fails.
31700
0215dcbf 317012007-06-12 Robert Millan <rmh@aybabtu.com>
31702
31703 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31704 "pager" assignment.
31705 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31706 "pcdata".
31707 * util/grub-probe.c (probe): Likewise for "drive_name".
31708
8af2ab7b 317092007-06-11 Robert Millan <rmh@aybabtu.com>
31710
31711 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31712 not just the cdrom one.
31713
59d31694 317142007-06-11 Robert Millan <rmh@aybabtu.com>
31715
31716 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31717 Add --pkglibdir=DIR option to override pkglibdir.
31718 Mention --image-type=TYPE in help output.
31719 Fix --grub-mkimage (it was a no-op).
fe6b695a 31720 Abort gracefully when no parameter is given.
59d31694 31721
7ee367e4 317222007-06-11 Robert Millan <rmh@aybabtu.com>
31723
31724 * util/i386/pc/grub-mkrescue.in: New file.
31725 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31726 * Makefile.in: Handle bin_SCRIPTS.
31727
29b0ed46 317282007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31729
31730 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31731 list of video modes.
31732
c0f90770 317332007-06-06 Robert Millan <rmh@aybabtu.com>
31734
31735 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31736 file doesn't exist, or if it is in a filesystem grub can't read.
31737
31738 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31739 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31740 header comment to fit in 80 columns when the variables are resolved.
31741
31742 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31743 could be identified by update-grub. Remove redundant check for
fe6b695a 31744 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 31745 handles that).
31746
fb36dc26 317472007-06-04 Robert Millan <rmh@aybabtu.com>
31748
31749 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31750
31751 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31752
31753 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31754
0c68c93e 317552007-06-04 Robert Millan <rmh@aybabtu.com>
31756
31757 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31758
31759 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31760 grub_apple_partition_map_fini.
31761
31762 * util/biosdisk.c
31763 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31764 to access >2 TiB disks).
31765
31766 Print disk->total_sectors with %llu instead of %lu, since this
31767 variable is always 64-bit (prevents wrong disk size from being displayed
31768 on either >2 TiB disk or big-endian CPU).
31769
31770 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31771 into a generic case that supports all (sane) partition maps.
31772
31773 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31774 breaks big-endian.
31775
31776 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31777 and grub_apple_partition_map_fini() after that.
31778
0f23eb74 317792007-06-01 Robert Millan <rmh@aybabtu.com>
31780
31781 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31782
31783 * util/grub.d/00_header.in: Only enable gfxterm when
31784 convert_system_path_to_grub_path() succeeds.
31785
42c71976 317862007-05-20 Robert Millan <rmh@aybabtu.com>
31787
31788 * util/update-grub_lib.in: New file.
31789 * DISTLIST: Add update-grub_lib.in.
31790 * conf/common.rmk: Generate update-grub_lib and install it in
31791 $(lib_DATA).
31792 * Makefile.in: Add install routine for $(lib_DATA).
31793
31794 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31795 function provided by update-grub_lib to support arbitrary paths of
31796 unifont.pff.
31797 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31798 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31799
5beb2291 318002007-05-19 Robert Millan <rmh@aybabtu.com>
31801
31802 * commands/i386/cpuid.c: New module.
31803 * DISTLIST: Add it.
31804 * conf/i386-efi.rmk: Enable cpuid.mod.
31805 * conf/i386-pc.rmk: Likewise.
31806
7262eca1 318072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31808
31809 * kern/disk.c (grub_disk_read): Check return value of
31810 grub_realloc().
31811
260ba823 318122007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31813
31814 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31815 arrays.
31816 * disk/raid.c (grub_raid_open): Likewise.
31817
1ecb6cf2 318182007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31819
31820 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31821 stack instead of on the heap.
31822
31823 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31824 before doing a read on it.
31825
31826 * configure.ac: Only use -fno-stack-protector for the target
31827 environment.
f19dbdb7 31828
21c8cbb1 318292007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31830
31831 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31832 __attribute_ ((unused)) to mode_type argument.
31833
31834 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 31835
21c8cbb1 31836 * kern/misc.c (memcmp): Fix prototype.
31837
31838 * include/grub/partition.h [GRUB_UTIL]
31839 (grub_gpt_partition_map_init): Add prototype.
31840 (grub_gpt_partition_map_fini): Likewise.
31841
31842 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31843 at the right place.
31844
31845 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
31846 (grub_fat_read_data): Likewise.
31847 (grub_fat_find_dir): Likewise.
31848
31849 * font/manager.c (find_glyph): Make table a const.
31850 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 31851
849d55d3 318522007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
31853
31854 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
31855 code, first search for device in /dev/mapper, then in /dev.
31856 (grub_util_get_grub_dev): New function.
31857 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
31858 prototype.
31859 * util/grub-probe.c (probe): Remove check for RAID, call
31860 grub_util_get_grub_dev() instead of
31861 grub_util_biosdisk_get_grub_dev().
31862 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
31863 grub_util_biosdisk_get_grub_dev().
31864 * util/i386/pc/grub-setup.c (main): Likewise.
31865
8fff7c2f 318662007-05-16 Robert Millan <rmh@aybabtu.com>
31867
31868 * DISTLIST: Update for the latest changes.
31869 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
31870 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
31871 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
31872 grub/util/biosdisk.h.
31873 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
31874 grub/util/biosdisk.h.
31875
48e12b52 318762007-05-16 Robert Millan <rmh@aybabtu.com>
31877
31878 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
31879
46b9d128 318802007-05-16 Robert Millan <rmh@aybabtu.com>
31881
31882 * util/i386/efi/grub-install.in: New.
31883 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
31884 newly added grub-install.
31885 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
31886 include.
31887 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
31888 grub/util/biosdisk.h.
31889 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
31890 grub/util/biosdisk.h.
31891
2d1a40a9 318922007-05-16 Robert Millan <rmh@aybabtu.com>
31893
31894 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
31895 * include/grub/util/biosdisk.h: ... here.
31896 * util/i386/pc/biosdisk.c: Moved to ...
31897 * util/biosdisk.c: ... here.
31898 * util/i386/pc/getroot.c: Moved to ...
31899 * util/getroot.c: ... here.
31900 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
31901 * util/grub-mkdevicemap.c: ... here.
31902 * util/i386/pc/grub-probe.c: Moved to ...
31903 * util/grub-probe.c: ... here.
31904
9e26e3bc 319052007-05-15 Robert Millan <rmh@aybabtu.com>
31906
31907 * util/update-grub.in: Remove duplicated line in grub.cfg header
31908 message.
31909
57f96397 319102007-05-13 Robert Millan <rmh@aybabtu.com>
31911
31912 * util/update-grub.in: Fix a few assumptions about the devices holding
31913 /, /boot and /boot/grub being the same.
31914 * util/grub.d/00_header.in: Likewise.
31915 * util/grub.d/10_hurd.in: Likewise.
31916 * util/grub.d/10_linux.in: Likewise.
31917
31918 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
31919 patterns. Use that to define the `.old' suffix as older than `'.
31920
31921 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
31922
31923 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
31924 the grub.cfg header message.
31925
2e610d62 319262007-05-11 Robert Millan <rmh@aybabtu.com>
31927
31928 * util/update-grub.in: Create device.map if it doesn't already exist,
31929 before attempting to run grub-probe.
31930 Check for grub-probe and grub-mkdevicemap with the same code
31931 grub-install is using.
31932 Remove test mode.
31933
3f6a10ef 319342007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
31935
31936 * Makefile.in: Add the datarootdir autoconf variable.
31937
02e7b75e 319382007-05-09 Robert Millan <rmh@aybabtu.com>
31939
31940 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 31941 fail gracefully if dev->disk->partition == NULL.
02e7b75e 31942
75f396cc 319432007-05-07 Robert Millan <rmh@aybabtu.com>
31944
31945 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
31946 determine partition map module.
31947 * util/i386/pc/grub-install.in: Use this feature to decide which
31948 partition module to load, instead of hardcoding pc and gpt.
31949
da65cb36 319502007-05-07 Robert Millan <rmh@aybabtu.com>
31951
31952 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
31953 source directory differs from build directory.
31954
b57d6a91 319552007-05-05 Robert Millan <rmh@aybabtu.com>
31956
31957 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
31958 initialisation.
31959
509d00f1 319602007-05-05 Robert Millan <rmh@aybabtu.com>
31961
31962 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
31963
c48f23ef 319642007-05-05 Robert Millan <rmh@aybabtu.com>
31965
31966 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
31967 command-line arguments via ${GRUB_CMDLINE_LINUX}.
31968
20b97658 319692007-05-05 Robert Millan <rmh@aybabtu.com>
31970
31971 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
31972 (grub_probe_SOURCES): Likewise.
31973 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
31974 GPT and initialize dos_part and bsd_part accordingly.
31975 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
31976 install_bsd_part.
31977 (main): Activate gpt module for use during partition identification,
31978 and deactivate it afterwards.
31979 * util/i386/pc/grub-install.in: Add gpt module to core.img.
31980 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
31981 partition identification, and deactivate it afterwards.
31982
99123174 319832007-05-05 Robert Millan <rmh@aybabtu.com>
31984
31985 * term/i386/pc/console.c (grub_console_fini): Call
31986 grub_term_set_current() before grub_term_unregister().
31987
ebd97f6e 319882007-05-04 Robert Millan <rmh@aybabtu.com>
31989
31990 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
31991 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
31992 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
31993 and update-grub_DATA.
31994 * conf/common.rmk: Build and install update-grub components.
31995 * conf/common.mk: Regenerate.
31996 * util/update-grub.in: New. Core of update-grub.
31997 * util/grub.d/00_header.in: New. Generates grub.cfg header.
31998 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
31999 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
32000 * util/grub.d/README: New. Document grub.d directory layout.
32001
b06a264d 320022007-05-01 Robert Millan <rmh@aybabtu.com>
32003
32004 * util/grub-emu.c: Move initialization functions
32005 grub_util_biosdisk_init() and grub_init_all() before
32006 grub_util_biosdisk_get_grub_dev(), which relies on them.
32007
41f0050e 320082007-04-19 Robert Millan <rmh@aybabtu.com>
32009
32010 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
32011 it is used later.
32012
04582bb3 320132007-04-18 Jerone Young <jerone@gmail.com>
32014
f19dbdb7 32015 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 32016 stanza.
32017
08db4632 320182007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 32019
08db4632 32020 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
32021 continue on and look for device node with real device name.
32022
801b76be 320232007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 32024
fe6b695a 32025 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 32026 ability.
32027 * Makefile.in: Add autoconf package transformation code.
32028 * util/i386/pc/grub-install.in: Likewise.
32029 * util/powerpc/ieee1275/grub-install.in: Likewise.
32030
6795c4e1 320312007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32032
32033 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
32034 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
32035 (EXT2_REVISION): Likewise.
32036 (EXT2_INODE_SIZE): Likewise.
32037 (struct grub_ext2_block_group): Added a missing member
32038 "used_dirs".
32039 (grub_ext2_read_inode): Divide by the inode size in a superblock
32040 instead of 128 to obtain INODES_PER_BLOCK.
32041 Use the macro EXT2_INODE_SIZE instead of directly using
32042 SBLOCK->INODE_SIZE.
32043
d70af616 320442007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32045
32046 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
32047 superblock instead of the structure size to compute an
32048 offset. This fixes the problem that GRUB could not read a
32049 filesystem when inode size is different from 128-byte.
32050
3b801603 320512007-03-05 Marco Gerards <marco@gnu.org>
32052
32053 * normal/main.c (read_config_file): When "menu" is not set, create
32054 an initial context.
32055
4785bfe4 320562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32057
32058 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
32059 (HEAP_LIMIT): New macro.
32060 (grub_claim_heap): Claim memory up to `heaplimit'.
32061
a0cbb023 320622007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32063
32064 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
32065 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
32066 (_start): Likewise.
32067 (grub_arch_modules_addr): Return address after `_end'.
32068 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
32069 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
32070 (add_segments): Calculate `_end' from phdr size and location.
32071 (ALIGN_UP): Moved to ...
32072 * include/grub/misc.h: here.
32073 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32074 New macro.
32075 (GRUB_IEEE1275_MODULE_BASE): Removed.
32076
fd7d8eba 320772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32078
32079 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
32080 loop boundary.
32081
9b09e6fc 320822007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32083
32084 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
32085 All users updated.
32086 (grub_elf64_load_hook_t): Likewise.
32087 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
32088 debug output.
32089
3ce27299 320902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32091
32092 * kern/mm.c: Update copyright.
32093 (grub_mm_debug): Correct syntax error.
32094 (grub_mm_dump_free): New function.
32095 (grub_debug_free): Call `grub_free'.
32096 * include/grub/mm.h: Update copyright.
32097 (grub_mm_dump_free): Add declaration.
32098
077d5fee 320992007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32100
32101 * include/grub/ieee1275/ieee1275.h: Update copyright.
32102 * kern/powerpc/ieee1275/init.c: Likewise.
32103 * kern/powerpc/ieee1275/openfw.c: Likewise.
32104
32105 * loader/powerpc/ieee1275/linux.c: Likewise.
32106 * include/grub/elfload.h: Likewise.
32107 * kern/elf.c: Likewise.
32108 (grub_elf32_load): Pass `base' and `size' parameters. Update all
32109 callers.
32110 (grub_elf64_load): Likewise.
32111 (grub_elf32_load_segment): Move to a nested function.
32112 (grub_elf64_load_segment): Likewise.
32113
dc946850 321142007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32115
32116 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
32117 prototype.
32118 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
32119 (grub_heap_len): Likewise.
32120 (HEAP_SIZE): New macro.
32121 (grub_claim_heap): New function.
32122 (grub_machine_init): Don't claim heap directly. Call
32123 `grub_claim_heap'.
32124 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
32125 (grub_available_iterate): New function.
32126
baa2a121 321272007-02-03 Thomas Schwinge <tschwinge@gnu.org>
32128
32129 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
32130 * configure.ac: Use it for testing the HOST and TARGET compilers.
32131
4fe9862e 321322006-12-13 Thomas Schwinge <tschwinge@gnu.org>
32133
32134 * Makefile.in (enable_grub_emu): New variable.
32135 * configure.ac (--enable-grub-emu): New option.
32136 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
32137 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
32138 * conf/i386-pc.rmk: Likewise.
32139 * conf/powerpc-ieee1275.rmk: Likewise.
32140 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32141
a8aa5762 321422006-12-12 Marco Gerards <marco@gnu.org>
32143
32144 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32145
32146 * kern/env.c (grub_env_unset): Don't free the member `value' when
32147 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32148 pointer.
32149
32150 * normal/main.c (current_menu): Removed.
32151 (free_menu): Unset the `menu' environment variable.
32152 (grub_normal_menu_addentry): Make use of the environment variable
32153 `menu', instead of using the global `current_menu'. Allocate
32154 memory for the sourcecode of this entry.
32155 (read_config_file): New argument `nested', changed all callers.
32156 Only in the case of a new context, initialize a new menu. Set the
32157 `menu' environment variable.
32158 (grub_normal_execute): Don't set and unset the environment
32159 variable `menu' here anymore. Only free the menu when leaving the
32160 context.
32161
32162 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32163 leak.
32164
957b3a3e 321652006-12-11 Marco Gerards <marco@gnu.org>
32166
32167 * normal/menu_entry.c (run): Fix off by one bug so the last line
32168 is executed. Move the loader check to outside the loop.
32169
ef875714 321702006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32171
32172 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32173
4e739985 321742006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32175
32176 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32177 the number of sectors. Reported by Andrey Shuvikov
32178 <mr_hyro@yahoo.com>.
f19dbdb7 32179
790707f2 321802006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32181
32182 * kern/disk.c (grub_disk_read): When there is a read error, always
32183 try to read only the necessary data.
f19dbdb7 32184
790707f2 32185 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32186 disk/raid.c.
32187 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32188 prototype.
32189 [GRUB_UTIL] (grub_raid_fini): Likewise.
32190 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32191 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32192 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32193 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32194 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32195 and grub_raid_fini().
f19dbdb7 32196
03e58196 321972006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32198
32199 * include/grub/types.h (__unused): Rename to UNUSED.
32200 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32201 (grub_elf64_size): Likewise.
f19dbdb7 32202
ae4f23bf 322032006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32204
32205 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32206 grub_error_push and grub_error_pop in the error-handling path.
32207 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32208 length.
32209
2166cc83 322102006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32211
32212 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32213 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32215 (kernel_elf_SOURCES): Likewise.
32216 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32217 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32218 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32219 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32220 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32221 (elf_mod_SOURCES): New variable.
32222 (elf_mod_CFLAGS): Likewise.
32223 (elf_mod_LDFLAGS): Likewise.
32224 * include/grub/types.h (__unused): New macro.
32225 * include/grub/elfload.h: New file.
32226 * kern/elf.c: Likewise.
32227 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32228 (ELF32_LOADMASK): New macro.
32229 (ELF64_LOADMASK): Likewise.
32230 (vmlinux): Removed.
32231 (grub_linux_load32): New function.
32232 (grub_linux_load64): Likewise.
32233 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32234 Use grub_elf_t instead of grub_file_t.
32235
a09d5aa5 322362006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32237
32238 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32239 `catch_result' to struct set_color_args.
32240
d976fc51 322412006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32242
32243 * normal/menu.c: Include grub/script.h.
32244 * normal/menu_entry.c: Likewise.
32245 * include/grub/normal.h: Do not include grub/script.h.
32246
67507549 322472006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32248
32249 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32250
69203a99 322512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32252
32253 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32254 disk.
32255 (grub_disk_close): Print debug messages when closing a disk.
32256 (grub_disk_read): Print debug messages when disk read fails.
32257 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32258 filesystem type.
32259 * kern/partition.c: Include misc.h.
32260 (grub_partition_iterate): Print debug messages when detecting
32261 partition type.
32262
e2b8278c 322632006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32264
32265 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32266 is negative.
32267 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32268
97b2f2ff 322692006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32270
32271 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32272 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32273
6555d655 322742006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32275
32276 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32277 instead of sizeof(lv). Patch by Michael Guntsche.
32278
4d42b77f 322792006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32280
32281 * disk/lvm.c: Rename VGS to VG_LIST.
32282 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32283 (grub_lvm_open): Likewise.
32284 Thanks to Michael Guntsche for finding this bug.
32285
5d74d927 322862006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32287
32288 * configure.ac (AC_INIT): Bumped to 1.95.
32289
a1bb27e4 322902006-10-14 Robert Millan <rmh@aybabtu.com>
32291
32292 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32293 with "/dev/.static/dev/md".
32294
e0994b8b 322952006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32296
32297 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32298 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32299 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32300 DRIVE_NAME are always freed.
32301
32302 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32303 DOS_PART, as a DOS partition is counted from one instead of zero
32304 now. Reported by Robert Millan.
32305
ddd5cee9 323062006-10-14 Robert Millan <rmh@aybabtu.com>
32307
32308 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32309 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32310 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32311 string returned by grub_guess_root_device.
32312 * util/i386/pc/grub-setup.c: Likewise.
32313 * util/i386/pc/grub-probefs.c: Likewise.
32314
32315 * util/i386/pc/grub-probefs.c: Rename to ...
32316 * util/i386/pc/grub-probe.c: ... this.
32317 * DISTLIST: Remove grub-probefs, add grub-probe.
32318 * conf/i386-efi.rmk: Likewise.
32319 * conf/i386-pc.rmk: Likewise.
32320 * util/i386/pc/grub-install.in: Likewise.
32321
32322 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32323 choose which information we want to print.
32324
2b002173 323252006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32326
32327 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32328 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32329 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32330 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32331 video/readers/tga.c and video/i386/pc/vbeutil.c.
32332
323332006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32334
32335 Added support for RAID and LVM.
f19dbdb7 32336
2b002173 32337 * disk/lvm.c: New file.
32338 * disk/raid.c: Likewise.
32339 * include/grub/lvm.h: Likewise.
f19dbdb7 32340 * include/grub/raid.h: Likewise.
2b002173 32341 * include/grub/util/lvm.h: Likewise.
32342 * include/grub/util/raid.h: Likewise.
32343 * util/lvm.c: Likewise.
32344 * util/raid.c: Likewise.
32345
32346 * include/grub/disk.h (grub_disk_dev_id): Add
32347 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32348 (grub_disk_get_size): New prototype.
32349 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32350 returns a partition.
32351 (grub_disk_get_size): New function.
f19dbdb7 32352
2b002173 32353 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32354 verbatim if grub_install_dos_part is -2.
32355
32356 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32357 and LVM devices.
32358
32359 * util/i386/pc/grub-setup.c (setup): New argument
32360 MUST_EMBED. Force embedding of GRUB when the argument is
32361 true. Close FILE before returning.
32362 (main): Add support for RAID and LVM.
f19dbdb7 32363
2b002173 32364 * conf/common.rmk: Add RAID and LVM modules.
32365 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32366 util/lvm.c.
32367 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32368
32369 * kern/misc.c (grub_strstr): New function.
32370 * include/grub/misc.h (grub_strstr): New prototype.
32371
050548d0 323722006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32373
32374 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32375
da849d2d 323762006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32377
32378 * kern/misc.c (grub_strtoull): Guess the base only if not
32379 specified.
32380
97b2f2ff 323812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32382
32383 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32384 PowerMac support.
32385
97b2f2ff 323862006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32387
32388 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32389
32390 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32391 Remove `flags' argument. All callers changed.
32392 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32393 (IEEE1275_IHANDLE_INVALID): New variable.
32394 (IEEE1275_CELL_INVALID): New variable.
32395 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32396 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32397 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32398 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32399 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32400 codes from Open Firmware. All callers updated.
32401 (grub_ieee1275_next_property): Directly return Open Firmware return
32402 code.
32403 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32404 Standardize error checking from `grub_ieee1275_get_property'.
32405 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32406 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32407
97b2f2ff 324082006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32409
32410 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32411 `instance_to_package_args' to `instance_to_path_args'.
32412
32413 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32414 `grub_ieee1275_chosen'.
32415
32416 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32417 `grub_ieee1275_interpret'.
32418
97b2f2ff 324192006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32420
32421 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32422
97b2f2ff 324232006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32424
32425 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32426 (__cmpdi): Likewise.
32427
32428 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32429 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32430 `grub_ssize_t'.
32431
02bb8acc 32432 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32433
32434 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32435 to type `grub_ssize_t'.
32436 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32437
7f9a8531 324382006-09-22 Marco Gerards <marco@gnu.org>
32439
32440 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32441 newlines.
32442
b5ef1102 324432006-09-22 Marco Gerards <marco@gnu.org>
32444
32445 * commands/echo.c: New file.
32446
32447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32448
32449 * conf/common.rmk (echo_mod_SOURCES): New variable.
32450 (echo_mod_CFLAGS): Likewise.
32451 (echo_mod_LDFLAGS): Likewise.
32452
2cff3677 324532006-09-22 Marco Gerards <marco@gnu.org>
32454
32455 * normal/main.c (get_line): Malloc memory instead of using
32456 preallocated memory. Removed the arguments `cmdline' and
32457 `max_len'. Updated all callers.
32458
6ba4688b 324592006-09-22 Marco Gerards <marco@gnu.org>
32460
32461 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32462 (normal_mod_DEPENDENCIES): Likewise.
32463
32464 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32465 (normal_mod_DEPENDENCIES): Likewise.
32466
32467 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32468
e02ac02c 324692006-09-22 Johan Rydberg <jrydberg@gnu.org>
32470
32471 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32472 programs.
32473 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32474 (normal_mod_DEPENDENCIES): Likewise.
32475 * conf/i386-pc.mk: Regenerate.
32476 * conf/i386-efi.mk: Likewise
32477 * conf/common.mk: Likewise.
32478 * conf/powerpc-ieee1275.mk: Likewise.
32479 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32480
8d252e44 324812006-09-22 Robert Millan <rmh@aybabtu.com>
32482
32483 Sync with i386 version.
32484 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32485 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32486
209bf7ac 324872006-09-21 Robert Millan <rmh@aybabtu.com>
32488
32489 Import from GRUB Legacy (lib/device.c):
32490 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32491 (init_device_map) [__linux__]: Add support for I2O devices.
32492
6b146090 324932006-09-14 Marco Gerards <marco@gnu.org>
32494
32495 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32496 `-melf_i386'.
32497
e38600a8 324982006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32499
32500 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32501 /boot/grub/*.lst.
78fa1790 32502
2952da5d 32503 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32504
2952da5d 32505 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32506 before adding it to device.map.
32507
01b82a64 325082006-08-15 Johan Rydberg <jrydberg@gnu.org>
32509
fe6b695a 32510 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32511 compiles a file; using the -MD option.
32512 * conf/common.mk: Regenerate.
32513 * conf/i386-pc.mk: Likewise.
32514 * conf/i386-efi.mk: Likewise.
32515 * conf/powerpc-ieee1275.mk: Likewise.
32516 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32517
1064790d 325182006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32519
32520 Move the prototypes of grub_setjmp and grub_longjmp to
32521 cpu/setjmp.h, so that each architecture may specify different
32522 attributes.
f19dbdb7 32523
1064790d 32524 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32525 (grub_longjmp): Likewise.
32526 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32527 (grub_longjmp): Likewise.
32528 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32529 (grub_longjmp): Likewise.
32530
32531 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32532 [!GRUB_UTIL] (grub_longjmp): Removed.
32533
29dda3ed 325342006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32535
32536 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32537 "color!" method does not return any value.
32538
ad2a06ed 325392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32540
32541 * include/grub/bitmap.h: New file.
32542
32543 * include/grub/i386/pc/vbeutil.h: Likewise.
32544
32545 * video/bitmap.c: Likewise.
32546
32547 * video/readers/tga.c: Likewise.
32548
32549 * video/i386/pc/vbeutil.c: Likewise.
32550
32551 * commands/videotest.c: Code cleanup and updated to reflect to new
32552 video API.
32553
32554 * term/gfxterm.c: Likewise.
32555
32556 * video/video.c: Likewise.
32557
32558 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32559 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32560 (bitmap_mod_SOURCES): New entry.
32561 (bitmap_mod_CFLAGS): Likewise.
32562 (bitmap_mod_LDFLAGS): Likewise.
32563 (tga_mod_SOURCES): Likewise.
32564 (tga_mod_CFLAGS): Likewise.
32565 (tga_mod_LDFLAGS): Likewise.
32566
32567 * include/grub/video.h (grub_video_blit_operators): New enum type.
32568 (grub_video_render_target): Changed as forward declaration and moved
32569 actual definition to be video driver specific.
32570 (grub_video_adapter.blit_bitmap): Added blitting operator.
32571 (grub_video_adapter.blit_render_target): Likewise.
32572 (grub_video_blit_bitmap): Likewise.
32573 (grub_video_blit_render_target): Likewise.
32574
32575 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32576 driver specific render target definition.
32577 (grub_video_vbe_map_rgba): Added driver internal helper.
32578 (grub_video_vbe_unmap_color): Updated to use
32579 grub_video_i386_vbeblit_info.
32580 (grub_video_vbe_get_video_ptr): Likewise.
32581
32582 * include/grub/i386/pc/vbeblit.h
32583 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32584 grub_video_i386_vbeblit_info.
32585 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32586 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32587 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32588 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32589 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32590 (grub_video_i386_vbeblit_index_index): Likewise.
32591 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32592 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32593 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32594 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32595 operator.
32596 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32597 operator.
32598
32599 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32600 include/grub/i386/pc/vbeblit.h.
32601
32602 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32603 Updated to use grub_video_i386_vbeblit_info.
32604 (grub_video_i386_vbefill_R8G8B8): Likewise.
32605 (grub_video_i386_vbefill_index): Likewise.
32606 (grub_video_i386_vbefill): Added generic filler.
32607
32608 * video/i386/pc/vbefill.c: Updated to reflect changes on
32609 include/grub/i386/pc/vbefill.h.
32610
32611 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32612 grub_video_i386_vbeblit_info.
32613 (grub_video_vbe_unmap_color): Likewise.
32614 (grub_video_vbe_blit_glyph): Likewise.
32615 (grub_video_vbe_scroll): Likewise.
32616 (grub_video_vbe_draw_pixel): Removed function.
32617 (grub_video_vbe_get_pixel): Likewise.
32618 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32619 updated code to use it.
32620 (common_blitter): Added common blitter for render target and bitmap.
32621 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32622 (grub_video_vbe_blit_render_target): Likewise.
32623
bc8c036d 326242006-07-30 Johan Rydberg <jrydberg@gnu.org>
32625
32626 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32627 is in text mode if there is no console control protocol instance
32628 available.
32629
684a8eff 326302006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32631
32632 * include/grub/video.h: Code cleanup.
32633
32634 * include/grub/i386/pc/vbe.h: Likewise.
32635
32636 * video/i386/pc/vbe.c: Likewise.
32637
32638 * video/i386/pc/vbeblit.c: Likewise.
32639
32640 * video/i386/pc/vbefill.c: Likewise.
32641
32642 * video/video.c: Likewise. Also added more comments.
32643
5915059b 326442006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32645
32646 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32647 (struct grub_biosdisk_dap): Likewise.
32648
32649 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32650 linkage settings for all functions.
32651
90ce5d56 326522006-07-12 Marco Gerards <marco@gnu.org>
32653
32654 * configure.ac (--enable-mm-debug): Fix typo.
32655
32656 * genkernsyms.sh.in: Use proper quoting for `CC'.
32657
43e7f879 326582006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32659
32660 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32661 (normal_mod_ASFLAGS): Remove "-m32".
32662
4889bdec 326632006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32664
32665 * util/misc.c: Include config.h.
32666 [!HAVE_MEMALIGN]: Do not include malloc.h.
32667 (grub_memalign): Use posix_memalign, if present. Then, use
32668 memalign, if present. Otherwise, emit an error.
32669
32670 * util/grub-emu.c: Do not include malloc.h.
32671
32672 * include/grub/util/misc.h: Include unistd.h. This is required for
32673 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32674 D. Eades III <hde@foobar-qux.org>.
32675
32676 * configure.ac (AC_GNU_SOURCE): Added.
32677 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32678 type.
32679
fd39d4da 326802006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32681
32682 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32683 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32684
b786f3b5 326852006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32686
32687 * include/grub/types.h (grub_host_addr_t): Rename to
32688 grub_target_addr_t.
32689 (grub_host_off_t): Rename to grub_target_off_t.
32690 (grub_host_size_t): Rename to grub_target_size_t.
32691 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32692 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32693
32694 * include/grub/kernel.h (struct grub_module_header): Change type
32695 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32696 (grub_module_info): Likewise.
f19dbdb7 32697
051988bb 326982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32699
32700 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32701 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32702 Velazquez <jesus.velazquez@gmail.com>.
32703
deae281b 327042006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32705
32706 Count partitions from 1 instead of 0 in the string representation
32707 of partitions. Still use 0-based internally.
f19dbdb7 32708
deae281b 32709 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32710 (sun_partition_map_iterate): Use grub_partition_t instead of
32711 struct grub_partition *. Cast DESC->START_CYLINDER to
32712 grub_uint64_t after converting the endian.
32713 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32714 (sun_partition_map_get_name): Add 1 to P->INDEX.
32715
32716 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32717 PCDATA->DOS_PART.
32718 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32719
32720 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32721 zero instead of one.
32722 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32723 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32724
32725 * partmap/apple.c (apple_partition_map_iterate): Change the type
32726 of POS to unsigned.
32727 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32728 (apple_partition_map_get_name): Add 1 into P->INDEX.
32729
32730 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32731 of POS to unsigned.
32732 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32733 calculate the offset of a partition.
32734 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32735 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32736
32737 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32738 SECTOR to grub_disk_addr_t.
32739 (acorn_partition_map_iterate): Likewise.
32740 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32741 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32742 top.
32743 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32744
32745 * kern/i386/pc/init.c (make_install_device): Add 1 into
32746 GRUB_INSTALL_DOS_PART.
32747
32748 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32749 conditional.
32750
524a1e6a 327512006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32752
32753 Clean up the code to support 64-bit addressing in disks and
32754 files. This change is not enough for filesystems yet.
f19dbdb7 32755
524a1e6a 32756 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32757 type of "start" to grub_uint64_t.
32758 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32759 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32760 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32761 convert addresses.
32762
32763 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32764 to grub_disk_addr_t.
32765
32766 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32767 string.
32768
32769 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32770
32771 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32772 to char *.
32773
32774 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32775
32776 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32777
32778 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32779
32780 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32781 to grub_off_t, to detect an error from grub_file_seek.
32782 (grub_multiboot_load_elf32): Likewise.
32783
32784 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32785 maximum unsigned long value when an overflow is detected.
32786 (grub_strtoull): New function.
32787 (grub_divmod64): Likewise.
32788 (grub_lltoa): use grub_divmod64.
32789
32790 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32791 grub_disk_addr_t.
32792 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32793 the pointer to next character. Use grub_strtoull instead of
32794 grub_strtoul.
32795 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32796 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32797 respectively.
32798
fe6b695a 32799 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 32800 return value is signed.
32801 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32802 test if OFFSET is less than zero, as OFFSET is unsigned now.
32803
32804 * kern/disk.c (struct grub_disk_cache): Change the type of
32805 "sector" to grub_disk_addr_t.
32806 (grub_disk_cache_get_index): Change the type of SECTOR to
32807 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32808 unsigned after shifting.
32809 (grub_disk_cache_invalidate): Change the type of SECTOR to
32810 grub_disk_addr_t.
32811 (grub_disk_cache_unlock): Likewise.
32812 (grub_disk_cache_store): Likewise.
32813 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32814 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32815 grub_disk_addr_t and grub_uint64_t, respectively.
32816 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32817 body, as the value of OFFSET is tweaked by
32818 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32819 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32820 respectively.
32821 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
32822 body, as the value of OFFSET is tweaked by
32823 grub_disk_check_range. Change the types of LEN and N to
32824 grub_size_t.
32825
32826 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32827 and "saved_offset" to grub_off_t.
32828 (test_header): Cast BUF to char *.
32829 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32830 to char *.
32831 (grub_gzio_read): Change the types of OFFSET and SIZE to
32832 grub_off_t and grub_size_t, respectively.
32833
32834 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32835 Removed.
32836 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32837 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32838 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32839 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32840 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32841
32842 * include/grub/types.h (grub_off_t): Unconditionally set to
32843 grub_uint64_t.
32844 (grub_disk_addr_t): Changed to grub_uint64_t.
32845
32846 * include/grub/partition.h (struct grub_partition): Change the
32847 types of "start", "len" and "offset" to grub_disk_addr_t,
32848 grub_uint64_t and grub_disk_addr_t, respectively.
32849 (grub_partition_get_start): Return grub_disk_addr_t.
32850 (grub_partition_get_len): Return grub_uint64_t.
32851
32852 * include/grub/misc.h (grub_strtoull): New prototype.
32853 (grub_divmod64): Likewise.
32854
32855 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
32856 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
32857 grub_off_t, respectively.
32858 All callers and references changed.
32859
32860 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
32861 grub_size_t in "read".
32862 All callers and references changed.
32863
32864 * include/grub/file.h (struct grub_file): Change the types of
32865 "offset" and "size" to grub_off_t and grub_off_t,
32866 respectively. Change the type of SECTOR to grub_disk_addr_t in
32867 "read_hook".
32868 (grub_file_read): Change the type of LEN to grub_size_t.
32869 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
32870 grub_off_t.
32871 (grub_file_size): Return grub_off_t.
32872 (grub_file_tell): Likewise.
32873 All callers and references changed.
32874
32875 * include/grub/disk.h (struct grub_disk_dev): Change the types of
32876 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
32877 "write".
32878 (struct grub_disk): Change the type of "total_sectors" to
32879 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 32880 "read_hook".
524a1e6a 32881 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
32882 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
32883 (grub_disk_write): Likewise.
32884 All callers and references changed.
32885
32886 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
32887 char * for grub_strncmp to silence gcc.
32888 (grub_iso9660_mount): Likewise.
32889 (grub_iso9660_mount): Likewise.
32890 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
32891 return statement.
32892 (grub_iso9660_iterate_dir): Likewise.
32893 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
32894
32895 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
32896 LEN to grub_disk_addr_t and grub_size_t, respectively.
32897
32898 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32899
32900 * fs/jfs.c (grub_jfs_read_file): Likewise.
32901
32902 * fs/minix.c (grub_jfs_read_file): Likewise.
32903
32904 * fs/sfs.c (grub_jfs_read_file): Likewise.
32905
32906 * fs/ufs.c (grub_jfs_read_file): Likewise.
32907
32908 * fs/xfs.c (grub_jfs_read_file): Likewise.
32909
32910 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
32911 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
32912 respectively.
32913
32914 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
32915 BLKNR to -1 instead of returning GRUB_ERRNO.
32916 (grub_ext2_read_file): Change the types of SECTOR and
32917 LEN to grub_disk_addr_t and grub_size_t, respectively.
32918
32919 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
32920 LEN to grub_disk_addr_t and grub_size_t, respectively.
32921
32922 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
32923 grub_file_read.
32924
32925 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
32926 string. Do not cast SECTOR explicitly.
32927
32928 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
32929 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
32930 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
32931 grub_disk_addr_t and grub_size_t, respectively. If the sector is
32932 over 2TB and LBA mode is not supported, raise an error.
32933 (get_safe_sectors): New function.
32934 (grub_biosdisk_read): Use get_safe_sectors.
32935 (grub_biosdisk_write): Likewise.
32936
32937 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
32938 (grub_efidisk_write): Likewise.
32939
32940 * disk/loopback.c (delete_loopback): Cosmetic changes.
32941 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
32942 correctly.
32943 (grub_loopback_open): Likewise.
32944 (grub_loopback_read): Likewise. Also, change the type of POS to
32945 grub_off_t, and fix the usage of grub_memset.
32946
32947 * commands/i386/pc/play.c: Include grub/machine/time.h.
32948
32949 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
32950 print FILE->SIZE.
32951
32952 * commands/configfile.c: Include grub/env.h.
32953
32954 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
32955 GRUB_ERRNO directly instead. Change the type of POS to
32956 grub_off_t. Follow the coding standard.
32957
32958 * commands/blocklist.c: Include grub/partition.h.
32959 (grub_cmd_blocklist): Return an error if the underlying device is
32960 not a disk. Take the starting sector of a partition into account,
32961 if a partition is used.
32962
32963 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
32964 a length field.
32965 (lba_mode): Support 64-bit addresses.
32966 (chs_mode): Likewise.
32967 (copy_buffer): Adapted to the new offsets of a length field and a
32968 segment field.
32969 (blocklist_default_start): Allocate 64-bit space.
32970
32971 * boot/i386/pc/boot.S (force_lba): Removed.
32972 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 32973 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 32974 space.
32975 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
32976 is useless.
32977 (lba_mode): Refactored to support a 64-bit address. More size
32978 optimization.
32979 (setup_sectors): Likewise.
32980
53af98ad 329812006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32982
32983 * DISTLIST: Added include/grub/i386/linux.h. Removed
32984 include/grub/i386/pc/linux.h
32985
32986 * configure.ac (AC_INIT): Bumped to 1.94.
32987
32988 * config.guess: Updated from gnulib.
32989 * config.sub: Likewise.
32990 * install-sh: Likewise.
32991 * mkinstalldirs: Likewise.
32992
b4c1940a 329932006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
32994
32995 * conf/common.rmk (grub_modules_init.lst): Depended on
32996 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
32997 MODSRCFILES.
32998
32999 * genmk.rb (PModule::rule): Reverted the previous change.
33000
cfca1cfd 330012006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33002
33003 * conf/common.rmk (grub_modules_init.lst): Depends on
33004 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
33005 that the target does not exist before producing.
33006 (grub_modules_init.h): Remove the target before generating.
33007 (grub_emu_init.c): Likewise.
33008
33009 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
33010
aa6d7826 330112006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
33012
33013 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
33014 for the target-specific tests. Make sure that we also have the
33015 up-to-date target variables for those tests.
33016
26c607b9 330172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33018
33019 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
33020 (PModule::rule): Likewise.
33021
0162321a 330222006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33023
33024 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
33025 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
33026 target-specific flags should be prefixed.
33027 (PModule::rule): Likewise.
33028
6c826348 330292006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
33030
33031 * configure.ac (CMP): Check if cmp is available explicitly.
33032
b977bf01 330332006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
33034
33035 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
33036 (target_cpu): New variable.
33037 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 33038
b977bf01 33039 * util/i386/pc/grub-install.in (host_cpu): Removed.
33040 (target_cpu): New variable.
33041 (pkglibdir): Use target_cpu instead of host_cpu.
33042
33043 * util/genmoddep.c: Removed.
f19dbdb7 33044
b977bf01 33045 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
33046 instead of GRUB_HOST_SIZEOF_VOID_P.
33047 * kern/dl.c: Likewise.
33048
33049 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
33050 ...
33051 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33052 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33053 (GRUB_TARGET_SIZEOF_LONG): ... this.
33054 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33055 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33056 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33057 to ...
33058 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33059 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33060 (GRUB_TARGET_SIZEOF_LONG): ... this.
33061 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33062 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33063 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33064 to ...
33065 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33066 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33067 (GRUB_TARGET_SIZEOF_LONG): ... this.
33068 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33069 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33070
33071 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
33072 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
33073 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
33074 instead of GRUB_HOST_SIZEOF_LONG.
33075 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
33076 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
33077 GRUB_CPU_WORDS_BIGENDIAN.
33078 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
33079 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
33080 grub_host_ssize_t.
33081
33082 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
33083 (genmoddep_SOURCES): Likewise.
33084 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
33085 (genmoddep_SOURCES): Likewise.
33086 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
33087 (genmoddep_SOURCES): Likewise.
33088 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
33089 Likewise.
33090 (genmoddep_SOURCES): Likewise.
33091
33092 * genmoddep.awk: New file.
33093
33094 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
33095 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
33096 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
33097 (PModule::rule): Likewise.
33098 (Program::rule): Likewise.
33099 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
33100 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
33101 respectively.
33102
33103 * configure.ac: Rewritten intensively to use host and target
33104 instead of build and host, respectively.
33105
33106 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
33107 (host_cpu): Removed.
33108 (target_cpu): New variable.
33109 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
33110 (BUILD_CC): Removed.
33111 (BUILD_CFLAGS): Likewise.
33112 (BUILD_CPPFLAGS): Likewise.
33113 (TARGET_CC): New variable.
33114 (TARGET_CFLAGS): Likewise.
33115 (TARGET_CPPFLAGS): Likewise.
33116 (TARGET_LDFLAGS): Likewise.
33117 (AWK): Likewise.
33118 (include): Use target_cpu instead of host_cpu.
33119 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 33120
b977bf01 33121 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
33122
f09771a1 331232006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
33124
33125 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
33126 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
33127 field 'false' to 'exec_on_false'.
33128 (grub_script_create_cmdif): Renamed argument names to reflect above
33129 changes.
33130
33131 * normal/execute.c (grub_script_execute_cmdif): Likewise.
33132
33133 * normal/script.c (grub_script_create_cmdif): Likewise.
33134
118f4fb3 331352006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
33136
33137 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
33138 top.
33139 (grub_hfsplus_btree_recptr): Likewise.
33140 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33141 FILEBLOCK both to pass a block number and store next block
33142 number.
33143 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33144 overflow file correctly. Specify errors appropriately, because
33145 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33146 grub_hfsplus_btree_recptr to get the pointer to a found key.
33147 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33148 is found.
33149
33150 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33151 linux.mod.
33152 (_linux_mod_SOURCES): New variable.
33153 (_linux_mod_CFLAGS): Likewise.
33154 (_linux_mod_LDFLAGS): Likewise.
33155 (linux_mod_SOURCES): Likewise.
33156 (linux_mod_CFLAGS): Likewise.
33157 (linux_mod_LDFLAGS): Likewise.
33158
33159 * DISTLIST: Added loader/i386/efi/linux.c,
33160 loader/i386/efi/linux_normal.c and
33161 include/grub/i386/efi/loader.h.
33162
33163 * loader/i386/efi/linux.c: New file.
33164 * loader/i386/efi/linux_normal.c: Likewise.
33165 * include/grub/i386/efi/loader.h: Likewise.
33166
89a7d726 331672006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33168
33169 * commands/blocklist.c: New file.
33170
33171 * DISTLIST: Added commands/blocklist.c.
33172
33173 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33174 color for the background, and a darker color for the foreground.
89a7d726 33175 (grub_console_checkkey): Return READ_KEY.
33176 (grub_console_cls): Set the background to
33177 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33178
33179 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33180
33181 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33182 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33183
33184 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33185 prototype.
33186
33187 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33188 BG. The spec is wrong again.
33189
33190 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33191 prototype.
33192 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33193
33194 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33195 commands/blocklist.c.
33196 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33197
89a7d726 33198 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33199 (blocklist_mod_SOURCES): New variable.
33200 (blocklist_mod_CFLAGS): Likewise.
33201 (blocklist_mod_LDFLAGS): Likewise.
33202
75c8f258 332032006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33204
33205 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33206 duplication.
33207 (lba_mode): Use %eax more intensively to reduce the code size.
33208
da2eb181 332092006-05-20 Marco Gerards <marco@gnu.org>
33210
33211 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33212
33213 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33214 for `menuentry'.
33215 (script): Accept leading newlines.
33216 (newlines): New rule to describe 0 or more newlines.
33217 (commands): Accept `command' with trailing newline. Fixed the
33218 order in which arguments were passed to `grub_script_add_cmd'.
33219 Accept commands separated by newlines.
33220 (function): Changed to accept newlines.
33221 (menuentry) Rewritten.
33222
33223 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33224 front of the list, instead of to the end.
33225
577b4050 332262006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33227
33228 * util/i386/pc/grub-install.in (bindir): New variable.
33229 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33230 Shaver <lbgwjl@gmail.com>.
33231
0d6e1189 332322006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33233
33234 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33235 grub/machine/linux.h
33236 * loader/i386/pc/linux.c: Likewise.
33237
33238 * include/grub/i386/pc/linux.h: Moved to ...
33239 * include/grub/i386/linux.h: ... here.
33240
33241 * include/grub/i386/linux.h (struct linux_kernel_params): New
33242 struct.
f19dbdb7 33243
31b86e9f 332442006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33245
33246 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33247 checking.
33248 (grub_video_vbe_blit_glyph): Likewise.
33249 (grub_video_vbe_blit_bitmap): Likewise.
33250 (grub_video_vbe_blit_render_target): Likewise.
33251
83b984de 332522006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33253
33254 * configure.ac (--with-platform): Properly quote the square
33255 brackets.
33256
5f0413bd 332572006-05-08 Marco Gerards <marco@gnu.org>
33258
33259 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33260 this...
33261 (kernel_elf_HEADERS): ...to this. Updated all users.
33262 (grubof_symlist.c): Renamed from this...
33263 (kernel_elf_symlist.c): ...to this. Updated all users.
33264 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33265 (grubof_SOURCES): Renamed from this...
33266 (kernel_elf_SOURCES): ...to this.
33267 (grubof_HEADERS): Renamed from this...
33268 (kernel_elf_HEADERS): ...to this.
33269 (grubof_CFLAGS): Renamed from this...
33270 (kernel_elf_CFLAGS): ...to this.
33271 (grubof_ASFLAGS): Renamed from this...
33272 (kernel_elf_ASFLAGS): ...to this.
33273 (grubof_LDFLAGS): Renamed from this...
33274 (kernel_elf_LDFLAGS): ...to this.
33275
33276 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33277 this...
33278 (kernel_elf_HEADERS): ...to this. Updated all users.
33279 (grubof_symlist.c): Renamed from this...
33280 (kernel_elf_symlist.c): ...to this. Updated all users.
33281 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33282 (grubof_SOURCES): Renamed from this...
33283 (kernel_elf_SOURCES): ...to this.
33284 (grubof_HEADERS): Renamed from this...
33285 (kernel_elf_HEADERS): ...to this.
33286 (grubof_CFLAGS): Renamed from this...
33287 (kernel_elf_CFLAGS): ...to this.
33288 (grubof_ASFLAGS): Renamed from this...
33289 (kernel_elf_ASFLAGS): ...to this.
33290 (grubof_LDFLAGS): Renamed from this...
33291 (kernel_elf_LDFLAGS): ...to this.
33292
33293 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33294 `kernel.elf' instead of `grubof'.
33295
05568c2e 332962006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33297
33298 Add --with-platform to configure. Use pkglibdir instead of
33299 pkgdatadir. This is reported by Roger Leigh.
33300
33301 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33302 (host_vendor): Likewise.
33303 (host_os): Likewise.
33304 (pkgdatadir): Likewise.
33305 (platform): New variable.
33306 (pkglibdir): Likewise.
33307 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33308
05568c2e 33309 * util/i386/pc/grub-install.in (datadir): Removed.
33310 (host_vendor): Likewise.
33311 (host_os): Likewise.
33312 (pkgdatadir): Likewise.
33313 (platform): New variable.
33314 (pkglibdir): Likewise.
33315 Use PKGLIBDIR instead of PKGDATADIR.
33316
33317 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33318 instead of GRUB_DATADIR.
33319 (main): Likewise.
33320 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33321 (main): Likewise.
33322 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33323 (main): Likewise.
33324
33325 * configure.ac (--with-platform): New option.
33326 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33327
33328 * Makefile.in: Include a makefile based on PLATFORM instead of
33329 HOST_VENDOR.
33330 (pkgdatadir): Not appended by the machine type.
33331 (pkglibdir): Appended by the machine type.
33332 (host_vendor): Removed.
33333 (platform): New variable.
33334 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33335 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33336 (uninstall): Likewise.
33337
4e93851c 333382006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33339
33340 Use the environment context in the menu. Remove the commands
33341 "default" and "timeout", and use variables instead.
f19dbdb7 33342
4e93851c 33343 * normal/menu.c: Include grub/env.h.
33344 (print_entry): Cast TITLE to silence gcc.
33345 (get_timeout): New function.
33346 (set_timeout): Likewise.
33347 (get_entry_number): Likewise.
33348 (run_menu): Use a default entry, a fallback entry and a timeout
33349 in the environment variables "default", "fallback" and
33350 "timeout". Also, tweak the default entry if it is not within the
33351 current menu entries.
33352 (grub_menu_run): Use a fallback entry in the environment variable
33353 "fallback".
33354
33355 * normal/main.c (read_config_file): Do not initialize
33356 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33357 NEWMENU->TIMEOUT.
33358 (grub_normal_execute): Use a data slot to store the menu.
33359
33360 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33361 fallback_entry and timeout.
33362 (struct grub_menu_list): Removed.
33363 (grub_menu_list_t): Likewise.
33364 (struct grub_context): Likewise.
33365 (grub_context_t): Likewise.
33366 (grub_context_get): Likewise.
33367 (grub_context_get_current_menu): Likewise.
33368 (grub_context_push_menu): Likewise.
33369 (grub_context_pop_menu): Likewise.
33370 (grub_default_init): Likewise.
33371 (grub_default_fini): Likewise.
33372 (grub_timeout_init): Likewise.
33373 (grub_timeout_fini): Likewise.
33374
33375 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33376 and timeout.mod.
33377 (normal_mod_SOURCES): Removed normal/context.c.
33378
33379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33380 commands/default.c, commands/timeout.c and normal/context.c.
33381 (normal_mod_SOURCES): Removed normal/context.c.
33382
33383 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33384 commands/timeout.c and normal/context.c.
33385 (normal_mod_SOURCES): Removed normal/context.c.
33386
33387 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33388 commands/default.c, commands/timeout.c and normal/context.c.
33389 (normal_mod_SOURCES): Removed normal/context.c.
33390
33391 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33392 timeout.mod.
33393 (default_mod_SOURCES): Removed.
33394 (default_mod_CFLAGS): Likewise.
33395 (default_mod_LDFLAGS): Likewise.
33396 (timeout_mod_SOURCES): Removed.
33397 (timeout_mod_CFLAGS): Likewise.
33398 (timeout_mod_LDFLAGS): Likewise.
33399
33400 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33401 normal/context.c.
33402
33403 * commands/default.c: Removed.
33404 * commands/timeout.c: Likewise.
33405 * normal/context.c: Likewise.
33406
1eb9cc1d 334072006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33408
33409 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33410
385bd9c1 334112006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33412
33413 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33414 "next" to "prev" for readability.
33415 (struct grub_env_sorted_var): New struct.
33416 (grub_env_context): Renamed to ...
33417 (initial_context): ... this.
33418 (grub_env_var_context): Renamed to ...
33419 (current_context): ... this.
33420 (grub_env_find): Look only at CURRENT_CONTEXT.
33421 (grub_env_context_open): Rewritten to copy exported variables from
33422 previous context.
33423 (grub_env_context_close): Rewritten according to the new
33424 scheme. Also, add an assertion to prevent the initial context from
33425 removed.
33426 (grub_env_insert): Removed the code for the sorted list.
33427 (grub_env_remove): Likewise.
33428 (grub_env_export): Simply mark the variable with
33429 GRUB_ENV_VAR_GLOBAL.
33430 (grub_env_set): A cosmetic change for naming consistency.
33431 (grub_env_get): Likewise.
33432 (grub_env_unset): Likewise.
33433 (grub_env_iterate): Rewritten to sort variables within this
33434 function.
33435 (grub_register_variable_hook): Fixed for naming consistency. Call
33436 grub_env_find again, only if NAME is not found at the first time.
33437 (mangle_data_slot_name): New function.
33438 (grub_env_set_data_slot): Likewise.
33439 (grub_env_get_data_slot): Likewise.
33440 (grub_env_unset_data_slot): Likewise.
33441
33442 * include/grub/env.h (grub_env_var_type): New enum.
33443 (GRUB_ENV_VAR_LOCAL): New constant.
33444 (GRUB_ENV_VAR_GLOBAL): Likewise.
33445 (GRUB_ENV_VAR_DATA): Likewise.
33446 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33447 "type".
33448 (grub_env_set): Replace VAR with NAME for consistency.
33449 (grub_register_variable_hook): Likewise.
33450 (grub_env_export): Specify the name of the argument.
33451 (grub_env_set_data_slot): New prototype.
33452 (grub_env_get_data_slot): Likewise.
33453 (grub_env_unset_data_slot): Likewise.
33454
7f362539 334552006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33456
33457 Extend the loader so that GRUB can accept a loader which comes
33458 back to GRUB when a loaded image exits. Also, this change adds
33459 support for a chainloader on EFI.
f19dbdb7 33460
7f362539 33461 * term/efi/console.c: Include grub/misc.h.
33462 (grub_console_checkkey): Display a scan code on the top for
33463 debugging. This will be removed once the EFI port gets stable.
33464 Correct the scan code mapping.
33465
33466 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33467 allocate memory from larger regions, in order to reduce the number
33468 of allocated regions. Otherwise, the MacOSX loader panics.
33469 (filter_memory_map): Avoid less than 1MB for compatibility with
33470 other loaders.
33471 (add_memory_regions): Allocate from the tail of a region, if
33472 possible, to avoid allocating a region near to 1MB, for the MacOSX
33473 loader.
33474
33475 * kern/efi/init.c (grub_efi_set_prefix): Specify
33476 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33477
33478 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33479 argument IMAGE_HANDLE and specify it to get a loaded image.
33480 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33481 grub_efi_get_loaded_image.
fe6b695a 33482 (grub_efi_get_filename): Divide the length by the size of
7f362539 33483 grub_efi_char16_t.
33484 (grub_efi_get_device_path): New function.
33485 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33486 the length by the size of grub_efi_char16_t for a file path device
33487 path node.
33488
33489 * kern/loader.c (grub_loader_noreturn): New variable.
33490 (grub_loader_set): Accept a new argument NORETURN. Set
33491 GRUB_LOADER_NORETURN to NORETURN.
33492 All callers changed.
33493 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33494 grub_machine_fini.
33495
33496 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33497 prototype.
33498 (grub_efi_get_loaded_image): Take an argument to specify an image
33499 handle.
33500
33501 * include/grub/loader.h (grub_loader_set): Added one more argument
33502 NORETURN.
33503
33504 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33505 instead of grub_efi_open_protocol.
33506 (grub_efidisk_get_device_name): Likewise.
33507 (grub_efidisk_close): Print a newline.
33508 (grub_efidisk_get_device_handle): Fixed to use
33509 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33510 GRUB_EFI_DEVICE_PATH_TYPE.
33511
33512 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33513 * kern/efi/efi.c (device_path_guid): ... here.
33514
33515 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33516 chain.mod.
33517 (kernel_mod_HEADERS): Added efi/disk.h.
33518 (_chain_mod_SOURCES): New variable.
33519 (_chain_mod_CFLAGS): Likewise.
33520 (_chain_mod_LDFLAGS): Likewise.
33521 (chain_mod_SOURCES): Likewise.
33522 (chain_mod_CFLAGS): Likewise.
33523 (chain_mod_LDFLAGS): Likewise.
33524
33525 * DISTLIST: Added include/grub/efi/chainloader.h,
33526 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33527
33528 * include/grub/efi/chainloader.h: New file.
33529 * loader/efi/chainloader.c: Likewise.
33530 * loader/efi/chainloader_normal.c: Likewise.
33531
c0111d6e 335322006-04-30 Marco Gerards <marco@gnu.org>
33533
33534 * commands/configfile.c (grub_cmd_source): New function.
33535 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33536 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33537
df5341da 335382006-04-30 Marco Gerards <marco@gnu.org>
33539
33540 * normal/execute.c (grub_script_execute_cmd): Change the return
33541 type to `grub_err_t'. Correctly return the error.
33542 (grub_script_execute_cmdline): In case a command line is not a
33543 command or a function, try to interpret it as an assignment.
33544
f85934bd 335452006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33546
33547 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33548 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33549 skip a node whose name is obviously invalid as UTF-16,
33550 i.e. contains a NUL character. Stop the iteration when the last
33551 directory entry is found. Instead of using the return value of
33552 grub_hfsplus_btree_iterate_node, store the value in RET and use
33553 it, because the iterator can be stopped by the last directory
33554 entry.
33555
8f8a2cf8 335562006-04-30 Marco Gerards <marco@gnu.org>
33557
33558 * include/grub/env.h (grub_env_export): New prototype. Reported
33559 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33560
a27e84ce 335612006-04-30 Marco Gerards <marco@gnu.org>
33562
33563 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33564 size of the extents in a catalog file record.
33565
eaef0553 335662006-04-29 Marco Gerards <marco@gnu.org>
33567
33568 * commands/configfile.c (grub_cmd_configfile): Execute the
33569 configfile within its own context.
33570
33571 * include/grub/env.h (grub_env_context_open): New prototype.
33572 (grub_env_context_close): Likewise.
33573
33574 * kern/env.c (grub_env): Removed.
33575 (grub_env_sorted): Likewise.
33576 (grub_env_context): New variable.
33577 (grub_env_var_context): Likewise.
33578 (grub_env_find): Search both the active context and the global
33579 context.
33580 (grub_env_context_open): New function.
33581 (grub_env_context_close): Likewise.
33582 (grub_env_insert): Likewise.
33583 (grub_env_remove): Likewise.
33584 (grub_env_export): Likewise.
33585 (grub_env_set): Changed to use helper functions to avoid code
33586 duplication.
33587 (grub_env_iterate): Rewritten so both the current context and the
33588 global context are being used.
33589
33590 * normal/command.c (export_command): New function.
33591 (grub_command_init): Register the `export' function.
33592
7b455f4d 335932006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33594
33595 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33596 explicitly to suppress gcc's warnings.
33597 * fs/fat.c (grub_fat_find_dir): Likewise.
33598 (grub_fat_label): Likewise.
33599 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33600 (grub_xfs_mount): Likewise.
33601 (grub_xfs_label): Likewise.
33602 * fs/affs.c (grub_affs_mount): Likewise.
33603 (grub_affs_label): Likewise.
33604 (grub_affs_iterate_dir): Likewise.
33605 * fs/sfs.c (grub_sfs_mount): Likewise.
33606 (grub_sfs_iterate_dir): Likewise.
33607 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33608 * fs/hfs.c (grub_hfs_mount): Likewise.
33609 (grub_hfs_cmp_catkeys): Likewise.
33610 (grub_hfs_find_dir): Likewise.
33611 (grub_hfs_dir): Likewise.
33612 (grub_hfs_label): Likewise.
33613 * fs/jfs.c (grub_jfs_mount): Likewise.
33614 (grub_jfs_opendir): Likewise.
33615 (grub_jfs_getent): Likewise.
33616 (grub_jfs_lookup_symlink): Likewise.
33617 (grub_jfs_label): Likewise.
33618 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33619 (grub_hfsplus_iterate_dir): Likewise.
33620 (grub_hfsplus_btree_iterate_node): Made static.
33621
33622 * util/grub-emu.c (prefix): New variable.
33623 (grub_machine_set_prefix): New function.
33624 (main): Do not set the environment variable "prefix" here. Only
33625 set PREFIX, which is used later by grub_machine_set_prefix.
33626
33627 * include/grub/video.h: Do not include grub/symbol.h.
33628 (grub_video_register): Not exported. This symbol is not defined in
33629 the kernel.
33630 (grub_video_unregister): Likewise.
33631 (grub_video_iterate): Likewise.
33632 (grub_video_setup): Likewise.
33633 (grub_video_restore): Likewise.
33634 (grub_video_get_info): Likewise.
33635 (grub_video_get_blit_format): Likewise.
33636 (grub_video_set_palette): Likewise.
33637 (grub_video_get_palette): Likewise.
33638 (grub_video_set_viewport): Likewise.
33639 (grub_video_get_viewport): Likewise.
33640 (grub_video_map_color): Likewise.
33641 (grub_video_map_rgb): Likewise.
33642 (grub_video_map_rgba): Likewise.
33643 (grub_video_fill_rect): Likewise.
33644 (grub_video_blit_glyph): Likewise.
33645 (grub_video_blit_bitmap): Likewise.
33646 (grub_video_blit_render_target): Likewise.
33647 (grub_video_scroll): Likewise.
33648 (grub_video_swap_buffers): Likewise.
33649 (grub_video_create_render_target): Likewise.
33650 (grub_video_delete_render_target): Likewise.
33651 (grub_video_set_active_render_target): Likewise.
33652
33653 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33654 Undefined.
33655 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33656
33657 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33658 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33659 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33660 instead of $(srcdir)/genkernsyms.sh.
33661
33662 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33663 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33664 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33665 instead of $(srcdir)/genkernsyms.sh.
33666
33667 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33668 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33669 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33670 instead of $(srcdir)/genkernsyms.sh.
33671
33672 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33673 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33674 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33675 instead of $(srcdir)/genkernsyms.sh.
33676
33677 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33678 genkernsyms.sh.
33679
33680 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33681 genkernsyms.sh.
33682 (gensymlist.sh): New target.
33683 (genkernsyms.sh): Likewise.
33684
33685 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33686 genkernsyms.sh.in and gensymlist.sh.in.
33687
33688 * genkernsyms.sh: Removed.
33689 * gensymlist.sh: Likewise.
f19dbdb7 33690
7b455f4d 33691 * genkernsyms.sh.in: New file.
33692 * gensymlist.sh.in: Likewise.
33693
1885bb27 336942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33695
33696 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33697 clobber "prefix", since we may have already set it manually.
33698
71538dff 336992006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33700
33701 * kern/misc.c (abort): New alias for grub_abort.
33702
2965c7cc 337032006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33704
33705 A new machine-specific function "grub_machine_set_prefix" is
33706 defined. This is called after loading modules, so that a prefix
33707 initialization can use modules. Also, this change adds an
33708 intensive debugging feature for the memory manager via the
33709 configure option "--enable-mm-debug".
f19dbdb7 33710
2965c7cc 33711 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33712 PART.LEN.
33713
33714 * kern/sparc64/ieee1275/init.c (abort): Removed.
33715 (grub_stop): Likewise.
33716 (grub_exit): New function.
33717 (grub_set_prefix): Renamed to ...
33718 (grub_machine_set_prefix): ... this.
33719 (grub_machine_init): Do not call grub_set_prefix.
33720
33721 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33722 (grub_machine_set_prefix): ... this.
33723 (grub_machine_init): Do not call grub_set_prefix.
33724
33725 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33726 (grub_machine_init): Do not set the prefix here.
33727
33728 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33729
33730 * kern/efi/init.c: Include grub/mm.h.
33731 (grub_efi_set_prefix): New function.
33732
33733 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33734 (grub_efi_get_filename): New function.
33735 (grub_print_device_path): Renamed to ...
33736 (grub_efi_print_device_path): ... this.
33737
33738 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33739 [MM_DEBUG] (grub_realloc): Likewise.
33740 [MM_DEBUG] (grub_free): Likewise.
33741 [MM_DEBUG] (grub_memalign): Likewise.
33742 [MM_DEBUG] (grub_mm_debug): New variable.
33743 [MM_DEBUG] (grub_debug_malloc): New function.
33744 [MM_DEBUG] (grub_debug_free): New function.
33745 [MM_DEBUG] (grub_debug_realloc): New function.
33746 [MM_DEBUG] (grub_debug_memalign): New function.
33747
33748 * kern/misc.c (grub_abort): Print a newline to distinguish
33749 the message.
33750
33751 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33752 grub_set_root_dev after loading modules. This is necessary when
33753 setting a prefix depends on modules.
33754
33755 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33756 (grub_efi_print_device_path): ... this.
33757 (grub_efi_get_filename): New prototype.
33758 (grub_efi_set_prefix): Likewise.
33759
33760 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33761 and grub/disk.h.
33762 (grub_efidisk_get_device_handle): New prototype.
33763 (grub_efidisk_get_device_name): Likewise.
33764
33765 * include/grub/mm.h: Include config.h.
33766 (MM_DEBUG): Removed.
33767 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33768 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33769 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33770 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33771 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33772 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33773 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33774 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33775 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33776
33777 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33778
33779 * disk/efi/efidisk.c: Include grub/partition.h.
33780 (iterate_child_devices): New function.
33781 (add_device): First, compare only last device path nodes, so that
33782 devices are sorted by the types.
33783 (grub_efidisk_get_device_handle): New function.
33784 (grub_efidisk_get_device_name): Likewise.
33785
33786 * configure.ac (--enable-mm-debug): New option to enable the
33787 memory manager debugging feature. This makes the binary much
33788 bigger, so is disabled by default.
33789
9cacaa17 337902006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33791
33792 Use grub_abort instead of grub_stop, and grub_exit must be
33793 define in each architecture now. Also, this change adds support
33794 for EFI disks.
f19dbdb7 33795
9cacaa17 33796 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33797 (grub_getkey): New function.
33798 (grub_term_get_current): Likewise.
33799
33800 * util/i386/pc/grub-setup.c: Include grub/term.h.
33801 (grub_getkey): New function.
33802 (grub_term_get_current): Likewise.
33803
33804 * util/misc.c (grub_stop): Renamed to ...
33805 (grub_exit): ... this.
33806
33807 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33808 (grub_exit): ... this.
33809 (grub_machine_init): Use grub_abort instead of abort.
33810 (grub_stop): Removed.
33811
33812 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33813 abort.
33814
33815 * kern/i386/pc/startup.S (grub_exit): New function.
33816 (cold_reboot): New label.
33817
33818 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33819 (grub_efi_init): Call grub_efidisk_init.
33820 (grub_efi_fini): Call grub_efidisk_fini.
33821
33822 * kern/efi/efi.c: Include grub/mm.h.
33823 (grub_efi_console_control_guid): Renamed to ...
33824 (console_control_guid): ... this.
33825 (grub_efi_loaded_image_guid): Renamed to ...
33826 (loaded_image_guid): ... this.
33827 (grub_efi_locate_handle): New function.
33828 (grub_efi_open_protocol): Likewise.
33829 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33830 GRUB_EFI_CONSOLE_CONTROL_GUID.
33831 (grub_efi_exit): Removed.
33832 (grub_stop): Likewise.
33833 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33834 (grub_exit): New function.
33835 (grub_print_device_path): Likewise.
33836
33837 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33838 (grub_enter_rescue_mode): Register "exit".
33839
33840 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33841 (grub_abort): New function.
33842
33843 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33844
33845 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
33846
33847 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
33848
33849 * include/grub/efi/efi.h (grub_efi_exit): Removed.
33850 (grub_print_device_path): New prototype.
33851 (grub_efi_locate_handle): Likewise.
33852 (grub_efi_open_protocol): Likewise.
33853
33854 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
33855 * disk/efi/efidisk.c: Likewise.
33856
33857 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
33858
33859 * include/grub/efi/console_control.h
33860 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
33861
33862 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
33863 last 8 bytes as an array.
33864 (GRUB_EFI_DISK_IO_GUID): New macro.
33865 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
33866 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
33867 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
33868 grub_uint8_t.
33869 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
33870 (struct grub_efi_device_path): Rename the member "sub_type" to
33871 "subtype".
33872 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
33873 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
33874 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
33875 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
33876 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
33877 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
33878 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
33879 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
33880 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
33881 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
33882 (struct grub_efi_pci_device_path): New structure.
33883 (grub_efi_pci_device_path_t): New type.
33884 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
33885 (struct grub_efi_pccard_device_path): New structure.
33886 (grub_efi_pccard_device_path_t): New type.
33887 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
33888 (struct grub_efi_memory_mapped_device_path): New structure.
33889 (grub_efi_memory_mapped_device_path_t): New type.
33890 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
33891 (struct grub_efi_vendor_device_path): New structure.
33892 (grub_efi_vendor_device_path_t): New type.
33893 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
33894 (struct grub_efi_controller_device_path): New structure.
33895 (grub_efi_controller_device_path_t): New type.
33896 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
33897 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
33898 (struct grub_efi_acpi_device_path): New structure.
33899 (grub_efi_acpi_device_path_t): New type.
33900 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
33901 (struct grub_efi_expanded_acpi_device_path): New structure.
33902 (grub_efi_expanded_acpi_device_path_t): New type.
33903 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
33904 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
33905 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
33906 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
33907 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
33908 (struct grub_efi_atapi_device_path): New structure.
33909 (grub_efi_atapi_device_path_t): New type.
33910 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
33911 (struct grub_efi_fibre_channel_device_path): New structure.
33912 (grub_efi_fibre_channel_device_path_t): New type.
33913 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
33914 (struct grub_efi_1394_device_path): New structure.
33915 (grub_efi_1394_device_path_t): New type.
33916 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
33917 (struct grub_efi_usb_device_path): New structure.
33918 (grub_efi_usb_device_path_t): New type.
33919 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
33920 (struct grub_efi_usb_class_device_path): New structure.
33921 (grub_efi_usb_class_device_path_t): New type.
33922 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
33923 (struct grub_efi_i2o_device_path): New structure.
33924 (grub_efi_i2o_device_path_t): New type.
33925 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
33926 (struct grub_efi_mac_address_device_path): New structure.
33927 (grub_efi_mac_address_device_path_t): New type.
33928 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
33929 (struct grub_efi_ipv4_device_path): New structure.
33930 (grub_efi_ipv4_device_path_t): New type.
33931 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
33932 (struct grub_efi_ipv6_device_path): New structure.
33933 (grub_efi_ipv6_device_path_t): New type.
33934 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
33935 (struct grub_efi_infiniband_device_path): New structure.
33936 (grub_efi_infiniband_device_path_t): New type.
33937 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
33938 (struct grub_efi_uart_device_path): New structure.
33939 (grub_efi_uart_device_path_t): New type.
33940 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
33941 (struct grub_efi_vendor_messaging_device_path): New structure.
33942 (grub_efi_vendor_messaging_device_path_t): New type.
33943 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
33944 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
33945 (struct grub_efi_hard_drive_device_path): New structure.
33946 (grub_efi_hard_drive_device_path_t): New type.
33947 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
33948 (struct grub_efi_cdrom_device_path): New structure.
33949 (grub_efi_cdrom_device_path_t): New type.
33950 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
33951 (struct grub_efi_vendor_media_device_path): New structure.
33952 (grub_efi_vendor_media_device_path_t): New type.
33953 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
33954 (struct grub_efi_file_path_device_path): New structure.
33955 (grub_efi_file_path_device_path_t): New type.
33956 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
33957 (struct grub_efi_protocol_device_path): New structure.
33958 (grub_efi_protocol_device_path_t): New type.
33959 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
33960 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
33961 (struct grub_efi_bios_device_path): New structure.
33962 (grub_efi_bios_device_path_t): New type.
33963 (struct grub_efi_disk_io): New structure.
33964 (grub_efi_disk_io_t): New type.
33965 (struct grub_efi_block_io_media): New structure.
33966 (grub_efi_block_io_media_t): New type.
33967 (struct grub_efi_block_io): New structure.
33968 (grub_efi_block_io_t): New type.
33969
33970 * include/grub/misc.h (grub_stop): Removed.
33971 (grub_exit): New prototype.
33972 (grub_abort): Likewise.
33973
33974 * include/grub/disk.h (enum grub_disk_dev_id): Added
33975 GRUB_DISK_DEVICE_EFIDISK_ID.
33976
33977 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
33978 disk/efi/efidisk.c.
33979 (kernel_syms.lst): Remove the target if an error occurs.
33980
49986a9f 339812006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
33982
33983 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
33984 as it was simply too buggy.
33985
970d3b8a 339862006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
33987
33988 * kern/misc.c (grub_lltoa): New function.
33989 (grub_vsprintf): Added support for the long long suffix,
33990 i.e. "ll".
33991
ff04ec24 339922006-04-20 Hollis Blanchard <hollis@penguinppc.org>
33993
33994 * Makefile.in (LDFLAGS): Add variable.
33995 (LD): Remove variable.
33996 * configure.ac: Add -m32 to LDFLAGS.
33997 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
33998 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
33999 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
34000 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
34001 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
34002 variables.
34003 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
34004 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
34005 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
34006
37e5e1a4 340072006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
34008
34009 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
34010 length for unknown glyph.
34011
c352d8dd 340122006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
34013
2eab1c0d 34014 Add support for pre-loaded modules into the EFI port.
f19dbdb7 34015
2eab1c0d 34016 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
34017 completely. Accept one more argument DIR. The caller has changed.
34018
34019 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
34020
34021 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
34022 (grub_efi_loaded_image_guid): New variable.
34023 (grub_efi_get_loaded_image): New function.
34024 (grub_arch_modules_addr): Likewise.
34025
34026 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
34027 prototype.
34028
34029 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
34030 (struct grub_efi_loaded_image): New structure.
34031 (grub_efi_loaded_image_t): New type.
34032
340332006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34034
c352d8dd 34035 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
34036 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
34037 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
34038
6d01d6b4 340392006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
34040
34041 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
34042
976a4ea0 340432006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
34044
34045 * DISTLIST: Added include/grub/efi/console.h,
34046 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
34047 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34048
34049 * include/grub/efi/console.h: New file.
34050 * include/grub/efi/time.h: Likewise.
34051 * include/grub/i386/efi/kernel.h: Likewise.
34052 * kern/efi/init.c: Likewise.
34053 * kern/efi/mm.c: Likewise.
34054 * term/efi/console.c: Likewise.
f19dbdb7 34055
976a4ea0 34056 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
34057 (grub_stop): Removed.
34058 (grub_get_rtc): Likewise.
34059 (grub_machine_init): Simply call grub_efi_init.
34060 (grub_machine_fini): Call grub_efi_fini.
34061
34062 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
34063 (grub_efi_output_string): Removed.
34064 (grub_efi_stall): New function.
34065 (grub_stop): Likewise.
34066 (grub_get_rtc): Likewise.
34067
34068 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
34069 (grub_efi_stall): New prototype.
34070 (grub_efi_allocate_pages): Likewise.
34071 (grub_efi_free_pages): Likewise.
34072 (grub_efi_get_memory_map): Likewise.
34073 (grub_efi_mm_init): Likewise.
34074 (grub_efi_mm_fini): Likewise.
34075 (grub_efi_init): Likewise.
34076 (grub_efi_fini): Likewise.
34077
34078 * include/grub/i386/efi/time.h: Do not include
34079 grub/symbol.h. Include grub/efi/time.h.
34080 (GRUB_TICKS_PER_SECOND): Removed.
34081 (grub_get_rtc): Likewise.
34082
34083 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
34084 Added padding. The EFI spec is buggy.
34085 (GRUB_EFI_BLACK): New macro.
34086 (GRUB_EFI_BLUE): Likewise.
34087 (GRUB_EFI_GREEN): Likewise.
34088 (GRUB_EFI_CYAN): Likewise.
34089 (GRUB_EFI_RED): Likewise.
34090 (GRUB_EFI_MAGENTA): Likewise.
34091 (GRUB_EFI_BROWN): Likewise.
34092 (GRUB_EFI_LIGHTGRAY): Likewise.
34093 (GRUB_EFI_BRIGHT): Likewise.
34094 (GRUB_EFI_DARKGRAY): Likewise.
34095 (GRUB_EFI_LIGHTBLUE): Likewise.
34096 (GRUB_EFI_LIGHTGREEN): Likewise.
34097 (GRUB_EFI_LIGHTCYAN): Likewise.
34098 (GRUB_EFI_LIGHTRED): Likewise.
34099 (GRUB_EFI_LIGHTMAGENTA): Likewise.
34100 (GRUB_EFI_YELLOW): Likewise.
34101 (GRUB_EFI_WHITE): Likewise.
34102 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
34103 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
34104 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
34105 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
34106 (GRUB_EFI_BACKGROUND_RED): Likewise.
34107 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
34108 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
34109 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
34110 (GRUB_EFI_TEXT_ATTR): Likewise.
34111
34112 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
34113 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34114 (kernel_mod_HEADERS): Added efi/time.h.
34115
83709125 341162006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
34117
34118 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
34119 include/grub/efi/api.h, include/grub/efi/console_control.h,
34120 include/grub/efi/efi.h, include/grub/efi/pe32.h,
34121 include/grub/i386/efi/time.h, kern/efi/efi.c,
34122 kern/i386/efi/init.c, kern/i386/efi/startup.S,
34123 and util/i386/efi/grub-mkimage.c.
34124
34125 * Makefile.in (RMKFILES): Added i386-efi.rmk.
34126
34127 * genmk.rb (PModule#rule): Do not export symbols if
34128 #{prefix}_EXPORTS is set to "no".
34129
34130 * conf/i386-efi.mk: New file.
34131 * conf/i386-efi.rmk: Likewise.
34132 * include/grub/efi/api.h: Likewise.
34133 * include/grub/efi/console_control.h: Likewise.
34134 * include/grub/efi/efi.h: Likewise.
34135 * include/grub/efi/pe32.h: Likewise.
34136 * include/grub/i386/efi/time.h: Likewise.
34137 * kern/efi/efi.c: Likewise.
34138 * kern/i386/efi/init.c: Likewise.
34139 * kern/i386/efi/startup.S: Likewise.
34140 * util/i386/efi/grub-mkimage.c: Likewise.
34141
341422006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 34143
34144 * include/grub/script.h: Include <grub/parser.h> and
34145 "grub_script.tab.h".
34146 (struct grub_lexer_param): New struct.
34147 (struct grub_parser_param): Likewise.
34148 (grub_script_create_arglist): Pass the state in an argument.
34149 (grub_script_add_arglist): Likewise.
34150 (grub_script_create_cmdline): Likewise.
34151 (grub_script_create_cmdblock): Likewise.
34152 (grub_script_create_cmdif): Likewise.
34153 (grub_script_create_cmdmenu): Likewise.
34154 (grub_script_add_cmd): Likewise.
34155 (grub_script_arg_add): Likewise.
34156 (grub_script_lexer_ref): Likewise.
34157 (grub_script_lexer_deref): Likewise.
34158 (grub_script_lexer_record_start): Likewise.
34159 (grub_script_lexer_record_stop): Likewise.
34160 (grub_script_mem_record): Likewise.
34161 (grub_script_mem_record_stop): Likewise.
34162 (grub_script_malloc): Likewise.
34163 (grub_script_yylex): Likewise.
34164 (grub_script_yyparse): Likewise.
34165 (grub_script_yyerror): Likewise.
34166 (grub_script_yylex): Likewise.
34167 (grub_script_lexer_init): Return the state.
34168
34169 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34170 (grub_script_lexer_done): Likewise.
34171 (grub_script_lexer_getline): Likewise.
34172 (grub_script_lexer_refs): Likewise.
34173 (script): Likewise.
34174 (newscript): Likewise.
34175 (record): Likewise.
34176 (recording): Likewise.
34177 (recordpos): Likewise.
34178 (recordlen): Likewise.
34179 (grub_script_lexer_init): Return the state instead of setting
34180 global variables.
34181 (grub_script_lexer_ref): Use the newly added argument for state
34182 instead of globals.
34183 (grub_script_lexer_deref): Likewise.
34184 (grub_script_lexer_record_start): Likewise.
34185 (grub_script_lexer_record_stop): Likewise.
34186 (recordchar): Likewise.
34187 (nextchar): Likewise.
34188 (grub_script_yylex2): Likewise.
34189 (grub_script_yylex): Likewise.
34190 (grub_script_yyerror): Likewise.
34191
34192 * normal/parser.y (func_mem): Removed variable.
34193 (menu_entry): Likewise.
34194 (err): Likewise.
34195 (%lex-param): New parser option.
34196 (%parse-param): Likewise.
34197 (script): Always return the AST.
34198 (argument): Pass the state around.
34199 (arguments): Likewise.
34200 (grubcmd): Likewise.
34201 (commands): Likewise.
34202 (function): Likewise.
34203 (menuentry): Likewise.
34204 (if_statement): Likewise.
34205 (if): Likewise.
34206
34207 * normal/script.c (grub_script_memused): Removed variable.
34208 (grub_script_parsed): Likewise.
34209 (grub_script_malloc): Added a state argument. Use that instead of
34210 global variables.
34211 (grub_script_mem_record): Likewise.
34212 (grub_script_mem_record_stop): Likewise.
34213 (grub_script_arg_add): Likewise.
34214 (grub_script_add_arglist): Likewise.
34215 (grub_script_create_cmdline): Likewise.
34216 (grub_script_create_cmdif): Likewise.
34217 (grub_script_create_cmdmenu): Likewise.
34218 (grub_script_add_cmd): Likewise.
34219 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34220
e2a8c904 342212006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34222
34223 * normal/command.c (grub_command_init): Remove the title command.
34224
34225 * normal/lexer.c (grub_script_yylex): Renamed from this...
34226 (grub_script_yylex2): ... to this.
34227 (grub_script_yylex): New function. Temporary
34228 introduced to filter some tokens.
34229 (grub_script_yyerror): Print a newline.
34230
34231 * normal/main.c (read_config_file): Output information about the
34232 lines that contain errors. Wait for a key after all lines have
34233 been processed. Don't return an empty menu.
34234
34235 * normal/parser.y (func_mem): Don't initialize.
34236 (menu_entry): Likewise.
34237 (err): New variable.
34238 (script): Don't return anything when an error was encountered.
34239 (ws, returns): Removed rules.
34240 (argument): Disabled concatenated variable support.
34241 (arguments): Remove explicit separators.
34242 (grubcmd): Likewise.
34243 (function): Likewise.
34244 (menuentry): Likewise.
34245 (if): Likewise.
34246 (commands): Likewise. Add error handling.
34247
34248 * normal/script.c (grub_script_create_cmdline): If
34249 `grub_script_parsed' is 0, assume the parser encountered an error.
34250
c9a86192 342512006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34252
34253 * configure.ac: Add support for EFI. Fix the typo
34254 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34255
70f3b243 342562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34257
34258 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34259 foreign multibyte characters should be shown correctly.
34260
65f201ad 342612006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34262
34263 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34264 calculation.
34265 (read_config_file): Made it to close file before returning.
34266
b4b93674 342672006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34268
34269 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34270 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34271 video/i386/pc/vbefill.c.
34272
34273 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34274 video/i386/pc/vbefill.c.
34275
34276 * include/grub/video.h (grub_video_blit_format): New enum.
34277 (grub_video_mode_info): Added new member blit_format.
34278 (grub_video_get_blit_format): New function prototype.
34279
34280 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34281 function prototype.
34282 (grub_video_vbe_map_rgb): Likewise.
34283 (grub_video_vbe_unmap_color): Likewise.
34284
34285 * include/grub/i386/pc/vbeblit.h: New file.
34286
34287 * include/grub/i386/pc/vbefill.h: New file.
34288
34289 * video/video.c (grub_video_get_blit_format): New function.
34290 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34291 (grub_video_vbe_map_rgb): Likewise.
34292 (grub_video_vbe_unmap_color): Likewise.
34293
34294 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34295 optimized fills.
34296 (grub_video_vbe_blit_render_target): Changed to use more optimized
34297 blits.
34298 (grub_video_vbe_setup): Added detection for optimized settings.
34299 (grub_video_vbe_create_render_target): Likewise.
34300
34301 * video/i386/pc/vbeblit.c: New file.
34302
34303 * video/i386/pc/vbefill.c: New file.
34304
c2379b9c 343052006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34306
34307 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34308 here...
34309
34310 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34311 parsing to support both hex and dec ranges. If filename was missing
34312 show usage information.
34313
bd0d7896 343142006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34315
34316 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34317 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34318
34319 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34320 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34321 (video_mod_SOURCES): Added.
34322 (video_mod_CFLAGS): Likewise.
34323 (video_mod_LDFLAGS): Likewise.
34324 (gfxterm_mod_SOURCES): Likewise.
34325 (gfxterm_mod_CFLAGS): Likewise.
34326 (gfxterm_mod_LDFLAGS): Likewise.
34327 (videotest_mod_SOURCES): Likewise.
34328 (videotest_mod_CFLAGS): Likewise.
34329 (videotest_mod_LDFLAGS): Likewise.
34330 (vesafb_mod_SOURCES): Removed.
34331 (vesafb_mod_CFLAGS): Likewise.
34332 (vesafb_mod_LDFLAGS): Likewise.
34333 (vga_mod_SOURCES): Likewise.
34334 (vga_mod_CFLAGS): Likewise.
34335 (vga_mod_LDFLAGS): Likewise.
34336
34337 * commands/videotest.c: New file.
34338
34339 * font/manager.c (fill_with_default_glyph): Modified to use
34340 grub_font_glyph.
34341 (grub_font_get_glyph): Likewise.
34342 (fontmanager): Renamed from this...
34343 (font_manager): ... to this.
34344
34345 * include/grub/font.h (grub_font_glyph): Added new structure.
34346 (grub_font_get_glyph): Modified to use grub_font_glyph.
34347
34348 * include/grub/misc.h (grub_abs): Added as inline function.
34349
34350 * include/grub/video.h: New file.
34351
34352 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34353 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34354 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34355 (grub_vbe_get_controller_info): Renamed from this...
34356 (grub_vbe_bios_get_controller_info): ... to this.
34357 (grub_vbe_get_mode_info): Renamed from this...
34358 (grub_vbe_bios_get_mode_info): ... to this.
34359 (grub_vbe_set_mode): Renamed from this...
34360 (grub_vbe_bios_set_mode): ... to this.
34361 (grub_vbe_get_mode): Renamed from this...
34362 (grub_vbe_bios_get_mode): ... to this.
34363 (grub_vbe_set_memory_window): Renamed from this...
34364 (grub_vbe_bios_set_memory_window): ... to this.
34365 (grub_vbe_get_memory_window): Renamed from this...
34366 (grub_vbe_bios_get_memory_window): ... to this.
34367 (grub_vbe_set_scanline_length): Renamed from this...
34368 (grub_vbe_set_scanline_length): ... to this.
34369 (grub_vbe_get_scanline_length): Renamed from this...
34370 (grub_vbe_bios_get_scanline_length): ... to this.
34371 (grub_vbe_set_display_start): Renamed from this...
34372 (grub_vbe_bios_set_display_start): ... to this.
34373 (grub_vbe_get_display_start): Renamed from this...
34374 (grub_vbe_bios_get_display_start): ... to this.
34375 (grub_vbe_set_palette_data): Renamed from this...
34376 (grub_vbe_bios_set_palette_data): ... to this.
34377 (grub_vbe_set_pixel_rgb): Removed.
34378 (grub_vbe_set_pixel_index): Likewise.
34379
34380 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34381 from this...
34382 (grub_vbe_bios_get_controller_info): ... to this.
34383 (grub_vbe_get_mode_info): Renamed from this...
34384 (grub_vbe_bios_get_mode_info): ... to this.
34385 (grub_vbe_set_mode): Renamed from this...
34386 (grub_vbe_bios_set_mode): ... to this.
34387 (grub_vbe_get_mode): Renamed from this...
34388 (grub_vbe_bios_get_mode): ... to this.
34389 (grub_vbe_set_memory_window): Renamed from this...
34390 (grub_vbe_bios_set_memory_window): ... to this.
34391 (grub_vbe_get_memory_window): Renamed from this...
34392 (grub_vbe_bios_get_memory_window): ... to this.
34393 (grub_vbe_set_scanline_length): Renamed from this...
34394 (grub_vbe_set_scanline_length): ... to this.
34395 (grub_vbe_get_scanline_length): Renamed from this...
34396 (grub_vbe_bios_get_scanline_length): ... to this.
34397 (grub_vbe_set_display_start): Renamed from this...
34398 (grub_vbe_bios_set_display_start): ... to this.
34399 (grub_vbe_get_display_start): Renamed from this...
34400 (grub_vbe_bios_get_display_start): ... to this.
34401 (grub_vbe_set_palette_data): Renamed from this...
34402 (grub_vbe_bios_set_palette_data): ... to this.
34403 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34404 getting corrupted after calling it. Added more pushes and pops.
34405 (grub_vbe_bios_set_mode): Likewise.
34406 (grub_vbe_bios_get_mode): Likewise.
34407 (grub_vbe_bios_get_memory_window): Likewise.
34408 (grub_vbe_bios_set_scanline_length): Likewise.
34409 (grub_vbe_bios_get_scanline_length): Likewise.
34410 (grub_vbe_bios_get_display_start): Likewise.
34411 (grub_vbe_bios_set_palette_data): Likewise.
34412
34413 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34414 (cl_insert): Likewise.
34415 (cl_delete): Likewise.
34416
34417 * term/gfxterm.c: New file.
34418
34419 * term/i386/pc/vesafb.c: Removed file.
34420
34421 * video/video.c: New file.
34422
34423 * video/i386/pc/vbe.c (real2pm): Added new function.
34424 (grub_video_vbe_draw_pixel): Likewise.
34425 (grub_video_vbe_get_video_ptr): Likewise.
34426 (grub_video_vbe_get_pixel): Likewise
34427 (grub_video_vbe_init): Likewise.
34428 (grub_video_vbe_fini): Likewise.
34429 (grub_video_vbe_setup): Likewise.
34430 (grub_video_vbe_get_info): Likewise.
34431 (grub_video_vbe_set_palette): Likewise.
34432 (grub_video_vbe_get_palette): Likewise.
34433 (grub_video_vbe_set_viewport): Likewise.
34434 (grub_video_vbe_get_viewport): Likewise.
34435 (grub_video_vbe_map_color): Likewise.
34436 (grub_video_vbe_map_rgb): Likewise.
34437 (grub_video_vbe_map_rgba): Likewise.
34438 (grub_video_vbe_unmap_color): Likewise.
34439 (grub_video_vbe_fill_rect): Likewise.
34440 (grub_video_vbe_blit_glyph): Likewise.
34441 (grub_video_vbe_blit_bitmap): Likewise.
34442 (grub_video_vbe_blit_render_target): Likewise.
34443 (grub_video_vbe_scroll): Likewise.
34444 (grub_video_vbe_swap_buffers): Likewise.
34445 (grub_video_vbe_create_render_target): Likewise.
34446 (grub_video_vbe_delete_render_target): Likewise.
34447 (grub_video_vbe_set_active_render_target): Likewise.
34448 (grub_vbe_set_pixel_rgb): Remove function.
34449 (grub_vbe_set_pixel_index): Likewise.
34450 (index_color_mode): Remove static variable.
34451 (active_mode): Likewise.
34452 (framebuffer): Likewise.
34453 (bytes_per_scan_line): Likewise.
34454 (grub_video_vbe_adapter): Added new static variable.
34455 (framebuffer): Likewise.
34456 (render_target): Likewise.
34457 (initial_mode): Likewise.
34458 (mode_in_use): Likewise.
34459 (mode_list): Likewise.
34460
5f97350b 344612006-03-10 Marco Gerards <marco@gnu.org>
34462
34463 * configure.ac (AC_INIT): Bumped to 1.93.
34464
34465 * DISTLIST: Added `include/grub/hfs.h'.
34466
a3c5c6f8 344672006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34468
34469 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34470 18H, which might help the BIOS falling back to next boot media.
34471
6de53d26 344722006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34473
34474 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34475 Poe Chen <poe.poechen@gmail.com>.
34476
77c4a393 344772006-01-17 Marco Gerards <marco@gnu.org>
34478
34479 * include/grub/normal.h: Include <grub/script.h>.
34480 (grub_command_list): Removed struct.
34481 (grub_command_list_t): Removed type.
34482 (grub_menu_entry): Remove members `num' and `command_list'. Add
34483 members `commands' and `sourcecode'.
34484 * include/grub/script.h: Add inclusion guards.
34485 (grub_script_cmd_menuentry): New struct.
34486 (grub_script_execute_menuentry): New prototype.
34487 (grub_script_lexer_record_start): Likewise.
34488 (grub_script_lexer_record_stop): Likewise.
34489 * normal/execute.c (grub_script_execute_menuentry): New function.
34490 * normal/lexer.c (record, recording, recordpos, recordlen): New
34491 variables.
34492 (grub_script_lexer_record_start): New function.
34493 (grub_script_lexer_record_stop): Likewise.
34494 (recordchar): Likewise.
34495 (nextchar): Likewise.
34496 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34497 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34498 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34499 (current_menu): New variable.
34500 (free_menu): Mainly rewritten.
34501 (grub_normal_menu_addentry): New function.
34502 (read_config_file): Rewritten.
34503 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34504 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34505 the menu entry.
34506 (run): Mainly rewritten.
34507 * normal/parser.y (menu_entry): New variable.
34508 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34509 (menuentry): New rule.
34510 (command): Add `menuentry'.
34511 (if_statement): Allow additional returns before `fi'.
34512 * normal/script.c (grub_script_create_cmdmenu): New function.
34513
144f1f98 345142006-01-03 Marco Gerards <marco@gnu.org>
34515
34516 * INSTALL: GNU Bison is required.
34517 * configure.ac: Rewritten the test to detect Bison.
34518 * Makefile.in (YACC): New variable. Reported by Xun Sun
34519 <xun.sun.cn@gmail.com>.
34520
af4b2d89 345212006-01-03 Marco Gerards <marco@gnu.org>
34522
34523 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34524 the HFS+ filesystem to filesystem blocks.
34525 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34526 GCC warning is silenced.
34527
15643b71 345282006-01-03 Marco Gerards <marco@gnu.org>
34529
34530 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34531 read from disk from big endian to host byte order.
34532
00905879 345332006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34534
34535 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34536 documentation.
34537 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34538 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34539 embedded HFS+ filesystem.
34540 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34541 (grub_hfs_sblock): Move from here...
34542 * include/grub/hfs.h: To here... New file.
34543 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34544 documentation.
34545 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34546 New macros.
34547 (grub_hfsplus_volheader): Change type of member `magic' to
34548 `grub_uint16_t'.
34549 (grub_hfsplus_data): Add new member `embedded_offset'.
34550 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34551 returned block.
34552 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34553 Calculate the offset.
34554
8899bc3e 345552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34556
34557 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34558 Removed.
34559 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34560
ae8c0277 345612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34562
34563 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34564 ENV->NAME is NULL after allocating ENV->VALUE.
34565
07084456 345662005-12-25 Marco Gerards <marco@gnu.org>
34567
34568 * kern/env.c (grub_env_set): Rewritten the error handling code.
34569
4750f5f1 345702005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34571
34572 * geninit.sh: Made more robust, and more portable.
34573
50214199 345742005-12-25 Marco Gerards <marco@gnu.org>
34575
34576 Add support for Apple HFS+ filesystems.
f19dbdb7 34577
50214199 34578 * fs/hfsplus.c: New file.
34579
34580 * DISTLIST: Added `fs/hfsplus.c'.
34581
34582 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34583 (hfsplus_mod_SOURCES): New variable.
34584 (hfsplus_mod_CFLAGS): Likewise.
34585 (hfsplus_mod_LDFLAGS): Likewise.
34586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34587 (grub_setup_SOURCES): Likewise.
34588 (grub_mkdevicemap_SOURCES): Likewise.
34589 (grub_emu_SOURCES): Likewise.
34590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34591
34592 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34593
34594 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34595
befaed6c 345962005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34597
34598 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34599 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34600 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34601 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34602 normal/lexer.c, normal/parser.y, normal/script.c, and
34603 partmap/gpt.c.
34604 Removed kern/sparc64/cache.c.
34605
34606 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34607 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34608 grub_emu_init.c.
34609
34610 * configure.ac (AC_INIT): Bumped to 1.92.
34611
6a124103 346122005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34613
34614 * kern/err.c (grub_error_push): Added new function to support error
34615 stacks.
34616 (grub_error_pop): Likewise.
34617 (grub_error_stack_items): New local variable to support error stacks.
34618 (grub_error_stack_pos): Likewise.
34619 (grub_error_stack_assert): Likewise.
34620 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34621 stack depth.
34622 (grub_print_error): Added support to print errors from error stack.
34623
34624 * include/grub/err.h (grub_error_push): Added function prototype.
34625 (grub_error_pop): Likewise.
34626
be973c1b 346272005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34628
34629 * configure.ac: Accept `powerpc64' as host_cpu.
34630 (amd64): Rename to `biarch32'.
34631
34632 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34633 non-cacheline-aligned addresses.
34634
34635 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34636 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34637 if `size' is non-zero.
34638
b04216ab 346392005-12-03 Marco Gerards <mgerards@xs4all.nl>
34640
34641 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34642 and `cd' to make sure the filename is not prefixed with a
34643 directory name.
34644 (pkgdata_MODULES): Add `gpt.mod'.
34645 (gpt_mod_SOURCES): New variable.
34646 (gpt_mod_CFLAGS): Likewise.
34647 (gpt_mod_LDFLAGS): Likewise.
34648
34649 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34650
34651 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34652 New macro.
34653
34654 * partmap/gpt.c: New file.
34655
34656 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34657 GPT partition map is detected.
34658
41730ed9 346592005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34660
34661 * commands/i386/pc/play.c: New file.
34662 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34663 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34664 macros.
f19dbdb7 34665
95dc3643 346662005-11-27 Marco Gerards <mgerards@xs4all.nl>
34667
34668 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34669 ((unused))' to silence gcc warning.
34670
1569ec51 346712005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34672
34673 * configure.ac: Correct `AC_PROG_YACC' test.
34674
9abde152 346752005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34676
34677 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34678 check before installing files.
34679
44b83271 346802005-11-22 Mike Small <smallm@panix.com>
34681
34682 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34683 number regex so multidigit numbers are recognized correctly.
34684
346852005-11-22 Mike Small <smallm@panix.com>
34686
34687 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34688 debugging message before attempting to claim memory.
34689 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34690 multiple addresses in case of failure.
34691
9c12956b 346922005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34693
34694 * term/tparm.c (get_space): Remove empty `if' statement.
34695
34696 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34697
34698 * kern/parser.c (check_varstate): Rename `state' to 's'.
34699
aeaf81d9 347002005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34701
34702 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34703 variable definitions to the beginning of each function. Sort stack
34704 variables by size.
34705 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34706 `buf' argument to `char *'.
34707
79bbb63f 347082005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34709
34710 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34711 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34712 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 34713 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34714 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34715 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34716 configfile.mod, search.mod, gzio.mod and test.mod.
34717 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34718 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34719 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34720 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34721 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34722 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34723 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34724 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34725 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34726 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34727 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34728 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34729 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34730 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34731 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34732 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34733 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34734 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34735 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34736 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34737 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34738 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34739 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34740
34741 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34742 `grep --include'.
34743 (pkgdata_MODULES): Add test.mod.
34744
233b1628 347452005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34746
34747 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34748 appending to variables with "+=".
34749 (PModule): Use full pathname to generate *.lst filenames.
34750
34751 * Makefile.in: Fixed list rules moved from genmk.rb.
34752 (.DELETE_ON_ERROR): New special target.
34753 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34754
34755 * conf/i386-pc.rmk: Include conf/common.mk.
34756 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 34757 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 34758 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34759 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34760 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34761 configfile.mod, search.mod, gzio.mod and test.mod.
34762 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34763 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34764 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34765 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34766 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34767 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34768 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34769 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34770 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34771 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34772 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34773 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34774 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34775 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34776 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34777 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34778 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34779 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34780 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34781 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34782 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34783 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34784 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34785 here...
34786 * conf/common.rmk: ... to here. New file.
34787
34788 * conf/common.mk: New file.
34789
16f820c8 347902005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34791
34792 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34793 (grub_script.tab.c): ... here.
34794
34795 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34796 (grub_script.tab.c): ... here.
34797
34798 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34799 (grub_script.tab.c): ... here.
34800
34801 * normal/command.c (grub_command_find): Fixed a memory leak of
34802 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34803
63ba1554 348042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34805
34806 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34807 "@" which marks the start of a comment on ARM.
34808 (VARIABLE): Likewise.
34809
7f67dc13 348102005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34811
79bbb63f 34812 Add support for Linux/ADFS partition tables.
7f67dc13 34813
34814 * partmap/acorn.c: New file.
34815
34816 * include/grub/acorn_filecore.h: Likewise.
34817
34818 * DISTLIST: Added `partmap/acorn.c' and
34819 `include/grub/acorn_filecore.h'.
f19dbdb7 34820
7f67dc13 34821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34822 `partmap/acorn.c'.
34823 (pkgdata_MODULES): Add `acorn.mod'.
34824 (acorn_mod_SOURCES): New variable.
34825 (acorn_mod_CFLAGS): Likewise.
34826
34827 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34828 `partmap/acorn.c'.
34829 (pkgdata_MODULES): Add `acorn.mod'.
34830 (acorn_mod_SOURCES): New variable.
34831 (acorn_mod_CFLAGS): Likewise.
34832
34833 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34834 (pkgdata_MODULES): Add `acorn.mod'.
34835 (acorn_mod_SOURCES): New variable.
34836 (acorn_mod_CFLAGS): Likewise.
34837 (acorn_mod_LDFLAGS): Likewise.
34838
34839 * include/types.h (grub_disk_addr_t): New typedef.
34840
6d099807 348412005-11-13 Marco Gerards <mgerards@xs4all.nl>
34842
34843 * geninit.sh: New file.
34844
34845 * geninitheader.sh: Likewise.
34846
34847 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
34848 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
34849 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
34850 * commands/configfile.c (grub_configfile_init)
34851 (grub_configfile_fini): Likewise.
34852 * commands/default.c (grub_default_init, grub_default_fini):
34853 Likewise.
34854 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
34855 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
34856 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
34857 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
34858 Likewise.
34859 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
34860 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
34861 Likewise.
34862 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 34863 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 34864 Likewise.
34865 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
34866 Likewise.
fe6b695a 34867 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 34868 Likewise.
34869 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
34870 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
34871 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
34872 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
34873 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
34874 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
34875 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
34876 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
34877 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
34878 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
34879 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
34880 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
34881 * partmap/amiga.c (grub_amiga_partition_map_init)
34882 (grub_amiga_partition_map_fini): Likewise.
34883 * partmap/apple.c (grub_apple_partition_map_init)
34884 (grub_apple_partition_map_fini): Likewise.
34885 * partmap/pc.c (grub_pc_partition_map_init)
34886 (grub_pc_partition_map_fini): Likewise.
34887 * partmap/sun.c (grub_sun_partition_map_init,
34888 grub_sun_partition_map_fini): Likewise.
34889 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
34890 Likewise.
34891
34892 * util/grub-emu.c: Include <grub_modules_init.h>.
34893 (main): Don't initialize and de-initialize any modules directly,
34894 use `grub_init_all' and `grub_fini_all' instead.
34895
34896 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
34897 `grub_vesafb_mod_init'.
34898 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
34899 all users.
34900 * term/i386/pc/vga.c (grub_vga_init): Renamed to
34901 `grub_vga_mod_init'. Updated all users.
34902 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 34903
6d099807 34904 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
34905 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
34906 rules.
34907
34908 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
34909 Generate a function to initialize the module in utilities.
34910 Updated all callers.
34911 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
34912 initialize the module in utilities. Updated all callers.
34913
9046bcf0 349142005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34915
34916 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
34917 escape sequence and a literal ^L to clear the screen.
34918
34919 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
34920 when returning from Open Firmware.
34921
d13ea639 349222005-11-09 Hollis Blanchard <hollis@penguinppc.org>
34923
34924 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
34925 (grub_ofconsole_height): Likewise.
34926 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
34927 manually insert a '\n'.
34928 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
34929 `grub_ofconsole_height'. Return early if these are already set.
34930
a8fcf206 349312005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
34932
34933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34934 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
34935 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
34936 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
34937 and `normal/script.c'.
34938 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34939 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34940 (test_mod_SOURCES): New variable.
34941 (test_mod_CFLAGS): Likewise.
34942 (test_mod_LDFLAGS): Likewise.
34943 (pkgdata_MODULES): Add `test.mod'.
34944 (grub_script.tab.c): New rule.
34945 (grub_script.tab.h): Likewise.
34946
b6b32745 349472005-11-07 Marco Gerards <mgerards@xs4all.nl>
34948
34949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34950 `commands/test.c', `normal/execute.c', `normal/lexer.c',
34951 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34952 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34953 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
34954 (test_mod_SOURCES): New variable.
34955 (test_mod_CFLAGS): Likewise.
34956 (pkgdata_MODULES): Add `test.mod'.
34957 (grub_script.tab.c): New rule.
34958 (grub_script.tab.h): Likewise.
34959
daac212a 349602005-11-06 Marco Gerards <mgerards@xs4all.nl>
34961
34962 Add initial scripting support.
34963
34964 * commands/test.c: New file.
34965 * include/grub/script.h: Likewise.
34966 * normal/execute.c: Likewise.
34967 * normal/function.c: Likewise.
34968 * normal/lexer.c: Likewise.
34969 * normal/parser.y: Likewise.
34970 * normal/script.c: Likewise.
34971
34972 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 34973
daac212a 34974 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
34975 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
34976 `normal/function.c' and `normal/script.c'.
34977 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
34978 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 34979 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
34980 variables.
daac212a 34981 (pkgdata_MODULES): Add `test.mod'.
34982 (grub_script.tab.c): New rule.
34983 (grub_script.tab.h): Likewise.
34984
34985 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
34986
34987 * include/grub/normal.h (grub_test_init): New prototype.
34988 (grub_test_fini): Likewise.
f19dbdb7 34989
daac212a 34990 * normal/command.c: Include <grub/script.h>.
34991 (grub_command_execute): Rewritten.
f19dbdb7 34992
daac212a 34993 * util/grub-emu.c (main): Call `grub_test_init' and
34994 `grub_test_fini'.
34995
77500b2b 349962005-11-03 Hollis Blanchard <hollis@penguinppc.org>
34997
34998 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
34999 to 0.
35000 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
35001 there are no pending characters.
35002
e45deb9e 350032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35004
35005 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
35006 `grub_strndup' to drop device arguments. Replace unnecessary
35007 `grub_strndup' with `grub_strdup'.
35008
4ce32619 350092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35010
35011 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
35012 `debug' environment variable has been set.
35013
350142005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35015
4ce32619 35016 * Makefile.in (install-local): Use $(DATA).
35017 (uninstall): Likewise.
35018 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
35019 (sbin_UTILITIES): ... to here.
35020 (sbin_SCRIPTS): New variable.
35021 (grub_install_SOURCES): New variable.
35022 * util/powerpc/ieee1275/grub-install.in: New file.
35023 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
35024 variable.
35025 (add_segments): Call `grub_util_get_path'.
35026
25fe6f03 350272005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35028
35029 From Timothy Baldwin:
35030 * commands/ls.c (grub_ls_list_files): Close FILE with
35031 grub_file_close.
35032 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
35033
04ccf3ec 350342005-10-24 Marco Gerards <mgerards@xs4all.nl>
35035
35036 * include/grub/parser.h: New file.
35037
35038 * kern/parser.c: Likewise.
35039
35040 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
35041 (grub_setup_SOURCES): Likewise.
35042 (grub_probefs_SOURCES): Likewise.
35043 (grub_emu_SOURCES): Likewise.
35044 (kernel_img_HEADERS): Add `parser.h'.
35045
35046 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35047 (grub_emu_SOURCES): Add `kern/parser.c'.
35048 (grubof_SOURCES): Likewise.
35049
35050 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35051 (grubof_SOURCES): Add `kern/parser.c'.
35052
35053 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
35054
35055 * kern/misc.c (grub_split_cmdline): Removed function.
35056
35057 * kern/rescue.c: Include <grub/parser.h>.
35058 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
35059 of `grub_split_cmdline'.
35060
35061 * normal/command.c: Include <grub/parser.h>.
35062 (grub_command_execute): Use `grub_parser_split_cmdline' instead
35063 of `grub_split_cmdline'.
35064
35065 * normal/completion.c: Include <grub/parser.h>.
35066 (cmdline_state): New variable.
35067 (iterate_dir): End the filename with a quote depending on the
35068 command line state.
35069 (get_state): new function.
35070 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
35071 split the arguments and determine the current argument. When the
35072 argument string is not quoted, escape all spaces.
35073
6d8f4b0e 350742005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35075
35076 * normal/sparc64/setjmp.S: New file.
35077
15cf03ed 350782005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35079
35080 * include/grub/sparc64/libgcc.h: New file.
35081 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
35082 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
35083 normal/sparc64/setjmp.c.
35084
03e8661a 350852005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35086
35087 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
35088 * kern/sparc64/cache.S: New file.
35089 * kern/sparc64/cache.c: Removed.
35090 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
35091 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
35092 -mtune=ultrasparc.
35093 (COMMON_LDFLAGS): Add -melf64_sparc.
35094 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
35095 (grubof_SOURCES): Use cache.S instead of cache.c.
35096 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
35097 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
35098 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
35099 commented though.
35100 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
35101 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
35102 (linux_mod_CFLAGS): Commented out.
35103 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
35104 out because module isn't built.
35105 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
35106 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
35107 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
35108 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
35109 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
35110 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35111 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35112 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
35113 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
35114 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
35115 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35116 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35117 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
35118 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
35119
34eeec8a 351202005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
35121
35122 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
35123 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
35124 longer, because HFS should not be used on PC.
35125
708367a3 351262005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35127
35128 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
35129 consistently within the loop.
35130
6fa1251a 351312005-10-15 Marco Gerards <mgerards@xs4all.nl>
35132
35133 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
35134 directory can not be read.
35135
4801580b 351362005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35137
35138 * configure.ac (AC_INIT): Increase the version number to 1.91.
35139
35140 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35141 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35142 term/i386/pc/serial.c.
35143
219ad426 351442005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35145
35146 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35147 file size must be permitted.
35148
35149 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35150 between %ah and %al.
35151
688e5699 351522005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35153
35154 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35155 grub_uint64_t.
35156 Call the hook with a NUL-terminated filename.
35157 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35158 grub_cpu_to_be32.
35159
35160 * kern/term.c (cursor_state): New variable.
35161 (grub_term_set_current): Reset the cursor state on a new
35162 terminal.
35163 (grub_setcursor): Rewritten to use CURSOR_STATE.
35164 (grub_getcursor): New function.
35165
35166 * include/grub/term.h (grub_getcursor): New prototype.
35167
35168 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35169 integers on ARM. Reported by Timothy Baldwin
35170 <T.E.Baldwin99@members.leeds.ac.uk>.
35171
bb34586c 351722005-10-11 Marco Gerards <mgerards@xs4all.nl>
35173
35174 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35175 allocated.
35176 (grub_sfs_dir): Likewise.
35177
9a909877 351782005-10-09 Marco Gerards <mgerards@xs4all.nl>
35179
35180 Add support for the SFS filesystem.
35181
35182 * fs/sfs.c: New file.
35183
35184 * DISTLIST: Added `fs/sfs.c'.
35185
35186 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35187 (grub_probefs_SOURCES): Likewise.
35188 (grub_emu_SOURCES): Likewise.
35189 (pkgdata_MODULES): Add `sfs.mod'.
35190 (sfs_mod_SOURCES): New variable.
35191 (sfs_mod_CFLAGS): Likewise.
35192 (sfs_mod_LDFLAGS): Likewise.
35193
35194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35195 (pkgdata_MODULES): Add `sfs.mod'.
35196 (sfs_mod_SOURCES): New variable.
35197 (sfs_mod_CFLAGS): Likewise.
35198
35199 * util/grub-emu.c (main): Call `grub_sfs_init' and
35200 `grub_sfs_fini'.
35201
35202 * include/grub/fs.h (grub_sfs_init): New prototype.
35203 (grub_sfs_fini): Likewise.
35204
57bdbde3 352052005-10-07 Marco Gerards <mgerards@xs4all.nl>
35206
35207 Add support for the AFFS filesystem.
35208
35209 * fs/affs.c: New file.
35210
35211 * DISTLIST: Added `fs/affs.c'.
35212
35213 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35214 (grub_probefs_SOURCES): Likewise.
35215 (grub_emu_SOURCES): Likewise.
35216 (pkgdata_MODULES): Add `affs.mod'.
35217 (affs_mod_SOURCES): New variable.
35218 (affs_mod_CFLAGS): Likewise.
35219 (affs_mod_LDFLAGS): Likewise.
35220
35221 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35222 (pkgdata_MODULES): Add `affs.mod'.
35223 (affs_mod_SOURCES): New variable.
35224 (affs_mod_CFLAGS): Likewise.
35225
35226 * util/grub-emu.c (main): Call `grub_affs_init' and
35227 `grub_affs_fini'.
35228
35229 * include/grub/fs.h (grub_affs_init): New prototype.
35230 (grub_affs_fini): Likewise.
35231
047b67e0 352322005-10-01 Marco Gerards <mgerards@xs4all.nl>
35233
35234 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35235
59b8208a 352362005-10-01 Marco Gerards <mgerards@xs4all.nl>
35237
35238 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35239 `-m32' to CFLAGS.
35240
35241 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35242 linking.
f19dbdb7 35243
59b8208a 35244 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35245 (COMMON_LDFLAGS): New variable.
35246 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35247 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35248 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35249 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35250 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35251 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35252 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35253 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35254 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35255 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35256 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35257 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35258 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35259 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35260 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35261 variables.
35262 (normal_mod_ASFLAGS): Add `-m32'.
35263
35264 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35265 (grub_host_size_t, grub_host_ssize_t): New types.
35266 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35267 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35268 `GRUB_HOST_SIZEOF_VOID_P'.
35269
35270 * include/grub/kernel.h (struct grub_module_header): Type of
35271 member offset changed to `grub_host_off_t'. Type of member size
35272 changed to `grub_host_size_t'.
35273 (struct grub_module_info): Type of member offset changed to
35274 `grub_host_off_t'. Type of member size changed to
35275 `grub_host_size_t'.
35276
b4093103 352772005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35278
35279 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35280
b4093103 35281 * kern/i386/pc/startup.S (multiboot_header): New label.
35282 (multiboot_entry): Likewise.
35283 (multiboot_trampoline): Likewise.
35284
35285 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35286 Increased to 0x4A0.
35287
35288 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35289 put parentheses after a question mark.
35290 [!GRUB_UTIL] (my_mod): New variable.
35291
35292 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35293
b2499b29 352942005-09-28 Marco Gerards <mgerards@xs4all.nl>
35295
35296 Adds support for the XFS filesystem. Btrees are not supported
35297 yet.
35298
35299 * fs/xfs.c: New file.
35300
35301 * DISTLIST: Added `fs/xfs.c'.
35302
35303 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35304 (grub_probefs_SOURCES): Likewise.
35305 (grub_emu_SOURCES): Likewise.
35306 (pkgdata_MODULES): Add `xfs.mod'.
35307 (xfs_mod_SOURCES): New variable.
35308 (xfs_mod_CFLAGS): Likewise.
35309
35310 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35311 (pkgdata_MODULES): Add `xfs.mod'.
35312 (xfs_mod_SOURCES): New variable.
35313 (xfs_mod_CFLAGS): Likewise.
35314
35315 * util/grub-emu.c (main): Call `grub_xfs_init' and
35316 `grub_xfs_fini'.
35317
35318 * include/grub/fs.h (grub_xfs_init): New prototype.
35319 (grub_xfs_fini): Likewise.
35320
f19dbdb7 35321
83d37a62 353222005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35323
35324 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35325 color modes, allow greater than 16 colors to be configured as
35326 a default palette.
35327
47d2d65e 353282005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35329
35330 * normal/completion.c (complete_arguments): Add the qualifier
35331 const into OPTIONS.
35332
35333 From Omniflux <omniflux+lists@omniflux.com>:
35334 * include/grub/terminfo.h: New file.
35335 * include/grub/tparm.h: Likewise.
35336 * include/grub/i386/pc/serial.h: Likewise.
35337 * term/terminfo.c: Likewise.
35338 * term/tparm.c: Likewise.
35339 * term/i386/pc/serial.c: Likewise.
35340 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35341 serial.mod.
35342 (terminfo_mod_SOURCES): New variable.
35343 (terminfo_mod_CFLAGS): Likewise.
35344 (serial_mod_SOURCES): Likewise.
35345 (serial_mod_CFLAGS): Likewise.
35346
48b671ff 353472005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35348
35349 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35350 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35351 and kern/powerpc/ieee1275/cmain.c, respectively.
35352
35353 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35354 * kern/powerpc/ieee1275/crt0.S: ... here.
35355
35356 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35357 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35358
48b671ff 35359 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35360 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35361 instead of boot/powerpc/ieee1275/crt0.S and
35362 boot/powerpc/ieee1275/cmain.c, respectively.
35363
35364 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35365 sectors. It was not used anyway.
35366
09fc77a7 353672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35368
35369 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35370 `unused parameter' warning.
35371
003789c7 353722005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35373
35374 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35375 function.
35376 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35377 getcharwidth.
35378
67f44c86 353792005-08-28 Marco Gerards <metgerards@student.han.nl>
35380
35381 * include/grub/normal.h (enum grub_completion_type): Added
35382 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35383
35384 * normal/cmdline.c (print_completion): Handle
35385 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35386 * normal/menu_entry.c (store_completion): Likewise.
35387
35388 * normal/completion.c (complete_arguments): New function.
35389 (grub_normal_do_completion): Call `complete_arguments' when the
35390 current words start with a dash.
35391
0b5abe02 353922005-08-27 Marco Gerards <metgerards@student.han.nl>
35393
35394 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35395 `gzio.mod' instead of `io.mod').
35396
d9864ee1 353972005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35398
35399 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35400 (DISTDIRS): Added io and video.
35401 Rewrite the search routine to make an output consistently.
35402
35403 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35404 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35405 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35406 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35407 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35408 util/powerpc/ieee1275/misc.c.
f19dbdb7 35409
d9864ee1 35410 * include/grub/gzio.h: New file.
35411 * io/gzio.c: Likewise.
f19dbdb7 35412
d9864ee1 35413 * kern/file.c (grub_file_close): Call grub_device_close only if
35414 FILE->DEVICE is not NULL.
35415
35416 * include/grub/mm.h [!NULL] (NULL): New macro.
35417
35418 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35419
35420 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35421 (pkgdata_MODULES): Added gzio.mod.
35422 (gzio_mod_SOURCES): New variable.
35423 (gzio_mod_CFLAGS): Likewise.
35424
35425 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35426 (pkgdata_MODULES): Added gzio.mod.
35427 (gzio_mod_SOURCES): New variable.
35428 (gzio_mod_CFLAGS): Likewise.
35429
35430 * commands/cat.c: Include grub/gzio.h.
35431 (grub_cmd_cat): Use grub_gzfile_open instead of
35432 grub_file_open.
f19dbdb7 35433
d9864ee1 35434 * commands/cmp.c: Include grub/gzio.h.
35435 (grub_cmd_cmp): Use grub_gzfile_open instead of
35436 grub_file_open.
35437
35438 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35439 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35440 grub_file_open.
35441 (grub_rescue_cmd_module): Likewise.
35442
fa46f4b5 354432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35444
35445 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35446 kern/sparc64/ieee1275/init.c because it contains _start.
35447 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35448
e9211b5d 354492005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35450
35451 * configure.ac: Add support for sparc64 host with ieee1275
35452 firmware.
35453 * configure: Generated from configure.ac.
35454 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35455 instead of int.
35456 (grub_ofdisk_read): Likewise.
35457 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35458 pointers as (void *) to remove a warning.
35459 (grub_ofdisk_close): Likewise.
35460 (grub_ofdisk_read): Likewise.
35461 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35462 returns, so make it return void to remove a warning.
35463 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35464 Corresponding prototype change.
35465 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35466 values, and cast the pointers as (void *) to remove a warning.
35467 (grub_mm_dump): Likewise.
35468 * conf/sparc64-ieee1275.mk: New file.
35469 * conf/sparc64-ieee1275.rmk: Likewise.
35470 * include/grub/sparc64/setjmp.h: Likewise.
35471 * include/grub/sparc64/types.h: Likewise.
35472 * include/grub/sparc64/ieee1275/console.h: Likewise.
35473 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35474 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35475 * include/grub/sparc64/ieee1275/time.h: Likewise.
35476 * kern/sparc64/cache.c: Likewise.
35477 * kern/sparc64/dl.c: Likewise.
35478 * kern/sparc64/ieee1275/init.c: Likewise.
35479 * kern/sparc64/ieee1275/openfw.c: Likewise.
35480
385c6a92 354812005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35482
35483 * util/console.c (grub_ncurses_putchar): If C is greater than
35484 0x7f, set C to a question mark.
35485 (grub_ncurses_getcharwidth): New function.
35486 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35487 getcharwidth.
35488
35489 * normal/menu.c (print_entry): Made aware of Unicode. First,
35490 convert TITLE to UCS-4, and predict the cursor position by
35491 grub_getcharwidth.
35492
35493 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35494 const to SRC.
35495 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35496
16ccb8b1 354972005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35498
35499 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35500 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35501 grub_strcat.
35502
35503 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35504 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35505 grub_strcpy and grub_strlen. Take it into account that a space
35506 character is inserted as a delimiter.
35507
6a85ce79 355082005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35509
35510 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35511 invalid magic in the error.
6a85ce79 35512
35513 * commands/search.c: New file.
f19dbdb7 35514
6a85ce79 35515 * util/grub-emu.c (main): Call grub_search_init and
35516 grub_search_fini.
35517
35518 * kern/rescue.c (grub_rescue_print_disks): Removed.
35519 (grub_rescue_print_devices): New function.
35520 (grub_rescue_cmd_ls): Use grub_device_iterate with
35521 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35522 grub_rescue_print_disks.
35523
35524 * kern/partition.c (grub_partition_iterate): Return the result of
35525 PARTMAP->ITERATE instead of GRUB_ERRNO.
35526
35527 * kern/device.c: Include grub/partition.h.
35528 (grub_device_iterate): New function.
35529
35530 * include/grub/partition.h (grub_partition_iterate): Return int
35531 instead of grub_err_t.
35532
35533 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35534 prototype.
35535 [GRUB_UTIL] (grub_search_fini): Likewise.
35536
35537 * include/grub/device.h (grub_device_iterate): New prototype.
35538
35539 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35540 commands/search.c.
35541 (pkgdata_MODULES): Added search.mod.
35542 (search_mod_SOURCES): New variable.
35543 (search_mod_CFLAGS): Likewise.
35544
35545 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35546 (pkgdata_MODULES): Added search.mod.
35547 (search_mod_SOURCES): New variable.
35548 (search_mod_CFLAGS): Likewise.
35549
35550 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35551 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35552 All callers changed.
35553
35554 * DISTLIST: Added commands/search.c.
35555
ef095434 355562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35557
35558 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35559 conversion.
35560 (grub_getcharwidth): New function.
35561
35562 * kern/misc.c (grub_utf8_to_ucs4): New function.
35563
35564 * include/grub/term.h (struct grub_term): Added a new member
35565 "getcharwidth".
35566 (grub_getcharwidth): New prototype.
35567
35568 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35569
35570 * term/i386/pc/console.c (map_char): New function. Segregated from
35571 grub_console_putchar.
35572 (grub_console_putchar): Use map_char.
35573 (grub_console_getcharwidth): New function.
35574 (grub_console_term): Specified grub_console_getcharwidth as
35575 getcharwidth.
35576
35577 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35578 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35579
35580 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35581 GRUB_ERRNO.
35582 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35583 on grub_strtoul completely.
35584 (write_char): Declare local variables in the beginning of the
35585 function.
35586 (grub_vesafb_getcharwidth): New function.
35587 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35588 getcharwidth.
35589
1f0a95e4 355902005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35591
35592 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35593 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35594 commands/i386/pc/vbetest.c.
35595
35596 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35597 call grub_vbe_get_controller_info again, because the returned
35598 information is volatile.
35599 (grub_vbe_set_video_mode): Mostly rewritten.
35600 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35601 grub_vbe_status_t correctly.
35602 (grub_vbe_get_video_mode_info): Likewise.
35603 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35604 several if statements.
35605
35606 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35607 * commands/i386/pc/vbeinfo.c: ... this.
35608
35609 * commands/i386/pc/vbe_test.c: Renamed to ...
35610 * commands/i386/pc/vbetest.c: ... this.
35611
35612 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35613 ...
35614 (grub_cmd_vbeinfo): ... this. Save video modes before
35615 iterating. Skip a video mode, if it is not available, not enough
35616 information is given or it is monochrome. Show the memory
35617 model. Leave the interpretation of MODEVAR to grub_strtoul
35618 completely.
35619 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35620 (GRUB_MOD_FINI): Likewise.
35621
35622 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35623 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35624 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35625 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35626 grub_strtoul completely.
35627 (real2pm): Removed.
35628 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35629 (GRUB_MOD_FINI): Likewise.
35630
35631 * normal/misc.c: Include grub/mm.h.
35632
35633 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35634 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35635 (vbe_list_modes_mod_SOURCES): Removed.
35636 (vbe_list_modes_mod_CFLAGS): Likewise.
35637 (vbe_test_mod_SOURCES): Likewise.
35638 (vbe_test_mod_CFLAGS): Likewise.
35639 (vbeinfo_mod_SOURCES): New variable.
35640 (vbeinfo_mod_CFLAGS): Likewise.
35641 (vbetest_mod_SOURCES): Likewise.
35642 (vbetest_mod_CFLAGS): Likewise.
35643
992ffbbe 356442005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35645
35646 * normal/misc.c: New file.
35647
35648 * DISTLIST: Added normal/misc.c.
f19dbdb7 35649
992ffbbe 35650 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35651 DISK to HOOK. Call HOOK with DISK.
35652 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35653 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35654 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35655
35656 * normal/menu_entry.c (struct screen): Added a new member
35657 "completion_shown".
35658 (completion_buffer): New global variable.
35659 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35660 (store_completion): New function.
35661 (complete): Likewise.
35662 (clear_completions): Likewise.
35663 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35664 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35665 a tab, call complete.
35666
35667 * normal/completion.c (disk_dev): Removed.
35668 (print_simple_completion): Likewise.
35669 (print_partition_completion): Likewise.
35670 (print_func): New global variable.
35671 (add_completion): Do not take the arguments WHAT or PRINT any
35672 longer. Added a new argument TYPE. Instead of printing directly,
35673 call PRINT_FUNC if not NULL.
35674 All callers changed.
35675 (complete_device): Use a local variable DEV instead of
35676 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35677 (grub_normal_do_completion): Take a new argument HOOK. Do not
35678 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35679 empty string, return NULL instead.
35680 All callers changed.
35681
35682 * normal/cmdline.c (print_completion): New function.
35683
35684 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35685 to HOOK.
35686 All callers changed.
35687
35688 * kern/disk.c (grub_print_partinfo): Removed.
35689
35690 * include/grub/partition.h (struct grub_partition_map): Add a new
35691 argument DISK into HOOK of ITERATE.
35692 (grub_partition_iterate): Add a new argument DISK to HOOK.
35693
35694 * include/grub/normal.h (enum grub_completion_type): New enum.
35695 (grub_completion_type_t): New type.
35696 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35697 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35698 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35699 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35700 (grub_normal_do_completion): Added a new argument HOOK.
35701 (grub_normal_print_device_info): New prototype.
35702
35703 * include/grub/disk.h (grub_print_partinfo): Removed.
35704
35705 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35706 (normal_mod_SOURCES): Likewise.
35707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35708 (normal_mod_SOURCES): Likewise.
35709
35710 * commands/ls.c (grub_ls_list_disks): Use
35711 grub_normal_print_device_info instead of grub_print_partinfo. Free
35712 PNAME.
35713 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35714 duplicating the code.
35715
0bd41162 357162005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35717
35718 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 35719 follow GCS more precisely.
35720 * commands/i386/pc/vbe_test.c: Likewise.
35721 * include/grub/i386/pc/vbe.h: Likewise.
35722 * term/i386/pc/vesafb.c: Likewise.
35723 * video/i386/pc/vbe.c: Likewise.
0bd41162 35724
6323696a 357252005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35726
35727 * DISTLIST: Added term/i386/pc/vesafb.c
35728 DISTLIST: Added video/i386/pc/vbe.c
35729 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35730 DISTLIST: Added commands/i386/pc/vbe_test.c.
35731 * commands/i386/pc/vbe_list_modes.c: New file.
35732 * commands/i386/pc/vbe_test.c: Likewise.
35733 * term/i386/pc/vesafb.c: Likewise.
35734 * video/i386/pc/vbe.c: Likewise.
35735 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35736 (grub_vbe_probe) Added prototype.
35737 (grub_vbe_set_video_mode) Likewise.
35738 (grub_vbe_get_video_mode) Likewise.
35739 (grub_vbe_get_video_mode_info) Likewise.
35740 (grub_vbe_set_pixel_rgb) Likewise.
35741 (grub_vbe_set_pixel_index) Likewise.
35742 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35743 (pkgdata_MODULES): Added vesafb.mod.
35744 (pkgdata_MODULES): Added vbe_list_modes.mod.
35745 (pkgdata_MODULES): Added vbe_test.mod.
35746 (vbe_mod_SOURCES): Added.
35747 (vbe_mod_CFLAGS): Likewise.
35748 (vesafb_mod_SOURCES): Likewise.
35749 (vesafb_mod_CFLAGS): Likewise.
35750 (vbe_list_modes_mod_SOURCES): Likewise.
35751 (vbe_list_modes_mod_CFLAGS): Likewise.
35752 (vbe_test_mod_SOURCES): Likewise.
35753 (vbe_test_mod_CFLAGS): Likewise.
35754
0a74e62f 357552005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35756
0a74e62f 35757 * normal/command.c (grub_command_execute): If INTERACTIVE is
35758 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35759 CMDLINE. Disable the pager if INTERACTIVE is true.
35760 All callers are changed.
35761
35762 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35763 before reading a config file.
35764 * normal/main.c (read_config_file): Even if a command is not
35765 found, register it if it is within an entry.
35766
35767 * util/grub-emu.c: Include sys/types.h and unistd.h.
35768 (options): Added --hold.
35769 (struct arguments): Added a new member "hold".
35770 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35771 missing.
35772 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35773 cleared by a debugger, if it is not zero.
35774
35775 * include/grub/normal.h (grub_command_execute): Add an argument
35776 INTERACTIVE.
35777
e51f85ae 357782005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35779
35780 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35781
e9c6f39b 357822005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35783
35784 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35785 program with another one, because the old one didn't detect a bug
35786 in gcc-3.4. Always use regparm 2, because the new test is still
35787 not enough for gcc-4.0. Someone must investigate a simple test
35788 case which detects a bug in gcc-4.0.
35789
8de3495c 357902005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35791
35792 * DISTLIST: Added normal/completion.c.
35793
35794 * normal/completion.c: New file.
f19dbdb7 35795
8de3495c 35796 * term/i386/pc/console.c (grub_console_getwh): New function.
35797 (grub_console_term): Assign grub_console_getwh to getwh.
35798
35799 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35800 function is defined in normal/completion.c as
35801 grub_normal_do_completion.
35802 (grub_cmdline_get): Use grub_normal_do_completion instead of
35803 grub_tab_complete.
35804
35805 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35806 returns non-zero, otherwise return 0.
35807 (grub_partition_iterate): First, probe the partition map. Then,
35808 call ITERATE only for this partition map.
35809
35810 * kern/misc.c (grub_strncmp): Rewritten.
35811
35812 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35813 returns non-zero. Otherwise return 0.
35814
35815 * include/grub/partition.h (grub_partition_map_iterate): Return
35816 int instead of void.
35817
35818 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35819
35820 * include/grub/misc.h (grub_strncmp): Change the type of N to
35821 grub_size_t.
35822
35823 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35824 of void.
35825
35826 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 35827 unsigned explicitly before comparing it with I.
8de3495c 35828
35829 * kern/main.c (grub_env_write_root): Add the attribute unused into
35830 VAR.
35831
35832 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35833 normal/completion.c.
35834 (normal_mod_SOURCES): Likewise.
35835 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35836 (normal_mod_SOURCES): Likewise.
35837
35838 * normal/command.c (grub_iterate_commands): If ITERATE returns
35839 non-zero, return one immediately.
35840
e85e144b 358412005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35842
35843 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35844 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35845 descriptions.
35846 (grub_vbe_get_controller_info): New function.
35847 (grub_vbe_get_mode_info): Likewise.
35848 (grub_vbe_set_mode): Likewise.
35849 (grub_vbe_get_mode): Likewise.
35850 (grub_vbe_set_memory_window): Likewise.
35851 (grub_vbe_get_memory_window): Likewise.
35852 (grub_vbe_set_scanline_length): Likewise.
35853 (grub_vbe_get_scanline_length): Likewise.
35854 (grub_vbe_set_display_start): Likewise.
35855 (grub_vbe_get_display_start): Likewise.
35856 (grub_vbe_set_palette_data): Likewise.
35857 * include/grub/i386/pc/vbe.h: New file.
35858
c46153d2 358592005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35860
35861 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35862 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
35863 * DISTLIST: Likewise.
35864 * kern/ieee1275/of.c: Moved to ...
35865 * kern/ieee1275/ieee1275.c: ... here.
35866
0cb90c45 358672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35868
35869 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
35870 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
35871 Pass 0 as `end' parameter to grub_strtoul().
35872
a19fb360 358732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
35874
35875 * include/grub/powerpc/ieee1275/console.h: Do not include
35876 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
35877 ifdef.
35878 (grub_console_cur_color): Remove i386-specific prototype.
35879 (grub_console_real_putchar): Likewise.
35880 (grub_console_checkkey): Likewise.
35881 (grub_console_getkey): Likewise.
35882 (grub_console_getxy): Likewise.
35883 (grub_console_gotoxy): Likewise.
35884 (grub_console_cls): Likewise.
35885 (grub_console_setcursor): Likewise.
35886 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
35887 Include <grub/machine/console.h>.
35888 * term/ieee1275/ofconsole.c: Likewise.
35889
4ac9bd04 358902005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
35891
35892 * Makefile.in (LIBLZO): New variable.
35893
35894 * configure.ac: Check for LZO version 2.
35895
35896 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
35897 lzo/lzo1x.h instead of lzo1x.h.
35898
35899 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
35900 of -llzo.
35901
35902 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
35903 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
35904
35905 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
35906 copying the data from PARTITION to P.
35907
f4917dfd 359082005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35909
35910 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
35911 negative, unload the module.
35912
35913 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
35914 map is "pc_partition_map" but not "pc".
35915 (usage): Fix the description. The options are --boot-image and
35916 --core-image but not --boot-file or --core-file.
35917 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
35918 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
35919 DEFAULT_DIRECTORY.
35920
35921 * util/i386/pc/grub-install.in: Do not specify --boot-file or
35922 --core-file. Specify INSTALL_DEVICE as an argument.
35923
35924 * util/console.c: Include config.h.
35925 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
35926 [HAVE_NCURSES_H]: Include ncurses.h.
35927 [HAVE_CURSES_H]: Include curses.h.
35928 [!A_NORMAL] (A_NORMAL): Defined as zero.
35929 [!A_STANDOUT] (A_STANDOUT): Likewise.
35930
35931 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
35932 -lncurses.
35933 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
35934
35935 * configure.ac: Check for curses libraries and headers.
35936
35937 * Makefile.in (LIBCURSES): New variable.
35938
35939 * genmk.rb (Script::rule): Set the executable bits.
35940
35941 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
35942 name of the PC partition map is "pc_partition_map" but not "pc".
35943
0e143073 359442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35945
35946 * util/i386/pc/grub-install.in (grub_probefs): New variable.
35947 (modules): Likewise.
35948 (usage): Added descriptions for --modules and --grub-probefs.
35949 Handle --modules and --grub-probefs. Save the arguments in MODULES
35950 and GRUB_PROBEFS, respectively.
35951 Auto-detect a filesystem module against GRUBDIR. If the result is
35952 empty and modules are not specified explicitly, abort the
35953 installation. Add the result to MODULES.
35954
35955 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
35956 disk/powerpc/ieee1275/ofdisk.c,
35957 include/grub/powerpc/ieee1275/init.h and
35958 term/powerpc/ieee1275/ofconsole.c.
35959 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
35960 term/ieee1275/ofconsole.c.
35961
35962 * include/grub/powerpc/ieee1275/console.h: Resurrected.
35963
35964 * COPYING: Upgraded to the latest version. Only the address of the
35965 FSF office has changed.
f19dbdb7 35966
efd6e6d5 359672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
35968
35969 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
35970 kern/ieee1275.c with kern/ieee1275/of.c.
35971
35972 * kern/ieee1275.c: Moved to ...
35973 * kern/ieee1275/of.c: ... here.
35974
8ceafda2 359752005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
35976
35977 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 35978 readability.
8ceafda2 35979
35980 * config.guess: Updated to the latest version from gnulib.
35981 * config.sub: Likewise.
35982 * install.sh: Likewise.
35983 * mkinstalldirs: Likewise.
35984
35985 * include/grub/console.h: Removed. This file is arch-specific. Do
35986 not put this in include/grub.
35987
35988 * include/grub/i386/pc/console.h: Resurrected.
35989
35990 * util/console.c: Include grub/machine/console.h instead of
35991 grub/console.h.
35992 * util/grub-emu.c: Likewise.
35993
267f6cd9 359942005-08-04 Marco Gerards <metgerards@student.han.nl>
35995
35996 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
35997 hardcoded value.
f19dbdb7 35998
267f6cd9 35999 From Vincent Pelletier <subdino2004@yahoo.fr>
36000 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
36001 Redefined to use grub_getwh.
36002 (grub_term): New member named getwh.
36003 (grub_getwh): New prototype.
36004 * kern/term.c (grub_getwh): New function.
36005 * term/i386/pc/console.c (grub_console_getwh): New function.
36006 (grub_console_term): New member `getwh'.
36007 * term/i386/pc/vga.c (grub_vga_getwh): New function.
36008 (grub_vga_term): New member `getwh'.
0b5abe02 36009 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 36010 grub_ssize_t.
36011 (grub_ofconsole_getw): New function.
36012 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
36013 (grub_ofconsole_term): New field named getwh and new initial
36014 value.
36015
3be7266d 360162005-08-03 Hollis Blanchard <hollis@penguinppc.org>
36017
36018 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
36019 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
36020 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
36021 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
36022 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
36023 of <grub/machine/ieee1275.h>.
36024 * commands/ieee1275/reboot.c: Likewise.
36025 * boot/powerpc/ieee1275/ieee1275.c: Move ...
36026 * kern/ieee1275.c: ... to here. All users updated. Change all
36027 parameter structs to use new type `grub_ieee1275_cell_t'.
36028 * term/powerpc/ieee1275/ofconsole.c: Move ...
36029 * term/ieee1275/ofconsole.c: ... to here. All users updated.
36030 * disk/powerpc/ieee1275/ofdisk.c: Move ...
36031 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
36032 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
36033 to return int.
36034 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
36035 Remove unused prototypes. All users updated.
36036 * include/grub/powerpc/ieee1275/console.h: Removed.
36037 * include/grub/powerpc/ieee1275/ieee1275.h: Define
36038 `grub_ieee1275_cell_t'.
36039 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
36040 Cast comparisons with -1 to the correct type.
36041 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
36042 type to match `grub_ieee1275_entry_fn'.
36043
8b5f3938 360442005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
36045
36046 * DISTLIST: Added util/i386/pc/grub-probefs.c.
36047
36048 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
36049 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
36050 partmap/sun.c.
36051 (grub_probefs_SOURCES): New variable.
36052
36053 * util/i386/pc/grub-probefs.c: New file.
36054
36055 * util/i386/pc/grub-setup.c (main): Call
36056 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
36057 grub_hfs_init and grub_jfs_init to initialize the system. Call
36058 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
36059 grub_pc_partition_map_fini to finish the system.
36060
ea409713 360612005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
36062
36063 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
36064 function.
36065 (grub_multiboot_load_elf32): Likewise.
36066 (grub_multiboot_is_elf64): Likewise.
36067 (grub_multiboot_load_elf64): Likewise.
36068 (grub_multiboot_load_elf): Likewise.
36069 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
36070 an ELF32 or ELF64 file.
36071 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
36072
36073 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
36074 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
36075 NULL before calling FS->LABEL.
36076 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
36077 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
36078 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
36079 before calling FS->LABEL.
36080
141a288b 360812005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
36082
36083 * util/i386/pc/grub-install.in (datadir): New variable.
36084 (libdir): Removed.
36085 (pkgdatadir): New variable.
36086 (pkglibdir): Removed.
36087
0d5f8a54 360882005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
36089
36090 * DISTLIST: Added util/i386/pc/grub-install.in.
36091
36092 * util/i386/pc/grub-install.in: New file.
36093
36094 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
36095 (grub_install_SOURCES): Likewise.
36096
36097 * genmk.rb: Added support for scripts.
36098 (Script): New class.
36099 (scripts): New variable.
36100
36101 * Makefile.in (install-local): Install sbin_SCRIPTS by
36102 INSTALL_SCRIPT.
36103 (uninstall): Remove sbin_SCRIPTS.
36104
36105 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
36106 device, try to get a GRUB device by
36107 grub_util_biosdisk_get_grub_dev.
36108 Free DEST_DEV.
36109
36110 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
36111 description for --device-map.
36112
5f968e1e 361132005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36114
36115 Change the semantics of variable hooks. They now return strings
36116 instead of error values.
f19dbdb7 36117
5f968e1e 36118 * util/i386/pc/grub-setup.c: Include grub/env.h.
36119 (setup): Use grub_device_set_root instead of grub_env_set.
36120
36121 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
36122 grub_env_get instead of grub_device_set_root and
36123 grub_device_get_root, respectively.
36124
36125 * kern/main.c (grub_env_write_root): New function.
36126 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
36127 grub_env_set instead of grub_device_set_root.
36128
36129 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
36130 many variables.
36131 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
36132 rather than calling ENV->WRITE_HOOK afterwards.
36133 (grub_env_get): Return the result of ENV->READ_HOOK rather than
36134 passing a pointer of a pointer.
36135 (grub_register_variable_hook): Change the types of "read_hook" and
36136 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
36137 respectively.
36138 Allocate the default empty string on the heap, because this string
36139 may be freed later.
36140
36141 * kern/device.c: Include grub/env.h.
36142 (grub_device_set_root): Removed.
36143 (grub_device_get_root): Likewise.
36144 (grub_device_open): Use grub_env_get instead of
36145 grub_device_get_root.
36146
36147 * include/grub/env.h (grub_env_read_hook_t): New type.
36148 (grub_env_write_hook_t): Likewise.
36149 (grub_env_var): Change the types of "read_hook" and "write_hook"
36150 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36151 (grub_register_variable_hook): Likewise.
36152
36153 * include/grub/device.h (grub_device_set_root): Removed.
36154 (grub_device_set_root): Likewise.
36155
36156 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36157 make sure that DIRNAME terminates with '/', so that
36158 grub_fat_find_dir will fail if PATH is not a directory.
36159
36160 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36161 from DIRNAME.
36162 Use the qualifier auto for print_files and print_files_long.
36163 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36164 as a regular file.
36165 Put a newline only if there is no error.
36166 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36167 used.
36168
896f0afd 361692005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36170
36171 * kern/partition.c (grub_partition_probe): Initialize PART to
36172 NULL. Otherwise, when no partition map is registered, this returns
36173 a garbage.
36174
b28b81b2 361752005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36176
36177 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36178 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36179 valid.
36180
5f3607e0 361812005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36182
36183 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36184 information on each device, if it does not have partitions. Print
36185 "Device" instead of "Disk", because this function is not specific
36186 to disk devices.
36187
36188 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36189 static to ensure that it is put on the memory rather than a
36190 register.
36191
502c87e8 361922005-07-17 Yoshinori Okuji <okuji@enbug.org>
36193
36194 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36195 (grub_cat_init): Likewise.
36196 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36197 (options): Likewise.
36198 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36199 (grub_configfile_init): Likewise.
36200 * font/manager.c (GRUB_MOD_INIT): Likewise.
36201 * commands/help.c (GRUB_MOD_INIT): Likewise.
36202 (grub_help_init): Likewise.
36203 * normal/command.c (grub_command_init): Likewise.
36204 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36205 * disk/loopback.c (grub_loop_init): Likewise.
36206 (GRUB_MOD_INIT): Likewise.
36207 * commands/ls.c (grub_ls_init): Likewise.
36208 (GRUB_MOD_INIT): Likewise.
36209 (options): Likewise.
36210 * commands/boot.c (grub_boot_init): Likewise.
36211 (GRUB_MOD_INIT): Likewise.
36212 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36213 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36214 (GRUB_MOD_INIT): Likewise.
36215 * commands/cmp.c (grub_cmp_init): Likewise.
36216 (GRUB_MOD_INIT): Likewise.
36217
36218 * normal/arg.c: Use <> instead of "" to include header files.
36219 (SHORT_ARG_HELP): New macro.
36220 (SHORT_ARG_USAGE): Likewise.
36221 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36222 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36223 descriptions.
36224 (find_short): Check if C is 'h' or 'u' explicitly.
36225 (grub_arg_show_help): Use space characters instead of tabs. Treat
36226 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36227 are shown with --help and --usage only if they are not used for
36228 the command itself.
36229 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36230 'h' and 'u'.
36231
36232 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36233 const into "longarg". Change the type of "shortarg" to int.
36234
f806d18e 362352005-07-17 Yoshinori Okuji <okuji@enbug.org>
36236
36237 * boot/i386/pc/boot.S (boot_drive_check): New label.
36238
36239 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36240 macro.
36241
36242 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36243 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36244
e293232b 362452005-07-17 Yoshinori Okuji <okuji@enbug.org>
36246
36247 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36248 When turning off Gate A20, skip the check and return immediately,
36249 because this is not fatal usually.
36250
ebedfd00 362512005-07-17 Yoshinori Okuji <okuji@enbug.org>
36252
36253 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36254 be 0x7C00 instead of 0x8000.
36255
36256 * boot/i386/pc/pxeboot.S: Rewritten.
36257
36258 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36259 EXT_C.
36260 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36261 result.
36262
654fc59f 362632005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36264
36265 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36266 robustness. This routine now supports a BIOS call and System
36267 Control Port A to modify the gate A20.
36268
36269 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36270 Increased to 0x440.
36271
09f9923f 362722005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36273
36274 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36275 device path and resulting ihandle.
36276 (grub_ofdisk_close): dprintf the ihandle being closed.
36277 (grub_ofdisk_read): dprintf function parameters.
36278 * kern/mm.c (grub_mm_init_region): Likewise.
36279 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36280 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36281 size, and boot arguments.
36282 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36283 before loading into memory.
36284 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36285 before loading into memory.
36286
7ef504d8 362872005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36288
36289 * kern/mm.c: Added much documentation.
36290 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36291 8, set to 5 instead of 8.
36292
e0f050c2 362932005-07-10 Yoshinori Okuji <okuji@enbug.org>
36294
36295 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36296
36297 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36298 (grub_mkdevicemap_SOURCES): New variable.
36299
36300 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36301 lib/device.c of GRUB Legacy.
36302
7224189a 363032005-07-10 Yoshinori Okuji <okuji@enbug.org>
36304
36305 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36306 instead of PATH is NULL.
36307
68c864eb 363082005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36309
36310 * commands/cmp.c (BUFFER_SIZE): New macro.
36311 (grub_cmd_cmp): Close the right file at the right time. Compare
36312 only data just read. Don't report files of different size as
36313 identical. Dynamically allocate buffers. Move variable
36314 declarations at the beginning of function.
36315
e6f3e614 363162005-07-09 Yoshinori Okuji <okuji@enbug.org>
36317
36318 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36319 reverse.
36320
f8f1559a 363212004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36322
36323 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36324 when backspace is pressed at beginning of line.
36325
39c9d41d 363262005-07-03 Yoshinori Okuji <okuji@enbug.org>
36327
36328 * DISTLIST: Added genfslist.sh.
36329
36330 * normal/main.c (fs_module_list): New variable.
36331 (autoload_fs_module): New function.
36332 (read_fs_list): Likewise.
36333 (grub_normal_execute): Call read_fs_list.
36334
36335 * kern/fs.c (grub_fs_autoload_hook): New variable.
36336 (grub_fs_probe): Added support for auto-loading.
36337
36338 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36339 (grub_fs_module_list_t): New type.
36340
36341 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36342 (grub_fs_autoload_hook): New prototype.
36343
36344 * genfslist.sh: New file.
f19dbdb7 36345
39c9d41d 36346 * genmk.rb: Added a rule to generate a filesystem list.
36347
121c1d83 363482005-06-30 Marco Gerards <metgerards@student.han.nl>
36349
36350 * configure.ac: Fix the test for cross-compiling.
36351
36352 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36353 define GRUB_UTIL anymore.
36354
36355 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36356 so this function works on other systems than just big endian.
36357 (load_modules): Likewise.
36358 (add_segments): Likewise.
36359
e75d76e1 363602005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36361
36362 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36363 contains `l' modifier, get a long from va_arg().
36364
50b5a0a7 363652005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36366
36367 * kern/mm.c (grub_free): If the next free block which is being
36368 merged is the first free block, set the first block to the block
36369 being freed.
36370 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36371
89371b20 363722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36373
36374 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36375 `grub_ieee1275_chosen'.
36376
168d6e58 363772005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36378
36379 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36380 (grub_ieee1275_chosen): New variable.
36381 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36382 `chosen'.
36383 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36384 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36385 Rename first argument to `phandle' for consistency.
36386 (grub_ieee1275_get_property_length): Likewise.
36387 (grub_ieee1275_next_property): Likewise. Change type of first argument
36388 to grub_ieee1275_phandle_t.
36389 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36390 Move export next to declaration.
36391 (grub_ieee1275_chosen): New variable.
36392 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36393 Correct cosmetic typo.
36394 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36395 `grub_ieee1275_chosen'.
36396 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36397 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36398 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36399 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36400 `grub_ieee1275_chosen'.
36401
ca5baa3f 364022005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36403
36404 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36405 /chosen/bootargs.
36406 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36407 /chosen/bootargs as "variable=value" pairs.
36408
708b345f 364092005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36410
36411 * include/grub/misc.h (grub_dprintf): New macro.
36412 (grub_real_dprintf): New prototype.
36413 (grub_strword): Likewise.
36414 (grub_iswordseparator): Likewise.
36415 * kern/misc.c (grub_real_dprintf): New function.
36416 (grub_strword): Likewise.
36417 (grub_iswordseparator): Likewise.
36418
f4c5e67c 364192005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36420
36421 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36422 (roundup): Remove macro.
36423 (grub_ieee1275_flags): Make static.
36424 (grub_ieee1275_realmode): Remove.
36425 (grub_ieee1275_test_flag): New function.
36426 (grub_ieee1275_set_flag): Likewise.
36427 (find_options): Rename to `grub_ieee1275_find_options'; update
36428 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36429 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36430 (cmain): New prototype.
36431 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36432 `grub_ieee1275_flags' directly.
36433 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36434 machine/biosdisk.h.
36435 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36436 Don't include grub/machine/init.h.
36437 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36438 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36439 Remove prototype.
36440 (grub_ieee1275_realmode): Likewise.
36441 (grub_ieee1275_flag): New enum.
36442 (grub_ieee1275_test_flag): New prototype.
36443 (grub_ieee1275_set_flag): New prototype.
36444 * include/grub/powerpc/ieee1275/init.h: Remove file.
36445 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36446 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36447 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36448 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36449 comment.
36450 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36451 `grub_ieee1275_test_flag'.
36452 (grub_ieee1275_encode_devname): Likewise.
36453
ed16607e 364542005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36455
36456 * include/grub/powerpc/ieee1275/ieee1275.h
36457 (grub_ieee1275_encode_devname): New prototype.
36458 (grub_ieee1275_get_filename): Likewise.
36459 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36460 function.
36461 (grub_set_prefix): Likewise.
36462 (grub_machine_init): Call grub_set_prefix.
36463 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36464 (grub_parse_type): New enum.
36465 (grub_ieee1275_get_devargs): New function.
36466 (grub_ieee1275_get_devname): Likewise.
36467 (grub_ieee1275_parse_args): Likewise.
36468 (grub_ieee1275_get_filename): Likewise.
36469 (grub_ieee1275_encode_devname): Likewise.
36470
be369920 364712005-03-30 Marco Gerards <metgerards@student.han.nl>
36472
36473 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36474 `grub_loader_unset'.
36475
a5ce3a4a 364762005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36477
36478 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36479 instead of grub_ieee1275_interpret.
36480 (grub_halt_init): New function.
36481 (grub_halt_fini): Likewise.
36482 (GRUB_MOD_INIT): Correct message grammar.
36483 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36484 instead of grub_ieee1275_interpret.
36485 (grub_reboot_init): New function.
36486 (grub_reboot_fini): Likewise.
36487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36488 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36489 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36490 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36491 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36492 function.
36493 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36494 Add prototype.
36495 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36496 prototype.
36497 (grub_halt): Likewise.
36498 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36499 (cmain): Remove __attribute__((unused)).
36500 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36501 (grub_heap_len): Likewise.
36502 (grub_machine_fini): New function.
36503 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36504 (grub_halt): Likewise.
36505 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36506 function.
36507 * util/powerpc/ieee1275/misc.c: New file.
36508
0058f771 365092005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36510
36511 * DISTLIST: New file.
36512 * gendistlist.sh: Likewise.
f19dbdb7 36513
0058f771 36514 * Makefile.in (COMMON_DISTFILES): Removed.
36515 (BOOT_DISTFILES): Likewise.
36516 (CONF_DISTFILES): Likewise.
36517 (DISK_DISTFILES): Likewise.
36518 (FS_DISTFILES): Likewise.
36519 (INCLUDE_DISTFILES): Likewise.
36520 (KERN_DISTFILES): Likewise.
36521 (LOADER_DISTFILES): Likewise.
36522 (TERM_DISTFILES): Likewise.
36523 (UTIL_DISTFILES): Likewise.
36524 (DISTFILES): Likewise.
36525 (uninstall): Uninstall files in $(pkgdata_DATA).
36526 (DISTLIST): New target.
36527 (distdir): Use the contents of the file DISTLIST to get a list of
36528 distributed files.
36529
46b3b8a5 365302005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36531
36532 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36533 descriptor. This is ported from GRUB Legacy.
36534
36535 * gencmdlist.sh: Added an extra semicolon to make it work with
36536 old sed versions. Reported by Robert Bihlmeyer
36537 <robbe@orcus.priv.at>.
36538
5822ff87 365392005-03-08 Yoshinori Okuji <okuji@enbug.org>
36540
36541 Automatic loading of commands is supported.
f19dbdb7 36542
5822ff87 36543 * normal/main.c (read_command_list): New function.
36544 (grub_normal_execute): Call read_command_list.
36545
36546 * normal/command.c (grub_register_command): Return zero or CMD.
36547 Allocate CMD->NAME from the heap.
36548 Initialize CMD->MODULE_NAME to zero.
36549 Find the same name as well. If the same command is found and it is
36550 a dummy command, overwrite members. If it is not a dummy command,
36551 return zero.
36552 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36553 (grub_command_find): If a dummy command is found, load a module
36554 and retry to find a command only once.
36555
36556 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36557 make sure that each command is loaded.
36558
36559 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36560 macro.
36561 (struct grub_command): Remove const from the member `name'.
36562 Add a new member `module_name'.
36563 (grub_register_command): Return grub_command_t.
36564
36565 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36566 sure that each command is loaded.
36567
36568 * genmk.rb (PModule::rule): Specify a module name without the
36569 suffix ".mod" to gencmdlist.sh.
36570
7b1f4b57 365712005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36572
36573 * gencmdlist.sh: New file.
f19dbdb7 36574
7b1f4b57 36575 * genmk.rb (PModule::rule): Generate a rule for a command list.
36576 Clean command.lst.
36577 Generate command.lst from $(COMMANDFILES).
36578
36579 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36580 (DATA): Added $(pkgdata_DATA).
36581 (install-local): Install files in $(pkgdata_DATA).
36582
062aaf39 365832005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36584
36585 * term/i386/pc/vga.c (debug_command): Removed.
36586 (GRUB_MOD_INIT): Do not register the command "debug".
36587
36588 From Hollis Blanchard:
36589 * commands/configfile.c: New file.
36590 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36591 commands/configfile.c.
36592 (pkgdata_MODULES): Added configfile.mod.
36593 (configfile_mod_SOURCES): New variable.
36594 (configfile_mod_CFLAGS): Likewise.
36595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36596 commands/configfile.c.
36597 (pkgdata_MODULES): Added configfile.mod.
36598 (configfile_mod_SOURCES): New variable.
36599 (configfile_mod_CFLAGS): Likewise.
36600 * util/grub-emu.c (main): Call grub_configfile_init and
36601 grub_configfile_fini.
36602 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36603 prototype.
36604 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36605
cee01aa6 366062005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36607
36608 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36609 address.
36610
36611 * commands/help.c (grub_cmd_help): Do not print newlines after
36612 the last command in print_command_help.
36613
93f3a1d8 366142005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36615
36616 * commands/default.h: New file.
36617 * commands/timeout.h: Likewise.
36618 * normal/context.c: Likewise.
f19dbdb7 36619
93f3a1d8 36620 * util/misc.c: Do not include sys/times.h.
36621 Include sys/time.h and grub/machine/time.h.
36622 (grub_get_rtc): Rewritten with gettimeofday.
36623
36624 * util/grub-emu.c (main): Call grub_default_init and
36625 grub_timeout_init before grub_normal_init, and call
36626 grub_timeout_fini and grub_default_fini after grub_main.
36627
36628 * util/console.c (grub_ncurses_checkkey): Return the read
36629 character or -1.
36630
36631 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36632 timeouts.
36633
36634 * normal/main.c (read_config_file): Push MENU. If this fails,
36635 print an error and wait for a user input.
36636 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36637 If a menu is empty or an error occurs, pop MENU.
36638 (grub_normal_execute): Pop and free MENU after grub_menu_run
36639 returns.
36640
36641 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36642
36643 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36644 include time.h.
36645 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36646 without GRUB_UTIL.
36647 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36648 time.h.
36649 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36650 without GRUB_UTIL.
36651
36652 * include/grub/normal.h (struct grub_menu_list): New struct.
36653 (grub_menu_list_t): New type.
36654 (struct grub_context): New struct.
36655 (grub_context_t): New type.
36656 (grub_register_command): Got rid of EXPORT_FUNC.
36657 (grub_unregister_command): Likewise.
36658 (grub_context_get): New prototype.
36659 (grub_context_get_current_menu): Likewise.
36660 (grub_context_push_menu): Likewise.
36661 (grub_context_pop_menu): Likewise.
36662 [GRUB_UTIL] (grub_default_init): Likewise.
36663 [GRUB_UTIL] (grub_default_fini): Likewise.
36664 [GRUB_UTIL] (grub_timeout_init): Likewise.
36665 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36666
36667 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36668 commands/timeout.c and normal/context.c.
36669 (pkgdata_MODULES): Added default.mod and timeout.mod.
36670 (normal_mod_SOURCES): Added normal/context.c.
36671 (default_mod_SOURCES): New variable.
36672 (default_mod_CFLAGS): Likewise.
36673 (timeout_mod_SOURCES): Likewise.
36674 (timeout_mod_CFLAGS): Likewise.
36675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36676 conf/i386-pc.rmk.
36677 (pkgdata_MODULES): Added default.mod and timeout.mod.
36678 (normal_mod_SOURCES): Added normal/context.c.
36679 (default_mod_SOURCES): New variable.
36680 (default_mod_CFLAGS): Likewise.
36681 (timeout_mod_SOURCES): Likewise.
36682 (timeout_mod_CFLAGS): Likewise.
36683
36684 * Makefile.in (all-local): Added $(MKFILES).
36685
4ed2e1dd 366862005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36687
36688 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36689 (grub_emu_SOURCES): Likewise.
36690 (pkgdata_MODULES): Add `sun.mod'.
36691 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36693 `partmap/sun.c'.
36694 (pkgdata_MODULES): Add `sun.mod'.
36695 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36696 * include/grub/partition.h (grub_sun_partition_map_init): New
36697 prototype.
36698 (grub_sun_partition_map_fini): Likewise.
36699 * partmap/sun.c: New file.
36700 * util/grub-emu.c (main): Initialize and de-initialize the sun
36701 partitionmap support.
36702
4d4e372e 367032005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36704
36705 This implements an Emacs-like menu entry editor.
f19dbdb7 36706
4d4e372e 36707 * normal/menu_entry.c: New file.
f19dbdb7 36708
4d4e372e 36709 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36710 characters to ASCII.
36711 (saved_char): New variable.
36712 (grub_ncurses_checkkey): Rewritten completely.
36713 (grub_ncurses_getkey): Likewise.
36714 (grub_ncurses_init): Call raw instead of cbreak.
36715
36716 * normal/menu.c (print_entry): Do not put a space.
36717 (init_page): Renamed to ...
36718 (grub_menu_init_page): ... this. All callers changed.
36719 (edit_menu_entry): Removed.
36720 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36721
36722 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36723
36724 * kern/misc.c (grub_vprintf): Call grub_refresh.
36725
36726 * normal/menu.c (DISP_LEFT): Renamed to ...
36727 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36728 * normal/menu.c (DISP_UP): Renamed to ...
36729 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36730 * normal/menu.c (DISP_RIGHT): Renamed to ...
36731 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36732 * normal/menu.c (DISP_DOWN): Renamed to ...
36733 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36734 * normal/menu.c (DISP_HLINE): Renamed to ...
36735 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36736 * normal/menu.c (DISP_VLINE): Renamed to ...
36737 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36738 * normal/menu.c (DISP_UL): Renamed to ...
36739 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36740 * normal/menu.c (DISP_UR): Renamed to ...
36741 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36742 * normal/menu.c (DISP_LL): Renamed to ...
36743 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36744 * normal/menu.c (DISP_LR): Renamed to ...
36745 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36746 * normal/menu.c (TERM_WIDTH): Renamed to ...
36747 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36748 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36749 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36750 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36751 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36752 * normal/menu.c (TERM_MARGIN): Renamed to ...
36753 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36754 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36755 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36756 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36757 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36758 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36759 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36760 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36761 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36762 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36763 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36764 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36765 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36766 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36767 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36768 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36769 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36770 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36771 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36772 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36773 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36774 All callers changed.
36775
36776 * include/grub/normal.h: New prototype.
36777
36778 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36779 normal/menu_entry.c.
36780 (normal_mod_SOURCES): Likewise.
36781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36782 (normal_mod_SOURCES): Likewise.
36783
e6b92c8a 367842005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36785
36786 * include/grub/normal.h (grub_halt_init): New prototype.
36787 (grub_halt_fini): Likewise.
36788 (grub_reboot_init): Likewise.
36789 (grub_reboot_fini): Likewise.
36790
36791 * util/grub-emu.c: Include signal.h.
36792 (main_env): New global variable.
36793 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36794 catch C-c.
36795 (grub_machine_fini): New function.
36796 (main): Call grub_halt_init and grub_reboot_init before
36797 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36798 Call setjmp with MAIN_ENV to go back afterwards.
36799 Call grub_machine_fini right before return.
36800
36801 * include/grub/util/misc.h: Include setjmp.h.
36802 (main_env): New prototype.
36803
36804 * include/grub/kernel.h (grub_machine_fini): New prototype.
36805 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36806 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36807
36808 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36809 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36810 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 36811
e6b92c8a 36812 * util/i386/pc/misc.c: New file.
f19dbdb7 36813
e6b92c8a 36814 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36815 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36816 commands/i386/pc/reboot.c.
36817
c642636f 368182005-02-14 Guillem Jover <guillem@hadrons.org>
36819
36820 * include/grub/dl.h (grub_dl_check_header): New prototype.
36821 (grub_arch_dl_check_header): Change return type to grub_err_t,
36822 remove size parameter and export function. Update all callers.
36823 * kern/dl.c (grub_dl_check_header): New function.
36824 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36825 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36826 are inside the core.
36827 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36828 independent ELF header checks.
36829 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36830 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36831 `grub_dl_check_header' instead of explicit checks. Check for the
36832 ELF type.
36833 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36834 `grub_dl_check_header' instead of explicit checks. Remove arch
36835 specific ELF header checks.
36836
e6b92c8a 36837 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36838 argument SIZE.
36839
5eabe94b 368402005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36841
36842 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36843 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36844
1b14a681 368452005-02-12 Hollis Blanchard <hollis@penguinppc.org>
36846
36847 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 36848 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 36849 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 36850 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 36851 * partmap/amiga.c (amiga_partition_map_iterate): Return
36852 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
36853 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36854
aca108aa 368552005-02-01 Guillem Jover <guillem@hadrons.org>
36856
36857 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
36858 help info.
36859
c9f9c556 368602005-01-31 Marco Gerards <metgerards@student.han.nl>
36861
36862 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
36863 Removed prototype.
36864 (grub_rescue_cmd_linux): New prototype.
36865 (grub_rescue_cmd_initrd): Likewise.
36866 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
36867 `bi_rec'.
36868 (grub_linux_release_mem): Release the memory for the initrd.
36869 (grub_load_linux): Renamed from this...
36870 (grub_rescue_cmd_linux): ...To this. Changed all callers.
36871 Changed `entry' not to be static. Loop over memory regions to
36872 find another one when the default fails.
36873 (grub_rescue_cmd_initrd): New function.
36874 (grub_linux_init): Remove function.
36875 (grub_linux_fini): Likewise.
36876 (GRUB_MOD_INIT): Register `initrd'.
36877 (GRUB_MOD_FINI): Unregister `initrd'.
36878 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
36879 Function removed.
36880 (grub_linux_normal_fini): Likewise.
36881 (GRUB_MOD_INIT): Register `initrd'.
36882 (GRUB_MOD_FINI): Unregister `initrd'.
36883
990cf3aa 368842005-01-31 Marco Gerards <metgerards@student.han.nl>
36885
36886 * commands/help.c: New file.
36887 * normal/arg.c (show_help): Renamed to...
36888 (grub_arg_show_help): ... this.
36889 * commands/i386/pc/halt.c: New file.
36890 * commands/i386/pc/reboot.c: Likewise.
36891 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
36892 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
36893 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
36894 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
36895 variables.
36896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36897 `commands/help.c'.
36898 (pkgdata_MODULES): Add `help.mod'.
36899 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
36900 * grub/i386/pc/init.h (grub_reboot): New prototype.
36901 (grub_halt): Likewise.
36902 * include/grub/normal.h (grub_arg_show_help): New prototype.
36903 (grub_help_init): Likewise.
36904 (grub_help_fini): Likewise.
36905 * util/grub-emu.c (main): Initialize and deinitialize the help
36906 command.
36907
36908 * normal/cmdline.c (grub_cmdline_get): Doc fix.
36909
36910 * normal/command.c (grub_command_init): Fixed the description of
36911 the `set' and `unset' commands.
36912
369132005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 36914
36915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
36916 function.
36917 * commands/ieee1275/halt.c: New file.
36918 * commands/ieee1275/reboot.c: Likewise.
36919 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
36920 `__attribute__ ((unused))'. Some GCS related fixed.
36921 (grub_suspend_init) [GRUB_UTIL]: Function removed.
36922 (grub_suspend_fini): Likewise.
36923 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
36924 and `halt.mod'.
36925 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
36926 (halt_mod_CFLAGS): New variables.
36927 * include/grub/powerpc/ieee1275/ieee1275.h
36928 (grub_ieee1275_interpret): New prototype.
36929
1ab09cc7 369302005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
36931
36932 * include/grub/misc.h (memmove): New prototype.
36933 (memcpy): Likewise.
36934
8b8cbdb2 369352005-01-22 Hollis Blanchard <hollis@penguinppc.org>
36936
36937 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
36938 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
36939
e3741a27 369402005-01-22 Marco Gerards <metgerards@student.han.nl>
36941
36942 * kern/misc.c (grub_strndup): Function rewritten.
36943
776bd780 369442005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
36945
36946 * normal/menu.c (TERM_WIDTH): Macro redefined.
36947 (TERM_TOP_BORDER_Y): Likewise.
36948 (draw_border): Replaced while-loop by a for-loop. Make the number
36949 of lines consistent with the number of lines displayed in
36950 print_entries. Added a margin below the rectangle.
36951 (print_entry): Make the entry fit in the rectangle.
36952 (print_entries): Display the scroll arrows next to the right
36953 border.
36954
78026bce 369552005-01-21 Marco Gerards <metgerards@student.han.nl>
36956
36957 * fs/minix.c (grub_minix_find_file): Reserve more space for
36958 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
36959 `grub_strncpy' to copy `path' into it.
36960
67bbaf0f 369612005-01-21 Marco Gerards <metgerards@student.han.nl>
36962
36963 Add the loopback device, a device via which files can be accessed
36964 as devices.
f19dbdb7 36965
67bbaf0f 36966 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
36967 (pkgdata_MODULES): Add loopback.mod.
36968 (loopback_mod_SOURCES): New variable.
36969 (loopback_mod_CFLAGS): Likewise.
36970 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36971 `disk/loopback.c'.
36972 (pkgdata_MODULES): Add loopback.mod.
36973 (loopback_mod_SOURCES): New variable.
36974 (loopback_mod_CFLAGS): Likewise.
36975 * disk/loopback.c: new file.
36976 * include/grub/normal.h (grub_loop_init): New prototype.
36977 (grub_loop_fini): New prototype.
36978 * util/grub-emu.c (main): Initialize and de-initialize loopback
36979 support.
36980 * include/grub/disk.h (grub_disk_dev_id): Add
36981 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
36982
6f1c18bd 369832005-01-20 Hollis Blanchard <hollis@penguinppc.org>
36984
36985 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
36986 function.
36987 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
36988 (suspend_mod_SOURCES): New variable.
36989 (suspend_mod_CFLAGS): Likewise.
36990 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
36991 New prototype.
36992 * commands/ieee1275/suspend.c: New file.
36993
b38551da 369942005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36995
36996 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 36997 ((unused))' to `__attribute__ ((used))'.
b38551da 36998 (GRUB_MOD_FINI): Likewise.
36999 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
37000 * genmk.rb (PModule): Assign space to common symbols when linking
37001 modules.
37002
777aff39 370032005-01-20 Marco Gerards <metgerards@student.han.nl>
37004
37005 * include/grub/mm.h (grub_mm_init_region): Change the type of the
37006 `unsigned' arguments to `grub_size_t'.
37007 (grub_malloc): Likewise.
37008 (grub_realloc): Likewise.
37009 (grub_memalign): Likewise.
37010 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
37011 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37012 * util/misc.c (grub_malloc): Likewise.
37013 (grub_realloc): Likewise.
37014 * kern/mm.c (get_header_from_pointer): Change the casts to
37015 `unsigned' into a cast to `grub_size_t'.
37016
37017 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
37018 point to `currnode' when `currnode' is changed.
37019
37020 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
37021 Schottelius <nico-linux@schottelius.org>.
37022
d0ff18e1 370232005-01-09 Hollis Blanchard <hollis@penguinppc.org>
37024
37025 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
37026 (note_path): Remove variable.
37027 (GRUB_IEEE1275_NOTE_NAME): New macro.
37028 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
37029 (grub_ieee1275_note_hdr): New structure.
37030 (grub_ieee1275_note_desc): Likewise.
37031 (grub_ieee1275_note): Likewise.
37032 (load_note): Remove `dir' argument. All callers updated. Remove
37033 `note_img' and `path'. Do not load a file from `note_path'.
37034 Initialize a struct grub_ieee1275_note and write that to `out'.
37035 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
37036
4ca7004c 370372005-01-05 Marco Gerards <metgerards@student.han.nl>
37038
37039 * util/misc.c (grub_util_read_image): Revert last change. It
37040 called `grub_util_read_at', which seeks from the beginning of the
37041 file.
37042
0b412211 370432005-01-04 Hollis Blanchard <hollis@penguinppc.org>
37044
37045 * TODO: Add note about endianness in grub-mkimage.
37046 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
37047 section.
37048 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
37049 (grub_mkimage_SOURCES): New target.
37050 * include/grub/kernel.h (grub_start_addr): Remove variable.
37051 (grub_end_addr): Likewise.
37052 (grub_total_module_size): Likewise.
37053 (grub_kernel_image_size): Likewise.
37054 (GRUB_MODULE_MAGIC): New constant.
37055 (grub_module_info): New structure.
37056 (grub_arch_modules_addr): New prototype.
37057 (grub_get_end_addr): Remove prototype.
37058 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
37059 * include/grub/powerpc/ieee1275/kernel.h: New file.
37060 * include/grub/util/misc.h (grub_util_get_fp_size): New
37061 prototype.
37062 (grub_util_read_at): Likewise.
37063 (grub_util_write_image_at): Likewise.
37064 * kern/main.c (grub_get_end_addr): Remove function.
37065 (grub_load_modules): Call grub_arch_modules_addr instead of using
37066 grub_end_addr. Look for a grub_module_info struct in memory. Use
37067 the grub_module_info fields instead of calling grub_get_end_addr
37068 as loop conditions. Move grub_add_unused_region code here.
37069 (grub_add_unused_region): Remove function.
37070 * kern/i386/pc/init.c: Include grub/cache.h.
37071 (grub_machine_init): Remove call to grub_get_end_addr. Remove
37072 one call to add_mem_region.
37073 (grub_arch_modules_addr): New function.
37074 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
37075 (grub_total_module_size): Likewise.
37076 Include grub/machine/kernel.h.
37077 (grub_arch_modules_addr): New function.
37078 * util/grub-emu.c (grub_end_addr): Remove variable.
37079 (grub_total_module_size): Likewise.
37080 (grub_arch_modules_addr): New function.
37081 * util/misc.c: Include unistd.h.
37082 (grub_util_get_fp_size): New function.
37083 (grub_util_read_at): Likewise.
37084 (grub_util_write_image_at): Likewise.
37085 (grub_util_read_image): Call grub_util_read_at.
37086 (grub_util_write_image): Call grub_util_write_image_at.
37087 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
37088 additional memory in kernel_img for a struct grub_module_info.
37089 Fill in that grub_module_info.
37090 * util/powerpc/ieee1275/grub-mkimage.c: New file.
37091
458786f8 370922005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37093
37094 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
37095 New function.
37096 * include/grub/powerpc/ieee1275/ieee1275.h
37097 (grub_ieee1275_milliseconds): New prototype.
37098 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
37099 Change to 1000.
37100 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
37101 grub_ieee1275_milliseconds.
37102
ac507d1b 371032005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37104
37105 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
37106 variable.
37107 (find_options): New function.
37108 (cmain): Call find_options.
37109 * include/grub/powerpc/ieee1275/ieee1275.h
37110 (grub_ieee1275_realmode): New extern variable.
37111 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
37112 grub_map if grub_ieee1275_realmode is false.
37113
6b8fd1c4 371142004-12-29 Marco Gerards <metgerards@student.han.nl>
37115
37116 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
37117 lines are inserted and make it work like readline. Reported by
37118 Vincent Pelletier <subdino2004@yahoo.fr>.
37119
8514a1e0 371202004-12-28 Marco Gerards <metgerards@student.han.nl>
37121
37122 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
37123
37124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
37125 `kern/powerpc/cache.S'.
37126
924b6140 371272004-12-27 Marco Gerards <metgerards@student.han.nl>
37128
37129 * genmk.rb: Handle the `Program' class in the main loop. Written
37130 by Johan Rydberg <jrydberg@gnu.org>.
37131 (Program): New class.
37132 (programs): New variable.
37133 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
37134 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
37135 instead of "grub/kernel.h". Include <grub/machine/init.h>.
37136 (help_arch): Function removed.
37137 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
37138 `powerpc/libgcc.h' and `loader.h'.
37139 (pkgdata_PROGRAMS): New variable.
37140 (sbin_UTILITIES): Variable removed.
37141 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37142 (grubof_SOURCES): Variable re-defined so it only includes the
37143 core functionality.
37144 (grubof_CFLAGS): Remove `-DGRUBOF'.
37145 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37146 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37147 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37148 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37149 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37150 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37151 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37152 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37153 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37154 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37155 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37156 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37157 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37158 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37159 (pc_mod_CFLAGS): New variables.
37160 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37161 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37162 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37163 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37164 Moved from here...
37165 * include/grub/i386/pc/init.h (grub_os_area_addr)
37166 (rub_os_area_size): ... to here.
37167 * include/grub/powerpc/ieee1275/ieee1275.h
37168 (grub_ieee1275_entry_fn): Export symbol.
37169 * include/grub/powerpc/ieee1275/init.h: New file.
37170 * include/grub/powerpc/libgcc.h: Likewise.
37171 * include/grub/cache.h: Likewise.
37172 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37173 <hollis@penguinppc.org>.
37174 * kern/dl.c: Include <grub/cache.h>.
37175 (grub_dl_flush_cache): New function.
37176 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37177 for this module.
37178 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37179 (grub_console_init): Removed prototypes.
37180 (grub_machine_init): Don't initialize the modules anymore.
37181 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37182 static.
37183 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37184 Macro undef removed.
37185 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37186 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37187 relocation `R_PPC_REL32'. Return an error when the relocation is
37188 unknown.
37189 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37190 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37191 * util/misc.c (grub_arch_sync_caches): Likewise.
37192
e4b47e0c 371932004-12-19 Marco Gerards <metgerards@student.han.nl>
37194
37195 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37196 `symlist.c', add `grubof_symlist.c'.
37197 (symlist.c): Variable removed.
37198 (grubof_HEADERS): Variable added.
37199 (grubof_symlist.c): New target.
37200 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37201 `kernel_img_HEADERS'.
37202 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37203 * kern/powerpc/dl.c: New file.
37204 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37205 Function removed.
37206 (grub_arch_dl_relocate_symbols): Likewise.
37207 (grub_register_exported_symbols): Likewise.
37208
4ceb3636 372092004-12-13 Marco Gerards <metgerards@student.han.nl>
37210
37211 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37212 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37213 to fail instead. Reported by Vincent Pelletier
37214 <subdino2004@yahoo.fr>.
37215
37216 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37217 it is not allocated. Reported by Vincent Pelletier
37218 <subdino2004@yahoo.fr>.
37219
37220 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37221 output so the output looks better.
f19dbdb7 37222
3f1578fe 372232004-12-04 Marco Gerards <metgerards@student.han.nl>
37224
37225 Modulize the partition map support and add support for the amiga
37226 partition map.
f19dbdb7 37227
3f1578fe 37228 * commands/ls.c: Include <grub/partition.h> instead of
37229 <grub/machine/partition.h>.
37230 * kern/disk.c: Likewise.
37231 * kern/rescue.c: Likewise.
37232 * loader/i386/pc/chainloader.c: Likewise.
37233 * normal/cmdline.c: Likewise.
37234 * kern/powerpc/ieee1275/init.c: Likewise.
37235 (grub_machine_init): Call `grub_pc_partition_map_init',
37236 `grub_amiga_partition_map_init' and
37237 `grub_apple_partition_map_init'.
37238 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37239 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37240 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37241 `partition.h' and `pc_partition.h'.
37242 (grub_setup_SOURCES): Remove
37243 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37244 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37245 (grub_emu_SOURCES): Likewise.
37246 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37247 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37248 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37250 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37251 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37252 (grubof_SOURCES): Likewise.
37253 * disk/i386/pc/partition.c: File removed.
37254 * disk/powerpc/ieee1275/partition.c: Likewise.
37255 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37256 * include/grub/i386/pc/partition.h: Likewise.
37257 * kern/partition.c: New file.
37258 * partmap/amiga.c: Likewise.
37259 * partmap/apple.c: Likewise.
37260 * partmap/pc.c: Likewise.
37261 * include/grub/partition.h: Likewise..
37262 * include/grub/pc_partition.h: Likewise.
37263 * util/grub-emu.c: Include <grub/partition.h> instead of
37264 <grub/machine/partition.h>.
37265 (main): Call `grub_pc_partition_map_init',
37266 `grub_amiga_partition_map_init' and
37267 `grub_apple_partition_map_init' and deinitialize afterwards.
37268 * util/i386/pc/biosdisk.c: Include `#include
37269 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37270 `<grub/machine/partition.h>'.
37271 * util/i386/pc/grub-setup.c: Likewise.
37272 * util/i386/pc/biosdisk.c: Likewise.
37273 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37274 partition information in case of a PC partition.
37275 * util/i386/pc/grub-setup.c: Include `#include
37276 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37277 `<grub/machine/partition.h>'.
37278 (setup): Only access the PC specific partition information in case
37279 of a PC partition.
37280
0ef4ced9 372812004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37282
0ef4ced9 37283 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37284 (grub_longjmp): Likewise.
37285 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37286 20.
37287 * normal/powerpc/setjmp.S: New file.
37288 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37289 `normal/powerpc/setjmp.S'.
37290 (grubof_CFLAGS): Add `-DGRUBOF'.
37291 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37292 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37293
19950e29 372942004-11-16 Marco Gerards <metgerards@student.han.nl>
37295
37296 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37297 property named `name'. Correctly handle the error returned by
37298 `grub_ieee1275_finddevice' if a device can not be opened.
37299
a2fea427 373002004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37301
37302 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37303 `actual' for negativity.
37304 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37305 kern/fshelp.c.
37306
41ea0ea3 373072004-11-01 Marco Gerards <metgerards@student.han.nl>
37308
37309 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37310 (PAGE_OFFSET): New macro.
37311 (CRTC_ADDR_PORT): Likewise.
37312 (CRTC_DATA_PORT): Likewise.
37313 (START_ADDR_HIGH_REGISTER): Likewise.
37314 (START_ADDR_LOW_REGISTER): Likewise.
37315 (GRAPHICS_ADDR_PORT): Likewise.
37316 (GRAPHICS_DATA_PORT): Likewise.
37317 (READ_MAP_REGISTER): Likewise.
37318 (INPUT_STATUS1_REGISTER): Likewise.
37319 (INPUT_STATUS1_VERTR_BIT): Likewise.
37320 (page): New variable.
37321 (wait_vretrace): New function.
37322 (set_read_map): Likewise.
37323 (set_start_address): Likewise.
37324 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37325 the right page.
37326 (check_vga_mem): Take the page into account.
37327 (write_char): Likewise.
37328 (write_cursor): Likewise.
37329 (scroll_up): Likewise. Copy the page to the page that is not
37330 shown and switch between both pages.
37331 (grub_vga_putchar): Fix off by one error.
37332 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37333 account.
37334
ad0bd20b 373352004-11-01 Marco Gerards <metgerards@student.han.nl>
37336
37337 Add support for iso9660 (including rockridge).
f19dbdb7 37338
ad0bd20b 37339 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37340 (iso9660_mod_SOURCES): New variable.
37341 (iso9660_mod_CFLAGS): Likewise.
37342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37343 * include/grub/fs.h (grub_iso9660_init): New prototype.
37344 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37345 * fs/iso9660.c: New file.
37346
37347 * include/grub/misc.h (grub_strncat): New prototype.
37348 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37349
ad0bd20b 37350 * fs/hfs.c (grub_hfs_mount): Translate the error
37351 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37352 * fs/jfs.c (grub_jfs_mount): Likewise.
37353 * fs/ufs.c (grub_ufs_mount): Likewise.
37354
a5477a59 373552004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37356
37357 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37358 which initialized BAT registers.
37359 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37360 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37361 Move from here...
37362 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37363 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37364 ... to here.
37365 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37366 (grub_mapclaim): Likewise.
37367 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37368 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37369 hand.
37370
9304c1f8 373712004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37372
37373 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37374 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37375 -ffreestanding and -msoft-float.
37376
86f4ae25 373772004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37378
37379 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37380 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37381 set in grub_ieee1275_flags.
37382
38912228 373832004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37384
37385 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37386 prototype.
37387 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37388 grub_console_init first.
37389 Change the memory range used for grub_ieee1275_claim and
37390 grub_mm_init_region.
37391 Print an error message if the claim fails.
37392 Include <grub/misc.h>.
37393
d1923dc8 373942004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37395
37396 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37397 Call grub_children_iterate for device nodes of type `scsi',
37398 `ide', or `ata'.
37399 (grub_ofdisk_open): Remove manual device alias resolution.
37400 Fix memory leak when device cannot be opened.
f19dbdb7 37401 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37402 (grub_children_iterate): New prototype.
37403 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37404 New function.
37405 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37406 Return -1 if args.size was -1.
37407
4512e4f3 374082004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37409
37410 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37411 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37412 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37413 Open Firmware's memory for it; claim memory from _start to _end.
37414 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37415 (_end): New extern.
37416 (_start): Zero BSS from __bss_start to _end.
37417 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37418 New extern.
37419 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37420
4d61feb0 374212004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37422
ad0bd20b 37423 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37424 -1 if args.base was -1.
4d61feb0 37425
026fa2f9 374262004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37427
37428 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37429 escape sequence instead of a literal ^L. Also call
37430 grub_ofconsole_gotoxy.
37431
9f2220ef 374322004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37433
37434 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37435 void * arguments to grub_addr_t. All callers updated. Also make
37436 the `result' argument optional.
37437 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37438 All callers updated.
37439
8a572cd7 374402004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37441
37442 * commands/ls.c (grub_ls_list_files): Use the string following the
37443 initial ')', if present, as the filesystem path.
37444 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37445
37446 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37447
18aa81f2 374482004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37449
37450 Make the source code of the menu interface more readable.
f19dbdb7 37451
18aa81f2 37452 * normal/menu.c: Include grub/mm.h.
37453 (TERM_WIDTH): New macro.
37454 (TERM_HEIGHT): Likewise.
37455 (TERM_INFO_HEIGHT): Likewise.
37456 (TERM_MARGIN): Likewise.
37457 (TERM_SCROLL_WIDTH): Likewise.
37458 (TERM_TOP_BORDER_Y): Likewise.
37459 (TERM_LEFT_BORDER_X): Likewise.
37460 (TERM_BORDER_WIDTH): Likewise.
37461 (TERM_MESSAGE_HEIGHT): Likewise.
37462 (TERM_BORDER_HEIGHT): Likewise.
37463 (TERM_NUM_ENTRIES): Likewise.
37464 (TERM_FIRST_ENTRY_Y): Likewise.
37465 (TERM_ENTRY_WIDTH): Likewise.
37466 (TERM_CURSOR_X): Likewise.
37467 (draw_border): Use macros instead of magic numbers.
37468 (print_entry): Likewise.
37469 (print_entries): Likewise.
37470 (run_menu): Likewise. Also, handle the key 'e'.
37471 (run_menu_entry): Ignore empty command lines.
37472 (print_message): Added a new argument EDIT. If EDIT is true,
37473 print a different message.
37474 (init_page): Likewise.
37475 (edit_menu_entry): New function. Not implemented yet.
37476
b47efe30 374772004-09-17 Marco Gerards <metgerards@student.han.nl>
37478
37479 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37480 can be loaded from normal mode.
f19dbdb7 37481
b47efe30 37482 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37483 `multiboot.mod'.
37484 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37485 (multiboot_mod_CFLAGS): New variables.
37486 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37487 * loader/i386/pc/multiboot_normal.c: Likewise.
37488
b47efe30 37489 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37490 attribute `unused'.
f19dbdb7 37491
b47efe30 37492 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37493 `fdiro' to read the mode information from instead of `diro'.
37494
37495 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37496 looking up a symlink.
37497
37498 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37499 macro.
37500 * normal/command.c (grub_command_execute): Don't parse the
37501 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37502 flags of the command.
37503
37504 * normal/menu.c (grub_menu_run): Fix typo.
37505
da75ac71 375062004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37507
37508 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37509
37510 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37511 `y + 1' instead of `y - 1'.
37512
37513 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37514
062b24c2 375152004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37516
37517 From Hollis Blanchard <hollis@penguinppc.org>:
37518 * kern/misc.c (memmove): New alias for grub_memmove.
37519 (memcmp): New alias for grub_memcmp.
37520 (memset): New alias for grub_memset.
f19dbdb7 37521 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37522 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37523 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37524 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37525
8ddad845 375262004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37527
37528 Added normal mode command `chainloader' as module chain.mod, which
37529 depends on normal.mod and _chain.mod.
f19dbdb7 37530
8ddad845 37531 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37532 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37533 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37534 Deleted prototype.
37535 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37536 but arguments parsing moved to ...
37537 (grub_chainloader_cmd): ... here. New function.
37538 * include/grub/i386/pc/chainloader.h: New file.
37539 * loader/i386/pc/chainloader_normal.c: Likewise.
37540
2c1f4ce3 375412004-09-11 Marco Gerards <metgerards@student.han.nl>
37542
37543 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37544 (grub_mkimage_LDFLAGS): Likewise.
37545 (grub_emu_SOURCES): Likewise.
37546 (kernel_img_HEADERS): Added fshelp.h.
37547 * fs/ext2.c: Include <grub/fshelp.h>.
37548 (FILETYPE_REG): New macro.
37549 (FILETYPE_INO_REG): Likewise.
37550 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37551 Changed all users.
37552 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37553 all users.
37554 (grub_fshelp_node): New struct.
37555 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37556 to a pointer.
37557 (grub_ext2_get_file_block): Removed function.
37558 (grub_ext2_read_block): New function.
37559 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37560 This function was written.
37561 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37562 (grub_ext2_find_file): Removed function.
37563 (grub_ext2_read_symlink): New function.
37564 (grub_ext2_iterate_dir): Likewise.
37565 (grub_ext2_open): Rewritten.
37566 (grub_ext2_dir): Rewritten.
37567 * include/grub/fshelp.h: New file.
37568 * fs/fshelp.c: Likewise.
37569
3c52136a 375702004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37571
37572 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37573 (print_message): Add a missing newline.
37574 (run_menu): Added timeout support.
37575 (run_menu_entry): New local function.
37576 (grub_menu_run): Added support for booting.
37577
37578 * kern/loader.c (grub_loader_is_loaded): New function.
37579
37580 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37581 (grub_get_rtc): Exported.
37582
37583 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37584 (grub_get_rtc): Exported.
37585
37586 * include/grub/normal.h (struct grub_command_list): Remove
37587 constant from the member `command'.
37588
37589 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37590
37591 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37592
37593 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37594
aa033560 375952004-08-28 Marco Gerards <metgerards@student.han.nl>
37596
37597 Add support for the JFS filesystem.
37598
37599 * fs/jfs.c: New file.
37600 * include/grub/fs.h (grub_jfs_init): New prototype.
37601 (grub_jfs_fini): New prototype.
37602 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37603 (grub_emu_SOURCES): Likewise.
37604 (pkgdata_MODULES): Add jfs.mod.
37605 (jfs_mod_SOURCES): New variable.
37606 (jfs_mod_CFLAGS): Likewise.
37607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37608 (grubof_SOURCES): Likewise.
37609 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37610
37611 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37612 endian to the host endian.
37613 (grub_fat_utf16_to_utf8): Move function from there...
37614 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37615 the endianness of the source string anymore.
aa033560 37616 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37617
94bc45af 376182004-08-24 Marco Gerards <metgerards@student.han.nl>
37619
37620 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37621 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37622 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37623 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37624
94bc45af 37625 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37626 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37627 for `node_found' and `it_dir'.
37628 (grub_hfs_dir): Add prototype for `dir_hook'.
37629
37630 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37631 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37632 and `indir32' to silence a gcc warning.
37633
37634 * include/grub/fs.h (grub_hfs_init): New prototype.
37635 (grub_hfs_fini): Likewise.
f19dbdb7 37636
37637
97543f08 376382004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37639
37640 Each disk device has its own id now. This is useful to make use
37641 of multiple disk devices.
f19dbdb7 37642
97543f08 37643 * include/grub/disk.h (grub_disk_dev_id): New enum.
37644 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37645 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37646
37647 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37648 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37649
37650 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37651 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37652
37653 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37654 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37655
37656 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37657 "id" which is used by the cache manager.
37658
37659 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37660 of just "GRUB".
37661
64372eb4 376622004-08-18 Marco Gerards <metgerards@student.han.nl>
37663
37664 * fs/hfs.c: New file.
37665 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37666 (grub_emu_SOURCES): Likewise.
37667 (pkgdata_MODULES): Add hfs.mod.
37668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37669 (grubof_SOURCES): Likewise.
37670 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37671
37672 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37673 * kern/misc.c (grub_strncasecmp): Add function.
37674
cc61b58f 376752004-08-14 Marco Gerards <metgerards@student.han.nl>
37676
37677 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37678 with parentheses.
37679
37680 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37681 (grub_ext2_dir): In case the directory entry type is unknown, read
37682 it from the inode.
37683
0ef123f6 376842004-08-02 Peter Bruin <pjbruin@dds.nl>
37685
37686 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37687 grub_load_linux instead of grub_rescue_cmd_linux as second
37688 argument of grub_rescue_register_command.
37689
37690 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37691
a447c5df 376922004-07-27 Marco Gerards <metgerards@student.han.nl>
37693
37694 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37695 function.
37696 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37697 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37698 `loader/powerpc/ieee1275/linux.c',
37699 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37700 * include/grub/powerpc/ieee1275/ieee1275.h
37701 (grub_ieee1275_release): New prototype.
37702 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37703 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37704 normal, boot, linux and linux_normal.
37705 * loader/powerpc/ieee1275/linux.c: New file.
37706 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37707
5a9e3546 377082004-07-12 Marco Gerards <metgerards@student.han.nl>
37709
37710 * normal/arg.c (grub_arg_parse): Correct error handling after
37711 reallocating the argumentlist (check if `argl' is not null instead
37712 of checking if `args' is not null).
37713 * kern/mm.c (grub_realloc): Return the same pointer when using the
37714 same region, instead of returning the header address.
37715
e15199cb 377162004-07-11 Marco Gerards <metgerards@student.han.nl>
37717
37718 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37719 one block instead of two when looking for the initial partition.
37720 (grub_partition_probe): Initialize the local variable `p' with 0.
37721 Use base 10 for the grub_strtoul call.
37722 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37723 need for one local variable.
37724 (grub_strtoul): Don't add the new value to `num', instead of that
37725 just assign it.
37726
020616c2 377272004-07-11 Marco Gerards <metgerards@student.han.nl>
37728
37729 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37730 (pxeboot_img_SOURCES): New variable.
37731 (pxeboot_img_ASFLAGS): Likewise.
37732 (pxeboot_img_LDFLAGS): Likewise.
37733 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37734 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37735 <lode_leroy@hotmail.com>.
37736
6c51eb64 377372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37738
37739 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37740 there was no input.
37741
cfb12aff 377422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37743
37744 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37745 the history buffer logic.
37746
6eabba74 377472004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37748
37749 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37750 (FILETYPE_INO_SYMLINK): New macros.
37751 (grub_ext2_find_file): Check if the node is a directory using the
37752 inode stat information instead of using the filetype in the
37753 dirent. Exclude the first character of an absolute symlink.
37754 (grub_ext2_dir): Mask out the filetype part of the mode member of
37755 the inode.
37756
66e19ef8 377572004-05-24 Marco Gerards <metgerards@student.han.nl>
37758
37759 Add support for UFS version 1 and 2. Add support for the minix
37760 filesystem version 1 and 2, both the variants with 14 and 30 long
37761 filenames.
f19dbdb7 37762
66e19ef8 37763 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37764 fs/minix.c.
37765 (grub_emu_SOURCES): Likewise.
37766 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37767 (ufs_mod_SOURCES): New variable.
37768 (ufs_mod_CFLAGS): Likewise.
37769 (minix_mod_SOURCES): Likewise.
37770 (minix_mod_CFLAGS): Likewise.
37771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37772 fs/minix.c.
37773 (grubof_SOURCES): Likewise.
37774 * fs/ufs.c: New file.
37775 * fs/minix.c: New file.
37776 * include/grub/fs.h (grub_ufs_init): New prototype.
37777 (grub_ufs_fini): Likewise.
37778 (grub_minix_init): Likewise.
37779 (grub_minix_fini): Likewise.
37780 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37781 minix fs.
37782
cc2e748a 377832004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37784
37785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37786 commands/ls.c, commands/terminal.c, commands/boot.c,
37787 commands/cmp.c and commands/cat.c.
37788 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37789
37790 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37791 "env.h"
37792
4b13b216 377932004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37794
37795 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37796 and grub_, respectively. Because the conversion is trivial and
37797 mechanical, I omit the details here. Please refer to the CVS
37798 if you need more information.
37799
6a142551 378002004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37801
37802 * include/pupa: Renamed to ...
37803 * include/grub: ... this.
37804 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37805 * util/i386/pc/grub-mkimage.c: ... this.
37806 * util/i386/pc/pupa-setup.c: Renamed to ...
37807 * util/i386/pc/grub-setup.c: ... this.
37808 * util/pupa-emu.c: Renamed to ...
37809 * util/grub-emu.c: ... this.
37810
e56cdf21 378112004-03-29 Marco Gerards <metgerards@student.han.nl>
37812
37813 Add support for the newworld apple macintosh (PPC). This has been
37814 tested on the powerbook 2000 only. It only adds support for
37815 generic ieee1275 functions, console and disk support. This should
37816 be easy to port to other architectures with support for Open
37817 Firmware.
f19dbdb7 37818
e56cdf21 37819 * configure.ac: Accept the powerpc as host_cpu. In the case of
37820 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37821 specific tests are only executed while building for the i386.
37822 Inverse test for crosscompile.
37823 * genmk.rb (Utility): Allow assembler files.
37824 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37825 * conf/powerpc-ieee1275.rmk: New file.
37826 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37827 * disk/powerpc/ieee1275/partition.c: Likewise.
37828 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37829 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37830 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37831 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37832 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37833 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37834 * include/pupa/powerpc/ieee1275/loader.h
37835 * include/pupa/powerpc/setjmp.h: Likewise.
37836 * include/pupa/powerpc/types.h: Likewise.
37837 * kern/powerpc/ieee1275/init.c: Likewise.
37838 * kern/powerpc/ieee1275/openfw.c: Likewise.
37839 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37840
37841 These files were written by Johan Rydberg
37842 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 37843
e56cdf21 37844 * boot/powerpc/ieee1275/cmain.c: New file.
37845 * boot/powerpc/ieee1275/crt0.S: Likewise.
37846 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
37847 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
37848
8c8cc205 378492004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
37850
37851 * Makefile.in: Update copyright.
37852 * genmodsrc.sh: Likewise.
37853 * gensymlist.sh: Likewise.
37854 * term/i386/pc/vga.c: Indent correctly.
37855
37856 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
37857 bugreporting address.
37858 * util/i386/pc/pupa-setup.c (usage): Likewise,
37859 (main): Call pupa_ext2_init and pupa_ext2_fini.
37860
f19dbdb7 37861 * fs/fat.c (log2): Renamed to ...
8c8cc205 37862 (fat_log2): ... this.
37863 All callers changed.
37864 * kern/misc.c (memcpy): Alias to pupa_memmove.
37865 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
37866 lvalue cast.
37867 * util/console.c (pupa_ncurses_fini): Return 0.
37868
37869 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
37870 Move fail label here.
37871 [__GNU__]: Don't warn when using stat.
37872 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
37873 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
37874 long int. Use strtol instead of strtoul.
f19dbdb7 37875
db1771cf 378762004-03-14 Marco Gerards <metgerards@student.han.nl>
37877
37878 * commands/boot.c: New file.
37879 * commands/cat.c: Likewise.
37880 * commands/cmp.c: Likewise.
37881 * commands/ls.c: Likewise.
37882 * commands/terminal.c: Likewise.
37883 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
37884 (pupa_register_command): Changed interface to match the new
37885 argument parser.
37886 (pupa_command_execute): Changed (almost rewritten) so it uses
37887 pupa_split_command. Added support for setting variables using the
37888 syntax `foo=bar'.
37889 (rescue_command): Changed to work with the new argument parser.
37890 (terminal_command): Moved from here to commands/terminal.c.
37891 (set_command): New function.
37892 (unset_command): New function.
37893 (insmod_command): New function.
37894 (rmmod_command): New function.
37895 (lsmod_command): New function.
37896 (pupa_command_init): Don't initialize the command terminal
37897 anymore. Initialize the commands set, unset, insmod, rmmod and
37898 lsmod.
37899 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
37900 (kernel_img_HEADERS): Add arg.h and env.h.
37901 (pupa_mkimage_LDFLAGS): Add kern/env.c.
37902 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
37903 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
37904 normal/arg.c.
37905 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
37906 terminal.mod.
37907 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
37908 (boot_mod_SOURCES): New variable.
37909 (terminal_mod_SOURCES): Likewise.
37910 (ls_mod_SOURCES): Likewise.
37911 (cmp_mod_SOURCES): Likewise.
37912 (cat_mod_SOURCES): Likewise.
37913
37914 * normal/arg.c: New file.
37915 * kern/env.c: Likewise.
37916 * include/pupa/arg.h: Likewise.
37917 * include/pupa/env.h: Likewise.
37918 * font/manager.c (font_command): Changed to match argument parsing
37919 interface changes.
37920 (PUPA_MOD_INIT): Likewise.
37921 * hello/hello.c (pupa_cmd_hello): Likewise.
37922 (PUPA_MOD_INIT): Likewise.
37923 * include/pupa/disk.h: Include <pupa/device.h>.
37924 (pupa_print_partinfo): New prototype.
37925 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
37926 (pupa_dl_get_prefix): Likewise.
37927 * include/pupa/misc.h: Include <pupa/err.h>.
37928 (pupa_isgraph): New prototype.
37929 (pupa_isdigit): Likewise.
37930 (pupa_split_cmdline): Likewise.
37931 * include/pupa/normal.h: Include <pupa/arg.h>.
37932 (pupa_command): Changed the prototype of the member `func' to
37933 match the argument parsing interface. Added member `options'.
37934 (pupa_register_command): Updated to match function.
37935 (pupa_arg_parse): New prototype.
37936 (pupa_hello_init) [PUPA_UTIL]: New prototype.
37937 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
37938 (pupa_ls_init) [PUPA_UTIL]: Likewise.
37939 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
37940 (pupa_cat_init) [PUPA_UTIL]: Likewise.
37941 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
37942 (pupa_boot_init) [PUPA_UTIL]: Likewise.
37943 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
37944 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
37945 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
37946 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
37947 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
37948 * kern/disk.c: Include <pupa/file.h>.
37949 (pupa_print_partinfo): New function.
37950 * kern/dl.c: Include <pupa/env.h>.
37951 (pupa_dl_dir): Variable removed.
37952 (pupa_dl_load): Use the environment variable `prefix' instead of
37953 the variable pupa_dl_dir.
37954 (pupa_dl_set_prefix): Function removed.
37955 (pupa_dl_get_prefix): Likewise.
37956 * kern/i386/pc/init.c: Include <pupa/env.h>.
37957 (pupa_machine_init): Use the environment variable `prefix' instead of
37958 using pupa_dl_set_prefix to set the prefix.
37959 * kern/main.c: Include <pupa/env.h>.
37960 (pupa_set_root_dev): Use the environment variable `prefix' instead of
37961 using pupa_dl_get_prefix to get the prefix.
37962 * kern/misc.c: Include <pupa/env.h>.
37963 (pupa_isdigit): New function.
37964 (pupa_isgraph): Likewise.
37965 (pupa_ftoa): Likewise.
37966 (pupa_vsprintf): Added support for printing values of the type
37967 `double'. Make it possible to format variable output when using
37968 formatting like `%1.2%f'.
37969 (pupa_split_cmdline): New function.
37970 * kern/rescue.c: Include <pupa/env.h>.
37971 (next_word): Removed function.
37972 (pupa_rescue_cmd_prefix): Likewise.
37973 (pupa_rescue_cmd_set): New function.
37974 (pupa_rescue_cmd_unset): New function.
37975 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
37976 split the command line instead of splitting it here. Added
37977 support for setting variables using the syntax `foo=bar'. Don't
37978 initialize the prefix command anymore. Initialized the set and
37979 unset commands.
37980 * normal/cmdline.c: Include <pupa/env.h>.
37981 (pupa_tab_complete): Added prototypes for print_simple_completion,
37982 print_partition_completion, add_completion, iterate_commands,
37983 iterate_dev, iterate_part and iterate_dir. Moved code to print
37984 partition information from here to kern/disk.c.
fe6b695a 37985 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 37986 * normal/main.c: Include <pupa/env.h>.
37987 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
37988 instead of using pupa_dl_get_prefix to get the prefix.
37989 * term/i386/pc/vga.c: Include <pupa/arg.h>.
37990 (check_vga_mem): Cast pointers to `void *' to silence a gcc
37991 warning.
37992 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
37993 (pupa_vga_setcolor): Declare unused variables with `__attribute__
37994 ((unused))' to silence a gcc warning.
37995 (pupa_vga_setcolor): Likewise.
37996 (debug_command): Changed to match argument parsing
37997 interface changes.
37998 * util/pupa-emu.c: Include <pupa/env.h>.
37999 (options): Added 0's for unused fields to silence a gcc warning.
38000 (argp): Likewise.
38001 (main): Use the environment variable `prefix' instead of using
38002 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
38003 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
38004 and terminal.
38005
38006 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
38007 * util/misc.c: Include <malloc.h>.
38008 (pupa_malloc): Rewritten so errors are correctly reported.
38009 (pupa_realloc): Likewise.
38010 (pupa_memalign): Likewise.
38011 (pupa_mm_init_region): Declare unused variables with
38012 `__attribute__ ((unused))' to silence a gcc warning.
38013 * normal/i386/setjmp.S: Remove tab at the end of the file to
38014 silence a gcc warning.
38015 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
38016 variables with `__attribute__ ((unused))' to silence a gcc
38017 warning.
38018 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
38019 local variable i unsigned to silence a gcc warning.
38020
38021 * kern/term.c: Include <pupa/misc.h>.
38022 (pupa_more_lines): New variable.
38023 (pupa_more): Likewise.
38024 (pupa_putcode): When the pager is active pause at the end of every
38025 screen.
38026 (pupa_set_more): New function.
38027 * include/pupa/term.h (pupa_set_more): New prototype.
38028
38029
3b1139cb 380302004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
38031
38032 Now this project is GRUB 2 rather than PUPA. The location of
38033 the CVS repository was moved to GRUB's.
f19dbdb7 38034
3b1139cb 38035 * configure.ac: Use bug-grub as the reporting address.
38036 Use GRUB instead of PUPA.
38037 Change the version number to 1.90.
38038
8367695c 380392004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
38040
38041 * genkernsyms.sh: Updated copyright information.
38042 * genmk.rb: Likewise.
38043 * genmodsrc.sh: Likewise.
38044 * gensymlist.sh: Likewise.
38045 * boot/i386/pc/boot.S: Likewise.
38046 * boot/i386/pc/diskboot.S: Likewise.
38047 * disk/i386/pc/biosdisk.c: Likewise.
38048 * disk/i386/pc/partition.c: Likewise.
38049 * font/manager.c: Likewise.
38050 * fs/ext2.c: Likewise.
38051 * fs/fat.c: Likewise.
38052 * include/pupa/boot.h: Likewise.
38053 * include/pupa/device.h: Likewise.
38054 * include/pupa/disk.h: Likewise.
38055 * include/pupa/dl.h: Likewise.
38056 * include/pupa/elf.h: Likewise.
38057 * include/pupa/err.h: Likewise.
38058 * include/pupa/file.h: Likewise.
38059 * include/pupa/font.h: Likewise.
38060 * include/pupa/fs.h: Likewise.
38061 * include/pupa/kernel.h: Likewise.
38062 * include/pupa/loader.h: Likewise.
38063 * include/pupa/misc.h: Likewise.
38064 * include/pupa/mm.h: Likewise.
38065 * include/pupa/net.h: Likewise.
38066 * include/pupa/normal.h: Likewise.
38067 * include/pupa/rescue.h: Likewise.
38068 * include/pupa/setjmp.h: Likewise.
38069 * include/pupa/symbol.h: Likewise.
38070 * include/pupa/term.h: Likewise.
38071 * include/pupa/types.h: Likewise.
38072 * include/pupa/i386/setjmp.h: Likewise.
38073 * include/pupa/i386/types.h: Likewise.
38074 * include/pupa/i386/pc/biosdisk.h: Likewise.
38075 * include/pupa/i386/pc/boot.h: Likewise.
38076 * include/pupa/i386/pc/console.h: Likewise.
38077 * include/pupa/i386/pc/init.h: Likewise.
38078 * include/pupa/i386/pc/kernel.h: Likewise.
38079 * include/pupa/i386/pc/linux.h: Likewise.
38080 * include/pupa/i386/pc/loader.h: Likewise.
38081 * include/pupa/i386/pc/memory.h: Likewise.
38082 * include/pupa/i386/pc/multiboot.h: Likewise.
38083 * include/pupa/i386/pc/partition.h: Likewise.
38084 * include/pupa/i386/pc/time.h: Likewise.
38085 * include/pupa/i386/pc/vga.h: Likewise.
38086 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
38087 * include/pupa/util/getroot.h: Likewise.
38088 * include/pupa/util/misc.h: Likewise.
38089 * include/pupa/util/resolve.h: Likewise.
38090 * kern/device.c: Likewise.
38091 * kern/disk.c: Likewise.
38092 * kern/dl.c: Likewise.
38093 * kern/err.c: Likewise.
38094 * kern/file.c: Likewise.
38095 * kern/fs.c: Likewise.
38096 * kern/loader.c: Likewise.
38097 * kern/main.c: Likewise.
38098 * kern/misc.c: Likewise.
38099 * kern/mm.c: Likewise.
38100 * kern/rescue.c: Likewise.
38101 * kern/term.c: Likewise.
38102 * kern/i386/dl.c: Likewise.
38103 * kern/i386/pc/init.c: Likewise.
38104 * kern/i386/pc/lzo1x.S: Likewise.
38105 * kern/i386/pc/startup.S: Likewise.
38106 * loader/i386/pc/chainloader.c: Likewise.
38107 * loader/i386/pc/linux.c: Likewise.
38108 * loader/i386/pc/multiboot.c: Likewise.
38109 * normal/cmdline.c: Likewise.
38110 * normal/command.c: Likewise.
38111 * normal/main.c: Likewise.
38112 * normal/menu.c: Likewise.
38113 * normal/i386/setjmp.S: Likewise.
38114 * term/i386/pc/console.c: Likewise.
38115 * term/i386/pc/vga.c: Likewise.
38116 * util/console.c: Likewise.
38117 * util/genmoddep.c: Likewise.
38118 * util/misc.c: Likewise.
38119 * util/pupa-emu.c: Likewise.
38120 * util/resolve.c: Likewise.
38121 * util/unifont2pff.rb: Likewise.
38122 * util/i386/pc/biosdisk.c: Likewise.
38123 * util/i386/pc/getroot.c: Likewise.
38124 * util/i386/pc/pupa-mkimage.c: Likewise.
38125 * util/i386/pc/pupa-setup.c: Likewise.
38126
e6eced71 381272004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
38128
38129 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
38130 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
38131 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
38132 reading and reset it after reading.
38133 (pupa_ext2_close): Return PUPA_ERR_NONE.
38134
38135 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
38136 Correct value.
38137 (struct linux_kernel_header): Add kernel_version and
38138 initrd_addr_max.
38139 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
38140 pupa_file_read succeeds.
38141 (pupa_rescue_cmd_initrd): Implement.
38142
5aded270 381432003-12-03 Marco Gerards <metgerards@student.han.nl>
38144
38145 * fs/ext2.c (pupa_ext2_label): New function.
38146 (pupa_ext2_fs): Added label.
38147 * fs/fat.c (pupa_fat_label): New function.
38148 (pupa_fat_fs): Added label.
38149 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38150
38151 * kern/misc.c (pupa_strndup): New function.
38152 * include/pupa/misc.h (pupa_strndup): New prototype.
38153
38154 * include/pupa/normal.h: Include <pupa/err.h>.
38155 (pupa_set_history): New prototype.
38156 (pupa_iterate_commands): New prototype.
38157 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38158 <pupa/disk.h>, <pupa/file.h>.
38159 (hist_size): New variable.
38160 (hist_lines): Likewise.
38161 (hist_end): Likewise.
38162 (hist_used): Likewise.
38163 (pupa_set_history): New function.
38164 (pupa_history_get): Likewise.
38165 (pupa_history_add): Likewise.
38166 (pupa_history_replace): Likewise.
38167 (pupa_tab_complete): Likewise.
38168 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38169 completion shows partitionnames while completing partitions, this
38170 feature was suggested by Jeff Bailey.
38171 * normal/command.c (pupa_iterate_commands): New function.
38172 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38173 (pupa_normal_init): Initialize history buffer.
38174 (PUPA_MOD_INIT): Likewise.
38175 (pupa_normal_fini): Free the history buffer.
38176 (PUPA_MOD_FINI): Likewise.
38177
38178 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38179 key.
38180
38181 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38182 * configure.ac [i386]: Check for regparam bug.
38183 (NESTED_FUNC_ATTR) [! i386]: Defined.
38184
1f7315a3 381852003-11-17 Marco Gerards <metgerards@student.han.nl>
38186
38187 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38188 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38189 (pupa_emu_SOURCES): New variable.
38190 (pupa_emu_LDFLAGS): Likewise.
38191 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38192 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38193 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38194 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38195 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38196 (pupa_jmp_buf): New typedef.
38197 (pupa_setjmp) [PUPA_UTIL]: New macro.
38198 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38199 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38200 (pupa_refresh): New prototype.
38201 * include/pupa/util/getroot.h: New file.
38202 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38203 it.
38204 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38205 (pupa_rescue_cmd_cat): Likewise.
38206 (pupa_rescue_cmd_ls): Likewise.
38207 (pupa_rescue_cmd_testload): Likewise.
38208 (pupa_rescue_cmd_lsmod): Likewise.
38209 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38210 * normal/menu.c (run_menu): Likewise.
38211 * kern/term.c (pupa_cls): Likewise.
38212 (pupa_refresh): New function.
38213 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38214 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38215 * util/console.c: New file.
f19dbdb7 38216
1f7315a3 38217 * util/i386/pc/getroot.c: New file.
38218 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38219 (pupa_putchar): New function.
38220 (pupa_refresh): Likewise.
38221 (xgetcwd): Function moved to ...
38222 (strip_extra_slashes): Likewise.
38223 (get_prefix): Likewise.
f19dbdb7 38224 * util/i386/pc/getroot.c: ... here.
1f7315a3 38225 (find_root_device): Function moved and renamed to...
38226 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38227 Changed all callers.
38228 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38229 and renamed to...
38230 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38231 Changed all callers.
38232 * util/misc.c (pupa_memalign): New function.
38233 (pupa_mm_init_region): Likewise.
38234 (pupa_register_exported_symbols): Likewise.
38235 (pupa_putchar): Function removed.
38236 * util/pupa-emu.c: New file.
38237
9a5c1ade 382382003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38239
38240 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38241 (_multiboot_mod_SOURCES): New variable.
38242 (_multiboot_mod_CFLAGS): Likewise.
38243 * loader/i386/pc/multiboot.c: New file.
38244 * include/pupa/i386/pc/multiboot.h: Likewise.
38245 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38246 (pupa_multiboot_real_boot): New function.
38247 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38248 (pupa_multiboot_real_boot): New prototype.
38249 (pupa_rescue_cmd_multiboot): Likewise
38250 (pupa_rescue_cmd_module): Likewise.
38251
38252 * kern/loader.c (pupa_loader_set): Continue when
38253 pupa_loader_unload_func() fails.
38254 (pupa_loader_unset): New function.
38255 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38256
38257 * kern/misc.c (pupa_stpcpy): New function.
38258 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38259
8e72a9c0 382602003-11-12 Marco Gerards <metgerards@student.han.nl>
38261
38262 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38263 for available extensions.
38264
38265 * include/pupa/i386/pc/time.h: New file.
38266 * kern/disk.c: Include <pupa/machine/time.h>.
38267 (PUPA_CACHE_TIMEOUT): New macro.
38268 (pupa_last_time): New variable.
38269 (pupa_disk_open): Flush the cache when there was a timeout.
38270 (pupa_disk_close): Reset the timer.
38271 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38272 pupa_currticks.
38273 * util/misc.c: Include <sys/times.h>
38274 (pupa_get_rtc): New function.
38275
c4adbd32 382762003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38277
38278 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38279 as blocks.
38280 (pupa_ext2_get_file_block): Use blocks member.
38281
38282 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38283 first block. Return -1 instead of pupa_errno on error.
38284
bfd30f06 382852003-10-27 Marco Gerards <metgerards@student.han.nl>
38286
38287 * README: In the pupa-mkimage example use _chain instead of chain
38288 and ext2 instead of fat.
38289 * TODO: Replace ext2fs with jfs as an example. Add an item for
38290 adding journal playback for ext2fs.
38291 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38292 (pkgdata_MODULES): Added ext2.mod.
38293 (ext2_mod_SOURCES): New variable.
38294 (ext2_mod_CFLAGS): Likewise.
38295 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38296 * include/pupa/misc.h (pupa_strncpy): New prototype.
38297 (pupa_strcat): Likewise.
38298 (pupa_strncmp): Likewise.
38299 * kern/misc.c (pupa_strcat): Enable function.
38300 (pupa_strncpy): New function.
38301 (pupa_strncmp): Likewise.
38302 * fs/ext2.c: New file.
f19dbdb7 38303
bfd30f06 38304 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38305 when the read failed before retrying.
38306 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38307 (_FILE_OFFSET_BITS): Likewise.
38308 * configure.ac: Added AC_SYS_LARGEFILE.
38309
98d15063 383102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38311
38312 * genmk.rb (PModule#rule): Make sure to get only symbol names
38313 from the output of nm.
59cad637 38314 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38315
18d9c7cd 383162003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38317
38318 I forgot to check in these changes for a long time. This adds
38319 incomplete support for VGA console, and this is still very
38320 buggy. Also, a lot of consideration is required for I18N,
38321 UNICODE, and VGA font issues. Therefore, assume that this is
38322 such that "better than nothing".
f19dbdb7 38323
18d9c7cd 38324 * font/manager.c: New file.
38325 * include/pupa/font.h: Likewise.
38326 * include/pupa/i386/pc/vga.h: Likewise.
38327 * term/i386/pc/vga.c: Likewise.
38328 * util/unifont2pff.rb: Likewise.
38329
38330 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38331 (pkgdata_MODULES): Added vga.mod and font.mod.
38332 (vga_mod_SOURCES): New variables.
38333 (vga_mod_CFLAGS): Likewise.
38334 (font_mod_SOURCES): Likewise.
38335 (font_mod_CFLAGS): Likewise.
38336
38337 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38338
38339 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38340 (struct pupa_term): Added init and fini.
18d9c7cd 38341 Changed the argument of putchar to pupa_uint32_t.
38342
38343 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38344 (pupa_console_real_putchar): New prototype.
38345 (pupa_console_putchar): Removed.
38346 (pupa_console_checkkey): Exported.
38347 (pupa_console_getkey): Likewise.
38348
38349 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38350 characters.
38351
38352 * kern/term.c (pupa_term_set_current): Rewritten.
38353 (pupa_putchar): Likewise.
38354 (pupa_putcode): New function.
38355
38356 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38357 (pupa_console_real_putchar): ... this.
38358 (pupa_vga_set_mode): New function.
38359 (pupa_vga_get_font): Likewise.
38360
38361 * normal/command.c: Include pupa/term.h.
38362 (terminal_command): New function.
38363 (pupa_command_init): Register the command "terminal".
38364
38365 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38366 (DISP_UP): Likewise.
38367 (DISP_RIGHT): Likewise.
38368 (DISP_DOWN): Likewise.
38369 (DISP_HLINE): Likewise.
38370 (DISP_VLINE): Likewise.
38371 (DISP_UL): Likewise.
38372 (DISP_UR): Likewise.
38373 (DISP_LL): Likewise.
38374 (DISP_LR): Likewise.
38375
38376 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38377
977329f5 383782003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38379
38380 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38381 FIX. Reverse the path_list.
38382
38383 * include/pupa/normal.h: Export pupa_register_command and
38384 pupa_unregister_command.
38385
38386 * hello/hello.c (pupa_cmd_hello): New module.
38387 * conf/i386-pc.rmk: Added hello.mod.
38388
1f5ab428 383892003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38390
38391 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38392
1f5ab428 38393 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38394 (compress_kernel): New variable.
38395 (generate_image): Heavily modified to support compressing a
38396 large part of the core image.
38397
38398 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38399 leak.
38400 (pupa_util_load_image): New function.
38401
38402 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38403 (pupa_compressed_size): New variable.
38404 (codestart): Enable Gate A20 here.
38405 Decompress the compressed part of the core image.
38406 Rearrange the code to put functions and variables which are
38407 required for initialization in the non-compressed part.
38408 Include lzo1x.S.
38409
38410 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38411 here.
38412
38413 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38414
f19dbdb7 38415 * include/pupa/i386/pc/kernel.h
1f5ab428 38416 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38417 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38418 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38419 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38420 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38421
38422 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38423
38424 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38425 (Utility#rule): Likewise.
38426
38427 * configure.ac: Check if LZO is available.
38428
ce5bf700 384292003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38430
38431 * include/pupa/normal.h: New file.
38432 * include/pupa/setjmp.h: Likewise.
38433 * include/pupa/i386/setjmp.h: Likewise.
38434 * normal/cmdline.c: Likewise.
38435 * normal/command.c: Likewise.
38436 * normal/main.c: Likewise.
38437 * normal/menu.c: Likewise.
38438 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38439
ce5bf700 38440 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38441 (pupa_rescue_cmd_initrd): Likewise.
38442
38443 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38444 Likewise.
38445
38446 * kern/i386/pc/startup.S (translation_table): New variable.
38447 (translate_keycode): New function.
38448 (pupa_console_getkey): Call translate_keycode.
38449
38450 * kern/rescue.c (attempt_normal_mode): New function.
38451 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38452 it failed, print a message.
38453
38454 * kern/mm.c (pupa_real_malloc): Print more information when a
38455 free magic is broken.
38456 (pupa_free): If the first free header is not free actually, set
38457 it to P.
38458
38459 * kern/main.c (pupa_load_normal_mode): Just load the module
38460 "normal".
38461 (pupa_main): Don't print the message
38462 "Entering into rescue mode..." here.
38463
38464 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38465 Declared.
38466 (pupa_rescue_cmd_initrd): Likewise.
38467 (pupa_rescue_cmd_initrd): Likewise.
38468
38469 * include/pupa/symbol.h (FUNCTION): Specify the type.
38470 (VARIABLE): Likewise.
38471
38472 * include/pupa/err.h (pupa_err_t): Added
38473 PUPA_ERR_UNKNOWN_COMMAND.
38474
38475 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38476 (pupa_dl_get_prefix): Likewise.
38477
38478 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38479 Added _chain.mod and _linux.mod instead of chain.mod and
38480 linux.mod.
38481 (chain_mod_SOURCES): Renamed to ...
38482 (_chain_mod_SOURCES): ... this.
38483 (chain_mod_CFLAGS): Renamed to ...
38484 (_chain_mod_CFLAGS): ... this.
38485 (linux_mod_SOURCES): Renamed to ...
38486 (_linux_mod_SOURCES): ... this.
38487 (linux_mod_CFLAGS): Renamed to ...
38488 (_linux_mod_CFLAGS): ... this.
38489 (normal_mod_SOURCES): New variable.
38490 (normal_mod_CFLAGS): Likewise.
38491 (normal_mod_ASFLAGS): Likewise.
38492
384932003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38494
38495 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38496 possible.
38497
fe6b695a 38498 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38499 recursively.
38500 (pupa_dl_unref): Unrefer depending modules recursively.
38501 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38502 a module is unloaded before one depending on that module is
38503 unloaded.
38504 (pupa_dl_unload): Unload depending modules explicitly,
38505 if possible.
38506
c04da074 385072003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38508
38509 * include/pupa/i386/pc/linux.h: New file.
38510 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38511
c04da074 38512 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38513 Removed.
38514 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38515 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38516 of PUPA_CHAINLOADER_BOOT_SECTOR.
38517
38518 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38519 (pupa_linux_prot_size): New variable.
38520 (pupa_linux_tmp_addr): Likewise.
38521 (pupa_linux_real_addr): Likewise.
38522 (pupa_linux_boot_zimage): New function.
38523 (pupa_linux_boot_bzimage): Likewise.
38524
38525 * kern/i386/pc/init.c (struct mem_region): New structure.
38526 (MAX_REGIONS): New macro.
38527 (mem_regions): New variable.
38528 (num_regions): Likewise.
38529 (pupa_os_area_addr): Likewise.
38530 (pupa_os_area_size): Likewise.
38531 (pupa_lower_mem): Likewise.
38532 (pupa_upper_mem): Likewise.
38533 (add_mem_region): New function.
38534 (compact_mem_regions): Likewise.
38535 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38536 the size of the conventional memory and that of so-called upper
38537 memory (before the first memory hole).
38538 Instead of adding each found region to free memory, use
38539 add_mem_region and add them after removing overlaps.
38540 Also, add only 1/4 of the upper memory to free memory. The rest
38541 is used for loading OS images. Maybe this is ad hoc, but this
38542 makes it much easier to relocate OS images when booting.
38543
38544 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38545 (pupa_enter_rescue_mode): Don't register initrd and module.
38546
38547 * kern/mm.c: Include pupa/dl.h.
38548
38549 * kern/main.c: Include pupa/file.h and pupa/device.h.
38550
38551 * kern/loader.c (pupa_loader_load_module_func): Removed.
38552 (pupa_loader_load_module): Likewise.
38553
38554 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38555 ``.o''.
38556
38557 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38558 (pupa_linux_tmp_addr): Likewise.
38559 (pupa_linux_real_addr): Likewise.
38560 (pupa_linux_boot_zimage): Likewise.
38561 (pupa_linux_boot_bzimage): Likewise.
38562
38563 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38564 (pupa_upper_mem): Likewise.
38565 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38566 module is too dangerous.
38567
38568 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38569 (pupa_os_area_size): Likewise.
38570 (pupa_loader_set): Remove the first argument. Loader doesn't
38571 manage modules or initrd any longer.
38572 (pupa_loader_load_module): Removed.
38573
38574 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38575 (linux_mod_SOURCES): New variable.
38576 (linux_mod_CFLAGS): Likewise.
38577
a13f9237 385782003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38579
38580 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38581 the length of a blocklist correctly.
38582
38583 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38584 Use ioctl only if the OS file is a block device.
38585 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38586 not very useful for normal files.
38587
38588 * kern/main.c (pupa_set_root_dev): New function.
38589 (pupa_load_normal_mode): Likewise.
38590 (pupa_main): Call those above.
38591
38592 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38593 pupa_uint16_t.
38594
38595 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38596
a5ffe966 385972003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38598
38599 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38600 (setup): Configure the installed partition information and the
38601 dl prefix.
38602
38603 * loader/i386/pc/chainloader.c (my_mod): New variable.
38604 (pupa_chainloader_unload): New function.
38605 (pupa_rescue_cmd_chainloader): Refer itself.
38606 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38607
38608 * kern/i386/pc/startup.S (install_partition): Removed.
38609 (version_string): Likewise.
38610 (config_file): Likewise.
38611 (pupa_install_dos_part): New variable.
38612 (pupa_install_bsd_part): Likewise.
38613 (pupa_prefix): Likewise.
38614 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38615
38616 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38617 and pupa/misc.h.
38618 (make_install_device): New function.
38619 (pupa_machine_init): Set the dl prefix.
38620
38621 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38622 (buf): Renamed to ...
38623 (linebuf): ... this.
38624 (pupa_rescue_cmd_prefix): New function.
38625 (pupa_rescue_cmd_insmod): Likewise.
38626 (pupa_rescue_cmd_rmmod): Likewise.
38627 (pupa_rescue_cmd_lsmod): Likewise.
38628 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38629 rmmod and lsmod.
38630
38631 * kern/mm.c (pupa_memalign): If failed even after invalidating
38632 disk caches, unload unneeded modules and retry.
38633
38634 * kern/misc.c (pupa_memmove): New function.
38635 (pupa_memcpy): Removed.
38636 (pupa_strcpy): New function.
38637 (pupa_itoa): Made static.
38638
38639 * kern/dl.c (pupa_dl_iterate): New function.
38640 (pupa_dl_ref): Likewise.
38641 (pupa_dl_unref): Likewise.
38642 (pupa_dl_unload): Return if succeeded or not.
38643 (pupa_dl_unload_unneeded): New function.
38644 (pupa_dl_unload_all): Likewise.
38645 (pupa_dl_init): Renamed to ...
38646 (pupa_dl_set_prefix): ... this.
38647 (pupa_dl_get_prefix): New function.
38648
38649 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38650 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38651 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38652 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38653 (pupa_install_dos_part): Declared.
38654 (pupa_install_bsd_part): Likewise.
38655 (pupa_prefix): Likewise.
38656 (pupa_boot_drive): Likewise.
38657
38658 * include/pupa/types.h: Fix a typo.
38659
38660 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38661 pupa_memmove.
38662 (pupa_memmove): Declared.
38663 (pupa_strcpy): Likewise.
38664
38665 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38666 pupa_mod_init takes one argument, its own module.
38667 (pupa_dl_unload_unneeded): Declared.
38668 (pupa_dl_unload_all): Likewise.
38669 (pupa_dl_ref): Likewise.
38670 (pupa_dl_unref): Likewise.
38671 (pupa_dl_iterate): Likewise.
38672 (pupa_dl_init): Renamed to ...
38673 (pupa_dl_set_prefix): ... this.
38674 (pupa_dl_get_prefix): Declared.
38675
38676 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 38677 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 38678 unloaded.
38679 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38680 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38681
38682 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38683 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38684
012d7999 386852003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38686
38687 * util/i386/pc/pupa-setup.c (setup): Define the internal
38688 function find_first_partition_start at the top level, because GCC
38689 3.0.x cannot compile internal functions in deeper scopes
38690 correctly.
38691 (find_root_device): Use lstat instead of stat.
38692 Don't follow symbolic links.
38693 Fix the path-constructing code.
38694
38695 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38696 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38697 by a BLKGETSIZE ioctl first, because block devices don't fill
38698 the member st_mode of the structure stat on Linux.
38699 [__linux__] (linux_find_partition): Use a temporary buffer
38700 REAL_DEV for the working space. Copy it to DEV before returning.
38701 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38702 buffer cache consistent.
38703 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38704 strncmp. The previous value was merely wrong.
38705 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38706
38707 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38708 FAT size is 12. The previous value was merely wrong.
38709
38710 * kern/main.c (pupa_main): Don't split the starting message from
38711 newlines.
38712
38713 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38714 LF, because BIOS goes crazy about character attributes in this
38715 case.
38716
1cc73a62 387172003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38718
38719 * include/i386/pc/util/biosdisk.h: New file.
38720 * util/i386/pc/biosdisk.c: Likewise.
38721 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 38722
1cc73a62 38723 * Makefile.in (INCLUDE_DISTFILES): Added
38724 include/pupa/i386/pc/util/biosdisk.h.
38725 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38726 directory util/i386/pc.
38727 (install-local): Added a rule for sbin_UTILITIES.
38728 (uninstall): Likewise.
38729
38730 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38731
38732 * util/misc.c (xrealloc): New function.
38733 (pupa_malloc): Likewise.
38734 (pupa_free): Likewise.
38735 (pupa_realloc): Likewise.
38736 (pupa_stop): Likewise.
38737 (pupa_putchar): Likewise.
38738
38739 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38740
38741 * include/pupa/util/misc.h (xrealloc): Declared.
38742
38743 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38744 macro.
38745 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38746 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38747
38748 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38749 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38750
38751 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38752 way should be implemented.
38753 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38754
38755 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38756 the size of NAME for safety.
38757 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38758 0x88.
38759
38760 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38761 (pupa_setup_SOURCES): Likewise.
38762
38763 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38764
08b70fe8 387652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38766
38767 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38768 bunch of pushl's from pusha, because this destroys the return
38769 value.
38770
62ddcc8f 387712002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38772
38773 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38774 This means that any missing prototypes could be fatal. Also, you
38775 must take care when writing assembly code. See the comments at
38776 the beginning of startup.S, for more details.
f19dbdb7 38777
62ddcc8f 38778 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38779 compilation mechanism.
38780 (pupa_chainloader_real_boot): Likewise.
38781 (pupa_biosdisk_rw_int13_extensions): Likewise.
38782 (pupa_biosdisk_rw_standard): Likewise.
38783 (pupa_biosdisk_check_int13_extensions): Likewise.
38784 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38785 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38786 (pupa_get_memsize): Likewise.
38787 (pupa_get_mmap_entry): Likewise.
38788 (pupa_console_putchar): Likewise.
38789 (pupa_console_setcursor): Likewise.
38790 (pupa_getrtsecs): Use pushl instead of push.
38791
38792 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38793 memory instead of the stack for a mmap entry, because some
38794 BIOSes may ignore the maximum size and overflow.
38795
38796 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38797
38798 * genmk.rb (PModule#rule): Compile automatically generated
38799 sources with module-specific CFLAGS as well as other sources.
38800
9962ed99 388012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38802
38803 * configure.ac: Check ld.
38804 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38805 respectively, before checking endianness and sizes.
38806
38807 * Makefile.in (LD): New variable.
f19dbdb7 38808
abdfc3c5 388092002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38810
38811 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38812
6a161fa9 388132002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38814
38815 * Changelog: New file.
38816