]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
[grub2.git] / ChangeLog
CommitLineData
20993fbb
VS
12011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
4 name for checksum and fix allocation algorithm.
5
1f313b94
VS
62011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * include/grub/types.h (grub_properly_aligned_t): New type.
9 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
10 (grub_get_unaligned16): Add explicit casts.
11 (grub_get_unaligned32): Likewise.
12 (grub_get_unaligned64): Likewise.
13 (grub_set_unaligned16): New function.
14 (grub_set_unaligned32): Likewise.
15
47ae27ec
VS
162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17
18 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
19
78c2cd1c
VS
202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
21
22 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
23 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
24 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
25
53072f9b
VS
262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
29 conditionals.
30
055dc239
VS
312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
34 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
35
496bd074
VS
362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
37
38 Unify and improve RAID and crypto xor.
39
40 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
41 changed to grub_crypto_xor
42 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
43 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
44 Use bigger types when possible.
45
ef6e4335
VS
462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/disk/raid.c (scan_devices): Fix condition.
49
5d048bf2
VS
502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
53 Make name a const ptr.
54
ee533335
VS
552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
58 first argument a const pointer.
59 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
60 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
61 proto.
62 (grub_children_iterate): Likewise.
63 (grub_machine_mmap_iterate): Remove redundant declaration.
64
cc8f3668
VS
652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
68 (grub_cmd_acpi) [!x86]: Disable EBDA.
69
c5fc563a
VS
702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
71
72 Enable UTF8 in gnulib regexp.
73
74 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
75 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
76 (isupper): Use grub_isupper.
77 (isascii): New inline function.
78 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
79 * grub-core/lib/posix_wrap/wctype.h: Likewise.
80 * grub-core/normal/charset.c (grub_utf8_process): New function.
81 (grub_utf8_to_utf16): Use grub_utf8_process.
82 (grub_encode_utf8_character): New function.
83 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
84 * include/grub/charset.h (grub_utf8_process): New declaration.
85 (grub_encode_utf8_character): Likewise.
86 * include/grub/misc.h (grub_islower): New inline function.
87 (grub_isupper): Likewise.
88 (grub_strchrsub): Moved down to fix the definitions.
89
0af2346f
VS
902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
93 specification.
94
74dbd244
VS
952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * include/grub/loader.h (grub_loader_register_preboot_hook):
98 Use struct preboot * and not void * for handle. All users updated.
99 (grub_loader_unregister_preboot_hook): Likewise.
100
1bc8f60d
VS
1012011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
104 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
105 UTF-16-BE. All users updated.
106 (grub_hfsplus_cmp_catkey): Fix unicode handling.
107 (grub_hfsplus_iterate_dir): Likewise.
108 (grub_hfsplus_label): Likewise.
109
48d6e456
VS
1102011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
113
bf3a3857
VS
1142011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
115
116 Add missing const qualifiers.
117
118 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
119 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
120 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
121 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
122 (grub_lvm_check_flag): Likewise.
123 * grub-core/efiemu/i386/coredetect.c
124 (grub_efiemu_get_default_core_name): Likewise
125 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
126 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
127 * grub-core/fs/ntfs.c (fixup): Likewise.
128 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
129 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
130 (fzap_lookup): Likewise.
131 (zap_lookup): Likewise.
132 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
133 * grub-core/lib/legacy_parse.c (check_option): Likewise.
134 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
135 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
136 (grub_freebsd_add_meta_module): Likewise.
137 (grub_cmd_freebsd_module): Likewise.
138 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
139 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
140 (grub_xnu_writetree_get_size): Likewise.
141 (grub_xnu_writetree_toheap_real): Likewise.
142 (grub_xnu_find_key): Likewise.
143 (grub_xnu_create_key): Likewise.
144 (grub_xnu_create_value): Likewise.
145 (grub_xnu_register_memory): Likewise.
146 (grub_xnu_check_os_bundle_required): Likewise.
147 (grub_xnu_scan_dir_for_kexts): Likewise.
148 (grub_xnu_load_kext_from_dir): Likewise.
149 * grub-core/normal/color.c (color_list): Likewise.
150 * grub-core/normal/completion.c (current_word): Likewise.
151 * grub-core/normal/menu_entry.c (insert_string): Likewise.
152 * grub-core/term/serial.c (grub_serial_find): Likewise.
153 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
154 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
155 Likewise.
156 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
157 (grub_freebsd_add_meta_module): Likewise.
158 * include/grub/lib/arg.h (grub_arg_option): Likewise.
159 * include/grub/net.h (grub_net_card_driver): Likewise.
160 (grub_net_card): Likewise.
161 (grub_net_app_protocol): Likewise.
162 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
163 * include/grub/serial.h (grub_serial_find): Likewise.
164 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
165 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
166 (grub_xnu_create_value): Likewise.
167 (grub_xnu_find_key): Likewise.
168 (grub_xnu_scan_dir_for_kexts): Likewise.
169 (grub_xnu_load_kext_from_dir): Likewise.
170
171 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
172 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
173 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
174 Moved from here ...
175 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
176
112b4837
CW
1772011-11-28 Colin Watson <cjwatson@ubuntu.com>
178
179 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
180
49e891ac
VS
1812011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
182
183 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
184 (read_device): Fix size calculation.
185
fd258e5c
RM
1862011-11-25 Robert Millan <rmh@gnu.org>
187
188 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
189 (find_root_device_from_libzfs): Add zpool output parser to be used
190 as fallback when libzfs isn't available.
191
78845dc2
SG
1922011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
193
194 * po/Makefile.in.in: Add missing escape-continuation.
195
adac5211
VS
1962011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
199
10b64f1c
VS
2002011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
203
bb416954
VS
2042011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
207
bdfe9eeb
VS
2082011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
211
581ffa8a
VS
2122011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * grub-core/lib/adler32.c: Add missing license specification.
215 * grub-core/lib/crc64.c: Likewise.
216 * grub-core/loader/i386/pc/plan9.c: Likewise.
217 * grub-core/partmap/plan.c: Likewise.
218
2536cf64
LK
2192011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
220
221 Add facility to debug GRUB with gdb under qemu.
222
223 * grub-core/gdb_grub.in: New file.
224 * grub-core/gmodule.pl.in: Likewise.
225 * grub-core/Makefile.core.def (gmodule.pl): New script.
226 (gdb_grub): Likewise.
227
bc108a4a
VS
2282011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * util/grub-mount.c (argp_parser): Accept relative pathes.
231 * util/grub-fstest.c (argp_parser): Likewise.
232
111c1778
VS
2332011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
234
235 Plan9 support.
236
237 * Makefile.util.def (libgrubmods): Add
238 grub-core/partmap/plan.c.
239 * docs/grub.texi: Notice Plan9 support.
240 * grub-core/Makefile.core.def (plan9): New module.
241 (part_plan): Likewise.
242 * grub-core/loader/i386/pc/plan9.c: New file.
243 * grub-core/partmap/plan.c: Likewise.
244 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
245 define.
246 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
247 * include/grub/mm.h (grub_extend_alloc): New inline function.
248
c30be3b6
VS
2492011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
250
251 Make Reed-Solomon faster by using power of generator representation of
252 GF(256)*.
253
254 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
255 (gf_double_t): Likewise.
256 (gf_invert): Removed.
257 (gf_powx): New array.
258 (gf_powx_inv): Likewise.
259 (scratch): Move higher.
260 (gf_reduce): Removed.
261 (gf_mul): Use powx.
262 (gf_invert): Likewise.
263 (init_inverts): Replaced with ...
264 (init_powx): ...this. All users updated.
265 (pol_evaluate): Replace multiplications with additions.
266 (rs_encode): Likewise.
267 (gauss_eliminate): Call gf_invert.
268 (grub_reed_solomon_add_redundancy): Call init_powx.
269 (grub_reed_solomon_recover): Call init_powx unconditionally.
270
fa5aeffc
VS
2712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
274
a346b81c
VS
2752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
278 disk->partiton for safety.
279
d89ee414
VS
2802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
283 Fix a memory leak.
284 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
285
91ee7b6d
VS
2862011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
289
91e5a33d
VS
2902011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
291
292 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
293
9edd7be2
VS
2942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
295
296 Fix spaces handling in proc/self/mountinfo.
297
298 * util/getroot.c (unescape): New function.
299 (grub_find_root_device_from_mountinfo): Use unescape.
300
ba102053
VS
3012011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
302
303 Support ZFS embedding.
304
305 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
306 (grub_zfs_fs): Register grub_zfs_embed.
307
aa94b870
VS
3082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
309
310 Fix MIPS compilation.
311
312 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
313 * include/grub/offsets.h: Rename decompressor fields from
314 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
315 * util/grub-mkimage.c (image_targets): Use new names.
316
5fbdac14
VS
3172011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
318
319 Defer multiboot device parsing until we're in compressed part.
320
321 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
322 bsd_part. setdevice has fallen into disuse.
323 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
324 (bsd_part): Likewise.
325 (boot_dev): New variable.
326 (multiboot_trampoline): Don't parse multiboot device.
327 Pass multiboot device in %edx.
328 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
329 grub_boot_device.
330 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
331 Likewise.
332 * grub-core/kern/i386/pc/startup.S: Save edx.
333 (grub_boot_drive): Removed.
334 (grub_install_dos_part): Likewise.
335 (grub_install_bsd_part): Likewise.
336 (grub_boot_device): New variable.
337 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
338 (grub_install_bsd_part): Likewise.
339 (grub_boot_drive): Likewise.
340 (grub_boot_device): New variable.
341 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
342 Removed.
343 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
344 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
345 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
346 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
347 * util/grub-install.in: Remove redundant condition.
348
691cbb58
VS
3492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
350
351 Fix bug introduced by previous commit.
352
353 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
354
60240b8b
VS
3552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
356
357 Use decompressors framework on i386-pc. It increases core size
358 by 46 bytes but improves compatibility and maintainability.
359
360 * grub-core/Makefile.core.def (lzma_decompress): New image.
361 (kernel): Add i386_pc_ldflags.
362 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
363 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
364 to real_to_prot, prot_to_real and device info.
365 * include/grub/offsets.h: Renamed decompressor offsets.
366 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
367 (image_target_desc): Remove raw_size and rename decompressor fields.
368 (compress_kernel): Handle lzma.
369 (generate_image): Handle decompressors on i386-pc.
370
e9d3421c
VS
3712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * configure.ac: Add -fno-asynchronous-unwind-tables.
374
2b23074a
VS
3752011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Move assembly code to C by using intwrap. It increases core size
378 by 88 bytes but improves compatibility and maintainability.
379
380 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
381 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
382 ... here. Translated to C.
383 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
384 * grub-core/term/i386/pc/console.c (grub_console_getkey):
385 ... here. Translated to C.
386 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
387 * grub-core/term/i386/pc/console.c (grub_console_getxy):
388 ... here. Translated to C.
389 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
390 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
391 ... here. Translated to C.
392 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
393 * grub-core/term/i386/pc/console.c (grub_console_cls):
394 ... here. Translated to C.
395 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
396 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
397 ... here. Translated to C.
398 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
399 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
400 Translated to C.
401 * grub-core/term/i386/pc/console.c (int10_9): New function.
402 (grub_console_putchar): Likewise.
403 * include/grub/i386/pc/console.h: Removed the not anymore shared
404 functions.
405
678f4b67
VS
4062011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
407
408 Move grub_chainloader_real_boot out of the kernel.
409
410 * grub-core/Makefile.am: Remove machine/loader.h.
411 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
412 Removed.
413 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
414 variable.
415 (grub_relocator16_keep_a20_enabled): Likewise.
416 (grub_relocator16_boot): Fill new variables.
417 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
418 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
419 relocator.
420 (grub_chainloader_unload): Likewise.
421 (grub_chainloader_cmd): Likewise.
422 * include/grub/i386/pc/loader.h: Removed.
423 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
424 and esi. All initialisers updated.
425
4626edf6
VS
4262011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4272011-11-12 Colin Watson <cjwatson@ubuntu.com>
428
429 * Makefile.util.def (grub-mount): New util.
430 * .bzrignore: Add grub-mount.
431 * configure.ac: Check for fuse and enable grub-mount if available.
432 * docs/man/grub-mount.h2m: New file.
433 * util/grub-mount.c: Likewise.
434
10f0117b
VS
4352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/commands/efi/fixvideo.c: Gettextize.
438 * grub-core/commands/hashsum.c: Likewise.
439 * grub-core/commands/i386/cmostest.c: Likewise.
440 * grub-core/commands/i386/pc/drivemap.c: Likewise.
441 * grub-core/commands/i386/pc/lsapm.c: Likewise.
442 * grub-core/commands/i386/pc/sendkey.c: Likewise.
443 * grub-core/commands/lsmmap.c: Likewise.
444 * grub-core/commands/menuentry.c: Likewise.
445 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
446 * grub-core/commands/setpci.c: Likewise.
447 * grub-core/loader/i386/bsd.c: Likewise.
448 * grub-core/loader/i386/linux.c: Likewise.
449 * util/getroot.c: Likewise.
450 * util/grub-editenv.c: Likewise.
451 * util/grub-fstest.c: Likewise.
452 * util/grub-mkfont.c: Likewise.
453 * util/grub-mkimage.c: Likewise.
454 * util/grub-mkpasswd-pbkdf2.c: Likewise.
455 * util/grub-pe2elf.c: Likewise.
456 * util/grub-probe.c: Likewise.
457 * util/grub-setup.c: Likewise.
458 * util/ieee1275/ofpath.c: Likewise.
459 * util/misc.c: Likewise.
460 * util/raid.c: Likewise.
461
566f779b
RM
4622011-11-11 Robert Millan <rmh@gnu.org>
463
464 * util/getroot.c (grub_util_get_geom_abstraction): Remove
465 __attribute__((unused)) from `os_dev', which *is* being used.
466
b50787de
VS
4672011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
470 forgotten define.
471 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
472 GRUB_IA64_DL_GOT_ALIGN.
473 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
474 GRUB_IA64_DL_TRAMP_ALIGN.
475
119d11c8
VS
4762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
477
478 Replace grub_fatal with normal errors in i386 linux loader.
479
480 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
481 (allocate_pages): Check find_efi_mmap_size return value.
482 (grub_e820_add_region): Return error.
483 (grub_linux_boot): Check mmap return value.
484
6e0632e2
VS
4852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/commands/acpihalt.c: Gettextized.
488 * grub-core/commands/cacheinfo.c: Likewise.
489 * grub-core/commands/cmp.c: Likewise.
490 * grub-core/commands/efi/loadbios.c: Likewise.
491 * grub-core/commands/gptsync.c: Likewise.
492 * grub-core/commands/ieee1275/suspend.c: Likewise.
493 * grub-core/commands/legacycfg.c: Likewise.
494 * grub-core/commands/memrw.c: Likewise.
495 * grub-core/commands/minicmd.c: Likewise.
496 * grub-core/commands/parttool.c: Likewise.
497 * grub-core/commands/time.c: Likewise.
498 * grub-core/commands/videoinfo.c: Likewise.
499 * grub-core/disk/geli.c: Likewise.
500 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
501 * grub-core/disk/luks.c: Likewise.
502 * grub-core/disk/lvm.c: Likewise.
503 * grub-core/font/font_cmd.c: Likewise.
504 * grub-core/fs/zfs/zfscrypt.c: Likewise.
505 * grub-core/fs/zfs/zfsinfo.c: Likewise.
506 * grub-core/gfxmenu/view.c: Likewise.
507 * grub-core/kern/emu/hostdisk.c: Likewise.
508 * grub-core/kern/emu/main.c: Likewise.
509 * grub-core/kern/emu/misc.c: Likewise.
510 * grub-core/kern/emu/mm.c: Likewise.
511 * grub-core/kern/mips/arc/init.c: Likewise.
512 * grub-core/kern/mips/loongson/init.c: Likewise.
513 * grub-core/kern/partition.c: Likewise.
514 * grub-core/lib/i386/halt.c: Likewise.
515 * grub-core/lib/mips/arc/reboot.c: Likewise.
516 * grub-core/lib/mips/loongson/reboot.c: Likewise.
517 * grub-core/loader/i386/pc/chainloader.c: Likewise.
518 * grub-core/loader/i386/xnu.c: Likewise.
519 * grub-core/loader/multiboot.c: Likewise.
520 * grub-core/net/bootp.c: Likewise.
521 * grub-core/net/net.c: Likewise.
522 * grub-core/normal/term.c: Likewise.
523 * grub-core/partmap/bsdlabel.c: Likewise.
524 * grub-core/parttool/msdospart.c: Likewise.
525 * grub-core/term/gfxterm.c: Likewise.
526 * grub-core/term/terminfo.c: Likewise.
527 * grub-core/video/i386/pc/vbe.c: Likewise.
528 * util/grub-menulst2cfg.c: Likewise.
529 * util/grub-mkdevicemap.c: Likewise.
530 * util/grub-mklayout.c: Likewise.
531 * util/grub-mkrelpath.c: Likewise.
532 * util/grub-script-check.c: Likewise.
533 * util/ieee1275/grub-ofpathname.c: Likewise.
534 * util/resolve.c: Likewise.
535
073aa7a9
VS
5362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Support %1$d syntax.
539
540 * tests/printf_unit_test.c: New file.
541 * Makefile.util.def (printf_test): New test.
542 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
543
c76b5417
VS
5442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
547 fix.
548
df067ad1
VS
5492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
552 dprintf.
553 * grub-core/font/font.c (grub_font_load): Likewise.
554
5b289bc5
VS
5552011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * util/grub-macho2img.c: Add comment concerning gettext.
558 * grub-core/lib/legacy_parse.c: Likewise.
559
c1860f87
VS
5602011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
561
562 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
563 (grub_xvasprintf): Likewise.
564
d35d0d37
VS
5652011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
566
567 Add const keyword to grub_env_get and gettextize week days.
568
569 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
570 (grub_read_hook_datetime): Return const char *.
571 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
572 updated.
573 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
574 Mark for gettext.
575 (grub_get_weekday_name): Return const char *. Call gettext.
576 * grub-core/script/argv.c (grub_script_argv_append): Receive const
577 char * and len as the argument. All users updated.
578 (grub_script_argv_split_append): Receive const char *.
579 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
580 * include/grub/env.h (grub_env_get): Likewise.
581 (grub_env_read_hook_t): Return const char *.
582 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
583 (grub_script_argv_split_append): Likewise.
584
9aed8a71
VS
5852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
588
067fdf00
VS
5892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
592 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
593
a8bd9d39
VS
5942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
597 Fix prototype.
598
f7ce5baf
VS
5992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
600
601 Fix mips compilation.
602
603 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
604 normal decoder.
605 (hashes): Use in embed decoder as well (for sizes).
606 (dec_stream_header): Fix embed decompressor logic.
607 (dec_stream_footer): Likewise.
608
9bb182f3
VS
6092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
612 an error and not a fatal on unrecognised relocation types.
613
63a9e6f6
VS
6142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
615
616 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
617 Issue error rather than printf on unknown arguments.
618
4c458569
VS
6192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
620
621 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
622 Make buf a const.
623
e2d22baf
VS
6242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
625
626 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
627 Fix module name.
628
53dc8590
VS
6292011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
632 leftover debug printf.
633
6c189294
VS
6342011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
635
636 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
637
f7688369
VS
6382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
641 A stylistic fix.
642
11a775a3
VS
6432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
646
33f784e8
SL
6472011-11-10 Shea Levy <slevy@tieronedesign.com>
648
649 Allow all modules to perform serial IO
650
651 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
652 * include/grub/serial.h (grub_serial_port_configure): New inline
653 function.
654 (grub_serial_port_fetch): Likewise.
655 (grub_serial_port_put): Likewise.
656 (grub_serial_port_fini): Likewise.
657 (grub_serial_find): New proto.
658
f6276525
VS
6592011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Put symlink at the end of the node and fix a potential
662 memory corruption.
663
664 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
665 Make symlink into an array.
666 (set_rockridge): Set have_symlink and alloc_dirents.
667 (grub_iso9660_read_symlink): Use new layout.
668 (grub_iso9660_iterate_dir): Fix memory corruption.
669 Use new layout.
670 (grub_iso9660_dir): Set have_symlink.
671 (grub_iso9660_open): Likewise.
672
c3591189
VS
6732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
674
675 Remove local keyword.
676
677 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
678 (version_test_gt): Likewise.
679 (version_find_latest): Likewise.
680 (gettext_printf): Likewise.
681 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
682
cb544caa
VS
6832011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
686
45bd824d
VS
6872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Fix ZFS memory and resource leaks.
690
691 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
692 All users updated.
693 Free type on exit.
694 (fill_vdev_info): New parameter inserted. All users updated.
695 (check_pool_label): Likewise.
696 (scan_disk): Likewise.
697 (scan_devices): Close non-inserted disks.
698 (fzap_iterate): Free l.
699 (unmount_device): Free children descripto memory.
700
ad9a2f44
VS
7012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
704 argument (access out of bounds).
705
6b68db81
VS
7062011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
709 >= 6 drives.
710
28840fda
VS
7112011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
714 Fix declaration.
715
8a5a3a5b
VS
7162011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Fix several memory leaks.
719
720 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
721 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
722 (grub_cpio_dir): Likewise.
723 * grub-core/fs/fat.c (grub_fat_label): Likewise.
724 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
725 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
726 (grub_romfs_label): Likewise.
727 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
728 (squash_unmount): New function.
729 (grub_squash_dir): Fix memory leak.
730 (grub_squash_open): Likewise.
731 (grub_squash_read): Likewise.
732 (grub_squash_mtime): Likewise.
733 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
734 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
735 * util/grub-fstest.c (fstest): Likewise.
736
57b01250
VS
7372011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
738
739 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
740 avoid accessing beyond the array.
741
19e81ba7
VS
7422011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
745
52b656c0
VS
7462011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
747
748 Several AFFS fixes.
749
750 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
751 (GRUB_AFFS_FLAG_FFS): Removed.
752 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
753 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
754 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
755 (grub_fshelp_node): Make block 32-bit.
756 Add block_cache and last_block_cache.
757 (grub_affs_read_block): Fill and use block cache.
758 (grub_affs_read_file): Removed.
759 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
760 boot block.
761 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
762 safety.
763 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
764 space.
765 (grub_affs_close): Free block cache.
766 (grub_affs_read): Use grub_fshelp_read_file directly.
767
438a746a
VS
7682011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
771 with no error set.
772
49a45021
VS
7732011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
776 used variable.
777 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
778 Likewise.
779
3ae17eb8
VS
7802011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
781
782 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
783
784 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
785 byteswap when needed.
786
27610c38
VS
7872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
788
789 Fix FreeBSD compilation.
790
791 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
792 to avoid circular dependency.
793 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
794 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
795 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
796
4a19b601
VS
7972011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
798
799 Fix ZFS crypto error types.
800
801 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
802 (grub_gcm_decrypt): Likewise.
803 (grub_zfs_load_key_real): Fix error code type. Handle possible error
804 from PBKDF2.
805
958ee221
VS
8062011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
807
808 Illumos support.
809
810 * Makefile.util.def (10_illumos): New script.
811 * configure.ac: Set COND_HOST_ILLUMOS.
812 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
813 Support Illumos calls.
814 (find_partition_start) [__sun__]: Likewise.
815 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
816 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
817 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
818 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
819 device.
820 * util/grub-probe.c (probe) [__sun__]: Do character check.
821 * util/grub.d/10_illumos.in: New file.
822
cac14fb6
VS
8232011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
824
825 Support escaped commas in hostdisk.
826
827 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
828 (find_grub_drive): Use unescape_cmp.
829 (make_device_name): Escape commas.
830
78e08dc3
VS
8312011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
834
9f421dd1
VS
8352011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
838 variable.
839
ed64e9e2
VS
8402011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Support trampoline jumps on powerpc.
843
844 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
845 __ia64__ path.
846 (grub_dl_load_segments): Set mod->sz.
847 (grub_dl_flush_cache): Flush whole space occupied by module, not just
848 segments.
849 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
850 (jump): Likewise.
851 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
852 function.
853 (trampoline): New struct.
854 (trampoline_template): New const.
855 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
856 * include/grub/dl.h (grub_dl): Add sz element.
857 [__powerpc__]: Follow __ia64__.
858 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
859 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
860 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
861 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
862
3084ede4
VS
8632011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
864
865 ZFS crypto support.
866
867 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
868 * grub-core/Makefile.core.def (zfscrypt): New module.
869 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
870 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
871 it. All users updated.
872 (grub_zfs_decrypt): New var.
873 (grub_zfs_load_key): Likewise.
874 (zio_checksum_functions): Add SHA256+MAC.
875 (zio_checksum_verify): Handle incomplete comparison due to MAC.
876 (zio_read): Handle encrypted blocks.
877 (zap_verify): Remove incorrect check.
878 (fzap_iterate): Handle non-standard fzap.
879 (zap_iterate): Likewise.
880 (zap_iterate_u64): New function.
881 (dnode_get_fullpath): Load keys.
882 * grub-core/fs/zfs/zfscrypt.c: New file.
883 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
884 (grub_crypto_ecb_encrypt): Make input const.
885 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
886 (grub_crypto_ecb_encrypt): Make input const.
887 (GRUB_CIPHER_AES): New macro.
888 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
889 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
890 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
891 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
892 prefix. All users updated.
893 (grub_zfs_add_key): New proto.
894 (grub_zfs_decrypt): Likewise.
895 (grub_zfs_load_key): Likewise.
896 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
897 * util/grub-fstest.c (options): Add -K option.
898 (argp_parser): Likewise.
899
b632b404
VS
9002011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
901
902 Support zle compression on ZFS.
903
904 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
905 (decomp_table): Add zle.
906 * include/grub/zfs/zio.h (zio_compress): Add zle.
907
c7ba4f69
VS
9082011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
909
910 Support BtrFS embedding.
911
912 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
913 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
914 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
915 * util/grub-setup.c (setup): Use fs embedding if available.
916 Add additional sanity check.
917
455377d9
VS
9182011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * util/grub-install.in: Fix condition for config_opt.
921
c2fd16ca
VS
9222011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
923
924 Support third redundancy strip on raidz3.
925
926 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
927 Return error on singularity. All users updated.
928 (read_device): Don't stop on 3rd failure on raidz3.
929
8622923b
VS
9302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
931
932 Support case-insensitive ZFS subvolumes.
933
934 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
935 All users updated.
936 (zap_hash): Likewise.
937 (name_cmp): New function.
938 (zap_leaf_array_equal): New parameter case_insensitive.
939 All users updated.
940 (zap_leaf_lookup): Likewise.
941 (fzap_lookup): Likewise.
942 (zap_lookup): Likewise.
943 (dnode_get_path): New parameter case_insensitive. Retrieve case
944 sensitiviness of a volume. All users updated.
945 (dnode_get_fullpath): New parameter case_insensitive.
946 All users updated.
947 (grub_zfs_dir): Set info.case_insensitiveness.
948
95f2e860
VS
9492011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
950
951 Support second redundancy strip on raidz(2,3).
952
953 * grub-core/fs/zfs/zfs.c (powx): New array.
954 (powx_inv): Likewise.
955 (poly): New const.
956 (xor_out): New function.
957 (gf_mul): Likewise.
958 (recovery): Likewise.
959 (read_device): Use second redundancy strip.
960
11ee4389
VS
9612011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Use a power of generator representation of GF(256) multiplication group
964 to save space time and complexity.
965
966 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
967 (raid6_table2): Likewise.
968 (powx): New array.
969 (powx_inv): Likewise.
970 (poly): New const.
971 (grub_raid_block_mul): Replace with ...
972 (grub_raid_block_mulx): ...this.
973 (grub_raid6_init_table): Rewritten.
974 (grub_raid6_recover): Use power of generator representation.
975
09e2763f
VS
9762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
979 for the right device.
980
8bec9a28
VS
9812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
984 expected by grub-mkimage and it's more clear since there is no implicit
985 padding.
986
dbd3a32e
VS
9872011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
990 disk.
991 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
992
182c872a
PMH
9932011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
994
995 * util/grub-mkrescue.in: Fix handling xorriso option.
996
1e51cabd
VS
9972011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1000 NULL.
1001
9cc3581d 10022011-11-03 crocket <crockabiscuit@gmail.com>
1003
1004 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1005
158dc1ea
VS
10062011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 XZ CRC64 and SHA256 support.
1009
1010 * Makefile.util.def (libgrubmods): Add crc64.c.
1011 * grub-core/Makefile.core.def (crc64): New module.
1012 * grub-core/lib/crc64.c: New file.
1013 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
1014 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
1015 Fix the type.
1016 (MAX_HASH_SIZE): New define.
1017 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
1018 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
1019 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1020 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1021 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
1022 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
1023 Handle non-crc32 hashes.
1024 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
1025 (dec_stream_header): Handle non-crc32 hashes.
1026 (dec_stream_footer): Likewise.
1027 (dec_block_header): Likewise.
1028 (dec_main): Likewise.
1029 (xz_dec_init): Likewise.
1030 (xz_dec_reset): Likewise.
1031 (xz_dec_end): Likewise.
1032 * util/import_gcry.py: Add CRC64 line.
1033
9d9b3d2f
VS
10342011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
1037 as well.
1038
7d0ac931
VS
10392011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 Make reiserfs label retrieval similar to other *_label functions.
1042
1043 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
1044 (REISERFS_MAX_LABEL_LENGTH): Removed.
1045 (REISERFS_LABEL_OFFSET): Likewise.
1046 (grub_reiserfs_label): Rewritten.
1047
10482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
1051 field.
1052
cf5ba824
VS
10532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
1056
17744004
VS
10572011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
1060 drive failure on both raidz and raidz2.
1061
aca5aefc
VS
10622011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 Fix RAIDZ(2) for >= 5 devices.
1065
1066 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
1067 asize argument. All users updated.
1068
ce8ca56e
VS
10692011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1070
1071 Fix RAIDZ(2).
1072
1073 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
1074 (fill_vdev_info_real): Set ashift.
1075 (read_device): Rewrite RAIDZ part based on reverse engineering.
1076
7c01e783
VS
10772011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
1080 don't report potentially unavialiable fields in debug output.
1081 (find_path): Fix double-free and memory leak.
1082
ce109e84
VS
10832011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 Read label on UFS1.
1086
1087 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
1088 (grub_ufs_fs): Always set .label.
1089
87661123
VS
10902011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 Use shifts in UFS.
1093
1094 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
1095 (grub_ufs_data): New field log2_blksz.
1096 (grub_ufs_read_file): Use shifts.
1097 (grub_ufs_mount): Check block size and logarithm it.
1098
46bc1dc2
VS
10992011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1100
1101 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
1102 long symlinks.
1103
19ee2987
VS
11042011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 Handle symlinks and long names on tar and cpio.
1107
1108 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
1109 (ATTR_FILE): Likewise.
1110 (ATTR_DIR): Likewise.
1111 (ATTR_LNK): Likewise.
1112 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
1113 (grub_cpio_find_file): Fill mode, handle linkname field as well as
1114 L and K entries.
1115 (grub_cpio_mount): Zero-fill data.
1116 (handle_symlink): New function.
46bc1dc2
VS
1117 (grub_cpio_dir): Handle symlinks.
1118 (grub_cpio_open): Likewise.
1119 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 1120
c83a08d8
VS
11212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 Fix iso9660 filename limitations and fix memory leaks.
1124
1125 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
1126 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
1127
45cdd3ea
VS
11282011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Fix JFS file name length limitations.
1131
1132 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
1133 (grub_jfs_diropen): Fix maximum filename length.
1134 (grub_jfs_getent): Fix filename length.
1135 (grub_jfs_lookup_symlink): Fix size checks.
1136
94ef05c2
VS
11372011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
1140 string.
1141
785ab8c7
VS
11422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1143
eb0b6b45
VS
1144 Leverage BFS implementation to read AFS.
1145
1146 * Makefile.util.def (libgrubmods): Add afs.c.
1147 * grub-core/Makefile.core.def (afs): New module
1148 * grub-core/fs/afs.c: New file.
1149 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
1150
11512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 1154
c4a1628f
VS
11552011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * grub-core/fs/bfs.c: Run indent.
1158
5825b379
VS
11592011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 BFS implementation based on the specification.
1162
1163 * grub-core/fs/bfs.c: New file.
1164 * Makefile.util.def (libgrubmods): Add bfs.c.
1165 * grub-core/Makefile.core.def (bfs): New module.
1166
42b2a706
VS
11672011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-fstest.c (cmd_cp): Clarify error message.
1170 (cmd_cmp): Likewise.
1171
61b99bfc
YB
11722011-10-30 Yves Blusseau <blusseau@zetam.org>
1173
1174 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
1175 and befs_be.
1176
faba3d16
VS
11772011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Remove afs and befs because of copyright problem.
1180
1181 * grub-core/fs/afs.c: Removed.
1182 * grub-core/fs/afs_be.c: Removed.
1183 * grub-core/fs/befs.c: Removed.
1184 * grub-core/fs/befs_be.c: Removed.
1185 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
1186 * grub-core/Makefile.core.def (afs): Removed.
1187 (afs_be): Likewise.
1188 (befs): Likewise.
1189 (befs_be): Likewise.
1190
c39224b0
VS
11912011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 Prefer rockridge over Joliet.
1194
1195 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
1196 to ...
1197 (set_rockridge): ... here.
1198 (grub_iso9660_mount): Check rockridge on the primary label when
1199 discovering. Ignore Joliet if Rockridge is present.
1200
e551115a
VS
12012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 Use shifts in nilfs2.
1204
1205 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
1206 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
1207 (grub_nilfs2_palloc_entries_per_group): Replace with ...
1208 (grub_nilfs2_log_palloc_entries_per_group): ... this.
1209 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
1210 (grub_nilfs2_entries_per_block): Replaced with ...
1211 (grub_nilfs2_log_entries_per_block_log): ... this.
1212 (grub_nilfs2_blocks_per_group): Replaced with ...
1213 (grub_nilfs2_blocks_per_group_log): ... this.
1214 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
1215 (grub_nilfs2_blocks_per_desc_block_log): ... this.
1216 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
1217 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
1218 (grub_nilfs2_palloc_entry_offset): Replaced ...
1219 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
1220 (grub_nilfs2_dat_translate): Use shifts.
1221 (grub_nilfs2_read_inode): Likewise.
1222 (GRUB_MOD_INIT): Ensure that logs are correct.
1223
564dd58c
VS
12242011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 Use shifts in minix filesystem.
1227
1228 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
1229 (GRUB_MINIX_ZONE2SECT): Likewise.
1230 (grub_minix_data): Replace block_size with log_block_size.
1231 (grub_minix_read_file): Use shifts.
1232 (grub_minix_mount): Check block size and take a logarithm.
1233
ed9ba06d
VS
12342011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Use shifts in squash4.
1237
1238 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
1239 (squash_mount): Check block size and take logarithm.
1240 (direct_read): Use shifts.
1241
ad03fe76
VS
12422011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 Correct befs block counting logic.
1245
1246 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
1247 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
1248 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
1249 (grub_afs_read_inode): Use block_shift.
1250 (RANGE_SHIFT): New definition.
1251 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
1252 unexpected conditions, use shifts and appropriate types.
1253 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
1254
6563f63d
VS
12552011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 * grub-core/disk/raid.c (scan_devices): Check partition.
1258 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1259
5b1ae25f
VS
12602011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 Support BFS (befs) UUID.
1263
1264 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
1265 (grub_afs_small_data_element_header): New struct.
1266 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
1267 (grub_afs_read_attribute) [MODE_BFS]: New function.
1268 (grub_afs_iterate_dir): Allocate for complete inode.
1269 (grub_afs_mount): Likewise.
1270 (grub_afs_uuid) [MODE_BFS]: New function.
1271 (grub_afs_fs) [MODE_BFS]: Add .uuid.
1272
f8d82408
VS
12732011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
1276 (zfs_unmount): Fix memory leak.
1277
5773fb64
VS
12782011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Support NTFS reparse points.
1281
1282 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
1283 (symlink_descriptor): New struct.
1284 (grub_ntfs_read_symlink): New function.
1285 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
1286 (grub_ntfs_open): Likewise.
1287
91c3fdde
VS
12882011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
1291
3be82e10
VS
12922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 fstest xnu_uuid subcommand.
1295
1296 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
1297 grub-core/commands/xnu_uuid.c.
1298 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
1299 (fstest): Handle xnu_uuid.
1300 (options): Document xnu_uuid.
1301 (argp_parser): Parse xnu_uuid.
1302
8e32442e
VS
13032011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
1306 -l argument. Add newline at the end if printing.
1307 (GRUB_MOD_INIT): Document -l.
1308
52a05075
VS
13092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1310
1311 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
1312
1869edb5
VS
13132011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 ZFS multi-device and version 33 support.
1316
1317 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
1318 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
1319 (grub_zfs_data): Add multidev-ice-related fields.
1320 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
1321 (dva_get_offset): Make dva const.
1322 (zfs_fetch_nvlist): New function.
1323 (fill_vdev_info_real): Likewise.
1324 (fill_vdev_info): Likewise.
1325 (check_pool_label): Likewise.
1326 (scan_disk): Likewise.
1327 (scan_devices): Likewise.
1328 (read_device): Likewise.
1329 (read_dva): Likewise.
1330 (zio_read_gang): Use read_dva.
1331 (zio_read_data): Likewise.
1332 (zap_leaf_lookup): Add missing endian conversion.
1333 (zap_verify): Add missing endian conversion. All users updated.
1334 (fzap_lookup): Likewise.
1335 (fzap_iterate): Likewise.
1336 (dnode_get_path): Handle SA bonus.
1337 (nvlist_find_value): Make input const. All users updated.
1338 (unmount_device): New function.
1339 (zfs_unmount): Use unmount_device.
1340 (zfs_mount): Use scan_disk.
1341 (zfs_mtime): New function.
1342 (grub_zfs_open): Handle system attributes.
1343 (fill_fs_info): Likewise.
1344 (grub_zfs_dir): Likewise.
1345 (grub_zfs_fs): Add mtime.
1346 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
1347 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
1348 (SA_MTIME_OFFSET): Likewise.
1349 (SA_SYMLINK_OFFSET): Likewise.
1350 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
1351 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
1352 (fstest): Support zfsinfo.
1353 (argp_parser): Likewise.
1354
186b4028
VS
13552011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
1358 error.
1359
13602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
1361
1362 ZFS fixes.
1363
1364 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
1365 sharing the same block. Iterate over correct number of indices.
1366 (dnode_get_path): Handle symlinks correctly.
1367
c0584900
VS
13682011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
1371
67e2bd71
VS
13722011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 Read label on HFS+.
1375
1376 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
1377 (grub_hfsplus_btree_search): Fix types.
1378 (grub_hfsplus_label): Implement.
1379
e9cc6b7b
VS
13802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
1383
19832ddb
VS
13842011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
1387
66b40850
VS
13882011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 Fix symlink handling on iso9660.
1391
1392 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
1393 All users updated.
1394 (grub_iso9660_susp_iterate): Accept zero-size iterate.
1395 (grub_iso9660_read_symlink): Moved most of code ...
1396 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
1397
db821363
VS
13982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1401 Use union to avoid breaking strict-aliasing rules.
1402
e1211949
VS
14032011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 Support multi-extent iso files.
1406
1407 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
1408 Add node.
1409 (grub_fshelp_node): Revamp. All users updated.
1410 (FLAG_*): New enum.
1411 (read_node): New function.
1412 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
1413 All users updated.
1414 (grub_iso9660_mount): Don't attempt to read sua when there is none.
1415 (get_node_size): New function.
1416 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
1417 entries.
1418 Fix memory leak on . and ..
1419 (grub_iso9660_read): Use read_node.
1420 (grub_iso9660_close): Free node.
1421
d4888031
VS
14222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Fix tar 4G limit and handle paths containing dot.
1425
1426 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
1427 (canonicalize): New function.
1428 (grub_cpio_find_file): Use canonicalize. Store offs in
1429 grub_disk_addr_t.
1430 (grub_cpio_dir): Use grub_disk_addr_t.
1431 (grub_cpio_open): Likewise.
1432
9f12e664
VS
14332011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 Fix handling of uncompressed blocks on squashfs and break 4G limit.
1436
1437 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
1438 unused flags.
1439 (grub_squash_inode): Add long_file and block_size.
1440 (grub_squash_cache_inode): New struct.
1441 (grub_squash_dirent): Make types into enum.
1442 (SQUASH_TYPE_LONG_REGULAR): New type.
1443 (grub_squash_frag_desc): Add field size.
1444 (SQUASH_BLOCK_FLAGS): New enum.
1445 (grub_squash_data): Use grub_squash_cache_inode.
1446 (grub_fshelp_node): Make ino_chunk 64-bit.
1447 (read_chunk): Minor argument change. All users updated.
1448 (squash_mount): Use correct le_to_cpu.
1449 (grub_squash_open): Handle LONG_REGULAR.
1450 (direct_read): New function.
1451 (grub_squash_read_data): Handle blocks correctly.
1452
9f326fba
VS
14532011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
1456
f4d9b64b
VS
14572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
1460
5bbd28b8
VS
14612011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 Fix 2G limit on ZFS.
1464
1465 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
1466 types.
1467 (uberblock_verify): Likewise.
1468 (dmu_read): Likewise.
1469 (grub_zfs_read): Likewise. Remove invalid cast.
1470
68c72069
VS
14712011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
1474 (grub_jfs_blkno): Fix incorrect shift.
1475 (grub_jfs_read_file): Use more appropriate types.
1476
6e536dc8
VS
14772011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 Support triple indirect on minix2 and minix3.
1480
1481 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
1482 Declare triple_indir_zone.
1483 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
1484 indirect.
1485
e0864e7a
VS
14862011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 Minix FS fixes.
1489
1490 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
1491 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
1492 Rename ctime to mtime. All users updated.
1493 (grub_minix_get_file_block): Fix types and double indirect computations.
1494
89481cab
VS
14952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
1498 if no label is found.
1499 (grub_fat_iterate_dir): Fix file size type.
1500 (grub_fat_iterate_dir): Likewise.
1501
f646e143
VS
15022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
1505 save some space.
1506 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1507 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1508
534d769e
VS
15092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
1512
e084ba18
VS
15132011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * util/import_gcry.py: Accept space between # and include.
1516
3471ecdf
VS
15172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
1520
124df5f6
VS
15212011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 Fine grainely disable warnings on lexer. Remove Wno-error on it.
1524
1525 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
1526 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
1527 yylex_strncpy.
1528 * grub-core/script/yylex.l: Add fine-grained #pragma.
1529
4defb8d5
VS
15302011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
1533 New inline function.
1534 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
1535 Likewise.
1536 (memset) [GRUB_UTIL]: Likewise.
1537 (memcmp) [GRUB_UTIL]: Likewise.
1538
4e94ae65
VS
15392011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
1542 inline function rather than a define.
1543
18c575e5
VS
15442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * util/grub-setup.c: Add missing include.
1547
f8bc22a8
VS
15482011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * util/ieee1275/grub-ofpathname.c: Add missing include.
1551
3ce69fc9
VS
15522011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
1555 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
1556 Likewise.
1557
d1e293bb
VS
15582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
1561 grub_memcmp usage.
1562
7a5c54a4
VS
15632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * util/grub-install.in: Add datarootdir as per automake manual
1566 suggestion.
1567 * util/grub-mknetdir.in: Likewise.
1568
15692011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
1570
1571 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
1572 suggestion.
1573 * util/grub.d/10_kfreebsd.in: Likewise.
1574 * util/grub.d/10_linux.in: Likewise.
1575 * util/grub.d/10_netbsd.in: Likewise.
1576 * util/grub.d/10_windows.in: Likewise.
1577 * util/grub.d/20_linux_xen.in: Likewise.
1578
766f7d08
VS
15792011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Remove redundant grub_kernel_image_size.
1582
1583 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
1584 _edata and _start.
1585 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
1586 the small code. It moves it only by few bytes but simplifies the code.
1587 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
1588 _start.
1589 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
1590 (grub_kernel_image_size): Removed.
1591 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
1592 (grub_kernel_image_size): Removed.
1593 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
1594 compiled with Apple toolchain.
1595 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
1596 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
1597 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
1598 (grub_total_module_size): Likewise.
1599 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
1600 Removed.
1601 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
1602 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
1603 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1604 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
1605 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
1606 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
1607 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
1608 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
1609 Removed.
1610 (grub_total_module_size): Removed.
1611 * util/grub-mkimage.c (image_target_desc): Remove image_size.
1612 (image_targets): Likewise.
1613 Set .compressed_size to no field on sparc.
1614 (generate_image): Remove kernel_image_size handling.
1615
fcf1d672
SJ
16162011-10-19 Szymon Janc <szymon@janc.net.pl>
1617
1618 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
1619 NULL pointer dereference.
1620
de9c615e
VS
16212011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
1624 done with a dedicated section.
1625
1626 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
1627 Ensure the correct position of boot_path.
1628 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
1629 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
1630 other fields.
1631 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
1632 * include/grub/boot.h: Removed. All references removed.
1633 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1634 Removed.
1635 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
1636
e55599dc
VS
16372011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
1640 name.
1641
36dd20ad
VS
16422011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
1645
f8f72eb8
VS
16462011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1649 Don't add the bogus brackets.
1650
a374751b
VS
16512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 ExFAT support.
1654
1655 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
1656 * grub-core/Makefile.core.def (exfat): New module.
1657 * grub-core/fs/exfat.c: New file.
1658 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
1659 (GRUB_FAT_ATTR_*): Make into an enum.
1660 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
1661 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
1662 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
1663 (GRUB_FAT_MAXFILE): Removed.
1664 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
1665 (grub_current_fat_bpb_t): New type.
1666 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
1667 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
1668 (grub_fat_dir_node_t): New type.
1669 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
1670 (fat_log2) [MODE_EXFAT]: Removed.
1671 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
1672 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
1673 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
1674 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
1675 (grub_fat_label) [MODE_EXFAT]: New function.
1676 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
1677 reserved_first_sector to 0.
1678
544c2487
VS
16792011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 Move grub_reboot out of the kernel.
1682
1683 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
1684 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
1685 * grub-core/lib/efi/reboot.c: ... here.
1686 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
1687 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1688 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
1689 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
1690 * grub-core/lib/i386/reboot_trampoline.S: ... here.
1691 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
1692 * grub-core/lib/ieee1275/reboot.c: ... here.
1693 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
1694 * grub-core/lib/mips/arc/reboot.c: ... here.
1695 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
1696 * grub-core/lib/mips/loongson/reboot.c: ...here.
1697 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
1698 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
1699 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1700 * include/grub/i386/reboot.h: New file.
1701 * include/grub/mips/loongson/ec.h: Fix includes.
1702 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1703 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1704 * grub-core/lib/i386/reboot.c: New file.
1705
a97501d2
VS
17062011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 Make grub_prefix into module to fix the arbitrary limit and save
1709 some space.
1710
1711 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1712 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1713 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1714 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1715 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1716 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1717 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1718 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1719 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1720 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1721 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1722 * include/grub/ia64/efi/kernel.h: Removed.
1723 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1724 (grub_prefix): Removed.
1725 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1726 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1727 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1728 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1729 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1730 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1731 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1732 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1733 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1734 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1735 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1736 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1737 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1738 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1739 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1740 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1741 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1742 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1743 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1744 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1745 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1746 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1747 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1748 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1749 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1750 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1751 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1752 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1753 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1754 from module.
1755 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1756 prefix_end.
1757 (image_targets): Likewise.
1758 (generate_image): Put prefix as a module.
1759
39705fad
VS
17602011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Replace grub_module_iterate with FOR_MODULES.
1763
1764 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1765 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1766 (grub_efi_modules_addr): ...this.
1767 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1768 (grub_efi_init): Set grub_modbase.
1769 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1770 (grub_modbase): New variable.
1771 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1772 (grub_modbase): New variable.
1773 (grub_machine_init): Set grub_modbase.
1774 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1775 (grub_modbase): New variable.
1776 (grub_machine_init): Set grub_modbase.
1777 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1778 (grub_modbase): New variable.
1779 (grub_machine_init): Set grub_modbase.
1780 * grub-core/kern/main.c (grub_module_iterate): Remove.
1781 (grub_modules_get_end): Use grub_modbase.
1782 (grub_load_modules): Use FOR_MODULES.
1783 (grub_load_config): Likewise.
1784 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1785 (grub_modbase): New variable.
1786 (grub_machine_init): Set grub_modbase.
1787 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1788 (grub_modbase): New variable.
1789 (grub_machine_init): Set grub_modbase.
1790 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1791 Removed.
1792 (grub_modbase): New variable.
1793 (grub_machine_init): Set grub_modbase.
1794 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1795 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1796 (grub_module_iterate): Likewise.
1797 (grub_modbase): New variable declaration.
1798 (FOR_MODULES): New macro.
1799
2afb7f6c
VS
18002011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1803 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1804
366e34fa
VS
18052011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 Fix few obvious type discrepancies.
1808
1809 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1810 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1811 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1812 variable.
1813 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1814 and connected types.
1815 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1816 offset.
1817 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1818 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1819 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1820 and connected types.
1821
177b960e
VS
18222011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Fix python 3.x incompatibilities.
1825
1826 * gentpl.py: Put brackets around print strings.
1827 * util/import_gcry.py: Open explicitly as utf-8.
1828 Use in instead of has_key.
1829
3b619ae1
VS
18302011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1833 (GRUB_XFS_INO_AGBITS): Make into inline function.
1834 (GRUB_XFS_INO_INOINAG): Likewise.
1835 (GRUB_XFS_INO_AG): Likewise.
1836 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1837 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1838 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1839 (GRUB_XFS_EXTENT_SIZE): Likewise.
1840 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1841 (GRUB_XFS_NEXT_DIRENT): Likewise.
1842 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1843 (grub_xfs_read_file): Fix offset type.
1844
8bcebcb8
RM
18452011-10-15 Robert Millan <rmh@gnu.org>
1846
1847 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1848
0017e5ef
RM
18492011-10-15 Robert Millan <rmh@gnu.org>
1850
1851 Fix build problem on FreeBSD and GNU/kFreeBSD.
1852
1853 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1854
d8919552
VS
18552011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1858
1859 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1860 types.
1861 (grub_hfsplus_btree_recoffset): Likewise.
1862 (grub_hfsplus_btree_recptr): Likewise.
1863 (grub_hfsplus_find_block): Likewise.
1864 (grub_hfsplus_btree_search): Likewise.
1865 (grub_hfsplus_read_block): Likewise.
1866 (grub_hfsplus_read_file): Likewise.
1867 (grub_hfsplus_mount): Likewise.
1868 (grub_hfsplus_btree_iterate_node): Likewise.
1869 (grub_hfsplus_btree_search): Likewise.
1870 (grub_hfsplus_iterate_dir): Likewise.
1871 (grub_hfsplus_read): A small code simplification.
1872
c81296b6
VS
18732011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 * grub-core/kern/emu/hostdisk.c
1876 (convert_system_partition_to_system_disk): Don't assume that children
1877 of mapper nodes are mapper nodes.
1878
0eb8ffb1
VS
18792011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1882 * include/grub/misc.h (grub_isxdigit): New function.
1883 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1884 switched to grub_isxdigit.
1885 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1886 number starting with a letter.
1887
a98f4a08
RM
18882011-10-09 Robert Millan <rmh@gnu.org>
1889
1890 LVM support for FreeBSD and GNU/kFreeBSD.
1891
1892 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1893 GNU/kFreeBSD.
1894 (LVM_DEV_MAPPER_STRING): Move from here ...
1895 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1896 * util/getroot.c: Include `<grub/util/lvm.h>'.
1897 (grub_util_get_dev_abstraction): Enable
1898 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1899 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1900 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1901 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1902 support it.
1903 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1904 GNU/kFreeBSD.
1905 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1906 when LVM abstraction is required for ${GRUB_DEVICE}.
1907
050e8e90
SJ
19082011-10-06 Szymon Janc <szymon@janc.net.pl>
1909
1910 Add support for LZO compression in GRUB:
1911 - import of minilzo library,
1912 - LZO decompression for btrfs,
1913 - lzop files decompression.
1914
1915 * grub-core/io/lzopio.c: New file.
1916 * grub-core/lib/adler32.c: Likewise.
1917 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1918 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1919 * grub-core/lib/minilzo/minilzo.c: Likewise.
1920 * grub-core/lib/minilzo/minilzo.h: Likewise.
1921 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1922 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1923 grub-core/lib/minilzo/minilzo.c to common.
1924 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1925 cflags in cppflags.
1926 * grub-core/Makefile.core.def (btrfs): Likewise.
1927 * grub-core/Makefile.core.def (lzopio): New module.
1928 (adler32): Likewise.
1929 * grub-core/fs/btrfs.c: Include minilzo.h.
1930 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1931 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1932 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1933 (grub_btrfs_lzo_decompress): New function.
1934 (grub_btrfs_extent_read): Add support for LZO compression type.
1935 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1936 (GRUB_USHRT_MAX): Likewise.
1937 (GRUB_UINT_MAX): Likewise.
1938 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1939 (UINT_MAX): Likewise.
1940 (CHAR_BIT): Likewise.
1941 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1942 grub-core/lib/posix_wrap/limits.h
1943 (UCHAR_MAX): Likewise.
1944 * include/grub/file.h (grub_file_filter_id): New compression filter
1945 GRUB_FILE_FILTER_LZOPIO.
1946 * include/grub/file.h (grub_file_filter_id): Set
1947 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1948 * include/grub/types.h (grub_get_unaligned16): New function.
1949 (grub_get_unaligned32): Likewise.
1950 (grub_get_unaligned64): Likewise.
1951 * util/import_gcry.py (cryptolist): Add adler32.
1952
0eb8ffb1
VS
19532011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1956 in perspective decreases the complexity of build system and fixes
1957 compilation right now.
1958
ce79cc99 19592011-10-01 Ales Nesrsta <starous@volny.cz>
1960
1961 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1962 (fixed problem related to using UHCI with coreboot).
1963
8667a314
BC
19642011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1965
1966 * gentpl.py: Use Autogen macros so that the output template file
1967 (Makefile.tpl) size is reduced.
1968
fc5efcc0
MK
19692011-09-29 Mads Kiilerich <mads@kiilerich.com>
1970
1971 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1972 extra_dist.
1973
d1ab689d
ML
19742011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1975
1976 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1977 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1978
c05de032
ML
19792011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1980
1981 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1982 _fullpath.
1983
cca7ccd8
ML
19842011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1985
1986 Remove extra declaration of sleep for mingw32.
1987
1988 * util/misc.c (sleep) [__MINGW32__]: Removed.
1989 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1990
e0b0dc83
GS
19912011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1992
1993 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1994 type and packname.
1995 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1996 Resurrected.
1997 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1998 (grub_netbsd_btinfo_bootwedge): New struct.
1999 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2000 New function.
2001 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2002
91a1a164
TH
20032011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2004
2005 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2006 loader.
2007
2ded951e
AB
20082011-09-28 Andreas Born <futur.andy@googlemail.com>
2009
2010 Fix incorrect identifiers in bash-completion.
2011
2012 * util/bash-completion.d/grub-completion.bash.in
2013 (_grub_mkpasswd-pbkdf2): Rename to ...
2014 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
2015 (_grub_script-check): Rename to ...
2016 (_grub_script_check): ... this. All users updated.
2017
69915030
VS
20182011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2021 Return 0 if disk isn't biosdisk.
2022
20fd15f9
GS
20232011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2024
2025 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
2026 on NetBSD.
2027 * Makefile.util.def (grub-fstest): Likewise.
2028
1a7d7db9
GS
20292011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2030
2031 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
2032 Get sector size from disk label.
2033
2221ab6c
CW
20342011-09-05 Colin Watson <cjwatson@ubuntu.com>
2035
2036 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
2037 */README* as well as README*.
2038 Reported by: Axel Beckert.
2039
ca51c4a0
VS
20402011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
2043 case of less than 256 MiB of RAM.
2044
ab80f326
VS
20452011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2046
2047 * grub-core/commands/wildcard.c (make_regex): Handle @.
2048
4155e697
VS
20492011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2050
2051 * util/grub-install.in: Move cryptodisk logic to appropriate place.
2052
ab178c08
SJ
20532011-08-21 Szymon Janc <szymon@janc.net.pl>
2054
2055 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
2056 AC_LANG_CONFTEST macros.
2057
7dc3c686
SJ
20582011-08-20 Szymon Janc <szymon@janc.net.pl>
2059
2060 Add grub-fstest option to uncompress data for commands.
2061
2062 * util/grub-fstest.c (uncompress): New var.
2063 (options): New option -u.
2064
fe8d4a7b
SJ
20652011-08-20 Szymon Janc <szymon@janc.net.pl>
2066
2067 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2068 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2069
a5219af1
SJ
20702011-08-20 Szymon Janc <szymon@janc.net.pl>
2071
2072 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
2073 file type was not recognized correctly (not gzip or corrupted).
2074
f87abff5
VS
20752011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2076
2077 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
2078 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2079
d94497ea
VS
20802011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2081
2082 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
2083 loongson.
2084 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2085 video_radeon_fuloong2e.
2086 * grub-core/video/radeon_fuloong2e.c: New file.
2087 * include/grub/video.h (grub_video_id_t): Add new ID
2088 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2089
0d1fd011
VS
20902011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
2093 define.
2094 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
2095 that PRID matches the detected subplatform and reset the subplatform
2096 if it doesn't.
2097
84beb0ee
VS
20982011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2099
2100 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
2101
1227c133
VS
21022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Fix PCI iterating on functions >= 4.
2105
2106 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
2107 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
2108 Removed.
2109 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
2110 (grub_pci_read): Fix bitmask.
2111 (grub_pci_read_word): Likewise.
2112 (grub_pci_read_byte): Likewise.
2113 (grub_pci_write): Likewise.
2114 (grub_pci_write_word): Likewise.
2115 (grub_pci_write_byte): Likewise.
2116
9594c689
VS
21172011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
2120 can still be specified in TARGET_CFLAGS)
2121
14a2562c
VS
21222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2123
2124 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
2125
2126 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
2127 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
2128 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
2129 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
2130 (FULOONG): Rename to ...
2131 (FULOONG2F): ... this. All users updated.
2132 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
2133 (machtype_fuloong2f_str): ... this.
2134 (machtype_fuloong2e_str): New string.
2135 Check for machtype_fuloong2e_str.
2136 * grub-core/loader/mips/linux.c (loongson_machtypes)
2137 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
2138 * grub-core/term/serial.c (loongson_defserial)
2139 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
2140 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
2141 loongson_defserial.
2142 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
2143 Rename to ...
2144 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
2145 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
2146 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
2147 to IMAGE_FULOONG2F_FLASH. All users updated.
2148 (image_targets): Rename images.
2149 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
2150
b526cbb6
SJ
21512011-08-19 Szymon Janc <szymon@janc.net.pl>
2152
2153 Make enable of disk cache statistics code configurable.
2154
2155 * configure.ac: --enable-cache-stats added.
2156 * config.h.in (DISK_CACHE_STATS): New define.
2157 * grub-core/Makefile.core.def (cacheinfo): New command.
2158 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
2159 * grub-core/commands/cacheinfo.c: New file.
2160 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
2161 moved to cacheinfo.c.
2162 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
2163 debug code.
2164 * include/grub/disk.h: Likewise.
2165
fb739ccd
SJ
21662011-08-19 Szymon Janc <szymon@janc.net.pl>
2167
2168 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
2169 * grub-core/Makefile.am: Likewise.
2170
2bba8cfd
VS
21712011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
2174 non-zero pull.
2175
43526629
VS
21762011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
2179 All users updated.
2180 (grub_jfs_lookup_symlink): Use correct starting inode.
2181
5c144cc8
VS
21822011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * util/grub-setup.c (main): Add missing gcry initialisation.
2185
b1257f65
VS
21862011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Don't accept text modes on EFI when booting Linux.
2189
2190 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
2191 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
2192
828bc390
ML
21932011-08-15 Mario Limonciello <mario_limonciello@dell.com>
21942011-08-15 Colin Watson <cjwatson@ubuntu.com>
2195
2196 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
2197 use of "/path/.." as in grub-install for EFI as well as handling
2198 symlinks correctly.
2199 Fixes Debian bug #637768.
2200
5f60ccac
CW
22012011-08-15 Colin Watson <cjwatson@ubuntu.com>
2202
2203 * util/grub-probe.c: Remove duplicate #include.
2204
6dc212f9
RM
22052011-08-10 Robert Millan <rmh@gnu.org>
2206
2207 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
2208
2209 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
2210 function.
2211 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
2212 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
2213
66816d85
RM
22142011-08-03 Robert Millan <rmh@gnu.org>
2215
2216 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
2217 la_array as packed.
2218 Reported by: Zachary Bedell
2219
20168fca
CW
22202011-07-26 Colin Watson <cjwatson@ubuntu.com>
2221
2222 * configure.ac: The Loongson port requires grub-mkfont due to its
2223 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
2224 be built.
2225
303b6246
CW
22262011-07-26 Colin Watson <cjwatson@ubuntu.com>
2227
2228 * util/grub-install.in: Don't source grub-mkconfig_lib until after
2229 processing arguments (otherwise help2man fails when GRUB has not yet
2230 been installed).
2231
6795300e
VS
22322011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2233
41aa28ea
VS
2234 New script grub-mkstandalone.
2235
2236 * Makefile.util.def (grub-mkstandalone): New script.
2237 * docs/man/grub-mkstandalone.h2m: New file.
2238 * util/grub-mkstandalone.in: Likewise.
2239
22402011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2241
2242 Support ATA disks with 4K sectors.
6795300e
VS
2243
2244 * include/grub/ata.h (grub_ata): New member log_sector_size.
2245 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
2246 (grub_ata_identify): Read sector size.
2247 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
2248
92227597
VS
22492011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * util/grub-install.in: Don't use uhci outside of x86.
2252
c77069f5
VS
22532011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * util/grub-mkrescue.in: Add missing quotes.
2256
22572011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
2258
2259 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
2260 dereference.
2261
583168a2
VS
22622011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
2265
6be1c01f
VS
22662011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * include/grub/video.h: add missing EXPORT_FUND on
2269 grub_video_edid_checksum and grub_video_edid_preferred_mode.
2270
a1167439
VS
22712011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * include/grub/mips/kernel.h: Fix define conflict.
2274
bf66054f
VS
22752011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
2278 all four ways.
2279
8fc4fa45
CW
22802011-07-21 Colin Watson <cjwatson@ubuntu.com>
2281
2282 Preferred resolution detection for VBE.
2283
2284 * grub-core/video/video.c (grub_video_edid_checksum): New function.
2285 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
2286 the Flat Panel extension, in line with the X.org VESA driver.
2287 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
2288 New function.
2289 (grub_vbe_bios_get_ddc_capabilities): Likewise.
2290 (grub_vbe_bios_read_edid): Likewise.
2291 (grub_vbe_get_preferred_mode): Likewise.
2292 (grub_video_vbe_setup): When the mode is "auto", try to get the
2293 preferred mode from VBE, and use the largest mode that is no larger
2294 than the preferred mode (some BIOSes expose a preferred mode that is
2295 not in their mode list!). If this fails, fall back to 640x480 as a
2296 safe conservative choice.
2297 (grub_video_vbe_get_edid): New function.
2298 (grub_video_vbe_adapter): Add get_edid.
2299 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
2300 (struct grub_video_adapter): Add get_edid.
2301 (grub_video_edid_checksum): Add prototype.
2302 (grub_video_edid_preferred_mode): Likewise.
2303 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
2304 structure.
2305
2306 * grub-core/commands/videoinfo.c (print_edid): New function.
2307 (grub_cmd_videoinfo): Print EDID if available.
2308
2309 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
2310 is more appropriate on a wider range of platforms than 640x480.
2311 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
2312 documentation.
2313
ca5572a9
VS
23142011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2315
2316 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
2317
e4bcf625
VS
23182011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 * po/POTFILES.in: Regenerate.
2321
c4edd548
VS
23222011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2323
2324 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
2325 incorrect memory usage.
2326
16a2bab0
VS
23272011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * util/grub-install.in: Source grub-mkconfig_lib.
2330
2e418de6
VS
23312011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 Remove getroot.c from core on emu platform.
2334
2335 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
2336 kern/emu/raid.c.
2337 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
2338 useless.
2339 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
2340 * util/getroot.c (get_win32_path): ... here.
2341 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
2342 * util/getroot.c (fini_libzfs): ... here.
2343 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
2344 * util/getroot.c (grub_get_libzfs_handle): ... here.
2345 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
2346 Moved from here...
2347 * util/getroot.c (grub_find_zpool_from_dir): ... here.
2348 * grub-core/kern/emu/misc.c
2349 (grub_make_system_path_relative_to_its_root): Moved from here...
2350 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
2351 * grub-core/kern/emu/getroot.c: Moved from here ...
2352 * util/getroot.c: ... here. All users updated.
2353 * grub-core/kern/emu/raid.c: Moved from here ...
2354 * util/raid.c: ... here. All users updated.
2355
def9832a
VS
23562011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * po/POTFILES.in: Regenerate.
2359
cd8fe79a
VS
23602011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 Fix compilation on GNU/Linux.
2363
2364 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
2365 Disable geli.
2366 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
2367 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
2368 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
2369
a251b719
VS
23702011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
23712011-07-07 Michael Gorven <michael@gorven.za.net>
23722011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
2373
2374 LUKS and GELI support.
2375
2376 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
2377 grub-core/disk/luks.c, grub-core/disk/geli.c,
2378 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
2379 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
2380 grub-core/lib/arg.c.
2381 (libgrubmods.a): Remove gcrypts cflags and cppflags.
2382 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
2383 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
2384 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
2385 (grub-bin2h): Add libgcry.a.
2386 (grub-mkimage): Likewise.
2387 (grub-mkrelpath): Likewise.
2388 (grub-script-check): Likewise.
2389 (grub-editenv): Likewise.
2390 (grub-mkpasswd-pbkdf2): Likewise.
2391 (grub-pe2elf): Likewise.
2392 (grub-fstest): Likewise.
2393 (grub-mkfont): Likewise.
2394 (grub-mkdevicemap): Likewise.
2395 (grub-probe): Likewise.
2396 (grub-ofpath): Likewise.
2397 (grub-mklayout): Likewise.
2398 (example_unit_test): Likewise.
2399 (grub-menulst2cfg): Likewise.
2400 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
2401 * grub-core/Makefile.core.def (cryptodisk): New module.
2402 (luks): Likewise.
2403 (geli): Likewise.
2404 * grub-core/disk/AFSplitter.c: New file.
2405 * grub-core/disk/cryptodisk.c: Likewise.
2406 * grub-core/disk/geli.c: Likewise.
2407 * grub-core/disk/luks.c: Likewise.
2408 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
2409 grub_util_is_lvm.
2410 (grub_util_get_dm_abstraction): New function.
2411 (grub_util_follow_gpart_up): Likewise.
2412 (grub_util_get_geom_abstraction): Likewise.
2413 (grub_util_get_dev_abstraction): Use new functions.
2414 (grub_util_pull_device): Pull GELI and LUKS.
2415 (grub_util_get_grub_dev): Handle LUKS and GELI.
2416 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
2417 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
2418 (follow_geom_up): Removed.
2419 (grub_util_fd_seek): New function.
2420 (open_device): Use grub_util_fd_seek.
2421 (nread): Rename to ..
2422 (grub_util_fd_read): ... this. All users updated.
2423 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
2424 (grub_crypto_cbc_decrypt): Likewise.
2425 (grub_crypto_hmac_write): Likewise.
2426 (grub_crypto_hmac_buffer): Likewise.
2427 (grub_password_get): Extend to util.
2428 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
2429 New member modname.
2430 (gcry_md_spec) [GRUB_UTIL]: Likewise.
2431 * include/grub/cryptodisk.h: New file.
2432 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
2433 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
2434 LUKS and GELI.
2435 (grub_util_follow_gpart_up): New proto.
2436 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
2437 (grub_util_fd_read): Likewise.
2438 (grub_cryptodisk_cheat_mount): Likewise.
2439 (grub_util_cryptodisk_print_uuid): Likewise.
2440 (grub_util_get_fd_sectors): Likewise.
2441 * util/grub-fstest.c (mount_crypt): New var.
2442 (fstest): Mount crypto if requested.
2443 (options): New option -C.
2444 (argp_parser): Parse -C.
2445 (main): Init and fini gcry.
2446 * util/grub-install.in: Support cryptodisk install.
2447 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
2448 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
2449 cryptodisk.
2450 (prepare_grub_to_access_device): Likewise.
2451 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
2452 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
2453 (probe_cryptodisk_uuid): New function.
2454 (probe_abstraction): Likewise.
2455 (probe): Use new functions.
2456 * util/import_gcry.py: Create Makefile.utilgcry.def.
2457 Add modname member.
2458
9bfdcbbc
VS
24592011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Lazy device scanning.
2462
2463 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
2464 (grub-setup): Remove util/raid.c.
2465 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
2466 * grub-core/disk/lvm.c (scan_depth): New variable.
2467 (grub_lvm_iterate): Rescan if necessary.
2468 (find_lv): New function based on grub_lvm_open.
2469 (grub_lvm_open): Use find_lv. Rescan on error.
2470 (is_node_readable): New function.
2471 (is_lv_readable): Likewise.
2472 (grub_lvm_scan_device): Skip already found disks.
2473 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
2474 Stop if searched device is found and readable.
2475 * grub-core/disk/raid.c (inscnt): New variable.
2476 (scan_depth): Likewise.
2477 (scan_devices): New function based on grub_raid_register. Abort if
2478 looked for device is found.
2479 (grub_raid_iterate): Rescan if needed.
2480 (find_array): NEw function based on -grub_raid_open.
2481 (grub_raid_open): Use find_array and rescan.
2482 (insert_array): Set became_readable_at.
2483 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
2484 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
2485 New function.
2486 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
2487 (grub_util_pull_device): New function.
2488 (grub_util_get_grub_dev): Call grub_util_pull_device.
2489 * util/raid.c: Moved to ..
2490 * grub-core/kern/emu/raid.c: ... here.
2491 (grub_util_raid_getmembers): New parameter "bootable".
2492 All users updated. Support 1.x.
2493 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
2494 All users updated.
2495 * include/grub/disk.h (grub_disk_pull_t): New enum.
2496 (grub_disk_dev): Change iterate prototype.
2497 All users updated.
2498 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
2499 New proto.
2500 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
2501 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
2502 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
2503 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
2504 All users updated.
2505 * include/grub/util/raid.h: Removed.
2506
1c358e59
VS
25072011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2508
2509 * po/POTFILES.in: Regenerate.
2510
abee94ed
VS
25112011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 Unify sparc init with other ieee1275.
2514
2515 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
2516 instead of kern/sparc64/ieee1275/init.c.
2517 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
2518 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
2519 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
2520 grub/machine/kernel.h.
2521 (grub_ieee1275_original_stack) [__sparc__]: New variable.
2522 (grub_claim_heap) [__sparc__]: Use sparc version.
2523 (grub_machine_init): Moved args parsing to
2524 (grub_parse_cmdline): ...this.
2525 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
2526 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
2527 New definition.
2528 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
2529
2530 Move BOOTP to separate file.
2531
2532 * grub-core/Makefile.core.def (net): Add net/bootp.c.
2533 * grub-core/net/net.c: Move all BOOTP functions to
2534 * grub-core/net/bootp.c: ... here.
2535
2536 Use frame interface on PXE.
2537
2538 * grub-core/Makefile.core.def (pxecmd): Removed.
2539 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
2540 * grub-core/commands/i386/pc/pxecmd.c: Removed.
2541 * grub-core/i386/pc/pxe.c: Moved from here ...
2542 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
2543 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
2544 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
2545
2546 EFI network support.
2547
2548 * grub-core/Makefile.core.def (efinet): New module.
2549 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
2550 here...
2551 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
2552 All users updated.
2553 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
2554 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
2555 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
2556 * grub-core/net/drivers/efi/efinet.c: New file.
2557 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
2558 (grub_efi_net_config): New extern var.
2559
2560 Various cleanups and bugfixes.
2561
2562 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
2563 error.
2564 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
2565 disk declared as partition.
2566 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
2567 leak on failure.
2568 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
2569 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
2570 (grub_debug_zalloc): Likewise.
2571 (grub_debug_realloc): Likewise.
2572 (grub_debug_memalign): Likewise.
2573 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
2574 Check that target is IPv4.
2575 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
2576 local-mac-address as fallback.
2577 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
2578 memory leak.
2579 * grub-core/net/ip.c (ipchksum): Rename to ...
2580 (grub_net_ip_chksum): ... this. All users updated.
2581 (grub_net_recv_ip_packets): Special handling for DHCP.
2582 * util/grub-mkimage.c (generate_image): Zero-out aout header.
2583
2584 Unify prefix handling
2585
2586 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
2587 (grub_machine_get_bootlocation): ... this.
2588 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
2589 (grub_machine_get_bootlocation): ... this.
2590 (grub_prefix): New variable.
2591 (prefix): Removed.
2592 (root_dev): New variable.
2593 (dir): Likewise.
2594 (main): Use new variables.
2595 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
2596 Revamped into ...
2597 (grub_machine_get_bootlocation): ... this.
2598 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
2599 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
2600 (grub_machine_get_bootlocation): ... this.
2601 (grub_machine_set_prefix): Removed.
2602 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
2603 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
2604 Revamped into ...
2605 (grub_machine_get_bootlocation): ... this.
2606 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
2607 (grub_set_prefix_and_root): ... this. All users updated.
2608 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
2609 Revamped into ...
2610 (grub_machine_get_bootlocation): ... this.
2611 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
2612 (grub_machine_get_bootlocation): New proto.
2613 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
2614
2615 Less intrusive and more reliable seek on network implementation.
2616
2617 * grub-core/kern/file.c (grub_file_net_seek): Removed.
2618 (grub_file_seek): Don't call grub_file_net_seek.
2619 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
2620 (grub_net_fs_read_real): .. this.
2621 (grub_net_seek_real): Use net->offset.
2622 (grub_net_fs_read): Seek if necessary.
2623
2624 Unify IEEE1275 netwotk config with the other platforms.
2625
2626 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
2627 New variable.
2628 (grub_machine_get_bootlocation): Support network.
2629 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2630 Support type and device parsing.
2631 (grub_ieee1275_get_device_type): New function.
2632 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
2633 into ...
2634 (grub_ieee1275_net_config_real): ... this.
2635 (grub_ofnet_probecards): Removed.
2636 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
2637 * include/grub/ieee1275/ofnet.h: Removed.
2638 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
2639 extern var.
2640 (grub_ieee1275_get_device_type): New function.
2641
2642 Unify network device closing across platforms and make more robust.
2643
2644 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
2645 grub_grubnet_fini.
2646 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
2647 already.
2648 * grub-core/net/net.c (grub_net_network_level_interface_register):
2649 Update num_ifaces.
2650 (grub_net_card_unregister): Close all interfaces.
2651 (receive_packets): Don't poll if no iterfaces are registered.
2652 Open if necessary.
2653 (grub_net_fini_hw): New function.
2654 (grub_net_restore_hw): Likewise.
2655 (fini_hnd): New variable.
2656 (GRUB_MOD_INIT): Register preboot hook.
2657 (GRUB_MOD_FINI): Run and unregister preboot hook.
2658
2659 Poll network cards when idle.
2660
2661 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
2662 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
2663 * grub-core/net/net.c (receive_packets): Save last poll time.
2664 (grub_net_poll_cards_idle_real): New function.
2665 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
2666 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
2667 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
2668
2669 Rename ofnet interfaces.
2670
2671 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
2672 (grub_ofnet_findcards): Use ofnet_%s names.
2673
2674 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
2675
2676 Cleanup socket opening.
2677
2678 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
2679 (grub_net_fs_close): Likewise.
2680 (grub_net_fs_read_real): Use eof member.
2681 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
2682 (+grub_net_udp_close): New inline function.
2683
2684 * include/grub/net/tftp.h: Moved to the top of ...
2685 * grub-core/net/tftp.c: ... here.
2686 * include/grub/net/ip.h: Moved mostly to the top of ...
2687 * grub-core/net/ip.c: ... here.
2688 * include/grub/net/ethernet.h: Moved mostly to the top of ...
2689 * grub-core/net/ethernet.c: ... here.
2690
2691 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
2692
2693 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
2694 FS name.
2695
2696 * include/grub/net/ip.h (ipv4_ini): Removed.
2697 (ipv4_fini): Likewise.
2698
2699 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2700 (grub_net_send_ip_packets): Likewise.
2701
cf1337aa
VS
27022011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2705 grub_read_cmos prototype.
2706
93c06ff9
VS
27072011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 VGA text support in qemu-mips
2710
2711 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2712 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2713 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2714 text.
2715 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2716 * grub-core/kern/vga_init.c: ... this.
2717 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2718 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2719 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2720 Adjust.
2721 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2722 GRUB_MACHINE_PCI_IO_BASE.
2723
748ccabe
VS
27242011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 MIPS qemu flash support.
2727
2728 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2729 magic.
2730 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2731 (grub_machine_init): Probe memory if its size isn't known.
2732 * util/grub-mkimage.c (image_targets): Add flash targets.
2733 (generate_image): Handle flash targets.
2734
d7345994
VS
27352011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 MIPS qemu at_keyboard support.
2738
2739 * gentpl.py (videoinkernel): Add qemu-mips.
2740 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2741 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2742 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2743 modules.
2744 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2745 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2746 * grub-core/term/serial.c (grub_serial_register)
2747 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2748
a07a81b3
VS
27492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 CMOS support on sparc.
2752
2753 * gentpl.py (cmos): Add powerpc and sparc.
2754 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2755 powerpc and sparc.
2756 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2757 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2758 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2759 grub_set_datetime_cmos.
2760 * grub-core/lib/ieee1275/cmos.c: New file.
2761 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2762 (find_rtc): Set no_ieee1275_rtc on error.
2763 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2764 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2765 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2766 fail. Move value to argument. All users updated
2767 (grub_cmos_write): Likewise.
2768 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2769 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2770 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2771 grub_get_datetime_cmos and grub_set_datetime_cmos.
2772
77546584
GS
27732011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2774
2775 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2776 sourcing grub-mkconfig_lib.
2777 * util/update-grub_lib.in: Likewise.
2778 * util/grub.d/00_header.in: Likewise.
2779 * util/grub.d/10_hurd.in: Likewise.
2780 * util/grub.d/10_kfreebsd.in: Likewise.
2781 * util/grub.d/10_linux.in: Likewise.
2782 * util/grub.d/10_netbsd.in: Likewise.
2783 * util/grub.d/10_windows.in: Likewise.
2784 * util/grub.d/20_linux_xen.in: Likewise.
2785 * util/grub.d/30_os-prober.in: Likewise.
2786
54894791
CW
27872011-06-28 Colin Watson <cjwatson@ubuntu.com>
2788
2789 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2790 default_bg_color rather than black.
2791 (grub_gfxterm_fullscreen): Likewise.
2792 (grub_gfxterm_background_color_cmd): Save new background color in
2793 default_bg_color.
2794
8d5d8444
VS
27952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2798
5afeb5bd
VS
27992011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2802 mismerge.
2803
ba7df45e
VS
28042011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 Chainloading on coreboot support.
2807
2808 * grub-core/Makefile.core.def (chain): Add coreboot.
2809 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2810
d0b526b2
VS
28112011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2814 if it happens.
2815
5ff1d945
VS
28162011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Implement time command.
2819
2820 * grub-core/Makefile.core.def (time): New module.
2821 * grub-core/commands/time.c: New file.
2822 * grub-core/script/parser.y: Remove "time" keyword.
2823 * grub-core/script/yylex.l: Likewise.
2824
5ebaad7e
VS
28252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2828
bdea3798
VS
28292011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2832 when handling leftovers.
2833
b28c5655
VS
28342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2837 so that help2man doesn't fail.
2838
b6f945dc
VS
28392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2842 type in pointers on sparc64.
2843 (get_card_packet): Likewise.
2844
f9b75e8a
CW
28452011-06-27 Colin Watson <cjwatson@ubuntu.com>
2846
2847 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2848 with `*'.
2849 (grub_cmd_videoinfo): Fetch current video mode.
2850
1e3d9b86
VS
28512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2854 because of underlying system restrictions.
2855
efff4b1c
VS
28562011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2859 necessary.
2860
9fc9ce37
VS
28612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 Coreboot video support.
2864
2865 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2866 (vbe): Likewise.
2867 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2868 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2869 here ...
2870 * grub-core/kern/i386/int.S: ... here.
2871 * grub-core/video/i386/pc/vbe.c: Updated includes.
2872 * grub-core/video/i386/pc/vga.c: Likewise.
2873 * include/grub/i386/coreboot/memory.h
2874 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2875 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2876 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2877 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2878 Disable interrupts.
2879 * include/grub/i386/pc/vga.h: Removed. All users updated.
2880
41bec7fe
VS
28812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2884 definitions for dprintf.
2885 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2886
ca80309d
VS
28872011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2890 prototype.
2891 (get_card_packet): Likewise.
2892
9e322ce8
YB
28932011-06-26 Yves Blusseau <blusseau@zetam.org>
2894
2895 Display the path of the file when file is not found
2896
2897 * grub-core/fs/fat.c: Display the filename when file is not found.
2898 * grub-core/fs/fshelp.c: Likewise.
2899 * grub-core/fs/hfs.c: Likewise.
2900 * grub-core/fs/jfs.c: Likewise.
2901 * grub-core/fs/minix.c: Likewise.
2902 * grub-core/fs/ufs.c: Likewise.
2903 * grub-core/fs/btrfs.c: Likewise.
2904 * grub-core/commands/i386/pc/play.c: Likewise.
2905
cbf597af
SJ
29062011-06-26 Szymon Janc <szymon@janc.net.pl>
2907
2908 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2909 pointer checks before calling grub_free().
2910 * grub-core/commands/wildcard.c (match_devices): Likewise.
2911 * grub-core/commands/wildcard.c (match_files): Likewise.
2912 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2913 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2914 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2915 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2916 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2917 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2918 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2919 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2920 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2921
6295b32f
P
29222011-06-25 Patrick <p55@mailinator.com>
2923
2924 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2925
77c0840b
VS
29262011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2929 (grub_pxe_send): Likewise.
2930 (GRUB_MOD_INIT): Fix types.
2931
40ea05de
SJ
29322011-06-24 Szymon Janc <szymon@janc.net.pl>
2933
2934 * grub-core/io/xzio.c: Fix code style issues
2935
90162423
MRA
29362011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
29372011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2938
2939 Network infrastructure.
2940 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2941
2942 * include/grub/net/arp.h: New file.
90162423
MRA
2943 * include/grub/net/device.h: Likewise.
2944 * include/grub/net/ethernet.h: Likewise.
2945 * include/grub/net/ip.h: Likewise.
2946 * include/grub/net/netbuff.h: Likewise.
2947 * include/grub/net/tftp.h: Likewise.
2948 * include/grub/net/udp.h: Likewise.
2949 * include/grub/ieee1275/ofnet.h: Likewise.
2950 * include/grub/emu/export.h: Likewise.
2951 * include/grub/net.h: Likewise.
2952 * grub-core/net/arp.c: Likewise.
2953 * grub-core/net/ethernet.c: Likewise.
2954 * grub-core/net/ip.c: Likewise.
2955 * grub-core/net/udp.c: Likewise.
2956 * grub-core/net/tftp.c: Likewise.
2957 * grub-core/net/netbuff.c: Likewise.
2958 * grub-core/net/net.c: Likewise.
2959 * grub-core/net/drivers/emu/emunet.c: Likewise.
2960 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2961 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2962 export.h.
2963 * grub-core/Makefile.core.def (net): New module.
2964 (tftp): Likewise.
2965 (ofnet): Likewise.
2966 (emunet): Likewise.
2967 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2968 network protocols.
2969 * grub-core/kern/device.c (grub_net_open) : New variable.
2970 (grub_device_open): Handle network device.
2971 (grub_device_close): Likewise.
2972 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2973 (grub_grubnet_fini): Likewise.
2974 (grub_file_seek): Seek in network device.
2975 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2976 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2977 network root.
2978 (grub_machine_fini): Call grub_grubnet_fini.
2979 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2980 network.
2981 (grub_ieee1275_get_aliasdevname): New function.
2982 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2983 Add unofficial Solaris network info.
2984 (grub_multiboot_make_mbi): Likewise.
2985 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2986 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2987 * include/grub/device.h (grub_fs): Removed.
2988 * include/grub/err.h (grub_err_t): Add network-related values.
2989 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2990 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2991 (grub_ieee1275_get_aliasdevname): New proto.
2992 * include/grub/net.h: Rewritten.
423a1849 2993
031f22a0
VS
29942011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2997 names.
2998
4388ca72
VS
29992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3002 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3003 it truncates the output.
3004 Reported by: Ximin Luo.
3005
98e2f506
VS
30062011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3009
2a5e94d8
VS
30102011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3013 partmap before abstraction.
3014
535c1910
AK
30152011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
3016
3017 * util/grub-mkconfig_lib.in: Add missing quotes.
3018
bc09e1a2
VS
30192011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
3022 old method if mountinfo would return /dev/root and /dev/root doesn't
3023 exist.
3024
290766fb
VS
30252011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 ZFS zlib support
3028
3029 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
3030 (decomp_table): Add zlib entries.
3031 (zio_read): USe 8 bits for compression function rather than 3.
3032 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
3033
30342011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/disk/ahci.c: Add missing license statements.
3037 * grub-core/fs/romfs.c: Likewise.
3038 * grub-core/lib/ia64/setjmp.S: Likewise.
3039 * grub-core/loader/i386/pc/freedos.c: Likewise.
3040 * grub-core/loader/ia64/efi/linux.c: Likewise.
3041 * grub-core/video/colors.c: Likewise.
3042 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
3043
5ab3f48a
VS
30442011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 AHCI support.
3047
3048 * grub-core/Makefile.core.def (ata_pthru): Removed.
3049 (ahci): New module.
3050 (pata): Likewise.
3051 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
3052 on unload.
3053 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
3054 readwrite.
3055 (grub_hdparm_do_check_powermode_cmd): Likewise.
3056 (grub_hdparm_do_smart_cmd): Likewise.
3057 (grub_hdparm_set_val_cmd): Likewise.
3058 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
3059 * grub-core/disk/ahci.c: New file.
3060 * grub-core/disk/ata.c: Factor out the low-level part into ...
3061 * grub-core/disk/pata.c: ... here.
3062 * grub-core/disk/ata_pthru.c: Contents moved to ...
3063 * grub-core/disk/pata.c: ... here.
3064 * grub-core/disk/scsi.c (grub_scsi_names): New array.
3065 (grub_scsi_iterate): Use grub_scsi_names.
3066 (grub_scsi_open): Likewise.
3067 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
3068 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
3069 (grub_ata_regs_t): New struct.
3070 (grub_disk_ata_pass_through_parms): Likewise.
3071 (grub_ata_device): Renamed to ...
3072 (grub_ata): ... this.
3073 (grub_ata_dev): New struct.
3074 Removed all low-level inline functions.
3075 * include/grub/scsi.h: Add PATA and AHCI subsystems.
3076 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
3077 iterate hooks and open. All users updated.
3078 * util/grub-install.in: Handle AHCI disk module.
3079
c31dc5f5
SJ
30802011-06-23 Szymon Janc <szymon@janc.net.pl>
3081
3082 Add support for DRI and RSTn markers in JPEG files.
3083
3084 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
3085 (JPEG_MARKER_RST0): Likewise.
3086 (JPEG_MARKER_RST1): Likewise.
3087 (JPEG_MARKER_RST2): Likewise.
3088 (JPEG_MARKER_RST3): Likewise.
3089 (JPEG_MARKER_RST4): Likewise.
3090 (JPEG_MARKER_RST5): Likewise.
3091 (JPEG_MARKER_RST6): Likewise.
3092 (JPEG_MARKER_RST7): Likewise.
3093 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
3094 (grub_jpeg_decode_dri): New function.
3095 (grub_jpeg_decode_sos): Move image data related part into
3096 grub_jpeg_decode_data function.
3097 (grub_jpeg_decode_data): New function.
3098 (grub_jpeg_reset): New function.
3099 (grub_jpeg_decode_jpeg): Handle new markers.
3100
fe12fd5b
VS
31012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * util/ieee1275/ofpath.c (check_sas): Close fd.
3104 (main): Free of_path.
3105 Reported by: David Volgyes <dvolgyes>.
3106
03147f46
VS
31072011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
3110 Reported by: David Volgyes <dvolgyes>.
3111
cad3237f
VS
31122011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
3115 file after stat.
3116 Reported by: David Volgyes <dvolgyes>.
3117
13548d26
VS
31182011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
3121
3122 Reported by: David Volgyes <dvolgyes>.
3123
e061a1b5
VS
31242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3125
3126 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
3127 Prevent memory leak.
3128
1abe47dc
VS
31292011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
3132 (main): Close file.
e061a1b5 3133 Reported by: David Volgyes <dvolgyes>.
1abe47dc 3134
fbc62666
VS
31352011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
3138 to continue if allocation is failed.
3139
3140 Reported by: David Volgyes <dvolgyes>.
3141
e98c83e9
DV
31422011-06-23 David Volgyes <dvolgyes>
3143
3144 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
3145 dereference.
3146
a199a8cd
VS
31472011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3148
3149 Fix spurious warning.
3150
3151 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
3152 (acorn_partition_map_find): Use .bin member.
3153
e2d1dba0
VS
31542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
3157 /dev/root as a valid device.
3158
8a5d6919
JM
31592011-06-23 Jim Meyering <meyering@redhat.com>
3160
e2d1dba0
VS
3161 Avoid NULL deref in grub_device_open.
3162
8a5d6919
JM
3163 * grub-core/kern/device.c (grub_device_open): Don't dereference
3164 a NULL pointer upon failed grub_env_get.
3165
f7db6f4a
VS
31662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 Support non-512B sectors and agglomerate reads.
3169
3170 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
3171 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
3172 (disk_io_guid): Removed.
3173 (make_devices): Locate solely by BlockIO.
3174 (grub_efidisk_open): Fill log_sector_size and total_sectors.
3175 (grub_efidisk_read): Use read_blocks.
3176 (grub_efidisk_write): Use write_blocks.
3177 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
3178 log_sector_size.
3179 (get_safe_sectors): Handle non-512B sectors.
3180 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
3181 sectors.
3182 (grub_biosdisk_write): Handle non-512B sectors.
3183 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
3184 (grub_scsi_read): Remove special non-512B block handling (now handled
3185 one level up).
3186 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
3187 and do sanity checks.
3188 (grub_disk_adjust_range): Handle non-512B sectors.
3189 (transform_sector): New function.
3190 (grub_disk_read_small): Likewise.
3191 (grub_disk_read): Rewritten.
3192 (grub_disk_write): Handle non-512B sectors.
3193 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
3194 log_sector_size.
3195 (open_device): Use log_sector_size.
3196 (grub_util_biosdisk_read): Likewise.
3197 (grub_util_biosdisk_write): Likewise.
3198 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
3199 non-512B sectors.
3200 (pc_partition_map_embed): Likewise.
3201 * include/grub/disk.h (grub_disk): New field log_sector_size.
3202 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
3203 (GRUB_DISK_CACHE_BITS): Increased to 6.
3204 * util/grub-fstest.c (fstest): New command testload.
3205 (argp_parser): Likewise.
3206
881ac815
RM
32072011-06-16 Robert Millan <rmh@gnu.org>
3208
3209 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
3210 `ata' driver on kernel of FreeBSD 9.
3211
3212 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
3213 (get_ataraid_disk_name): New functions.
3214 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
3215 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
3216 get_ataraid_disk_name() and get_ada_disk_name().
3217
1e9aef7d
CW
32182011-06-13 Colin Watson <cjwatson@ubuntu.com>
3219
3220 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
3221 input format.
3222
351c7c8a
CW
32232011-05-29 Colin Watson <cjwatson@ubuntu.com>
3224
3225 * docs/grub.texi (Obtaining and Building GRUB): Substitute
3226 `ftp.gnu.org' for `alpha.gnu.org'.
3227
6b4e6430
CW
32282011-05-27 Colin Watson <cjwatson@ubuntu.com>
3229
3230 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
3231 partitions under /dev/disk/by-id/.
3232
c64db050
CW
32332011-05-27 Colin Watson <cjwatson@ubuntu.com>
3234
3235 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
3236 after ten consecutive open failures. Scanning all the way up to
3237 10000 is excessive and can cause serious performance problems in
3238 some configurations.
3239 Fixes Ubuntu bug #787461.
3240
245f4aba
VS
32412011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
3244 opening new one.
3245
f767c929
VS
32462011-05-21 Colin Watson <cjwatson@ubuntu.com>
32472011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 Don't stat devices unless we have to.
3250
3251 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
3252 dir == /dev/mapper.
3253 (grub_guess_root_device): Use already known os_dev if possible.
3254 * grub-core/kern/emu/hostdisk.c
3255 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
3256 if device is known to be a dm one.
3257
f35fa3a6
CW
32582011-05-20 Colin Watson <cjwatson@ubuntu.com>
3259
3260 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
3261 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
3262 Reported by: Pawel Tecza.
3263
9a79fcf2
VS
32642011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
3267 (lsefisystab): Likewise.
3268 (lssal): Likewise.
3269 (lsefimmap): Likewise.
3270 (hdparm): Enable on qemu-mips.
3271 (setjmp): Add ia64 nodist.
3272 (serial): Simplify tags.
3273
63e3eea9
CW
32742011-05-18 Colin Watson <cjwatson@ubuntu.com>
3275
3276 * Makefile.util.def (grub-ofpathname): Install manual page.
3277
09728256
CW
32782011-05-18 Colin Watson <cjwatson@ubuntu.com>
3279
3280 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
3281
8b63a142
CW
32822011-05-18 Colin Watson <cjwatson@ubuntu.com>
3283
3284 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
3285
e775d8ed
VS
32862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
3289 into dprintf.
3290
bf947d36
VS
32912011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3292
3293 Use full 64-bit division.
3294
3295 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
3296 (grub_divmod64): ... this.
3297 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
3298 version.
3299
b84f26c5
CW
33002011-05-18 Colin Watson <cjwatson@ubuntu.com>
3301
3302 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
3303 `source'.
3304
5626056f
CW
33052011-05-18 Colin Watson <cjwatson@ubuntu.com>
3306
3307 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
3308 to avoid accidents when debugging with 'sh -x'.
3309 * grub-core/gensyminfo.sh.in: Likewise.
3310 * tests/example_scripted_test.in: Likewise.
3311 * tests/grub_cmd_regexp.in: Likewise.
3312 * tests/grub_script_blanklines.in: Likewise.
3313 * tests/grub_script_dollar.in: Likewise.
3314 * tests/grub_script_expansion.in: Likewise.
3315 * tests/grub_script_final_semicolon.in: Likewise.
3316 * tests/partmap_test.in: Likewise.
3317 * tests/util/grub-shell-tester.in: Likewise.
3318 * tests/util/grub-shell.in: Likewise.
3319
e2965f4a
CW
33202011-05-18 Colin Watson <cjwatson@ubuntu.com>
3321
3322 Move gfxmenu color handling to video, so that gfxterm can use it
3323 too.
3324
3325 * grub-core/gfxmenu/named_colors.c: Move to ...
3326 * grub-core/video/colors.c: ... here. Rename
3327 grub_gui_get_named_color to grub_video_get_named_color.
3328 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
3329 * grub-core/video/colors.c (my_isxdigit): ... here.
3330 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
3331 Move to ...
3332 * grub-core/video/colors.c (parse_hex_color_component): ... here.
3333 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
3334 to ...
3335 * grub-core/video/colors.c (grub_video_parse_color): ... here.
3336
3337 * include/grub/gui.h (grub_gui_color_t): Move to ...
3338 * include/grub/video.h (grub_video_rgba_color_t): ... here.
3339 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
3340 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
3341 * include/grub/gui.h (grub_gui_map_color): Move to ...
3342 * include/grub/video.h (grub_video_map_rgba_color): ... here.
3343 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
3344 to ...
3345 * include/grub/video.h (grub_video_get_named_color): ... here.
3346 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
3347 * include/grub/video.h (grub_video_parse_color): ... here.
3348
3349 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
3350 video/colors.c.
3351 (gfxmenu): Remove gfxmenu/named_colors.c.
3352 (video) [videomodules]: Add video/colors.c.
3353
3354 Add a background_color command.
3355
3356 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
3357 function.
3358 (GRUB_MOD_INIT): Register background_color command.
3359 (GRUB_MOD_FINI): Unregister background_color command.
3360 (redraw_screen_rect): Allow blend/replace of text layer to be
3361 controlled independently from whether there is a background bitmap.
3362 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
3363 changing bitmap.
3364
1e4b4390
VS
33652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3366
26618ff0
VS
3367 Patch BPB in ntldr and chainloader --bpb.
3368
1e4b4390
VS
3369 * grub-core/fs/fat.c: Include grub/fat.h.
3370 (grub_fat_bpb): Moved to ...
3371 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
3372 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
3373 grub/ntfs.h.
3374 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
3375 Moved from here...
3376 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
3377 here.
3378 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
3379 New function.
3380 (grub_chainloader_cmd): Patch BPB if --bpb is given.
3381 (GRUB_MOD_INIT): Show --bpb.
3382 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
3383 * grub-core/normal/main.c (features): New variable.
3384 (GRUB_MOD_INIT): Set feature_* variables.
3385 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
3386 proto.
3387 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
3388
cf02731e
VS
33892011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
3392 for cleanness.
3393
e3a1073f
VS
33942011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3395
3396 FreeDOS direct loading support.
3397
3398 * docs/grub.texi (Supported OS): Add FreeDOS.
3399 * grub-core/Makefile.core.def (freedos): New module.
3400 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
3401 variable.
3402 (grub_relocator16_boot): Handle %ebx.
3403 * grub-core/lib/i386/relocator16.S: Likewise.
3404 * grub-core/loader/i386/pc/freedos.c: New file.
3405
05caa461
VS
34062011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Long Linux command line support.
3409
3410 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3411 (maximal_cmdline_size): New variable.
3412 (allocate_pages): Use maximal_cmdline_size.
3413 (grub_cmd_linux): Set and use maximal_cmdline_size.
3414 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3415 (allocate_pages): Use maximal_cmdline_size.
3416 (grub_cmd_linux): Set and use maximal_cmdline_size.
3417 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
3418 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
3419 and cmdline_size.
3420
a2491e23
VS
34212011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
34222011-05-18 Colin Watson <cjwatson@ubuntu.com>
3423
3424 Improve devmapper support
3425
3426 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
3427 (grub_util_is_lvm): New function.
3428 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
3429 than lvm if not dmraid.
3430 Handle mapped md nodes.
3431 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
3432 (grub_util_device_is_mapped): ... this. Make always available. All users
3433 updated.
3434 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
3435 (convert_system_partition_to_system_disk): Handle lvm, mpath and
3436 dmraid nodes.
3437 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
3438
6ad6223e
VS
34392011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
3442
3443 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
3444 * grub-core/modinfo.sh.in: New file.
3445 * grub-core/Makefile.core.def (modinfo.sh): New script.
3446 * util/grub-mknetdir.in: Use modinfo.sh.
3447 * util/grub-mkrescue.in: Likewise.
3448
543a8f6e
VS
34492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3452 Fix potential usage of Elf32 instead of Elf64 when compiling on
3453 32-bit architecture. Add endianness macros while on it.
3454
4959e111
VS
34552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Use mipsel- rather than mips- in directories involving mipsel ports to
3458 allow both endiannesses coexist.
3459
3460 * configure.ac: proparate target_cpu=mipsel rather than resetting to
3461 mips. All conditions adjusted.
3462 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
3463 variable.
3464 * util/grub-install.in: Adjust conditions to take renaming into account.
3465 * util/grub-mkimage.c (image_targets): Likewise. New target
3466 mips-qemu_mips-elf for bigendian mips.
3467
35341bbc
VS
34682011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 Avoid unnecessary copying on MIPS.
3471
3472 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
3473 early if src == dest.
3474 * util/grub-mkimage.c (generate_image): Arange for src == dest if
3475 compression is none.
3476
b772baed
VS
34772011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3478
3479 Reduce memory footprint on SGI by putting modules before the kernel
3480 as opposed to after.
3481
3482 * grub-core/Makefile.core.def (kernel): Increase linking address.
3483 (none_decompress): Likewise.
3484 (xz_decompress): Likewise.
3485 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
3486 address.
3487 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
3488 layout change.
3489 (grub_arch_modules_addr): New function.
3490 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
3491 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
3492 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
3493 here.
3494 * grub-core/kern/mips/startup.S (total_size): Rename to ...
3495 (grub_total_modules_size): ... this. Make global.
3496 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
3497 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
3498 New definition.
3499 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
3500 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
3501 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
3502 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
3503 * util/grub-mkimage.c (image_target_desc): New flag
3504 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
3505 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
3506 (generate_image): Handle images with modules before kernel.
3507
566a1917
VS
35082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 Prevent potential loss of memory map by overwrite on qemu-mips.
3511
3512 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3513 Save ram size in $s4.
3514 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
3515 All users changed to grub_arch_memsize.
3516 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
3517 Loongson.
3518 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
3519 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
3520 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
3521 external variable.
3522
5d420cd9
CW
35232011-05-17 Colin Watson <cjwatson@ubuntu.com>
3524
3525 * .bzrignore: Remove grub-dumpbios.
3526
d064b830
CW
35272011-05-17 Colin Watson <cjwatson@ubuntu.com>
3528
3529 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
3530 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
3531 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
3532 existing options which append).
3533 * docs/grub.texi (Simple configuration): Document new options.
3534 Reported by: Ian Jackson. Fixes Debian bug #617538.
3535
3ca2b466
CW
35362011-05-17 Colin Watson <cjwatson@ubuntu.com>
3537
3538 * util/grub-fstest.c (cmd_cat): New function.
3539 (fstest): Handle CMD_CAT.
3540 (options): Add cat.
3541 (argp_parser): Handle cat.
3542
24c9143a
CW
35432011-05-17 Colin Watson <cjwatson@ubuntu.com>
3544
3545 * Makefile.util.def (grub-bin2h): Don't install.
3546 * docs/man/grub-bin2h.h2m: Remove.
3547
90f7ac19
VS
35482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3549
3550 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
3551 place.
3552
8d4a5178
VS
35532011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 Reenable qemu-mips port.
3556
3557 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
3558 Fix small arc bug while on it.
3559 * gentpl.py: Handle qemu_mips.
3560 * grub-core/Makefile.am: Likewise.
3561 * grub-core/Makefile.core.def: Likewise.
3562 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
3563 inappropriate includes.
3564 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
3565 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
3566 * grub-core/kern/main.c (grub_modules_get_end)
3567 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
3568 * grub-core/kern/mips/qemu-mips: Moved to ..
3569 * grub-core/kern/mips/qemu_mips: ... this.
3570 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
3571 (grub_machine_init): Call terminfo_init and serial_init.
3572 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
3573 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3574 New variable.
3575 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
3576 parameter passing.
3577 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
3578 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
3579 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3580 * include/grub/mips/qemu_mips/cmos.h: New file.
3581 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
3582 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
3583 Removed.
3584 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
3585 Use correct mips-style address.
3586 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
3587 (GRUB_TICKS_PER_SECOND): Removed.
3588 (grub_get_rtc): Likewise.
3589 (grub_cpu_idle): Likewise.
3590 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
3591 New definition.
3592 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
3593 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
3594 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
3595 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
3596 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3597 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3598 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
3599 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
3600
400b9371
VS
36012011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 SGI ARCS port.
3604
3605 * Makefile.util.def (libgrubmods.a): Add dvh.c.
3606 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
3607 platforms.
3608 * configure.ac: New target mips-arc.
3609 * gentpl.py: Likewise.
3610 * grub-core/Makefile.am: Likewise.
3611 * grub-core/Makefile.core.def: Likewise.
3612 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
3613 (none_decompress): Likewise.
3614 (lsdev): New module.
3615 (datetime): Use lib/arc/datetime.c on ARC.
3616 (part_dvh): New module.
3617 * grub-core/commands/arc/lsdev.c: New file.
3618 * grub-core/disk/arc/arcdisk.c: Likewise.
3619 * grub-core/kern/mips/arc/init.c: Likewise.
3620 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
3621 aligned addresses.
3622 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
3623 support.
3624 (grub_arch_dl_relocate_symbols): Likewise.
3625 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
3626 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
3627 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
3628 platforms.
3629 * grub-core/lib/arc/datetime.c: New file.
3630 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
3631 pci.h on non-loongson.
3632 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
3633 (grub_linux_boot): Set unused registers to 0.
3634 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
3635 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
3636 * grub-core/mmap/mips/uppermem.c: ...here.
3637 * grub-core/partmap/dvh.c: New file.
3638 * grub-core/term/arc/console.c: Likewise.
3639 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
3640 (grub_terminfo_set_current): Add terminal "arc".
3641 (grub_terminfo_readkey): Support ARC sequences.
3642 * include/grub/arc/arc.h: New file.
3643 * include/grub/arc/console.h: Likewise.
3644 * include/grub/disk.h (grub_disk_dev_id): Add
3645 GRUB_DISK_DEVICE_ARCDISK_ID.
3646 * include/grub/mips/arc/kernel.h: New file.
3647 * include/grub/mips/arc/memory.h: Likewise.
3648 * include/grub/mips/arc/time.h: Likewise.
3649 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
3650 * include/grub/mips/kernel.h (grub_halt): ... here.
3651 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
3652 here...
3653 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
3654 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
3655 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
3656 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
3657 proto.
3658 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
3659 from here ...
3660 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
3661 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
3662 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
3663 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
3664 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
3665 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
3666 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
3667 (grub_phys_addr_t): Moved from here ...
3668 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
3669 (grub_vtop): Moved from here ...
3670 * include/grub/mips/memory.h (grub_vtop): ... here.
3671 (grub_map_memory): Moved from here ...
3672 * include/grub/mips/memory.h (grub_map_memory): ... here.
3673 (grub_unmap_memory): Moved from here ...
3674 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
3675 (grub_machine_mmap_iterate): Moved from here ...
3676 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
3677 (grub_mmap_get_lower): Moved from here ...
3678 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
3679 (grub_mmap_get_upper): Moved from here ...
3680 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
3681 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3682 here ...
3683 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3684 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
3685 here ...
3686 * include/grub/mips/time.h (grub_get_rtc): ... here.
3687 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3688 here ...
3689 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3690 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
3691 here ...
3692 * include/grub/mips/time.h (grub_cpu_idle): ... here.
3693 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
3694 definition.
3695 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
3696 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
3697 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
3698 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
3699 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3700 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3701 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3702 (GRUB_MACHINE_LINK_ADDR): Likewise.
3703 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3704 to 6.
3705 * util/grub-install.in: Run dvhtool on ARC.
3706 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3707 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3708
c8ecc840
VS
37092011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3710
3711 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3712 blocks.
3713
153a4b55
VS
37142011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3717 after enabling port.
3718
ff44d107
VS
37192011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 Skip incorrect USB devices.
3722
3723 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3724 configcnt == 0.
3725 * include/grub/usb.h (grub_usb_err_t): New enum value
3726 GRUB_USB_ERR_BADDEVICE.
3727
638dbe4f
VS
37282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 Fuloong video init support.
3731
3732 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3733 well.
3734 (grub_vga_read_arx): New function.
3735 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3736 definition.
3737 (framebuffer): New members io, mmioptr and mmiobase.
3738 (read_sis_cmd): New function.
3739 (write_sis_cmd): Likewise.
3740 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3741 rather than 640x400.
3742 * grub-core/video/sis315_init.c: New file.
3743
c3fc520c
VS
37442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3747 non-loongson.
3748 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3749 to grub_dl_register_symbol.
3750
67b1e5c9
VS
37512011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 Fix compilation errors.
3754
3755 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3756 potentially unused.
3757 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3758 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3759 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3760 to loongson machines.
3761
b756f75f
VS
37622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 Several FS mtime support.
3765
3766 * grub-core/fs/affs.c (grub_affs_time): New struct.
3767 (grub_affs_file): New field mtime.
3768 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3769 type. Removed 'size'. New field 'di'. All users updated.
3770 (grub_affs_mount): Simplify checsum checking.
3771 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3772 (grub_affs_dir): Handle mtime.
3773 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3774 (grub_cpio_dir): Likewise.
3775 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3776 (grub_hfs_filerec): New field mtime.
3777 (grub_hfs_dir): Handle mtime.
3778 (grub_hfs_mtime): New function.
3779 (grub_hfs_fs): Register grub_hfs_mtime.
3780 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3781 (grub_iso9660_dir): New field mtime.
3782 (grub_fshelp_node): New field dirent.
3783 (iso9660_to_unixtime): New function.
3784 (iso9660_to_unixtime2): Likewise.
3785 (grub_iso9660_read_symlink): Use node->dirent.
3786 (grub_iso9660_iterate_dir): Likewise.
3787 (grub_iso9660_dir): Set mtime.
3788 (grub_iso9660_mtime): New function.
3789 (grub_iso9660_fs): Register grub_iso9660_mtime.
3790 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3791 (grub_jfs_inode): New fields atime, ctime and mtime.
3792 (grub_jfs_dir): Set mtime.
3793 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3794 * grub-core/fs/ntfs.c (list_file): Set mtime.
3795 (grub_ntfs_dir): Likewise.
3796 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3797 (grub_reiserfs_iterate_dir): Set mtime.
3798 (grub_reiserfs_dir): Likewise.
3799 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3800 (grub_fshelp_node): Likewise.
3801 (grub_sfs_iterate_dir): Set mtime.
3802 (grub_sfs_dir): Likewise.
3803 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3804 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3805 (grub_xfs_inode): New fields atime, mtime, ctime.
3806 (grub_xfs_dir): Set mtime.
3807 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3808 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3809 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3810
3811 Support UDF symlinks.
3812
3813 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3814 (grub_ufs_read_symlink): New function. All users updated.
3815
3816 Check amiga partmap checksum.
3817
3818 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3819 (grub_amiga_partition): Likewise.
3820 (amiga_partition_map_checksum): New function.
3821 (amiga_partition_map_iterate): Check checksum.
3822
5470225d
VS
38232011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 ROMFS support.
3826
3827 * Makefile.util.def (libgrubmods.a): Add romfs.
3828 * grub-core/Makefile.core.def (romfs): New module.
3829 * grub-core/fs/romfs.c: New file.
3830
d4680a35
VS
38312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 Squashfs v4 support.
3834
3835 * Makefile.util.def (libgrubmods.a): Add squash4.
3836 * grub-core/Makefile.core.def (squash4): New module.
3837 * grub-core/fs/squash4.c: New file.
3838 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3839 disk_input_start, disk_input.
3840 (get_byte): Handle disk_input.
3841 (grub_zlib_disk_read): New function.
3842 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3843
bcb18e74
FZ
38442011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
38452011-05-15 Feiran Zheng <famcool@gmail.com>
3846
3847 * Makefile.util.def (libgrubmods.a): Add minix3.
3848 * grub-core/Makefile.core.def (minix3): New module.
3849 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3850 (GRUB_MINIX_BSIZE): Removed.
3851 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3852 (grub_minix_ino_t): New type.
3853 (grub_minix_le_to_cpu_ino): New macro.
3854 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3855 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3856 (grub_minix_data): New field block_size.
3857 (grub_minix_read_file): Handle 64-bit correctly.
3858 * grub-core/fs/minix3.c: New file.
3859
32297d5f
TG
38602011-05-15 Tristan Gingold <gingold@free.fr>
38612011-05-15 Robert Millan <rmh.grub@aybabtu.com>
38622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 IA64 support.
3865
3866 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3867 * configure.ac: Add ia64-efi target.
3868 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3869 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3870 * gentpl.py: Add ia64_efi platform.
3871 Rename x86_efi to efi and Add ia64-efi. All users updated.
3872 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3873 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3874 Remove kern/generic/rtc_get_time_ms.c on EFI.
3875 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3876 kern/ia64/dl_helper.c on ia64-efi.
3877 Add kern/emu/cache.c on emu.
3878 (linux): Use on loader/ia64/efi/linux.c on ia64.
3879 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3880 whether symbol is a function.
3881 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3882 (grub_symbol): New field 'isfunc'.
3883 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3884 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3885 (grub_dl_load_segments): Place all sections into the same region.
3886 [__ia64__]: Create trampolines and got.
3887 [GRUB_MACHINE_EMU]: Call mprotect.
3888 (grub_dl_resolve_symbols): Resolve symbol type as well.
3889 [__ia64__]: Create function descriptors.
3890 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3891 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3892 (grub_get_rtc): New function.
3893 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3894 * grub-core/kern/emu/cache.S: Renamed to ...
3895 * grub-core/kern/emu/cache_s.S: ... this.
3896 [__ia64__]: Add a nop.
3897 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3898 [__ia64__]: New function.
3899 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3900 * grub-core/kern/ia64/dl.c: New file.
3901 * grub-core/kern/ia64/dl_helper.c: Likewise.
3902 * grub-core/kern/ia64/efi/init.c: New file.
3903 * grub-core/kern/ia64/efi/startup.S: Likewise.
3904 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3905 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3906 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3907 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3908 * grub-core/loader/ia64/efi/linux.c: New file.
3909 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3910 (GRUB_MOD_DEP): Likewise.
3911 (grub_dl) [__ia64__]: New fields got and tramp.
3912 (grub_dl): New field 'base'.
3913 (grub_dl_register_symbol): New argument isfunc. All users updated.
3914 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3915 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3916 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3917 (grub_ia64_dl_get_tramp_got_size): New proto.
3918 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3919 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3920 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3921 * include/grub/efi/api.h: Skip call wrappers on ia64.
3922 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3923 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3924 * include/grub/elf.h (ELF_ST_INFO): New definition.
3925 * include/grub/ia64/efi/kernel.h: New file.
3926 * include/grub/ia64/efi/memory.h: Likewise.
3927 * include/grub/ia64/efi/time.h: Likewise.
3928 * include/grub/ia64/kernel.h: Likewise.
3929 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3930 * include/grub/ia64/time.h: New file.
3931 * include/grub/ia64/types.h: Likewise.
3932 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3933 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3934 New protos.
3935 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3936 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3937 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3938 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3939 All users updated.
3940 (EFI64_HEADER_SIZE): New definition. All users updated.
3941 (image_targets): Add ia64-efi.
3942 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3943 jumpers_addr. All users updated.
3944 Create function descriptors.
3945 (count_funcs): New function.
3946 (unaligned_uint32): New struct.
3947 (MASK20): New definition.
3948 (MASK19): Likewise.
3949 (MASKF21): Likewise.
3950 (add_value_to_slot_20b): New function.
3951 (add_value_to_slot_21_real): Likewise.
3952 (add_value_to_slot_21): Likewise.
3953 (ia64_kernel_trampoline): New struct.
3954 (nopm): New variable.
3955 (jump): Likewise.
3956 (make_trampoline): New function.
3957 (relocate_addresses): Handle ia64.
3958 (make_reloc_section): Likewise.
3959 (load_image): Likewise.
3960
983b414d
VS
39612011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3964 warning. Move variables before code while on it.
3965
5d063cdc
VS
39662011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 Fuloong support.
3969
3970 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3971 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3972 * grub-core/boot/mips/loongson/fuloong.S: New file.
3973 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3974 Explicitly init CS5536.
3975 [FULOONG]: Don't use serial until CS5536 is available.
3976 Set GPIO based on dumps.
3977 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3978 [FULOONG]: Handle GPIO and memory controller differences.
3979 Parse machine type in $a2.
3980 * grub-core/boot/mips/startup_raw.S: Determine and save the
3981 architecture.
3982 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3983 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3984 init on architecture type.
3985 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3986 SIS315E. Don't init at_keyboard on fuloong.
3987 (grub_halt): Support Fuloong.
3988 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3989 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3990 (loongson_machtypes): New array.
3991 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3992 type.
3993 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3994 config. All users updated. Handle CS5536 serial.
3995 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3996 default port on machine type. Register serial as inactive.
3997 * grub-core/video/sis315pro.c: New file.
3998 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3999 definition.
4000 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4001 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4002 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4003 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4004 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4005 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4006 to ...
4007 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4008 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4009 definition.
4010 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
4011 (grub_arch_machine): New extern var.
4012 * include/grub/mips/loongson/serial.h
4013 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
4014 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
4015 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
4016 (GRUB_MACHINE_SERIAL_PORT0): ... this.
4017 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
4018 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
4019 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
4020 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
4021 * include/grub/term.h (grub_term_register_input_inactive): New inline
4022 function.
4023 (grub_term_register_output_inactive): Likewise.
4024 * include/grub/video.h (grub_video_driver_id): New value
4025 GRUB_VIDEO_DRIVER_SIS315PRO.
4026 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
4027 New field "names". All users updated.
4028 New field value IMAGE_FULOONG_FLASH.
4029 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
4030
6ada82d1
JU
40312011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
4032
4033 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
4034 and add some clarification.
4035
90c571a4
VS
40362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
4039 platforms if kernel is compressed.
4040
de04eecf
VS
40412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4044 unused modules since currently referrence counter isn't reliable and
4045 there isn't much memory to recover there anyway.
4046
57688121
VS
40472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4050 rather than resetting it to allow modules to reference themselves
4051 in init.
4052
3d2c7e35
VS
40532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
4056 counter on dependencies since grub_dl_unref already handles this.
4057
b25db218
VS
40582011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
4061 on error if not already done.
4062
25a45338
VS
40632011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 Fix few potential memory misusage.
4066
4067 * grub-core/font/font.c (load_font_index): Don't free char_index to
4068 avoid double free.
b25db218
VS
4069 (grub_font_load): Zero-fill font at alloc for safety.
4070 Close file on error.
4071 (free_font): Free bmp_idx.
25a45338 4072
0cac83df
VS
40732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4074
4075 * docs/grub.texi (Installation): Fix several outdated claims.
4076
2217a143
VS
40772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Handle module_license on windows.
4080
4081 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
4082 sections shifted.
4083 (insert_string): Make argument const char * instead of char *.
4084 (write_section_data): Handle long section names.
4085 Handle module_license.
4086
d4de6b01
VS
40872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4088
4089 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
4090 handle class-free menuentries.
4091 (grub_normal_add_menu_entry): Add a check to be sure.
4092
4c2a3b43
VS
40932011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
4096 PgUp and PgDown.
4097
85c6210f
VS
40982011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4099
4100 * configure.ac: Bump version to 1.99.
4101
36084912
VS
41022011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 Give ATA device a bit more time on first try in order to allow disks
4105 to spin up.
4106
4107 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
4108 if dev->present is 1. Reset dev->present on failure.
4109 (grub_ata_device_initialize): Set dev->present to 1.
4110 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
4111 (grub_ata_device): New member 'present'.
4112
bda0e219
VS
41132011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 * util/grub-mkimage.c (generate_image): Update hash.
4116
19e1c41b
VS
41172011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4118
4119 Flush caches on DMA memory.
4120
4121 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
4122 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
4123 (grub_dma_free): Likewise.
4124 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
4125
91bbcc0c
VS
41262011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
4129 to avoid asm treating ld and sd as macros.
4130
60ddfad3
VS
41312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
4134 decompressor.
4135
a298aa04
VS
41362011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
4139 grub_decompress_core since later would fail if grub_decompress_core
4140 is too far.
4141
9b44feca
VS
41422011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
4145 R_MIPS_JALR since it's used by newer compiler.
4146
56dbe7b4
VS
41472011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
4150
52856af2
VS
41512011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
4154 file_path to 0 for surety.
4155 (grub_chainloader_boot): Set exit_data to NULL.
4156 Unset the loader once done.
4157 (grub_cmd_chainloader): Fix confusing error message if file is empty.
4158
9c9bfc6d
VS
41592011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
4162 unknown key into a dprintf.
4163
dd94a3df
VS
41642011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4165
4166 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
4167 on first non-existant partition.
4168
fa68d99c
VS
41692011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
4172 openning fails.
4173 Reported by: Mark Korenberg.
4174
157effb7
VS
41752011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
4178 overflow.
4179
ea75312f
VS
41802011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * util/grub-mkimage.c (main): Explicitely flush and sync the output
4183 before closing to ensure that it will be readable by grub-setup.
4184
072b5d31
VS
41852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
4188 (devpath_1): Use MAKE_PIWG_PATH.
4189 (devpath_2): Likewise.
4190 (devpath_3): Likewise.
4191 (devpath_4): Likewise.
4192 (devpath_5): Likewise.
4193 (devpath_6): Likewise.
4194
4195 The appleldr.mod was checked that to be binary identical to previous
4196 version.
4197
7fae0051
Z
41982011-05-05 Zach <mikezackles>
4199
4200 Support 2010 Macbooks.
4201
4202 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
4203 (devs): Add devpath_6.
4204
7c515bee
VS
42052011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
4208 /dev/random. /dev/urandom is good enough for our purposes (salting).
4209
ed660bd8
VS
42102011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
4213
ee5614b7
VS
42142011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
4217 hexadecimal.
4218
664889a6
VS
42192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
4222 and not 0 on failure.
4223
bd405bbc
CW
42242011-05-03 Colin Watson <cjwatson@ubuntu.com>
4225
4226 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
4227 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
4228 disk; otherwise grub_fs_probe will not fall back to the next
4229 filesystem.
4230 (grub_pxefs_open): Likewise, for consistency.
4231 Reported and tested by: Ezekiel Grave.
4232
4ebff753
CW
42332011-05-03 Colin Watson <cjwatson@ubuntu.com>
4234
4235 * tests/partmap_test.in: Don't hardcode path to parted.
4236 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
4237
8f942553
CW
42382011-05-01 Colin Watson <cjwatson@ubuntu.com>
4239
4240 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
4241 of `ls' to find out which devices are available.
4242
3c62402d
VS
42432011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
4246 than source address for efi mmap buffer.
4247
723f63f2
VS
42482011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
4251 wrong action on non-detecting the magic.
4252
68797f92
VS
42532011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
4256 already supplied by another part of the module (fixes compilation on
4257 FreeBSD).
4258
6be8715d
VS
42592011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
4262 match the one used by mdadm.
4263
e91dba5b
CW
42642011-04-21 Colin Watson <cjwatson@ubuntu.com>
4265
4266 * po/README: Add instructions for creating po/LINGUAS.
4267
c85140b3
CW
42682011-04-21 Colin Watson <cjwatson@ubuntu.com>
4269
4270 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
4271 #551428.
4272
4273 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
4274 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
4275 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
4276 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4277 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
4278 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
4279 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
4280 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
4281 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
4282 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4283 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
4284 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
4285 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
4286 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
4287 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
4288 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
4289 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
4290 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
4291 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
4292 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
4293 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
4294 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
4295
92051871
CW
42962011-04-21 Colin Watson <cjwatson@ubuntu.com>
4297
4298 * grub-core/kern/emu/getroot.c
4299 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
4300 test that was incorrectly reintroduced in r3214.
4301 Reported by: Ian Dall. Fixes Savannah bug #33133.
4302
b13f79a4
CW
43032011-04-21 Colin Watson <cjwatson@ubuntu.com>
4304
4305 Fix stack pointer handling in 16-bit relocator.
4306
4307 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
4308 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
4309 Fixes Ubuntu bug #683904.
4310
9b710a88
VS
43112011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * configure.ac: Bump version to 1.99~rc2.
4314
d97e7b59
VS
43152011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
4318 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
4319 * grub-core/lib/x86_64/setjmp.S: Likewise.
4320 * grub-core/lib/mips/setjmp.S: Likewise.
4321 * grub-core/lib/powerpc/setjmp.S: Likewise.
4322 * grub-core/lib/sparc64/setjmp.S: Likewise.
4323
0624551c
VS
43242011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
4327 * grub-core/lib/efi/datetime.c: Likewise.
4328
e8f28d4c
VS
43292011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
4332 New function.
4333 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
4334 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
4335 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
4336
bba79a15
VS
43372011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
4340 bitmap.
4341 (grub_gfxterm_term_init): Likewise.
4342
abc474ef
VS
43432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 Take into account the decorations the computing menu entry width.
4346
4347 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
4348 (grub_gfxmenu_create_box): Register get_border_width.
4349 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
4350 if available.
4351 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
4352 get_border_width.
4353
e74b3947
EP
43542011-04-18 Endres Puschner <code@e7p.de>
4355
4356 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
4357 Don't skip first class.
4358
34faa595
VS
43592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
4362 chunks.
4363 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
4364
93a777e3
VS
43652011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 Complete 64-bit division support.
4368
4369 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
4370 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
4371 * include/grub/misc.h (grub_divmod64): Rename to ...
4372 (grub_divmod64_full): ... this.
4373 (grub_divmod64): New inline function.
4374
a5102d94
VS
43752011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4376
4377 * util/grub-mkimage.c (generate_image): Add forgotten comma.
4378
f3fb7b36
VS
43792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
4382 performing the necessary test.
4383
9ac718b0
VS
43842011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4385
4386 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
4387 (kfreebsd.elf): Likewise.
4388 (pc-chainloader.elf): Likewise.
4389 (ntldr.elf): Likewise.
4390
50d2cc5a
VS
43912011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4392
4393 Identify RAID by its UUID rather than (guessed) name.
4394
4395 * grub-core/disk/raid.c (ascii2hex): New function.
4396 (grub_raid_open): Accept mduuid/%s specification.
4397 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
4398 (get_mdadm_uuid): ... this.
4399 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
4400
e03f7bea
VS
44012011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
4402
4403 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
4404 to negative size.
4405
e74c3112
CW
44062011-04-13 Colin Watson <cjwatson@ubuntu.com>
4407
4408 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
4409 btrfs subvolume.
4410 * util/grub.d/20_linux_xen.in: Likewise.
4411
78fa584f
CW
44122011-04-13 Colin Watson <cjwatson@ubuntu.com>
4413
4414 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
4415 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
4416
4417 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4418 Build a list of relevant visible mounts using the mnt_id and
4419 parent_mnt_id fields, and then scan that list at the end.
4420
9d5f8162
CW
44212011-04-12 Colin Watson <cjwatson@ubuntu.com>
4422
4423 * docs/grub.texi (normal): New section.
4424 (normal_exit): New section.
4425 (Embedded configuration): Add reference to normal.
4426 (GRUB only offers a rescue shell): Likewise.
4427 * docs/grub-dev.texi (Error Handling): Fix typo.
4428
09a9d66f
CW
44292011-04-12 Colin Watson <cjwatson@ubuntu.com>
4430
4431 * NEWS: Drop obsolete entry about probe-only btrfs support.
4432
0c676933
CW
44332011-04-12 Colin Watson <cjwatson@ubuntu.com>
4434
4435 * util/import_gcry.py: Fix typo.
4436
ec9f5e0d
VS
44372011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * NEWS: Add btrfs support.
4440
fe6b2cba
VS
44412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
44422011-04-11 Colin Watson <cjwatson@ubuntu.com>
4443
4444 BtrFS support. Written by me (Vladimir) with important bugfixes and
4445 even more important testing by Colin.
4446
4447 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
4448 * grub-core/Makefile.core.def (btrfs): Add crc.c.
4449 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
4450 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
4451 mem_input_off and mem_input. All users updated to accept in-RAM input.
4452 (gzio_seek): New function.
4453 (test_zlib_header): Likewise.
4454 (grub_gzio_read): Likewise.
4455 (grub_zlib_decompress): Likewise.
4456 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
4457 Accept partial and non-virtual mounts.
4458 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
4459 avoid receiving /dev/dm-X as device.
4460 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
4461 Handle bind and partial mounts.
4462 * grub-core/lib/crc.c: New file.
4463 * include/grub/deflate.h: Likewise.
4464 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
4465 proto.
4466 * include/grub/lib/crc.h: New file.
4467
e745cf0c
VS
44682011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4469
4470 Implement automatic module license checking according to new GNU
4471 guidelines.
4472
4473 * grub-core/kern/dl.c (grub_dl_check_license): New function.
4474 (grub_dl_load_core): Use grub_dl_check_license.
4475 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
4476 (GRUB_MOD_LICENSE): Likewise.
4477 (GRUB_MOD_DUAL_LICENSE): Likewise.
4478 All modules updated.
4479
2a9bc016
CW
44802011-04-11 Colin Watson <cjwatson@ubuntu.com>
4481
4482 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
4483 reserved_first_sector to 1. btrfs reserves plenty of space for boot
4484 loaders.
4485 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
4486
8a3bc88e
VS
44872011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
4490
af869a4a
VS
44912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * util/grub-fstest.c (read_file): Report GRUB error if file opening
4494 failed.
4495
9ee8d94f
VS
44962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * grub-core/kern/file.c (grub_file_open): Don't take into account the
4499 parenthesis in the middle of the filename.
4500
b01abe3e
VS
45012011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
4504 rather than trying to put initrd way too high.
4505 Reported by: Ryan Lortie <desrt@desrt.ca>
4506
335bda1e
VS
45072011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
4510 improperly removed string.
4511
5ca1a64d
VS
45122011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
4515 is_disk.
4516 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
4517 (open_device) Likewise.
4518 (grub_util_biosdisk_close): Likewise.
d8ce9995 4519 Reported by: Mark Korenberg.
5ca1a64d 4520
cbac5b1e
AK
45212011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
4522
4523 * util/grub-mkconfig_lib.in: Add missing quotes.
4524
088cdb65
CW
45252011-04-10 Colin Watson <cjwatson@ubuntu.com>
4526
4527 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
4528 is NULL.
4529
8b8a81fa
VS
45302011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 Dynamically count the number of lines for the lower banner.
4533
4534 * grub-core/normal/menu_entry.c (per_term_screen): New member
4535 num_entries.
4536 (print_down): Use num_entries.
4537 (update_screen): Likewise.
4538 (grub_menu_entry_run): Set num_entries.
4539 * grub-core/normal/menu_text.c (menu_viewer_data): New member
4540 num_entries.
4541 (grub_print_message_indented): Move real part to ...
4542 (grub_print_message_indented_real): ... here. Additional argument
4543 dry_run.
4544 (draw_border): Additional argument num_entries.
4545 (print_message): Additional argument dry_run.
4546 (print_entries): Receive menu viewer data.
4547 (grub_menu_init_page): New argment num_entries.
4548 (menu_text_set_chosen_entry): Use num_entries.
4549 (grub_menu_try_text): Likewise.
4550 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
4551 All users updated.
4552 (grub_ucs4_count_lines): New function.
4553 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
4554 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
4555 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
4556 (grub_term_border_height): Likewise.
4557 (grub_term_num_entries): Likewise.
4558
277f955b
VS
45592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4560
4561 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
4562 Remove now unused string.
4563
536ce85a
CW
45642011-04-09 Colin Watson <cjwatson@ubuntu.com>
4565
4566 * docs/grub-dev.texi (Finding your way around): Update for 1.99
4567 build system.
4568 (Getting started): GRUB is developed in Bazaar now, not Subversion.
4569
4570 (Comment): Fix typo.
4571 (Getting started): General copy-editing.
4572 (Typical Development Experience): Likewise.
4573 (Error Handling): Likewise.
4574 (Video API): Likewise.
4575
2cf09e32
CW
45762011-04-09 Colin Watson <cjwatson@ubuntu.com>
4577
4578 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
4579 throughout.
4580
1ec652f4
VS
45812011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * util/grub-mkimage.c (main): Handle special naming of yeeloong
4584 directory.
4585
2c583728
CW
45862011-04-08 Colin Watson <cjwatson@ubuntu.com>
4587
4588 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
4589 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
4590 "development".
4591
d7a565e9
VS
45922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
4595 grub_strcpy since the lines aren't necessarily 0-terminated.
4596
7c2e4909
VS
45972011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
4600 root on legacy.
4601
34c09785
VS
46022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/commands/probe.c (options): Argument to set isn't optional.
4605 (GRUB_MOD_INIT): DEVICE isn't optional.
4606
6a6f8058
VS
46072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
4610 word on new line if it's too long anyway. Fixes a hang.
4611
2e335e90
VS
46122011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
4615 const.
4616 * util/grub-setup.c (main): Reuse md device name if available.
4617 * util/raid.c (grub_util_raid_getmembers): Receive device name and
4618 not GRUB name as argument.
4619 Based on patch by: Florian Wagner <fwagner>.
4620
10a7a867
VS
46212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4624 Place mbi on low memory for better compatibility.
4625
7a3d6cd9
VS
46262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
4629
18dd6b47
VS
46302011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
46312011-04-08 Colin Watson <cjwatson@ubuntu.com>
4632
4633 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 4634 * conf/Makefile.common: Likewise.
18dd6b47 4635
3c0e3f14
VS
46362011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4637
f7148863
VS
4638 * grub-core/normal/menu.c: Add missing include.
4639
46402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 4643
6d1fa41f
MZ
46442011-04-08 Martin Zuther <mzuther@mzuther.de>
4645
4646 * util/grub-mkconfig.in: Ignore emacsen backup.
4647
478182a8
VS
46482011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
4651 on open.
4652 (grub_util_biosdisk_close): Likewise.
4653
72a89a54
VS
46542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
4657 const attribute and use grub_isdigit.
4658
b5ebecfa
A
46592011-04-06 Andrey <dev_null@ukr.net>
4660
4661 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
4662 gcc warning.
4663
7755f66e
VS
46642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4667 useful grub_dprintf's.
4668
461121ff
VS
46692011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4670
4671 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
4672
2a961775
VS
46732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
4676
adf594cc
VS
46772011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Output errors if theme loading failed.
4680
4681 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
4682 grub_gfxterm_fullscreen on error paths to ...
4683 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
4684 theme loading error.
4685
665900a3
VS
46862011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
4689 space for older compilers.
4690 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4691
a562b479
VS
46922011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
4695 and report them as not RAID members since they are useless for GRUB.
4696 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4697
850e9373
VS
46982011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 Increase LVM implementation robustness in order not to crash on
4701 configurations like pvmove. Previously code assumed that in some places
4702 only lvs or only pvs are used whereas it seems that they are used
4703 interchangeably.
4704
4705 * grub-core/disk/lvm.c (read_node): New function.
4706 (read_lv): Use read_node.
4707 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4708 Match volumes only at the end when all lvs are found. Take both
4709 pvs (first) and lvs (second) into account.
4710 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4711 mirror_* into node_*. All users updated.
4712 (grub_lvm_stripe): Merge this ...
4713 (grub_lvm_mirror): ... and this ...
4714 (grub_lvm_node): ... into this. All users updated.
4715
6f332153
VS
47162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4719 of function to allow further scanning for LVMs.
4720
829ea451
VS
47212011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4724 on failed seek as it breaks open fd reusage.
4725
09ceb9a5
VS
47262011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * util/grub-install.in: Add a recommendation to use --recheck before
4729 reporting bugs.
4730
67e11623
VS
47312011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4734 are obtained.
4735
caee5efd
VS
47362011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 GRUB developper manual based on existing Internals section and
4739 contributions by the various authors with active copyright assignment.
4740
4741 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4742 * docs/font_char_metrics.png: New file.
4743 * docs/font_char_metrics.txt: Likewise.
4744 * docs/grub-dev.texi: Likewise.
4745 * docs/grub.texi (Internals): Move from here ...
4746 * docs/grub-dev.texi: ... here.
4747
2cccc747
CW
47482011-04-01 Colin Watson <cjwatson@ubuntu.com>
4749
4750 Store the loopback device as data on loopback grub_disk structures,
4751 rather than the file it points to. This fixes use of freed memory
4752 if an existing loopback device is replaced.
4753
4754 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4755 disk->data, not dev->file.
4756 (grub_loopback_read): Adjust file assignment to match.
4757 Fixes Ubuntu bug #742967.
4758
186ae367
CW
47592011-04-01 Colin Watson <cjwatson@ubuntu.com>
4760
4761 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4762 when replacing an existing device.
4763
cfed2ad0
VS
47642011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4767 memory corruptions.
4768
4769 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4770 unsigned.
4771 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4772 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4773 (grub_jfs_read_inode): Likewise.
4774 (grub_jfs_opendir): Likewise. Remove now useless casts.
4775 (grub_jfs_getent): Likewise.
4776 Make ino a grub_uint32_t rather than int.
4777 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4778 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4779 division and module with bit operations.
4780 (grub_jfs_find_file): Make ino a grub_uint32_t.
4781 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4782
05d2ed32
CW
47832011-04-01 Colin Watson <cjwatson@ubuntu.com>
4784
4785 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4786 warning. (This was in fact always initialised before use, but GCC
4787 wasn't smart enough to prove that.)
4788 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4789
91dc6073
VS
47902011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4793 stack alignment.
4794 (efi_wrap_1): Likewise.
4795 (efi_wrap_2): Likewise.
4796 (efi_wrap_3): Likewise.
4797 (efi_wrap_4): Likewise.
4798 (efi_wrap_5): Likewise.
4799 (efi_wrap_6): Likewise.
4800 (efi_wrap_10): Likewise.
4801 Based on information by: Red Hat/Peter Jones.
4802
a8afc1d1
CW
48032011-03-31 Colin Watson <cjwatson@ubuntu.com>
4804
4805 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4806 set-but-not-used variable.
4807
a826cc7d
CW
48082011-03-31 Colin Watson <cjwatson@ubuntu.com>
4809
4810 * docs/grub.texi (Simple configuration): Be more explicit about
4811 GRUB_DEFAULT, and add an example.
4812 Reported by: Leslie Rhorer.
4813
875b67ba
CW
48142011-03-30 Colin Watson <cjwatson@ubuntu.com>
4815
4816 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4817 shell".
4818
fd7cd914
AS
48192011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4820
4821 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4822 * util/grub.d/20_linux_xen.in: Likewise.
4823
090b1b6a
VS
48242011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * util/grub.d/10_linux.in: Try alternative config filenames where
4827 we parse config file.
4828 * util/grub.d/20_linux_xen.in: Likewise.
4829
baad885c
AS
48302011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4831
4832 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4833 * util/grub.d/20_linux_xen.in: Likewise.
4834
241e41f5
VS
48352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4836
4837 * grub-core/disk/raid.c (insert_array): Add few potentially
4838 useful grub_util_info.
4839 (grub_raid_register): Likewise.
4840
56445fb2
VS
48412011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4844 Preserve partition number in mdadm code path.
4845
c871b1c6
VS
48462011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4847
4848 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4849 few potentially useful grub_util_info.
4850
5e631b4f
CW
48512011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4854
2d5d0333
CW
48552011-03-30 Colin Watson <cjwatson@ubuntu.com>
4856
4857 * docs/grub.texi (default): Use @example rather than nested
4858 itemized lists to avoid breaking gendocs.
4859
3d7ed04e
CW
48602011-03-30 Colin Watson <cjwatson@ubuntu.com>
4861
4862 * docs/grub.texi (Future): Update.
4863
abf04200 48642011-03-30 Colin Watson <cjwatson@ubuntu.com>
4865
4866 * docs/grub.texi (Environment): New chapter.
4867 (Changes from GRUB Legacy): Link to "Environment block" section for
4868 details of limitations.
4869 (Simple configuration): Likewise. Link to documentation of gfxmode
4870 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4871 respectively.
4872 (Shell-like scripting): Note that normal variables are stored in the
4873 environment.
4874 (gettext): Link to documentation of lang and locale_dir.
4875 (list_env): New section.
4876 (load_env): New section.
4877 (save_env): New section.
4878
4879 (Reporting bugs): Fix typo.
4880
e1ad0edd
VS
48812011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4884 the example.
4885
5d803174
VS
48862011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4887
4888 * grub-core/term/at_keyboard.c (set_scancodes)
4889 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4890
2a2da1d0
CW
48912011-03-30 Colin Watson <cjwatson@ubuntu.com>
4892
4893 * docs/grub.texi (Menu-specific commands): Remove some semantics
4894 that were true in GRUB Legacy but not in GRUB 2.
4895 (submenu): New section.
4896 (false): New section.
4897 (read): New section.
4898 (true): New section.
4899
a7527639
CW
49002011-03-30 Colin Watson <cjwatson@ubuntu.com>
4901
4902 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4903
49042011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4905
4906 * docs/grub.texi (Simple configuration): Explain some of the
4907 current limitations of grub-mkconfig.
8a748df2 4908 Reported by: Leslie Rhorer.
e30af029 4909
fc858482
VS
49102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 Old macs search for boot.efi rather than for bootia32.efi.
4913
4914 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4915 * util/grub-mkrescue.in: Likewise.
4916 Suggested by: Peter Jones.
4917
e1eb511d
VS
49182011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4919
4920 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4921
70e75364
VS
49222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4925 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4926 (grub_lvm_mirror): New struct.
4927 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4928 (grub_lvm_iterate): Iterate only visible volumes.
4929 (grub_lvm_read): Factor out to ..
4930 (read_lv): ... this. Support mirrors.
4931 (grub_lvm_read): New wrapper function.
4932 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4933 stripped or mirrored.
4934
fc18f6a3
VS
49352011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4936
4937 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4938
5c650f4c
CW
49392011-03-29 Colin Watson <cjwatson@ubuntu.com>
4940
4941 * docs/grub.texi (loopback): New section.
4942
61d7156b
CW
49432011-03-29 Colin Watson <cjwatson@ubuntu.com>
4944
4945 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4946 removed -p option.
4947
994b8264
CW
49482011-03-29 Colin Watson <cjwatson@ubuntu.com>
4949
4950 * docs/grub.texi (BIOS installation): New section, partly based on
4951 previous text in other sections.
4952 (Installing GRUB using grub-install): Replace BIOS discussion with a
4953 cross-reference.
4954 (Images): Likewise.
4955
9e4d19e0
VS
49562011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4959 [HAVE_DIOCGDINFO]: Add safety checks.
4960
a307c0b2
VS
49612011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4964 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4965
b4db4f39
CW
49662011-03-29 Colin Watson <cjwatson@ubuntu.com>
4967
4968 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4969 real_sb->size is zero (e.g. RAID-0), get the disk size from
4970 real_sb->data_size instead.
4971 Fixes Ubuntu bug #743136.
4972
35e5f84c
VS
49732011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4976 printf clauses for printing size and start.
4977
d2e29d81
VS
49782011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4981 Reported and tested by: Timothy Nikkel.
4982
ed5587af
VS
49832011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4986 (dirty_region_add_real): ... this.
4987 (dirty_region_add): Don't discard margin refresh when performing
4988 scheduled repaint.
4989
a1dc717c
VS
49902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/lib/relocator.c (allocate_regstart)
4993 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4994 terminals are capabple of malloc-free operation.
4995 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4996 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4997
9f3677d3
VS
49982011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4999
5000 * util/grub-setup.c: Copy the partition table zone if floppy support
5001 is disabled, even if no partition table is found.
5002
5003 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5004 during POST if an invalid partition table is contained in the PBR
5005 of the active partition when GRUB is installed to a partition.
5006
24148725
CW
50072011-03-28 Colin Watson <cjwatson@debian.org>
5008
5009 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5010 comment.
5011
f329eda7
CW
50122011-03-28 Colin Watson <cjwatson@debian.org>
5013
5014 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
5015 to be specific about what kind of RAID device we're scanning for.
5016
c482ad98
SG
50172011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
5018
5019 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
5020 return freed string.
5021
5ee04984
VS
50222011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
5025
f4727da9
VS
50262011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 Use libgeom on FreeBSD to detect partitions.
5029
5030 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
5031 (grub-mkrelpath): Likewise.
5032 (grub-script-check): Likewise.
5033 (grub-editenv): Likewise.
5034 (grub-mkpasswd-pbkdf2): Likewise.
5035 (grub-fstest): Likewise.
5036 (grub-mkfont): Likewise.
5037 (grub-mkdevicemap): Likewise.
5038 (grub-probe): Likewise.
5039 (grub-setup): Likewise.
5040 (grub-ofpathname): Likewise.
5041 (grub-mklayout): Likewise.
5042 (example_unit_test): Likewise.
5043 (grub-menulst2cfg): Likewise.
5044 * grub-core/Makefile.core.def (grub-emu): Likewise.
5045 (grub-emu-lite): Likewise.
5046 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
5047 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
5048 define HAVE_DIOCGDINFO.
5049 (follow_geom_up) [FreeBSD]: New function.
5050 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
5051 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
5052 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
5053 unconditionally of HAVE_DIOCGDINFO.
5054
82fe6c75
VS
50552011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 Fix FreeBSD compilation problem.
5058
5059 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
5060 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
5061
4c6c9431
CW
50622011-03-24 Colin Watson <cjwatson@ubuntu.com>
5063
5064 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
5065 Switch back to page zero before loading a kernel, since some kernel
5066 drivers expect that.
5067 Thanks to: Felix Kuehling.
5068
c7064d94
VS
50692011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
5072 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
5073 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
5074
3f71cded
VS
50752011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
5078 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
5079
ef6de21a
VS
50802011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
5083 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
5084 malloc is disabled.
5085
8bc66a2c
VS
50862011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
5089 for modules headers when counting the needed allocation size.
5090
5657722c
VS
50912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
5094 if no ASCII character is found to prevent crash.
5095
41a85f55
AK
50962011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
5097
5098 * grub-core/video/bitmap.c (match_extension): Ignore case.
5099
59e1e5f1
VS
51002011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
5103
bd4d051a
VS
51042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/script/parser.y: Declare "time" as valid argument.
5107
bae7fcc1
PJ
51082011-03-23 Peter Jones <pjones@redhat.com>
5109
5110 Fix incorrect assert failure reporting.
5111
5112 * grub-core/tests/example_functional_test.c (example_test): Add
5113 a failure comment.
5114 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
5115 (failure_start): ...this. Check that malloc succeeded.
5116 Don't call xvasprintf. Return failure struct.
5117 (failure_append_vtext): New function.
5118 (failure_append_text): Likewise.
5119 (add_failure): Likewise.
5120 (grub_test_assert_helper): Likewise.
5121 * include/grub/test.h (grub_test_assert_helper): New declaration.
5122 (grub_test_assert): Macro rewritten.
5123
537dc9be
VS
51242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5125
5126 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
5127
fa3e01bf
VS
51282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
5131
b1d28404
VS
51322011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
5135 into GRUB-style one.
5136
2e3e2e09
VS
51372011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5138
5139 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
5140 error and not grub_errno.
5141 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
5142
ed57e557
VS
51432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
5146 GRUB_USB_SPEED_NONE in case of failure and not the error code.
5147
d1611f01
VS
51482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/efiemu/i386/pc/cfgtables.c
5151 (grub_machine_efiemu_init_tables): Make declaration a prototype.
5152 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
5153 (grub_xnu_unlock): Likewise.
5154 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
5155
7d4e39d6
VS
51562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
5159 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
5160 * grub-core/commands/hashsum.c (aliases): Likewise.
5161 * grub-core/commands/setpci.c (pci_registers): Likewise.
5162 * grub-core/disk/usbms.c (attach_hook): Likewise.
5163 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
5164 (zio_checksum_table): Likewise.
5165 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
5166 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
5167 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
5168 * grub-core/lib/relocator.c (leftovers): Likewise.
5169 (extra_blocks): Likewise.
5170 * grub-core/loader/i386/bsd.c (relocator): Likewise.
5171 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
5172 (modules_last): Likewise.
5173 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
5174 (devices): Likewise.
5175 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
5176 (modules_last): Likewise.
5177 * grub-core/normal/auth.c (users): Likewise.
5178 * grub-core/normal/context.c (initial_menu): Likewise.
5179 (current_menu): Likewise.
5180 * grub-core/normal/crypto.c (crypto_specs): Likewise.
5181 * grub-core/term/serial.c (grub_serial_ports): Likewise.
5182 (grub_serial_terminfo_input_template): Likewise.
5183 (grub_serial_terminfo_output_template): Likewise.
5184 (grub_serial_terminfo_input): Likewise.
5185 (grub_serial_terminfo_output): Likewise.
5186 (registered): Likewise.
5187 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
5188
40fc4659
VS
51892011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
5192 grub_video_mode_type_t.
5193 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
5194 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
5195 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
5196
2da48d28
VS
51972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 * util/grub-install.in: Correct the x86-64 name as x86_64.
5200
9b43bf39
CW
52012011-03-11 Colin Watson <cjwatson@ubuntu.com>
5202
5203 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
5204 initial chunk read from the kernel always includes GRUB's multiboot
5205 header, which is now outside the first sector.
5206
be1a7ce0
CW
52072011-03-09 Colin Watson <cjwatson@ubuntu.com>
5208
5209 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
5210 cached mmap_size, so that this works correctly when called multiple
5211 times.
5212 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
5213
83a3c48d
CW
52142011-03-09 Colin Watson <cjwatson@ubuntu.com>
5215
5216 * docs/grub.texi (Simple configuration): Tidy up formatting.
5217
57d75699
SJ
52182011-03-07 Szymon Janc <szymon@janc.net.pl>
5219
5220 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
5221 Set-but-not-used variable removed.
5222
028501a0
VS
52232011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5224
5225 Workaround yet another IEEE1275 bug.
5226
5227 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5228 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
5229 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
5230 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
5231 is set.
5232 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5233 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
5234
d998657d
VS
52352011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5236
5237 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
5238 error.
5239
fee7cdd4
CW
52402011-02-11 Colin Watson <cjwatson@ubuntu.com>
5241
5242 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
5243 empty, since in that case we can only generate either nothing or a
5244 syntactically invalid configuration file.
5245 Reported by: Michal Suchanek. Fixes Debian bug #612898.
5246
97286eb5
CW
52472011-02-09 Colin Watson <cjwatson@ubuntu.com>
5248
5249 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
5250 (Making a GRUB bootable CD-ROM): Likewise.
5251 (Invoking grub-mkrescue): New section.
5252 Reported by: Yann Dirson. Fixes Debian bug #612585.
5253
22b28eb3
CW
52542011-02-09 Colin Watson <cjwatson@ubuntu.com>
5255
5256 * util/grub-install.in: Remove unnecessary brackets from tr
5257 arguments.
5258 * util/grub.d/10_hurd.in: Likewise.
5259 * util/grub.d/10_kfreebsd.in: Likewise.
5260 * util/grub.d/10_linux.in: Likewise.
5261 * util/grub.d/20_linux_xen.in: Likewise.
5262 Reported by: Jamie Heilman. Fixes Debian bug #612564.
5263
7e735e43
CW
52642011-02-08 Colin Watson <cjwatson@ubuntu.com>
5265
5266 * include/grub/file.h (not_easly_seekable): Rename to ...
5267 (not_easily_seekable): ... this. Update all users.
5268
800f1881
CW
52692011-01-28 Colin Watson <cjwatson@ubuntu.com>
5270
5271 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
5272 grub-mkrescue.
5273
3281d3d6
VS
52742011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * util/grub-mkimage.c (generate_image): Refuse to create the images
5277 bigger than the actual flash (512K) in Loongson machines. 512K is also
5278 the biggest chip supported by them.
5279
3533413c
VS
52802011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
5283
73ae4f4f
VS
52842011-01-22 Anthony DeRobertis <anthony@derobert.net>
5285
5286 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
5287 super_offset field.
5288
37f4f608
VS
52892011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * util/grub-install.in: Ignore install device on platforms
5292 where it doesn't make sense. Always use UUIDs except on pc, efi and
5293 sparc64.
5294 Reported by: Daniel Kahn Gillmor.
5295
03a4ccb5
VS
52962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
5299
ffc8f4d8
VS
53002011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
5303 (iterate_real): Don't rely on partition being non-NULL.
5304
80f23be7
VS
53052011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
5308 supported platforms. Put a compile time assert for this rather than
5309 generate a warning with 32-bit shift.
5310
5d4f4dd5
VS
53112011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
5314 logical expression more readable.
5315
e489601a
VS
53162011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
5319 even if some elements have a name.
5320 Reported by: Alexander GQ Gerasiov.
5321
96e0a6ea
CW
53222011-01-22 Colin Watson <cjwatson@ubuntu.com>
5323
5324 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
5325 path unreadable if `grub-probe -t abstraction' fails, for example if
5326 memberlist fails on an LVM volume group.
5327 Reported by: Darius Jahandarie.
5328
81431e2b
CW
53292011-01-22 Colin Watson <cjwatson@ubuntu.com>
5330
5331 * docs/grub.texi (Simple configuration): Document
5332 GRUB_PRELOAD_MODULES.
5333
5e79d66a
CW
53342011-01-17 Colin Watson <cjwatson@ubuntu.com>
5335
5336 * .bzrignore: Remove nonexistent grub-pbkdf2.
5337
646ada34
VS
53382011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * configure.ac: Bump version to 1.99~rc1.
5341
04360337
VS
53422011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
5345 for safety.
5346
46c9db88
VS
53472011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
5350 module.
5351
53522011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
5353
5354 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
5355
4fbf1852
VS
53562011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
5359 diskdevid.
5360
f1632d4d
VS
53612011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 Fix compilation on cygwin.
5364
5365 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
5366 -R .drectve on cygwin.
5367 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
5368 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
5369 (COND_CYGWIN): New condition.
5370 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
5371 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
5372 not @TARGET_OBJ2ELF@.
5373 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
5374 type to determine whether aux is to be used.
5375
0b5e127b
VS
53762011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
5379 realpath'ed device string.
5380 Handle floppy (somewhat).
5381 Issue error in unknown case rather than garbage.
5382 Reported by: Axel Beckert.
5383
173b71e9
VS
53842011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5385
5386 * util/grub.d/00_header.in (load_video): Handle the case when no video
5387 drivers available.
5388 Thanks to: Axel Beckert.
5389
f8f479db
VS
53902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
5393 variable. Fixes problem on big endian platforms.
5394
8fc0a245
VS
53952011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
5398 It doesn't work well there.
5399
b8494fbe
VS
54002011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
5403 warning.
5404 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
5405 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
5406 counter.
5407
b44a558c
VS
54082011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5409
5410 Use alias->path rather than buggy "canon".
5411
5412 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
5413 (ofdisk_hash_add): New argument curcan. All users updated.
5414
51fa856c
CW
54152011-01-11 Colin Watson <cjwatson@ubuntu.com>
5416
5417 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
5418
9da068a5
VS
54192011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5420
5421 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
5422 loadmask before doing any calculations. Use correct type for offset.
5423 (grub_linux_load64): Likewise.
5424
86205c94
CW
54252011-01-11 Colin Watson <cjwatson@ubuntu.com>
5426
5427 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
5428 with NULL.
5429 (console_grub_equivalences_unshift): Likewise.
5430 Reported by: Daniel Dehennin.
5431
4531a206
VS
54322011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5433
5434 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
5435 (set_env_limn_ro): Likewise.
5436 (GRUB_MOD_INIT): Likewise.
5437 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
5438 ARRAY_SIZE while on it.
5439 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
5440 * grub-core/normal/context.c (grub_env_export): Move from here ...
5441 * grub-core/kern/env.c (grub_env_export): ... here.
5442 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
5443 prefix.
5444 * grub-core/kern/main.c (grub_main): Export root and prefix.
5445 * include/grub/env.h (grub_env_export): Export.
5446 Reported by: Seth Goldberg.
5447
45146057
VS
54482011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5451 Take into account space used by ELF sections and multiboot palette.
5452 Reported by: Grégoire Sutre.
5453
f093110b
VS
54542011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * BUGS: New file.
5457
3395fe52
VS
54582011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 Pass more appropriate video id to Linux.
5461
5462 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
5463 grub_video_get_driver_id and variable gfxpayloadforcelfb to
5464 fill have_vga.
5465 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
5466 shift params->lfb_size.
5467 * include/grub/i386/linux.h: Make an enume out of have_vga values.
5468
c2fa6cbb
VS
54692011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * util/grub-menulst2cfg.c: Add missing include of misc.h.
5472
b3ff6ff0
VS
54732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5474
5475 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
5476 separator and pass bootpath/devid even if only one of them is available.
5477 Reported by: Seth Goldberg.
5478
ae67942e
VS
54792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
5482 implementations bug on them.
5483
5484 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
5485 memory.
5486 (filter_memory_map): Likewise.
5487
d570097a
VS
54882011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
5491 Reported by: nebuchadnezzar.
5492
a508e776
VS
54932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
5496 Reported by: nebuchadnezzar.
5497
dcb883b1
VS
54982011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 Submenu default support.
5501
5502 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
5503 auto_boot. All users updated.
5504 Declared static.
5505 Handle chosen and default with submenus.
5506 (grub_menu_execute_with_fallback): Declared static.
5507 Don't notify failure if autobooted. Upper level does it.
5508 (menuentry_eq): New function.
5509 (get_entry_number): Use menuentry_eq.
5510 (show_menu): New parameter "autobooted". All users updated.
5511 (grub_show_menu): Likewise.
5512 * include/grub/normal.h (grub_show_menu): Likewise.
5513 * include/grub/menu.h (grub_menu_execute_entry): Removed.
5514 (grub_menu_execute_with_fallback): Likewise.
5515
6fef99b4
VS
55162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * util/grub-mklayout.c (usage): Update help text.
5519
47a77af5
VS
55202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
5523
ce6bb3ee
VS
55242011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * util/grub-menulst2cfg.c (main): Trim the line.
5527
db87be2a
VS
55282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
5531 (grub_machine_init): Don't check amount of low memory as reportedly
5532 INT 12h can be broken and if low memory is too low we wouldn't have
5533 gotten into grub_machine_init anyway.
5534
c49849cc
VS
55352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
5538 (grub_machine_mmap_iterate): Take low memory into account
5539
b1969b30
VS
55402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
5543 badfs.
5544 Reported by: TiCPU.
5545
cf0eaf13
VS
55462011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5547
5548 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
5549 members errors.
5550
1f060f39
GS
55512011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5552
5553 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
5554 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
5555
a21e5672
GS
55562011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5557
5558 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
5559 openbsd and netbsd types being in part_bsd module.
5560
c88172fa
VS
55612011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
5564 (_FILE_OFFSET_BITS): Likewise.
5565 Reported by: Seth Goldberg.
5566
53798c4b
GS
55672011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5568
5569 * configure.ac: Check for libdevmapper header.
5570
e7121b69
VS
55712011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
5574 avoid aliasing.
5575 (fzap_lookup): Likewise.
5576 (dnode_get): Likewise.
5577 (make_mdn): Likewise.
5578 (zfs_mount): Likewise.
5579 (fzap_iterate): Use temporary pointer to avoid aliasing.
5580 (grub_zfs_read): Likewise.
5581 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
5582 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
5583 pointers to avoid aliasing.
5584 (grub_cmd_xnu_kernel64): Likewise.
5585 (grub_xnu_load_driver): Likewise.
5586
fc836af9
VS
55872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
5590 aliasing warning.
5591 (grub_cmd_terminal_output): Likewise.
5592 Reported and tested by: Grégoire Sutre.
5593
f9f37648
VS
55942011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
5597 warning.
5598 Reported and tested by: Grégoire Sutre.
5599
ec1dfd63
VS
56002011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * configure.ac: Do CPU substitution even if it's specified explicitly.
5603 Reported and tested by: Alain Greppin.
5604
9462775a
VS
56052011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
5608 Reported and tested by: Alain Greppin.
5609
0fd48e35
VS
56102011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Satisfy some bison versions need for inttypes.h.
5613
5614 * grub-core/lib/posix_wrap/inttypes.h: New file.
5615 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
5616 (int16_t): Likewise.
5617 (int32_t): Likewise.
5618 (int64_t): Likewise.
5619 Reported and tested by: Alain Greppin.
5620
43f1bc83
VS
56212011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
5624 Silence spurious warning.
5625 Reported and tested by: Alain Greppin.
5626
64d1f041
SJ
56272011-01-07 Szymon Janc <szymon@janc.net.pl>
5628
5629 * docs/grub.texi (Support automatic decompression): Update with xz
5630 decompression support.
5631
25953e10
SJ
56322011-01-07 Szymon Janc <szymon@janc.net.pl>
5633
5634 Improve loaders' kernel command line handling.
5635
5636 * grub-core/lib/cmdline.c: New file.
5637 * include/grub/lib/cmdline.h: Likewise.
5638 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
5639 grub_create_loader_cmdline to create kernel command line.
5640 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5641 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
5642 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
5643 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
5644 (linux): Add lib/cmdline.c on common.
5645
e72d259f
VS
56462011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
5649 inopos might be unaligned.
5650
c0cf26da
VS
56512011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5654 endian transformations.
5655 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5656 Based on report by: Doug Nazar.
5657
0ca09e6c
DN
56582011-01-07 Doug Nazar <nazard.michi@gmail.com>
5659
5660 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
5661 array->members[i].start_sector.
5662 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5663
014b6806
VS
56642011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
5667 Reported and tested by: Grégoire Sutre.
5668
415502c2
CW
56692011-01-06 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
5672 avoid causing test failures by clearing the screen.
5673
71b6a2b7
CW
56742011-01-06 Colin Watson <cjwatson@ubuntu.com>
5675
5676 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5677 Fix prefix check to handle the case where dir ends with a slash
5678 (most significantly, "/" itself).
5679 Reported by: Michael Vogt.
5680
b3f8d28a
VS
56812011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 Run terminfo_cls on initing terminfo output to clear the screen and
5684 move the cursor to (0,0).
5685
5686 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
5687 Call grub_terminfo_output_init.
5688 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
5689 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
5690 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
5691
4c3e4f37
VS
56922011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
5695 only when needed.
5696
488f71f1
VS
56972011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5700 CTRL.
5701
18a38098
VS
57022011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5703
5704 The E820 type 5 is BADRAM, not EXEC_CODE.
5705
5706 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5707 (GRUB_E820_BADRAM): New define.
5708 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5709 into reserved. Propagate BADRAM.
5710 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5711 (GRUB_E820_BADRAM): New define.
5712
9eae2084
VS
57132011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5716 Ignore the memory post-4G.
5717 (grub_relocator_firmware_alloc_region): Additional debug statement.
5718
ebc71d28
VS
57192011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5720
5721 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5722 names.
5723 Reported by: David Pravec.
5724
446fa400
VS
57252011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5728 BIOSes.
5729
a0159f37
VS
57302011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5733 Prevent overflow.
5734 (grub_reed_solomon_recover): Likewise.
5735
e5146ca1
VS
57362011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5739
57402011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5741
5742 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5743 variable.
5744
5b1bdf12
CW
57452011-01-04 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5748 descriptions of extract_legacy_entries_source and
5749 extract_legacy_entries_configfile.
5750 Reported by: Seung Soo, Ha.
5751
99d925aa
CW
57522011-01-03 Colin Watson <cjwatson@ubuntu.com>
5753
5754 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5755 on devices that do not implement function 0.
5756
4af0504b
DV
57572011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5758
5759 * grub-core/fs/hfsplus.c: Make parent unsigned.
5760 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5761 overflows.
5762 (grub_hfsplus_cmp_extkey): Likewise
5763
469ee10a
VS
57642011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * util/grub-install.in: Correctly use bootloader_id and not
5767 GRUB_DISTRIBUTOR on efibootmgr line.
5768
323a8e9c
VS
57692011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5770
5771 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5772
1b394975
IC
57732010-12-31 Ian Campbell <ijc@hellion.org.uk>
5774
5775 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5776 Xen and reorder menu item wording to make it clearer that this entry
5777 will launch Xen. Print separate messages when loading Xen and
5778 Linux.
5779
275bff5f
VS
57802010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5781
5782 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5783 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5784 loop in case of incorrect amiga partmap.
5785
307806cb
VS
57862010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5789 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5790 Reported by:EHeM.
5791
b12b923e
VS
57922010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5795 spurious warning.
5796 Reported by: crocket
5797
14b48a19
VS
57982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5801 Preload EFIemu.
5802 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5803
693db2df
VS
58042010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5807 is loaded
5808 (grub_cmd_xnu_kextdir): Likewise.
5809 (grub_cmd_xnu_splash): Likewise.
5810
c7638645
VS
58112010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 Avoid using Reed-Solomon with 0 redundancy.
5814
5815 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5816 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5817 or 0 redundancy.
5818 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5819 (grub_reed_solomon_recover): Likewise.
5820
25dd4780
VS
58212010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Don't use disk subsystem in freebsd_boot.
5824
5825 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5826 (freebsd_biosdev): Likewise.
5827 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5828 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5829
0b2db943
VS
58302010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 Handling of files of unknown size is currently limited. They can't be
5833 used e.g. for initrd or modules. Moreover gzip handling of not
5834 easily seekable files is buggy. Disable unknown file size for now. May
5835 be inefficient but works.
5836
5837 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5838 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5839
5c408d0f
MP
58402010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5841
5842 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5843 floppy probe.
5844
190a011a
JD
58452010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5846
5847 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5848
022d01b8
SL
58492010-12-25 Shea Levy <shlevy>
5850
5851 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5852
c4855fdc
VS
58532010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5856 Windows Server 2008.
5857 Reported by: Devin Giddings.
5858
0354b867
VS
58592010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5860
5861 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5862 writing an error message because of async power management.
5863 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5864 (grub_reboot): Likewise.
5865
ab66c69f
JU
58662010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5867
5868 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5869 keep unit tests from failing when they shouldn't.
5870
1426ef35
CW
58712010-12-21 Colin Watson <cjwatson@ubuntu.com>
5872
5873 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5874 previous patch increased the size of the RS code by 20 bytes (at
5875 least with gcc-4.4), so increase this by 20 bytes to match.
5876 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5877
20641b6b
CW
58782010-12-21 Colin Watson <cjwatson@ubuntu.com>
5879
5880 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5881 scratch area. Make sure to initialise chosen in standalone mode as
5882 well as non-standalone.
5883 Reported by: Robert Hooker and Andy Whitcroft.
5884 Tested by: Andy Whitcroft.
5885
d060ad60
CW
58862010-12-21 Colin Watson <cjwatson@ubuntu.com>
5887
5888 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5889 constructing a new unescaped string and passing it to grub_xputs in
5890 one go, rather than passing characters to grub_printf one at a time.
5891
b889cfad
CW
58922010-12-21 Colin Watson <cjwatson@ubuntu.com>
5893
5894 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5895 initialising utf16.
5896
4e01b6c8
CW
58972010-12-21 Colin Watson <cjwatson@ubuntu.com>
5898
5899 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5900 comment. Add an extra layer of quotation, requiring the output of
5901 this function to be used in a printf format string.
5902 (gettext_printf): New function.
5903 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5904 Extract translatable strings from here-documents and use a temporary
5905 variable instead, so that xgettext can find them.
5906 * util/grub.d/10_kfreebsd.in: Likewise.
5907 * util/grub.d/10_linux.in: Likewise.
5908 * util/grub.d/20_linux_xen.in: Likewise.
5909
5910 * po/grub.d.sed: New file.
5911 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5912 arguments. Set c-format flags on all strings extracted from
5913 util/grub.d/ (xgettext refuses to include these itself for strings
5914 it extracted from a shell file, but these really are c-format).
5915
5318fe98
VS
59162010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5917
5918 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5919 Avoid next pointing to nowhere.
5920
6c85b743
VS
59212010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5924 rather than assuming than rootblock is exactly in the middle.
5925 (grub_affs_label): Likewise.
5926
a2a08a35
VS
59272010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5930 reserved_first_sector to 0.
5931 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5932 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5933 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5934
7059d1ec
VS
59352010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 Fix handling of UTF-16 UDF labels.
5938
5939 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5940 (read_string): .. here.
5941 (grub_udf_label): Use read_string.
5942
30aff4cb
BC
59432010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5944
5945 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5946 editor under argument scope.
5947 Reported by: Jordan Uggla
5948
5cf86f4b
VS
59492010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5952
32570200
CW
59532010-12-18 Colin Watson <cjwatson@ubuntu.com>
5954
5955 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5956 line, and other keys scroll an entire page (previous handling was
5957 for \r and \n to scroll a page and other keys to scroll two lines).
5958
e1dffcf2
VS
59592010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5962 Set ptrdest to correct get_physical_target_address rather than
5963 incorrect get_virtual_current_address.
5964
b04298cf 59652010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5966
5967 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5968 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5969
5367ecd3
CW
59702010-12-10 Colin Watson <cjwatson@ubuntu.com>
5971
5972 * .bzrignore: Ignore grub-core/rs_decoder.S.
5973
1fb430f8
CW
59742010-12-10 Colin Watson <cjwatson@ubuntu.com>
5975
5976 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5977 .mo/.mo.gz opening sequence to ...
5978 (grub_mofile_open_lang): ... here.
5979 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5980 * util/grub.d/00_header.in (grub_lang): Include country part of
5981 locale.
5982 Reported by: Mario Limonciello.
5983
a94a6671
RM
59842010-12-09 Robert Millan <rmh@gnu.org>
5985
5986 * NEWS: Document addition of ZFS support.
5987
24b7938b
CW
59882010-12-04 Colin Watson <cjwatson@ubuntu.com>
5989
5990 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5991 rather than `/ 2', as the latter requires -Wa,--divide which would
5992 require bumping our minimum binutils version.
5993
bddc3ef6
BC
59942010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5995
5996 * util/grub-script-check.c (main): Print script line number on
5997 error.
5998
bf78d5b2
RM
59992010-12-01 Robert Millan <rmh@gnu.org>
6000
6001 * grub-core/fs/zfs/zfs.c: New file.
6002 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6003 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6004 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6005 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6006
6007 * include/grub/zfs/dmu.h: Likewise.
6008 * include/grub/zfs/dmu_objset.h: Likewise.
6009 * include/grub/zfs/dnode.h: Likewise.
6010 * include/grub/zfs/dsl_dataset.h: Likewise.
6011 * include/grub/zfs/dsl_dir.h: Likewise.
6012 * include/grub/zfs/sa_impl.h: Likewise.
6013 * include/grub/zfs/spa.h: Likewise.
6014 * include/grub/zfs/uberblock_impl.h: Likewise.
6015 * include/grub/zfs/vdev_impl.h: Likewise.
6016 * include/grub/zfs/zap_impl.h: Likewise.
6017 * include/grub/zfs/zap_leaf.h: Likewise.
6018 * include/grub/zfs/zfs.h: Likewise.
6019 * include/grub/zfs/zfs_acl.h: Likewise.
6020 * include/grub/zfs/zfs_znode.h: Likewise.
6021 * include/grub/zfs/zil.h: Likewise.
6022 * include/grub/zfs/zio.h: Likewise.
6023 * include/grub/zfs/zio_checksum.h: Likewise.
6024
6025 * Makefile.util.def: Build ZFS into libgrubmods.
6026 * grub-core/Makefile.core.def: Build zfs.mod.
6027
3f0f3831
SJ
60282010-11-30 Szymon Janc <szymon@janc.net.pl>
6029
6030 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
6031 variable.
6032 * grub-core/commands/wildcard.c (match_files): Likewise.
6033
3a4253b2
RM
60342010-11-30 Robert Millan <rmh@gnu.org>
6035
6036 * grub-core/loader/i386/bsd.c
6037 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
6038 whether kernel is loaded using grub_loader_is_loaded(), rather
6039 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
6040 certain error conditions.
6041
8c317b27
RM
60422010-11-30 Robert Millan <rmh@gnu.org>
6043
c5c9cd3e
RM
6044 * grub-core/commands/echo.c: Include `<grub/term.h>'.
6045 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 6046
49d3ab46
VS
60472010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 Avoid using tricks for initialising endian variables.
6050
6051 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
6052 Make const.
6053 (GRUB_MOD_INIT): Don't byte-swap.
6054 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6055 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
6056 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
6057 (grub_swap_bytes32_compile_time): Likewise.
6058 (grub_cpu_to_le32_compile_time): Likewise.
6059 (grub_cpu_to_le16_compile_time): Likewise.
6060
f420a804
VS
60612010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6062
6063 * util/grub-setup.c (setup): Stop recommending --force. People who
6064 understand the dangers of blocklists are able to find this option
6065 anyway and the ones who don't shouldn't use it anyway.
6066
4e7db17b
RM
60672010-11-26 Robert Millan <rmh@gnu.org>
6068
6069 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
6070 Update all users.
6071
9be57a0d
CW
60722010-11-26 Colin Watson <cjwatson@ubuntu.com>
6073
6074 Fix LVM-on-RAID probing.
6075
6076 * util/grub-probe.c (probe): Remember which disk was detected as
6077 RAID (perhaps an LVM physical volume). Use that disk's raidname
6078 rather than that of the top-level disk.
6079
2c7859b3 60802010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 6081
d7647bb6
BC
6082 Fix cmdline argument quotes for setparams command of menuentry
6083 definitions.
7e623b0d
BC
6084
6085 * grub-core/commands/menuentry.c (setparams_prefix): Use single
6086 quotes for arguments.
f866fe80 6087 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 6088 grub_strchrsub function instead.
f866fe80 6089
7955bea0 6090 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 6091
74f72a64
CW
60922010-11-24 Colin Watson <cjwatson@ubuntu.com>
6093
6094 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
6095 effort by skipping "." and ".." entries up-front.
6096 Suggested by: Michael Lazarev.
6097
5a407278
CW
60982010-11-24 Colin Watson <cjwatson@ubuntu.com>
6099
6100 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
6101 ldflags to ldadd, to fix link line ordering.
6102 (none_decompress): Likewise.
6103
3030d8ec
CW
61042010-11-24 Colin Watson <cjwatson@ubuntu.com>
6105
6106 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
6107 platforms.
6108 (grub-emu-lite): Remove kern/emu/cache.S.
6109
b7fbac12
CW
61102010-11-23 Colin Watson <cjwatson@ubuntu.com>
6111
6112 * util/deviceiter.c (compare_devices): If the by-id link for a
6113 device couldn't be resolved, fall back to sorting by the by-id link
6114 rather than segfaulting.
6115 Reported and tested by: Daniel Mierswa.
6116
5225f328
CW
61172010-11-23 Colin Watson <cjwatson@ubuntu.com>
6118
6119 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
6120 ldflags, to fix link line ordering.
6121
038b3ce8
CW
61222010-11-23 Colin Watson <cjwatson@ubuntu.com>
6123
6124 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
6125 linkers are picky about this.
6126
bf16e98e
CW
61272010-11-23 Colin Watson <cjwatson@ubuntu.com>
6128
6129 * grub-core/Makefile.am (command.lst): Adjust sed expression
6130 ordering so that extended and priority commands aren't treated as
6131 ordinary commands.
6132
7242bab6
CW
61332010-11-23 Colin Watson <cjwatson@ubuntu.com>
6134
6135 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6136 Remove byte-swapping function calls, which are not valid in
6137 structure initialisers.
6138 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
6139 non-const.
6140 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
6141 grub_gpt_partition_type_bios_boot.
6142
14e8b279
CW
61432010-11-22 Colin Watson <cjwatson@ubuntu.com>
6144
6145 Fix test program build on GNU/kFreeBSD.
6146
6147 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
6148 $(LIBNVPAIR)' library dependencies.
6149
e6f63338 61502010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
6151
6152 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
6153
cf8ffc38
CW
61542010-11-22 Colin Watson <cjwatson@ubuntu.com>
6155
6156 * util/grub-install.in: Remove excessive quoting that broke
6157 installations to RAID devices.
6158
7f8b0fd7
VS
61592010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
6162 bootloader version instead of 0.
6163
dfd240b1
VS
61642010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
6167 warning.
6168
7b61e609
VS
61692010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
6172 retrieve the metadat sector if size isn't known.
6173 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6174
9dfe92d0
RM
61752010-11-18 Robert Millan <rmh@gnu.org>
6176
6177 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
6178 with grub_memcmp().
6179
41cc919e
VS
61802010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
6183 arrow.
6184 Reported by: Jordan Uggla.
6185
1afcc914
VS
61862010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Make better UTF compliant.
6189
6190 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
6191 sequences as incorrect.
6192 (grub_is_valid_utf8): Likewise.
6193 (grub_utf8_to_ucs4): Likewise.
6194 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
6195 (grub_ucs4_to_utf8_alloc): Likewise.
6196 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
6197
f1808884
VS
61982010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 Make legacy_source behave like source.
6201
6202 * grub-core/commands/legacycfg.c (legacy_file): Don't call
6203 grub_show_menu.
6204 (grub_cmd_legacy_source): Call grub_show_menu if needed.
6205
24ec575b
CW
62062010-11-16 Colin Watson <cjwatson@debian.org>
6207
6208 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
6209 (-Wunused implies -Wunused-parameter, but not vice versa).
6210
72b7c7aa
CW
62112010-11-16 Colin Watson <cjwatson@ubuntu.com>
6212
6213 * configure.ac: Make error messages less confusing by testing for
6214 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
6215 accepted, but produces a diagnostic if something else is wrong).
6216
e98937aa
VS
62172010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
6220 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
6221 (now unused).
6222 (grub_keyboard_controller_init)
6223 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
6224 read the initial state since controller isn't inited yet.
6225
f6bbabc3
VS
62262010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
6227
6228 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
6229 allocate_regbeg may need to create new chunk header.
6230
22e7dbb2
VS
62312010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6232
6233 Fix quoting in legacy parser.
6234
6235 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
6236 single quotes.
6237 (grub_legacy_parse): Likewise.
6238 Reported by: Jordan Uggla.
6239 Tested by: Jordan Uggla.
6240
03f80960
VS
62412010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Don't add -lgcc on i386 and x86_64.
6244
6245 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
6246 * conf/Makefile.common (LDADD_KERNEL): Likewise.
6247 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
6248
779dc15b
VS
62492010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6250
6251 * configure.ac: Add -Wno-trampolines when supported.
6252
d20a3b37
MV
62532010-11-14 Modestas Vainius <modax@debian.org>
6254
6255 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
6256 fakeraid.
6257
e5360933
GC
62582010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6259
6260 Add generic logical block size support for UDF.
6261
6262 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
6263 (GRUB_UDF_BLKSZ): Removed.
6264 (struct grub_udf_data): New field "lbshift" to hold the logical block
6265 size of the file system in log2 format. All users updated.
6266 (sblocklist): Change type to unsigned.
6267 (grub_udf_mount): Change type of "sblklist" to unsigned.
6268 Move AVDP search before VRS recognition, because the latter requires
6269 knowledge of the logical block size, which is detected during the
6270 former.
6271 Detect and validate logical block size during AVDP search, adding
6272 support for block sizes 512, 1024 and 4096.
6273 Make VRS recognition independent of block size.
6274
cb0229c5
GC
62752010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6276
6277 Properly handle deleted files on UDF.
6278
6279 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
6280 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
6281 set.
6282
406858a8
GC
62832010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6284
6285 Support reading files larger than 2 GiB.
6286
6287 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
6288 "offset" to grub_off_t.
6289 (grub_udf_read_file): Likewise for parameter "pos".
6290
130da6a7
VS
62912010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6292
6293 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
6294 unavailable.
6295 (Simple configuration): Refer to Changes from GRUB Legacy about
6296 save_env availability.
6297
65e93f6b
VS
62982010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * util/grub-install.in: Ignore empty partition table detection
6301 instead of trying to include part_ module.
6302
1fd08bf1
VS
63032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
6306 LVM on RAID support.
6307
de1a024f
VS
63082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 Properly define WORDS_BIGENDIAN in wrapped environments.
6311
6312 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
6313 definition.
6314 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
6315
6316 Reported by: Manoel Rebelo Abranches.
6317 Tested by: Manoel Rebelo Abranches.
6318
bc5dd0b9
VS
63192010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * util/grub-mkconfig.in: Fix quoting.
6322
58c184be
VS
63232010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6324
6325 Support big ext2 files.
6326
6327 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
6328 (grub_ext2_read_block): Support triple indirect blocks.
6329 (grub_ext2_read_file): Use 64-bit types and read size_high.
6330 (grub_ext2_open): Read size_high.
6331 Reported by: Ximin Luo.
6332 Tested by: Manoel Rebelo Abranches.
6333
5f0c02b3
VS
63342010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * util/grub-install.in: Handle filenames containing spaces.
6337 Reported by: Jordan Uggla.
6338 Tested by: Jordan Uggla.
6339
4417aae6
VS
63402010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * util/grub-mkconfig.in (grub_script_check): New variable.
6343 Use grub_script_check instead of grub-script-check.
6344 Reported by: Barry Jackson.
6345
7625a68e
VS
63462010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * docs/grub.texi (menu): Correct the order.
6349 Reported by: D. Hugh Redelmeier.
6350
10001ac5
VS
63512010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
6354 jump.
6355
9c4cf53b
MRA
63562010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6357
10001ac5
VS
6358 * include/grub/elfload.h (grub_elf32_size): New parameter.
6359 All users updated.
9c4cf53b
MRA
6360 Return maximum segments alignment.
6361 (grub_elf64_size): Likewise.
6362 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
6363 Return maximum segments alignment.
6364 (grub_elf64_size): Likewise.
6365 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
6366 (grub_linux_claimmap_iterate): New function. Uses the
6367 "available" property in the "memory" node for memory allocation
6368 for kernel in the PowerPC loader.
9c4cf53b
MRA
6369 (grub_linux_load32): Correctly find linux entry point offset.
6370 (grub_linux_load64): Likewise.
6371
d2bf06bf
RM
63722010-11-07 Robert Millan <rmh@gnu.org>
6373
6374 On mips-yeeloong, build with -march=loongson2f when this flag is
6375 available (GCC >= 4.4).
6376 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
6377 `-march=mips3'.
6378 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
6379 or otherwise add -march=mips3.
6380
898c99a2
BC
63812010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
6382
87220a68
BC
6383 Suppress shell expansion on echo '*' and echo "*" like cases.
6384 Reported by: Jordan Uggla.
898c99a2
BC
6385
6386 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6387 string arguments before shell expansion.
6388 * tests/grub_cmd_echo.in: New testcases.
6389
4f9b406a
RM
63902010-11-07 Robert Millan <rmh@gnu.org>
6391
6392 * conf/mips-qemu-mips.rmk: Remove stale file from previous
6393 transition.
6394
80c6d25e
VS
63952010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/kern/emu/hostdisk.c
6398 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
6399
4a1a0153
VS
64002010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
6403 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
6404 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
6405
34706ddc
VS
64062010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
6409
6972dea9
VS
64102010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * util/grub-install.in: Replace useless recomendation to pass
6413 --modules with a recomendation to report a bug.
6414
9c693bd6
VS
64152010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Properly register serial terminfo.
6418 Reported by: Jordan Uggla
6419
6420 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
6421 const.
6422 (grub_serial_terminfo_output_template): Likewise.
6423 (grub_cmd_serial): Register "serial" with terminfo.
6424 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
6425 grub_serial_terminfo_output.
6426
6c9e4c0c
RM
64272010-11-05 Robert Millan <rmh@gnu.org>
6428
6429 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
6430 needed).
6431
b9b3839f
RM
64322010-11-05 Robert Millan <rmh@gnu.org>
6433
6434 On Yeeloong, pass machine type information to Linux.
6435
6436 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
6437 (LOONGSON_MACHTYPE): New macro, set to
6438 "machtype=lemote-yeeloong-2f-8.9inches".
6439 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
6440 additional argument to Linux.
6441
1a3aaff4
RM
64422010-11-04 Robert Millan <rmh@gnu.org>
6443
6444 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
6445 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
6446 (its SATA disks are detected as slaveless IDE master drives on
6447 kFreeBSD).
6448 Reported by Carsten Aulbert.
6449
a75f4f62
CW
64502010-11-02 Colin Watson <cjwatson@ubuntu.com>
6451
6452 * util/bin2h.c (main): Fix spelling error in generated output.
6453
33b4b0c6
GS
64542010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
6455
6456 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
6457
2b36fbf4
VS
64582010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
6461 vga= option is supplied.
6462
74aaf558
VS
64632010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
6466 * util/grub.d/10_kfreebsd.in: Likewise.
6467 * util/grub.d/10_linux.in: Likewise.
6468 * util/grub.d/20_linux_xen.in: Likewise.
6469
6428dec3
VS
64702010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
6473 argument as an argument to no-argument option.
6474
f8729d98
VS
64752010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * util/grub.d/10_linux.in: Add missing load_video with explicit
6478 GRUB_GFXPAYLOAD_LINUX.
6479
89d68fa6
VS
64802010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
6483
3a1197cd
VS
64842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
6487 elements with invlid index.
6488 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6489 * grub-core/disk/raid.c (insert_array): Automatically reallocate
6490 members.
6491 * include/grub/raid.h (grub_raid_member): New struct.
6492 (grub_raid_array): Transform devices and start_sector into usage of
6493 grub_raid_member. All users updated
6494 (allocated_devs): New member.
6495
71574288
VS
64962010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
6499 is modified
6500
8d40ec65
BC
65012010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
6502
6503 NetBSD build fix for getline function conflict from gnulib.
6504
6505 * Makefile.util.def (libgrubkern.a): New library for grub kernel
6506 components that depend on gnulib headers.
6507 (libgrubmods.a): Renamed from earlier libgrub.a.
6508 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
6509
95b9257e
VS
65102010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
6513 install rather than creating a broken install.
6514
26c53dc6
VS
65152010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 * util/grub-setup.c (argp): Remove misleading example of installing to
6518 a partition.
6519
4171b3c5
VS
65202010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * util/grub-setup.c (setup): Clarify the error message.
6523
18568d18
VS
65242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6525
6526 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
6527
4f6a2e21
VS
65282010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/kern/emu/misc.c
6531 (grub_make_system_path_relative_to_its_root)
6532 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
6533
65342010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
6535
6536 * grub-core/kern/emu/misc.c
6537 (grub_make_system_path_relative_to_its_root): Revert r2882.
6538
e138c458
VS
65392010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
6542 useless field head. All users updated.
6543 (free_subchunk): Correct handling of IN_REGION subchunk.
6544
0cbcdf0e
CW
65452010-10-22 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
6548 (Supported kernels): Likewise.
6549
b65ea155
GS
65502010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6551
6552 Make mktemp invocations portable.
6553
6554 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
6555 exit if mktemp fails.
6556 * tests/grub_script_blockarg.in: Likewise.
6557 * tests/partmap_test.in: Likewise.
6558 * tests/util/grub-shell-tester.in: Likewise.
6559 * tests/util/grub-shell.in: Likewise.
6560 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6561 * Makefile.am: Likewise, and chain shell commands with `&&'
6562 instead of ';'.
6563 * util/grub-mkrescue.in: Use the same explicit template as above, and
6564 exit if mktemp fails.
6565
05f43cdd
BC
65662010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
6567
6568 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
6569 Linux kernel, reported by Dennis Schridde.
6570
800e6a9b
SJ
65712010-10-17 Szymon Janc <szymon@janc.net.pl>
6572
6573 * grub-core/normal/auth.c (grub_auth_check_authentication):
6574 Set-but-not-used variable removed.
6575
d82df574
VS
65762010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * docs/grub.texi (GNU/Linux): Document APM unavailability with
6579 32-bit linux protocol.
6580
7bced458
VS
65812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
6584 cursor shape for sanity.
6585
5b027690
VS
65862010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * docs/grub.texi (Installation): Document buggy BIOS install.
6589
ba5f65cf
VS
65902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * docs/grub.texi (Installation): Indent.
6593
fdf2ec9c
VS
65942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * util/grub-setup.c (setup): New parameter allow_floppy.
6597 (arguments): New member allow_floppy.
6598 (argp_parser): Handle --allow-floppy.
6599 (main): Pass allow_floppy.
6600 * util/grub-install.in: New option --allow-floppy passed though to
6601 grub-setup.
6602
861dfd4c
VS
66032010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * util/grub-install.in: Handle partitionless disks.
6606
f77a8c24
VS
66072010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * util/grub-setup.c (setup): Don't clean blocklists before readability
6610 verfification.
6611
27d9ee32
VS
66122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * docs/grub.texi (Installation): Document embedding zone. Remove
6615 obsolete grub-install example.
6616
6bdda8f8
SJ
66172010-10-16 Szymon Janc <szymon@janc.net.pl>
6618
6619 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6620 Set-but-not-used variable ifdef'ed.
6621 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
6622 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
6623 variable removed.
6624 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
6625 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
6626 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6627 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
6628 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
6629 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6630 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
6631 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
6632 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6633 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
6634 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
6635 Likewise.
6636
e19b016b
VS
66372010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
6640 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
6641 enum value.
6642
6c8d3002
VS
66432010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
6646 synonym to _S5_. Needed for some DSDTs.
6647
c32b51c9
VS
66482010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 Userspace ACPI parser debugging.
6651
6652 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
6653 headers and add relevant defines. Don't include standard headers.
6654 (main) [GRUB_DSDT_TEST]: New function.
6655 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
6656 Don't declare functions.
6657
fbfbeb39
VS
66582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 Remove dead grub_efi_mm_fini.
6661
6662 * grub-core/kern/efi/mm.c (allocated_page): Removed.
6663 (ALLOCATED_PAGES_SIZE): Likewise.
6664 (MAX_ALLOCATED_PAGES): Likewise.
6665 (allocated_pages): Likewise.
6666 (grub_efi_allocate_pages): Don't record allocated pages.
6667 (grub_efi_free_pages): Likewise.
6668 (grub_efi_mm_init): Likewise.
6669 (grub_efi_mm_fini): Removed.
6670
65f7ed7c
VS
66712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
6674 (grub_efi_mm_init): Take into account the memory map size increase.
6675
24977b44
VS
66762010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6677
6678 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
6679 (serial_hw_put): Wait based on real time rather than port reads. Don't
6680 roken ports.
6681 * include/grub/serial.h (grub_serial_port): New field broken.
6682
1eb01cd2
RM
66832010-10-16 Robert Millan <rmh@gnu.org>
6684
6685 * grub-core/kern/emu/misc.c
6686 (grub_make_system_path_relative_to_its_root): Fix premature return
6687 when processing non-root ZFS filesystems.
5f8b440b 6688 Reported by Sergio Talens-Oliag.
1eb01cd2 6689
2d5fed60
RM
66902010-10-15 Robert Millan <rmh@gnu.org>
6691
6692 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
6693 guarantee compressed ones are processed first.
6694
d0f4c1ea
VS
66952010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
6698 grub_efiemu_autocore.
6699
d87c681f
VS
67002010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6703 rather than 0x1b.
6704 (grub_console_getkey): Use correct jae opcode rather than ja.
6705
219b3564
RM
67062010-10-12 Robert Millan <rmh@gnu.org>
6707
6708 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6709 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6710 variable. All references updated.
6711
6712 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6713
20c6bb7e
VS
67142010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 Correctly distinguish mdraid flavours.
6717
6718 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6719 (insert_array): New argument raid.
6720 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6721 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6722 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6723
74baff84
VS
67242010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6727 handling of special keys.
6728
3ef068df 67292010-10-02 Aleš Nesrsta <starous@volny.cz>
6730
c7980ad9
VS
6731 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6732 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6733
a9455194 67342010-10-02 Aleš Nesrsta <starous@volny.cz>
6735
c7980ad9
VS
6736 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6737 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6738 users updated.
a9455194 6739 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6740 Use right endpoint when querying descriptor.
a9455194 6741
441cfe65
VS
67422010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Clear out 0x80 color bit on EFI.
6745 Tested by: decoder
6746 Reported by: decoder and meta tech.
6747
6748 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6749 (grub_console_setcolorstate): Clear out 0x80 bit.
6750 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6751 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6752 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6753
bf26bcc4
VS
67542010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6755
6756 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6757 Set to "auto".
6758
6e3c515d
VS
67592010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6760
6761 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6762 mo_file after freeing.
6763
e6d983ba
VS
67642010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6767
74ccb5b5
VS
67682010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6771 flags.
6772
17821956
VS
67732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6776 usage.
6777
ee74fa48
VS
67782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6779
6780 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6781
6782 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6783 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6784 and terminfo.h when needed.
6785 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6786 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6787 (terminfo): Enable only on terminfokernel.
6788 (extcmd): Likewise.
6789 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6790 * include/grub/lib/arg.h: Likewise.
6791 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6792 incorrect usage of ->.
6793
aa438e68
VS
67942010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6795
6796 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6797 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6798
57994012
VS
67992010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6800
6801 Fix coreboot compilation.
6802
6803 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6804 Take VBE info into account even if only text is supported.
6805 (fill_vbe_info): Take into account the case when only VGA text
6806 is supported.
6807 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6808 on coreboot, multiboot and qemu.
6809
2a406611
VS
68102010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6813 debug messages.
6814 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6815
d33613fc
VS
68162010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6817
6818 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6819 parameters.
6820
44a1b432
VS
68212010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6824 if they were BSD-style.
6825
edde54e6
VS
68262010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6827
6828 * grub-core/boot/i386/pc/lnxboot.S: Replace
6829 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6830 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6831
b65830fa
VS
68322010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6833
6834 Write embedding zone using Reed-Solomon.
6835
6836 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6837 * grub-core/Makefile.am (rs_decoder.S): New target.
6838 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6839 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6840 (multiboot): Move to RS part.
6841 (post_reed_solomon): New label.
6842 (grub_boot_drive): Move to non-RS part since it's modified in memory
6843 on boot.
6844 Include rs_decoder.S.
6845 * grub-core/lib/reed_solomon.c: New file.
6846 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6847 New definition.
6848 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6849 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6850 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6851 * include/grub/partition.h (grub_partition_map): Change prototype of
6852 embed to allow returning additional sectors.
6853 * include/grub/reed_solomon.h: New file.
6854 * util/grub-setup.c (setup): Handle Reed-Solomon.
6855
0b4b227f
CW
68562010-09-28 Colin Watson <cjwatson@ubuntu.com>
6857
6858 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6859 i386 and x86-64 definedness tests.
6860
f772623b
YB
68612010-09-27 Yves Blusseau <blusseau@zetam.org>
6862
6863 Fix generation of kernel_syms.lst
6864
6865 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6866 ASM_PREFIX
6867
8e57a6ca
RM
68682010-09-26 Robert Millan <rmh@gnu.org>
6869
6870 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6871
6872 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6873 the pool is an array of devices, iterate through it and return the
6874 first device that passes a stat() test (instead of blindly returning
6875 the first one).
6876
f9130836
RM
68772010-09-26 Robert Millan <rmh@gnu.org>
6878
6879 Build fixes for GNU/kFreeBSD.
6880
6881 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6882 to programs that require ZFS conversion.
6883 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6884 kernels that don't have FLOPPY_MAJOR.
6885
96510faf
BC
68862010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6887
6888 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6889
449333eb
BC
68902010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6891
6892 Fix grub-emu build.
6893
6894 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6895 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6896 mdraid09 and mdraid1x.
6897
e1fd1939
CW
68982010-09-24 Colin Watson <cjwatson@ubuntu.com>
6899
6900 Re-enable grub-extras.
6901
6902 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6903 avoid confusing Automake. Run autogen only twice, once for the top
6904 level and once for grub-core. Add Makefile.util.def and
6905 Makefile.core.def from extra modules to the appropriate autogen
6906 invocations. If Makefile.common exists in an extra module, include
6907 it in both Makefile.util.am and grub-core/Makefile.core.am;
6908 similarly, include any Makefile.util.common file in Makefile.util.am
6909 and any Makefile.core.common file in grub-core/Makefile.core.am.
6910 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6911 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6912 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6913 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6914
6915 * gentpl.py (gvar_add): Turn GVARS into a set.
6916 (global_variable_initializers): Sort global variables on output.
6917 (vars_init): New function.
6918 (first_time): Likewise.
6919 (library): Ensure that non-global variable initialisations are
6920 emitted before the first time we emit code for a library block.
6921 Append to variables rather than setting them. Only emit
6922 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6923 each conditional path.
6924 (program): installdir() emits an Autogen macro, so must be passed to
6925 var_add rather than gvar_add.
6926 (data): Likewise.
6927 (script): Likewise.
6928 (rules): New function, centralising handling for different target
6929 types. Set up Guile association lists for first_time and vars_init,
6930 and send most output to a diversion so that variable initialisations
6931 can be emitted first.
6932 (module_rules): Use new rules function.
6933 (kernel_rules): Likewise.
6934 (image_rules): Likewise.
6935 (library_rules): Likewise.
6936 (program_rules): Likewise.
6937 (script_rules): Likewise.
6938 (data_rules): Likewise.
6939
6940 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6941
6942 * .bzrignore: Add contrib and grub-core/contrib. Remove
6943 grub-core/Makefile.gcry.am.
6944
1d12cf29
YB
69452010-09-24 Yves Blusseau <blusseau@zetam.org>
6946
6947 * grub-core/lib/LzFind.c: Add missing include.
6948 * grub-core/lib/LzmaEnc.c: Likewise.
6949 * grub-core/script/lexer.c: Likewise.
6950 * grub-core/script/yylex.l: Likewise.
6951 * util/grub-macho2img.c: Likewise.
6952 * util/grub-menulst2cfg.c: Likewise.
6953 * util/grub-mklayout.c: Likewise.
6954 * util/grub-mkpasswd-pbkdf2.c
6955 * util/grub-mkrelpath.c: Likewise.
6956 * util/resolve.c: Likewise.
6957
dd363028
BC
69582010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6959
6960 * Makefile.util.def (example_unit_test): Add
6961 grub-core/gnulib/libgnu.a.
6962
f5a109e2
GS
69632010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6964
6965 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6966
6d0fa83c
VS
69672010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6968
6969 Support xz compression on yeeloong.
6970
6971 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6972 * configure.ac: Check for LZMA.
6973 * grub-core/Makefile.core.def (xz_decompress): New target.
6974 (none_decompress): Likewise.
6975 * grub-core/boot/decompressor/minilib.c: New file.
6976 * grub-core/boot/decompressor/none.c: Likewise.
6977 * grub-core/boot/decompressor/xz.c: Likewise.
6978 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6979 * grub-core/kern/mips/cache_flush.S: Likewise.
6980 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6981 * grub-core/kern/mips/startup.S: Move first stage to ...
6982 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6983 nomacro.
6984 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6985 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6986 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6987 Allocate statically.
6988 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6989 Allocate statically or use scratch. Don't check CRC32.
6990 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6991 Allocate statically. Don't check CRC32.
6992 * include/grub/decompressor.h: New file.
6993 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6994 Removed.
6995 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6996 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6997 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6998 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6999 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7000 * util/grub-mkimage.c (grub_compression_t): New type.
7001 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7002 (image_target_desc): New field default_compression.
7003 (image_targets): Adjust yeeloong targets.
7004 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7005 (compress_kernel): New parameter comp.
7006 (generate_image): Likewise. Handle new compression case.
7007 (options): New option --compression
7008 (help): Likewise.
7009 (main): Handle new option.
7010
1b655af6
GS
70112010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
7012
7013 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
7014
8f03f0b5
CW
70152010-09-22 Colin Watson <cjwatson@ubuntu.com>
7016
7017 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7018 typo in __i386__ conditional.
7019
7835dfd3
VS
70202010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
7023 include.
7024
e255597e
VS
70252010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7026
6d0fa83c 7027 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
7028
7029 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
7030 new tags as supported.
7031 (acpiv2_size): New function.
7032 (grub_multiboot_get_mbi_size): Take new tags into account.
7033 (grub_multiboot_make_mbi): Add new tags.
7034 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 7035
6cc14051 70362010-09-21 Aleš Nesrsta <starous@volny.cz>
7037
7038 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
7039 Added missing configuration of USB device.
7040
df7769d8
CW
70412010-09-21 Colin Watson <cjwatson@ubuntu.com>
7042
7043 * grub-core/normal/menu_entry.c (run): Make sure we always return
7044 a value.
7045
b031012d
CW
70462010-09-21 Colin Watson <cjwatson@ubuntu.com>
7047
7048 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
7049 NumberOfPages is UINT64 according to the UEFI specification, not
7050 UINTN. Fix printf format.
7051
174de8f3
CW
70522010-09-21 Colin Watson <cjwatson@ubuntu.com>
7053
7054 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
7055 `err' to grub_usb_err_t.
7056 Reported and tested by: KESHAV P.R.
7057
d7dbe923
CW
70582010-09-21 Colin Watson <cjwatson@ubuntu.com>
7059
7060 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
7061 tpart non-const, so that we can assign to it. (Since this is a
7062 typedef, the constness refers to the pointer rather than what it
7063 points to.)
7064
8d5e2af3
CW
70652010-09-21 Colin Watson <cjwatson@ubuntu.com>
7066
7067 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
7068 $(top_srcdir)/grub-core/gnulib as well as
7069 $(top_builddir)/grub-core/gnulib.
7070 Reported by: KESHAV P.R.
7071
5c527783
CW
70722010-09-21 Colin Watson <cjwatson@ubuntu.com>
7073
7074 * util/grub-install.in: Fix the bootloader ID option to be
7075 consistently --bootloader-id, not --bootloader_id.
7076 Reported by: KESHAV P.R.
7077
d309a16e
CW
70782010-09-21 Colin Watson <cjwatson@ubuntu.com>
7079
7080 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
7081 check hash checksum." consistently translatable.
7082
b830cd16
YB
70832010-09-21 Yves Blusseau <blusseau@zetam.org>
7084
7085 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
7086 $(top_builddir).
7087
c4fe27a8
CW
70882010-09-21 Colin Watson <cjwatson@ubuntu.com>
7089
7090 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
7091 (GRUB_MOD_INIT): Register sha1sum command.
7092 (GRUB_MOD_FINI): Unregister sha1sum command.
7093
a4c1d277
YB
70942010-09-21 Yves Blusseau <blusseau@zetam.org>
7095
7096 Keep boot and grub directory names in sync with utils scripts
7097
7098 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
7099 * config.h.in: Add previous macros.
7100 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
7101 * util/grub-install.in: Use $bootdir and $grubdir variables.
7102
4eff79d2
CW
71032010-09-21 Colin Watson <cjwatson@ubuntu.com>
7104
7105 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
7106 convert partition names to disk names if the new `convert' parameter
7107 is set.
7108 (grub_util_biosdisk_get_grub_dev): If opening the disk device
7109 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
7110 disk in its own right. This can happen with Xen disk images.
7111
934d7e44
YB
71122010-09-21 Yves Blusseau <blusseau@zetam.org>
7113
7114 * util/grub-editenv.c: Update strings to avoid warnings when generating
7115 grub.pot file.
7116 * util/grub-setup.c: Likewise.
934d7e44 7117
df3367cc
VS
71182010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * configure.ac: Change version to 1.99~beta0.
7121
77a94e98
VS
71222010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7125 Add BADRAM.
7126 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
7127 Likewise.
7128 * include/multiboot.h: Resynced with specification.
7129 * include/multiboot2.h: Likewise.
7130
269004c1
CW
71312010-09-21 Colin Watson <cjwatson@ubuntu.com>
7132
7133 Fix po directory handling.
7134
7135 * configure.ac: Create po/Makefile.in rather than po/Makefile.
7136 * grub-core/gnulib/Makefile.am: Import gettext module.
7137 * m4/gnulib-cache.m4: Likewise.
7138 * m4/gnulib-comp.m4: Likewise.
7139 * m4/gettext.m4: New file, from gnulib.
7140 * m4/glibc2.m4: Likewise.
7141 * m4/iconv.m4: Likewise.
7142 * m4/intdiv0.m4: Likewise.
7143 * m4/intl.m4: Likewise.
7144 * m4/intldir.m4: Likewise.
7145 * m4/intlmacosx.m4: Likewise.
7146 * m4/intmax.m4: Likewise.
7147 * m4/inttypes-pri.m4: Likewise.
7148 * m4/lcmessage.m4: Likewise.
7149 * m4/lib-ld.m4: Likewise.
7150 * m4/lib-link.m4: Likewise.
7151 * m4/lib-prefix.m4: Likewise.
7152 * m4/lock.m4: Likewise.
7153 * m4/nls.m4: Likewise.
7154 * m4/po.m4: Likewise.
7155 * m4/printf-posix.m4: Likewise.
7156 * m4/progtest.m4: Likewise.
7157 * m4/threadlib.m4: Likewise.
7158 * m4/uintmax_t.m4: Likewise.
7159 * m4/visibility.m4: Likewise.
7160 * po/Makefile.am: Remove.
7161 * po/Makefile.in.in: New file, from gettext.
7162 ($(DOMAIN).pot-update): Support POTFILES-shell.
7163 * po/Makevars: New file.
7164 * po/POTFILES-shell: Rename to ...
7165 * po/POTFILES-shell.in: ... this. Update.
7166 * po/POTFILES: Rename to ...
7167 * po/POTFILES.in: ... this. Update.
7168 * po/Rules-quot: New file, from gettext.
7169 * po/boldquot.sed: Likewise.
7170 * po/en@boldquot.header: Likewise.
7171 * po/en@quot.header: Likewise.
7172 * po/insert-header.sin: Likewise.
7173 * po/quot.sed: Likewise.
7174 * po/remove-potcdate.sin: Likewise.
7175
3e0fa5d0
VS
71762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
7179
ade9bd66
VS
71802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 * util/grub.d/20_linux_xen.in: Use submenus.
7183
fc55cc4c
VS
71842010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Support submenus.
7187
7188 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
7189 parameter submenu. All users updated.
7190 * grub-core/normal/main.c (free_menu): Rename to ...
7191 (grub_normal_free_menu): ... this. Made global.
7192 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
7193 if requested.
7194 * grub-core/normal/menu_entry.c (screen): New field submenu.
7195 (make_screen): Set submenu.
7196 (run): Open new context if requested.
7197 * include/grub/menu.h (grub_menu_entry): New field submenu.
7198 * include/grub/normal.h (grub_normal_free_menu): New proto.
7199
600cedf7
VS
72002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Menu entries extractor.
7203
7204 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
7205 variants.
7206 (GRUB_MOD_INIT): Register new variants.
7207 (GRUB_MOD_FINI): Unregister new variants.
7208 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
7209 into grub_cmd_legacy_source.
7210 (grub_cmd_legacy_source): Implement extractor variants.
7211 (GRUB_MOD_INIT): Register new variants.
7212 (GRUB_MOD_FINI): Unregister new variants.
7213 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
7214 as an extractor.
7215 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
7216 search as an extractor.
7217 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
7218 test as an extractor.
7219 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
7220 as an extractor.
7221 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
7222 (grub_env_new_context): New function.
7223 (grub_env_context_open): Likewise.
7224 (grub_env_extractor_open): Likewise.
7225 (grub_env_extractor_close): Likewise.
7226 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7227 grub_extractor_level.
7228 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
7229 * include/grub/env.h (grub_env_extractor_open): New proto.
7230 (grub_env_extractor_close): Likewise.
7231 * include/grub/normal.h (grub_extractor_level): New external variable.
7232
7bda3a87
VS
72332010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7234
7235 Make cutmem accept a region specification.
7236 Suggested by: Samuel Thibault
7237
7238 * grub-core/mmap/mmap.c (parsemem): New function.
7239 (grub_cmd_cutmem): Handle new arguments.
7240
2ea57f88
VS
72412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 New command cutmem.
7244
7245 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
7246 (GRUB_MOD_INIT): Register new command.
7247 (GRUB_MOD_FINI): Unregister new command.
7248
74342e31
VS
72492010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Support some annoying BSD and Minix subpartitions.
7252
7253 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
7254 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
7255 Properly handle concatenation.
7256 * grub-core/kern/device.c (grub_device_iterate): Likewise.
7257 * grub-core/normal/completion.c (iterate_partition): Likewise.
7258 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
7259 contain partition. All users updated.
7260 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
7261 struct.
7262 (grub_openbsdlabel_partition_map): Likewise.
7263 (bsdlabel_partition_map_iterate): Rename to ..
7264 (iterate_real): ... this. New arguments sector, freebsd and pmap.
7265 (bsdlabel_partition_map_iterate): New function.
7266 (netopenbsdlabel_partition_map_iterate): Likewise.
7267 (netbsdlabel_partition_map_iterate): Likewise.
7268 (openbsdlabel_partition_map_iterate): Likewise.
7269 (GRUB_MOD_INIT): Register new partmaps.
7270 (GRUB_MOD_FINI): Unregister new partmaps.
7271 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
7272 (grub_partition_msdos_iterate): ... this. All users updated.
7273 Don't support embedding other than in a minix partition.
7274 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
7275 proto.
7276 * include/grub/partition.h (grub_partition): New field msdostype.
7277 * util/grub-install.in: Handle openbsd and netbsd types being in
7278 part_bsd module.
7279
1e8d555b
VS
72802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7281
7282 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
7283
7284 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
7285 * grub-core/Makefile.core.def (mdraid): Renamed to ...
7286 (mdraid09): ... this.
7287 (mdraid1x): New module.
7288 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
7289 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
7290
899d8af4
VS
72912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
7294 vsprintf.
7295
40901acd
CW
72962010-09-20 Colin Watson <cjwatson@ubuntu.com>
7297
7298 * grub-core/commands/efi/lsefimmap.c: Correct header.
7299 * NEWS: Update.
7300
dfe3b247
CW
73012010-09-20 Colin Watson <cjwatson@ubuntu.com>
7302
7303 * util/grub-editenv.c (argp_parser): Don't pass translated strings
7304 as printf format strings; the translations might contain '%' which
7305 could cause a crash.
7306 (main): Likewise.
7307 * util/grub-fstest.c (argp_parser): Likewise.
7308 * util/grub-setup.c (argp_parser): Likewise.
7309 (main): Likewise.
7310
3286a4b4
VS
73112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 Use argp in grub-fstest.
7314
7315 * util/grub-fstest.c: Don't include getopt.h.
7316 Include argp.h.
7317 (root): New variable.
7318 (args_count): Likewise.
7319 (nparm): Likewise.
7320 (num_disks): Likewise.
7321 (images): Likewise.
7322 (cmd): Likewise.
7323 (debug_str): Likewise.
7324 (args): Likewise.
7325 (options): Transformed to argp.
7326 (usage): Removed.
7327 (main): Split argument parsing into ...
7328 (argp_parser): ... this. Changed to argp format.
7329 (argp): New variable.
7330 (main): Use argp_parse.
7331
3dccbe4b
TG
73322010-09-20 Tristan Gingold <gingold@free.fr>
73332010-09-20 Robert Millan <rmh.grub@aybabtu.com>
73342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * grub-core/commands/efi/lsefimmap.c: New file.
7337 * grub-core/Makefile.core.def (lsefimmap): New module.
7338 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
7339
38c259a7
VS
73402010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7341
7342 Pause the execution (10s max) if any errors are displayed so the user
7343 has a chance to see them.
7344
7345 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
7346 (grub_print_error): Increment grub_err_printed_errors.
7347 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
7348 execution if any errors were displayed.
7349 (show_menu): Remove old code for pause.
7350 * grub-core/normal/menu_entry.c (run): Likewise.
7351 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
7352 users updated.
7353 (grub_normal_get_char_counter): Likewise.
7354 * include/grub/err.h (grub_err_printed_errors): New external variable.
7355 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
7356
f218b09c
VS
73572010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 Support multiboot VBE info.
7360
7361 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7362 Take VBE info into account.
7363 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
7364 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7365 Call fill_vbe_info when appropriate.
7366 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
7367 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
7368 as supported.
7369 (grub_multiboot_get_mbi_size): Take new tags into account.
7370 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
7371 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7372 Call fill_vbe_tag when appropriate.
7373 (grub_multiboot_make_mbi): Properly align tags.
7374 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
7375 function.
7376 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
7377 proto.
7378 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
7379
a9cc5438
VS
73802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 Suport manual terminal geometry specification.
7383
7384 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
7385 Save state in grub_ofconsole_terminfo_output.
7386 (grub_ofconsole_term): Use grub_terminfo_getwh.
7387 (grub_ofconsole_getwh): Removed.
7388 * grub-core/term/serial.c (grub_serial_getwh): Removed.
7389 (grub_serial_term): Use grub_terminfo_getwh.
7390 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
7391 (options): New struct.
7392 (OPTION_*): New enum.
7393 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
7394 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
7395 width and height.
7396 (grub_terminfo_getwh): New proto.
7397 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
7398
1a8fed20
VS
73992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7400
7401 Handle legacy "terminal" command.
7402
7403 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
7404 and FLAG_TERMINAL.
7405 (legacy_commands): Add terminal and title.
7406 (grub_legacy_parse): Handle terminal. Simplify title handling.
7407
41e9c57d
VS
74082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
7411 parameters overflow.
7412
61c874c5
CW
74132010-09-20 Colin Watson <cjwatson@ubuntu.com>
7414
7415 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
7416 widthspec.h.
7417
7418 * docs/grub.texi (Shell-like scripting): Document `!'.
7419 (Network): Simplify using new i386-pc-pxe format. Mention
7420 grub-mknetdir.
7421
7422 * NEWS: Update.
7423
943682b4
CW
74242010-09-20 Colin Watson <cjwatson@ubuntu.com>
7425
7426 * Makefile.am (SUBDIRS): Restore "."; it's important to force
7427 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
7428 when needed.
7429
6d3d698d
CW
74302010-09-20 Colin Watson <cjwatson@ubuntu.com>
7431
7432 * grub-core/commands/efi/lsefisystab.c: Correct header.
7433 * grub-core/commands/efi/lssal.c: Likewise.
7434 * grub-core/commands/testload.c: Likewise.
7435
c982589f
CW
74362010-09-20 Colin Watson <cjwatson@ubuntu.com>
7437
7438 * util/grub-mkrescue.in: Add explicit root argument to --set to
7439 prevent the UUID being interpreted as an argument to --set (matches
7440 previous change to prepare_grub_to_access_device).
7441
a63c31b6
CW
74422010-09-20 Colin Watson <cjwatson@ubuntu.com>
7443
7444 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
7445 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
7446 the verbosity of later #ifs.
7447 (find_partition_start): Define this function on FreeBSD too.
7448 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
7449 function.
7450 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
7451 on FreeBSD.
7452
6439b8ee
YB
74532010-09-20 Yves Blusseau <blusseau@zetam.org>
7454
7455 * util/grub-editenv.c: Use argp instead of getopt.
7456
c5930ec8
YB
74572010-09-20 Yves Blusseau <blusseau@zetam.org>
7458
7459 * util/grub-setup.c: Use argp instead of getopt.
7460
15c69261
YB
74612010-09-20 Yves Blusseau <blusseau@zetam.org>
7462
7463 Use gnulib-tool to create gnulib source files.
7464
7465 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
7466 grub-core/gnulib directories
7467 * .bzignore: Add **/.deps and autogenerated gnulib files
7468 * configure.ac: Assign auxiliary directory to build-aux, add invocation
7469 of gnulib macros, add grub-core/gnulib/Makefile
7470 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
7471 include m4 directory to aclocal.
7472 * Makefile.util.def: Remove direct compilation of gnulib source files
7473 and use the new grub-core/gnulib/libgnu.a.
7474 * build-aux/config.rpath: move config.rpath from top directory to
7475 build-aux
7476 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
7477 in gnulib headers
7478 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
7479 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
7480 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
7481 header.
7482 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
7483 string.
7484
e511c9f5
YB
74852010-09-20 Yves Blusseau <blusseau@zetam.org>
7486
7487 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
7488 grub-core/genmod.sh and grub-core/gensyminfo.sh
7489
c2dede05
BC
74902010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
7491
7492 Add a test for echo command options.
7493
7494 * tests/grub_cmd_echo.in: New test.
7495 * Makefile.util.def: Rules for new test.
7496
c55f5018
SJ
74972010-09-20 Szymon Janc <szymon@janc.net.pl>
7498
7499 Remove crc.mod and move crc command to hashsum.mod.
7500 Remove lib/crc.c - users updated to use gcrypt implementation.
7501
7502 * grub-core/commands/crc.c: Removed.
7503 * grub-core/Makefile.core.def (crc): Module removed.
7504 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
7505 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
7506 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
7507 * grub-core/lib/crc.c: Removed.
7508 * include/grub/lib/crc.h: Removed.
7509 * Makefile.util.def (crc): Remove lib/crc.c
7510 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
7511 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
7512 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
7513 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
7514 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
7515 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
7516
e0337366
VS
75172010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7518
7519 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
7520
742f9232
VS
75212010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 Split config.h for util and core.
7524
7525 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
7526 (ADDR32): Likewise.
7527 (DATA32): Likewise.
7528 (BSS_START_SYMBOL): Likewise.
7529 (END_SYMBOL): Likewise.
7530 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
7531 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
7532 * config.h.in: New file.
7533 * configure.ac: Use config-util.h as config define file.
7534 Rename MACHINE into GRUB_MACHINE. All users updated.
7535 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
7536 updated.
7537 (NESTED_FUNC_ATTR): Likewise.
7538 Substitue new variables.
7539 (COND_HAVE_ASM_USCORE): New conditional.
7540 * grub-core/Makefile.am (ASM_PREFIX): New variable.
7541 (kernel_syms.lst): Use ASM_PREFIX.
7542 * grub-core/kern/emu/console.c: Include config-util.h.
7543 * grub-core/kern/emu/misc.c: Likewise.
7544 * grub-core/kern/emu/mm.c: Likewise.
7545 * include/grub/emu/misc.h: Likewise.
7546 * include/grub/libgcc.h: Likewise.
7547
39feb0e8
VS
75482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
7551 constants usage.
7552 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
7553 Fix GRUB_TERM_KEY_* constants usage.
7554 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
7555
9af6dac3
VS
75562010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
7559 print pointer.
7560 * grub-core/bus/usb/uhci.c: Remove empty define.
7561 (grub_uhci_check_transfer): Add missing cast.
7562 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
7563 print pointer.
7564 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
7565 PRIuGRUB_SIZE.
7566 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
7567
d6d94820
VS
75682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/Makefile.core.def (legacycfg): Add
7571 lib/i386/pc/vesa_modes_table.c on emu.
7572
3572f2b6
BC
75732010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7574
7575 Reduce number of temporary files generated by build system.
7576
7577 * grub-core/gencmdlist.sh: Removed.
7578 * grub-core/genfslist.sh: Removed.
7579 * grub-core/genhandlerlist.sh: Removed.
7580 * grub-core/genmodsrc.sh: Removed.
7581 * grub-core/genpartmaplist.sh: Removed.
7582 * grub-core/genparttoollist.sh: Removed.
7583 * grub-core/gentermiinallist.sh: Removed.
7584 * grub-core/genvideolist.sh: Removed.
7585
7586 * grub-core/genmod.sh.in: New file.
7587 * grub-core/gensyminfo.sh.in: New file.
7588
7589 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
7590 * conf/Makefile.extra-dist: Update with new files.
7591 * gentpl.py: Remove rules related to unnecessary temporary files.
7592 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
7593 and und-* files.
7594 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
7595 genmod.sh scripts.
7596 * grub-core/bus/usb/uhci.c: Remove empty #define.
7597 * grub-core/genmoddep.awk: Updated with new syminfo format.
7598 * util/bash-completion.d/Makefile.am: Add config.log to
7599 CLEANFILES.
7600
c836b030
YB
76012010-09-19 Yves Blusseau <blusseau@zetam.org>
7602
7603 * Makefile.util.def: Add forgotten $(LIBINTL) library.
7604
2f4e8053
BC
76052010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7606
7607 * util/grub-mkconfig.in: Check the config script for syntax errors
7608 before saving.
7609
75831c34
CW
76102010-09-19 Colin Watson <cjwatson@ubuntu.com>
76112010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 * Makefile.util.def (grub-install): Use util/grub-install.in on all
7614 platforms.
7615 * util/grub-install.in: Add EFI and IEEE1275 support.
7616 * util/i386/efi/grub-install.in: Removed.
7617 * util/ieee1275/grub-install.in: Likewise.
7618
eaf41b25
VS
76192010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
7622 (grub_cmd_cmosclean): Likewise.
7623 (GRUB_MOD_INIT): Register command cmosclean.
7624 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
7625 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
7626
1a9130dd
CPE
76272010-09-18 Carles Pina i Estany <carles@pina.cat>
76282010-09-18 Aleš Nesrsta <starous@volny.cz>
76292010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7630
7631 Add keyboard layouts support.
7632
7633 * Makefile.util.def (grub-mklayout): New file.
7634 (grub-kbdcomp): New script.
7635 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
7636 Add keyboard_layouts.h.
7637 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
7638 commands/boot.c on yeeloong.
7639 (keylayouts): New module.
7640 * grub-core/bus/usb/ohci.c
7641 * grub-core/bus/usb/uhci.c
7642 * grub-core/bus/usb/usbhub.c (rescan): New variable.
7643 (grub_usb_add_hub): Poll interrupt pipe for device handling.
7644 (attach_root_port): Likewise.
7645 (poll_nonroot_hub): Likewise.
7646 (grub_usb_poll_devices): Likewise.
7647 (detach_device): Close transfer.
7648 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
7649 function.
7650 (grub_usb_bulk_setup_readwrite): Likewise.
7651 (grub_usb_bulk_finish_readwrite): Likewise.
7652 * grub-core/commands/keylayouts.c: New file.
7653 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
7654 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
7655 aliases.
7656 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
7657 support scancode 2.
7658 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
7659 * include/grub/keyboard_layouts.h: New file.
7660 * util/grub-mklayout.c: New file.
7661 * util/grub-kbdcomp.in: Likewise.
7662
a1d84a5e
VS
76632010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7664
7665 Unify memory types.
7666
7667 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
7668 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
7669 types.
7670 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
7671 (grub_upper_mem): Likewise.
7672 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
7673 * include/grub/memory.h (grub_memory_type_t): New enum.
7674 All users updated.
7675
9696382e
VS
76762010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/Makefile.core.def (lsapm): New module.
7679 * grub-core/commands/i386/pc/lsapm.c: New file.
7680 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
7681 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
7682 Likewise.
7683 * include/grub/i386/pc/apm.h: New file.
7684 * include/multiboot.h (multiboot_apm_info): New struct.
7685
76862010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 GRUB-legacy configuration file support.
7689
7690 * Makefile.util.def (grub-menulst2cfg): New util.
7691 * docs/man/grub-menulst2cfg.h2m: New file.
7692 * grub-core/Makefile.core.def (legacycfg): New module.
7693 * grub-core/commands/legacycfg.c: New file.
7694 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
7695 (grub_normal_add_menu_entry): ... this.
7696 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
7697 (grub_normal_set_password): ...this.
7698 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
7699 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7700 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7701 * grub-core/lib/legacy_parse.c: New file.
7702 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7703 * include/grub/i386/pc/vesa_modes_table.h: New file.
7704 * include/grub/legacy_parse.h: Likewise.
7705 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7706 * util/grub-menulst2cfg.c: New file.
7707
bf8d1338
CW
77082010-09-17 Colin Watson <cjwatson@ubuntu.com>
7709
7710 * grub-core/kern/emu/hostdisk.c
7711 (convert_system_partition_to_system_disk): Initialise node.
7712
9c0bad2e
CW
77132010-09-17 Colin Watson <cjwatson@ubuntu.com>
7714
7715 * grub-core/kern/emu/hostdisk.c
7716 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7717 leak.
7718 Reported and based on patch by: Modestas Vainius.
7719
a939d135
CW
77202010-09-17 Colin Watson <cjwatson@ubuntu.com>
7721
7722 Fix DM-RAID probing with recent versions of device-mapper udev
7723 rules.
7724
7725 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7726 canonicalise device paths under /dev/mapper/.
7727 (convert_system_partition_to_system_disk): Compare the
7728 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7729 path, since device nodes under /dev/mapper/ are often symlinks.
7730
0f7ee3c9
YB
77312010-09-17 Yves Blusseau <blusseau@zetam.org>
7732
7733 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7734
10854d0d
YB
77352010-09-16 Yves Blusseau <blusseau@zetam.org>
7736
7737 * configure.ac: Avoid some annoying error messages if freetype-config
7738 program is not found.
7739
108538d8
CW
77402010-09-16 Colin Watson <cjwatson@ubuntu.com>
7741
7742 Support RAID on virtio devices, and others.
7743
7744 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7745 Rename to ...
7746 [__MINGW32__] (grub_find_device): ... this.
7747 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7748 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7749 reasonable default if dir is NULL.
7750 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7751 ...
7752 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7753 (grub_guess_root_device): Update callers.
7754 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7755
7756 * util/raid.c (grub_util_getdiskname): Remove.
7757 (grub_util_raid_getmembers): Use grub_find_device rather than
7758 grub_util_getdiskname.
7759
e5bfc130
CW
77602010-09-16 Colin Watson <cjwatson@ubuntu.com>
7761
7762 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7763 needing to be compiled with serial support.
7764 (ls): Indicate that multiple files are accepted.
7765 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7766 indicate that multiple files are accepted.
7767
be458ae2
CW
77682010-09-16 Colin Watson <cjwatson@ubuntu.com>
7769
7770 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7771 libgrub_a_init.c, and util/bash-completion.d/grub.
7772
cb731b5e
VS
77732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * util/grub-setup.c (setup): Fix incorrect container semantics.
7776
35139e8a
VS
77772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7780 misusage.
7781 Reported by: J. Nick Terry
7782
e50fca4a
VS
77832010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 Move embedding routines to partmap sources files.
7786
7787 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7788 [GRUB_UTIL]: New variable.
7789 (gpt_partition_map_iterate): Set part.parent.
7790 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7791 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7792 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7793 New function.
7794 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7795 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7796 (grub_partition_map) [GRUB_UTIL]: New field embed.
7797 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7798 (setup): Use ->embed.
7799
f00478b7
VS
78002010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7803 function.
7804 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7805 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7806
2b94e3ff
YB
78072010-09-15 Yves Blusseau <blusseau@zetam.org>
7808
7809 Add function to get completions from usage.
7810
7811 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7812 completions from usage. Use LC_ALL=C to get options properly.
7813
2e04a006
VS
78142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 * grub-core/gnulib/basename-lgpl.c: Imported.
7817 * grub-core/gnulib/basename.c: Likewise.
7818 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7819 * grub-core/gnulib/dirname.c: Likewise.
7820 * grub-core/gnulib/dirname.h: Likewise.
7821 * grub-core/gnulib/stripslash.c: Likewise.
7822
5dcdf93a
VS
78232010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7824
7825 * grub-core/gnulib/error.c: Resynced.
7826 * grub-core/gnulib/getopt.c: Likewise.
7827 * grub-core/gnulib/getopt_int.h: Likewise.
7828 * grub-core/gnulib/regex.h: Likewise.
7829 * grub-core/gnulib/regex_internal.c: Likewise.
7830 * grub-core/gnulib/regex_internal.h: Likewise.
7831
014f47b7
SJ
78322010-09-15 Szymon Janc <szymon@janc.net.pl>
7833
7834 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7835 CRC calculations and validity checks.
7836 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7837 calculations.
7838
dd521a4a
SJ
78392010-09-15 Szymon Janc <szymon@janc.net.pl>
7840
7841 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7842
79c4eeb9
VS
78432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7844
7845 Fix incorrect echo options handling.
7846 Reported by: Yves Blusseau.
7847
7848 * include/grub/command.h (grub_command_flags_t): New flags
7849 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7850 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7851 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7852
ed80f7d5
VS
78532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7856 users updated.
7857 (GRUB_COMMAND_FLAG_MENU): Likewise.
7858 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7859 (GRUB_COMMAND_FLAG_TITLE): Removed.
7860 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7861 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7862 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7863 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7864 (grub_command_flags_t): New enum. All users updated.
7865
5fe7620a
SG
78662010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7867
7868 Fix solaris compilation.
7869
7870 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7871 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7872 (grub-emu-list): Likewise.
7873
545b752f
VS
78742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7875
7876 Remove deprecated root command.
7877
7878 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7879 updated.
7880
6c1a338c
VS
78812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * util/i386/pc/grub-setup.c: Merge this ...
7884 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7885 * util/grub-setup.c: ... into this.
7886 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7887 New struct.
7888
78892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7892 possible.
7893
d2ea4551
VS
78942010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7895
7896 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7897 allocate p.
7898
3c3b5040
VS
78992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7902 explicit root argument to set to prevent UUID to be interpreted as
7903 argument to set.
7904
b71c3fae
VS
79052010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7906
7907 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7908
275433e6
VS
79092010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 Don't export grub_gate_a20.
7912
7913 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7914 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7915 to ...
7916 (grub_gate_a20): ... this. All users updated.
7917 * include/grub/i386/pc/init.h: Removed. All users updated.
7918
a5dbb1f1
VS
79192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7920
7921 Create euro.pf2 which supports most European languages.
7922
7923 * Makefile.am (grubdata_DATA): Add euro.pf2.
7924 (euro.pf2): New target.
7925 (CLEANFILES): Add euro.pf2.
7926
62a747cb
VS
79272010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * configure.ac: Disable emu-usb by default to prevent inadvertent
7930 device takeover.
7931
608e43b1
VS
79322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 Disable usbserial on grub-emu since our libusb code isn't good enough
7935 yet.
7936
7937 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7938 (usbserial_pl2303): Likewise.
7939 (usbserial_ftdi): Likewise.
7940
94564f81
VS
79412010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * include/grub/disk.h (grub_disk): Remove has_partitions.
7944 All users updated.
7945 * disk/loopback.c (grub_loopback): Remove has_partitions.
7946 All users updated.
7947 (options): Remove partitions. All users updated.
7948 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7949 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7950 actual partition table is found.
7951
3352800b
VS
79522010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7953
7954 Remove readability checks (too many false negatives).
7955
7956 * util/grub-install.in: Remove readability checks.
7957 * util/grub-mkconfig.in: Likewise.
7958 * util/grub.d/10_hurd.in: Likewise.
7959 * util/grub.d/10_kfreebsd.in: Likewise.
7960 * util/grub.d/10_linux.in: Likewise.
7961 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7962 way.
7963
2419f17a
VS
79642010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 Enable acpi shutdown on all ACPI platforms.
7967
7968 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7969 on coreboo, multiboot and EFI.
7970 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7971 (grub_acpi_halt): Likewise.
7972 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7973 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7974 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7975 * grub-core/lib/i386/halt.c (grub_halt)
7976 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7977
0575c7c3
VS
79782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7981 context.
7982
54ac3cd1
VS
79832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7986 * grub-core/video/efi_uga.c: Likewise.
7987
b2a30ac5
VS
79882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 Filter devaliases and never open same device twice.
7991
7992 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7993 (last_ihandle): Likewise.
7994 (ofdisk_hash_ent): New member shortest.
7995 (ofdisk_hash_add): Add canonical path too.
7996 (scan): New function.
7997 (grub_ofdisk_iterate): Iterate over hashed entries.
7998 (compute_dev_path): Don't add :0.
7999 (grub_ofdisk_open): Don't really open the disk.
8000 (grub_ofdisk_close): Avoid closing unrelated disk.
8001 (grub_ofdisk_read): Implement reopen logic.
8002 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8003 New function.
8004 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8005 New proto.
8006
fb53b340
VS
80072010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 Fix sparc64.
8010
8011 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
8012 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
8013 right address. Add sparc64_ieee1275_ldflags.
8014 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
8015 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
8016 to grub_host_to_target_addr
8017 (load_image): Likewise.
8018
f452b040
VS
80192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8020
8021 * grub-core/normal/completion.c (complete_file): Handle device
8022 containing slash.
8023 Fix based on patch by Doug Nazar.
8024
9b5b2541
VS
80252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8026
8027 grub-mknetdir script.
8028
8029 * Makefile.util.def (grub-mknetdir): New module.
8030 * tests/util/grub-shell.in: Support boot=net
8031 * util/grub-mknetdir.in: New file.
8032
9d2be652
VS
80332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 videoinfo on non-vbe.
8036
8037 * grub-core/Makefile.core.def (vbeinfo): Removed.
8038 (vbetest): Removed.
8039 (videoinfo): New module.
8040 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
8041 * grub-core/commands/i386/pc/vbetest.c: Removed.
8042 * grub-core/commands/videoinfo.c: New file.
8043 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
8044 specification.
8045 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
8046 as vbetest.
8047 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
8048 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
8049 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
8050 mode_number. New parameter mode. All users updated.
8051 (grub_video_gop_iterate): New function.
8052 (grub_video_efi_gop): New member iterate.
8053 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
8054 (grub_vbe_set_video_mode): Remove setting useless fields.
8055 (vbe2videoinfo): New function.
8056 (grub_video_vbe_iterate): Likewise.
8057 (grub_video_vbe_setup): Use vbe2videoinfo.
8058 (grub_video_vbe_print_adapter_specific_info): New function.
8059 (grub_video_vbe_adapter): New fields iterate and
8060 print_adapter_specific_info.
8061 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
8062 All users updated.
8063 (grub_video_mode_info): New field mode_number.
8064 (grub_video_adapter): New fields iterate and
8065 print_adapter_specific_info.
8066
179503f5
TG
80672010-09-13 Tristan Gingold <gingold@free.fr>
80682010-09-13 Robert Millan <rmh.grub@aybabtu.com>
80692010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/commands/efi/lsefisystab.c: New file.
8072 * grub-core/commands/efi/lssal.c: Likewise.
8073 * grub-core/Makefile.core.def (lsacpi): New module.
8074 (lsefisystab): Likewise.
8075 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
8076 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
8077 (grub_efi_sal_system_table): New struct.
8078 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
8079 (grub_efi_sal_system_table_memory_descriptor): Likewise.
8080 (grub_efi_sal_system_table_platform_features): Likewise.
8081 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
8082 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
8083 (grub_efi_sal_system_table_ap_wakeup): Likewise.
8084 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
8085
cf9827de
VS
80862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 Support explicit user claim that a device is BIOS-visible.
8089
8090 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
8091 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
8092 * grub-core/kern/emu/hostdisk.c
8093 (convert_system_partition_to_system_disk): Support mdX.
8094 (find_system_device): New parameter add. All users updated.
8095 (grub_util_biosdisk_is_present): New function.
8096 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
8097 proto.
8098
53f0eb1f
VS
80992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 Search hints support.
8102
8103 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
8104 All users updated.
8105
b23ffd70
YB
81062010-09-13 Yves Blusseau <blusseau@zetam.org>
8107
8108 Bash completion script for util commands
8109
8110 * Makefile.am: Add util/bash-completion.d directory
8111 * configure.ac: Likewise.
8112 * util/bash-completion.d/Makefile.am: New file.
8113 * util/bash-completion.d/grub-completion.bash.in: Likewise.
8114
d547dc28
VS
81152010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
8118 (print_backlog): set backlog_ucs4 and backlog_glyphs.
8119 Reported by: Yves Blusseau.
8120
2fc8ccb9
VS
81212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
8124 partition size and offset.
8125
d8a84076
VS
81262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
8129
84fb3b3d
VS
81302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
8133
768ec2e2
VS
81342010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
8137 (grub_xvasprintf): Likewise.
8138
4870900f
VS
81392010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
8142
faca6bec
VS
81432010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
8146 args ending with NULL.
8147
81482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
8149
8150 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
8151 pointer.
8152
3c70f225
SJ
81532010-09-11 Szymon Janc <szymon@janc.net.pl>
8154
8155 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
8156
4df7996d
VS
81572010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8158
8159 Shutdown using ACPI.
8160
8161 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
8162 * grub-core/commands/acpihalt.c: New file.
8163 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
8164 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
8165 (grub_acpi_halt): New proto.
8166 (GRUB_ACPI_SLP_EN): New const.
8167 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
8168 (GRUB_ACPI_OPCODE_*): New enum.
8169 (GRUB_ACPI_EXTOPCODE_*): Likewise.
8170
126b4c32
TG
81712010-09-11 Tristan Gingold <gingold@free.fr>
81722010-09-11 Robert Millan <rmh.grub@aybabtu.com>
81732010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * commands/lsacpi.c: New file.
8176 * grub-core/Makefile.core.def (lsacpi): New module.
8177 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
8178 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
8179 (grub_acpi_madt_entry_header): New struct.
8180 (grub_acpi_madt): Likewise.
8181 (grub_acpi_madt_entry_interrupt_override): Likewise.
8182 (grub_acpi_madt_entry_sapic): Likewise.
8183 (grub_acpi_madt_entry_lsapic): Likewise.
8184 (grub_acpi_madt_entry_platform_int_source): Likewise.
8185 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
8186 (PRIuGRUB_UINT32_T): Likewise.
8187 (PRIxGRUB_UINT64_T): Likewise.
8188
1aa4fe88
VS
81892010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Implement loading palette on ieee1275_fb.
8192
8193 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
8194 (have_setcolors): Likewise.
8195 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
8196 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
8197 (grub_video_ieee1275_set_palette): Implement.
8198
25761e13
VS
81992010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
82002010-09-11 Colin Watson <cjwatson@ubuntu.com>
8201
8202 * util/grub-install.in (grub_partition): New variable.
8203 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
8204 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
8205 Fixes a bug reported by Yves Blusseau.
8206
050abaea
VS
82072010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8208
8209 Fix emu on mipsel.
8210
8211 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
8212 =grub_cpu_flush_cache on all mips and not only yeeloong.
8213 * configure.ac (COND_mips): New conditional.
8214 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
8215 platforms.
8216 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
8217 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
8218 [GRUB_LINKER_HAVE_INIT]: New function.
8219 (grub_emu_post_init): Likewise.
8220 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
8221 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
8222 * include/grub/cache.h (_mips): Include mips/cache.h.
8223 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
8224 LVM and RAID prototypes.
8225 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
8226 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
8227 function.
8228
5ed7d816
CW
82292010-09-10 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * util/grub-install.in: Don't try to verify core.img until after
8232 running grub-mkimage to create it.
8233
90367e04
RM
82342010-09-10 Robert Millan <rmh@gnu.org>
8235
8236 * util/grub.d/10_hurd.in: Add misc readability checks.
8237 * util/grub.d/10_kfreebsd.in: Likewise.
8238 * util/grub.d/10_linux.in: Likewise.
8239
c452fa66
CW
82402010-09-10 Colin Watson <cjwatson@ubuntu.com>
8241
8242 * util/grub-install.in: ${imgext} won't be defined here until the
8243 install branch is merged. For the meantime, only verify core.img on
8244 i386-pc and sparc64-ieee1275 platforms.
8245
c38fe9f4
RM
82462010-09-10 Robert Millan <rmh@gnu.org>
8247
8248 Solaris support in grub_find_zpool_from_dir(). Thanks
8249 Seth Goldberg for referring to getextmntent() facility.
8250
8251 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
8252 `sys/mkdev.h'.
8253 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
8254 `<sys/mnttab.h>'.
8255 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
8256 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
8257 method for finding zpool name.
8258
905f7773
CW
82592010-09-10 Colin Watson <cjwatson@ubuntu.com>
8260
8261 grub-fstest needs the host and hostfs modules while other utilities
8262 actively require those modules to be absent, so grub-fstest needs
8263 its own initialisation and finalisation code.
8264
8265 * Makefile.am (grub_fstest.pp): New target.
8266 (grub_fstest_init.lst): Likewise.
8267 (grub_fstest_init.c): Likewise.
8268 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
8269
fb90b546
RM
82702010-09-10 Robert Millan <rmh@gnu.org>
8271
8272 * configure.ac: Check for `struct statfs.f_fstypename' and
8273 `struct statfs.f_mntfromname'.
8274
8275 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
8276 kFreeBSD-specific code.
8277
66d4bea5
RM
82782010-09-10 Robert Millan <rmh@gnu.org>
8279
8280 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
8281 on ZFS. Now non-main filesystems are supported as / too.
8282
b6a690ee
CW
82832010-09-09 Colin Watson <cjwatson@ubuntu.com>
8284
8285 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
8286 and grub-core/disk/host.c to ...
8287 (grub-fstest): ... here. Having the host disk implementation
8288 present confuses grub-probe and other utility programs.
8289
8290 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
8291 when writing to a file, not when writing to stdout.
8292
8901b00c 82932010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
8294
8295 * tests/partmap_test.in: New test for partitions.
8296 * Makefile.util.def: Rules for new test.
8297
7bf45fdd
RM
82982010-09-09 Robert Millan <rmh@gnu.org>
8299
8300 * util/grub-probe.c (probe): Fix a pair of unhandled error
8301 conditions.
8302
4dfbc574
RM
83032010-09-09 Robert Millan <rmh@gnu.org>
8304
8305 Basic Btrfs support (detection and UUID).
8306
8307 * grub-core/fs/btrfs.c: New file.
8308 * Makefile.util.def (library): Register btrfs.c.
8309 * grub-core/Makefile.core.def: Likewise.
8310
6b8e78ae
RM
83112010-09-08 Robert Millan <rmh@gnu.org>
8312
8313 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
8314 with (optional) parameters to specify device and relative path.
8315 * util/grub-install.in: Use is_path_readable_by_grub() to
8316 verify readability of a few critical files.
8317 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
8318 verify readability of grub.cfg.new.
8319
27f21a8b
VS
83202010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 Split minix.mod into minix.mod and minix2.mod.
8323
8324 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
8325 * grub-core/Makefile.core.def (minix2): New module.
8326 * grub-core/fs/minix.c: Use definitions instead of runtime version
8327 checking.
8328 * grub-core/fs/minix2.c: New file.
8329
c0e53ea5
YB
83302010-09-08 Yves Blusseau <blusseau@zetam.org>
8331
8332 Add new --boot-directory option to replace --root-directory
8333
8334 * util/grub-install.in: Add new --boot-directory option
8335 * util/grub-reboot.in: Likewise.
8336 * util/grub-set-default.in: Likewise.
8337
b9fe6ea2
YB
83382010-09-08 Yves Blusseau <blusseau@zetam.org>
8339
8340 * util/grub-mkconfig.in: Use new variable.
8341
d87aedff
YB
83422010-09-08 Yves Blusseau <blusseau@zetam.org>
8343
8344 * configure.ac: Define some useful variables.
8345
e55e8495
VS
83462010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8349 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
8350 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
8351 Use terminfo and don't use cursor-on/cursor-off unless it's known
8352 to work.
8353 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
8354 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
8355
6fa6d675
CW
83562010-09-08 Colin Watson <cjwatson@ubuntu.com>
8357
8358 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
8359 starts with "(,", fill the drive containing the loaded image in
8360 between those two characters, but expect that a full partition
8361 specification including partition map names will follow.
8362
92f2aef0
RM
83632010-09-08 Robert Millan <rmh@gnu.org>
8364
8365 * configure.ac: Remove `--enable-grub-fstest' option.
8366 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
8367
8368 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
8369 `grub-fstest' instead of `grub-probe' for readability verification.
8370 * util/grub-probe.c (probe): Remove readability verification kludge.
8371
99fd620d
RM
83722010-09-08 Robert Millan <rmh@gnu.org>
8373
8374 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
8375 initializing `GRUB_FS'.
8376
058e30ac 83772010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
8378
8379 Not command (!) support to GRUB script.
8380
8381 * tests/grub_script_not.in: New test.
8382 * Makefile.util.def: Rules for new test.
8383
8384 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8385 ! command as a special case.
8386 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
8387
b61d05ed 83882010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8389
058e30ac 8390 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
8391 grub_free.
b61d05ed 8392
4d69c786 83932010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8394
8395 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
8396
aa3119c4 83972010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8398
8399 * docs/grub.texi (Shell-like scripting): Documentation for break,
8400 continue, shift and return commands.
8401
db0f7e3d
VS
84022010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Rename CD-ROM to cd on BIOS.
8405
8406 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
8407 "cd".
8408 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
8409
88b87c93
VS
84102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8411
8412 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
8413 * util/grub-probe.c (main): Likewise.
8414 * util/i386/pc/grub-setup.c (main): Likewise.
8415 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8416 Reported and debugged by: alexxy
8417
294f324d
VS
84182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
8421 diagnostic info.
8422
d7ee3441
JS
84232010-09-05 Jo Shields <directhex@apebox.org>
8424
8425 * util/grub.d/30_os-prober.in: Add missing classes.
8426
d7e06c1f
VS
84272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * docs/grub.texi (Theme file format): Document new position format.
8430
fc157e53
VS
84312010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
8434 a table. Use @code instead of @verbatim.
8435
506e9a1c
CB
84362010-09-05 Colin D Bennett <colin@gibibit.com>
8437
8438 Gfxmenu documentation.
8439
8440 * docs/grub.texi (Theme file format): New chapter.
8441
f0aff67c
SJ
84422010-09-05 Szymon Janc <szymon@janc.net.pl>
8443
8444 * grub-core/Makefile.core.def (xzio): New module.
8445 * grub-core/io/xzio.c: New file.
8446 * grub-core/lib/xzembed/xz.h: New file (from xembed).
8447 * grub-core/lib/xzembed/xz_config.h: Likewise.
8448 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
8449 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
8450 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
8451 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
8452 * grub-core/lib/xzembed/xz_private.h: Likewise.
8453 * grub-core/lib/xzembed/xz_stream.h: Likewise.
8454 * include/grub/file.h (grub_file_filter_id): New compression filter
8455 GRUB_FILE_FILTER_XZIO.
8456
82a85062
VS
84572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
8460 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
8461 size.
8462
3579415d
VS
84632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
8466 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
8467
5124ae6d
VS
84682010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 Uncompressed checksum support.
8471
8472 * grub-core/commands/hashsum.c (options): Add option --uncompress.
8473 (check_list): New parameter uncompress.
8474 (grub_cmd_hashsum): Handle --uncompress.
8475
9aadb3d1
VS
84762010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Reintroduce testload.
8479
8480 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
8481 from here ...
8482 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
8483 (GRUB_MOD_INIT): New function.
8484 (GRUB_MOD_FINI): Likewise.
8485 * grub-core/Makefile.core.def (testload): New module.
8486
a17792c3
SJ
84872010-09-05 Szymon Janc <szymon@janc.net.pl>
8488
8489 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
8490 (uint8_t): New type.
8491 (uint16_t): Likewise.
8492 (uint32_t): Likewise.
8493 (uint64_t): Likewise.
8494
b81e40a3
SJ
84952010-09-05 Szymon Janc <szymon@janc.net.pl>
8496
8497 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
8498
fc2ef117
VS
84992010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
8502 Made static.
8503 (grub_gzfile_open): Removed. All users updated.
8504 (GRUB_MOD_INIT): New function.
8505 (GRUB_MOD_FINI): Likewise.
8506 * grub-core/kern/file.c (grub_file_filters_all): New variable.
8507 (grub_file_filters_enabled): Likewise.
8508 (grub_file_open): Handle filters.
8509 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
8510 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
8511 * include/grub/file.h (grub_file_filter_id_t): New type.
8512 (grub_file_filter_t): Likewise.
8513 (grub_file_filters_all): New extern variable.
8514 (grub_file_filters_enabled): Likewise.
8515 (grub_file_filter_register): New inline function.
8516 (grub_file_filter_unregister): Likewise.
8517 (grub_file_filter_disable): Likewise.
8518 (grub_file_filter_disable_compression): Likewise.
8519 * include/grub/gzio.h: Removed.
8520
35ee15e0
BC
85212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8522
8523 Filename expansion support for wildcards in GRUB script.
8524
8525 * tests/grub_script_expansion.in: New test.
8526 * Makefile.util.def: Rule for new test.
8527
8528 * grub-core/commands/wildcard.c: New file, implements filename
8529 expansion support for GRUB script.
8530 * grub-core/Makefile.core.def: Rule update for regexp.mod.
8531 * grub-core/script/argv.c: Cosmetic changes.
8532 * grub-core/script/execute.c (grub_script_arglist_to_argv):
8533 Refactored to perform wildcard expansion on arguments.
8534 * include/grub/script_sh.h (grub_script_wildcard_translator): New
8535 struct.
8536
8537 * tests/util/grub-shell.in: Fix quoting for read input.
8538
5f0c4aca
BC
85392010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8540
8541 Support for updating environment variables with matched substrings
8542 of regexp.
8543
8544 * tests/grub_cmd_regexp.in: New test.
8545 * Makefile.util.def: Rule for new test.
8546
8547 * grub-core/commands/regexp.c: New option -s to update environment
8548 variables with regexp matches.
8549
3759a35f
SJ
85502010-09-04 Szymon Janc <szymon@janc.net.pl>
8551
8552 * include/grub/file.h (grub_file): New member not_easly_seekable.
8553 (grub_file_seekable): New inline function.
8554 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
8555 easily seekable.
8556 (grub_gzio_open): Set not_easly_seekable.
8557 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
8558 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
8559
ed8c6dec
BC
85602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8561
8562 Support for options to appear multiple times on cmdline.
8563
8564 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
8565 * grub-core/commands/extcmd.c: Support for repeatable option.
8566 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
8567 repeatable option support.
8568
8569 Refactor menuentry into a regular command.
8570
8571 * grub-core/commands/menuentry.c: New file, menuentry command
8572 implementation.
8573 * grub-core/Makefile.core.def: Rule update for normal.mod.
8574 * grub-core/normal/main.c: Moved menuentry creation to
8575 grub-core/commands/menuentry.c.
8576 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
8577 (grub_menu_execute_entry_real): Removed.
8578 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
8579 function.
8580 (grub_script_execute_menuentry): Removed.
8581 * grub-core/script/parser.y (menuentry): Removed.
8582 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
8583 * grub-core/script/yylex.l (menuentry): Removed.
8584 * include/grub/menu.h (grub_menu_init): New prototype.
8585 (grub_menu_fini): New prototype.
8586 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
8587 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
8588 (grub_script_execute_sourcecode): New prototype.
8589
dacd0cf0
BC
85902010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8591
8592 "return" command for GRUB script functions.
8593
8594 * tests/grub_script_return.in: New test.
8595 * Makefile.util.def: Rules for new test.
8596
8597 * grub-core/script/execute.c (grub_script_return): New function.
8598 * grub-core/script/main.c: Register/unregister return commaond.
8599 * include/grub/script_sh.h (grub_script_return): New prototype.
8600
52e72f9d
BC
86012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8602
8603 "setparams" command to update positional parameters.
8604
8605 * tests/grub_script_setparams.in: New test.
8606 * Makefile.util.def: Rules for new test.
8607
8608 * grub-core/script/argv.c (grub_script_argv_make): New function.
8609 * grub-core/script/execute.c (replace_scope): New function.
8610 (grub_script_setparams): New function.
8611 * grub-core/script/lexer.c: Remove unused variables.
8612 * grub-core/script/main.c: Register/unregister setparams command.
8613 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
8614 (grub_script_setparams): New prototype.
8615
25b60c91
BC
86162010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8617
8618 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
8619 grub_free order.
8620
37e7bf68
BC
86212010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8622
8623 Support for passing block of commands as an argument to extcmds.
8624
8625 * Makefile.util.def: Rules for new test.
8626 * tests/grub_script_blockarg.in: New test.
8627 * grub-core/tests/test_blockarg.c: New file, block argument
8628 command used in the test.
8629
8630 * include/grub/extcmd.h (grub_extcmd_context): New struct.
8631 (grub_register_extcmd_prio): New function prototype.
8632 (grub_extcmd_dispatcher): New function prototype.
8633 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
8634 type.
8635 * include/grub/script_sh.h (struct grub_script): New members
8636 `children', `next_siblings' and `refcnt' for block arguments and
8637 reference counting.
8638 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
8639 (grub_script_arg): New member `script' for block argument.
8640 (grub_script_argv): New member `script' for block argument.
8641 (grub_parser_param): New member `scripts' for block argument.
8642 (grub_script_mem_free): New extern function prototype.
8643 (grub_script_ref): New function prototype.
8644 (grub_script_unref): New function prototype.
8645
8646 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
8647 extcmd form to support block arguments.
8648 * grub-core/script/argv.c: Block arguments support.
8649 * grub-core/script/execute.c: Likewise.
8650 * grub-core/script/lexer.c: Likewise.
8651 * grub-core/script/main.c: Likewise.
8652 * grub-core/script/script.c: Likewise.
8653 * grub-core/script/parser.y: Likewise. New `block' and `block0'
8654 non-terminals.
8655
8656 * grub-core/commands/acpi.c: Update extcmd implementations with
8657 grub_extcmd_context_t.
8658 * grub-core/commands/cat.c: Likewise.
8659 * grub-core/commands/echo.c: Likewise.
8660 * grub-core/commands/extcmd.c: Likewise.
8661 * grub-core/commands/hashsum.c: Likewise.
8662 * grub-core/commands/hdparm.c: Likewise.
8663 * grub-core/commands/help.c: Likewise.
8664 * grub-core/commands/hexdump.c: Likewise.
8665 * grub-core/commands/i386/cpuid.c: Likewise.
8666 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8667 * grub-core/commands/i386/pc/halt.c: Likewise.
8668 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8669 * grub-core/commands/iorw.c: Likewise.
8670 * grub-core/commands/keystatus.c: Likewise.
8671 * grub-core/commands/loadenv.c: Likewise.
8672 * grub-core/commands/ls.c: Likewise.
8673 * grub-core/commands/lspci.c: Likewise.
8674 * grub-core/commands/memrw.c: Likewise.
8675 * grub-core/commands/probe.c: Likewise.
8676 * grub-core/commands/search_wrap.c: Likewise.
8677 * grub-core/commands/setpci.c: Likewise.
8678 * grub-core/commands/sleep.c: Likewise.
8679 * grub-core/disk/loopback.c: Likewise.
8680 * grub-core/hello/hello.c: Likewise.
8681 * grub-core/loader/i386/bsd.c: Likewise.
8682 * grub-core/loader/xnu.c: Likewise.
8683 * grub-core/term/gfxterm.c: Likewise.
8684 * grub-core/term/serial.c: Likewise.
8685 * grub-core/tests/lib/functional_test.c: Likewise.
8686
888d1500
BC
86872010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8688
8689 Multi-line quoted strings support.
8690
8691 * grub-core/script/lexer.c (append_newline): Removed.
8692 (grub_script_lexer_yywrap): Refactored.
8693 (grub_script_lexer_init): Refactored.
8694 * grub-core/script/yylex.l (yywrap): New function.
8695 (grub_lexer_resplit): New function.
8696 (grub_lexer_unput): New function.
8697 * include/grub/script_sh.h (grub_lexer_param): New members, unput
8698 and resplit.
8699 * tests/grub_script_echo1.in: Added few more testcases.
8700
dda060dd
VS
87012010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 * grub-core/kern/misc.c: Don't add abort alias in utils.
8704 Reported by: echoline.
8705
6556eba9
BC
87062010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8707
8708 Add missing files into "make dist" tarball for other platforms.
8709
8710 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8711 * conf/Makefile.common (dist_noinst_DATA): New variable.
8712 * conf/Makefile.extra-dist: Added missing make dist files.
8713 * grub-core/Makefile.core.def: Likewise.
8714
c8e7bf5f
VS
87152010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 Compress grub_prefix.
8718
8719 * grub-core/boot/i386/pc/lnxboot.S: Use
8720 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8721 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8722 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8723 GRUB_MACHINE_PREFIX_END. All users updated.
8724 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8725 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8726 + 0x40.
8727 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8728 * util/grub-mkimage.c (image_target_desc): Change data_end to
8729 prefix_end. All users updated.
8730
a7c00cdb
VS
87312010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8734 value.
8735 (grub_openbsd_boot): Likewise.
8736 (grub_netbsd_boot): Likewise.
8737 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8738 (grub_xnu_boot): Likewise.
8739
9f915872
VS
87402010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8741
8742 * configure.ac: Clean LIBS variable after tests.
8743
efa1bee7
CW
87442010-09-02 Colin Watson <cjwatson@ubuntu.com>
8745
8746 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8747
61d720e5
VS
87482010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8751 echo if libdevmapper will be used.
8752
ef8e0ec8
IT
87532010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8754
8755 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8756 constant for the same file.
8757
03e261d8
VS
87582010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8761
c2a4eba6
CW
87622010-09-02 Colin Watson <cjwatson@ubuntu.com>
8763
8764 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8765 grub-core/*.pp.
8766
9056cbf3
CW
87672010-09-02 Colin Watson <cjwatson@ubuntu.com>
8768
8769 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8770 required by the boot protocol.
8771
8772 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8773 ebp and edi members.
8774 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8775 state.ebp and state.edi.
8776 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8777 %ebp and %edi according to grub_relocator32_ebp and
8778 grub_relocator32_edi respectively.
8779 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8780 and state.edi.
8781
529cc99a
VS
87822010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 Add i386-pc-pxe image target.
8785
8786 * util/grub-mkimage.c (image_target_desc): New enum value
8787 IMAGE_I386_PC_PXE.
8788 (image_targets): New target i386-pc-pxe.
8789 (generate_image): Handle i386-pc-pxe image.
8790
9a093920
VS
87912010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8792
8793 Fix grub_pxe_scan.
8794
8795 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8796 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8797 All users updated.
8798 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8799 (grub_pxe_pxenv): Correct type.
8800
f9cefc4e
CW
88012010-09-01 Colin Watson <cjwatson@ubuntu.com>
8802
8803 * NEWS: Document most of the important changes since 1.98.
8804
4066f57f
CW
88052010-09-01 Colin Watson <cjwatson@ubuntu.com>
8806
8807 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8808 generated manual page) a little.
8809
da2891f9
CW
88102010-09-01 Colin Watson <cjwatson@ubuntu.com>
8811
8812 * docs/grub.texi: Add myself as an author.
8813
ad717fae
VS
88142010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * Makefile.util.def (libgrub.a): Add missing sunpc.
8817 Reported by: Seth Goldberg.
8818
eefe8abd
VS
88192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8820
8821 Interrupt wrapping and code simplifications.
8822
9494ef9a
VS
8823 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8824 x86_noieee1275 which are functionaly equivalent in this case.
8825 (grub-install): Make source on each platform explicit. Enable on
8826 all noemu.
8827 * gentpl.py (x86_efi_pc): Removed group.
8828 (x86_noefi): Likewise.
8829 (i386_noefi): Likewise.
8830 (x86_noieee1275): Likewise.
8831 (i386_noieee1275): Likewise.
8832 (i386_noefi_noieee1275): Likewise.
8833 (i386_pc_qemu_coreboot): Likewise.
8834 (i386_coreboot_multiboot): Likewise.
8835 (i386_pc_coreboot_multiboot_qemu): Likewise.
8836 (x86_noefi_mips): Likewise.
8837 (noieee1275): Likewise.
8838 (ieee1275_mips): Likewise.
8839 (noemu_noieee1275): Likewise.
8840 (cmos): New group.
8841 (usb): Likewise.
8842 (videoinkernel): Likewise.
8843 (videomodules): Likewise.
eefe8abd 8844 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8845 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8846 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8847 include/grub/loader.h, include/grub/msdos_partition.h,
8848 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8849 include/grub/machine/console.h, include/grub/machine/vga.h,
8850 include/grub/machine/vbe.h, include/grub/machine/init.h,
8851 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8852 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8853 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8854 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8855 * grub-core/Makefile.core.def (kernel): Explicit the source for
8856 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8857 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8858 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8859 Use videoinkernel tag.
8860 (usb): Enable on all usb.
8861 (usbserial_common): Likewise.
8862 (usbserial_pl2303): Likewise.
8863 (usbserial_ftdi): Likewise.
8864 (uhci): Enable on all x86.
8865 (ohci): Enable on all pci.
8866 (cmostest): Enable on all CMOS.
8867 (acpi): Include commands/acpi.c on all platforms.
8868 (halt): Add relevant lib/*/halt.c.
8869 (hdparm): Enable on all pci.
8870 (lspci): Likewise.
8871 (usbtest): Enable on all usb.
8872 (ata): Enable on all pci.
8873 (ata_pthru): Likewise.
8874 (usbms): Enable on all usb.
8875 (usb_keyboard): Likewise.
8876 (font): Use tag videomodules.
8877 (bufio): Likewise.
8878 (datetime): Use tag cmos. Enable on all noemu.
8879 (mmap): Use tags common and x86.
8880 (gfxterm): Use tag videomodules.
8881 (bitmap): Likewise.
8882 (bitmap_scale): Likewise.
8883 (video_fb): Likewise.
8884 (video): Likewise.
8885 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8886 adjust padding accordingly. All users updated.
8887 (grub_ohci_transaction): Fix bad format specification.
8888 (GRUB_MOD_INIT): Add asserts for struct size.
8889 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8890 (grub_alloc_td): Likewise.
8891 (grub_free_queue): Likewise.
8892 (grub_uhci_transfer): Likewise.
8893 (grub_uhci_transaction): Fix bad format specification.
8894 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8895 (grub_usb_bulk_readwrite): Likewise.
8896 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8897 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8898 Made static.
8899 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8900 Made static.
8901 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8902 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8903 Transformed into C.
8904 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8905 Moved from here ...
8906 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8907 ... here. Transformed into C. Made static.
8908 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8909 Moved from here ...
8910 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8911 ... here. Transformed into C. Made static.
8912 * grub-core/kern/i386/pc/startup.S
8913 (grub_biosdisk_check_int13_extensions): Moved from here ...
8914 * grub-core/disk/i386/pc/biosdisk.c
8915 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8916 Made static.
8917 * grub-core/kern/i386/pc/startup.S
8918 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8919 * grub-core/disk/i386/pc/biosdisk.c
8920 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8921 Transformed into C. Made static.
8922 * grub-core/kern/i386/pc/startup.S
8923 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8924 * grub-core/disk/i386/pc/biosdisk.c
8925 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8926 Transformed into C. Made static.
8927 * grub-core/kern/i386/pc/startup.S
8928 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8929 * grub-core/disk/i386/pc/biosdisk.c
8930 (grub_biosdisk_get_diskinfo_standard): ... here.
8931 Transformed into C. Made static.
8932 * grub-core/kern/i386/pc/startup.S
8933 (grub_biosdisk_get_num_floppies): Moved from here ...
8934 * grub-core/disk/i386/pc/biosdisk.c
8935 (grub_biosdisk_get_num_floppies): ... here.
8936 Transformed into C. Made static.
8937 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8938 New function.
8939 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8940 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8941 Transformed into C. Made static.
8942 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8943 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8944 Transformed into C. Made static.
8945 * grub-core/kern/i386/ieee1275/init.c: Removed.
8946 * grub-core/kern/i386/misc.S: Likewise.
8947 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8948 Splitted from here ...
8949 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8950 Transformed into C. Made static. All users updated.
8951 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8952 Transformed into C. Made static. All users updated.
8953 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8954 Moved from here...
8955 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8956 Transformed into C. Made static. All users updated.
8957 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8958 Moved from here...
8959 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8960 Transformed into C. Made static. All users updated.
8961 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8962 Removed (replaced by C version).
8963 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8964 Moved from here...
8965 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8966 Transformed into C. Made static.
8967 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8968 Moved from here...
8969 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8970 ... here. Transformed into C.
8971 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8972 Moved from here...
8973 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8974 ... here. Transformed into C.
8975 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8976 Moved from here...
8977 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8978 ... here. Transformed into C. Made static.
8979 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8980 Moved from here...
8981 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8982 ... here. Transformed into C.
21ed554b
VS
8983 * grub-core/kern/i386/pc/startup.S
8984 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8985 * grub-core/video/i386/pc/vbe.c
8986 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8987 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8988 Moved from here...
8989 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8990 ... here. Transformed into C.
8991 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8992 Moved from here...
8993 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8994 ... here. Transformed into C.
8995 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8996 Moved from here...
8997 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8998 ... here. Transformed into C.
8999 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9000 Moved from here...
9001 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9002 ... here. Transformed into C.
9003 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9004 Moved from here...
9005 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9006 ... here. Transformed into C. Made static.
9007 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9008 Moved from here...
9009 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9010 ... here. Transformed into C. Made static.
9011 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
9012 Moved from here...
9013 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
9014 ... here. Transformed into C. Made static.
9015 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
9016 pxe_rm_entry as third argument.
9017 (grub_bios_interrupt): New function.
9018 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
9019 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
9020 of calling grub_stop.
9021 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
9022 * grub-core/lib/efi/halt.c (grub_halt): ...here.
9023 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
9024 * grub-core/lib/emu/halt.c (grub_halt): ... here.
9025 * grub-core/lib/i386/halt.c: Moved from here ...
9026 * grub-core/lib/i386/halt.c: ... here.
9027 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
9028 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
9029 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
9030 grub_stop_floppy.
9031 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
9032 * include/grub/i386/coreboot/init.h: Removed.
9033 * include/grub/i386/multiboot/init.h: Likewise.
9034 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
9035 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
9036 * include/grub/i386/pc/int.h: New file.
9037 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
9038 (grub_pxe_scan): Removed.
9039 (grub_pxe_call): Update prototype.
9040 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
9041 prototypes.
9042 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
9043 * include/grub/i386/qemu/init.h: Removed.
9044 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
9045 noreturn.
9046 (grub_halt): Likewise.
9047 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
9048 (grub_reboot): Likewise.
9049 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
9050 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
9051 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
9052
215dd471
RM
90532010-08-30 Robert Millan <rmh@gnu.org>
9054
9055 * NEWS: Document addition of ZFS support in `grub-install' and
9056 `grub-mkconfig'.
9057
ebd65b82
BC
90582010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
9059
9060 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
9061 dprintf output.
9062
11721d19
VS
90632010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 Remove leftover embedding of font objects.
9066
9067 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9068 * util/grub-install.in (font): Removed.
9069 * util/grub-mkimage.c (generate_image): Remove font support. All users
9070 updated.
9071
37837d4e
VS
90722010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9073
9074 Remove leftover embedding of font objects.
9075
9076 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9077 * util/grub-install.in (font): Removed.
9078 * util/grub-mkimage.c (generate_image): Remove font support. All users
9079 updated.
9080
b4c1aae0
VS
90812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 9084 Reported by: Ian Turner
b4c1aae0 9085
8920a08d
VS
90862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9087
9088 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
9089 timeout to avoid indefinite boot stalling.
9090
f21db033
VS
90912010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
9094 (grub_env_write_color_highlight): Likewise.
9095
9a9de209
VS
90962010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * grub-core/normal/term.c (print_more): Return to normal and not
9099 to standard state after printing "---MORE---".
9100
3dca01d7
VS
91012010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
9104 Mask out the bit 0x80 since it has other meaning that specifiing color.
9105
0b986c40
VS
91062010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 New relocator. Allows for more kernel support and more straightforward
9109 loader writing.
9110
9111 * Makefile.am (BOOTTARGET): New variable.
9112 (QEMU32): Likewise.
9113 (linux.init.x86_64): New target.
9114 (linux.init.i386): Likewise.
9115 (multiboot.elf): Likewise.
9116 (kfreebsd.elf): Likewise.
9117 (kfreebsd.aout): Likewise.
9118 (pc-chainloader.elf): Likewise.
9119 (pc-chainloader.bin): Likewise.
9120 (ntldr.elf): Likewise.
9121 (ntldr.bin): Likewise.
9122 (multiboot2.elf): Likewise.
9123 (kfreebsd.init.x86_64): Likewise.
9124 (kfreebsd.init.i386): Likewise.
9125 (knetbsd.init.i386): Likewise.
9126 (kopenbsd.init.i386): Likewise.
9127 (knetbsd.init.x86_64): Likewise.
9128 (kopenbsd.init.x86_64): Likewise.
9129 (linux-initramfs.i386): Likewise.
9130 (linux-initramfs.x86_64): Likewise.
9131 (kfreebsd-mfsroot.i386.img): Likewise.
9132 (knetbsd.image.i386): Likewise.
9133 (kopenbsd.image.i386): Likewise.
9134 (kopenbsd.image.x86_64): Likewise.
9135 (knetbsd.miniroot-image.i386.img): Likewise.
9136 (kfreebsd-mfsroot.x86_64.img): Likewise.
9137 (knetbsd.image.x86_64): Likewise.
9138 (knetbsd.miniroot-image.x86_64.img): Likewise.
9139 (kfreebsd-mfsroot.i386.gz): Likewise.
9140 (bootcheck-kfreebsd-i386): Likewise.
9141 (kfreebsd-mfsroot.x86_64.gz): Likewise.
9142 (bootcheck-kfreebsd-x86_64): Likewise.
9143 (knetbsd.miniroot-image.i386.gz): Likewise.
9144 (bootcheck-knetbsd-i386): Likewise.
9145 (bootcheck-kopenbsd-i386): Likewise.
9146 (bootcheck-kopenbsd-x86_64): Likewise.
9147 (knetbsd.miniroot-image.x86_64.gz): Likewise.
9148 (bootcheck-knetbsd-x86_64): Likewise.
9149 (bootcheck-linux-i386): Likewise.
9150 (bootcheck-linux-x86_64): Likewise.
9151 (bootcheck-linux16-i386): Likewise.
9152 (bootcheck-linux16-x86_64): Likewise.
9153 (bootcheck-multiboot): Likewise.
9154 (bootcheck-multiboot2): Likewise.
9155 (bootcheck-kfreebsd-aout): Likewise.
9156 (bootcheck-pc-chainloader): Likewise.
9157 (bootcheck-ntldr): Likewise.
9158 (CLEANFILES): Add new targets.
9159 (BOOTCHECKS): New variable.
9160 (.PHONY): Add bootchecks.
9161 (SUCCESSFUL_BOOT_STRING): New variable.
9162 (BOOTCHECK_TIMEOUT): Likewise.
9163 (bootcheck): New target
9164 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
9165 * configure.ac: Correct efiemu excuse.
9166 * docs/grub.texi (Supported kernels): New chapter.
9167 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
9168 include/grub/mm_private.h. Simplify inclusion of
9169 include/grub/boot.h, include/grub/loader.h
9170 and include/grub/msdos_partition.h
9171 (KERNEL_HEADER_FILES) [i386_coreboot]:
9172 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
9173 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
9174 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
9175 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
9176 include/grub/machine/loader.h.
9177 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
9178 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
9179 extra_dist.
9180 (pci.mod): Enable on i386-multiboot.
9181 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
9182 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
9183 i386-qemu.
9184 (relocator.mod): Rewritten.
9185 (aout.mod): Enable on all x86.
9186 (bsd.mod): Likewise.
9187 (ntldr.mod): New module.
9188 (linux.mod): Use loader/i386/linux.c on all x86.
9189 (xnu.mod): Enable on all x86.
9190 (vga_text.mod): disable on EFI and QEMU.
9191 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
9192 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
9193 * grub-core/efiemu/loadcore.c: Likewise.
9194 * grub-core/efiemu/main.c: Likewise.
9195 (grub_efiemu_exit_boot_services): Removed.
9196 (grub_efiemu_finish_boot_services): Likewise.
9197 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
9198 function.
9199 * grub-core/efiemu/i386/nocfgtables.c: New file.
9200 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
9201 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
9202 (grub_efi_finish_boot_services): Moved from here ...
9203 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
9204 Fille finish memory map and related data.
9205 (finish_mmap_buf): New variable.
9206 (grub_efi_uintn_t finish_mmap_size): Likewise.
9207 (grub_efi_uintn_t finish_key): Likewise.
9208 (grub_efi_uintn_t finish_desc_size): Likewise.
9209 (grub_efi_uint32_t finish_desc_version): Likewise.
9210 (grub_efi_is_finished): Likewise.
9211 (grub_efi_get_memory_map): Use saved memory map if EFI is already
9212 finished.
9213 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
9214 (grub_elf64_phdr_iterate): Likewise.
9215 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
9216 (grub_os_area_size): Likewise.
9217 (grub_machine_init): Don't reserve os area.
9218 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
9219 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9220 * grub-core/kern/i386/loader.S: Removed.
9221 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
9222 (grub_os_area_size): Likewise.
9223 (grub_machine_init): Don't reserve os area.
9224 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9225 Don't call grub_dl_unload_all.
9226 Don't include loader.S.
9227 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
9228 Declare the memory after _end as available.
9229 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 9230 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 9231 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
9232 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
9233 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
9234 * include/grub/mm_private.h (grub_mm_header): ... here.
9235 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
9236 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
9237 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
9238 (grub_mm_region): ..here. Removed addr. Added pre_size.
9239 All users updated.
9240 * grub-core/kern/mm.c (base): Renamed to ...
9241 (grub_mm_base): ... this. Made global.
9242 (grub_real_malloc): Alloc from end of region.
9243 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
9244 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
9245 * grub-core/kern/powerpc/cache_flush.S: ... here.
9246 * grub-core/lib/efi/relocator.c: New file.
9247 * grub-core/lib/i386/relocator.c: Rewritten.
9248 * grub-core/lib/i386/relocator16.S: New file.
9249 * grub-core/lib/i386/relocator32.S: Likewise.
9250 * grub-core/lib/i386/relocator64.S: Likewise.
9251 * grub-core/lib/i386/relocator_asm.S: Rewritten.
9252 * grub-core/lib/i386/relocator_common.S: New file.
9253 * grub-core/lib/ieee1275/relocator.c: Likewise.
9254 * grub-core/lib/mips/relocator.c: Rewritten.
9255 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
9256 stylistic adjustments.
9257 * grub-core/lib/powerpc/relocator.c: New file.
9258 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
9259 * grub-core/lib/relocator.c: Rewritten.
9260 * grub-core/lib/x86_64/relocator_asm.S: New file.
9261 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
9262 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
9263 (bsd_tag): New struct.
9264 (tags): New variable.
9265 (tags_last): Likewise.
9266 (netbsd_module): New struct.
9267 (netbsd_mods): New variable.
9268 (netbsd_mods_last): Likewise.
9269 (openbsd_opts): New parameter "serial".
9270 (OPENBSD_SERIAL_ARG): New definition.
9271 (netbsd_opts): New parameter "serial".
9272 (NETBSD_SERIAL_ARG): New definition.
9273 (grub_freebsd_add_meta): Reorganised into ...
9274 (grub_bsd_add_meta): ...this. All users updated.
9275 (grub_freebsd_add_mmap): Reorganised into ...
9276 (generate_e820_mmap): ...this...
9277 (grub_bsd_add_mmap): ...and this. All users updated.
9278 (grub_freebsd_list_modules): Use tags.
9279 (grub_netbsd_add_meta_module): New function.
9280 (grub_netbsd_list_modules): Likewise.
9281 (grub_freebsd_boot): Use relocator and finish EFI.
9282 (grub_openbsd_boot): Likewise.
9283 (grub_netbsd_setup_video): New function.
9284 (grub_netbsd_add_modules): Likewise.
9285 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
9286 and finish EFI.
9287 (grub_bsd_unload): Unload tags.
9288 (grub_bsd_load_aout): Use relocator.
9289 (grub_bsd_elf32_size_hook): New function.
9290 (grub_bsd_elf32_hook): Use relocator.
9291 (grub_bsd_elf64_size_hook): New function.
9292 (grub_bsd_elf64_hook): Use relocator.
9293 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
9294 (grub_bsd_load): Zero-out openbsd_ramdisk.
9295 (grub_bsd_load): Use relocator.
9296 (grub_cmd_openbsd): Support serial.
9297 (grub_cmd_netbsd): Support modules.
9298 (grub_cmd_freebsd_module): Use relocator.
9299 (grub_netbsd_module_load): New function.
9300 (grub_cmd_netbsd_module): Likewise.
9301 (grub_cmd_openbsd_ramdisk): Likewise.
9302 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
9303 kopenbsd_ramdisk.
9304 (GRUB_MOD_FINI): Unregister new commands.
9305 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
9306 (grub_freebsd_load_elfmodule_obj): Use relocator.
9307 (grub_freebsd_load_elfmodule): Likewise.
9308 (grub_freebsd_load_elf_meta): Likewise.
9309 (grub_netbsd_load_elf_meta): New function.
9310 (grub_openbsd_find_ramdisk): Likewise.
9311 * grub-core/loader/i386/bsd_helper.S: Removed.
9312 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
9313 * grub-core/loader/i386/bsd_trampoline.S: Removed.
9314 * grub-core/loader/i386/efi/linux.c: Likewise.
9315 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
9316 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
9317 (DEFAULT_VIDEO_MODE): Likewise.
9318 (real_mode_target): New variable.
9319 (prot_mode_target): Likewise.
9320 (initrd_mem_target): Likewise.
9321 (relocator): Likewise.
9322 (efi_mmap_buf): Likewise.
9323 (efi_mmap_size): Likewise.
9324 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
9325 (free_pages): Use relocator.
9326 (allocate_pages): Account for efi_mmap and use relocator. Return error.
9327 (grub_linux_setup_video): Return error.
9328 (grub_linux_trampoline_start): Removed.
9329 (grub_linux_trampoline_end): Likewise.
9330 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
9331 andd video parameters depending on firmware.
9332 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
9333 [GRUB_MACHINE_EFI]: Pass EFI parameters.
9334 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
9335 (grub_cmd_initrd): Use relocator.
9336 * grub-core/loader/i386/linux_trampoline.S: Removed.
9337 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
9338 (elf_sec_entsize): Likewise.
9339 (elf_sec_shstrndx): Likewise.
9340 (elf_sections): Likewise.
9341 (grub_multiboot_load): Use relocator.
9342 (grub_multiboot_get_mbi_size): Account for sections.
9343 (grub_multiboot_make_mbi): Use relocator and support sections.
9344 (grub_multiboot_add_elfsyms): New function.
9345 (grub_multiboot_free_mbi): Free sections.
9346 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
9347 (grub_linux_real_target): Likewise.
9348 (grub_linux_real_chunk): Likewise.
9349 (grub_linux16_prot_size): Likewise.
9350 (grub_linux16_boot): Use relocator.
9351 (grub_linux_unload): Unload relocator.
9352 (grub_cmd_linux): Use relocator.
9353 (grub_cmd_initrd): Likewise.
9354 * grub-core/loader/i386/pc/ntldr.c: New file.
9355 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
9356 Don't try to guess CPU frequency.
9357 (grub_xnu_set_video): Stretch bitmap.
9358 (grub_xnu_boot): Use relocator.
9359 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
9360 (grub_linux_unload): Free relocator.
9361 (grub_linux_load32): Use relocator.
9362 (grub_linux_load64): Likewise.
9363 (grub_cmd_initrd): Likewise.
9364 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
9365 (grub_multiboot_unload): Unload relocator.
9366 (grub_cmd_multiboot): Use relocator.
9367 (grub_cmd_module): Likewise.
9368 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
9369 Use relocator and support sections.
9370 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
9371 (elf_sec_entsize): Likewise.
9372 (elf_sec_shstrndx): Likewise.
9373 (elf_sections): Likewise.
9374 (grub_multiboot_load): Use relocator.
9375 (grub_multiboot_get_mbi_size): Account for sections.
9376 (grub_multiboot_make_mbi): Use relocator and support sections.
9377 (grub_multiboot_add_elfsyms): New function.
9378 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
9379 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
9380 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
9381 Prototype changed. All users updated.
9382 (grub_xnu_align_heap): Simplified.
9383 (grub_xnu_writetree_toheap): Likewise.
9384 (grub_xnu_unload): Unload relocator.
9385 (grub_cmd_xnu_kernel): Use relocator.
9386 (grub_cmd_xnu_kernel64): Likewise.
9387 (grub_xnu_register_memory): Simplified.
9388 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
9389 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
9390 EFI is finished.
9391 (grub_console_checkkey): Likewise.
9392 (grub_console_getkey): Likewise.
9393 (grub_console_getwh): Likewise.
9394 (grub_console_getxy): Likewise.
9395 (grub_console_gotoxy): Likewise.
9396 (grub_console_cls): Likewise.
9397 (grub_console_setcolorstate): Likewise.
9398 (grub_console_setcursor): Likewise.
9399 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
9400 * grub-core/tests/boot/kbsd.init-i386.S: New file.
9401 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
9402 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
9403 * grub-core/tests/boot/kernel-8086.S: Likewise.
9404 * grub-core/tests/boot/kernel-i386.S: Likewise.
9405 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
9406 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
9407 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
9408 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
9409 * grub-core/tests/boot/knetbsd.cfg: Likewise.
9410 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
9411 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
9412 * grub-core/tests/boot/linux.cfg: Likewise.
9413 * grub-core/tests/boot/linux.init-i386.S: Likewise.
9414 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
9415 * grub-core/tests/boot/linux16.cfg: Likewise.
9416 * grub-core/tests/boot/multiboot.cfg: Likewise.
9417 * grub-core/tests/boot/multiboot2.cfg: Likewise.
9418 * grub-core/tests/boot/ntldr.cfg: Likewise.
9419 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
9420 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
9421 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
9422 New definition.
9423 * include/grub/dl.h (grub_dl_unload_all): Removed.
9424 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
9425 (grub_efi_finish_boot_services): Change prototype.
9426 (grub_efi_is_finished): New variable.
9427 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
9428 Changed prototype.
9429 (grub_efiemu_finish_boot_services): Removed.
9430 (grub_machine_efiemu_init_tables): New prototype.
9431 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
9432 (grub_elf64_phdr_iterate): Likewise.
9433 * include/grub/i386/bsd.h: Include relocator.h.
9434 (freebsd_tag_header): New struct.
9435 (grub_openbsd_bios_mmap): Removed.
9436 (grub_unix_real_boot): Removed.
9437 (grub_freebsd_load_elfmodule32): Changed prototype.
9438 (grub_freebsd_load_elfmodule_obj64): Likewise.
9439 (grub_freebsd_load_elf_meta32): Likewise.
9440 (grub_freebsd_load_elf_meta64): Likewise.
9441 (grub_freebsd_add_meta): Removed.
9442 (grub_netbsd_load_elf_meta32): New prototype.
9443 (grub_netbsd_load_elf_meta64): Likewise.
9444 (grub_bsd_add_meta): Likewise.
9445 (grub_openbsd_ramdisk_descriptor): New struct.
9446 (grub_openbsd_find_ramdisk32): New prototype.
9447 (grub_openbsd_find_ramdisk64): Likewise.
9448 * include/grub/i386/coreboot/loader.h: Removed.
9449 * include/grub/i386/efi/loader.h: Likewise.
9450 * include/grub/i386/ieee1275/loader.h: Likewise.
9451 * include/grub/i386/linux.h (linux_kernel_header): Change void *
9452 to grub_uint32_t.
9453 * include/grub/i386/loader.h: Removed.
9454 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
9455 value.
9456 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
9457 (grub_phys_addr_t): New type.
9458 (grub_vtop): New inline function.
9459 (grub_map_memory): Likewise.
9460 (grub_unmap_memory): Likewise.
9461 * include/grub/i386/multiboot/loader.h: Removed.
9462 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
9463 (NETBSD_BTINFO_CONSOLE): New definition.
9464 (NETBSD_BTINFO_SYMTAB): Likewise.
9465 (NETBSD_BTINFO_MODULES): Likewise.
9466 (NETBSD_BTINFO_FRAMEBUF): Likewise.
9467 (grub_netbsd_bootinfo): New struct.
9468 (grub_netbsd_btinfo_common): Use explicit bitsize.
9469 (grub_netbsd_btinfo_mmap_entry): Removed.
9470 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
9471 (grub_netbsd_btinfo_bootdisk): New struct.
9472 (grub_netbsd_btinfo_symtab): Likewise.
9473 (grub_netbsd_btinfo_serial): Likewise.
9474 (grub_netbsd_btinfo_modules): Likewise.
9475 (grub_netbsd_btinfo_framebuf): Likewise.
9476 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
9477 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
9478 Likewise.
9479 (grub_openbsd_bootargs): Use explicit bitsize.
9480 (grub_openbsd_bootarg_console): New struct.
9481 (GRUB_OPENBSD_COM_MAJOR): New definition.
9482 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
9483 * include/grub/i386/pc/efiemu.h: Removed.
9484 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
9485 * include/grub/i386/qemu/loader.h: Removed.
9486 * include/grub/i386/relocator.h: Rewritten.
9487 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
9488 * include/grub/mips/memory.h: New file.
9489 * include/grub/mips/multiboot.h: Rewritten.
9490 * include/grub/mips/relocator.h: Rewritten.
9491 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
9492 (grub_vtop): New function.
9493 (grub_map_memory): Likewise.
9494 (grub_unmap_memory): Likewise.
9495 * include/grub/misc.h (ALIGN_DOWN): New definition.
9496 * include/grub/mm.h (grub_mm_check_real): New proto.
9497 (GRUB_MM_CHECK): New definition.
9498 * include/grub/mm_private.h: New file.
9499 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
9500 (grub_multiboot_get_mbi_size): Removed.
9501 (grub_multiboot_make_mbi): Change prottype.
9502 (grub_multiboot_set_accepts_video): New proto.
9503 (grub_multiboot_add_elfsyms): Likewise.
9504 (grub_multiboot_payload_eip): New variable.
9505 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
9506 New prototype.
9507 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
9508 New definition.
9509 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
9510 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
9511 * include/grub/powerpc/ieee1275/loader.h: Removed.
9512 * include/grub/powerpc/memory.h: New file.
9513 * include/grub/powerpc/relocator.h: Likewise.
9514 * include/grub/relocator.h: Likewise.
9515 * include/grub/relocator_private.h: Likewise.
9516 * include/grub/sparc64/ieee1275/loader.h: Removed.
9517 * include/grub/x86_64/memory.h: New file.
9518 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
9519 (grub_xnu_heap_malloc): Likewise.
9520 (grub_xnu_heap_real_start): Removed.
9521 (grub_xnu_heap_start): Likewise.
9522 (grub_xnu_relocator): New variable.
9523 (grub_xnu_heap_target_start): Likewise.
9524 * tests/util/grub-shell.in: Support non-pc.
9525 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 9526
5303b85d
VS
95272010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9528
9529 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
9530 on malloc error.
9531 (grub_bidi_logical_to_visual): Check that malloc succeded.
9532 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
9533 puts.
9534 (grub_xputs_normal): Likewise.
9535
d768d159
VS
95362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9537
9538 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
9539 extra_dist.
9540
95412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/efiemu/runtime/efiemu.sh: Removed.
9544
5bf84df4
VS
95452010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
9548
3626810e
VS
95492010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
9552 dprintf.
9553
a7363f53
BC
95542010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
9555
9556 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
9557
902f75f6
VS
95582010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * grub-core/normal/term.c (print_more): Fix a memory leak.
9561 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
9562 (grub_xputs_normal): Likewise.
9563
3c707967
VS
95642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
9567 the begining of the string
9568
2053cc07
VS
95692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/script/script.c (grub_script_parse): Free parsed on
9572 failure.
9573
46422ebf
VS
95742010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
9577 on failure.
9578
9e0fa3f6
VS
95792010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9580
9581 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
9582 return.
9583
3393cf16
VS
95842010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
9587 (scroll_up): Fix a memory leak.
9588
b17540cb
VS
95892010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
9592 errors.
9593
67140446
VS
95942010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 Handle USB pendrives exposed as floppies.
9597
9598 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
9599 floppy.
9600 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9601 Check for partitions on all devices.
9602
e35e46fc
VS
96032010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
9606 (readkey): Likewise.
9607
d24c6190
BC
96082010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9609
9610 Multiple variable names support to "export" command.
9611
9612 * normal/context.c (grub_cmd_export): "export" command supports
9613 multiple variable names.
9614
04ddcc6a
ST
96152010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
9616
9617 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
9618 --target=drive output to Mach device name.
9619
0c8b61d8
BC
96202010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9621
9622 New Automake based build system for GRUB.
9623
9624 * ABOUT-NLS: New file.
9625 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
9626 in Makefile.util.def file.
9627 * Makefile.util.def: New file. Autogen build definitions file for
9628 GRUB host utils.
9629 * conf/Makefile.common: New file. Common variables for GRUB host
9630 utils and target modules.
9631 * conf/Makefile.extra-dist: New file. Extra files for make dist.
9632 * docs/Makefile.am: New file. Automake file for docs.
9633 * gentpl.py: New file. Python script to generate Autogen
9634 template.
9635 * grub-core/Makefile.am: New file. GRUB target modules' rules
9636 that doesn't fit in Makefile.core.def file.
9637 * grub-core/Makefile.core.def: New file. Autogen build
9638 definitions file for GRUB target modules.
9639 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
9640 specific setjmp.S file.
9641 * po/Makefile.am: New file.
9642
9643 * .bzrignore: New ignores.
9644 * INSTALL: New requirements, without Ruby.
9645 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
9646 * autogen.sh: Updated to invoke autogen as necessary.
9647 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
9648 and defines for Automake conditionals.
9649 * geninit.sh: Refactoring.
9650
9651 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
9652 necessary.
9653 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
9654 New prototype.
9655
9656 * include/grub/test.h: Fix functional test modules' naming.
9657 * grub-core/tests/example_functional_test.c: Fix test module name.
9658
9659 * util/misc.c: Hosted versions' of grub functions for libgrub.a
9660 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
9661 * util/grub-editenv.c: Likewise.
9662 * util/grub-fstest.c: Likewise.
9663 * util/grub-mkdevicemap.c: Likewise.
9664 * util/grub-mkfont.c: Likewise.
9665 * util/grub-mkimage.c: Likewise.
9666 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9667 * util/grub-probe.c: Likewise.
9668 * util/grub-script-check.c: Likewise.
9669 * util/i386/pc/grub-setup.c: Likewise.
9670 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9671
9672 * tests/util/grub-shell.in: Fix override directory path.
9673 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
9674 * util/import_gcry.py: Create Makefile.gcry.def file instead.
9675
9676 * util/lvm.c: Update #includes.
9677 * util/raid.c: Likewise.
9678 * util/resolve.c: Likewise.
9679 * grub-core/bus/emu/pci.c: Likewise.
9680 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
9681 * grub-core/lib/posix_wrap/string.h: Likewise.
9682 * grub-core/kern/emu/main.c: Likewise.
9683
9684 * grub-core/gensymlist.sh: New file. Script for generating kernel
9685 symbols file.
9686 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
9687
9688 * grub-core/gentrigtables.c: Fix unused variable warnings.
9689
9690 * Makefile.in: Removed.
9691 * conf/any-emu.rmk: Removed.
9692 * conf/common.rmk: Removed.
9693 * conf/i386-coreboot.rmk: Removed.
9694 * conf/i386-efi.rmk: Removed.
9695 * conf/i386-ieee1275.rmk: Removed.
9696 * conf/i386-multiboot.rmk: Removed.
9697 * conf/i386-pc.rmk: Removed.
9698 * conf/i386-qemu.rmk: Removed.
9699 * conf/i386.rmk: Removed.
9700 * conf/mips-yeeloong.rmk: Removed.
9701 * conf/mips.rmk: Removed.
9702 * conf/powerpc-ieee1275.rmk: Removed.
9703 * conf/sparc64-ieee1275.rmk: Removed.
9704 * conf/tests.rmk: Removed.
9705 * conf/x86-efi.rmk: Removed.
9706 * conf/x86_64-efi.rmk: Removed.
9707 * gendistlist.sh: Removed.
9708 * geninitheader.sh: Removed.
9709 * genkernsyms.sh.in: Removed.
9710 * genmk.rb: Removed.
9711 * gensymlist.sh.in: Removed.
9712 * mkinstalldirs: Removed.
9713 * boot: Moved ...
9714 * grub-core/boot: ... to here.
9715 * bus: Moved ...
9716 * grub-core/bus: ... to here.
9717 * commands: Moved ...
9718 * grub-core/commands: ... to here.
9719 * disk: Moved ...
9720 * grub-core/disk: ... to here.
9721 * efiemu: Moved ...
9722 * grub-core/efiemu: ... to here.
9723 * font: Moved ...
9724 * grub-core/font: ... to here.
9725 * fs: Moved ...
9726 * grub-core/fs: ... to here.
9727 * gencmdlist.sh: Moved ...
9728 * grub-core/gencmdlist.sh: ... to here.
9729 * genemuinit.sh: Moved ...
9730 * grub-core/genemuinit.sh: ... to here.
9731 * genemuinitheader.sh: Moved ...
9732 * grub-core/genemuinitheader.sh: ... to here.
9733 * genfslist.sh: Moved ...
9734 * grub-core/genfslist.sh: ... to here.
9735 * genhandlerlist.sh: Moved ...
9736 * grub-core/genhandlerlist.sh: ... to here.
9737 * genmoddep.awk: Moved ...
9738 * grub-core/genmoddep.awk: ... to here.
9739 * genmodsrc.sh: Moved ...
9740 * grub-core/genmodsrc.sh: ... to here.
9741 * genpartmaplist.sh: Moved ...
9742 * grub-core/genpartmaplist.sh: ... to here.
9743 * genparttoollist.sh: Moved ...
9744 * grub-core/genparttoollist.sh: ... to here.
9745 * genterminallist.sh: Moved ...
9746 * grub-core/genterminallist.sh: ... to here.
9747 * gentrigtables.c: Moved ...
9748 * grub-core/gentrigtables.c: ... to here.
9749 * genvideolist.sh: Moved ...
9750 * grub-core/genvideolist.sh: ... to here.
9751 * gettext: Moved ...
9752 * grub-core/gettext: ... to here.
9753 * gfxmenu: Moved ...
9754 * grub-core/gfxmenu: ... to here.
9755 * gnulib: Moved ...
9756 * grub-core/gnulib: ... to here.
9757 * hello: Moved ...
9758 * grub-core/hello: ... to here.
9759 * hook: Moved ...
9760 * grub-core/hook: ... to here.
9761 * io: Moved ...
9762 * grub-core/io: ... to here.
9763 * kern: Moved ...
9764 * grub-core/kern: ... to here.
9765 * lib: Moved ...
9766 * grub-core/lib: ... to here.
9767 * loader: Moved ...
9768 * grub-core/loader: ... to here.
9769 * mmap: Moved ...
9770 * grub-core/mmap: ... to here.
9771 * normal: Moved ...
9772 * grub-core/normal: ... to here.
9773 * partmap: Moved ...
9774 * grub-core/partmap: ... to here.
9775 * parttool: Moved ...
9776 * grub-core/parttool: ... to here.
9777 * script: Moved ...
9778 * grub-core/script: ... to here.
9779 * term: Moved ...
9780 * grub-core/term: ... to here
9781 * tests/example_functional_test.c: Moved ...
9782 * grub-core/tests/example_functional_test.c: ... to here.
9783 * tests/lib/functional_test.c: Moved ...
9784 * grub-core/tests/lib/functional_test.c: ... to here.
9785 * tests/lib/test.c: Moved ...
9786 * grub-core/tests/lib/test.c: ... to here.
9787 * video: Moved ...
9788 * grub-core/video: ... to here.
9789
645586e6
BC
97902010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9791
9792 Replace --enable-grub-emu-modules with grub-emu-lite.
9793
9794 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9795 cache.S.
9796
9797 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9798 * kern/emu/full.c: New file. For grub-emu specific initialization.
9799 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9800 * kern/emu/main.c: Call initialization function grub_emu_init.
9801
9802 * Makefile.in: Include grub-emu-lite in install.
9803 * commands/parttool.c: Use grub_no_autoload to differentiate
9804 between grub-emu and grub-emu-lite.
9805 * include/grub/misc.h: New variable grub_no_autoload.
9806
9807 * conf/any-emu.rmk: New rules for grub-emu-lite.
9808 * configure.ac: Remove --enable-grub-emu-modules.
9809 * genmk.rb: Cleanup unnecessary rules.
9810 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9811
9812 * normal/main.c: Don't load list files on grub-emu-lite.
9813 * util/misc.c (grub_arch_sync_caches): Removed.
9814
f86a4030
CW
98152010-08-23 Colin Watson <cjwatson@ubuntu.com>
9816
9817 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9818 grub-mkimage rather than grub-mkelfimage.
9819 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9820
06776944
VS
98212010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9824 a key after CapsLock or NumLock. It's just a qemu bug.
9825
df262419
VS
98262010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9829 needed by libusb wrapper.
9830
b40ea81b
ST
98312010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9832
9833 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9834
dee50575
VS
98352010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9838 --nounzip is passed.
9839
fb1d7b79
VS
98402010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9841
9842 USB hotunplugging and USB serial support.
9843
9844 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9845 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9846 (grub_uhci_transfer): Respect timeout and set *actual.
9847 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9848 non-standard length.
9849 (grub_usb_device_attach): Autoload modules.
9850 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9851 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9852 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9853 users updated.
9854 (grub_usb_add_hub): Fill nports and children.
9855 (attach_root_port): Receive hub instead of controller.
9856 All users updated. Fill hub->devices.
9857 (grub_usb_root_hub): Allocate hub->devices.
9858 (detach_device): New function.
9859 (poll_nonroot_hub): Fill children and detach devices.
9860 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9861 actual arguments. All users updated.
9862 (grub_usb_bulk_read_extended): New function.
9863 * bus/usb/serial/common.c: New file.
9864 * bus/usb/serial/ftdi.c: Likewise.
9865 * bus/usb/serial/pl2303.c: Likewise.
9866 * commands/terminal.c (handle_command): Support wildcard.
9867 * commands/usbtest.c: Output "Unknown" instead of empty string.
9868 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9869 (usbserial_common_mod_SOURCES): New variable.
9870 (usbserial_common_mod_CFLAGS): Likewise.
9871 (usbserial_common_mod_LDFLAGS): Likewise.
9872 (pkglib_MODULES): Add usbserial_pl2303.mod.
9873 (usbserial_pl2303_mod_SOURCES): New variable.
9874 (usbserial_pl2303_mod_CFLAGS): Likewise.
9875 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9876 (pkglib_MODULES): Add usbserial_ftdi.mod.
9877 (usbserial_ftdi_mod_SOURCES): New variable.
9878 (usbserial_ftdi_mod_CFLAGS): Likewise.
9879 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9880 (pkglib_MODULES): Add serial.mod.
9881 (serial_mod_SOURCES): New variable.
9882 (serial_mod_CFLAGS): Likewise.
9883 (serial_mod_LDFLAGS): Likewise.
9884 * conf/i386-pc.rmk: Likewise.
9885 * conf/mips-yeeloong.rmk: Likewise.
9886 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9887 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9888 * disk/usbms.c (first_available_slot): New variable.
9889 (grub_usbms_attach): Don't reuse free slots due to potential cache
9890 problems.
9891 * include/grub/serial.h: Moved to ..
9892 * include/grub/ns8250.h: ...this.
9893 * include/grub/serial.h: New file.
9894 * include/grub/term.h (grub_term_poll_usb): New variable.
9895 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9896 readkey. All users updated.
9897 (grub_terminfo_output_state): Pass term to put.
9898 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9899 (grub_usb_controller_dev): Add timeout and actual arguments to
9900 transfer. All users updated.
9901 (grub_usb_interface): New field detach_data.
9902 (grub_usb_device): New fields children and nports.
9903 (grub_usb_ep_type_t): New type.
9904 (grub_usb_get_ep_type): New function.
9905 (grub_usb_bulk_read_extended): Likewise.
9906 * include/grub/usbdesc.h (grub_usb_desc): New type.
9907 * include/grub/usbserial.h: New file.
9908 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9909 * kern/term.c (grub_term_poll_usb): New variable.
9910 (grub_getkey): Call grub_term_poll_usb if set.
9911 (grub_checkkey): Likewise.
9912 (grub_getkeystatus): Likewise.
9913 * term/serial.c: Moved controller-specific parts to ...
9914 * term/ns8250.c: ... here.
9915 * term/serial.c: Mostly rewritten.
9916 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9917 according to spec.
9918
21a313de
RM
99192010-08-20 Robert Millan <rmh@gnu.org>
9920
9921 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9922 a separate module and maybe other interesting combinations.
9923
9924 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9925 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9926 (kfreebsd_entry): Add generic filesystem module load routine.
9927 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9928
63c734a6
CW
99292010-08-20 Colin Watson <cjwatson@ubuntu.com>
9930
9931 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9932 "numcenter" (I misunderstood the purpose of this entry).
9933 * docs/grub.texi (sendkey): Likewise.
9934
c4d16542
CW
99352010-08-20 Colin Watson <cjwatson@ubuntu.com>
9936
9937 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9938 status flag options; simply omitting the option is equivalent and
9939 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9940 (keysym_table): Rename "num5numlock" to "numlock".
9941 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9942 can uniformly say that only the last of multiple `sendkey'
9943 invocations has any effect.
9944 * docs/grub.texi (sendkey): New section.
9945
93541d66
CW
99462010-08-19 Colin Watson <cjwatson@ubuntu.com>
9947
9948 * commands/i386/pc/sendkey.c (options): Fix three typos.
9949
b4ece5e1
VS
99502010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 Implement sendkey support.
9953
9954 * commands/i386/pc/sendkey.c: New file.
9955 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9956 (sendkey_mod_SOURCES): New variable.
9957 (sendkey_mod_CFLAGS): Likewise.
9958 (sendkey_mod_LDFLAGS): Likewise.
9959
51f1f5af
CW
99602010-08-18 Colin Watson <cjwatson@ubuntu.com>
9961
9962 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9963 fix warnings from Autoconf.
9964
9da94e05
CW
99652010-08-18 Colin Watson <cjwatson@ubuntu.com>
9966
9967 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9968 to avoid false positives with some assemblers that output things
9969 like "someprefix_func" as part of their output.
9970
729a0f2e
RM
99712010-08-15 Robert Millan <rmh@gnu.org>
9972
9973 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9974 errors.
9975 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9976 grub_get_libzfs_handle() errors.
9977
f3710e08
RM
99782010-08-14 Robert Millan <rmh@gnu.org>
9979
9980 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9981 filesystem is not ZFS.
9982
7a3c13de
BC
99832010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9984
9985 Fix for misspelled color names defaulting to black/black (bug
9986 reported by Doug Nazar)
9987
9988 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9989 status to prototype.
9990 * normal/color.c (grub_parse_color_name_pair): Return failure
9991 status.
9992 (grub_env_write_color_normal): Ignore bad color names.
9993 (grub_env_write_color_highlight): Likewise.
9994 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9995
ab8ba50d
BC
99962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9997
9998 "shift" command support to GRUB script.
9999
10000 * include/grub/script_sh.h (grub_script_shift): New prototype.
10001 * script/execute.c (grub_script_shift): New function.
10002 * script/main.c (grub_script_init): Register shift command.
10003 (grub_script_fini): Unregister shift command.
10004 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10005
10006 * tests/grub_script_shift.in: New testcase.
10007 * conf/tests.rmk: Rules for new testcase.
10008
4d61999e
BC
100092010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10010
10011 "continue" command support to GRUB script.
10012
10013 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
10014 (grub_script_break): Continue support.
10015 * script/main.c (grub_script_init): Register continue command.
10016 (grub_script_fini): Unregister continue command.
10017
10018 * tests/grub_script_continue.in: New testcase.
10019 * conf/tests.rmk: Rules for new testcase.
10020
4df51e00
BC
100212010-08-12 BVK Chaitanya <bvk@dbook>
10022
10023 "break" command support to GRUB script.
10024
10025 * conf/common.rmk: Rule updates to grub-script-check.
10026 * include/grub/misc.h (grub_min): New function.
10027 * include/grub/script_sh.h (grub_script_init): New prototype.
10028 (grub_script_fini): New prototype.
10029 (grub_script_break): New prototype.
10030 * script/main.c (grub_script_init): New function.
10031 (grub_script_fini): New function.
10032 * script/execute.c (grub_script_break): New function.
10033 * normal/main.c: Calls to grub_script_{init,fini}.
10034 * util/grub-script-check.c (grub_script_break): New function.
10035
10036 * tests/grub_script_break.in: New testcase.
10037 * conf/tests.rmk: Rules for new test case.
10038
f12c8420
BC
100392010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10040
10041 Function parameters support to GRUB script.
10042
10043 * script/yylex.l (VARIABLE): Regular expression update.
10044 * script/function.c (grub_script_function_call): Moved ...
10045 * script/execute.c (grub_script_function_call): ... to here.
10046 (grub_script_execute_arglist_to_argv): Removed.
10047 (grub_script_arglist_to_argv): New function.
10048 * script/argv.c: New file.
10049 (grub_script_argv_free): New function.
10050 (grub_script_argv_next): Likewise.
10051 (grub_script_argv_append): Likewise.
10052 (grub_script_argv_split_append): Likewise.
10053 * include/grub/script_sh.h (grub_script_argv): New struct.
10054 (grub_script_argv_free): New function.
10055 (grub_script_argv_next): Likewise.
10056 (grub_script_argv_append): Likewise.
10057 (grub_script_argv_split_append): Likewise.
10058
10059 * conf/common.rmk (normal.mod): New source script/argv.c.
10060
10061 * tests/grub_script_echo1.in: More tests.
10062 * tests/grub_script_vars1.in: Likewise.
10063 * tests/grub_script_functions.in: New test case.
10064 * conf/tests.rmk: Rules for new testcase.
10065
8022b748
BC
100662010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10067
10068 Remove grub_script_cmdblock struct.
10069
10070 * include/grub/script_sh.h: Remove grub_script_cmdblock.
10071 * script/parser.y: Likewise.
10072 * script/execute.c: Rename cmdblock suffix to cmdlist.
10073 * script/script.c: Likewise.
10074 * util/grub-script-check.c: Likewise.
10075
79a6ba61
YB
100762010-08-11 Yves Blusseau <blusseau@zetam.org>
10077
10078 * .bzrignore: add grub-macho2img
10079
d04b9414
VS
100802010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10081
10082 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
10083
f947ab49
VS
100842010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 Remove the dump of sm712 initialisation sequence.
10087
10088 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
10089 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
10090 (GRUB_VGA_IO_MISC_WRITE): Likewise.
10091 (GRUB_VGA_CR_*): Added many registers.
10092 (GRUB_VGA_SR_*): Likewise.
10093 (GRUB_VGA_GR_*): Likewise.
10094 (grub_vga_write_arx): New function.
10095 (grub_video_hw_config): New struct.
10096 (grub_vga_set_geometry): New function.
10097 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
10098 GRUB_PCI_CLASS_SUBCLASS_VGA.
10099 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
10100 * video/sm712.c (grub_sm712_write_reg): New function
10101 (grub_sm712_read_reg): Likewise.
10102 (grub_sm712_sr_write): Likewise.
10103 (grub_sm712_gr_write): Likewise.
10104 (grub_sm712_cr_write): Likewise.
10105 (grub_sm712_write_arx): Likewise.
10106 (grub_sm712_cr_shadow_write): Likewise.
10107 (grub_sm712_write_dda_lookup): Likewise.
10108 (grub_video_sm712_setup): Initialise the video rather then
10109 blindly replay the dump.
10110 (main) [TEST]: Add a routine to be able to compile as standalone for
10111 tests.
10112 * video/sm712_init.c (sm712_init): Removed.
10113 (sm712_sr_seq1): New array.
10114 (sm712_sr_seq2): Likewise.
10115
f0206638
VS
101162010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10117
10118 * include/grub/vga.h: Add missing grub/pci.h include.
10119
2764da3b
YB
101202010-08-10 Yves Blusseau <blusseau@zetam.org>
10121
10122 * util/grub-macho2img.c (main): fix typo
10123
cf0c775e
VS
101242010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10125
10126 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
10127 (grub_vga_gr_read): Likewise.
10128 (grub_vga_cr_write): Likewise.
10129 (grub_vga_cr_read): Likewise.
10130 (grub_vga_sr_write): Likewise.
10131 (grub_vga_sr_read): Likewise.
10132 (grub_vga_palette_read): Likewise.
10133 (grub_vga_palette_write): Likewise.
10134 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
10135 (grub_sm712_sr_read): New function.
10136 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
10137 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
10138
07f360e9
RM
101392010-08-09 Robert Millan <rmh@gnu.org>
10140
10141 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
10142 out unused variables on non-ZFS build.
10143
346c2072
RM
101442010-08-08 Robert Millan <rmh@gnu.org>
10145
10146 Fix path generation for sub-filesystems in ZFS.
10147
10148 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
10149 missing slash.
10150
71175420
RM
101512010-08-08 Robert Millan <rmh@gnu.org>
10152
10153 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
10154
0d8286f3
RM
101552010-08-08 Robert Millan <rmh@gnu.org>
10156
10157 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
10158 exist, issue a proper error message (rely on `ls' for translated
10159 strings).
10160
55dd2924
RM
101612010-08-08 Robert Millan <rmh@gnu.org>
10162
10163 Fix grub-probe invocation.
10164
10165 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
10166
d3dd9e80
RM
101672010-08-04 Robert Millan <rmh@gnu.org>
10168
10169 * configure.ac: Remove checks for getfsstat() and getmntany().
10170 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
10171 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
10172 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
10173 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
10174 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
10175 function.
10176 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
10177 via find_mount_point_from_dir() and getfsstat() / getmntany().
10178
0de22aa9
RM
101792010-08-04 Robert Millan <rmh@gnu.org>
10180
10181 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10182 (grub_find_zpool_from_mount_point): Merge into ...
10183 (grub_find_zpool_from_dir): ... this.
10184 * kern/emu/misc.c: Likewise.
10185
10186 * kern/emu/misc.c
10187 (grub_make_system_path_relative_to_its_root): Replace
10188 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
10189 with grub_find_zpool_from_dir().
10190 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
10191
62858144
RM
101922010-08-04 Robert Millan <rmh@gnu.org>
10193
10194 Support OpenSolaris in ZFS device resolution.
10195
10196 * configure.ac: Check for getmntany().
10197 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
10198 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
10199 support.
10200
9dd6fd50
RM
102012010-08-03 Robert Millan <rmh@gnu.org>
10202
10203 Fix grub-emu build.
10204
10205 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
10206 * include/grub/emu/misc.h: ... here.
10207
10208 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
10209 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
10210
10211 * util/misc.c: Remove `<grub/util/libzfs.h>'.
10212 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
10213 (grub_get_libzfs_handle): Move to ...
10214 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
10215 (grub_get_libzfs_handle): ... here.
10216
c9f7ff97
BC
102172010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
10218
10219 * script/execute.c (grub_script_execute_cmdline): Check for NULL
10220 as command name case.
10221
a870a783
CW
102222010-08-02 Colin Watson <cjwatson@ubuntu.com>
10223
10224 * disk/raid.c (insert_array): Select unique numbers for named arrays
10225 as well, for use as keys in the disk cache.
10226
c7db243b
RM
102272010-08-01 Robert Millan <rmh@gnu.org>
10228
10229 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
10230 kFreeBSD device name, except on ZFS where the filesystem label is
10231 used.
10232 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
10233 `/boot/zfs/zpool.cache'.
10234 Set mountfrom kernel variable using ${kfreebsd_device}.
10235
f7abdefb
RM
102362010-08-01 Robert Millan <rmh@gnu.org>
10237
10238 Make it even harder to use uninitialized `libzfs_handle' (and
10239 make the interface a bit simpler).
10240
10241 * include/grub/util/misc.h (grub_util_init_libzfs)
10242 (libzfs_handle): Remove.
10243 (grub_get_libzfs_handle): New prototype.
10244
10245 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
10246 attribute.
10247 (grub_util_init_libzfs): Remove.
10248 (grub_get_libzfs_handle): New function.
10249
10250 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
10251 grub_get_libzfs_handle() to obtain a libzfs handle instead of
10252 accessing `libzfs_handle' directly.
10253
c882acc0
RM
102542010-08-01 Robert Millan <rmh@gnu.org>
10255
10256 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10257 (grub_find_zpool_from_mount_point): New function prototypes.
10258
10259 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10260 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10261
10262 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10263 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10264 `static' attribute.
10265
10266 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10267 finding zpool from mount point into ...
10268 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10269
10270 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10271 requested path is part of a ZFS pool, use
10272 grub_find_zpool_from_mount_point() to detect its filesystem name,
10273 and generate a path with `/fsname@path' syntax.
10274
8bfe31d8
CW
102752010-08-01 Colin Watson <cjwatson@ubuntu.com>
10276
10277 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
10278 (void) rather than () so that this is a proper prototype.
10279
553df63d
VS
102802010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10281
10282 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
10283
8687cf07
VS
102842010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
10287 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
10288
ea9be8ea
CW
102892010-08-01 Colin Watson <cjwatson@ubuntu.com>
10290
10291 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
10292
6eea041a
CW
102932010-08-01 Colin Watson <cjwatson@ubuntu.com>
10294
10295 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
10296
2cfb45df
CW
102972010-08-01 Colin Watson <cjwatson@ubuntu.com>
10298
10299 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
10300 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
10301 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
10302 disable gfxpayload.
10303 (Shell-like scripting): Add real content.
10304 (Serial terminal): Suggest `terminal_input serial; terminal_output
10305 serial' rather than putting the two commands on separate lines,
10306 since console input will be inoperative after the first command.
10307 (menuentry): Document --class, --users, and --hotkey options.
10308 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
10309 Vladimir Serbinenko).
10310
7decd202
VS
103112010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
103122010-08-01 Colin Watson <cjwatson@ubuntu.com>
10313
10314 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
10315
c882acc0
RM
103162010-08-01 Robert Millan <rmh@gnu.org>
10317
10318 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10319 (grub_find_zpool_from_mount_point): New function prototypes.
10320
10321 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10322 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10323
10324 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10325 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10326 `static' attribute.
10327
10328 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10329 finding zpool from mount point into ...
10330 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10331
10332 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10333 requested path is part of a ZFS pool, use
10334 grub_find_zpool_from_mount_point() to detect its filesystem name,
10335 and generate a path with `/fsname@path' syntax.
10336
deb0caa3
RM
103372010-08-01 Robert Millan <rmh@gnu.org>
10338
10339 Prevent accidental use of uninitialized libzfs_handle.
10340
10341 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
10342 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
10343 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
10344
ce04ef47
CW
103452010-08-01 Colin Watson <cjwatson@ubuntu.com>
10346
10347 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
10348 util/grub.d/10_linux.in). Fixes Debian bug #591093.
10349
ebf53056
RM
103502010-08-01 Robert Millan <rmh@gnu.org>
10351
10352 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 10353
3710bb6b
RM
103542010-07-31 Robert Millan <rmh@gnu.org>
10355
10356 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
10357
8072efeb
RM
103582010-07-31 Robert Millan <rmh@gnu.org>
10359
10360 * kern/emu/misc.c: Add missing license header.
10361
3169f4c7
RM
103622010-07-31 Robert Millan <rmh@gnu.org>
10363
10364 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
10365
10366 * include/grub/util/libnvpair.h: Include `<config.h>'.
10367 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
10368 declaring libnvpair prototypes ourselves.
10369 * include/grub/util/libzfs.h: Include `<config.h>'.
10370 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
10371 declaring libzfs prototypes ourselves.
10372
10373 (libzfs_handle): Moved to ...
10374 * include/grub/util/misc.h (libzfs_handle): ... here.
10375 Include `<grub/util/libzfs.h>'.
10376
c9a00aee
RM
103772010-07-30 Robert Millan <rmh@gnu.org>
10378
10379 * include/grub/emu/misc.h: Add missing license header.
10380
a184f9c8
RM
103812010-07-30 Robert Millan <rmh@gnu.org>
10382
10383 Enable `grub-probe -t device' resolution on ZFS.
10384
10385 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
10386 * include/grub/util/libnvpair.h: New file.
10387 * include/grub/util/libzfs.h: New file.
10388
10389 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
10390 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
10391 `<grub/util/libnvpair.h>'.
10392 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
10393
10394 (find_mount_point_from_dir): New static function.
10395 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
10396 function.
10397 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
10398 find_root_device_from_libzfs() before ressorting to find_root_device().
10399
10400 * include/grub/util/misc.h (grub_util_init_libzfs): New function
10401 prototype.
10402 * util/misc.c: Include `<grub/util/libzfs.h>'.
10403 (grub_util_init_libzfs): New function.
10404 [HAVE_LIBZFS] (libzfs_handle): New global variable.
10405 [HAVE_LIBZFS] (fini_libzfs): New static function.
10406 (grub_util_init_libzfs): New function.
10407 * util/grub-probe.c (main): Call grub_util_init_libzfs().
10408
f7790cdd
RM
104092010-07-30 Robert Millan <rmh@gnu.org>
10410
10411 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
10412 (xmalloc, xrealloc, xstrdup, xasprintf): Add
10413 `warn_unused_result' attribute.
10414 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
10415 (grub_xasprintf, grub_xvasprintf): Likewise.
10416 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
10417
0806b63c
RM
104182010-07-29 Robert Millan <rmh@gnu.org>
10419
10420 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
10421 (probe): Handle `PRINT_FS_LABEL'.
10422 (main): Handle `-t fs_label'.
10423
9f841f5c
RM
104242010-07-29 Robert Millan <rmh@gnu.org>
10425
10426 * configure.ac: Remove grub-mkisofs checks.
10427
46371121
VS
104282010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10429
10430 * util/ieee1275/grub-install.in: Don't use empty grub_device.
10431 Reported by: Lennart Sorensen.
10432
104332010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10434
10435 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
10436 prior to terminal_input/terminal_output separation. It's been over 1.5
10437 years and those versions weren't widely deployed.
10438
a9600892
CW
104392010-07-22 Colin Watson <cjwatson@ubuntu.com>
10440
10441 * disk/raid.c (insert_array): Don't count named arrays when looking
10442 for unused array numbers.
697e053c 10443 Reported and tested by: Michael Guntsche.
a9600892 10444
c03507df
CW
104452010-07-20 Colin Watson <cjwatson@ubuntu.com>
10446
10447 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
10448 implementation of this so that grub-emu links again, with a note
10449 that this should support hotplugging in the future.
10450
b26f1c11
CW
104512010-07-20 Colin Watson <cjwatson@ubuntu.com>
10452
10453 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10454
efc9d7f1
CW
104552010-07-20 Colin Watson <cjwatson@ubuntu.com>
10456
10457 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
10458 handle on failure.
10459 (grub_loopback_close): Remove empty function.
10460 (grub_loopback_dev): Remove close method.
10461
dd8ff5c9
CW
104622010-07-20 Colin Watson <cjwatson@ubuntu.com>
10463
10464 Disable EFI cursor when the EFI console becomes inactive.
10465
10466 * term/efi/console.c (grub_efi_console_init): New function.
10467 (grub_efi_console_fini): New function.
10468 (grub_console_term_output): Register init and fini methods.
10469
5e3bec67
VS
104702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * tests/util/grub-shell-tester.in: Remove bashism and declare as
10473 sh script.
10474
afaec079
VS
104752010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 * disk/loopback.c (grub_loopback): Replace filename with file.
10478 (delete_loopback): Handle new semantics.
10479 (grub_cmd_loopback): Likewise.
10480 (grub_loopback_iterate): Likewise.
10481 (grub_loopback_close): Likewise.
10482
a6a11f3c
VS
104832010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10484
10485 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
10486 with -p "".
10487 Reported by: Tito Keitel.
10488
64a638b0
VS
104892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10490
10491 * docs/grub.texi (Naming convention): Document new naming convention.
10492
ab8ba957
VS
104932010-07-20 Vadim Solomin <vadic052@gmail.com>
104942010-07-20 Colin Watson <cjwatson@ubuntu.com>
10495
10496 Generate device.map in something closer to the old ordering.
10497
10498 * util/deviceiter.c (struct device): New declaration.
10499 (compare_file_names): Rename to ...
10500 (compare_devices): ... this. Sort by kernel name in preference to
10501 the stable by-id name, but keep the latter as a fallback comparison.
10502 Update header comment.
10503 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
10504 of `struct device' rather than of plain file names.
10505
a29d6a4b
TF
105062010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
10507
10508 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
10509 on i386.
10510
39d824e8
VS
105112010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * commands/acpi.c (setup_common_tables): Use sizeof instead of
10514 hardcoding size.
10515 (setv1table): Likewise.
10516
f058276b
FZ
105172010-07-20 Colin Watson <cjwatson@ubuntu.com>
10518
10519 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
10520 removing the homehost if present.
10521 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
10522 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
10523 removing the homehost if present.
10524 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
10525 if possible.
10526 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
10527
10528 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
10529 parameter. Set its pointer target to 0.
10530 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
10531 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
10532 `data_offset' value from the superblock for 1.x metadata.
10533 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
10534 data on the device.
10535 (insert_array): Record the start sector of data on the device.
10536 (grub_raid_register): Pass start_sector parameters to
10537 grub_raid_list->detect and insert_array.
10538 * include/grub/raid.h (struct grub_raid_array): Add start_sector
10539 member.
10540 (struct grub_raid): Add start_sector parameter to `detect'.
10541
10542 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
10543 __attribute__ ((packed)), leaving a comment.
10544 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
10545 (grub_mdraid_detect_09): ... here and ...
10546 (grub_mdraid_detect_1x): ... here.
10547
105482010-07-20 Peter Henn <peter.henn@web.de>
10549
10550 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
10551 chunk size and disk size, which are already given as sector counts
10552 as distinct from the 0.90 units. Fetch the correct device number
10553 from the role table instead of using the table index.
10554
105552010-07-20 Felix Zielcke <fzielcke@z-51.de>
10556
10557 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
10558 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
10559 (WriteMostly1): New macro.
10560 Set array->name to NULL for metadata format 0.90. Add support for
10561 metadata 1.x. Fix some comments.
10562 * disk/raid.c (): Add support for name based RAID arrays. Fix a
10563 few comments.
10564 * util/getroot.c (grub_util_get_grub_dev): Add support for
10565 /dev/md/name style devices.
10566
4b761da9
CW
105672010-07-20 Colin Watson <cjwatson@ubuntu.com>
10568
10569 * .bzrignore: Ignore 20_linux_xen.
10570
5771289a
CW
105712010-07-17 Colin Watson <cjwatson@ubuntu.com>
10572
10573 * util/import_unicode.py: Remove unnecessary imports.
10574
5dab68df
AN
105752010-07-17 Aleš Nesrsta <starous@volny.cz>
10576
10577 Hotplugging and USB hub support.
10578
10579 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
10580 (grub_ohci): Likewise.
10581 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
10582 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
10583 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
10584 (GRUB_OHCI_CTRL_EDS): Likewise.
10585 (GRUB_OHCI_BULK_EDS): Likewise.
10586 (GRUB_OHCI_TDS): Likewise.
10587 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
10588 (grub_ohci_ed_phys2virt): New function.
10589 (grub_ohci_virt_to_phys): Likewise.
10590 (grub_ohci_td_phys2virt): Likewise.
10591 (grub_ohci_td_virt2phys): Likewise.
10592 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
10593 attachment.
10594 (grub_ohci_find_ed): New function.
10595 (grub_ohci_alloc_td): Likewise.
10596 (grub_ohci_free_td): Likewise.
10597 (grub_ohci_free_tds): Likewise.
10598 (grub_ohci_transfer): Use previously allocated memory.
10599 (grub_ohci_portstatus): Reset status changed bit.
10600 (grub_ohci_detect_dev): Supply status changed.
10601 (grub_ohci_fini_hw): Free memory.
10602 (grub_ohci_restore_hw): Reallocate memory.
10603 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
10604 Reset status change.
10605 (grub_uhci_detect_dev): Supply status_change.
10606 * bus/usb/usb.c (attach_hooks): New var.
10607 (grub_usb_device_attach): New function.
10608 (grub_usb_register_attach_hook_class): Likewise.
10609 (grub_usb_unregister_attach_hook_class): Likewise.
10610 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
10611 (grub_usb_add_hub): Reset connection changed bit.
10612 (attach_root_port): New function.
10613 (grub_usb_root_hub): Likewise.
10614 (poll_nonroot_hub): Likewise.
10615 (grub_usb_poll_devices): Likewise.
10616 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
10617 * disk/usbms.c (grub_usbms_open): Use device hooks.
10618 (grub_usbms_iterate) :Poll devices.
10619 (grub_usbms_finddevs): Split into ...
10620 (grub_usbms_attach): ... this ...
10621 (grub_usbms_attach): ... and this.
10622 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
10623 in detect_dev.
10624 (grub_usb_interface): New fields attached and detach_hook.
10625 (grub_usb_attach_hook_class): New type.
10626 (grub_usb_attach_desc): New struct.
10627 (grub_usb_register_attach_hook_class): New function.
10628 (grub_usb_unregister_attach_hook_class): Likewise.
10629 (grub_usb_poll_devices): Likewise.
10630 (grub_usb_device_attach): Likewise.
10631 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
10632 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
10633
3222efaf
VS
106342010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10635
10636 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
10637 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
10638 delta determination style. Works with most NetBSD partitions too.
10639
139b714a
VS
106402010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
10643 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
10644
986aad56
VS
106452010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10646
10647 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
10648
99be513c
AB
106492010-07-14 Anton Blanchard <anton@samba.org>
10650
10651 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
10652 ET_DYN files.
10653
18075f62
GS
106542010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10655
10656 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
10657
8d9a5b15
GS
106582010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10659
10660 * kern/partition.c (grub_partition_check_containment): New function to
10661 check that a partition is physically contained in a parent. Since
10662 offsets are relative (and non-negative), this reduces to checking that
10663 the partition ends before its parent.
10664 (grub_partition_map_probe): Discard out-of-range sub-partitions.
10665 (grub_partition_iterate): Likewise.
10666 * include/grub/partition.h (grub_partition_map): Slightly more detailed
10667 comments.
10668 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
10669 partitions that start before their parent, and add debug printfs.
10670
19563c25
CW
106712010-07-13 Colin Watson <cjwatson@ubuntu.com>
10672
10673 * Makefile.in (.SUFFIX): Spell correctly, as ...
10674 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
10675 bare module name without `.mod', e.g. `test') tried to invoke a
10676 Modula-2 compiler.
10677
1a1f1e67
CW
106782010-07-13 Colin Watson <cjwatson@ubuntu.com>
10679
10680 * README: Point to the Info manual.
10681
811b0dca
JS
106822010-07-13 Jiro SEKIBA <jir@unicus.jp>
10683
10684 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
10685 2nd superblock position from partition size.
10686
e4f4eafc
CW
106872010-07-10 Colin Watson <cjwatson@ubuntu.com>
10688
10689 * Makefile.in (MAINTAINER_CLEANFILES): Remove
10690 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
10691 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
10692 outputs.
10693
4274c30f
VS
106942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Restructure SCSI .id handling.
10697 Reported and tested by: Aleš Nesrsta.
10698
10699 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10700 (grub_atapi_dev): Changed .name to "ata". New field .id.
10701 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10702 (grub_usbms_dev): New field .id.
10703 * disk/scsi.c (grub_scsi_iterate): Generate name.
10704 (grub_scsi_open): Parse name.
10705 * include/grub/scsi.h (grub_make_scsi_id): New function.
10706 (grub_scsi_dev): Change iterate and open to number instead of naming
10707 busses. All users updated.
10708 (grub_scsi): Remove name. Add .bus.
10709
5bc24388
VS
107102010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10711
10712 * commands/help.c (grub_cmd_help): Fix a typo.
10713
249975ba
VS
107142010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10715
10716 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10717 Reported and tested by: Colin Watson.
10718
3eaac1a1
VS
107192010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10722 in this context.
10723
becce1b1
VS
107242010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10727
f7bf0918
CW
107282010-07-07 Colin Watson <cjwatson@ubuntu.com>
10729
10730 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10731 indentation.
10732
0b0f9620
CW
107332010-07-06 Colin Watson <cjwatson@ubuntu.com>
10734
10735 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10736 and disk/raid6_recover.c.
10737 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10738 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10739
1e545469
CW
107402010-07-06 Colin Watson <cjwatson@ubuntu.com>
10741
10742 * term/gfxterm.c (repaint_schedulded): Rename to ...
10743 (repaint_scheduled): ... this. Update all callers.
10744 (repaint_was_schedulded): Rename to ...
10745 (repaint_was_scheduled): ... this. Update all callers.
10746
5357687a
CW
107472010-07-06 Colin Watson <cjwatson@ubuntu.com>
10748
10749 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10750 which we expect to be handled by upper layers.
10751
29d7e783
BC
107522010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10753
10754 * bus/usb/usbhub.c: #include time.h header.
10755
37582066
CW
107562010-07-06 Colin Watson <cjwatson@ubuntu.com>
10757
10758 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10759 entry_name also for entries without stat blocks (e.g. ".."); fixes
10760 corruption of the first entry in a directory.
10761
c8c06953
CW
107622010-07-06 Colin Watson <cjwatson@ubuntu.com>
10763
10764 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10765 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10766 doesn't work otherwise.
10767
e75056f1
CW
107682010-07-05 Colin Watson <cjwatson@ubuntu.com>
10769
10770 * docs/grub.texi (Features): Update list of supported file systems.
10771 (GNU/Linux): Update for GRUB 2.
10772 (Serial terminal): Remove mention of --disable-serial, which was a
10773 GRUB Legacy configure option. Update instructions to use
10774 `terminal_input' and `terminal_output' rather than `terminal'.
10775 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10776 configuration' and `Installing GRUB using grub-install'.
10777 (Menu entry editor): Update for GRUB 2.
10778 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10779 Document new -a, -u, and -v options.
10780 (initrd): New section.
10781 (initrd16): New section.
10782 (linux): New section.
10783 (linux16): New section.
10784 (search): The `var' argument to `--set' is optional.
10785 (GRUB only offers a rescue shell): Go into a little more detail on
10786 drive ordering.
10787
5cf69151
CW
107882010-07-05 Colin Watson <cjwatson@ubuntu.com>
10789
10790 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10791
e3f90044
CW
107922010-07-05 Colin Watson <cjwatson@ubuntu.com>
10793
10794 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10795 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10796
38d8f4f3
CW
107972010-07-05 Colin Watson <cjwatson@ubuntu.com>
10798
10799 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10800 install_prefix, in line with install_dos_part and install_bsd_part.
10801 Add new prefix variable, which is copied to install_prefix after
10802 comparing core.img in memory with the one read from disk in the
10803 no-embedding case, and use that rather than overwriting
10804 install_prefix immediately when installing to a partition.
10805 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10806 Bicakci.
10807
57ebd41e
GS
108082010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10809
10810 * configure.ac: Avoid == in test command, it's not portable.
10811 * util/grub.d/30_os-prober.in: Likewise.
10812
cb7f64b2
CW
108132010-07-04 Colin Watson <cjwatson@ubuntu.com>
10814
10815 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10816
6b654bb0
GS
108172010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10818
10819 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10820 multiple (top-level) partmaps.
10821
72a2026d
VS
108222010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10823
10824 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10825 Reported by: Tino Keitel.
72a2026d 10826
df3eb88f
VS
108272010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10828
10829 Bidi and diacritics support.
10830
10831 * Makefile.in (widthspec.bin): New target.
10832 (widthspec.h): Likewise.
10833 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10834 * autogen.sh: Generate unidata.c.
10835 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10836 * commands/ls.c (grub_ls_list_devices): Likewise.
10837 (grub_ls_list_files): Likewise.
10838 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10839 (grub_mini_cmd_lsmod): Likewise.
10840 * commands/read.c: Likewise.
10841 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10842 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10843 * lib/arg.c (grub_arg_show_help): Likewise.
10844 * lib/crypto.c (grub_password_get): Likewise.
10845 * normal/auth.c (grub_username_get): Likewise.
10846 * normal/misc.c (grub_normal_print_device_info): Likewise.
10847 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10848 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10849 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10850 (normal/charset.c_DEPENDENCIES): New variable.
10851 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10852 (pkglib_MODULES): Remove charset.mod.
10853 (charset_mod_SOURCES): Removed.
10854 (charset_mod_CFLAGS): Likewise.
10855 (charset_mod_LDFLAGS): Likewise.
10856 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10857 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10858 and term/tparm.c.
10859 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10860 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10861 (kernel_img_HEADERS): Add terminfo.h.
10862 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10863 Fill ->font. Reverse ascii bitmaps.
10864 (grub_font_get_xheight): New function.
10865 * font/font.c (grub_font_get_string_width): Moved from here ...
10866 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10867 * font/font.c (grub_font_draw_string): Moved from here ...
10868 * gfxmenu/font.c (grub_font_draw_string): ... here.
10869 * font/font.c (grub_font_dup_glyph): New function.
10870 (grub_font_blit_glyph): Likewise.
10871 (grub_font_blit_glyph_mirror): Likewise.
10872 (blit_comb): Likewise.
10873 (grub_font_construct_dry_run): Likewise.
10874 (grub_font_get_constructed_device_width): Likewise.
10875 (grub_font_construct_glyph): Likewise.
10876 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10877 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10878 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10879 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10880 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10881 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10882 (grub_font_get_xheight): New proto.
10883 (grub_font_get_constructed_device_width): Likewise.
10884 (grub_font_construct_glyph): Likewise.
10885 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10886 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10887 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10888 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10889 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10890 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10891 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10892 (grub_console_getcharwidth): Likewise.
10893 * include/grub/misc.h (grub_xputs): New proto.
10894 (grub_puts): Inlined.
10895 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10896 (grub_normal_get_line_counter): Removed.
10897 (grub_install_newline_hook): Likewise.
10898 (grub_normal_get_char_counter): New proto.
10899 (grub_normal_reset_more): Likewise.
10900 (grub_xputs_normal): Likewise.
10901 * include/grub/powerpc/ieee1275/console.h: Removed.
10902 * include/grub/sparc64/ieee1275/console.h: Likewise.
10903 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10904 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10905 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10906 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10907 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10908 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10909 (grub_term_input): Pass reference to self. All users updated.
10910 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10911 Pass reference to self. New fields normal_color, highlight_color and
10912 data. All users updated.
10913 (grub_putchar): Removed.
10914 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10915 (grub_unicode_estimate_width): New function.
10916 (grub_term_getcharwidth): Add defaults.
10917 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10918 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10919 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10920 (grub_cls): Remove EXPORT_FUNC.
10921 (grub_setcolorstate): Inline.
10922 (grub_newline_hook): Removed.
10923 * include/grub/terminfo.h: Rewritten. All users updated.
10924 * include/grub/unicode.h: New file.
10925 * include/grub/video.h (grub_video_signed_rect): New type.
10926 * kern/emu/console.c (grub_console_highlight_color): Removed.
10927 (grub_console_normal_color): Likewise.
10928 (grub_console_standard_color): Made static.
10929 (grub_ncurses_putchar): Remove mapping.
10930 (grub_ncurses_getcharwidth): Removed.
10931 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10932 (grub_ncurses_setcolor): Removed.
10933 (grub_ncurses_getcolor): Likewise.
10934 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10935 (grub_console_putchar): ... this.
10936 (grub_console_putchar): Handle argument difference.
10937 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10938 console_init_early and console_init_lately.
10939 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10940 * kern/misc.c (grub_puts): Removed.
10941 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10942 (grub_vsnprintf_real): Remove str = NULL support.
10943 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10944 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10945 * kern/term.c (grub_putcode): Renamed to ...
10946 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10947 (grub_putchar): Removed.
10948 (grub_xputs_dumb): New function.
10949 (grub_xputs): New variable.
10950 * lib/charset.c: Move from here ...
10951 * normal/charset.c: ... to here.
10952 (grub_ucs4_to_utf8): New function.
10953 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10954 (join_types): New variable.
10955 (unpack_join): New function.
10956 (bidi_types): New variable.
10957 (unpack_bidi): New function.
10958 (get_bidi_type): Likewise.
10959 (get_join_type): Likewise.
10960 (is_mirrored): Likewise.
10961 (grub_unicode_get_comb_type): Likewise.
10962 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10963 (is_type_after): Likewise.
10964 (grub_unicode_aglomerate_comb): Likewise.
10965 (bidi_line_wrap): Likewise.
10966 (grub_bidi_line_logical_to_visual): Likewise.
10967 (grub_bidi_logical_to_visual): Likewise.
10968 (grub_unicode_mirror_code): Likewise.
10969 (grub_unicode_shape_code): Likewise.
10970 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10971 Don't use grub_putchar.
10972 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10973 (grub_normal_reader_init): Likewise.
10974 (grub_xputs_saved): New variable.
10975 (GRUB_MOD_INIT): Set grub_xputs.
10976 (GRUB_MOD_FINI): Restore grub_xputs.
10977 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10978 (menu_init): Avoid printing gfxmenu error.
10979 (show_menu): Use grub_normal_get_char_counter.
10980 * normal/menu_entry.c (update_screen): Fix out-of-array.
10981 (complete): Avoid NULL dereferencing.
10982 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10983 * normal/menu_text.c (print_spaces): Removed.
10984 (grub_print_ucs4): Likewise.
10985 (grub_print_message_indented): Use grub_print_ucs4.
10986 (print_message): Use grub_putcode.
10987 (print_entry): Hanlde diacritics.
10988 * normal/term.c (term_state): New type.
10989 (grub_more_lines): Removed.
10990 (term_states): New variable.
10991 (grub_normal_line_counter): Renamed to ..
10992 (grub_normal_char_counter): ...this. All users updated.
10993 (grub_normal_get_line_counter): Renamed to ...
10994 (grub_normal_get_char_counter): ... this.
10995 (grub_normal_reset_more): New function.
10996 (process_newline): Removed.
10997 (print_more): New function.
10998 (grub_install_newline_hook): Removed.
10999 (map_code): New function.
11000 (grub_puts_terminal): Use grub_print_ucs4.
11001 (putglyph): New function.
11002 (putcode_real): Likewise.
11003 (grub_putcode): Use putcode_real.
11004 (get_maxwidth): New function.
11005 (get_startwidth): Likewise.
11006 (print_ucs4_terminal): Likewise.
11007 (find_term_state): Likewise.
11008 (put_glyphs_terminal): Likewise.
11009 (print_backlog): Likewise.
11010 (print_ucs4_real): Likewise.
11011 (grub_print_ucs4): Likewise.
11012 (grub_xputs_normal): Likewise.
11013 * term/efi/console.c (grub_console_putchar): Output diacritics.
11014 (grub_console_getcharwidth): Removed.
11015 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11016 * term/gfxterm.c (clear_char): Free chars.
11017 (scroll_up): Avoid leaking memory.
11018 (grub_gfxterm_putchar): Support diacritics.
11019 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11020 * term/i386/pc/console.c (grub_console_term_output): Declare as
11021 GRUB_TERM_CODE_TYPE_VGA.
11022 * term/i386/pc/vga.c (grub_vga_term): Declare as
11023 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
11024 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
11025 GRUB_TERM_CODE_TYPE_VGA.
11026 * term/i386/vga_common.c (map_char): Removed.
11027 (grub_console_putchar): Likewise.
11028 (grub_console_getcharwidth): Likewise.
11029 * term/ieee1275/ofconsole.c: Simplify using terminfo.
11030 (colors): Reordered to match terminfo.
11031 (grub_ofconsole_normal_color): Removed.
11032 (grub_ofconsole_writeesc): Likewise.
11033 (grub_ofconsole_highlight_color): Likewise.
11034 (grub_ofconsole_getcharwidth): Likewise.
11035 (grub_ofconsole_setcolorstate): Likewise.
11036 (grub_ofconsole_setcolor): Likewise.
11037 (grub_ofconsole_getcolor): Likewise.
11038 (grub_ofconsole_readkey): Renamed to ...
11039 (readkey): ... this. Remove escape sequence handling. Return -1 on no
11040 key.
11041 (grub_ofconsole_checkkey): Removed.
11042 (grub_ofconsole_getkey): Likewise.
11043 (grub_ofconsole_getxy): Likewise.
11044 (grub_ofconsole_gotoxy): Likewise.
11045 (grub_ofconsole_cls): Likewise.
11046 (grub_ofconsole_refresh): Likewise.
11047 (grub_ofconsole_terminfo_input): New struct.
11048 (grub_ofconsole_terminfo_output): Likewise.
11049 (grub_ofconsole_term_input): Use terminfo.
11050 (grub_ofconsole_term_output): Likewise.
11051 (grub_console_init): Split into ...
11052 (grub_console_init_early): ...this and ...
11053 (grub_console_init_lately): ...this. Use terminfo.
11054 (grub_ofconsole_putchar): Renamed to ...
11055 (put): ... this. Remove mapping.
11056 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11057 * term/serial.c: Simplify using terminfo.
11058 (xpos): Removed.
11059 (ypos): Likewise.
11060 (keep_track): Likewise.
11061 (registered): Likewise.
11062 (input_buf): Likewise.
11063 (npending): Likewise.
11064 (serial_translate_key_sequence): Likewise.
11065 (fill_input_buf): Likewise.
11066 (grub_serial_checkkey): Likewise.
11067 (grub_serial_getkey): Likewise.
11068 (grub_serial_getxy): Likewise.
11069 (grub_serial_gotoxy): Likewise.
11070 (grub_serial_putchar): Likewise.
11071 (grub_serial_cls): Likewise.
11072 (grub_serial_setcolorstate): Likewise.
11073 (grub_serial_setcursor): Likewise.
11074 (serial_hw_init): Use serial_hw_fetch.
11075 (grub_serial_terminfo_input): New variable.
11076 (grub_serial_terminfo_output): Likewise.
11077 (grub_serial_term_input): Use terminfo.
11078 (grub_serial_term_output): Likewise.
11079 * term/terminfo.c (putstr): Use put.
11080 (grub_terminfo_all_free): New function
11081 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
11082 (grub_terminfo_output_register): New function.
11083 (grub_terminfo_output_unregister): Likewise.
11084 (grub_terminfo_getxy): Likewise.
11085 (grub_terminfo_readkey): Likewise.
11086 (grub_terminfo_checkkey): Likewise.
11087 (grub_terminfo_getkey): Likewise.
11088 (grub_terminfo_input_init): Likewise.
11089 (print_terminfo): Likewise.
11090 (grub_cmd_terminfo): Handle encoding.
11091 (grub_terminfo_gotoxy): Track position.
11092 (grub_terminfo_cls): Likewise.
11093 (grub_terminfo_putchar): Likewise.
11094 (grub_terminfo_setcolorstate): Handle colors
11095 (grub_terminfo_cursor_on): This ...
11096 (grub_terminfo_cursor_off): ... and this merged into ...
11097 (grub_terminfo_setcursor): ... this.
11098 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
11099 * unicode/ArabicShaping.txt: New file (imported from Unicode).
11100 * unicode/BidiMirroring.txt: Likewise.
11101 * unicode/UnicodeData.txt: Likewise.
11102 * unicode/COPYING: Likewise.
11103 * util/grub-editenv.c (grub_putchar): Removed.
11104 (grub_xputs_real): New function.
11105 (grub_xputs): New variable.
11106 * util/grub-fstest.c (grub_putchar): Removed.
11107 (grub_xputs_real): New function.
11108 (grub_xputs): New variable.
11109 * util/grub-mkdevicemap.c (grub_putchar): Removed.
11110 (grub_xputs_real): New function.
11111 (grub_xputs): New variable.
11112 * util/grub-probe.c (grub_putchar): Removed.
11113 (grub_xputs_real): New function.
11114 (grub_xputs): New variable.
11115 * util/grub-script-check.c (grub_putchar): Removed.
11116 (grub_xputs_real): New function.
11117 (grub_xputs): New variable.
11118 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
11119 (grub_xputs_real): New function.
11120 (grub_xputs): New variable.
11121 * util/import_unicode.py: New file.
11122 * util/grub-mkfont.c (ft_errmsgs): New array.
11123 (grub_glyph_info): Make bitmap a pointer.
11124 (file_formats): New type WIDTH_SPEC.
11125 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
11126 (options): Add width-spec.
11127 (help): Likewise.
11128 (add_char): Renamed to ...
11129 (add_glyph): ... this.
11130 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
11131 (glyph_replace): New type.
11132 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
11133 (add_char): New function.
11134 (add_subst): Likewise.
11135 (process_cursive): Likewise.
11136 (add_font): Handle GSUB.
11137 (write_font_width_spec): New function.
11138 (main): Sort glyphs.
11139 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
11140 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
11141 * kern/term.c (grub_cls): Moved from here...
11142 * normal/term.c (grub_cls): ... here.
11143
50f0bcda
CW
111442010-07-02 Colin Watson <cjwatson@ubuntu.com>
11145
11146 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
11147 suitable for using within the format argument of printf when
11148 converting grub_size_t.
11149 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
11150 "x" to convert grub_size_t arguments.
11151
40372103
VS
111522010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11153
11154 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
11155 too long captions.
11156 (list_get_minimal_size): Take selection box into account.
11157
942a10c7
VS
111582010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11159
11160 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
11161 NULL font.
11162
2bdb2892
CW
111632010-07-02 Colin Watson <cjwatson@ubuntu.com>
11164
11165 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
11166 devices when iterating over /dev/disk/by-id; they will be handled
11167 later if appropriate, which they aren't always (e.g. LVM).
11168
e03ed6c1
CW
111692010-07-02 Colin Watson <cjwatson@ubuntu.com>
11170
11171 * include/grub/misc.h (grub_reboot): Declare as noreturn.
11172 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
11173 fails.
11174 (grub_halt): Likewise.
11175 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
11176 reset-all fails.
11177 (grub_halt): Don't return, even if all of shut-down, power-off, and
11178 poweroff fail.
11179
47695765
CW
111802010-07-02 Colin Watson <cjwatson@ubuntu.com>
11181
11182 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
11183 arguments, not three.
11184
507736c8
CW
111852010-07-02 Colin Watson <cjwatson@ubuntu.com>
11186
11187 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
11188 * util/grub.d/10_linux.in: Use it to check for LVM, so that
11189 LVM-on-RAID is handled correctly.
11190
e3c8cd37
CW
111912010-07-02 Colin Watson <cjwatson@ubuntu.com>
11192
11193 * docs/grub.texi (Changes from GRUB Legacy): New section.
11194 (Future): Fix typo.
11195
8d4a2fec
CW
111962010-07-02 Colin Watson <cjwatson@ubuntu.com>
11197
11198 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
11199 grub.d/README accidentally ends up executable for one reason or
11200 another. Ignore it.
11201
1c4827be
VS
112022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
11205 (gpt_partition_map_iterate): Support non-512B sectors.
11206
d9a0c941
VS
112072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * kern/efi/init.c (grub_efi_init): Disable watchdog.
11210 Tested by: Seth Goldberg.
11211
48f27e87
VS
112122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
11215 Properly align mbi.
11216 Reported by: Seth Goldberg.
11217
b0c4f956
VS
112182010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11219
11220 * util/grub-mkrescue.in: Avoid module duplication.
11221
105a2e8c
SF
112222010-07-01 Sean Finney <seanius@seanius.net>
11223
11224 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
11225
5944958c
SF
112262010-07-01 Sean Finney <seanius@seanius.net>
11227
11228 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
11229
112302010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 * disk/lvm.c (grub_lvm_checkvalue): New function.
11233 (grub_lvm_check_flag): Likewise.
11234
b79889ba
RM
112352010-07-01 Robert Millan <rmh@gnu.org>
11236
11237 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
11238 Support 'p' as partition separator on kernel of FreeBSD (used
11239 with GPT labels).
11240 (grub_util_biosdisk_get_grub_dev): Likewise.
11241
ec1d04f1
VS
112422010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 Yeeloong firmware port.
11245
11246 * boot/mips/yeeloong/fwstart.S: New file.
11247 * bus/cs5536.c (gpiodump): New const.
11248 (set_io_space): New function.
11249 (set_iod): Likewise.
11250 (set_p2d): Likewise.
11251 (grub_cs5536_init_geode): Likewise.
11252 * commands/mips/yeeloong/lsspd.c: New file.
11253 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
11254 (serial_mod_SOURCES): New variable.
11255 (serial_mod_CFLAGS): Likewise.
11256 (serial_mod_LDFLAGS): Likewise.
11257 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
11258 term/terminfo.c and term/tparm.c.
11259 (pkglib_IMAGES): Add fwstart.img.
11260 (fwstart_img_SOURCES): New variable.
11261 (fwstart_img_CFLAGS): Likewise.
11262 (fwstart_img_ASFLAGS): Likewise.
11263 (fwstart_img_LDFLAGS): Likewise.
11264 (fwstart_img_FORMAT): Likewise.
11265 (pkglib_MODULES): Add lsspd.mod.
11266 (lsspd_mod_SOURCES): New variable.
11267 (lsspd_mod_CFLAGS): Likewise.
11268 (lsspd_mod_LDFLAGS): Likewise.
11269 (pkglib_MODULES): Add halt.mod.
11270 (halt_mod_SOURCES): New variable.
11271 (halt_mod_CFLAGS): Likewise.
11272 (halt_mod_LDFLAGS): Likewise.
11273 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
11274 (serial_mod_SOURCES): Removed.
11275 (serial_mod_CFLAGS): Likewise.
11276 (serial_mod_LDFLAGS): Likewise.
11277 * disk/ata.c (check_device): New function.
11278 (grub_ata_device_initialize): Use check_device.
11279 (grub_ata_iterate): Recheck devices.
11280 (grub_ata_open): Likewise.
11281 (grub_atapi_iterate): Likewise.
11282 (grub_atapi_open): Likewise.
11283 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
11284 (GRUB_ATA_CH1_PORT1): Likewise.
11285 (GRUB_ATA_CH0_PORT2): Likewise.
11286 (GRUB_ATA_CH1_PORT2): Likewise.
11287 * include/grub/mips/loongson.h: New file.
11288 * include/grub/mips/yeeloong/ec.h: Likewise.
11289 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
11290 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
11291 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
11292 * include/grub/misc.h (grub_halt): Declare as noreturn.
11293 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
11294 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
11295 (UART_ENABLE_FIFO_TRIGGER1): New definition.
11296 (UART_ENABLE_DTRRTS): Likewise.
11297 (UART_ENABLE_MODEM): Removed.
11298 (UART_ENABLE_OUT2): New const.
11299 * include/grub/term.h (grub_term_register_input_active): New function.
11300 (grub_term_register_output_active): Likewise.
11301 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
11302 argument.
11303 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
11304 (init_pci): New function.
11305 (grub_machine_init): Execute platform init when firmware. Init serial.
11306 (grub_halt): Implement.
11307 (grub_exit): Likewise.
11308 (grub_reboot): Likewise.
11309 * term/serial.c (serial_hw_init): Update macros.
11310 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
11311 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
11312 (image_targets): New target mipsel-yeeloong-flash.
11313 (generate_image): Support IMAGE_YEELOONG_FLASH.
11314 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
11315 (grub_video_sm712_setup): Init card.
11316 (grub_video_sm712_set_palette): Removed.
11317 * video/sm712_init.c: New file.
11318
ff4a70d2
CW
113192010-06-30 Colin Watson <cjwatson@ubuntu.com>
11320
11321 * Makefile.in (install-local): Temporarily prepend $(builddir) to
11322 PATH when running help2man and then run it on the unadorned
11323 executable names, rather than passing $(builddir)/* paths to
11324 help2man. This avoids the build directory ending up in generated
11325 manual pages.
11326
1246efeb
CW
113272010-06-29 Colin Watson <cjwatson@ubuntu.com>
11328
11329 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
11330 to avoid accidents when debugging with 'sh -x'.
11331 * util/grub-mkrescue.in: Likewise.
11332 * util/grub.d/00_header.in: Likewise.
11333 * util/grub.d/10_hurd.in: Likewise.
11334 * util/grub.d/10_kfreebsd.in: Likewise.
11335 * util/grub.d/10_linux.in: Likewise.
11336 * util/grub.d/10_netbsd.in: Likewise.
11337 * util/grub.d/10_windows.in: Likewise.
11338 * util/grub.d/20_linux_xen.in: Likewise.
11339 * util/grub.d/30_os-prober.in: Likewise.
11340 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11341
1ba9b889
CW
113422010-06-29 Colin Watson <cjwatson@ubuntu.com>
11343
11344 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
11345 last character in the buffer.
11346 Reported by: Vladimir Serbinenko.
11347
dccaf99d
RM
113482010-06-29 Robert Millan <rmh@gnu.org>
11349
11350 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
11351 (Command-line and menu entry commands): Document `badram' command.
11352
d500ed12
RM
113532010-06-28 Robert Millan <rmh@gnu.org>
11354
11355 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
11356 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
11357 command using ${GRUB_BADRAM} as parameter.
11358
20bc84a6
CW
113592010-06-28 Colin Watson <cjwatson@ubuntu.com>
11360
11361 * docs/grub.texi (Device map): New section.
11362 (Themes): New section (stub).
11363 * Makefile.in (docs/grub.info): The info documentation now builds
11364 without errors. Make sure it stays that way.
11365
4045dee1
VS
113662010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 Use normal parser for menu entries.
11369 Reported by: Thomas Frauendorfer
11370
11371 * include/grub/parser.h (grub_parser_execute): Don't export.
11372 * normal/menu.c (grub_menu_execute_entry_real): New function.
11373 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
11374
bca58c7b
CW
113752010-06-28 Colin Watson <cjwatson@ubuntu.com>
11376
11377 * docs/grub.texi (Embedded configuration): New section (replacing
11378 old "Preset Menu" stub).
11379 (Images): New section.
11380 (configfile): Note that any menu entries defined in `file' are shown
11381 immediately.
11382
dec53e63
JT
113832010-06-28 Josh Triplett <josh@joshtriplett.org>
11384
11385 * mmap/i386/pc/mmap_helper.S: Set CF on return.
11386
c06e40f7
CW
113872010-06-28 Colin Watson <cjwatson@ubuntu.com>
11388
11389 * util/grub-install.in: Add --debug-image= option.
11390
cb88052b
CW
113912010-06-28 Colin Watson <cjwatson@ubuntu.com>
11392
11393 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
11394 possible on Linux.
11395
11396 * util/deviceiter.c (check_device): Rename to ...
11397 (check_device_readable_unique): ... this. Update all callers.
11398 Maintain and check a list of which devices (by canonicalized name)
11399 have already been seen.
11400 (clear_seen_devices): New function.
11401 (compare_file_names) [__linux__]: New function.
11402 (grub_util_iterate_devices): Clear the list of seen devices on exit
11403 and (just in case) on entry.
11404 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
11405 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
11406 seen-devices list, superseded by general code in check_device.
11407
bbe34652
CW
114082010-06-28 Colin Watson <cjwatson@ubuntu.com>
11409
11410 * commands/cat.c (options): New variable.
11411 (grub_cmd_cat): Parse options. If the --dos option is given, print
11412 DOS-style "\r\n" line endings as simple newlines (Debian bug
11413 #586358).
11414 (GRUB_MOD_INIT): Use extcmd.
11415 (GRUB_MOD_FINI): Likewise.
11416 * docs/grub.texi (cat): Document --dos.
11417
412e09f3
VS
114182010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11419
11420 XEN with Linux grub-mkconfig support.
11421
11422 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
11423 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
11424 GRUB_CMDLINE_XEN_DEFAULT.
11425 * util/grub.d/20_linux_xen.in: New file.
11426
53f3ef38 114272010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
11428
11429 Initialise VGA video on qemu ourselves.
11430
11431 * boot/i386/qemu/boot.S: Don't call 0xc000.
11432 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
11433 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
11434 (kernel_img_HEADERS): Add pci.h.
11435 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
11436 * configure.ac: Force unifont on qemu and yeeloong.
11437 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
11438 (grub_vga_palette_write): Use correct register.
11439 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
11440 Call grub_qemu_init_cirrus.
11441 * kern/i386/qemu/init.c: New file.
11442 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
11443
11444 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
11445
c75be4fb
PR
114462010-06-26 Pavel Roskin <proski@gnu.org>
11447
11448 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
11449 13.
11450
d8034603
CW
114512010-06-26 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * docs/grub.texi (Simple configuration): Explain that
11454 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
11455 set to `true' to disable their respective recovery entries, not
11456 merely set.
11457
3fa06487
CW
114582010-06-26 Colin Watson <cjwatson@ubuntu.com>
11459
11460 Make the `source' command slightly faster.
11461
11462 * normal/main.c (grub_normal_execute): Don't re-read list files when
11463 nested.
11464
e9b29642
CW
114652010-06-23 Colin Watson <cjwatson@ubuntu.com>
11466
11467 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
11468 field position and mask size to red fields from mode_info, not
11469 green.
11470 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
11471 Remove redundant tag->common.framebuffer_type assignment.
11472 Reported by: Seth Goldberg.
11473
e726542f
CW
114742010-06-23 Colin Watson <cjwatson@ubuntu.com>
11475
11476 Sync up other versions of the Linux loader with Robert Millan's
11477 change of 2010-01-09, "Make loader output a bit more user-friendly".
11478
11479 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
11480 grub_dprintf().
11481 (grub_cmd_linux): Likewise.
11482 (grub_cmd_initrd): Likewise.
11483 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
11484 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11485
d6e98a17
CW
114862010-06-21 Colin Watson <cjwatson@ubuntu.com>
11487
11488 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
11489 larger than MEMORY_MAP_SIZE.
11490
14d3f08e
BC
114912010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
11492
11493 Fix parallel build.
11494
11495 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
11496 dependency.
11497 * script/parser.y: #include grub_script.tab.h header.
11498
4f9613a3
VS
114992010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11500
11501 Support >3GiB and <16MiB RAM in i386-qemu.
11502
11503 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
11504 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
11505 (grub_lower_mem): Removed.
11506 (grub_upper_mem): Likewise.
11507 (mem_size): Made static.
11508 (above_4g): New variable.
11509 (grub_machine_mmap_init): Detect small mem_size and above_4g.
11510 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
11511 support.
11512
05e51879
VS
115132010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11514
11515 Cirrus 5446 and Bochs video cards support.
11516
11517 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
11518 video_bochs.mod
11519 (video_cirrus_mod_SOURCES): New variable.
11520 (video_cirrus_mod_CFLAGS): Likewise.
11521 (video_cirrus_mod_LDFLAGS): Likewise.
11522 (video_bochs_mod_SOURCES): Likewise.
11523 (video_bochs_mod_CFLAGS): Likewise.
11524 (video_bochs_mod_LDFLAGS): Likewise.
11525 * include/grub/vga.h: New file.
11526 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
11527 (grub_video_fb_set_page_t): New type.
11528 (grub_video_fb_setup): New prototype.
11529 (grub_video_fb_swap_buffers): Likewise.
11530 (grub_video_fb_get_info_and_fini): Likewise.
11531 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
11532 (CRTC_DATA_PORT): Likewise.
11533 (CRTC_CURSOR): Likewise.
11534 (CRTC_CURSOR_ADDR_HIGH): Likewise.
11535 (CRTC_CURSOR_ADDR_LOW): Likewise.
11536 (CRTC_CURSOR_DISABLE): Likewise.
11537 (update_cursor): Use grub_vga_cr_write.
11538 (grub_vga_text_setcursor): Likewise.
11539 * video/bochs.c: New file.
11540 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
11541 (palette): Likewise.
11542 (palette_size): Likewise.
11543 (framebuffer): New variable.
11544 (grub_video_fb_init): Use 'framebuffer'.
11545 (grub_video_fb_fini): Likewise.
11546 (grub_video_fb_get_info): Likewise.
11547 (grub_video_fb_get_palette): Likewise.
11548 (grub_video_fb_set_palette): Likewise.
11549 (grub_video_fb_set_viewport): Likewise.
11550 (grub_video_fb_get_viewport): Likewise.
11551 (grub_video_fb_map_color): Likewise.
11552 (grub_video_fb_map_rgb): Likewise.
11553 (grub_video_fb_map_rgba): Likewise.
11554 (grub_video_fb_unmap_color): Likewise.
11555 (grub_video_fb_unmap_color_int): Likewise.
11556 (grub_video_fb_fill_rect): Likewise.
11557 (grub_video_fb_blit_bitmap): Likewise.
11558 (grub_video_fb_blit_render_target): Likewise.
11559 (grub_video_fb_scroll): Likewise.
11560 (grub_video_fb_create_render_target): Likewise.
11561 (grub_video_fb_doublebuf_blit_init): Likewise.
11562 (grub_video_fb_set_active_render_target): Handle doublebuffering.
11563 (doublebuf_pageflipping_update_screen): New function.
11564 (doublebuf_pageflipping_init): Likewise.
11565 (grub_video_fb_setup): Likewise.
11566 (grub_video_fb_swap_buffers): Likewise.
11567 (grub_video_fb_get_info_and_fini): Likewise.
11568 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
11569 All users updated.
11570 (doublebuf_pageflipping_commit): Restructured into ...
11571 (doublebuf_pageflipping_set_page): ... this.
11572 (doublebuf_pageflipping_update_screen): Removed.
11573 (doublebuf_pageflipping_init): Likewise.
11574 (double_buffering_init): Likewise.
11575 (grub_video_vbe_setup): Use grub_video_fb_setup.
11576 (grub_video_vbe_swap_buffers): Removed.
11577 (grub_video_vbe_set_active_render_target): Likewise.
11578 (grub_video_vbe_get_active_render_target): Likewise.
11579 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
11580 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
11581 grub_video_fb_set_active_render_target and
11582 grub_video_fb_get_active_render_target.
11583 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
11584 (SEQUENCER_DATA_PORT): Likewise.
11585 (MAP_MASK_REGISTER): Likewise.
11586 (CRTC_ADDR_PORT): Likewise.
11587 (CRTC_DATA_PORT): Likewise.
11588 (START_ADDR_HIGH_REGISTER): Likewise.
11589 (START_ADDR_LOW_REGISTER): Likewise.
11590 (GRAPHICS_ADDR_PORT): Likewise.
11591 (GRAPHICS_DATA_PORT): Likewise.
11592 (READ_MAP_REGISTER): Likewise.
11593 (INPUT_STATUS1_REGISTER): Likewise.
11594 (INPUT_STATUS1_VERTR_BIT): Likewise.
11595 (get_map_mask): Use grub_vga_sr_read.
11596 (set_map_mask): Use grub_vga_sr_write.
11597 (set_read_map): Use grub_vga_gr_write.
11598 (set_start_address): Use grub_vga_cr_write.
11599 * video/sm712.c (framebuffer): Remove leftover fields.
11600
4321c64a
CW
116012010-06-20 Colin Watson <cjwatson@ubuntu.com>
11602
11603 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
11604 setting GRUB_VIDEO_BACKEND. Make it available as a user override
11605 instead. Replace the gfxterm backend check with a check that
11606 ${GRUB_PREFIX}/video.lst is non-empty.
11607 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
11608 again.
11609 (load_video): New generated function. Call it before loading
11610 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11611 * util/grub.d/10_linux.in (linux_entry): Call load_video.
11612 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
11613 * docs/grub.texi (Simple configuration): Document
11614 GRUB_VIDEO_BACKEND.
11615
116162010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Use video functions in linux and xnu loaders.
11619
11620 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
11621 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
11622 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
11623 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
11624 loader/i386/pc/linux.c.
11625 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
11626 (find_line_len): Removed.
11627 (find_framebuf): Likewise.
11628 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
11629 * loader/i386/efi/xnu.c: Removed.
11630 * loader/i386/pc/xnu.c: Moved from here...
11631 * loader/i386/xnu.c: ...here.
11632
11633 Enable priorities in video drivers.
11634
11635 * include/grub/video.h (grub_video_adapter_prio_t): New type.
11636 (grub_video_adapter): New field prio.
11637 (grub_video_register): Respect prio when inserting.
11638 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
11639 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
11640 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
11641 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
11642 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
11643 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
11644 * video/sm712.c (grub_video_sm712_adapter): Likewise.
11645
11646 Fix SDL driver ID.
11647
11648 * include/grub/video.h (grub_video_driver_id_t): New value
11649 GRUB_VIDEO_DRIVER_SDL.
11650 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
11651
7d24e434
CW
116522010-06-17 Colin Watson <cjwatson@ubuntu.com>
11653
11654 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
11655 argument to printf.
11656 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11657
c88a83f6
CW
116582010-06-17 Colin Watson <cjwatson@ubuntu.com>
11659
11660 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
11661 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11662
094dfb69
CW
116632010-06-17 Colin Watson <cjwatson@ubuntu.com>
11664
11665 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
11666 directly, and recommend grub-install instead.
11667 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11668
2164da6b
CW
116692010-06-17 Colin Watson <cjwatson@ubuntu.com>
11670
11671 Fix i386-pc prefix handling with nested partitions (Debian bug
11672 #585068). Note that the case where the core image is booted using
11673 multiboot and relocated from its original location still requires
11674 more work.
11675
11676 * kern/i386/pc/init.c (make_install_device): If the prefix starts
11677 with "(,", fill the boot drive in between those two characters, but
11678 expect that a full partition specification including partition map
11679 names will follow.
11680 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
11681 specified, write a prefix without the drive name but including a
11682 full partition specification.
11683
044e2e60
CW
116842010-06-16 Colin Watson <cjwatson@ubuntu.com>
11685
11686 * util/grub-mkconfig.in: Ignore non-option arguments, for
11687 compatibility with older versions (before 2010-06-12) which did the
11688 same. In particular, this makes it easier to ship an update-grub
11689 wrapper which is compatible with that used with GRUB Legacy (Debian
11690 bug #586056).
11691
5591324f
GS
116922010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11693
11694 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
11695 for manual page generation.
11696
662e24d5
GS
116972010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11698
11699 * po/POTFILES: Remove leftover commands/handler.c.
11700
8d70754e
CW
117012010-06-14 Colin Watson <cjwatson@ubuntu.com>
11702
11703 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11704 left this script non-functional.
11705
41160e2e
CW
117062010-06-14 Colin Watson <cjwatson@ubuntu.com>
11707
11708 * docs/man/grub-emu.h2m: New file.
11709
b5309cc1
CW
117102010-06-13 Colin Watson <cjwatson@ubuntu.com>
11711
11712 * docs/grub.texi (Commands): Document reduced command set in rescue
11713 mode.
11714 (cpuid): New section.
11715
fcb2d090
GS
117162010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11717
11718 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11719 new partition naming style.
11720 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11721
96e5c556
BC
117222010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11723
11724 Add "-o grub.iso" like cmdline options support.
11725
11726 * util/grub-install.in: Improve cmdline option parsing.
11727 * util/grub-mkconfig.in: Likewise.
11728 * util/grub-mkrescue.in: Likewise.
11729 * util/grub-reboot.in: Likewise.
11730 * util/grub-set-default.in: Likewise.
11731 * util/i386/efi/grub-install.in: Likewise.
11732 * util/ieee1275/grub-install.in: Likewise.
11733 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11734
c16be99b
CW
117352010-06-12 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * .bzrignore: Ignore 41_custom.
11738
ce08a9fb
TS
117392010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11740
11741 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11742
7beac90c
CW
117432010-06-12 Colin Watson <cjwatson@ubuntu.com>
11744
11745 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11746 prototype declarations.
11747
11748 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11749 generating fs, partmap, and video lists.
11750 * include/grub/fs.h (grub_fs_register): Omit prototype if
11751 GRUB_LST_GENERATOR is defined.
11752 * include/grub/partition.h (grub_partition_map_register): Likewise.
11753 * include/grub/video.h (grub_video_register): Likewise.
11754
1c8f0f8d
JM
117552010-06-12 Javier Martín <lordhabbit@gmail.com>
11756
11757 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11758
a6085973
TS
117592010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11760
11761 * util/grub-mkrescue.in: Support --xorriso argument.
11762
25c56d29
VS
117632010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11766 Suggested by: Thomas Schmitt.
11767
e03e4b24
VS
117682010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11771 Suggested by: Thomas Schmitt.
11772
57711df6
VS
117732010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 custom.cfg support.
11776
11777 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11778 * util/grub.d/41_custom.in: New file.
11779
ee62c427
CW
117802010-06-12 Colin Watson <cjwatson@ubuntu.com>
11781
11782 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11783 been merged back into normal.
11784
283af07a
CW
117852010-06-11 Colin Watson <cjwatson@ubuntu.com>
11786
11787 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11788 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11789
56a0d956
CW
117902010-06-11 Colin Watson <cjwatson@ubuntu.com>
11791
11792 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11793 when generating manual pages.
11794 * docs/man/grub-bin2h.h2m: New file.
11795 * docs/man/grub-editenv.h2m: New file.
11796 * docs/man/grub-fstest.h2m: New file.
11797 * docs/man/grub-install.h2m: New file.
11798 * docs/man/grub-macho2img.h2m: New file.
11799 * docs/man/grub-mkconfig.h2m: New file.
11800 * docs/man/grub-mkdevicemap.h2m: New file.
11801 * docs/man/grub-mkfont.h2m: New file.
11802 * docs/man/grub-mkimage.h2m: New file.
11803 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11804 * docs/man/grub-mkrelpath.h2m: New file.
11805 * docs/man/grub-mkrescue.h2m: New file.
11806 * docs/man/grub-ofpathname.h2m: New file.
11807 * docs/man/grub-pe2elf.h2m: New file.
11808 * docs/man/grub-probe.h2m: New file.
11809 * docs/man/grub-reboot.h2m: New file.
11810 * docs/man/grub-script-check.h2m: New file.
11811 * docs/man/grub-set-default.h2m: New file.
11812 * docs/man/grub-setup.h2m: New file.
11813
3a37e322
VS
118142010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11815
11816 Use FOR_* macros instead of *_iterate whenever possible.
11817
11818 * commands/handler.c: Removed.
11819 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11820 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11821 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11822 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11823 (grub_probe_SOURCES): Remove kern/parser.c.
11824 (util/grub-script-check.c_DEPENDENCIES): Removed.
11825 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11826 and grub_script_check_init.c.
11827 (grub_script_check_init.lst): Removed.
11828 (grub_script_check_init.h): Likewise.
11829 (grub_script_check_init.c): Likewise.
11830 (pkglib_MODULES): Remove handler.mod and sh.mod.
11831 (handler_mod_SOURCES): Removed.
11832 (handler_mod_CFLAGS): Likewise.
11833 (handler_mod_LDFLAGS): Likewise.
11834 (normal_mod_SOURCES): Remove normal/handler.c.
11835 Add script/main.c, script/script.c, script/execute.c,
11836 script/function.c, script/lexer.c, grub_script.tab.c
11837 and grub_script.yy.c.
11838 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11839 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11840 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11841 (grub_setup_SOURCES): Remove kern/parser.c.
11842 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11843 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11844 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11845 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11846 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11847 (grub_setup_SOURCES): Remove kern/parser.c.
11848 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11849 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11850 * include/grub/command.h (grub_command_iterate): Removed.
11851 (FOR_COMMANDS): New macro.
11852 * include/grub/dl.h (grub_dl): New member next.
11853 (grub_dl_iterate): Removed.
11854 (grub_dl_head): New variable declaration.
11855 (FOR_DL_MODULES): New macro.
11856 * include/grub/fs.h: Include list.h.
11857 (grub_fs): Make next first element.
11858 (grub_fs_list): New variable declaration.
11859 (grub_fs_register): Make inline.
11860 (grub_fs_unregister): Likewise.
11861 (grub_fs_iterate): Removed.
11862 (FOR_FILESYSTEMS): New macro.
11863 * include/grub/handler.h: Removed.
11864 * include/grub/list.h (grub_list_hook_t): Removed.
11865 (grub_list_test_t): Likewise.
11866 (grub_list_pop): Likewise.
11867 (grub_list_iterate): Likewise.
11868 (grub_list_insert): Likewise.
11869 (FOR_LIST_ELEMENTS): New macro.
11870 * include/grub/parser.h (grub_parser_class): Removed.
11871 (grub_parser_register): Likewise.
11872 (grub_parser_unregister): Likewise.
11873 (grub_parser_get_current): Likewise.
11874 (grub_parser_set_current): Likewise.
11875 (grub_register_rescue_parser): Likewise.
11876 (grub_rescue_parse_line): New function.
11877 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11878 * include/grub/script_sh.h (grub_script_function_list): New variable
11879 declaration.
11880 (FOR_SCRIPT_FUNCTIONS): New macro.
11881 (grub_script_function_iterate): Removed.
11882 (grub_normal_parse_line): New prototype.
11883 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11884 (FOR_DISABLED_TERM_INPUTS): Likewise.
11885 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11886 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11887 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11888 element.
11889 (grub_video_register): Inline.
11890 (grub_video_unregister): Likewise.
11891 (grub_video_adapter_list): New variable declaration.
11892 (grub_video_iterate): Removed.
11893 (FOR_VIDEO_ADAPTERS): New macro.
11894 * kern/dl.c (grub_dl_list): Removed. All users updated.
11895 (grub_dl_iterate): Removed.
11896 * kern/fs.c (grub_fs_list): Make global.
11897 (grub_fs_register): Removed.
11898 (grub_fs_unregister): Likewise.
11899 (grub_fs_iterate): Likewise.
11900 * kern/handler.c: Removed.
11901 * kern/list.c (grub_list_pop): Removed.
11902 (grub_list_iterate): Likewise.
11903 (grub_list_insert): Likewise.
11904 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11905 (grub_prio_list_insert): Don't use grub_list_insert.
11906 * kern/main.c (grub_register_rescue_parser): Don't call
11907 grub_register_rescue_parser.
11908 * kern/parser.c (grub_parser_class): Removed.
11909 (grub_parser_execute): Use grub_rescue_parse_line.
11910 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11911 (grub_rescue_parser): Removed.
11912 (grub_register_rescue_parser): Likewise.
11913 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11914 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11915 (grub_auth_check_authentication): Likewise.
11916 * normal/completion.c (iterate_command): Removed.
11917 (grub_normal_do_completion): Use FOR_COMMANDS.
11918 * normal/handler.c: Removed.
11919 * normal/main.c (read_config_file): Remove parser changing.
11920 (grub_normal_execute): Don't call read_handler_list.
11921 (grub_normal_read_line_real): Statically allocate prompt.
11922 (grub_cmdline_run): Use grub_normal_parse_line.
11923 (GRUB_MOD_FINI): Don't call free_handler_list.
11924 * normal/menu_entry.c (run): Likewise.
11925 * script/function.c (grub_script_function_list): Make global.
11926 (grub_script_function_iterate): Removed.
11927 * script/main.c (grub_normal_parse_line): Make global.
11928 (grub_sh_parser): Removed.
11929 (GRUB_MOD_INIT): Likewise.
11930 (GRUB_MOD_FINI): Likewise.
11931 * tests/lib/functional_test.c (grub_functional_test): Use
11932 FOR_LIST_ELEMENTS.
11933 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11934 (grub_test_run): Use FOR_LIST_ELEMENTS.
11935 * tests/lib/unit_test.c (main): Likewise.
11936 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11937 grub_list_pop.
11938 * util/grub-fstest.c (grub_term_input_class): Removed.
11939 (grub_term_output_class): Likewise.
11940 * util/grub-probe.c: Likewise.
11941 * util/i386/pc/grub-setup.c: Likewise.
11942 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11943 * util/grub-script-check.c (main): Don't call grub_init_all and
11944 grub_fini_all.
11945 * video/video.c (grub_video_adapter_list): Make global.
11946 (grub_video_register): Removed.
11947 (grub_video_unregister): Likewise.
11948 (grub_video_iterate): Likewise.
11949
6289c3a7
VS
119502010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11953 reported by Henrique Ferreiro.
11954
91460247
RM
119552010-06-09 Robert Millan <rmh@gnu.org>
11956
11957 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11958 ones, when both are available.
11959
0ea7c4f9
GS
119602010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11961
11962 Make --version uniform and avoid hard-coded program name.
11963
11964 * util/grub-mkimage.c (main): Use `program_name' instead of
11965 hard-coded string.
11966 * util/i386/pc/grub-setup.c (main): Likewise.
11967 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11968 * util/grub-install.in: Save the basename of $0 in $self, and use the
11969 latter in informational messages. Use the same format for --version
11970 as the binary programs.
11971 * util/grub-mkconfig.in: Likewise.
11972 * util/grub-mkrescue.in: Likewise.
11973 * util/grub-reboot.in: Likewise.
11974 * util/grub-set-default.in: Likewise.
11975 * util/i386/efi/grub-install.in: Likewise.
11976 * util/ieee1275/grub-install.in: Likewise.
11977 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11978
e8a6f3b6
GS
119792010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11980
11981 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11982 embedding area. Use <= instead of == when checking for non-emptiness.
11983
f4d095d7
GS
119842010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11985
11986 * configure.ac: Add `.' to the directories searched for unifont.
11987
50e532ca
CW
119882010-06-08 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11991 grub_script.yy.h.
11992
d39f3dec
CW
119932010-06-08 Colin Watson <cjwatson@ubuntu.com>
11994
11995 * docs/grub.texi (History): Expand to cover GRUB 2.
11996 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11997 commands, not `terminal'.
11998 (serial): Likewise.
11999 (terminal_input): New section.
12000 (terminal_output): New section.
12001 (uppermem): New section (stub).
12002 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12003
6ef0ddb4
CW
120042010-06-08 Colin Watson <cjwatson@ubuntu.com>
12005
12006 * docs/grub.texi (Security): Menu entries are unrestricted by
12007 default, not restricted to superusers as I had previously thought.
12008 Reword to account for this.
12009
e0f4c438
CW
120102010-06-07 Colin Watson <cjwatson@ubuntu.com>
12011
12012 * kern/emu/misc.c (device_mapper_null_log): New function.
12013 (grub_device_mapper_supported): New function.
12014 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12015 prototype.
12016 * kern/emu/hostdisk.c (find_partition_start): Check whether
12017 device-mapper is supported before trying to use it.
12018 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
12019
da908200
CW
120202010-06-07 Colin Watson <cjwatson@ubuntu.com>
12021
12022 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
12023 (File name syntax): Likewise.
12024 (help): --all is no longer supported in GRUB 2. Be more precise
12025 about pattern matching.
12026
fb55c3ac
CW
120272010-06-07 Colin Watson <cjwatson@ubuntu.com>
12028
12029 * normal/completion.c (grub_normal_do_completion): When completing
12030 arguments to "set" and the current word contains an equals sign,
12031 skip to after the equals sign before starting completion.
12032
258c2573
CW
120332010-06-07 Colin Watson <cjwatson@ubuntu.com>
12034
12035 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
12036
ee75515e
CW
120372010-06-07 Colin Watson <cjwatson@ubuntu.com>
12038
12039 * docs/grub.texi (Network): New section.
12040 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
12041 `(nd)' as in GRUB Legacy.
12042 (pxe_unload): New section.
12043
a6a700aa
CW
120442010-06-07 Colin Watson <cjwatson@ubuntu.com>
12045
12046 * docs/grub.texi (Troubleshooting): `echo' is not usually available
12047 in the rescue shell, so recommend using `set' instead. Thanks,
12048 Jordan Uggla.
12049
4003dd38
CW
120502010-06-07 Colin Watson <cjwatson@ubuntu.com>
12051
12052 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
12053 (password): New section.
12054 (password_pbkdf2): New section.
12055 (search): New section.
12056 (Security): New section.
12057 (Troubleshooting): New section, currently very incomplete.
12058 (Invoking grub-mkpasswd-pbkdf2): New section.
12059 (Internals): New section, currently very incomplete.
12060
e1cbcc40
CW
120612010-06-07 Colin Watson <cjwatson@ubuntu.com>
12062
12063 * util/grub.d/00_header.in: Add some more quoting (of
12064 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
12065 work again.
12066 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
12067
db8fa1ad
CW
120682010-06-07 Colin Watson <cjwatson@ubuntu.com>
12069
12070 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
12071 to `count', fixing variable shadowing that broke the -c option.
12072
120732010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
12074
12075 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
12076 in case they contain spaces.
12077
f28a9212
CW
120782010-06-04 Colin Watson <cjwatson@ubuntu.com>
12079
12080 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
12081 "part_" to partmap module names, in line with grub-install.
12082 Reported by: Jindřich Makovička (Debian bug #584426).
12083
9cdfe32f
CW
120842010-06-04 Colin Watson <cjwatson@ubuntu.com>
12085
12086 * util/grub-mkimage.c: Make target-related error messages slightly
12087 more helpful; -O talks about "format". Explicitly point to the use
12088 of -O if no target is specified.
12089 Reported by: Didier Raboud (Debian bug #584415).
12090
795b593a
CW
120912010-06-03 Colin Watson <cjwatson@ubuntu.com>
12092
12093 * INSTALL: Document several build requirements for optional features
12094 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
12095
9d9b5833
GS
120962010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12097
12098 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
12099 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
12100 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
12101
0819fec8
CW
121022010-06-02 Colin Watson <cjwatson@ubuntu.com>
12103
12104 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
12105 Thanks to Jordan Uggla for spotting this.
12106
49396b4f
VS
121072010-06-02 Aleš Nesrsta <starous@volny.cz>
12108
12109 Finally make USB usable.
12110
12111 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
12112 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
12113 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
12114 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
12115 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
12116 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
12117 (GRUB_OHCI_FSMPS): Likewise.
12118 (GRUB_OHCI_PERIODIC_START): Likewise.
12119 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
12120 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
12121 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
12122 (GRUB_OHCI_SET_PORT_RESET): Likewise.
12123 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
12124 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
12125 (grub_ohci_transaction): Likewise.
12126 (grub_ohci_transfer): Improve condition detection algorithms.
12127 Handle toggle property. Program the transactions correctly.
12128 Improve error handling. Various important fixups.
12129 (grub_ohci_portstatus): Put register writes in right order.
12130 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
12131 (grub_uhci_transfer): Don't show "failed" message on success.
12132 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
12133 array.
12134 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
12135 determine its size.
12136 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
12137 before initialization is completed. Use IN direction for empty
12138 transfers. Use last_trans and compute toggle.
12139 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
12140 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
12141 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
12142 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
12143 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
12144 (grub_usb_device): Increase toggle to 256.
12145 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
12146 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
12147 GRUB_USBMS_SUBCLASS_SFF8070.
12148 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
12149 (grub_scsi_inquiry): New member page and alloc_length.
12150 (grub_scsi_request_sense): New structure.
12151 (grub_scsi_request_sense_data): Likewise.
12152 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
12153 control.
12154 * disk/scsi.c (grub_scsi_request_sense): New function.
12155 (grub_scsi_test_unit_ready): Likewise.
12156 (grub_scsi_inquiry): Fill new fields.
12157 (grub_scsi_read_capacity): Likewise.
12158 (grub_scsi_read10): Add request sense at the end.
12159 (grub_scsi_read12): Likewise.
12160 (grub_scsi_write10): Likewise.
12161 (grub_scsi_write12): Likewise.
12162 (grub_scsi_open): Add Test Unit Ready.
12163 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
12164 Support additional subclasses. Con't clear halt yet. Activate the
12165 proper config. Calculate LUNs correctly.
12166 (grub_usbms_transfer): Various important fixups.
12167
121682010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12169
12170 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
12171 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
12172 (grub_ohci_fini_hw): New function.
12173 (grub_ohci_restore_hw): Likewise.
12174 (GRUB_MOD_INIT(ohci)): Register preboot hook.
12175 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
12176 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
12177
121782010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12179
12180 Dedicated DMA allocations.
12181
12182 * bus/pci.c (grub_memalign_dma32): New function
12183 (grub_dma_free): Likewise.
12184 (grub_dma_get_virt): Likewise.
12185 (grub_dma_get_phys): Likewise.
12186 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
12187 (grub_ohci_pci_iter): Use dma32_alloc.
12188 (grub_ohci_transfer): Likewise.
12189 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12190 (grub_usb_bulk_readwrite): Likewise.
12191 * include/grub/pci.h: Add declarations.
12192
121932010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12194
12195 CS5536 support.
12196
12197 * bus/cs5536.c: New file.
12198 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
12199 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
12200 (cs5536_mod_SOURCES): New variable.
12201 (cs5536_mod_CFLAGS): Likewise.
12202 (cs5536_mod_LDFLAGS): Likewise.
12203 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
12204 machine/pci.h.
12205 (kernel_img_SOURCES): Add bus/cs5536.c.
12206 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
12207 usb_keyboard.mod.
12208 (usb_mod_SOURCES): New variable.
12209 (usb_mod_CFLAGS): New variable.
12210 (usb_mod_LDFLAGS): New variable.
12211 (usbtest_mod_SOURCES): New variable.
12212 (usbtest_mod_CFLAGS): New variable.
12213 (usbtest_mod_LDFLAGS): New variable.
12214 (ohci_mod_SOURCES): New variable.
12215 (ohci_mod_CFLAGS): New variable.
12216 (ohci_mod_LDFLAGS): New variable.
12217 (usbms_mod_SOURCES): New variable.
12218 (usbms_mod_CFLAGS): New variable.
12219 (usbms_mod_LDFLAGS): New variable.
12220 (usb_keyboard_mod_SOURCES): New variable.
12221 (usb_keyboard_mod_CFLAGS): New variable.
12222 (usb_keyboard_mod_LDFLAGS): New variable.
12223 * include/grub/smbus.h: New file.
12224 * include/grub/cs5536.h: New file.
12225
0b35b2a9
CW
122262010-06-02 Colin Watson <cjwatson@ubuntu.com>
12227
12228 * util/grub.d/00_header.in: Add safety check to make sure that
12229 ${locale_dir} exists before trying to probe it.
12230
ca0afd5b
CW
122312010-06-02 Colin Watson <cjwatson@ubuntu.com>
12232
12233 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
12234 per the GNU Coding Standards; this is now too obscure to be worth
12235 documenting.
12236 (QNX): Likewise.
12237 (chainloader): Remove cross-reference to `SCO UnixWare'.
12238
1c41aa78
CW
122392010-06-02 Colin Watson <cjwatson@ubuntu.com>
12240
12241 * docs/grub.texi (Chain-loading): New section.
12242 (DOS/Windows): New section, borrowed from GRUB Legacy with details
12243 adjusted for GRUB 2.
12244 (SCO UnixWare): Likewise.
12245 (QNX): Likewise.
12246 (chainloader): Add reference to `Block list syntax'.
12247 (drivemap): New section.
12248 (parttool): New section.
12249
bb8ea0f5
CW
122502010-06-02 Colin Watson <cjwatson@ubuntu.com>
12251
12252 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
12253 the grub shell'.
12254 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
12255 (Installing GRUB using grub-install): Remove reference to the grub
12256 shell; mention `grub-mkimage' and `grub-setup' instead.
12257 (Invoking grub-install): Likewise.
12258 (Interface): Add reference to `Menu entry editor'.
12259 (serial): Remove `--device' option.
12260
288dd6ed
CW
122612010-06-02 Colin Watson <cjwatson@ubuntu.com>
12262
12263 * docs/grub.texi (Configuration): New section, documenting
12264 configuration file generation using grub-mkconfig. I've left a slot
12265 for documenting the full shell scripting format but have not yet
12266 started on writing that up.
12267 (Invoking grub-mkconfig): New section.
12268
34c9f0e9
CW
122692010-06-02 Colin Watson <cjwatson@ubuntu.com>
12270
12271 * docs/grub.texi (direntry): Remove grub-terminfo reference.
12272 (GNU GRUB manual): Likewise.
12273 (General commands): Update description of `terminfo' for GRUB 2.
12274
9121567e
CW
122752010-06-02 Colin Watson <cjwatson@ubuntu.com>
12276
12277 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
12278 (GRUB_MOD_INIT): Fix capitalisation.
12279 * docs/grub.texi (Command-line and menu entry commands): Document
12280 gettext and gptsync commands.
12281
ab631611
CW
122822010-06-02 Colin Watson <cjwatson@ubuntu.com>
12283
12284 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
12285 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
12286
bde4a9ac
CW
122872010-06-01 Colin Watson <cjwatson@ubuntu.com>
12288
12289 Add btrfs probing support, currently only in the single-device case.
12290
12291 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
12292 function.
12293 (grub_guess_root_device): Call find_root_device_from_mountinfo
12294 before looking in /dev.
12295
b1d17e10
VS
122962010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12297
12298 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
12299 GRUB_DISK_SIZE_UNKNOWN.
12300 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
12301
dfbfe004
JS
123022010-05-31 Jiro SEKIBA <jir@unicus.jp>
12303
12304 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
12305 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
12306 corrupted or not synced properly.
12307
c2ffc8e9
VS
123082010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12309
12310 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
12311 Reported by: Seth Goldberg.
12312
56293166
VS
123132010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
12316 addition of dest.
12317 Reported by: Seth Goldberg.
12318
7620e7de
VS
123192010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
12322 Reported by: Seth Goldberg.
12323
c837af3f
VS
123242010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
12327 64-bit address as signed on MIPS.
12328
c7c75cf4
CW
123292010-05-28 Colin Watson <cjwatson@ubuntu.com>
12330
12331 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
12332 to the empty string.
12333
fa4b8490
BC
123342010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
12335
12336 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
12337
12338 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
12339 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
12340 * kern/misc.c (__enable_execute_stack): Disable on
12341 GRUB_MACHINE_EMU.
12342
a33075b9
CW
123432010-05-28 Colin Watson <cjwatson@ubuntu.com>
12344
12345 Make grub-probe work with symbolic links under /dev/mapper as well
12346 as with real block devices. The Linux world seems to be (at best)
12347 in transition here, and GRUB shouldn't get caught in the middle.
12348
12349 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
12350 /dev/mapper.
12351
d8708134
CW
123522010-05-27 Colin Watson <cjwatson@ubuntu.com>
12353
12354 * util/grub-script-check.c (main): Ensure defined behaviour on empty
12355 input files (in which case exit zero).
12356
db2102a0
CW
123572010-05-27 Colin Watson <cjwatson@ubuntu.com>
12358
12359 * kern/emu/misc.c (canonicalize_file_name): realpath can still
12360 return NULL for various reasons even if it has a maximum-length
12361 buffer: for example, there might be a symlink loop, or the path
12362 might exceed PATH_MAX. If this happens, return NULL.
12363
5fdba519
RM
123642010-05-27 Robert Millan <rmh@gnu.org>
12365
12366 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
12367 partmap module to handle cross-partmap setups.
12368 Reported by Orestes Mas. Gràcies!
12369
d1d368e4
CW
123702010-05-27 Colin Watson <cjwatson@ubuntu.com>
12371
12372 * util/grub-mkrescue.in: Initialise override_dir rather than
12373 assuming that it's unset or empty in the environment.
12374
95ac3c73
GS
123752010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
12376
12377 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
12378 variable index into p_index to suppress a warning with -Wshadow.
12379
7d8c0213
BC
123802010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
12381
12382 * INSTALL: Added flex >= 2.5.35 requirement.
12383
db4d5813
VS
123842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
12387
f24f4300
VS
123882010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12389
12390 cmostest support.
12391
12392 * commands/i386/cmostest.c: New file.
12393 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
12394 (cmostest_mod_SOURCES): New variable.
12395 (cmostest_mod_CFLAGS): Likewise.
12396 (cmostest_mod_LDFLAGS): Likewise.
12397 * conf/i386-pc.rmk: Likewise.
12398 * docs/grub.texi (Vendor power-on keys): New section.
12399 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
12400 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
12401 and GRUB_BUTTON_CMOS_ADDRESS.
12402 * util/grub.d/00_header.in: Handle powering-on by separate button.
12403
ad603f61
VS
124042010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
12407 Removed drawing_scrollbar argument. All users updated
12408 Fixes #29792.
12409 Reported by Jo Shields
12410
3ecb080a
VS
124112010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12412
12413 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
12414 buffer since gfxterm handles double repaint.
12415
5f2316c1
VS
124162010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12417
12418 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
12419 * term/gfxterm.c (real_scroll): Likewise.
12420
9a25f885
VS
124212010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
12424 before calling BIOS.
12425
39fbb79a
VS
124262010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * include/grub/i18n.h: Always enable grub_gettext.
12429
228cfa97
VS
124302010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
12433 partition naming style.
12434
21717c8f
CW
124352010-05-21 Colin Watson <cjwatson@ubuntu.com>
12436
12437 * util/grub-mkconfig.in: Fix handling of -o so that it works when
12438 not the first option.
12439
c0f48e65
CW
124402010-05-20 Colin Watson <cjwatson@ubuntu.com>
12441
12442 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
12443
96779aec
CW
124442010-05-20 Colin Watson <cjwatson@ubuntu.com>
12445
12446 * util/misc.c: Move inclusion of <limits.h> to ...
12447 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
12448
fa9d256e
GS
124492010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
12450
12451 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
12452 Fix merge error in NetBSD code.
12453 (find_partition_start) [__NetBSD__]: Likewise.
12454
123b7a85
BC
124552010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
12456
12457 Fix grub-mkrescue usage unit testing.
12458
12459 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
12460
74276c0d
CF
124612010-05-18 Christian Franke <franke@computer.org>
12462
12463 * util/grub.d/10_windows.in: Use path names instead of
12464 drive letters to prevent warning from Cygwin 1.7.
12465 Add drivemap command to menuentry if needed.
12466
c4f7b523
ST
124672010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
12468
12469 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
12470 gnumach and gnumach.gz.
12471
95b97950
VS
124722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * include/grub/i18n.h (gettext): Inline instead of using #define.
12475 (grub_gettext): Likewise.
12476 (_): Likewise.
12477
01b8d2d7
VS
124782010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12479
12480 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
12481 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
12482 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
12483 (main): Add a slash after pkglibdirroot.
12484
654e1d1e
VS
124852010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * util/grub-install.in: Add missing "in" keyword.
12488
26966aeb
VS
124892010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
12492 Reported by: Seth Goldberg.
12493
75006747
VS
124942010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
12497
74cbf5bd
CW
124982010-05-18 Colin Watson <cjwatson@ubuntu.com>
12499
12500 * configure.ac: Check for Linux device-mapper support.
12501
12502 * util/hostdisk.c (device_is_mapped): New function.
12503 (find_partition_start): New function, partly broken out from
12504 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
12505 device-mapper support added.
12506 (linux_find_partition): Use find_partition_start.
12507 (convert_system_partition_to_system_disk): Add `st' argument.
12508 Support Linux /dev/mapper/* devices if device-mapper support is
12509 available; only DM-RAID devices are understood at present.
12510 (find_system_device): Add `st' argument. Pass it to
12511 convert_system_partition_to_system_disk.
12512 (grub_util_biosdisk_get_grub_dev): Pass stat result to
12513 find_system_device and convert_system_partition_to_system_disk. Use
12514 find_partition_start.
12515
12516 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
12517 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
12518 * util/deviceiter.c [__linux__]: Define MINOR.
12519 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
12520 * util/mkdevicemap.c (grub_putchar): New function.
12521 (grub_getkey): New function.
12522 (grub_refresh): New function.
12523 (main): Set debug=all if -v -v is used.
12524
355b51e9
CW
125252010-05-18 Colin Watson <cjwatson@ubuntu.com>
12526
12527 Fix build with non-GNU libcs.
12528
12529 * util/misc.c (canonicalize_file_name): Move to ...
12530 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
12531 grub_make_system_path_relative_to_its_root.
12532
7fb5c25f
CW
125332010-05-18 Colin Watson <cjwatson@ubuntu.com>
12534
12535 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
12536 we handle finding grub-mkimage. Default to finding grub-mkimage in
12537 ${bindir} with program_transform_name applied, and provide a
12538 --grub-mkimage option to override this.
12539
1d3293d6
VS
125402010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 Remove grub-mkisofs.
12543
12544 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
12545 (grub_mkisofs_SOURCES): Removed.
12546 (grub_mkisofs_CFLAGS): Removed.
12547 * util/mkisofs/defaults.h: Removed.
12548 * util/mkisofs/eltorito.c: Likewise.
12549 * util/mkisofs/exclude.h: Likewise.
12550 * util/mkisofs/hash.c: Likewise.
12551 * util/mkisofs/include/: Likewise.
12552 * util/mkisofs/include/fctldefs.h: Likewise.
12553 * util/mkisofs/include/mconfig.h: Likewise.
12554 * util/mkisofs/include/prototyp.h: Likewise.
12555 * util/mkisofs/include/statdefs.h: Likewise.
12556 * util/mkisofs/iso9660.h: Likewise.
12557 * util/mkisofs/joliet.c: Likewise.
12558 * util/mkisofs/match.c: Likewise.
12559 * util/mkisofs/match.h: Likewise.
12560 * util/mkisofs/mkisofs.c: Likewise.
12561 * util/mkisofs/mkisofs.h: Likewise.
12562 * util/mkisofs/msdos_partition.h: Likewise.
12563 * util/mkisofs/multi.c: Likewise.
12564 * util/mkisofs/name.c: Likewise.
12565 * util/mkisofs/rock.c: Likewise.
12566 * util/mkisofs/tree.c: Likewise.
12567 * util/mkisofs/write.c: Likewise.
12568
5dde9afe
VS
125692010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Unify grub-mkimage accross platforms.
12572
12573 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
12574 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
12575 (grub_mkelfimage_SOURCES): Removed.
12576 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
12577 (util/grub-mkimage.c_DEPENDENCIES): .. this.
12578 (bin_UTILITIES): Add grub-mkimage.
12579 (grub_mkimage_SOURCES): New variable.
12580 (kernel_img_HEADERS): Remove machine/kernel.h.
12581 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
12582 (pkglib_PROGRAMS): Add kernel.img.
12583 (kernel_img_HEADERS): Add machine/kernel.h.
12584 (kernel_img_FORMAT): Removed.
12585 (bin_UTILITIES): Remove grub-mkimage.
12586 (grub_mkimage_SOURCES): Removed.
12587 (grub_mkimage_CFLAGS): Likewise.
12588 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12589 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
12590 (pkglib_PROGRAMS): Add kernel.img.
12591 (bin_UTILITIES): Remove grub-mkimage.
12592 (grub_mkimage_SOURCES): Removed.
12593 (grub_mkimage_CFLAGS): Likewise.
12594 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12595 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
12596 (pkglib_PROGRAMS): Add kernel.img.
12597 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
12598 (pkglib_PROGRAMS): Add kernel.img.
12599 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
12600 (grub_mkimage_SOURCES): Removed.
12601 (grub_mkimage_CFLAGS): Likewise.
12602 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12603 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
12604 (pkglib_PROGRAMS): Add kernel.img.
12605 (bin_UTILITIES): Remove grub-mkimage.
12606 (grub_mkimage_SOURCES): Removed.
12607 (grub_mkimage_CFLAGS): Likewise.
12608 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12609 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
12610 (grub_mkimage_SOURCES): Removed.
12611 (grub_mkimage_CFLAGS): Likewise.
12612 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12613 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
12614 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
12615 (grub_pe32_optional_header): ... this.
12616 (grub_pe64_optional_header): ... and this. All users updated.
12617 (GRUB_PE32_PE32_MAGIC): Split into ..
12618 (GRUB_PE32_PE32_MAGIC): .. this.
12619 (GRUB_PE32_PE64_MAGIC): .. and this.
12620 (GRUB_PE32_SIGNATURE_SIZE): New definition.
12621 * include/grub/elf.h (PT_GNU_STACK): New definition.
12622 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
12623 * include/grub/i386/efi/kernel.h: Likewise.
12624 * include/grub/i386/kernel.h: Likewise.
12625 * include/grub/i386/pc/kernel.h: Likewise.
12626 * include/grub/i386/qemu/boot.h: Likewise.
12627 * include/grub/mips/kernel.h: Likewise.
12628 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12629 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12630 * include/grub/powerpc/kernel.h: Likewise.
12631 * include/grub/sparc64/ieee1275/boot.h: Likewise.
12632 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12633 * include/grub/sparc64/kernel.h: Likewise.
12634 * include/grub/x86_64/efi/kernel.h: Likewise.
12635 * include/grub/x86_64/kernel.h: Likewise.
12636 * include/grub/offsets.h: New file.
12637 * include/grub/kernel.h (grub_module_info): Split into ...
12638 (grub_module_info32): ... this.
12639 (grub_module_info64): ... and this.
12640 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
12641 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
12642 (grub_boot_blocklist): Moved from here ...
12643 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
12644 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
12645 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
12646 * include/grub/types.h (grub_target_to_host16): Removed.
12647 (grub_target_to_host32): Likewise.
12648 (grub_target_to_host64): Likewise.
12649 (grub_host_to_target16): Likewise.
12650 (grub_host_to_target32): Likewise.
12651 (grub_host_to_target64): Likewise.
12652 (grub_host_to_target_addr): Likewise.
12653
12654 Support grub-mkrescue for efi, coreboot and qemu.
12655
12656 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
12657 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
12658 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
12659 * util/grub-mkrawimage.c: Moved from here ...
12660 * util/grub-mkimage.c: ... here. All users updated.
12661 (ALIGN_ADDR): Use image_target.
12662 (TARGET_NO_FIELD): New const.
12663 (image_target_desc): New type.
12664 (image_targets): New array.
12665 (grub_target_to_host64): Use image_target.
12666 (grub_target_to_host32): Likewise.
12667 (grub_target_to_host16): Likewise.
12668 (grub_host_to_target64): Likewise.
12669 (grub_host_to_target32): Likewise.
12670 (grub_host_to_target16): Likewise.
12671 (grub_host_to_target_addr): Likewise.
12672 (generate_image): Handle multiimage.
12673 (main): Require -O parameter. All users updated.
12674 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
12675 util/efi/grub-mkimage.c
12676 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
12677 New option --rom-directory.
12678 Use xorriso.
12679 * util/i386/efi/grub-mkimage.c: Removed.
12680 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
12681 (grub_target_to_host32): Likewise.
12682 (grub_target_to_host64): Likewise.
12683 (grub_host_to_target16): Likewise.
12684 (grub_host_to_target32): Likewise.
12685 (grub_host_to_target64): Likewise.
12686 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
12687 (grub_target_to_host32): Likewise.
12688 (grub_target_to_host64): Likewise.
12689 (grub_host_to_target16): Likewise.
12690 (grub_host_to_target32): Likewise.
12691 (grub_host_to_target64): Likewise.
12692
f4fc97d0
BC
126932010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
12694
12695 Source tree is reorganized for emu build.
12696
12697 * include/grub/util/console.h: Move from here...
12698 * include/grub/emu/console.h: ...to here.
12699 * include/grub/util/getroot.h: Move from here...
12700 * include/grub/emu/getroot.h: ...to here.
12701 * include/grub/util/hostdisk.h: Move from here...
12702 * include/grub/emu/hostdisk.h: ...to here.
12703 * util/console.c: Move from here...
12704 * kern/emu/console.c: ...to here.
12705 * util/getroot.c: Move from here...
12706 * kern/emu/getroot.c: ...to here.
12707 * util/grub-emu.c: Move from here...
12708 * kern/emu/main.c: ...to here.
12709 * util/hostdisk.c: Move from here...
12710 * kern/emu/hostdisk.c: ...to here.
12711 * util/hostfs.c: Move from here...
12712 * kern/emu/hostfs.c: ...to here.
12713 * util/mm.c: Move from here...
12714 * kern/emu/mm.c: ...to here.
12715 * util/pci.c: Move from here...
12716 * bus/emu/pci.c: ...to here.
12717 * util/sdl.c: Move from here...
12718 * video/emu/sdl.c: ...to here.
12719 * util/time.c: Move from here...
12720 * kern/emu/time.c: ...to here.
12721 * util/usb.c: Move from here...
12722 * bus/usb/emu/usb.c: ...to here.
12723
12724 * include/grub/emu/misc.h: New header for grub-emu functions.
12725 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12726
12727 * conf/any-emu.rmk: Rule updates for above renames.
12728 * conf/common.rmk: Likewise.
12729 * conf/i386-pc.rmk: Likewise.
12730 * conf/i386-qemu.rmk: Likewise.
12731 * conf/mips.rmk: Likewise.
12732 * conf/sparc64-ieee1275.rmk: Likewise.
12733 * conf/x86-efi.rmk: Likewise.
12734
12735 * disk/lvm.h: #include updates for above renames.
12736 * util/grub-mkrelpath.c: Likewise.
12737 * util/grub-probe.c: Likewise.
12738 * util/i386/pc/grub-setup.c: Likewise.
12739 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12740 * kern/emu/console.c: Likewise.
12741 * kern/emu/getroot.c: Likewise.
12742 * kern/emu/hostdisk.c: Likewise.
12743 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12744
12745 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12746 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12747 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12748 * util/misc.c: Remove grub-emu functions.
12749
cced9145
VS
127502010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 Fix gfxmenu crash.
12753 Reported by: Thorsten Grützmacher.
12754
12755 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12756 timeout hook.
12757 (circprog_set_property): Register and unregister timeout hook.
12758 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12759 (label_destroy): Free template. and unregister hook.
12760 (label_set_state): New function.
12761 (label_set_property): Handle templates and hooks.
12762 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12763 timeout hook.
12764 (progress_bar_set_property): Register and unregister timeout hook.
12765 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12766 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12767 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12768 (update_timeout_visit): Removed.
12769 (update_timeouts): New function.
12770 (redraw_timeouts): Likewise.
12771 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12772 (grub_gfxmenu_clear_timeout): Likewise.
12773 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12774 (grub_gfxmenu_timeout_notify): Likewise.
12775 (grub_gfxmenu_timeout_notifications): New external variable.
12776 (grub_gfxmenu_timeout_register): New function.
12777 (grub_gfxmenu_timeout_unregister): Likewise.
12778
c6e5caab
VS
127792010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 Transform (broken) vga terminal into (working) vga video driver.
12782
12783 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12784 video/i386/pc/vga.c.
12785 * include/grub/video.h (grub_video_driver_id):
12786 Add GRUB_VIDEO_DRIVER_VGA.
12787 * term/i386/pc/vga.c: Renamed to ...
12788 * video/i386/pc/vga.c: ...this
12789 (DEBUG_VGA): Removed.
12790 (CHAR_WIDTH): Likewise.
12791 (CHAR_HEIGHT): Likewise.
12792 (TEXT_WIDTH): Likewise.
12793 (TEXT_HEIGHT): Likewise.
12794 (DEFAULT_FG_COLOR): Likewise.
12795 (DEFAULT_BG_COLOR): Likewise.
12796 (colored_char): Likewise.
12797 (xpos): Likewise.
12798 (ypos): Likewise.
12799 (cursor_state): Likewise.
12800 (fg_color): Likewise.
12801 (bg_color): Likewise.
12802 (text_buf): Likewise.
12803 (page): Likewise.
12804 (font): Likewise.
12805 (framebuffer): New variable.
12806 (set_read_map): Disabled.
12807 (setup): New variable.
12808 (is_target): Likewise.
12809 (grub_vga_mod_init): Likewise.
12810 (grub_vga_mod_fini): Likewise.
12811 (check_vga_mem): Likewise.
12812 (write_char): Likewise.
12813 (write_cursor): Likewise.
12814 (scroll_up): Likewise.
12815 (grub_vga_putchar): Likewise.
12816 (grub_vga_getcharwidth): Likewise.
12817 (grub_vga_getwh): Likewise.
12818 (grub_vga_getxy): Likewise.
12819 (grub_vga_gotoxy): Likewise.
12820 (grub_vga_cls): Likewise.
12821 (grub_vga_setcolorstate): Likewise.
12822 (grub_vga_setcursor): Likewise.
12823 (grub_video_vga_init): New function.
12824 (grub_video_vga_setup): Likewise.
12825 (grub_video_vga_fini): Likewise.
12826 (update_target): Likewise.
12827 (grub_video_vga_blit_bitmap): Likewise.
12828 (grub_video_vga_blit_render_target): Likewise.
12829 (grub_video_vga_set_active_render_target): Likewise.
12830 (grub_video_vga_get_active_render_target): Likewise.
12831 (grub_video_vga_swap_buffers): Likewise.
12832 (grub_video_vga_set_palette): Likewise.
12833 (grub_video_vga_get_info_and_fini): Likewise.
12834 (grub_vga_term): Removed.
12835 (grub_video_vga_adapter): New variable.
12836 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12837 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12838
2bf61a98
VS
128392010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12840
12841 * video/readers/jpeg.c: Indented.
12842
09ddcd11
VS
128432010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 Various jpeg cleanups.
12846
12847 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12848 (grub_jpeg_decode_quan_table): Use sizeof.
12849 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12850
e5507505
PH
128512010-05-05 Peter Hurley <No e-mail available> (tiny change)
12852
12853 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12854 tables. Ignore non-last ac bit.
12855 (grub_jpeg_decode_quan_table): Likewise.
12856
7e720a9b
VS
128572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12858
12859 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12860 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12861 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12862 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12863 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12864 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12865
a7fc080b
VS
128662010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12869 error.
12870
2bf6012d
VS
128712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12874
265d68cd
VS
128752010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12878 condition.
12879
128802010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12881
12882 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12883 part.
12884
265d68cd 128852010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12886
12887 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12888 pointers.
12889
265d68cd 128902010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12891
12892 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12893
d1b61374
CF
128942010-05-01 Christian Franke <franke@computer.org>
12895
12896 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12897 Remove broken Cygwin path conversion.
12898 * util/misc.c: [__CYGWIN__] Add include and define.
12899 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12900 for Cygwin 1.7.
12901 (make_system_path_relative_to_its_root): Simplify loop, replace early
12902 return by break.
12903 [__CYGWIN__] Add conversion to win32 path.
12904 Include "/" case in trailing slash removal.
12905
3558c6e9
VS
129062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12909 Reported by: Seth Goldberg
12910
f5f3ff93
VS
129112010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12912
12913 * commands/help.c (grub_cmd_help): Fix a typo.
12914 Reported by: Seth Goldberg
12915
d8b5cd40
VS
129162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12917
12918 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12919 name and add N_.
12920 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12921 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12922 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12923 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12924 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12925 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12926 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12927 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12928 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12929 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12930 * normal/context.c (GRUB_MOD_INIT): Likewise.
12931 * normal/main.c (GRUB_MOD_INIT): Likewise.
12932 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12933 * term/serial.c (GRUB_MOD_INIT): Likewise.
12934 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12935
88c14915
VS
129362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12939 extra == 0.
12940
165134bc
VS
129412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12942
12943 * commands/iorw.c: New file.
12944 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12945 (iorw_mod_SOURCES): New variable.
12946 (iorw_mod_CFLAGS): Likewise.
12947 (iorw_mod_LDFLAGS): Likewise.
12948
c5ac9b32
VS
129492010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 Hotkey support
12952
12953 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12954 * normal/main.c (hotkey_aliases): New variable.
12955 (grub_normal_add_menu_entry): Parse "--hotkey".
12956 * normal/menu_text.c (run_menu): Handle hotkeys.
12957
ce60689c
VS
129582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12959
12960 * kern/i386/coreboot/init.c (grub_machine_init): Call
12961 grub_machine_mmap_init on qemu.
12962
0359d006
VS
129632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * boot/i386/qemu/boot.S: Add a missing .code16.
12966
7819a456
VS
129672010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12968
12969 Use LBIO on coreboot.
12970
12971 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12972 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12973 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12974 New declaration.
12975 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12976 grub_machine_mmap_init on coreboot.
12977 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12978 GRUB_LINUXBIOS_MEMBER_LINK.
12979 (grub_machine_mmap_iterate): Fix declaration.
12980 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12981
7210dca9
VS
129822010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 Split coreboot and multiboot ports.
12985
12986 * conf/i386-multiboot.rmk: New file.
12987 * configure.ac: Add multiboot port.
12988 * include/grub/i386/multiboot/boot.h: New file.
12989 * include/grub/i386/multiboot/console.h: Likewise.
12990 * include/grub/i386/multiboot/init.h: Likewise.
12991 * include/grub/i386/multiboot/kernel.h: Likewise.
12992 * include/grub/i386/multiboot/loader.h: Likewise.
12993 * include/grub/i386/multiboot/memory.h: Likewise.
12994 * include/grub/i386/multiboot/serial.h: Likewise.
12995 * include/grub/i386/multiboot/time.h: Likewise.
12996 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12997 * loader/multiboot.c: Likewise.
12998 * loader/multiboot_mbi2.c: Likewise.
12999 * util/grub-mkrescue.in: Generate multiboot rescue.
13000
6f8aaf68
VS
130012010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13002
3080f7a7
VS
13003 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13004
130052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
13008
13009 * commands/terminal.c (abstract_terminal): New struct.
13010 (handle_command): New function. Based on grub_cmd_terminal_input.
13011 (grub_cmd_terminal_input): Use handle_command.
13012 (grub_cmd_terminal_output): Use handle_command.
13013
a8ebb841
BC
130142010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
13015
13016 Fix comment handling.
13017
13018 * tests/grub_script_comments.in: New testcase.
13019 * conf/tests.rmk: Rules for new testcase.
13020 * script/yylex.l: Updated flex rules.
13021
bb06ba08
ST
130222010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
13023
13024 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
13025 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
13026 if argc is 1.
bb06ba08 13027
cc9d2425
VS
130282010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13029
13030 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
13031 autogen issues.
13032
460d8402
CF
130332010-04-26 Christian Franke <franke@computer.org>
13034
13035 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13036 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
13037 (grub_get_prefix): Remove function.
13038 * util/grub-emu.c (main): Replace grub_get_prefix () call by
13039 make_system_path_relative_to_its_root ().
13040 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13041
553c01f9
CF
130422010-04-24 Christian Franke <franke@computer.org>
13043
13044 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
13045 (kernel_img_LDFLAGS): Remove -static-libgcc.
13046
2aec1692
CF
130472010-04-24 Christian Franke <franke@computer.org>
13048
13049 * configure.ac: Do not CHECK_BSS_START_SYMBOL
13050 and CHECK_END_SYMBOL if grub-emu is built.
13051 Unset TARGET_OBJ2ELF if grub-emu is built
13052 without module support.
13053
f67dc308
JS
130542010-04-24 Jiro SEKIBA <jir@unicus.jp>
13055
13056 Nilfs2 support.
13057
13058 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
13059 (grub_fstest_SOURCES): Likewise.
13060 (pkglib_MODULES): Add nilfs2.mod.
13061 (nilfs2_mod_SOURCES): New variable.
13062 (nilfs2_mod_CFLAGS): Likewise.
13063 (nilfs2_mod_LDFLAGS): Likewise.
13064 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13065 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13066 * fs/nilfs2.c: New file.
13067
4ba8d354
VS
130682010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
13071 is not supported.
13072
0d2c20c6
GS
130732010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
13074
13075 Add grub-mkconfig support for NetBSD.
13076
13077 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
13078 * util/grub-mkconfig.in: export new NetBSD specific variables.
13079 * po/POTFILES-shell: added 10_netbsd.in.
13080 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
13081
bc4a2d83
BC
130822010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
13083
13084 Fix emu build with grub-emu-pci and grub-emu-modules.
13085
13086 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
13087 functions.
13088 * include/grub/libpciaccess.h: New file.
13089 * conf/any-emu.rmk: Update kernel headers for emu build.
13090
f48c87aa
VS
130912010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
13094
18959385
VS
130952010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13096
13097 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
13098
0037de3f
VS
130992010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
13102 Retrieve chosen/bootpath if bootpath isn't hardcoded.
13103 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
13104 util/ieee1275/ofpath.c.
13105 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
13106 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
13107 * include/grub/sparc64/ieee1275/boot.h
13108 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
13109 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
13110 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
13111 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
13112 const char *.
13113 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
13114 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
13115 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
13116 install.
13117
38e55e90
GS
131182010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13119
13120 * util/grub-mkconfig.in: Corrected two == equality tests.
13121 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
13122 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
13123 expect a number appended to it.
13124 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
13125 expects a number appended to it.
13126
a9e6ff28
VS
131272010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
13130
0b830b8f
VS
131312010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13132
13133 * util/hostdisk.c (make_device_name): Change to new partition naming.
13134
0973daeb
VS
131352010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
13138
460d8402 131392010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
13140
13141 * Makefile.in: Add missing localedir setting.
13142
0b456309
CW
131432010-04-14 Colin Watson <cjwatson@ubuntu.com>
13144
13145 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
13146 mistake in r2156. Noticed by Anthony Fok.
13147
13148 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
13149 @localedir@.
13150 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13151
08f46d62
BC
131522010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
13153
13154 Fix a spurious, uninitialized variable warning.
13155
13156 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
13157 Initialize variable, shdr.
13158 (grub_freebsd_load_elfmodule): Likewise.
13159 (grub_freebsd_load_elf_meta): Likewise.
13160
8c4a72d4
BC
131612010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
13162
13163 Fix for escaped dollar in double quoted strings.
13164
13165 * script/yylex.l: Updated flex rules.
13166 * conf/tests.rmk: Rule for new testcase.
13167 * tests/grub_script_dollar.in: New testcase.
13168
ce44826e
CPE
131692010-04-13 Carles Pina i Estany <carles@pina.cat>
131702010-04-13 Colin Watson <cjwatson@ubuntu.com>
13171
13172 Enclose all translated strings in grub.cfg in single quotes, and
13173 escape them appropriately (Ubuntu bug #552921).
13174
13175 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
13176 * util/grub.d/10_hurd.in: Use it.
13177 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13178 * util/grub.d/10_linux.in (linux_entry): Likewise.
13179
4b0cd8f8
VS
131802010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13181
13182 Fix cygwin compilation.
13183
13184 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
13185 * include/grub/misc.h (__register_frame_info)
13186 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
13187 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
13188 * kern/misc.c (__register_frame_info)
13189 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
13190 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
13191
01fcf061
VS
131922010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13193
13194 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
13195
5d04b11e
VS
131962010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 Unify libgcc processing.
13199
13200 * Makefile.in (kernel_img_LDFLAGS): New variable.
13201 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
13202 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
13203 overwriting.
13204 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
13205 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
13206 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
13207 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
13208 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
13209 overwriting. Remove -lgcc and -static-libgcc
13210 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
13211 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
13212 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
13213 (kernel_img_LDFLAGS): Append instead of overwriting.
13214 Remove -lgcc and -static-libgcc
13215 * conf/sparc64-ieee1275.rmk: Likewise.
13216 * include/grub/powerpc/libgcc.h: Move to ...
13217 * include/grub/libgcc.h: .. this.
13218 * include/grub/libgcc.h: Don't export most of the function on x86.
13219 (__bswapsi2): New export.
13220 (__bswapdi2): Likewise.
13221 * include/grub/mips/libgcc.h: Removed.
13222 * include/grub/sparc64/libgcc.h: Likewise.
13223
b7f3ac29
VS
132242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13225
13226 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
13227 disk_info_msg (conflicts with gettexting into languages with cases).
13228
2c7031b1
GS
132292010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13230
13231 Add grub-probe support for NetBSD.
13232
13233 * util/getroot.c (find_root_device): Convert block device to
13234 character device on NetBSD.
13235 * util/probe.c (probe): Require character device on NetBSD.
13236 * util/hostdisk.c: NetBSD specific headers.
13237 (configure_device_driver): new function to tune device driver
13238 parameters (currently only for NetBSD floppy driver).
13239 (grub_util_biosdisk_open): NetBSD specific code (get disk size
13240 via disklabel ioctl).
13241 (open_device): call configure_device_driver on NetBSD.
13242 (convert_system_partition_to_system_disk): NetBSD specific code.
13243 (device_is_wholedisk): Likewise.
13244 (grub_util_biosdisk_get_grub_dev): Likewise.
13245 (make_device_name): Fixed a typo in bsd_part_str.
13246 * configure.ac: check for opendisk() and getrawpartition() on
13247 NetBSD and set LIBUTIL.
13248 * Makefile.in: add LIBUTIL to LIBS.
13249
f516290c
BC
132502010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
13251
13252 Documentation fix.
13253
13254 * util/grub-script-check.c: Better help message.
13255
d8dcc0df
BC
132562010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
13257
13258 Fix FreeBSD build.
13259
13260 * configure.ac: Flex version check.
13261 * conf/common.rmk: Add -Wno-error to sh.mod.
13262 * script/yylex.l: Remove all #pragma.
13263
6734334a
VS
132642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * include/grub/util/misc.h (canonicalise_file_name): Add missing
13267 prototype.
13268 Reported by: Seth Goldberg.
13269
daea6abd
VS
132702010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13271
13272 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
13273 Rename "module" to "module2".
13274 Reported by: Seth Goldberg.
13275
f2fd9d2b
VS
132762010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13277
13278 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
13279 EXPORT_FUNC.
13280 Reported by: Seth Goldberg.
13281
be124579
VS
132822010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13283
13284 * lib/posix_wrap/locale.h: Add missing file.
13285 Reported by: Seth Goldberg.
13286
ef5da797
VS
132872010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 grub-emu module load support.
13290
13291 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
13292 NO_DYNAMIC_MODULES switched to this.
13293 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
13294 (CFLAGS): Likewise.
13295 * conf/any-emu.rmk: Generate symlist.
13296 (kernel_img_HEADERS): Add util/datetime.h.
13297 (kernel_img_HEADERS) [sdl]: Add sdl.h.
13298 (kernel_img_HEADERS) [libusb]: Add libusb.h.
13299 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
13300 kern/$(target_cpu)/cache.S.
13301 * configure.ac (grub-emu-modules): New option.
13302 * genmk.rb: Handle multiple source lists.
13303 * include/grub/sdl.h: New file.
13304 * include/grub/libusb.h: Likewise.
13305 * util/grub-emu.c (main): Hanle (host) root.
13306 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
13307 GRUB_ERR_UNKNOWN_DEVICE.
13308 * util/misc.c: Move mm functions to ...
13309 * util/mm.c: ... here. All users updated.
13310
47822096
VS
133112010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
13314 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
13315 missing files.
13316 (maintainer-clean): Remove libgcrypt-grub.
13317
5d7e7445
VS
133182010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
13321
25f4e252
EC
133222010-04-09 EFI Coder <eficoder@hotmail.com>
13323
13324 * normal/menu_text.c (print_message): Clean up the message and show
13325 the Fn information when on EFI
13326 * term/efi/console.c (grub_console_checkkey): Add F4 support.
13327
027de555
VS
133282010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13329
13330 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
13331 All users updated.
13332 * normal/crypto.c (read_crypto_list): Likewise.
13333 * normal/dyncmd.c (read_command_list): Likewise.
13334 * normal/term.c (read_terminal_list): Likewise.
13335 * normal/main.c (read_lists): Use explicit prefix.
13336 (read_lists_hook): Use read_lists.
13337 (grub_normal_execute): Likewise.
13338
47779711
VS
133392010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13340
13341 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
13342 Reported by: Thomas Schmitt.
13343 Add -no-emul-boot to grub-mkisofs parameters.
13344
1118c32e
VS
133452010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13346
13347 * font/font.c: Indented.
13348
7d652447
BC
133492010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13350
13351 Elif support to GRUB script (by Deepak Vankadaru).
13352
13353 * tests/grub_script_if.in: New testcase.
13354 * conf/tests.rmk: Rule for new testcase.
13355 * script/parser.y: Grammar rules for elif.
13356
34bb22df
BC
133572010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13358
13359 While and until loops support to GRUB script.
13360
13361 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
13362 (grub_script_create_cmdwhile): New function prototype.
13363 (grub_script_execute_cmdwhile): New function prototype.
13364 * script/execute.c (grub_script_execute_cmdwhile): New function.
13365 * script/parser.y (command): New commands.
13366 (whilecmd): New grammar rule.
13367 (untilcmd): New grammar rule.
13368 * script/script.c (grub_script_create_cmdwhile): New function.
13369 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
13370 function.
13371
13372 * tests/grub_script_while1.in: New testcase.
13373 * conf/tests.rmk: Rule for new testcase.
13374
e215d8e0
VS
133752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
13378 as *.jpg.
13379
d7c43ba1
MV
133802010-04-09 Mario Vazquez <mariovazq@gmail.com>
13381
13382 GRUB_BACKGROUND support.
13383
13384 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
13385 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
13386
d64795c0
VS
133872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13388
13389 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 13390 Idea by: Mario Vazquez
d64795c0
VS
13391
13392 * util/grub.d/00_header.in: Load pf2 and image modules.
13393
f267f83a
VS
133942010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 grub-mkconfig multiple terminal support.
13397
13398 * util/grub-mkconfig.in: Handle multiple terminals correctly.
13399 * util/grub.d/00_header.in: Likewise.
13400
b7841ceb
VS
134012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13402
13403 * Makefile.in: Specify files explicitly instead of using $< and $@ since
13404 we use cd $(srcdir).
13405
df60998c
CW
134062010-04-08 Colin Watson <cjwatson@ubuntu.com>
13407
13408 * util/grub.d/10_linux.in: Only use the first word of
13409 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
13410 spaces in GRUB_DISTRIBUTOR.
13411 * util/grub.d/10_kfreebsd.in: Likewise.
13412 * util/grub.d/10_hurd.in: Likewise.
13413
fa09c82e
BC
134142010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
13415
14e18ae3 13416 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
13417
13418 * tests/util/grub-shell.in: Remove -serial stdio option.
13419
daf892b3
BC
134202010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13421
13422 POSIX header file wrappers.
13423
13424 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
13425 equivalents.
13426 * lib/posix_wrap/ctype.h: Likewise.
13427 * lib/posix_wrap/errno.h: Likewise.
13428 * lib/posix_wrap/langinfo.h: Likewise.
13429 * lib/posix_wrap/limits.h: Likewise.
13430 * lib/posix_wrap/localcharset.h: Likewise.
13431 * lib/posix_wrap/stdint.h: Likewise.
13432 * lib/posix_wrap/stdio.h: Likewise.
13433 * lib/posix_wrap/stdlib.h: Likewise.
13434 * lib/posix_wrap/string.h: Likewise.
13435 * lib/posix_wrap/sys/types.h: Likewise.
13436 * lib/posix_wrap/unistd.h: Likewise.
13437 * lib/posix_wrap/wchar.h: Likewise.
13438 * lib/posix_wrap/wctype.h: Likewise.
13439 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
13440 (grub_script.yy.h): Likewise.
13441 * script/yylex.l: Remove POSIX emulation #defines.
13442 * Makefile.in (POSIX_CFLAGS): New variable.
13443 (GNULIB_UTIL_CFLAGS): Likewise.
13444
13445 Regexp support.
13446
13447 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
13448 (regexp_mod_SOURCES): New variable.
13449 (regexp_mod_CFLAGS): Likewise.
13450 (regexp_mod_LDFLAGS): Likewise.
13451 * commands/regexp.c: New file.
13452 * gnulib/regcomp.c: New file. Imported from gnulib.
13453 * gnulib/regex.c: Likewise.
13454 * gnulib/regex_internal.c: Likewise.
13455 * gnulib/regex_internal.h: Likewise.
13456 * gnulib/regexec.c: Likewise.
13457 * gnulib/regex.h: Likewise.
13458
974ac4f7
VS
134592010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13460
13461 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
13462 unsupported video mode types.
13463
2622c3ff
VS
134642010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13465
13466 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
13467
064cb524
VS
134682010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13469
13470 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
13471 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
13472
a8c3b552
VS
134732010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13474
13475 Remove unused grub_vga_get_font.
13476
13477 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
13478 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
13479
187bbe3d
GS
134802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13481
13482 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
13483 * include/grub/misc.h: Likewise.
13484
b9396631
GS
134852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13486
13487 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
13488 for which failure is fatal.
13489
50479feb
GS
134902010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13491
13492 * util/grub-install.in: Use mkdir -p to create grub directory.
13493 * util/i386/efi/grub-install.in: Likewise.
13494 * util/ieee1275/grub-install.in: Likewise.
13495
b1654fdf
GS
134962010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13497
13498 * Makefile.in (LEX): new variable.
13499
bd5a6415
GS
135002010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13501
13502 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
13503 `=' and added double quotes on operands of this equality test.
13504
3db3a82b
VS
135052010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 * Makefile.in (uninstall): Remove a leftover debug echo.
13508 Reported by: Grégoire Sutre
13509
38023412
VS
135102010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13511
13512 MIPS multiboot2 support.
13513
13514 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
13515 (multiboot2_mod_SOURCES): New variable.
13516 (multiboot2_mod_CFLAGS): Likewise.
13517 (multiboot2_mod_LDFLAGS): Likewise.
13518 (multiboot2_mod_ASFLAGS): Likewise.
13519 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
13520 definition.
13521 (MULTIBOOT_ENTRY_REGISTER): Likewise.
13522 (MULTIBOOT_MBI_REGISTER): Likewise.
13523 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
13524 (MULTIBOOT_ELF32_MACHINE): Likewise.
13525 (MULTIBOOT_ELF64_MACHINE): Likewise.
13526 * include/grub/mips/multiboot.h: New file.
13527 * include/grub/video.h (grub_video_driver_id): New type
13528 GRUB_VIDEO_DRIVER_SM712.
13529 (grub_video_get_info_and_fini): Export.
13530 (grub_video_get_palette): Likewise.
13531 (grub_video_get_driver_id): Likewise.
13532 * include/multiboot2.h: Resynced with spec.
13533 * loader/i386/multiboot.c: Moved from here ...
13534 * loader/multiboot.c: ... here. All users updated.
13535 (grub_multiboot_boot): Use platform-specific macros.
13536 * loader/i386/multiboot_elfxx.c: Moved from here ...
13537 * loader/multiboot_elfxx.c: ... here. All users updated.
13538 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
13539 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
13540 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
13541
47674667
VS
135422010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13543
13544 Import gnulib argp module.
13545
13546 * gnulib/argp-ba.c: New file.
13547 * gnulib/argp-eexst.c: Likewise.
13548 * gnulib/argp-fmtstream.c: Likewise.
13549 * gnulib/argp-fmtstream.h: Likewise.
13550 * gnulib/argp-fs-xinl.c: Likewise.
13551 * gnulib/argp-help.c: Likewise.
13552 * gnulib/argp-namefrob.h: Likewise.
13553 * gnulib/argp-parse.c: Likewise.
13554 * gnulib/argp-pin.c: Likewise.
13555 * gnulib/argp-pv.c: Likewise.
13556 * gnulib/argp-pvh.c: Likewise.
13557 * gnulib/argp-version-etc.c: Likewise.
13558 * gnulib/argp-version-etc.h: Likewise.
13559 * gnulib/argp-xinl.c: Likewise.
13560 * gnulib/argp.h: Likewise.
13561
495442ed
VS
135622010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13563
13564 * kern/device.c (grub_device_iterate): Clear errors after failed
13565 opening device.
13566
f9fd65df
VS
135672010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13568
13569 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
13570 returned by firmware.
13571
af09641e
VS
135722010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13573
13574 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
13575 compilation on coreboot and qemu
13576
016883a5
VS
135772010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13578
13579 * include/multiboot2.h: Resync with spec.
13580
f97e1f7d
VS
135812010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13582
13583 Multiboot2 tag support
13584
13585 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
13586 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
13587 Remove loader/multiboot_loader.c.
13588 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
13589 (grub_multiboot2_real_boot): Likewise.
13590 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
13591 (grub_get_multiboot_mmap_count): New proto.
13592 (grub_fill_multiboot_mmap): Likewise.
13593 (grub_multiboot_set_video_mode): Likewise.
13594 (grub_multiboot_set_console): Likewise.
13595 (grub_multiboot_load): Likewise.
13596 (grub_multiboot_load_elf): Likewise.
13597 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
13598 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
13599 * include/multiboot.h: Resynced with specification.
13600 * include/multiboot2.h: Resynced with specification.
13601 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
13602 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
13603 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
13604 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
13605 users updated.
13606 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
13607 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
13608 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
13609 Removed.
13610 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
13611 Moved from here...
13612 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
13613 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13614 Moved from here...
13615 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
13616 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
13617 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
13618 All users updated.
13619 * loader/i386/multiboot_mbi2.c: New file.
13620
3506b90b
VS
136212010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 Resync with gnulib.
13624
13625 * Makefile.in (GNULIB_CFLAGS): New variable.
13626 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
13627 (grub_script_check_CFLAGS): New variable.
13628 * gnulib/alloca.h: Resync with gnulib.
13629 * gnulib/error.c: Likewise.
13630 * gnulib/error.h: Likewise.
13631 * gnulib/fnmatch.c: Likewise.
13632 * gnulib/fnmatch_loop.c: Likewise.
13633 * gnulib/getdelim.c: Likewise.
13634 * gnulib/getline.c: Likewise.
13635 * gnulib/getopt.c: Likewise.
13636 * gnulib/getopt1.c: Likewise.
13637 * gnulib/getopt_int.h: Likewise.
13638 * gnulib/gettext.h: Likewise.
13639 * gnulib/progname.c: Likewise.
13640 * gnulib/progname.h: Likewise.
13641
394a3120
GS
136422010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
13643
13644 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
13645 which is the case with --disabled-nls.
13646
13647 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
13648 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
13649 * util/misc.c: Likewise.
13650 * util/mkisofs/mkisofs.c: Likewise.
13651 * util/mkisofs/mkisofs.h: Likewise.
13652
969d1c78
VS
136532010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 Simplify Apple CC support.
13656
13657 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
13658 Add 0 byte at the end not to have a symbol with empty target.
13659 * mmap/i386/pc/mmap_helper.S: Likewise.
13660 * genmk.rb: Ignore errors 2030 and 2050.
13661 * kern/i386/pc/startup.S: Use LOCAL when possible.
13662
8d2977bb
BC
136632010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
13664
13665 Testcase and the fix for final semicolon on cmdline.
13666
13667 * tests/grub_script_final_semicolon.in: New testcase.
13668 * conf/tests.rmk: Rules for the new testcase.
13669 * script/parser.y: Grammar fix.
13670
a7bd6915
BC
136712010-03-26 BVK Chaitanya <bvk@localhost>
13672
13673 Blank lines testcase for GRUB script.
13674
13675 * tests/grub_script_blanklines.in: New testcase.
13676 * conf/tests.rmk: Rules for the new testcase.
13677
e4ff6628
VS
136782010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 Don't use __FILE__.
13681
13682 * genmk.rb: Add -DGRUB_FILE to all C targets.
13683 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
13684 * include/grub/list.h: Likewise.
13685 * include/grub/misc.h: Likewise.
13686 * include/grub/mm.h: Likewise.
13687 * include/grub/test.h: Likewise.
13688 * kern/mm.c: Likewise.
13689 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13690
6a5cf6b6
VS
136912010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13692
13693 Sunpc partitions support.
13694
13695 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
13696 (grub_fstest_SOURCES): Likewise.
13697 (pkglib_MODULES): Add part_sunpc.mod.
13698 (part_sunpc_mod_SOURCES): New variable.
13699 (part_sunpc_mod_CFLAGS): Likewise.
13700 (part_sunpc_mod_LDFLAGS): Likewise.
13701 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13702 * partmap/sunpc.c: New file.
13703
746d9045
BC
137042010-03-26 BVK Chaitanya <bvk@localhost>
13705
13706 For loop support to GRUB script.
13707
13708 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13709 (grub_script_create_cmdfor): New function prototype.
13710 (grub_script_execute_cmdfor): New function prototype.
13711 * script/execute.c (grub_script_execute_cmdfor): New function.
13712 * script/parser.y (command): New for command.
13713 (forcmd): New grammar rule.
13714 * script/script.c (grub_script_create_cmdfor): New function.
13715 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13716 function.
13717 * tests/grub_script_for1.in: New testcase.
13718 * conf/tests.rmk: Rules for new testcase.
13719
18486b18
VS
137202010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 Nested partitions
13723
13724 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13725 'partition' is NULL, grub_partition_get_start already does that.
13726 * commands/loadenv.c (check_blocklists): Likewise.
13727 (write_blocklists): Likewise.
13728 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13729 (grub_fstest_SOURCES): Likewise.
13730 (pkglib_MODULES): Add part_bsd.mod.
13731 (part_bsd_mod_SOURCES): New variable.
13732 (part_bsd_mod_CFLAGS): Likewise.
13733 (part_bsd_mod_LDFLAGS): Likewise.
13734 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13735 (grub_emu_SOURCES): Likewise.
13736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13737 * include/grub/bsdlabel.h: New file.
13738 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13739 'get_name'.
13740 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13741 (grub_partition_map_list): New variable.
13742 (grub_partition_map_register): Inline.
13743 (grub_partition_map_unregister): Likewise.
13744 (FOR_PARTITION_MAPS): New macro.
13745 (grub_partition_map_iterate): Removed.
13746 (grub_partition_get_start): Handle nested partitions.
13747 * include/grub/msdos_partition.h: Remove bsd-related entries.
13748 (grub_pc_partition): Remove.
13749 * kern/disk.c (grub_disk_close): Free partition data.
13750 (grub_disk_adjust_range): Handle nested partitions.
13751 * kern/partition.c (grub_partition_map_probe): New function.
13752 (grub_partition_probe): Parse name to number, handle subpartitions.
13753 (get_partmap): New function.
13754 (grub_partition_iterate): Handle subpartitions.
13755 (grub_partition_get_name): Likewise.
13756 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13757 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13758 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13759 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13760 Set 'number'.
13761 (acorn_partition_map_probe): Remove.
13762 (acorn_partition_map_get_name): Likewise.
13763 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13764 Set 'number'.
13765 Set 'index' to 0 since there can be only one partition entry per sector.
13766 (amiga_partition_map_probe): Remove.
13767 (amiga_partition_map_get_name): Likewise.
13768 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13769 Set 'number'.
13770 Set 'offset' and 'index' to real positions of partitions.
13771 (apple_partition_map_probe): Remove.
13772 (apple_partition_map_get_name): Likewise.
13773 * partmap/bsdlabel.c: New file.
13774 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13775 Set 'number'.
13776 Allocate 'data' so it can be correctly freed.
13777 Set 'index' to offset inside sector.
13778 (gpt_partition_map_probe): Remove.
13779 (gpt_partition_map_get_name): Likewise.
13780 * partmap/msdos.c (grub_partition_parse): Remove.
13781 (pc_partition_map_iterate): Don't force raw access.
13782 Set 'number'.
13783 Make 'ext_offset' a local variable.
13784 (pc_partition_map_probe): Remove.
13785 (pc_partition_map_get_name): Remove.
13786 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13787 Set 'number'.
13788 (sun_partition_map_probe): Remove.
13789 (sun_partition_map_get_name): Likewise.
13790 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13791 (grub_pcpart_type): Likewise.
13792 * util/hostdisk.c (open_device): Handle new numbering scheme.
13793 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13794 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13795 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13796 * util/grub-install.in: Insert all subpartition modules.
13797 * util/ieee1275/grub-install.in: Likewise.
13798
a3940f88
AG
137992010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13800
13801 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13802 grammar.
13803
21b99926 138042010-03-24 Colin Watson <cjwatson@ubuntu.com>
13805
13806 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13807
bed1d352
CW
138082010-03-21 Colin Watson <cjwatson@ubuntu.com>
13809
13810 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13811 match where 'make install' puts them.
13812 * util/i386/efi/grub-install.in: Likewise.
13813
c9f58427
CW
138142010-03-19 Colin Watson <cjwatson@ubuntu.com>
13815
13816 * .bzrignore: Add gentrigtables, grub-script-check,
13817 grub_script_check_init.c, grub_script_check_init.h, and
13818 trigtables.c.
13819
f84afb27
VS
138202010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13821
13822 * kern/parser.c: Indented.
13823
ed0e3d30
VS
138242010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13825
13826 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13827
0ea81d98
VS
138282010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13831 alpha_mask_size == 0 case.
13832
0cdc2a09
BC
138332010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13834
13835 GRUB shell lexer and parser improvements.
13836
13837 * conf/any-emu.rmk: Build rule updates.
13838 * conf/common.rmk: Likewise.
13839 * conf/i386-coreboot.rmk: Likewise.
13840 * conf/i386-efi.rmk: Likewise.
13841 * conf/i386-ieee1275.rmk: Likewise.
13842 * conf/i386-pc.rmk: Likewise.
13843 * conf/powerpc-ieee1275.rmk: Likewise.
13844 * conf/x86_64-efi.rmk: Likewise.
13845
13846 * configure.ac: Configure check for flex.
13847
13848 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13849 types.
13850 (grub_lexer_param): Struct member updates.
13851 (grub_parser_param): Likewise.
13852 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13853 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13854 (grub_script_lexer_init): Prototype update.
13855 (grub_script_lexer_record_start): Likewise.
13856 (grub_script_lexer_record_stop): Likewise.
13857 (grub_script_lexer_yywrap): New function prototype.
13858 (grub_script_lexer_fini): Likewise.
13859 (grub_script_execute_argument_to_string): Removed by...
13860 (grub_script_execute_argument_to_argv): ...better version.
13861
13862 * script/execute.c (ROUND_UPTO): New macro.
13863 (grub_script_execute_cmdline): Out of memory fixes.
13864 (grub_script_execute_menuentry): Likewise.
13865 (grub_script_execute_argument_to_string): Removed. Update all
13866 users by...
13867 (grub_script_execute_argument_to_argv): ...better version.
13868 * script/function.c (grub_script_function_create): Use
13869 grub_script_execute_argument_to_argv instead of
13870 grub_script_execute_argument_to_string.
13871
13872 * script/lexer.c (check_varstate): Removed.
13873 (check_textstate): Removed.
13874 (grub_script_lexer_record_start): Likewise.
13875 (grub_script_lexer_record_stop): Likewise.
13876 (recordchar): Replaced with...
13877 (grub_script_lexer_record): ...new function.
13878 (nextchar): Removed.
13879 (grub_script_lexer_init): Rewritten.
13880 (grub_script_yylex): Rewritten.
13881 (append_newline): New function.
13882 (grub_script_lexer_yywrap): New function.
13883 (grub_script_lexer_fini): New function.
13884 (grub_script_yyerror): Sets error flag.
13885
13886 * script/yylex.l: New file.
13887 (grub_lexer_yyfree): Wrapper for flex yyffre.
13888 (grub_lexer_yyalloc): Likewise.
13889 (grub_lexer_yyrealloc): Likewise.
13890 * script/parser.y: Refactored.
13891
13892 * script/script.c (grub_script_arg_add): Out of memory fixes.
13893 (grub_script_add_arglist): Likewise.
13894 (grub_script_create_cmdline): Likewise.
13895 (grub_script_create_cmdmenu): Likewise.
13896 (grub_script_add_cmd): Likewise.
13897 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13898 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13899 unnecessary code.
13900
13901 * tests/grub_script_echo1.in: New testcase.
13902 * tests/grub_script_vars1.in: New testcase.
13903 * tests/grub_script_echo_keywords.in: New testcase.
13904
1d63a066
VS
139052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 Remove some redundancy in build system.
13908
13909 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13910 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13911 (TARGET_LDFLAGS): Add -nostdlib.
13912 (TARGET_IMG_LDFLAGS): Likewise.
13913 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13914 anything since mmap isn't available.
13915 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13916 Add util/time.c.
13917 (pkglib_MODULES): Remove reboot.mod.
13918 (reboot_mod_SOURCES): Removed.
13919 (reboot_mod_CFLAGS): Likewise.
13920 (reboot_mod_LDFLAGS): Likewise.
13921 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13922 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13923 (DEFSYMFILES): Add kernel_syms.lst.
13924 (kernel_img_HEADERS): Add common headers.
13925 (symlist.c): New target.
13926 (kernel_syms.lst): Likewise.
13927 (pkglib_MODULES): Add memdisk.mod.
13928 (memdisk_mod_SOURCES): New variable.
13929 (memdisk_mod_CFLAGS): Likewise.
13930 (memdisk_mod_LDFLAGS): Likewise.
13931 (pkglib_MODULES): Add reboot.mod.
13932 (reboot_mod_SOURCES): New variable.
13933 (reboot_mod_CFLAGS): Likewise.
13934 (reboot_mod_LDFLAGS): Likewise.
13935 (pkglib_MODULES): Add date.mod.
13936 (date_mod_SOURCES): New variable.
13937 (date_mod_CFLAGS): Likewise.
13938 (date_mod_LDFLAGS): Likewise.
13939 (pkglib_MODULES): Add datehook.mod.
13940 (datehook_mod_SOURCES): New variable.
13941 (datehook_mod_CFLAGS): Likewise.
13942 (datehook_mod_LDFLAGS): Likewise.
13943 (pkglib_MODULES): Add lsmmap.mod.
13944 (lsmmap_mod_SOURCES): New variable.
13945 (lsmmap_mod_CFLAGS): Likewise.
13946 (lsmmap_mod_LDFLAGS): Likewise.
13947 (pkglib_MODULES): Add boot.mod.
13948 (boot_mod_SOURCES): New variable.
13949 (boot_mod_CFLAGS): Likewise.
13950 (boot_mod_LDFLAGS): Likewise.
13951 * conf/i386-coreboot.rmk: Removed redundant parts.
13952 * conf/i386-ieee1275.rmk: Likewise.
13953 * conf/i386-pc.rmk: Likewise.
13954 * conf/mips-yeeloong.rmk: Likewise.
13955 * conf/mips.rmk: Likewise.
13956 * conf/powerpc-ieee1275.rmk: Likewise.
13957 * conf/sparc64-ieee1275.rmk: Likewise.
13958 * conf/x86_64-efi.rmk: Likewise.
13959 * conf/i386-coreboot.rmk: Moved qemu parts ..
13960 * conf/i386-qemu.rmk: ... here
13961 * conf/i386-efi.rmk: Moved common parts to...
13962 * conf/x86-efi.rmk: ... here.
13963 * conf/i386.rmk: Added modules common to all x86 variants.
13964 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13965 * disk/memdisk.c: Remove grub/machine/kernel.h.
13966 * gensymlist.sh.in: Include symbol.h.
13967 * hook/datehook.c: Correct module name.
13968 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13969 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13970 * include/grub/i386/efi/serial.h: New file.
13971 * include/grub/x86_64/efi/serial.h: Likewise.
13972 * util/time.c: Likewise.
13973 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13974
463ac55f
CK
139752010-03-14 Colin King <colin.king@ubuntu.com>
139762010-03-14 Colin Watson <cjwatson@ubuntu.com>
13977
13978 Shrink the pre-partition-table part of boot.img by eight bytes.
13979
13980 * boot/i386/pc/boot.S (ERR): New macro.
13981 (chs_mode): Use ERR.
13982 (geometry_error): Likewise.
13983 (hd_probe_error): Remove. This is only used once, so we wrwite
13984 it inline instead.
13985 (read_error): Instead of printing read_error_string, just set up
13986 %si and fall through to ...
13987 (error_message): ... this new function, also used by ERR.
13988
08e46ede
CW
139892010-03-14 Colin Watson <cjwatson@ubuntu.com>
13990
13991 Speed up consecutive hostdisk operations on the same device.
13992
13993 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13994 (grub_util_biosdisk_open): Initialise disk->data.
13995 (struct linux_partition_cache): New structure.
13996 (linux_find_partition): Cache partition start positions; these are
13997 expensive to compute on every read and write.
13998 (open_device): Cache open file descriptor in disk->data, so that we
13999 don't have to reopen it and flush the buffer cache for consecutive
14000 operations on the same device.
14001 (grub_util_biosdisk_close): New function.
14002 (grub_util_biosdisk_dev): Set `close' member.
14003
14004 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14005 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14006 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14007 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14008 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14009
4a6d2d06
VS
140102010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 Compile parts of grub-emu as modules.
14013
14014 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
14015 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
14016 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
14017 (all-local): Add $(GRUB_EMU).
14018 (install-local): Install $(GRUB_EMU).
14019 (uninstall): Uninstall $(GRUB_EMU).
14020 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
14021 * kern/dl.c: Likewise.
14022 * commands/sleep.c: Not include machine/time.h.
14023 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
14024 (COMMON_CFLAGS): Likewise.
14025 (sbin_UTILITIES): Remove grub-emu.
14026 (grub_emu_SOURCES): Removed.
14027 (kernel_img_RELOCATABLE): New variable.
14028 (pkglib_PROGRAMS): Add kernel.img.
14029 (kernel_img_SOURCES): New variable
14030 (kernel_img_CFLAGS): Likewise.
14031 (kernel_img_LDFLAGS): Likewise.
14032 (TARGET_NO_STRIP): Likewise.
14033 (TARGET_NO_DYNAMIC_MODULES): Likewise.
14034 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
14035 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
14036 (grub-emu): New target.
14037 (GRUB_EMU): New variable.
14038 * configure.ac: Whitelist -emu as possible x86_64 architecture.
14039 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
14040 * loader/xnu.c: Likewise.
14041 * include/grub/pci.h: Likewise.
14042 * genemuinit.sh: New file.
14043 * genemuinitheader.sh: Likewise.
14044 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
14045 Support TARGET_NO_DYNAMIC_MODULES.
14046 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
14047 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
14048 * disk/loopback.c: Likewise.
14049 * font/font_cmd.c: Likewise.
14050 * partmap/acorn.c: Likewise.
14051 * partmap/amiga.c: Likewise.
14052 * partmap/apple.c: Likewise.
14053 * partmap/gpt.c: Likewise.
14054 * partmap/msdos.c: Likewise.
14055 * partmap/sun.c: Likewise.
14056 * parttool/msdospart.c: Likewise.
14057 * term/gfxterm.c: Likewise.
14058 * video/bitmap.c: Likewise.
14059 * video/readers/jpeg.c: Likewise.
14060 * video/readers/png.c: Likewise.
14061 * video/readers/tga.c: Likewise.
14062 * video/video.c: Likewise.
14063 * util/grub-emu.c (read_command_list): Removed.
14064 (main): Don't call util_init_nls.
14065 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
14066 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
14067
91fdd2ed
VS
140682010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14069
14070 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
14071 date.mod, datehook.mod.
14072 (datetime_mod_SOURCES): New variable.
14073 (datetime_mod_CFLAGS): Likewise.
14074 (datetime_mod_LDFLAGS): Likewise.
14075 (date_mod_SOURCES): Likewise.
14076 (date_mod_CFLAGS): Likewise.
14077 (date_mod_LDFLAGS): Likewise.
14078 (datehook_mod_SOURCES): Likewise.
14079 (datehook_mod_CFLAGS): Likewise.
14080 (datehook_mod_LDFLAGS): Likewise.
14081 * conf/sparc64-ieee1275.rmk: Likewise.
14082 * lib/ieee1275/datetime.c: New file.
14083
873ccae6
VS
140842010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
14087 (ieee1275_fb_mod_SOURCES): New variable.
14088 (ieee1275_fb_mod_CFLAGS): Likewise.
14089 (ieee1275_fb_mod_LDFLAGS): Likewise.
14090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
14091 New proto.
14092 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
14093 (HEAP_MAX_ADDR): Likewise.
14094 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
14095 type.
14096 Correct stop condition.
14097 (grub_ieee1275_devices_iterate): New function.
14098 * video/ieee1275.c: New file.
14099
601c97c0
VS
141002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
14103
14104 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
14105 as scratch.
14106 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
14107 SCRATCH_PAD_DISKBOOT as scratch.
14108 (bootit): Pass Openfirmware pointer in %o4.
14109 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
14110 of 0x200000.
14111 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
14112 with util/grub-mkrawimage.c.
14113 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
14114 * include/grub/aout.h (AOUT_MID_SUN): New definition.
14115 (grub_aout_get_type) [GRUB_UTIL]: Removed.
14116 (grub_aout_load) [GRUB_UTIL]: Likewise.
14117 * include/grub/kernel.h (grub_modules_get_end): New proto.
14118 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
14119 (SCRATCH_PAD_BOOT): New definition.
14120 (SCRATCH_PAD_DISKBOOT): Likewise.
14121 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
14122 * include/grub/sparc64/ieee1275/ieee1275.h
14123 (grub_ieee1275_original_stack): New variable
14124 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14125 New definition
14126 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
14127 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
14128 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
14129 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
14130 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
14131 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
14132 (grub_platform_image_format_t): New type.
14133 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
14134 * kern/main.c (grub_modules_get_end)
14135 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
14136 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
14137 (codestart): Switch stacks.
14138 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
14139 variable.
14140 (grub_heap_init): Use grub_modules_get_end.
14141 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
14142 stack.
14143 * util/grub-mkrawimage.c (generate_image): Support sparc64.
14144 (main): Likewise.
14145 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
14146
d68b491e
TG
141472010-03-14 Thorsten Glaser <tg@mirbsd.org>
14148
14149 * util/grub-mkrescue.in: Base ISO UUID on UTC.
14150
4e02ed50
MK
141512010-03-08 Matt Kraai <kraai@ftbfs.org>
14152
14153 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
14154 bug #559005).
14155
1f15fc1e
VS
141562010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * genmoddep.awk: Output all missing symbols and not only first.
14159
fce5d8ff
VS
141602010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * NEWS: Put the date of 1.98 release.
14163
d1e8a02f
VS
141642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
14167 ft2build.h.
14168
696fd607
VS
141692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
14172 completition in the middle of string.
14173
33e2e6f3
VS
141742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * util/grub-mkrescue.in: Use mktemp with explicit template.
14177
b1f6d291
VS
141782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
14181
2ac227c7
VS
141822010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14183
14184 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
14185 right pointer.
14186
8f9a632b
VS
141872010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 Fix FreeBSD compilation.
14190
14191 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
14192 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
14193
60b03859
VS
141942010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
14195
14196 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
14197
48a5a769
VS
141982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
14201
3ab4bd77
VS
142022010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
14205
d116e0d8
RM
142062010-03-04 Robert Millan <rmh.grub@aybabtu.com>
14207
14208 Support relative image path in theme file.
14209
14210 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
14211 (image_set_property): Handle theme_dir and relative path.
14212
c7ef54aa
VS
142132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14214
14215 * configure.ac: Alias amd64 to x86_64.
14216
fcee14ed
VS
142172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14218
14219 * NEWS: mention multiboot on EFI.
14220
d0780363
VS
142212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * kern/main.c (grub_load_modules): Handle errors from init functions of
14224 embeded modules.
14225
41168ea4
VS
142262010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14227
14228 * normal/autofs.c (autoload_fs_module): Handle errors.
14229
b54d93ac
VS
142302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 Disable linux.mod on qemu-mips since it's not functional and leads
14233 to compilation failure.
14234
14235 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
14236 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
14237 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
14238 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
14239 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
14240 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
14241 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
14242 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
14243 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
14244 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
14245 Reported by: BVK Chaitanya
14246
fc8345da
JU
142472010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
14248
14249 * INSTALL: Add gettext as a dependency and add qemu to a new section
14250 "Prerequisites for make-check".
14251
4760f979
CF
142522010-03-04 Christian Franke <franke@computer.org>
14253
14254 * util/grub-pe2elf.c: Add missing include "progname.h".
14255
f209b5b2
VS
142562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 * normal/crypto.c (read_crypto_list): Fix a typo.
14259 Reported by: Seth Goldberg.
14260
b4b7be98
VS
142612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 14264 Reported by: Seth Goldberg.
b4b7be98 14265
c0ee0385
VS
142662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
14269 ascii.bitmaps.
14270
a8efbf64
VS
142712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 14274 Reported by: Seth Goldberg.
a8efbf64 14275
08dcd913
VS
142762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14277
14278 * util/i386/efi/grub-install.in: Copy gettext files.
14279
c4d0b332
VS
142802010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14281
14282 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
14283
c6f2fe52
VS
142842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14285
14286 Wait for user entry basing on presence of output rather than on errors.
14287
14288 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
14289 (grub_install_newline_hook): Likewise.
14290 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
14291 * normal/menu.c (show_menu): Check line_counter to determine presence
14292 of output.
14293 * normal/term.c (grub_normal_line_counter): New variable.
14294 (grub_normal_get_line_counter): New function.
14295 (grub_install_newline_hook): Likewise.
14296
5382b1e4
VS
142972010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
14300
5519963b
VS
143012010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14302
14303 * configure.ac: Update version to 1.98.
14304
72b28631
VS
143052010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * util/grub.d/10_linux.in (linux_entry): Don't default to
14308 gfxpayload=keep if Linux doesn't support video handover.
14309
c140a180
VS
143102010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
14311
14312 Don't compile video modules on yeeloong since video subsystem is part
14313 of kernel.
14314
14315 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
14316 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
14317 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
14318 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
14319 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
14320 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
14321 * include/grub/bitmap_scale.h: Likewise.
14322 * include/grub/bufio.h: Likewise.
14323 * include/grub/font.h: Likewise.
14324 * include/grub/gfxterm.h: Likewise.
14325 * include/grub/video.h: Likewise.
14326 * include/grub/vbe.h: Don't include video_fb.h.
14327 * video/i386/pc/vbe.c: Include video_fb.h.
14328 * commands/i386/pc/vbetest.c: Include video.h.
14329
a0ca21c2
CW
143302010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
14331
14332 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
14333 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
14334 default entry if GRUB_SAVEDEFAULT=true. This allows using
14335 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
14336 saving a new default on every boot.
14337
4a8a763c
VS
143382010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14339
14340 * normal/crypto.c (read_crypto_list): Fix a memory leak.
14341 * normal/term.c (read_terminal_list): Likewise.
14342 * normal/main.c (grub_normal_init_page): Likewise.
14343 (grub_normal_read_line_real): Likewise.
14344
607ffde2
VS
143452010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
14348 memory leak.
14349 Reported by: Seth Goldberg.
14350
2b8fa975
CW
143512010-02-24 Joey Korkames <joey+lists@kidfixit.com>
14352
14353 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
14354 duplicate declaration of `start'.
14355
618307dd
VS
143562010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
14359 filename.
14360 Reported by: Georgy Buranov
14361
7dd05b96 143622010-02-20 Carles Pina i Estany <carles@pina.cat>
14363
14364 * util/grub-mkrawimage.c (usage): Change string formatting to
14365 improve gettext.
14366
d1484a42
MRA
143672010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14368
14369 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
14370 backspace keys.
14371
42b1d186
VS
143722010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
14375 Reported by: Michael Suchanek.
14376
143772010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
14378
14379 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
14380 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
14381
d9f31a41
VS
143822010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 Remove any reference to non-free fonts.
14385
14386 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
14387 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
14388 uses non-free components.
14389 * font/font.c (grub_font_get_name): Remove example name.
14390 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
14391 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14392 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
14393 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
14394
2793c71e
GB
143952010-02-16 Georgy Buranov <gburanov@gmail.com>
14396
14397 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
14398
402e3779
VS
143992010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14400
14401 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
14402 Double divisor.
14403 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
14404 features.
14405 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
14406
0dd1e0dd
VS
144072010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14408
14409 * gensymlist.sh.in: Use TARGET_CC instead of CC.
14410
6fa7cfce
ST
144112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14412
14413 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
14414 * docs/grub.texi (Command-line and menu entry commands): Document play
14415 command.
14416
37c8483b
ST
144172010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14418
14419 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
14420 parse arguments as inline tempo and notes. Move code for playing notes
14421 to...
14422 (play): ... new function.
14423
14da0fb7
ST
144242010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14425
14426 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
14427 grub_uint16_t instead of short.
14428 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
14429 disk from little endian to cpu endianness.
14430
04459e70
ST
144312010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
14432
14433 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
14434 GRUB_TICKS_PER_SECOND instead of 120.
14435
a0876943
VS
144362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
14439 escape sequence after \e.
14440
e29f95dc
VS
144412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14442
14443 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
14444 non-ASCII characters.
14445
d27859b2
VS
144462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
14449 set root in single quotes to prevent \, from being unescaped.
14450
bc028f2f
VS
144512010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 Prevent unknown commands from stopping menuentry execution.
14454
14455 * script/execute.c (grub_script_execute_cmdline): Print error after
14456 unknown command.
14457
095f5f82
VS
144582010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
14461 Reported by: Pavel Pisa.
14462
8c717950
VS
144632010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
14466
904935c3
VS
144672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 Merge grub_ieee1275_map_physical into grub_map and rename to
14470 grub_ieee1275_map
14471
14472 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
14473 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
14474 Remove.
14475 * kern/ieee1275/openfw.c (grub_map): Rename to ...
14476 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
14477 necessary.
14478 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
14479
5b59a4e3
VS
144802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
14483 opening and not after.
14484
69e137e8
VS
144852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
14488 constants.
14489
2c0fcc36
VS
144902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14491
14492 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
14493 (alloc_phys): Use ALIGN_UP instead of align_addr.
14494
8c6052ce
VS
144952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14496
14497 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
14498
17cec782
VS
144992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
14502
e0128bbd
VS
145032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
14506 verbose dprintf.
14507
ca62070b
VS
145082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14509
14510 Fix over-4GiB seek on sparc64.
14511
14512 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
14513 Replace pos_i and pos_lo with pos. All users updated.
14514 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14515 New constant.
14516 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14517 Likewise.
14518 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
14519 and pos_lo.
14520
bdca2607
VS
145212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * util/grub-mkrawimage.c (main): Call set_program_name.
14524
da278c4d
VS
145252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14526
14527 Properly align 64-bit targets.
14528
14529 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
14530 (generate_image): Use ALIGN_ADDR.
14531
b274d734
VS
145322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14533
14534 Properly create cross-endian images.
14535
14536 * include/grub/types.h (grub_host_to_target_addr): New macro
14537 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
14538
82da2062
VS
145392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
14542
7cae4377
VS
145432010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
14546
14547 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
14548 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
14549 (grub_linux_boot): Divide by 64K when on VESA.
14550
65a533e7
VS
145512010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 Support GRUB_GFXPAYLOAD_LINUX.
14554
14555 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
14556 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
14557
dd01d397
VS
145582010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
14561 to show messages instead of discarding them.
14562 Process errors after executing command and not before. Keep old method
14563 too as precaution.
14564
660960d6
VS
145652010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * configure.ac: Check for ft2build.h.
14568
62509f04
VS
145692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14570
14571 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
14572
473df63d
VS
145732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14574
14575 * genkernsyms.sh.in: Use TARGET_CC.
14576
c98d2a13
CW
145772010-02-07 Colin Watson <cjwatson@ubuntu.com>
14578
14579 * NEWS: Update.
14580
6e14234c
VS
145812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14582
14583 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
14584 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
14585 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 14586
b255e9cf
YB
145872010-02-07 Yves Blusseau <blusseau@zetam.org>
14588
6e14234c 14589 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 14590
98e6959d
VS
145912010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14592
14593 Fix warnings in grub-emu when compiling with maximum warning options.
14594
14595 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
14596 (grub_arch_modules_addr): Return 0 and not NULL.
14597 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 14598 (xstrdup): Use newstr instead of dup.
f88d801b
VS
14599 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
14600 of disk to dsk to avoid shadowing.
74e4934e
VS
14601 (find_free_slot): Fix prototype.
14602 * util/getroot.c (grub_util_is_dmraid): Make static.
14603 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
14604 Add missing prototype.
14605 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 14606
74e31b5c
VS
146072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14608
14609 * loader/i386/linux.c (grub_linux_setup_video): Handle error
14610 appropriately.
14611
6b2ad14b
VS
146122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14613
14614 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
14615 code out.
14616
8f891adc
VS
146172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14618
14619 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
14620 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
14621 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
14622 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
14623 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
14624 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
14625
74b45184
VS
146262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 * include/grub/err.h (grub_err_printf): Don't export.
14629
a4bced77
VS
146302010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14631
14632 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
14633
007d0695
VS
146342010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * include/grub/i18n.h (grub_gettext_dummy): Removed.
14637 * kern/misc.c (grub_gettext_dummy): Make static.
14638
b6c0d9c2
VS
146392010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14640
14641 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
14642 by non-valid ones.
14643 * kern/term.c (grub_putchar): Likewise.
14644
f51a90d0
VS
146452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
14648 buggy hook call and memory leak.
14649
6846cec5
VS
146502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
14653
468d69fe
VS
146542010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14655
14656 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
14657
51906b8c
VS
146582010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14659
14660 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
14661 modevar.
14662 Return grub_errno on allocation error.
14663
09706ce5
VS
146642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
14667
911df80c
YB
146682010-02-06 Yves Blusseau <blusseau@zetam.org>
14669
14670 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
14671 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
14672
3746a6bc
VS
146732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
14676 non-pxe disk.
14677 (grub_pxefs_open): Likewise.
14678
09706ce5
VS
146792010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14680
14681 * util/grub.d/10_hurd.in: Add --class information to menuentries.
14682 * util/grub.d/10_kfreebsd.in: Likewise.
14683 * util/grub.d/10_linux.in: Likewise.
14684
7cc192d9
VS
146852010-02-06 Colin D Bennett <colin@gibibit.com>
14686
14687 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
14688 (gfxmenu_mod_SOURCES): New variable.
14689 (gfxmenu_mod_CFLAGS): Likewise.
14690 (gfxmenu_mod_LDFLAGS): Likewise.
14691 * include/grub/term.h (grub_term_set_current_output): Declare
14692 argument as const.
14693 * docs/gfxmenu-theme-example.txt: New file.
14694 * gfxmenu/gfxmenu.c: Likewise.
14695 * gfxmenu/gui_box.c: Likewise.
14696 * gfxmenu/gui_canvas.c: Likewise.
14697 * gfxmenu/gui_circular_progress.c: Likewise.
14698 * gfxmenu/gui_image.c: Likewise.
14699 * gfxmenu/gui_label.c: Likewise.
14700 * gfxmenu/gui_list.c: Likewise.
14701 * gfxmenu/gui_progress_bar.c: Likewise.
14702 * gfxmenu/gui_string_util.c: Likewise.
14703 * gfxmenu/gui_util.c: Likewise.
14704 * gfxmenu/icon_manager.c: Likewise.
14705 * gfxmenu/model.c: Likewise.
14706 * gfxmenu/named_colors.c: Likewise.
14707 * gfxmenu/theme_loader.c: Likewise.
14708 * gfxmenu/view.c: Likewise.
14709 * gfxmenu/widget-box.c: Likewise.
14710 * include/grub/gfxmenu_model.h: Likewise.
14711 * include/grub/gfxmenu_view.h: Likewise.
14712 * include/grub/gfxwidgets.h: Likewise.
14713 * include/grub/gui.h: Likewise.
14714 * include/grub/gui_string_util.h: Likewise.
14715 * include/grub/icon_manager.h: Likewise.
14716
147172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 Agglomerate scrolling in gfxterm.
14720
14721 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14722 (grub_virtual_screen_setup): Initialise 'total_screen'.
14723 (write_char): Split to ...
14724 (paint_char): ... this ...
14725 (write_char): ... and this.
14726 (paint_char): Handle delayed scrolling.
14727 (draw_cursor): Likewise.
14728 (scroll_up): Split to ...
14729 (real_scroll): ... this ...
14730 (scroll_up): ... and this.
14731 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14732 characters.
14733 (grub_gfxterm_refresh): Call real_scroll.
14734
147352010-02-06 Colin D Bennett <colin@gibibit.com>
14736
14737 * include/grub/misc.h (grub_iscntrl): New inline function.
14738 (grub_isalnum): Likewise.
14739 (grub_strtol): Likewise.
14740
147412010-02-06 Colin D Bennett <colin@gibibit.com>
14742
14743 * normal/menu_text.c (get_entry_number): Move from here ...
14744 * normal/menu.c (get_entry_number): ... moved here.
14745 * include/grub/menu.h (grub_menu_get_default_entry_index):
14746 New prototype.
14747 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14748 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14749 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14750 (grub_menu_viewer_should_return): Likewise.
14751 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14752 * normal/menu_text.c (run_menu): Enable menu switching.
14753 * normal/menu_viewer.c (should_return): New variable.
14754 (menu_viewer_changed): Likewise.
14755 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14756 (grub_menu_viewer_should_return): New function.
14757 (menuviewer_write_hook): Likewise.
14758 (grub_menu_viewer_init): Likewise.
14759
147602010-02-06 Colin D Bennet <colin@gibibit.com>
147612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14762
14763 Support for gfxterm in a window.
14764
14765 * include/grub/gfxterm.h: New file.
14766 * include/grub/video.h (struct grub_video_rect): New declaration.
14767 (grub_video_rect_t): Likewise.
14768 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14769 (refcount): New variable.
14770 (render_target): Likewise.
14771 (window): Likewise.
14772 (repaint_callback): Likewise.
14773 (grub_virtual_screen_setup): Use 'render_target'.
14774 (init_window): New function.
14775 (grub_gfxterm_init_window): Likewise.
14776 (grub_gfxterm_init): Check reference counter.
14777 Use init_window.
14778 (destroy_window): New function.
14779 (grub_gfxterm_destroy_window): Likewise.
14780 (grub_gfxterm_fini): Check reference counter.
14781 Use destroy_window.
14782 (redraw_screen_rect): Restore viewport.
14783 Use 'render_target' and 'window'.
14784 Call 'repaint_callback'.
14785 (write_char): Use 'render_target'.
14786 (draw_cursor): Likewise.
14787 (scroll_up): Restore viewport.
14788 Use 'render_target' and 'window'.
14789 Call 'repaint_callback'.
14790 (grub_gfxterm_cls): Likewise.
14791 (grub_gfxterm_refresh): Use 'window'.
14792 (grub_gfxterm_set_repaint_callback): New function.
14793 (grub_gfxterm_background_image_cmd): Use 'window'.
14794 (grub_gfxterm_get_term): New function.
14795 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14796
147972010-02-06 Colin D Bennett <colin@gibibit.com>
14798
14799 Bitmap scaling support.
14800
14801 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14802 (bitmap_scale_mod_SOURCES): New variable.
14803 (bitmap_scale_mod_CFLAGS): Likewise.
14804 (bitmap_scale_mod_LDFLAGS): Likewise.
14805 * include/grub/bitmap_scale.h: New file.
14806 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14807 (background_image_cmd_options): New variable.
14808 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14809 (cmd): Rename and change type to ...
14810 (background_image_cmd_handle): ... this. All users updated.
14811 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14812 * video/bitmap_scale.c: New file.
14813
148142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 SDL support.
14817
14818 * Makefile.in (LIBSDL): New variable.
14819 (enable_grub_emu_sdl): Likewise.
14820 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14821 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14822 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14823 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14824 * util/sdl.c: New file.
14825
148262010-02-06 Colin D Bennett <colin@gibibit.com>
148272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 Double buffering support.
14830
14831 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14832 * include/grub/video.h: Update comment.
14833 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14834 New type.
14835 (grub_video_fb_doublebuf_blit_init): New prototype.
14836 * term/gfxterm.c (scroll_up): Support double buffering.
14837 (grub_gfxterm_refresh): Likewise.
14838 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14839 (grub_video_fb_doublebuf_blit_init): Likewise.
14840 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14841 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14842 'displayed_page', 'render_page' and 'update_screen'.
14843 (grub_video_vbe_fini): Free offscreen buffer.
14844 (doublebuf_pageflipping_commit): New function.
14845 (doublebuf_pageflipping_update_screen): Likewise.
14846 (doublebuf_pageflipping_init): Likewise.
14847 (double_buffering_init): Likewise.
14848 (grub_video_vbe_setup): Enable doublebuffering.
14849 (grub_video_vbe_swap_buffers): Implement.
14850 (grub_video_vbe_set_active_render_target): Handle double buffering.
14851 (grub_video_vbe_get_active_render_target): Likewise.
14852 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14853 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14854 (grub_video_vbe_enable_double_buffering): Likewise.
14855 (grub_video_vbe_swap_buffers): Use update_screen.
14856 (grub_video_set_mode): Use double buffering.
14857
148582010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14859
14860 * maintainance/gentrigtables.py: Remove.
14861 * lib/trig.c: Likewise.
14862
14863 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14864
14865 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14866 `trigtables.c'.
14867 (trigtables.c): New rule.
14868 (gentrigtables): Likewise.
14869 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14870
148712010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14872
14873 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14874 integer constants.
14875
148762010-02-06 Colin D Bennet <colin@gibibit.com>
14877
14878 Trigonometry support.
14879
14880 * include/grub/trig.h: New file.
14881 * lib/trig.c: Likewise.
14882 * maintainance/gentrigtables.py: Likewise.
14883 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14884 (trig_mod_SOURCES): New variable.
14885 (trig_mod_CFLAGS): Likewise.
14886 (trig_mod_LDFLAGS): Likewise.
14887
5562834e
VS
148882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14891 disk devices.
14892
4f8528fc
VS
148932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14896 error.
14897
2b4068e9
VS
148982010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * util/hostdisk.c (open_device): Don't use partition device when reading
14901 before the partition.
14902 (grub_util_biosdisk_read): Don't read from partition and before the
14903 partition in single operation.
14904 (grub_util_biosdisk_write): Don't write to partition and before the
14905 partition in single operation.
14906
399f6e4d
TL
149072010-02-03 Torsten Landschoff <torsten@debian.org>
14908
14909 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14910 last sectors.
14911
996649b0
VS
149122010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14915 CDROM reads.
14916 (grub_biosdisk_write): Refuse to write to CDROM.
14917
3b205d4d
VS
149182010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14921
61e89d9d
VS
149222010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * font/font.c (find_glyph): Check that bmp_idx is available before
14925 using it.
14926 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14927 with (font == NULL).
14928
bf7fcba2
CS
149292010-01-28 Christian Schmitt <chris@ilovelinux.de>
14930
14931 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14932
f45d2663
BC
149332010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14934
14935 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14936 * util/grub-script-check.c (getline): Fix empty lines case.
14937
ec1444e6
RM
149382010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14939
14940 * Makefile.in (check): Exit with fail status when one of the tests
14941 fails.
14942 * tests/example_functional_test.c (example_test): Fix reversed assert.
14943 * tests/example_unit_test.c (example_test): Likewise.
14944
2e1cb9bb
CW
149452010-01-28 Colin Watson <cjwatson@ubuntu.com>
14946
14947 * util/grub.d/10_linux.in: This script does not use any of the
14948 contents of gettext.sh, only the external command `gettext', so stop
14949 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14950 the same prefix as GRUB.)
14951 * util/grub.d/10_kfreebsd.in: Likewise.
14952
63533ab0
VS
149532010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14956 of the line.
14957
989e1f93
VS
149582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14961 last sectors.
14962
e709ebe2
VS
149632010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14966 having a 4KiB and not 32KiB buffer size.
14967
27dea7ed
RM
149682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14969
14970 * util/hostfs.c: Include `<errno.h>'.
14971 (grub_hostfs_read): Handle errors from fseeko() and fread().
14972
67667b9c
RM
149732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14974
14975 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14976 loop when using read hooks on files whose size isn't sector-aligned.
14977
c294d9d8
RM
149782010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14979
14980 Remove unused parameter.
14981
14982 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14983 (grub_iso9660_open): Remove initialization of `data->length'.
14984
af75a9f1
RM
149852010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14986
14987 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14988 memleak conditions.
14989
254e2ce5 149902010-01-27 Carles Pina i Estany <carles@pina.cat>
14991
14992 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14993 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14994
b510928c 149952010-01-26 Carles Pina i Estany <carles@pina.cat>
14996
14997 * util/bin2h.c (usage): Fix warning (space after backslash).
14998
aa2f9dd2 149992010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 15000
15001 * font/font.c: Include `grub/fontformat.h.
15002 Remove font file format constants.
15003 (grub_font_load): Use the new macros.
15004 * include/grub/fontformat.h: New file.
15005 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15006 (write_font_pf2): Use the new macros.
15007
94e7e712
RM
150082010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15009
15010 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
15011 does.
15012
3973a59a
RM
150132010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15014
15015 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
15016
15017 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
15018 (_start): Macroify `0x7F'.
15019
15020 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
15021 (make_install_device): Use "(pxe)" as fallback prefix when booting
15022 via PXE.
15023
42e0cba3
GS
150242010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * configure.ac: Reset LIBS after check for libgcc symbols.
15027
847effd8
CW
150282010-01-25 Colin Watson <cjwatson@ubuntu.com>
15029
15030 * util/hostdisk.c (open_device): Add trailing newline to debug
15031 message.
15032
ea4a7e35
GS
150332010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
15034
15035 * configure.ac: Check for `limits.h'.
15036 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
15037
67951a53
RM
150382010-01-24 Robert Millan <rmh.grub@aybabtu.com>
15039
15040 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
15041 capitalize error strings.
15042
c273d4ce
ST
150432010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
15044
15045 * util/grub.d/10_hurd.in: Add a recovery mode.
15046
69be5b74
VS
150472010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
15048
15049 * configure.ac: Check for libgcc symbols with -nostdlib.
15050
fc9e5810
BC
150512010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
15052
15053 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
15054
4b358c0a
VS
150552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
15058 stack since heap may be unavailable at that point.
15059 (grub_ofconsole_gotoxy): Likewise.
15060
454fcd1c
VS
150612010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * configure.ac: Check for _restgpr_14_x.
15064 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
15065 and _savegpr_* prototypes.
15066
566863ca
RM
150672010-01-22 Robert Millan <rmh.grub@aybabtu.com>
15068
15069 Use generic grub_reboot() for i386-efi.
15070
15071 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
15072 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
15073 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
15074
bf86e59a
VS
150752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
15078 presence of "prefix" variable as it breaks when normal.mod is
15079 embedded.
15080
d645e0f8
VS
150812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15082
15083 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
15084 stack since heap is unavailable at that point.
15085
f9ab2e25
VS
150862010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
15089 (grub_freebsd_bootinfo): Rewritten.
15090 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
15091
01fc7054
VS
150922010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15093
15094 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
15095
caab4fd6
RM
150962010-01-21 Robert Millan <rmh.grub@aybabtu.com>
15097
15098 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
15099 domain now.
15100
67eb1427
FZ
151012010-01-20 Felix Zielcke <fzielcke@z-51.de>
15102
15103 * util/misc.c (make_system_path_relative_to_its_root): Change the work
15104 around for handling "/" to the correct fix. Fix a memory leak. Use
15105 xstrdup instead of strdup.
15106
a9ed4ff3
VS
151072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15108
15109 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
15110
151112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
15112
15113 Optimise glyph lookup by Basic Multilingual Plane lookup array.
15114
15115 * font/font.c (struct grub_font): New member 'bmp_idx'.
15116 (font_init): Initialise 'bmp_idx'.
15117 (load_font_index): Fill 'bmp_idx'.
15118 (find_glyph): Make inline. Use bmp_idx for BMP characters.
15119
48209f4f
VS
151202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
15123 unnecessary calls.
15124
9f0a4bb7
VS
151252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15126
15127 Move context handling out of the kernel.
15128
15129 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
15130 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
15131 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
15132 * conf/i386-efi.rmk: Likewise.
15133 * conf/i386-ieee1275.rmk: Likewise.
15134 * conf/i386-pc.rmk: Likewise.
15135 * conf/powerpc-ieee1275.rmk: Likewise.
15136 * conf/sparc64-ieee1275.rmk: Likewise.
15137 * conf/x86_64-efi.rmk: Likewise.
15138 * include/grub/env.h: Include grub/menu.h.
15139 (grub_env_var_type): Removed.
15140 (grub_env_var): Replaced field 'type' with 'global'.
15141 (grub_env_find): New prototype.
15142 (grub_env_context_open): Remove EXPORT_FUNC.
15143 (grub_env_context_close): Likewise.
15144 (grub_env_export): Likewise.
15145 (grub_env_set_data_slot): Removed.
15146 (grub_env_get_data_slot): Likewise.
15147 (grub_env_unset_data_slot): Likewise.
15148 (grub_env_unset_menu): New prototype.
15149 (grub_env_set_menu): Likewise.
15150 (grub_env_get_menu): Likewise.
15151 * include/grub/env_private.h: New file.
15152 * include/grub/normal.h (grub_context_init): New prototype.
15153 (grub_context_fini): Likewise.
15154 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
15155 * normal/context.c (grub_cmd_export): ... to here.
15156 * kern/env.c: Include env_private.h.
15157 (HASHSZ): Moved to include/grub/env_private.h.
15158 (grub_env_context): Likewise.
15159 (grub_env_sorted_var): Likewise.
15160 (current_context): Renamed from this ...
15161 (grub_current_context): ...to this. 'static' removed. All users updated.
15162 (grub_env_find): Removed 'static'.
15163 (grub_env_context_open): Moved to normal/context.c.
15164 (grub_env_context_close): Likewise.
15165 (grub_env_export): Likewise.
15166 (mangle_data_slot_name): Removed.
15167 (grub_env_set_data_slot): Likewise.
15168 (grub_env_get_data_slot): Likewise.
15169 (grub_env_unset_data_slot): Likewise.
15170 * kern/main.c (grub_set_root_dev): Don't export root.
15171 It will be done later.
15172 (grub_main): Don't export prefix.
15173 It will be done later.
15174 * normal/context.c: New file.
15175 * normal/main.c (free_menu): Use grub_env_unset_menu.
15176 (grub_normal_add_menu_entry): Use grub_env_get_menu.
15177 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
15178 (GRUB_MOD_INIT(normal)): Call grub_context_init.
15179 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
15180
8dd35b8c
VS
151812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15182
15183 setpci support.
15184
15185 * commands/setpci.c: New file.
15186 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
15187 (setpci_mod_SOURCES): New variable.
15188 (setpci_mod_CFLAGS): Likewise.
15189 (setpci_mod_LDFLAGS): Likewise.
15190
449193d5
VS
151912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15192
15193 Byte-addressable PCI configuration space.
15194
15195 * bus/pci.c (grub_pci_make_address): Use byte address instead of
15196 dword address.
15197 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
15198 GRUB_PCI_REG_CACHELINE.
15199 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
15200 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
15201 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
15202 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
15203 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
15204 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
15205 grub_pci_make_address.
15206 (lock_rom_area): Likewise.
15207 * commands/lspci.c (grub_lspci_iter): Use macroses
15208 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
15209 of grub_pci_make_address.
15210 * disk/ata.c (grub_ata_pciinit): Likewise.
15211 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
15212 (GRUB_PCI_REG_VENDOR): Likewise.
15213 (GRUB_PCI_REG_DEVICE): Likewise.
15214 (GRUB_PCI_REG_COMMAND): Likewise.
15215 (GRUB_PCI_REG_STATUS): Likewise.
15216 (GRUB_PCI_REG_REVISION): Likewise.
15217 (GRUB_PCI_REG_CLASS): Likewise.
15218 (GRUB_PCI_REG_CACHELINE): Likewise.
15219 (GRUB_PCI_REG_LAT_TIMER): Likewise.
15220 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
15221 (GRUB_PCI_REG_BIST): Likewise.
15222 (GRUB_PCI_REG_ADDRESSES): Likewise.
15223 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15224 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15225 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15226 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15227 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15228 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15229 (GRUB_PCI_REG_CIS_POINTER): Likewise.
15230 (GRUB_PCI_REG_SUBVENDOR): Likewise.
15231 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
15232 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
15233 (GRUB_PCI_REG_CAP_POINTER): Likewise.
15234 (GRUB_PCI_REG_IRQ_LINE): Likewise.
15235 (GRUB_PCI_REG_IRQ_PIN): Likewise.
15236 (GRUB_PCI_REG_MIN_GNT): Likewise.
15237 (GRUB_PCI_REG_MAX_LAT): Likewise.
15238 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
15239 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
15240 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 15241 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
15242 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
15243 space.
15244
96d73208
RM
152452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15246
15247 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
15248 can be reliably determined to be supported.
15249
d4484482
RM
152502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15251
15252 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
15253 that VESA is supported.
15254 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
15255 supported.
15256
00308ecf
VS
152572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
15260
f66924a4
RM
152612010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15262
15263 * util/misc.c (make_system_path_relative_to_its_root): Work around
15264 special-casing of "/", as previous incarnation of this routine did.
15265
cbca0ada
VS
152662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15267
15268 Fix any-emu compilation.
15269
15270 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
15271 * grub_bin2h_SOURCES: New variable.
15272
34a66d99
RM
152732010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15274
15275 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
15276
94fabf58
RM
152772010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15278
15279 * util/grub.d/00_header.in: Fix handling of locale_dir.
15280
02cf98ca
VS
152812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
15284 as possible unifont location (Gentoo).
15285 Reported by: Alexander Brüning
15286
327dbcd7
VS
152872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15288
15289 Don't try to generate lists for kernel.img.
15290
15291 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
15292 (pkglib_MODULES): Remove kernel.img.
15293 (kernel_img_EXPORTS): Removed.
15294 (kernel_img_RELOCATABLE): New variable.
15295 * conf/x86_64-efi.rmk: Likewise.
15296 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
15297
ca467290
VS
152982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
15301 grub_xasprintf or grub_snprintf.
15302 (grub_vsprintf): Likewise.
15303 (grub_snprintf): New proto.
15304 (grub_vsnprintf): Likewise.
15305 (grub_xasprintf): Likewise.
15306 (grub_xvasprintf): Likewise.
15307 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
15308 (grub_sprintf): Removed.
15309 (grub_vsnprintf): New function.
15310 (grub_snprintf): Likewise.
15311 (grub_xvasprintf): Likewise.
15312 (grub_xasprintf): Likewise.
15313 (grub_vsprintf): Renamed to ...
15314 (grub_vsnprintf_real): ...this. New argument max_len.
15315
aca655fd
BC
153162010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
15317
15318 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
15319 fix grub-script-check warning.
15320
7ee92c32
VS
153212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 * include/grub/font.h (grub_font_load): Fix prototype.
15324
f80927ca
VS
153252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
15328
119c50ea
VS
153292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * include/grub/x86_64/at_keyboard.h: New file.
15332
47d5f3c1
VS
153332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * loader/mips/linux.c: Include missing grub/i18n.h.
15336
55ff5266
RM
153372009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15338
15339 * normal/menu.c (notify_execution_failure): Clarify error message.
15340
c893cc87
RM
153412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15342
15343 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
15344 return value (and revert all return statements). Update users.
15345
917dd370
CW
153462010-01-20 Dan Merillat <debian@dan.merillat.org>
15347
15348 * kern/device.c (grub_device_iterate): Allocate new part_ent
15349 structure based on sizeof (*p) rather than sizeof (p->next), to
15350 account for structure padding.
15351
15352 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
15353 disk is NULL, which might happen for LVM physical volumes with no
15354 LVM signature.
15355
d4a4ee57
RM
153562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15357
15358 * loader/mips/linux.c (grub_cmd_initrd)
15359 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
15360
153612009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15362
15363 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
15364 (grub_video_video_init, grub_video_bitmap_init)
15365 (grub_font_manager_init, grub_term_gfxterm_init)
15366 (grub_at_keyboard_init): New extern declarations.
15367 (grub_machine_init): Initialize gfxterm and at_keyboard.
15368
15369 * kern/main.c (grub_main): Revert grub_printf delay kludge.
15370
15371 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
15372 `gfxterm.mod' into core image.
15373
15374 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15375 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15376 (kernel_img_FORMAT): Copy to ...
15377
15378 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15379 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15380 (kernel_img_FORMAT): ... here, and ...
15381
15382 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15383 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15384 (kernel_img_FORMAT): ... here.
15385
15386 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
15387 and input (at_keyboard) terminals in kernel.
15388 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
15389
15390 (pkglib_MODULES): Remove `pci.mod'.
15391 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
15392 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
15393 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15394 (at_keyboard_mod_LDFLAGS): Remove variables.
15395
153962010-01-11 Felix Zielcke <fzielcke@z-51.de>
15397
15398 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
15399
154002009-12-10 Robert Millan <rmh.grub@aybabtu.com>
15401
15402 * include/grub/mips/libgcc.h: Only export symbols for functions
15403 that libgcc provides.
15404
154052009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 MIPS support.
15408
15409 * bus/bonito.c: New file.
15410 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
15411 GRUB_PCI_NUM_DEVICES.
15412 * term/i386/pc/serial.c: Move to ...
15413 * term/serial.c: ... here. All users updated.
15414 * util/i386/pc/grub-mkimage.c: Move to ...
15415 * util/grub-mkrawimage.c: ... here. All users updated.
15416 * term/i386/pc/at_keyboard.c: Move to ...
15417 * term/at_keyboard.c: ... here. All users updated.
15418 * conf/mips-qemu-mips.rmk: New file.
15419 * conf/mips-yeeloong.rmk: Likewise.
15420 * conf/mips.rmk: Likewise.
15421 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
15422 mipsel-qemu-mips.
15423 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
15424 to port addresses.
15425 (grub_ata_pciinit): Support CS5536.
15426 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
15427 * font/font_cmd.c (loadfont_command): Open file before passing it to
15428 grub_font_load.
15429 (pseudo_file_read): New function.
15430 (pseudo_file_close): Likewise.
15431 (pseudo_fs): New structure.
15432 (load_font_module): New function.
15433 (GRUB_MOD_INIT(font_manager)): Load embedded font.
15434 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
15435 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
15436 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
15437 * include/grub/i386/at_keyboard.h: Split into ...
15438 * include/grub/at_keyboard.h: ... this ...
15439 * include/grub/i386/at_keyboard.h: ... and this.
15440 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
15441 New prototype.
15442 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
15443 updated.
15444 (grub_elf64_size): Likewise.
15445 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
15446 filename.
15447 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
15448 * include/grub/i386/coreboot/serial.h: Rewritten.
15449 * include/grub/i386/ieee1275/serial.h: Include
15450 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
15451 * include/grub/i386/pc/serial.h: Moved from here ...
15452 * include/grub/serial.h: ... to here. All users updated.
15453 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
15454 (GRUB_PCI_NUM_BUS): Likewise.
15455 (GRUB_PCI_NUM_DEVICES): Likewise.
15456 (grub_pci_device_map_range): Add missing volatile keyword.
15457 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
15458 * include/grub/mips/at_keyboard.h: New file.
15459 * include/grub/mips/cache.h: Likewise.
15460 * include/grub/mips/io.h: Likewise.
15461 * include/grub/mips/kernel.h: Likewise.
15462 * include/grub/mips/libgcc.h: Likewise.
15463 * include/grub/mips/pci.h: Likewise.
15464 * include/grub/mips/qemu-mips/boot.h: Likewise.
15465 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15466 * include/grub/mips/qemu-mips/loader.h: Likewise.
15467 * include/grub/mips/qemu-mips/memory.h: Likewise.
15468 * include/grub/mips/qemu-mips/serial.h: Likewise.
15469 * include/grub/mips/qemu-mips/time.h: Likewise.
15470 * include/grub/mips/relocator.h: Likewise.
15471 * include/grub/mips/time.h: Likewise.
15472 * include/grub/mips/types.h: Likewise.
15473 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
15474 * include/grub/mips/yeeloong/boot.h: Likewise.
15475 * include/grub/mips/yeeloong/kernel.h: Likewise.
15476 * include/grub/mips/yeeloong/loader.h: Likewise.
15477 * include/grub/mips/yeeloong/memory.h: Likewise.
15478 * include/grub/mips/yeeloong/pci.h: Likewise.
15479 * include/grub/mips/yeeloong/serial.h: Likewise.
15480 * include/grub/mips/yeeloong/time.h: Likewise.
15481 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
15482 * kern/elf.c (grub_elf32_size): New parameter. All users
15483 updated.
15484 (grub_elf64_size): Likewise.
15485 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
15486 Load modules before saying "Welcome to GRUB!".
15487 Call grub_refresh after saying "Welcome to GRUB!".
15488 * kern/mips/cache.S: New file.
15489 * kern/mips/cache_flush.S: Likewise.
15490 * kern/mips/dl.c: Likewise.
15491 * kern/mips/init.c: Likewise.
15492 * kern/mips/qemu-mips/init.c: Likewise.
15493 * kern/mips/startup.S: Likewise.
15494 * kern/mips/yeeloong/init.c: Likewise.
15495 * kern/term.c (grub_putcode): Handle NULL terminal.
15496 (grub_getcharwidth): Likewise.
15497 (grub_getkey): Likewise.
15498 (grub_checkkey): Likewise.
15499 (grub_getkeystatus): Likewise.
15500 (grub_getxy): Likewise.
15501 (grub_getwh): Likewise.
15502 (grub_gotoxy): Likewise.
15503 (grub_cls): Likewise.
15504 (grub_setcolorstate): Likewise.
15505 (grub_setcolor): Likewise.
15506 (grub_getcolor): Likewise.
15507 (grub_refresh): Likewise.
15508 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
15509 (write_jump): Add hatch nop.
15510 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
15511 * lib/mips/setjmp.S: New file.
15512 * loader/mips/linux.c: Likewise.
15513 * term/i386/pc/at_keyboard.c: Move from here ...
15514 * term/at_keyboard.c: ... to here.
15515 * term/i386/pc/serial.c: Moved from here ...
15516 * term/serial.c: ... to here. All users updated.
15517 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
15518 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
15519 (serial_translate_key_sequence): Avoid deadlock.
15520 (grub_serial_getkey): Handle backspace.
15521 (grub_serial_putchar): Fix newline handling.
15522 * util/i386/pc/grub-mkimage.c: Move from here ...
15523 * util/grub-mkrawimage.c: ... to here. All users updated.
15524 (generate_image): New parameters 'font_path' and 'format'.
15525 Support embedding font.
15526 Use grub_host_to_target* instead of grub_cpu_to_le*.
15527 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
15528 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
15529 (options): New option "--font".
15530 (usage): Likewise.
15531 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
15532 (main): Handle "--font".
15533 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
15534 (grub_virtual_screen_setup): Set bg_color_display.
15535 (redraw_screen_rect): Use bg_color_display instead of incorrect
15536 bg_color.
15537 (grub_gfxterm_cls): Likewise.
15538 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
15539 Support embedding config file.
15540 (add_segments): Likewise.
15541 (options): New option "--config".
15542 (main): Handle "--config".
15543 * video/sm712.c: New file.
15544
25c2b5b3
RM
155452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15546
15547 Fix parallel builds.
15548
15549 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
15550 font.c depend on ascii.h).
15551
155522010-01-12 Carles Pina i Estany <carles@pina.cat>
15553
15554 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
15555
155562010-01-11 Carles Pina i Estany <carles@pina.cat>
15557
15558 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
15559 By default: disabled.
15560 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
15561 parameter.
15562
155632010-01-10 Carles Pina i Estany <carles@pina.cat>
15564
15565 * font/font.c: Update copyright years.
15566 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
15567
155682010-01-10 Carles Pina i Estany <carles@pina.cat>
15569
15570 * font/font.c: Include `ascii.h'.
15571 (ASCII_BITMAP_SIZE): New macro.
15572 (ascii_font_glyph): Define.
15573 (ascii_glyph_lookup): New function.
15574 (grub_font_get_string_width): Change comment. If glyph not found, use
15575 ascii_glyph_lookup.
15576 (grub_font_get_glyph_with_fallback): If glyph not available returns
15577 ascii_glyph_lookup.
15578 * util/grub-mkfont.c (file_formats): New enum.
15579 (options): Add `ascii-bitmaps' new option.
15580 (usage): Add `asii-bitmaps' new option.
15581 (write_font_ascii_bitmap): New function.
15582 (write_font): Rename to ...
15583 (write_font_p2): ... this. Remove print_glyphs call.
15584 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
15585 used. Call print_glyphs.
15586 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
15587
155882010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15589
15590 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
15591 (grub_bin2h_SOURCES): New variable.
15592 * util/bin2h.c: New file.
15593
915fc1b8
VS
155942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15595
15596 * include/multiboot.h: Resynced with spec.
15597 * include/multiboot2.h: Likewise.
15598 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
15599 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
15600
9444b678
RM
156012010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15602
15603 * include/grub/term.h (grub_term_register_input,
15604 grub_term_register_output): Check return of terminal init()
15605 routines, and abort if errors are raised.
15606
15607 * commands/terminal.c: Update copyright year.
15608
cba98e8d
RM
156092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15610
15611 * commands/terminal.c (grub_cmd_terminal_input)
15612 (grub_cmd_terminal_output): Check return of terminal init()
15613 routines, and abort if errors are raised.
15614
6f7db5d6
VS
156152010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * include/grub/i386/bsd.h: Fix include pathes.
15618
262bff8d
VS
156192010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 Add missing *BSD copyright headers.
15622
15623 * include/grub/aout.h: Add BSD licence.
15624 * include/grub/i386/bsd.h: Parts under different licences moved to ...
15625 * include/grub/i386/freebsd_linker.h: ... here,
15626 * include/grub/i386/freebsd_reboot.h: ... here,
15627 * include/grub/i386/netbsd_bootinfo.h: ... here,
15628 * include/grub/i386/netbsd_reboot.h: ... here,
15629 * include/grub/i386/openbsd_bootarg.h: ... here,
15630 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
15631 licence to each file.
15632
b2cab848
RM
156332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15634
15635 * acinclude.m4: Remove `nop' assembly instruction; it's not
15636 implemented by all architectures.
15637
2cb6be4b
RM
156382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15639
15640 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
15641 ELILO. This is no longer necessary.
15642
a2eaee15
BC
156432010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
15644
15645 Added new tool, grub-scrit-check to verify grub.cfg syntax.
15646
15647 * util/grub-script-check.c: grub-script-check tool.
15648 * conf/common.rmk: Make rules for grub-script-check.
15649
88d17012
RM
156502010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15651
15652 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
15653 spotting it back in 2008. Shame on me for forgetting he did.
15654
15655 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
15656
8040619d
RM
156572010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15658
15659 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
15660 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
15661 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
15662 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
15663 (GRUB_VIDEO_TYPE_EFI): Rename to ...
15664 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
15665
a0c2a0f6
RM
156662010-01-17 Robert Millan <rmh.grub@aybabtu.com>
15667
15668 * include/grub/test.h: Add license header.
15669 * tests/example_functional_test.c: Likewise.
15670 * tests/example_unit_test.c: Likewise.
15671 * tests/lib/functional_test.c: Likewise.
15672 * tests/lib/test.c: Likewise.
15673 * tests/lib/unit_test.c: Likewise.
15674
b0b13907
VS
156752010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 Use flag-based instead of hook-based video mode selection and "auto"
15678 keyword.
15679
15680 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
15681 (grub_video_set_mode): Changed prototype. All users updated.
15682 (grub_video_check_mode_flag): New inline function.
15683 * video/video.c (parse_modespec): New function.
15684 (grub_video_set_mode): Parse flags and keywords.
15685
ea379330 156862010-01-17 Carles Pina i Estany <carles@pina.cat>
15687
15688 * util/misc.c (grub_util_info): Fix the order of the parameters in a
15689 fprintf call.
15690
e15c215e
FZ
156912010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
15692
15693 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
15694
409ae1c9 156952010-01-16 Carles Pina i Estany <carles@pina.cat>
15696
15697 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
15698 string.
15699 * util/grub-emu.c (usage): Likewise.
15700 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15701 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15702 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15703 * util/i386/pc/grub-setup.c (usage): Likewise.
15704
70a14d3d 157052010-01-16 Carles Pina i Estany <carles@pina.cat>
15706
15707 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15708 the message.
15709 (grub_util_info): Likewise.
15710 (grub_util_error): Likewise.
15711 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15712 and/or new lines in `grub_util_warna', `grub_util_info',
15713 `grub_util_error' calls.
15714 * util/getroot.c: Likewise.
15715 * util/grub-editenv.c: Likewise.
15716 * util/grub-emu.c: Likewise.
15717 * util/grub-fstest.c: Likewise.
15718 * util/grub-mkdevicemap.c: Likewise.
15719 * util/grub-mkfont.c: Likewise.
15720 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15721 * util/grub-mkrelpath.c: Likewise.
15722 * util/grub-pe2elf.c: Likewise.
15723 * util/grub-probe.c: Likewise.
15724 * util/hostdisk.c: Likewise.
15725 * util/i386/efi/grub-mkimage.c: Likewise.
15726 * util/i386/pc/grub-mkimage.c: Likewise.
15727 * util/i386/pc/grub-setup.c: Likewise.
15728 * util/ieee1275/ofpath.c: Likewise.
15729 * util/mkisofs/eltorito.c: Likewise.
15730 * util/mkisofs/rock.c: Likewise.
15731 * util/mkisofs/write.c: Likewise.
15732 * util/raid.c: Likewise.
15733 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15734 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15735
a0b766fc
VS
157362010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 Enable multiboot on non-pc.
15739
15740 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15741 multiboot.mod and multiboot2.mod to ...
15742 * conf/i386.rmk (pkglib_MODULES): ... here.
15743 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15744 Moved to ...
15745 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15746 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15747 Moved to ...
15748 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15749 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15750 Moved to ...
15751 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15752 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15753 Moved to ...
15754 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15755 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15756 relocator.mod.
15757 (ata_mod_SOURCES): Removed.
15758 (ata_mod_CFLAGS): Likewise.
15759 (ata_mod_LDFLAGS): Likewise.
15760 (relocator_mod_SOURCES): Removed.
15761 (relocator_mod_CFLAGS): Likewise.
15762 (relocator_mod_ASFLAGS): Likewise.
15763 (relocator_mod_LDFLAGS): Likewise.
15764 Include i386.mk.
15765 * include/grub/x86_64/multiboot.h: New file.
15766 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15767 Terminate EFI.
15768
884ade56
VS
157692010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 Video multiboot support.
15772
15773 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15774 New prototype.
15775 * include/multiboot.h: Resynced with multiboot specification.
15776 * include/multiboot2.h: Likewise.
15777 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15778 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15779 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15780 (HAS_VGA_TEXT): Likewise.
15781 (accepts_video): New variable.
15782 (grub_multiboot_set_accepts_video): New function.
15783 (grub_multiboot_get_mbi_size): Account for video structures.
15784 (set_video_mode): New function.
15785 (retrieve_video_parameters): Likewise.
15786 (grub_multiboot_make_mbi): Fill video fields.
15787
0d90e8a6
VS
157882010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15789
15790 Video driver ids.
15791
15792 * include/grub/video.h (grub_video_driver_id): New type.
15793 (grub_video_adapter): New member 'id'. All users updated.
15794 (grub_video_get_driver_id): New proto.
15795 * video/video.c (grub_video_get_driver_id): New function.
15796
5c71db1b 157972010-01-14 Carles Pina i Estany <carles@pina.cat>
15798
15799 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15800 `var=val'.
15801
cca15b52 158022010-01-14 Carles Pina i Estany <carles@pina.cat>
15803
15804 * normal/cmdline.c (print_completion): Gettextizze.
15805
c586fbb2 158062001-01-14 Carles Pina i Estany <carles@pina.cat>
15807
15808 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15809
ba2f6848 158102010-01-14 Carles Pina i Estany <carles@pina.cat>
15811
15812 * gettext/gettext.c (grub_gettext_translate): Push and pop
15813 grub_errno.
15814 (grub_gettext_delete_list): Change comment style.
15815 * kern/err.c (grub_error): Gettextizze.
15816 (grub_fatal): Gettextizze.
15817
0a46429a
RM
158182010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15819
15820 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15821 (grub_linux16_real_boot): ... this.
15822 * kern/i386/loader.S: Likewise.
15823 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15824 (grub_linux16_boot): New function. Switches to text mode and calls
15825 grub_linux16_real_boot().
15826
15827 * loader/i386/bsd.c: Include `<grub/video.h>'.
15828 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15829 text mode before calling grub_unix_real_boot().
15830
15831 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15832 (grub_multiboot_boot): Switch to text mode before calling
15833 grub_relocator32_boot().
15834
15835 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15836 (grub_chainloader_boot): Switch to text mode before calling
15837 grub_chainloader_real_boot().
15838
d6f93a66
RM
158392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
158402010-01-05 Colin Watson <cjwatson@ubuntu.com>
15841
15842 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15843 non-empty value.
15844
158452010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
158462010-01-05 Colin Watson <cjwatson@ubuntu.com>
15847
15848 * util/grub.d/00_header.in: Define a "savedefault" function for use
15849 in menu entries.
15850 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15851
158522010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
158532010-01-05 Colin Watson <cjwatson@ubuntu.com>
15854
15855 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15856 saved_entry if boot_once is unset.
15857 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15858 previous saved entry (i.e. grub-reboot).
15859
158602009-12-08 Colin Watson <cjwatson@ubuntu.com>
15861
15862 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15863
158642009-12-08 Colin Watson <cjwatson@ubuntu.com>
15865
15866 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15867 `var=val'.
15868 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15869
158702009-12-08 Colin Watson <cjwatson@ubuntu.com>
15871
15872 * util/grub-reboot.in: Fix --version output.
15873 * util/grub-set-default.in: Likewise.
15874
158752009-12-08 Colin Watson <cjwatson@ubuntu.com>
15876
15877 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15878 blocks.
15879
158802009-12-08 Colin Watson <cjwatson@ubuntu.com>
15881
15882 * util/grub.d/00_header.in: Quote the value assigned to `default',
15883 in case it contains spaces.
15884
158852009-12-08 Colin Watson <cjwatson@ubuntu.com>
15886
15887 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15888 `save_default_entry' call from the macosx case to the linux case.
15889
158902009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
158912009-10-25 Colin Watson <cjwatson@ubuntu.com>
15892
15893 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15894 in `chosen' environment variable.
15895 * normal/menu_text.c (get_entry_number): Check if the variable
15896 matches the title of a menu entry.
15897 (run_menu): Pass menu to get_entry_number.
15898
15899 * util/grub-reboot.in: New file.
15900 * util/grub-set-default.in: New file.
15901 * conf/common.rmk (grub-reboot): New utility.
15902 (grub-set-default): New utility.
15903
15904 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15905 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15906 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15907 move it to `saved_entry' for the next boot. Load environment on
15908 initialisation.
15909 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15910 * util/grub.d/10_hurd.in: Likewise.
15911 * util/grub.d/10_linux.in (linux_entry): Likewise.
15912 * util/grub.d/10_windows.in: Likewise.
15913 * util/grub.d/30_os-prober.in: Likewise.
15914
15915 * util/grub-install.in: Create environment block.
15916 * util/i386/efi/grub-install.in: Likewise.
15917 * util/ieee1275/grub-install.in: Likewise.
15918 * util/sparc64/ieee1275/grub-install.in: Likewise.
15919
0934d184
BC
159202010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15921
15922 Unit testing framework for GRUB.
15923
15924 * Makefile.in: Test framework build rules for 'make check'.
15925 * conf/tests.rmk: Build rules for individual tests and framework.
15926
15927 * include/grub/test.h: Header file for whitebox tests.
15928 * tests/lib/functional_test.c: Framework support for whitebox
15929 functional tests.
15930 * tests/lib/test.c: Common whitebox testing code for unit and
15931 functional tests.
15932 * tests/lib/unit_test.c: Framework support for whitebox unit
15933 tests.
15934
15935 * tests/util/grub-shell-tester.in: Support utility for grub-script
15936 tests.
15937 * tests/util/grub-shell.in: Utility to execute grub-script
15938 commands in a Qemu instance.
15939
15940 * tests/example_functional_test.c: Example whitebox functional
15941 test.
15942 * tests/example_grub_script_test.in: Example grub-script test.
15943 * tests/example_scripted_test.in: Example scripted test.
15944 * tests/example_unit_test.c: Example whitebox unit test.
15945
9c4ffeeb
VS
159462010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15949 Add loader/i386/multiboot_mbi.c.
15950 (multiboot2_mod_SOURCES): Likewise.
15951 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15952 (multiboot2_mod_SOURCES): Likewise.
15953 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15954 (grub_multiboot_make_mbi): Likewise.
15955 (grub_multiboot_free_mbi): Likewise.
15956 (grub_multiboot_init_mbi): Likewise.
15957 (grub_multiboot_add_module): Likewise.
15958 (grub_multiboot_set_bootdev): Likewise.
15959 * loader/i386/multiboot.c (mbi): Removed.
15960 (mbi_dest): Likewise.
15961 (alloc_mbi): New variable.
15962 (grub_multiboot_payload_size): Removed. All users updated.
15963 (grub_multiboot_pure_size): New variable.
15964 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15965 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15966 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15967 (grub_fill_multiboot_mmap): Likewise.
15968 (grub_multiboot_get_bootdev): Likewise.
15969 (grub_multiboot): Use multiboot_mbi functions.
15970 * loader/i386/multiboot_mbi.c: New file.
15971
17383dfe
VS
159722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15975 it would result in module crash.
15976
c1f28820
VS
159772010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15980 (grub_ofconsole_getwh): Split to ...
15981 (grub_ofconsole_getwh): ... this.
15982 (grub_ofconsole_dimensions): ...and this.
15983 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15984
58655a16
RM
159852010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15986
15987 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15988
10891398
VS
159892010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15990
15991 * loader/i386/pc/multiboot2.c: Removed stalled file.
15992
0b8a223c
VS
159932010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15996 Reported by: Grégoire Sutre
15997
92ab12b0
RM
159982010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15999
16000 * util/misc.c (canonicalize_file_name): New function.
16001 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16002 instead of realpath().
16003
a788afb6
CW
160042010-01-11 Colin Watson <cjwatson@ubuntu.com>
16005
16006 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16007 and make it clearer that it's optional. Based on confusion
16008 witnessed on IRC.
16009
ffa8e3d2
VS
160102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16013 in premature implicit newline.
16014
e9060a9d
VS
160152010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
16018 which resulted in garbled command line at the end of screen.
16019
f0d0c0b7
RM
160202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16021
16022 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
16023 initialization with similar approach as with other Linux loaders.
16024
0e60bae7
RM
160252010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16026
16027 Fix i386-ieee1275 build.
16028
16029 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16030 and grub_term_height() for video_{width,height} initialization.
16031
160322010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
16033
16034 Fix grub-emu build.
16035
16036 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
16037
cdb3f378
RM
160382010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
160392010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16040
16041 Support for multiple terminals.
16042
16043 * Makefile.in (pkglib_DATA): terminal.lst.
16044 (terminal.lst): New target.
16045 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
16046 (GRUB_MOD_INIT(handler)): Likewise.
16047 (GRUB_MOD_FINI(handler)): Likewise.
16048 * commands/help.c (grub_cmd_help): Handle multiple terminals.
16049 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
16050 * commands/sleep.c (do_print): Use grub_term_restore_pos.
16051 (grub_cmd_sleep): Use grub_term_save_pos.
16052 * commands/terminal.c: New file.
16053 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
16054 commands/terminal.c and lib/charset.c.
16055 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
16056 (pkglib_MODULES): Add terminal.mod.
16057 (terminal_mod_SOURCES): New variable.
16058 (terminal_mod_CFLAGS): Likewise.
16059 (terminal_mod_LDFLAGS): Likewise.
16060 * genhandlerlist.sh: Don't handle terminals.
16061 * genmk.rb: Generate terminal-*.lst.
16062 * genterminallist.sh: New file.
16063 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
16064 (grub_is_valid_utf8): Likewise.
16065 (grub_utf8_to_ucs4_alloc): Likewise.
16066 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
16067 (grub_menu_register_viewer): Changed argument.
16068 (grub_menu_try_text): New proto.
16069 (grub_gfxmenu_try_hook): New declaration.
16070 * include/grub/normal.h (grub_normal_exit_level): New declaration.
16071 (grub_menu_init_page): Additional argument term.
16072 (grub_normal_init_page): Likewise.
16073 (grub_cmdline_get): Arguments simplified.
16074 (grub_utf8_to_ucs4_alloc): Removed.
16075 (grub_print_ucs4): Additional argument term.
16076 (grub_getstringwidth): Likewise.
16077 (grub_print_message_indented): Likewise.
16078 (grub_menu_text_register_instances): New proto.
16079 (grub_show_menu): Likewise.
16080 (read_terminal_list): Likewise.
16081 (grub_set_more): Likewise.
16082 * include/grub/parser.h: Include handler.h.
16083 * include/grub/reader.h: Rewritten.
16084 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
16085 (GRUB_TERM_WIDTH): Changed to function.
16086 (GRUB_TERM_HEIGHT): Likewise.
16087 (GRUB_TERM_BORDER_WIDTH): Likewise.
16088 (GRUB_TERM_BORDER_HEIGHT): Likewise.
16089 (GRUB_TERM_NUM_ENTRIES): Likewise.
16090 (GRUB_TERM_ENTRY_WIDTH): Likewise.
16091 (GRUB_TERM_CURSOR_X): Likewise.
16092 (grub_term_input_class): Likewise.
16093 (grub_term_output_class): Likewise.
16094 (grub_term_outputs_disabled): New declaration.
16095 (grub_term_inputs_disabled): Likewise.
16096 (grub_term_outputs): Likewise.
16097 (grub_term_inputs): Likewise.
16098 (grub_term_register_input): Rewritten.
16099 (grub_term_register_output): Likewise.
16100 (grub_term_unregister_input): Likewise.
16101 (grub_term_unregister_output): Likewise.
16102 (FOR_ACTIVE_TERM_INPUTS): New macro.
16103 (FOR_DISABLED_TERM_INPUTS): Likewise.
16104 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16105 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16106 * include/grub/terminfo.h: Add oterm argument to all protypes.
16107 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
16108 Use grub_rescue_run.
16109 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
16110 All users updated.
16111 * kern/reader.c: Removed. All users updated.
16112 * kern/rescue_reader.c (grub_rescue_init): Removed.
16113 (grub_rescue_reader): Likewise.
16114 (grub_register_rescue_reader): Likewise.
16115 (grub_rescue_run): New function based on kern/reader.c.
16116 * kern/term.c: Adapted for multiterm.
16117 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
16118 (grub_is_valid_utf8): Likewise.
16119 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
16120 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
16121 right terminal.
16122 * loader/i386/linux.c (grub_linux_boot): Likewise.
16123 * normal/auth.c (grub_username_get): New function.
16124 (grub_auth_check_authentication): Use grub_username_get.
16125 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
16126 * normal/color.c: Adapt for multiterm.
16127 * normal/main.c (read_config_file): Don't use grub_reader_loop.
16128 (grub_normal_init_page): Additional argument term.
16129 (read_lists): Call read_terminal_lists.
16130 (grub_enter_normal_mode): Call grub_cmdline_run.
16131 Handle grub_normal_exit_level.
16132 (grub_cmd_normal): Make reentrant.
16133 (grub_cmd_normal_exit): New function.
16134 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
16135 * normal/menu.c: Adapt for multiterm.
16136 * normal/menu_entry.c: Likewise.
16137 * normal/menu_text.c: Likewise.
16138 * normal/menu_viewer.c: Removed. All users updated.
16139 * normal/term.c: New file.
16140 * util/console.c: Change order of includes to workaround a bug in
16141 ncurses headers.
16142 * term/terminfo.c: New argument oterm on all exported functions.
16143 All users updated.
16144 * util/grub-editenv.c (grub_term_input_class): Removed.
16145 (grub_term_output_class): Likewise.
16146
1a064917
RM
161472010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16148
16149 Make loader output a bit more user-friendly.
16150
16151 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
16152 is being loaded. Likewise for the Hurd.
16153
16154 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
16155 that kernel of FreeBSD ${version} is being loaded.
16156
16157 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
16158 grub_dprintf().
16159 (grub_cmd_initrd): Likewise.
16160 * util/grub.d/10_linux.in (linux_entry): Print message indicating
16161 that Linux ${version} is being loaded. Likewise for initrd.
16162
5ce0a83a 161632010-01-09 Carles Pina i Estany <carles@pina.cat>
16164
16165 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
16166
809bbfeb 161672010-01-08 Carles Pina i Estany <carles@pina.cat>
16168
16169 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
16170 (GRUB_MOD_INIT): Gettextizze.
16171 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
16172 (GRUB_MOD_INIT): Gettextizze.
16173 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
16174 (grub_cmd_linux): Capitalise Linux.
16175 (GRUB_MOD_INIT): Gettextizze.
16176 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
16177 (grub_cmd_linux): Capitalise Linux.
16178 (GRUB_MOD_INIT): Gettextizze.
16179 * loader/i386/linux.c: Include `<grub/i18n.h>'.
16180 (grub_cmd_linux): Capitalise Linux.
16181 (GRUB_MOD_INIT): Gettextizze.
16182 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
16183 (GRUB_MOD_INIT): Gettextizze.
16184 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
16185 (grub_cmd_linux): Capitalise Linux.
16186 (GRUB_MOD_INIT): Gettextizze.
16187 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
16188 (grub_cpu_xnu_init): Gettextizze.
16189 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
16190 (GRUB_MOD_INIT): Gettextizze.
16191 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
16192 (GRUB_MOD_INIT): Gettextizze.
16193 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
16194 (grub_linux_load64): Capitalise Linux.
16195 (GRUB_MOD_INIT): Gettextizze.
16196 * loader/xnu.c: Include `<grub/i18n.h>'.
16197 (GRUB_MOD_INIT): Gettextizze.
16198 * po/POTFILES: Add `loader/efi/appleloader.c',
16199 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
16200 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
16201 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
16202 `loader/i386/xnu.c', `loader/multiboot_loader.c',
16203 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
16204 and `loader/xnu.c'.
16205
b394b2ca
RM
162062010-01-08 Robert Millan <rmh.grub@aybabtu.com>
16207
16208 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
16209
162102010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
16211
16212 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
16213 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
16214 * util/mkisofs/mkisofs.c (main): Readjust --version output.
16215
bc8b32b3
RM
162162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16217
16218 Reset Multiboot 2 support. New loader implements the draft in
16219 /branches/multiboot2 and shares as much code as possible with the
16220 production Multiboot 1 implementation.
16221
16222 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
16223 * loader/multiboot2.c: Likewise.
16224 * loader/i386/multiboot_helper.S: Likewise.
16225 * include/multiboot2.h: Replace with latest version from the draft
16226 in /branches/multiboot2.
16227
16228 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
16229 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
16230 and `loader/multiboot2.c'.
16231 (pkglib_MODULES): Add `multiboot2.mod'.
16232 (multiboot2_mod_SOURCES): New variable.
16233 (multiboot2_mod_LDFLAGS): Likewise.
16234 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
16235
16236 * conf/i386-pc.rmk: Likewise.
16237
16238 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16239 (multiboot_mod_SOURCES): Remove variable.
16240 (multiboot_mod_LDFLAGS): Likewise.
16241 (multiboot_mod_CFLAGS): Likewise.
16242
16243 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
16244 `<multiboot2.h>' instead of `<multiboot.h>'.
16245 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
16246 (MULTIBOOT_HEADER_MAGIC): New macros.
16247
16248 * loader/multiboot_loader.c (module_version_status): Remove variable.
16249 (find_multi_boot2_header): Remove function.
16250 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
16251 logic. Always check for the Multiboot version we're compiling for.
16252 (grub_cmd_module_loader): Likewise.
16253 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
16254 command instead of `multiboot'.
16255
5d2c52b8
RM
162562010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16257
16258 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
16259 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
16260 all users.
16261
53108d92
RM
162622010-01-07 Robert Millan <rmh.grub@aybabtu.com>
162632010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16264
16265 Fix breakage introduced with previous commit.
16266
16267 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
16268 commands.
16269 * normal/handler.c (read_handler_list): Revert part of previous commit
16270 affecting this file.
16271 * normal/main.c (read_lists): Move read_handler_list() call back to ...
16272 (grub_normal_execute): ... here.
16273
e2e936b2
RM
162742010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16275
16276 Merge prefix-redefinition-fix branch.
16277
16278 * normal/autofs.c (read_fs_list): Make function capable of being
16279 run multiple times, gracefuly replacing the previous data
16280 structures.
16281 * normal/dyncmd.c (read_command_list): Likewise.
16282 * normal/handler.c (read_handler_list): Likewise.
16283 * normal/main.c (read_lists): New function. Calls all the
16284 list reading functions.
16285 (grub_normal_execute): Use read_lists() instead of calling all
16286 list reading functions explicitly. Register read_lists() as a
16287 variable hook attached to ${prefix}.
16288
607a3701
VS
162892010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 Merge crypto branch.
16292
16293 * Makefile.in (pkglib_DATA): Add crypto.lst.
16294 (crypto.lst): New target.
16295 * commands/hashsum.c: New file.
16296 * commands/password.c (check_password): Use grub_crypto_memcmp.
16297 * commands/password_pbkdf2.c: New file.
16298 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
16299 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
16300 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
16301 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
16302 -I$(srcdir)/lib/libgcrypt_wrap.
16303 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
16304 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
16305 password_pbkdf2.mod.
16306 (crypto_mod_SOURCES): New variable.
16307 (crypto_mod_CFLAGS): Likewise.
16308 (crypto_mod_LDFLAGS): Likewise.
16309 (hashsum_mod_SOURCES): New variable.
16310 (hashsum_mod_CFLAGS): Likewise.
16311 (hashsum_mod_LDFLAGS): Likewise.
16312 (pbkdf2_mod_SOURCES): New variable.
16313 (pbkdf2_mod_CFLAGS): Likewise.
16314 (pbkdf2_mod_LDFLAGS): Likewise.
16315 (password_pbkdf2_mod_SOURCES): New variable.
16316 (password_pbkdf2_mod_CFLAGS): Likewise.
16317 (password_pbkdf2_mod_LDFLAGS): Likewise.
16318 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
16319 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
16320 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
16321 Include conf/gcry.rmk.
16322 * include/grub/auth.h: Rewritten.
16323 * include/grub/crypto.h: New file.
16324 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
16325 * include/grub/normal.h (read_crypto_list): New prototype.
16326 * lib/crypto.c: New file.
16327 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16328 * lib/pbkdf2.c: Likewise.
16329 * normal/auth.c (grub_auth_strcmp): Removed.
16330 (grub_iswordseparator): Likewise.
16331 (grub_auth_strword): Likewise.
16332 (is_authenticated): Use grub_strword.
16333 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
16334 and grub_strword. Pass entered password to authentication callback.
16335 * normal/crypto.c: New file.
16336 * normal/main.c: Call read_crypto_list.
16337 * util/grub-mkpasswd-pbkdf2.c: New file.
16338 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
16339
42841caa
VS
163402010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 Fix descent and ascent calculation.
16343
16344 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
16345 (options): New option "asce".
16346 (usage): Likewise.
16347 (add_char): Ignore invalid glyphs for descent calculation.
16348 Calculate ascent from actual content.
16349 (print_glyphs): Use 'asce'.
16350 (write_font): Likewise. Allow ascent override.
16351 (main): Handle "asce" option.
16352
e7730de7 163532010-01-06 Carles Pina i Estany <carles@pina.cat>
16354
16355 * kern/err.c: Include `<grub/i18n.h>'.
16356 (grub_print_error): Add full stop. Gettextizze.
16357 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
16358 (grub_bsd_load_elf): Capitalise ELF.
16359 (grub_cmd_freebsd_loadenv): Add `s' in error string.
16360 (grub_cmd_freebsd_module): Likewise.
16361 (grub_cmd_freebsd_module_elf): Likewise.
16362 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
16363
40e3a41f 163642010-01-06 Carles Pina i Estany <carles@pina.cat>
16365
16366 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
16367 * commands/search_file.c (HELP_MESSAGE): New macro.
16368 * commands/search_label.c (HELP_MESSAGE): Likewise.
16369 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
16370 * po/POTFILES: Add `commands/search_file.c',
16371 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
16372 `commands/search.c'.
16373
83507e68
RM
163742010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16375
16376 * config.rpath: Update from Gnulib.
16377
465c787b
YB
163782010-01-05 Yves Blusseau <blusseau@zetam.org>
16379
16380 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
16381
6581dd3a
YB
163822010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
16383
16384 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
16385
3bff18c5
CW
163862010-01-05 Colin Watson <cjwatson@ubuntu.com>
16387
16388 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
16389 arguments to fread so that we get a return value in bytes, rather
16390 than something that will normally be rounded down to 0.
16391 Adjust error handling to avoid producing garbage when size_t is not
16392 the same size as long long.
16393
a1368118
CW
163942010-01-05 Colin Watson <cjwatson@ubuntu.com>
16395
16396 * util/mkisofs/write.c (padblock_write): Check return value of
16397 fread.
16398
7c302978
RM
163992010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16400
16401 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
16402 floppy images now.
16403
16404 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
16405
e33ace06
RM
164062010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16407
16408 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
16409 instead of manual alignment.
16410 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
16411 verbose). Avoid attempts to read past end of the device
16412 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
16413 but GRUB_DISK_CACHE_SIZE may exceed that).
16414
4b856776
RM
164152010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16416
16417 * commands/crc.c (grub_cmd_crc): Abort on read errors.
16418 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
16419 it to upper layer.
16420
52c2d97f
VS
164212010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
16424 New constant.
16425 (grub_efi_piwg_device_path): New structure
16426 (grub_efi_piwg_device_path_t): New type.
16427 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
16428 (devpath_1): Transform to a structure. All users updated.
16429 (devpath_2): Likewise.
16430 (devpath_3): Likewise.
16431 (devpath_4): Likewise.
16432 (devpath_5): Likewise.
16433
98ff6a54
VS
164342010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 * loader/efi/appleloader.c: Restored. Update all users.
16437
3a73dcb6
RM
164382010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16439
16440 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
16441
16442 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
16443 (struct boot_blocklist): Move from here ...
16444 * include/grub/i386/pc/boot.h [ASM_FILE]
16445 (struct grub_boot_blocklist): ... to here. Update all users.
16446 (setup): Only initialize `start' member of `first_block'
16447 structure. Add assert() calls to verify the other members.
16448
16449 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
16450 (generate_image): Fix broken blocklist length initialization.
16451 Add assert() call to verify blocklist `segment' field.
16452
ab0eeb0c
RM
164532010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16454
16455 * loader/efi/appleloader.c: Remove. Update all users.
16456
58bc8bd5
RM
164572010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16458
16459 * boot/i386/pc/boot.S: Update copyright year.
16460 * boot/i386/pc/cdboot.S: Likewise.
16461 * boot/i386/pc/diskboot.S: Likewise.
16462 * boot/i386/pc/lnxboot.S: Likewise.
16463 * boot/i386/pc/pxeboot.S: Likewise.
16464 * bus/pci.c: Likewise.
16465 * commands/cmp.c: Likewise.
16466 * commands/help.c: Likewise.
16467 * commands/hexdump.c: Likewise.
16468 * commands/i386/pc/halt.c: Likewise.
16469 * commands/i386/pc/play.c: Likewise.
16470 * commands/i386/pc/vbeinfo.c: Likewise.
16471 * commands/ls.c: Likewise.
16472 * commands/test.c: Likewise.
16473 * disk/dmraid_nvidia.c: Likewise.
16474 * disk/i386/pc/biosdisk.c: Likewise.
16475 * disk/ieee1275/nand.c: Likewise.
16476 * disk/ieee1275/ofdisk.c: Likewise.
16477 * disk/lvm.c: Likewise.
16478 * disk/raid.c: Likewise.
16479 * disk/raid6_recover.c: Likewise.
16480 * disk/scsi.c: Likewise.
16481 * fs/affs.c: Likewise.
16482 * fs/cpio.c: Likewise.
16483 * fs/ext2.c: Likewise.
16484 * fs/hfs.c: Likewise.
16485 * fs/iso9660.c: Likewise.
16486 * fs/ntfs.c: Likewise.
16487 * fs/sfs.c: Likewise.
16488 * fs/udf.c: Likewise.
16489 * fs/ufs.c: Likewise.
16490 * fs/xfs.c: Likewise.
16491 * gencmdlist.sh: Likewise.
16492 * genmk.rb: Likewise.
16493 * include/grub/disk.h: Likewise.
16494 * include/grub/efi/api.h: Likewise.
16495 * include/grub/efi/efi.h: Likewise.
16496 * include/grub/efi/pe32.h: Likewise.
16497 * include/grub/elf.h: Likewise.
16498 * include/grub/fs.h: Likewise.
16499 * include/grub/i386/at_keyboard.h: Likewise.
16500 * include/grub/i386/pc/memory.h: Likewise.
16501 * include/grub/i386/pc/vbe.h: Likewise.
16502 * include/grub/i386/pci.h: Likewise.
16503 * include/grub/i386/tsc.h: Likewise.
16504 * include/grub/ieee1275/ieee1275.h: Likewise.
16505 * include/grub/ntfs.h: Likewise.
16506 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16507 * include/grub/sparc64/libgcc.h: Likewise.
16508 * include/grub/symbol.h: Likewise.
16509 * include/grub/types.h: Likewise.
16510 * include/multiboot2.h: Likewise.
16511 * io/gzio.c: Likewise.
16512 * kern/device.c: Likewise.
16513 * kern/disk.c: Likewise.
16514 * kern/efi/efi.c: Likewise.
16515 * kern/efi/mm.c: Likewise.
16516 * kern/elf.c: Likewise.
16517 * kern/file.c: Likewise.
16518 * kern/i386/dl.c: Likewise.
16519 * kern/i386/pc/init.c: Likewise.
16520 * kern/i386/pc/startup.S: Likewise.
16521 * kern/ieee1275/ieee1275.c: Likewise.
16522 * kern/ieee1275/init.c: Likewise.
16523 * kern/main.c: Likewise.
16524 * kern/mm.c: Likewise.
16525 * kern/powerpc/dl.c: Likewise.
16526 * kern/sparc64/dl.c: Likewise.
16527 * kern/x86_64/dl.c: Likewise.
16528 * lib/hexdump.c: Likewise.
16529 * loader/efi/appleloader.c: Likewise.
16530 * loader/i386/ieee1275/linux.c: Likewise.
16531 * loader/i386/pc/chainloader.c: Likewise.
16532 * loader/i386/pc/linux.c: Likewise.
16533 * loader/i386/pc/multiboot2.c: Likewise.
16534 * loader/ieee1275/multiboot2.c: Likewise.
16535 * loader/multiboot2.c: Likewise.
16536 * loader/multiboot_loader.c: Likewise.
16537 * loader/powerpc/ieee1275/linux.c: Likewise.
16538 * normal/completion.c: Likewise.
16539 * normal/menu_entry.c: Likewise.
16540 * partmap/apple.c: Likewise.
16541 * util/grub.d/10_hurd.in: Likewise.
16542 * util/hostfs.c: Likewise.
16543 * video/readers/png.c: Likewise.
16544
e2d70b5c
CW
165452010-01-03 Colin Watson <cjwatson@ubuntu.com>
16546
16547 * include/grub/misc.h (GNUC_PREREQ): New macro.
16548 (ATTRIBUTE_ERROR): New macro.
16549 * include/grub/list.h (grub_bad_type_cast_real): Use
16550 ATTRIBUTE_ERROR.
16551
a173283f 165522010-01-03 Carles Pina i Estany <carles@pina.cat>
16553
16554 * normal/menu_text.c (print_message): Change messages.
16555
7fa7ff74 165562010-01-03 Carles Pina i Estany <carles@pina.cat>
16557
16558 * normal/menu_entry.c (store_completion): Gettextizze.
16559
136d24f6 165602010-01-03 Carles Pina i Estany <carles@pina.cat>
16561
16562 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
16563
f936862e 165642010-01-03 Carles Pina i Estany <carles@pina.cat>
16565
16566 * po/POTFILES: Sort correctly.
16567
29c44ad1 165682010-01-03 Carles Pina i Estany <carles@pina.cat>
16569
16570 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
16571 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
16572 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
16573 full stop.
16574 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
16575 summary. Gettextizze the strings.
16576 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
16577 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
16578 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
16579 full stop.
16580 (GRUB_MOD_INIT): Remove command name from summary.
16581 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
16582 summary.
16583 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
16584 * term/i386/pc/serial.c (options): Add full stops.
16585 (GRUB_MOD_INIT): Remove command name from the summary.
16586
77a79592 165872010-01-03 Carles Pina i Estany <carles@pina.cat>
16588
16589 * commands/acpi.c: Gettextizze help strings and/or options. Include
16590 `grub/i18n.h' if needed.
16591 * commands/blocklist.c: Likewise.
16592 * commands/boot.c: Likewise.
16593 * commands/cat.c: Likewise.
16594 * commands/cmp.c: Likewise.
16595 * commands/configfile.c: Likewise.
16596 * commands/crc.c: Likewise.
16597 * commands/date.c: Likewise.
16598 * commands/echo.c: Likewise.
16599 * commands/efi/fixvideo.c: Likewise.
16600 * commands/efi/loadbios.c: Likewise.
16601 * commands/gptsync.c: Likewise.
16602 * commands/halt.c: Likewise.
16603 * commands/handler.c: Likewise.
16604 * commands/hdparm.c: Likewise.
16605 * commands/hexdump.c: Likewise.
16606 * commands/i386/cpuid.c: Likewise.
16607 * commands/i386/pc/drivemap.c: Likewise.
16608 * commands/i386/pc/halt.c: Likewise.
16609 * commands/i386/pc/pxecmd.c: Likewise.
16610 * commands/i386/pc/vbeinfo.c: Likewise.
16611 * commands/i386/pc/vbetest.c: Likewise.
16612 * commands/ieee1275/suspend.c: Likewise.
16613 * commands/keystatus.c: Likewise.
16614 * commands/loadenv.c: Likewise.
16615 * commands/ls.c: Likewise.
16616 * commands/lsmmap.c: Likewise.
16617 * commands/lspci.c: Likewise.
16618 * commands/memrw.c: Likewise.
16619 * commands/minicmd.c: Likewise.
16620 * commands/parttool.c: Likewise.
16621 * commands/password.c: Likewise.
16622 * commands/probe.c: Likewise.
16623 * commands/read.c: Likewise.
16624 * commands/reboot.c: Likewise.
16625 * commands/search.c: Likewise.
16626 * commands/sleep.c: Likewise.
16627 * commands/test.c: Likewise.
16628 * commands/true.c: Likewise.
16629 * commands/usbtest.c: Likewise.
16630 * commands/videotest.c: Likewise.
16631 * commands/xnu_uuid.c: Likewise.
16632 * disk/loopback.c: Likewise.
16633 * hello/hello.c: Likewise.
16634 * loader/i386/bsd.c: Likewise.
16635 * term/i386/pc/serial.c: Likewise.
16636 * po/POTFILES: Add new files.
16637
da8d5c53
CW
166382010-01-02 Colin Watson <cjwatson@ubuntu.com>
16639
16640 * term/i386/pc/at_keyboard.c
16641 (keyboard_controller_wait_untill_ready): Rename to ...
16642 (keyboard_controller_wait_until_ready): ... this. Update all users.
16643
33937904 166442010-01-01 Carles Pina i Estany <carles@pina.cat>
16645
16646 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
16647 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
16648 string using string width.
16649 * normal/menu_text.c (grub_print_message_indented): Use
16650 grub_print_spaces and not print_spaces.
16651 (print_timeout): Likewise.
16652 (print_spaces): Move to...
16653 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
16654
3fd3b8d8
RM
166552010-01-01 Robert Millan <rmh.grub@aybabtu.com>
16656
16657 Import from Gnulib.
16658
16659 * gnulib/getdelim.c: New file.
16660 * gnulib/getline.c: Likewise.
16661
33433555
VS
166622009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
16663
16664 * include/grub/list.h (grub_assert_fail): Removed.
16665 (grub_bad_type_cast_real): New function.
16666 (grub_bad_type_cast): New macro.
16667 (GRUB_AS_LIST): Use grub_bad_type_cast.
16668 (GRUB_AS_LIST_P): Likewise.
e44721e8 16669 (GRUB_AS_NAMED_LIST): Likewise.
33433555 16670 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 16671 (GRUB_AS_PRIO_LIST): Likewise.
33433555 16672 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 16673 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 16674
f5a51306
VS
166752009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
16676
16677 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
16678 Fix syntax error.
16679
90d1e879
RM
166802009-12-29 Robert Millan <rmh.grub@aybabtu.com>
16681
16682 * configure.ac: Check for TARGET_CFLAGS initialization before we
16683 initialize it ourselves (sigh).
16684 Move a few modifications to TARGET_CFLAGS to be unconditional
16685 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
16686 eh_frame)
16687
16688 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
16689 * term/i386/pc/at_keyboard.c
16690 (keyboard_controller_wait_untill_ready): Likewise.
16691 (keyboard_controller_led): Rename `led_status' paramter to avoid
16692 name conflict.
16693
465b5a81 166942009-12-28 Carles Pina i Estany <carles@pina.cat>
16695
16696 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
16697 quotes.
16698
c181849b
VS
166992009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16700
16701 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16702
9c8739a4
VS
167032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16704
16705 * normal/menu_text.c (grub_print_message_indented): Prevent
16706 past-the-end-of-array dereference.
16707
3e74249c
VS
167082009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16709
16710 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16711 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16712
64fd18ed 167132009-12-27 Carles Pina i Estany <carles@pina.cat>
16714
16715 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16716 * normal/main.c (grub_normal_read_line): Remove a space from the
16717 default prompt.
16718
714af9b9 167192009-12-27 Carles Pina i Estany <carles@pina.cat>
16720
16721 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16722 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16723 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16724 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16725 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16726 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16727 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16728
82f3e412 167292009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16730
16731 * video/readers/jpeg.c (cmd): Declare.
16732 (grub_cmd_jpegtest): Use `grub_command_t' type.
16733 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16734 Assign to `cmd'.
16735 (GRUB_MOD_FINI): Use `cmd' to unregister.
16736 * video/readers/png.c (cmd): Declare.
16737 (grub_cmd_pngtest): Use `grub_command_t' type.
16738 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16739 Assign to `cmd'.
16740 (GRUB_MOD_FINI): Use `cmd' to unregister.
16741 * video/readers/tga.c (cmd): Declare.
16742 (grub_cmd_tgatest): Use `grub_command_t' type.
16743 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16744 Assign to `cmd'.
16745 (GRUB_MOD_FINI): Use `cmd' to unregister.
16746
82f3e412 167472009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16748
16749 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16750 stops.
16751 * kern/corecmd.c (grub_register_core_commands): Likewise.
16752 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16753 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16754 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16755 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16756 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16757 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16758 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16759 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16760 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16761 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16762 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16763 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16764 * normal/handler.c (insert_handler): Likewise.
16765 * normal/main.c (GRUB_MOD_INIT): Likewise.
16766 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16767
fdcdbb66 167682009-12-26 Carles Pina i Estany <carles@pina.cat>
16769
16770 * commands/help.c (grub_cmd_help): Print the command name before the
16771 summary.
16772 (GRUB_MOD_INIT): Remove command name from the summary.
16773 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16774 string as summary.
fdcdbb66 16775 * lib/arg.c (find_long): Print the command name before the summary.
16776 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16777 summary.
16778 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16779 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16780 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16781 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16782 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16783 * commands/date.c (GRUB_MOD_INIT): Likewise.
16784 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16785 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16786 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16787 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16788 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16789 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16790 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16791 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16792 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16793 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16794 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16795 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16796 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16797 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16798 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16799 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16800 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16801 * commands/password.c (GRUB_MOD_INIT): Likewise.
16802 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16803 * commands/read.c (GRUB_MOD_INIT): Likewise.
16804 * commands/search.c (GRUB_MOD_INIT): Likewise.
16805 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16806 * commands/test.c (GRUB_MOD_INIT): Likewise.
16807 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16808 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16809 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16810 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16811 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16812 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16813 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16814 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16815 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16816 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16817 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16818 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16819 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16820 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16821
9c288be2
VS
168222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16823
16824 Use search command for preliminar UUID search.
16825
16826 * commands/search.c: Split into ...
16827 * commands/search_wrap.c: ...this
16828 * commands/search.c: ...and this.
16829 * commands/search_file.c: New file.
16830 * commands/search_label.c: New file.
16831 * commands/search_uuid.c: New file.
16832 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16833 Add commands/search_wrap.c, commands/search_file.c,
16834 commands/search_label.c and commands/search_uuid.c.
16835 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16836 (search_mod_SOURCES): Set to commands/search_wrap.c.
16837 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16838 search_label.mod.
16839 (search_fs_file_mod_SOURCES): New variable.
16840 (search_fs_file_mod_CFLAGS): Likewise.
16841 (search_fs_file_mod_LDFLAGS): Likewise.
16842 (search_label_mod_SOURCES): Likewise.
16843 (search_label_mod_CFLAGS): Likewise.
16844 (search_label_mod_LDFLAGS): Likewise.
16845 (search_fs_uuid_mod_SOURCES): New variable.
16846 (search_fs_uuid_mod_CFLAGS): Likewise.
16847 (search_fs_uuid_mod_LDFLAGS): Likewise.
16848 (fs_file_mod_SOURCES): Removed.
16849 (fs_file_mod_CFLAGS): Likewise.
16850 (fs_file_mod_LDFLAGS): Likewise.
16851 (fs_uuid_mod_SOURCES): Removed.
16852 (fs_uuid_mod_CFLAGS): Likewise.
16853 (fs_uuid_mod_LDFLAGS): Likewise.
16854 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16855 Set to util/grub-install.in.
16856 * disk/fs_file.c: Removed.
16857 * disk/fs_uuid.c: Likewise.
16858 * include/grub/search.h: New file.
16859 * util/grub-install.in: Handle sparc64.
16860 Create and use load.cfg.
16861 * util/sparc64/ieee1275/grub-install.in: Removed.
16862
db943399
VS
168632009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16864
16865 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16866 Ignore return status if CF is cleared.
16867 (grub_biosdisk_get_diskinfo_standard): Likewise.
16868
3fdae612
RM
168692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16870
16871 * term/i386/pc/at_keyboard.c
16872 (keyboard_controller_wait_untill_ready): New function.
16873 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16874 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16875 for keyboard polling, rather than duplicate the same loop. This
16876 saves a few bytes in code size.
16877
7ebaa2b4
VS
168782009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 Support for (pxe[:server[:gateway]]) syntax and
16881 use environment variable for PXE.
16882
16883 * commands/i386/pc/pxecmd.c (options): Removed.
16884 (print_ip): Removed.
16885 (grub_cmd_pxe): Removed
16886 (grub_cmd_pxe_unload): New function.
16887 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16888 (grub_pxe_your_ip): Made static.
16889 (grub_pxe_default_server_ip): Likewise.
16890 (grub_pxe_default_gateway_ip): Likewise.
16891 (grub_pxe_blksize): Likewise.
16892 (parse_ip): New function.
16893 (grub_pxe_open): Support server and gateway specification.
16894 (grub_pxe_close): Free disk->data.
16895 (grub_pxefs_open): Use disk->data.
16896 (grub_pxefs_read): Likewise.
16897 (grub_env_write_readonly): New function.
16898 (set_mac_env): Likewise.
16899 (set_env_limn_ro): Likewise.
16900 (parse_dhcp_vendor): Likewise.
16901 (grub_pxe_detect): Set the environment variables.
16902 (set_ip_env): New function.
16903 (write_ip_env): Likewise.
16904 (grub_env_write_pxe_default_server): Likewise.
16905 (grub_env_write_pxe_default_gateway): Likewise.
16906 (grub_env_write_pxe_blocksize): Likewise.
16907 (GRUB_MOD_INIT(pxe)): Set environment variables.
16908 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16909 (grub_pxe_mac_addr_t): ... this. All users updated.
16910 (grub_pxe_your_ip): Removed.
16911 (grub_pxe_server_ip): Likewise.
16912 (grub_pxe_gateway_ip): Likewise.
16913 (grub_pxe_blksize): Likewise.
16914
ec5f98ab 169152009-12-25 Carles Pina i Estany <carles@pina.cat>
16916
16917 * commands/help.c: Include `<grub/i18n.h>'.
16918 (grub_cmd_help): Gettextizze.
16919 (GRUB_MOD_INIT): Likewise.
16920 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16921 (GRUB_MOD_INIT): Gettextizze.
16922 * commands/search.c: Include `<grub/i18n.h>'.
16923 (options): Gettextizze.
16924 (GRUB_MOD_INIT): Gettextizze.
16925 * lib/arg.c: Include `<grub/i18n.h>'.
16926 (help_options): Gettextizze.
16927 (find_long): Likewise.
16928 (grub_arg_show_help): Likewise.
16929 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16930 (read_command_list): Gettextizze.
16931 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16932 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16933
22815526
RM
169342009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16935
16936 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16937 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16938 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16939 (led_status): New variable.
16940 (keyboard_controller_led): New function.
16941 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16942 update led status for caps lock, num lock and scroll lock.
16943
0ad46fd7
FZ
169442009-12-25 Felix Zielcke <fzielcke@z-51.de>
16945
16946 * util/hostdisk.c (open_device): Fix a comment.
16947
d0e158c2
RM
169482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16949
16950 * util/grub-install.in (host_os): New variable.
16951 * util/i386/efi/grub-install.in (host_os): Likewise.
16952
401c0ad6
RM
169532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16954
16955 * util/mkisofs/write.c (padblock_write): Abort when given an
16956 excedingly large embed image, instead of silently truncating it.
16957
d14d3370
RM
169582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16959
16960 * include/multiboot.h: Indentation fixes.
16961
eeed10b4
RM
169622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16963
16964 * include/multiboot.h (struct multiboot_aout_symbol_table)
16965 (struct multiboot_elf_section_header_table): New structure
16966 declarations (stolen from GRUB Legacy).
16967 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16968 table information.
16969
16970 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16971 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16972 type aliases.
16973
681c70ab
RM
169742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16975
16976 * include/multiboot.h: Make comments src2texi-friendly.
16977
e4d47d8d
RM
169782009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16979
16980 For consistency with [multiboot]/docs/boot.S.
16981
16982 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16983 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16984 (MULTIBOOT_MAGIC2): Rename from this ...
16985 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16986
a0b70bda
RM
169872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16988
16989 * include/multiboot.h: Remove `<grub/types.h>'.
16990 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16991 types. Update all users.
16992
61ba42be 169932009-12-25 Carles Pina i Estany <carles@pina.cat>
16994
16995 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16996 `couldn't' and `can not' by `cannot'.
16997 * commands/i386/pc/drivemap.c: Likewise.
16998 * disk/ata.c: Likewise.
16999 * disk/ieee1275/nand.c: Likewise.
17000 * fs/affs.c: Likewise.
17001 * fs/fat.c: Likewise.
17002 * fs/hfs.c: Likewise.
17003 * fs/hfsplus.c: Likewise.
17004 * fs/iso9660.c: Likewise.
17005 * fs/jfs.c: Likewise.
17006 * fs/minix.c: Likewise.
17007 * fs/reiserfs.c: Likewise.
17008 * fs/sfs.c: Likewise.
17009 * fs/udf.c: Likewise.
17010 * fs/ufs.c: Likewise.
17011 * fs/xfs.c: Likewise.
17012 * loader/powerpc/ieee1275/linux.c: Likewise.
17013 * loader/sparc64/ieee1275/linux.c: Likewise.
17014 * util/grub-probe.c: Likewise.
17015 * util/misc.c: Likewise.
17016
7fd0baee 170172009-12-24 Carles Pina i Estany <carles@pina.cat>
17018
17019 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
17020 grub_errno calls.
17021 * commands/acpi.c: Likewise.
17022 * commands/blocklist.c: Likewise.
17023 * commands/efi/loadbios.c: Likewise.
17024 * commands/i386/pc/drivemap.c: Likewise.
17025 * commands/loadenv.c: Likewise.
17026 * commands/memrw.c: Likewise.
17027 * commands/password.c: Likewise.
17028 * commands/videotest.c: Likewise.
17029 * disk/ata.c: Likewise.
17030 * disk/ata_pthru.c: Likewise.
17031 * disk/dmraid_nvidia.c: Likewise.
17032 * disk/ieee1275/nand.c: Likewise.
17033 * disk/ieee1275/ofdisk.c: Likewise.
17034 * disk/loopback.c: Likewise.
17035 * disk/lvm.c: Likewise.
17036 * disk/mdraid_linux.c: Likewise.
17037 * disk/raid.c: Likewise.
17038 * disk/raid6_recover.c: Likewise.
17039 * disk/scsi.c: Likewise.
17040 * efiemu/main.c: Likewise.
17041 * efiemu/mm.c: Likewise.
17042 * efiemu/pnvram.c: Likewise.
17043 * efiemu/symbols.c: Likewise.
17044 * font/font.c: Likewise.
17045 * fs/cpio.c: Likewise.
17046 * fs/hfsplus.c: Likewise.
17047 * fs/iso9660.c: Likewise.
17048 * fs/jfs.c: Likewise.
17049 * fs/minix.c: Likewise.
17050 * fs/ntfs.c: Likewise.
17051 * fs/ntfscomp.c: Likewise.
17052 * fs/reiserfs.c: Likewise.
17053 * fs/ufs.c: Likewise.
17054 * fs/xfs.c: Likewise.
17055 * gettext/gettext.c: Likewise.
17056 * include/grub/auth.h: Likewise.
17057 * kern/elf.c: Likewise.
17058 * kern/file.c: Likewise.
17059 * kern/ieee1275/init.c: Likewise.
17060 * kern/ieee1275/mmap.c: Likewise.
17061 * kern/ieee1275/openfw.c: Likewise.
17062 * kern/powerpc/dl.c: Likewise.
17063 * kern/sparc64/dl.c: Likewise.
17064 * lib/arg.c: Likewise.
17065 * loader/i386/bsd.c: Likewise.
17066 * loader/i386/bsdXX.c: Likewise.
17067 * loader/i386/efi/linux.c: Likewise.
17068 * loader/i386/efi/xnu.c: Likewise.
17069 * loader/i386/ieee1275/linux.c: Likewise.
17070 * loader/i386/linux.c: Likewise.
17071 * loader/i386/multiboot.c: Likewise.
17072 * loader/i386/pc/linux.c: Likewise.
17073 * loader/i386/pc/multiboot2.c: Likewise.
17074 * loader/i386/xnu.c: Likewise.
17075 * loader/ieee1275/multiboot2.c: Likewise.
17076 * loader/macho.c: Likewise.
17077 * loader/machoXX.c: Likewise.
17078 * loader/multiboot2.c: Likewise.
17079 * loader/multiboot_loader.c: Likewise.
17080 * loader/powerpc/ieee1275/linux.c: Likewise.
17081 * loader/sparc64/ieee1275/linux.c: Likewise.
17082 * loader/xnu.c: Likewise.
17083 * loader/xnu_resume.c: Likewise.
17084 * mmap/i386/pc/mmap.c: Likewise.
17085 * normal/menu_viewer.c: Likewise.
17086 * partmap/acorn.c: Likewise.
17087 * partmap/amiga.c: Likewise.
17088 * partmap/apple.c: Likewise.
17089 * script/lexer.c: Likewise.
17090 * term/gfxterm.c: Likewise.
17091 * term/i386/pc/serial.c: Likewise.
17092 * term/i386/pc/vga.c: Likewise.
17093 * term/ieee1275/ofconsole.c: Likewise.
17094 * term/terminfo.c: Likewise.
17095 * video/bitmap.c: Likewise.
17096 * video/efi_gop.c: Likewise.
17097 * video/efi_uga.c: Likewise.
17098 * video/fb/video_fb.c: Likewise.
17099 * video/i386/pc/vbe.c: Likewise.
17100 * video/readers/tga.c: Likewise.
17101 * video/video.c: Likewise.
17102
0ad46fd7 171032009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
17104
17105 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
17106 * commands/lspci.c: Likewise.
17107 * commands/probe.c: Likewise.
17108 * commands/xnu_uuid.c: Likewise.
17109 * conf/i386-coreboot.rmk: Likewise.
17110 * conf/i386-efi.rmk: Likewise.
17111 * conf/i386-ieee1275.rmk: Likewise.
17112 * conf/i386-pc.rmk: Likewise.
17113 * conf/powerpc-ieee1275.rmk: Likewise.
17114 * conf/sparc64-ieee1275.rmk: Likewise.
17115 * conf/x86_64-efi.rmk: Likewise.
17116 * fs/i386/pc/pxe.c: Likewise.
17117 * gettext/gettext.c: Likewise.
17118 * include/grub/efi/graphics_output.h: Likewise.
17119 * include/grub/i386/pc/memory.h: Likewise.
17120 * kern/env.c: Likewise.
17121 * kern/i386/qemu/startup.S: Likewise.
17122 * lib/i386/pc/biosnum.c: Likewise.
17123 * lib/i386/relocator.c: Likewise.
17124 * lib/i386/relocator_asm.S: Likewise.
17125 * lib/relocator.c: Likewise.
17126 * loader/i386/bsd.c: Likewise.
17127 * loader/i386/multiboot.c: Likewise.
17128 * loader/i386/pc/chainloader.c: Likewise.
17129 * loader/i386/xnu.c: Likewise.
17130 * loader/xnu.c: Likewise.
17131 * normal/main.c: Likewise.
17132 * normal/menu_text.c: Likewise.
17133 * util/getroot.c: Likewise.
17134 * util/grub-mkconfig_lib.in: Likewise.
17135 * util/grub.d/00_header.in: Likewise.
17136 * util/i386/pc/grub-mkimage.c: Likewise.
17137 * util/mkisofs/eltorito.c: Likewise.
17138 * util/mkisofs/exclude.h: Likewise.
17139 * util/mkisofs/hash.c: Likewise.
17140 * util/mkisofs/iso9660.h: Likewise.
17141 * util/mkisofs/joliet.c: Likewise.
17142 * util/mkisofs/mkisofs.c: Likewise.
17143 * util/mkisofs/mkisofs.h: Likewise.
17144 * util/mkisofs/multi.c: Likewise.
17145 * util/mkisofs/name.c: Likewise.
17146 * util/mkisofs/rock.c: Likewise.
17147 * util/mkisofs/tree.c: Likewise.
17148 * util/mkisofs/write.c: Likewise.
17149 * video/efi_gop.c: Likewise.
17150
009ec743
VS
171512009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
17152
17153 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
17154 size counting.
17155
0ad46fd7 171562009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
17157
17158 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
17159 * genmk.rb (class SCRIPT): Modify the target file instead of source.
17160
d3d30ea0
VS
171612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
17164 (GRUB_MOD_INIT(memrw)): Update help line.
17165
a34f5c70
VS
171662009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
17169 Use grub_extcmd_t. All users updated.
17170 (options): New variable.
17171 (grub_cmd_read): Restructure for readability. Support "-v" option.
17172 (grub_cmd_write): Restructure for readability.
17173
0ad46fd7 171742009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
17175
17176 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
17177
0ad46fd7 171782009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
17179
17180 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
17181 with the actual contents of the correspondending make variable.
17182 * util/grub-mkrescue.in (pkglib_DATA): New variable.
17183 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
17184 specifying `*.lst' and `efiemu??.o'
17185
0ad46fd7 171862009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
17187
17188 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
17189 after function name.
17190 Noticed by Rene Engelhard <rene@debian.org>.
17191
dc77a799
VS
171922009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17193
17194 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
17195 (options): New variable.
17196 (iospace): Likewise.
17197 (grub_lspci_iter): List IO spaces if "-i" was given.
17198 (grub_cmd_lspci): Parse options.
17199 (GRUB_MOD_INIT(lspci)): Use extcmd.
17200 (GRUB_MOD_FINI(lspci)): Likewise.
17201
0ad46fd7 172022009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
17203
17204 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
17205 `function' keyword.
17206 Patch by Tony Mancill <tmancill@debian.org>.
17207
b5d5993b
VS
172082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
17211 (grub_uhci_portstatus): Likewise.
17212 (grub_uhci_portstatus): Add necessary delay.
11d18281 17213 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 17214
941903f2 172152009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 17216
941903f2 17217 * commands/acpi.c (options): Fix capitalizations and/or full stops.
17218 (GRUB_MOD_INIT): Likewise.
17219 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 17220 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
17221 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 17222 * commands/efi/loadbios.c (enable_rom_area): Likewise.
17223 (enable_rom_area): Likewise.
17224 (GRUB_MOD_INIT): Likewise.
17225 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17226 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
17227 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17228 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
17229 * commands/hexdump.c (options): Likewise.
17230 * commands/i386/cpuid.c (options): Likewise.
17231 (GRUB_MOD_INIT): Likewise.
17232 * commands/i386/pc/drivemap.c (options): Likewise.
17233 (GRUB_MOD_INIT): Likewise.
17234 * commands/i386/pc/halt (options): Likewise.
17235 (GRUB_MOD_INIT): Likewise.
17236 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17237 * commands/i386/pc/pxecmd.c (options): Likewise.
17238 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
17239 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
17240 * commands/keystatus.c (options): Likewise.
17241 (GRUB_MOD_INIT): Likewise.
17242 * commands/loadenv.c (options): Likewise.
17243 * commands/ls.c (options): Likewise.
17244 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17245 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17246 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17247 * commands/parttool.c (helpmsg): Likewise.
17248 * commands/probe.c (options): Likewise.
17249 * commands/read.c (GRUB_MOD_INIT): Likewise.
17250 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
17251 * commands/search.c (options): Likewise.
17252 * commands/sleep.c (options): Likewise.
17253 * commands/test.c (GRUB_MOD_INIT): Likewise.
17254 * commands/true.c (GRUB_MOD_INIT): Likewise.
17255 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
17256 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
17257 * lib/arg.c (help_options): Likewise.
e9bbb4e7 17258 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
17259 `$(XGETTEXT)'.
98a50553 17260 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 17261
0ad46fd7 172622009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 17263
ef3c2c3a 17264 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
17265 instead of specifying them explicit.
17266
7922f68b
RM
172672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17268
17269 * NEWS: Add grub-probe support for GNU/Hurd.
17270
537ce47f
RM
172712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17272
17273 * NEWS: gettext was added after 1.97.
17274
9b214e3a
RM
172752009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17276
17277 * util/mkisofs/msdos_partition.h: New file (based on
17278 include/grub/msdos_partition.h).
17279 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
17280 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
17281 (ld_options, main): Recognize --protective-msdos-label.
17282 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
17283 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
17284 (padblock_write): If `use_protective_msdos_label' is set, patch a
17285 protective DOS-style label in the output image.
17286
17287 * util/grub-mkrescue.in: Use --protective-msdos-label.
17288
e9309813
RM
172892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17290
17291 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
17292 boot.
17293
0ae56929
RM
172942009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17295
17296 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
17297 variables.
17298 (ld_options, main): Recognize `--embedded-boot'.
17299 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
17300 declarations.
17301 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
17302 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
17303 (padblock_write): Likewise. Rewrite to support embedded boot image.
17304
17305 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
17306 for BIOS-based disk boot instead of only ElTorito.
17307
b15937b1
RM
173082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17309
17310 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
17311 build (not needed for bootstrap).
17312
52cc3ce0
RM
173132009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17314
17315 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
17316 from i386-pc build (not needed for bootstrap).
17317 Rewrite a pair of strings.
17318
36f5ff04
RM
173192009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17320
17321 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
17322
973c6c85 173232009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
17324
17325 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
17326
05d21547
AB
173272009-12-21 Andreas Born <futur.andy@googlemail.com>
17328
17329 * kern/env.c (grub_env_context_open): Mark exported variable for
17330 reexport.
17331
0175d51f
AB
173322009-12-21 Andreas Born <futur.andy@googlemail.com>
17333
17334 * kern/env.c (grub_env_export): Create nonexistent variables before
17335 exporting.
17336
7f39d92f 173372009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 17338
7f39d92f 17339 * include/grub/auth.h: Include `<grub/i18n.h>'.
17340 (GRUB_GET_PASSWORD): Gettextizze string.
17341 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
17342 menu_text.c.
17343 (grub_utf8_to_ucs4_alloc): Fix indentation.
17344 (grub_print_ucs4): Likewise.
17345 (grub_getstringwidth): Likewise.
17346 (print_message_indented): New declaration.
17347 * normal/auth.c: Include `<grub/i18n.h>'.
17348 (grub_auth_check_authentication): Gettexttize string.
17349 * normal/cmdline.c: Include `<grub/i18n.h>'.
17350 (grub_cmdline_get): Gettextizze.
17351 * normal/color.c: Include `<grub/i18n.h>'.
17352 (grub_parse_color_name_pair): Gettexttize strings.
17353 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
17354 string (use `print_message_indented').
17355 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
17356 `include/grub/normal.h'.
17357 (print_message_indented): Renamed to ...
17358 (grub_print_message_indented): ... this. Remove `static' qualifer (now
17359 used in normal/main.c).
17360 (print_message): Use `grub_print_message_indented' instead of
17361 `print_message_indented'.
17362 (print_timeout): Likewise.
17363 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
17364 (grub_normal_print_device_info): Gettexttize strings.
17365 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
17366
3041d898
VS
173672009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
17370 of arguments. Return number of tokens and not arguments. All users
17371 updated.
17372
de15bf8e
VS
173732009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
17376 non-MSDOS paritions.
17377
e0a6ca52
VS
173782009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * include/grub/types.h (UNUSED): Removed since it conflicts with
17381 NetBSD headers. All users changed to direct __attribute__ ((unused)).
17382 Reported by Grégoire Sutre.
17383
b99518d1 173842009-12-19 Carles Pina i Estany <carles@pina.cat>
17385
17386 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
17387 (grub_print_ucs4_alloc): Likewise.
17388 (grub_getstringwidth): Likewise.
17389 * normal/main.c (grub_normal_init_page): Gettextize version string.
17390 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
17391 (getstringwidth): Renamed to ...
17392 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
17393 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
17394 (grub_print_ucs4): Remove `static' qualifer (now used in
17395 normal/main.c).
17396 * po/POTFILES: Add normal/main.c.
17397
bfd5e52b 173982009-12-19 Carles Pina i Estany <carles@pina.cat>
17399
17400 * normal/menu_text.c (STANDARD_MARGIN): New macro.
17401 (print_message_indented): Add `margin_left' and `margin_right'
17402 parameters.
17403 (print_message): Update `print_message_indented' calls. Adds '\n' to the
17404 strings.
17405 (print_timeout): Use `print_message_indented' to print the message.
17406 Deletes `second_stage' parameter.
17407 (run_menu): Update `print_timeout' calls.
17408
5a1ad2b9
VS
174092009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17410
17411 Fix console palette on OpenFirmware.
17412
17413 * term/ieee1275/ofconsole.c (MAX): Removed.
17414 (colors): Redone based on VGA palette.
17415 (grub_ofconsole_setcolor): Discard brightness bit since only 8
17416 colors are supported.
17417 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
17418
b045f00a
VS
174192009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17420
17421 Fix potential EfiEmu double prepare.
17422
17423 * efiemu/main.c (prepared): New variable
17424 (grub_efiemu_unload): Set prepare to '0'.
17425 (grub_efiemu_prepare): Return if already prepared. Set prepared.
17426
17427 set_virtual_address_map support.
17428
17429 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
17430 prototype.
17431 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
17432 prototype.
17433 (grub_efiemu_crc32): Likewise.
17434 (grub_efiemu_crc64): Likewise.
17435 (grub_efiemu_set_virtual_address_map): Likewise.
17436 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
17437 New definition.
17438 (grub_autoefi_set_virtual_address_map): Likewise.
17439 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
17440 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
17441 Restructure flow to accomodate it.
17442 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
17443 (grub_efiemu_crc): Recompute CRC32.
17444 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
17445 (efiemu_ptv_relocated): ... this. Made global. All users updated.
17446 * efiemu/symbols.c (relocated_handle): New variable.
17447 (grub_efiemu_free_syms): Free relocated_handle.
17448 (grub_efiemu_alloc_syms): Allocate relocated_handle.
17449 (grub_efiemu_write_sym_markers): New function.
17450 (grub_efiemu_set_virtual_address_map): Likewise.
17451
17452 Newer XNU parameters.
17453
17454 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
17455 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
17456 (grub_xnu_fill_devicetree): New prototype.
17457 (grub_xnu_heap_real_start): New variable.
17458 * loader/xnu.c (get_name_ptr): New function.
17459 (grub_xnu_load_driver): Fill namelen and name.
17460
17461 64-bit xnu support.
17462
17463 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
17464 and 'loader/macho64.c'.
17465 * conf/i386-pc.rmk: Likewise.
17466 * conf/x86_64-efi.rmk: Likewise.
17467 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
17468 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
17469 * include/grub/macho.h (grub_macho_segment64): New structure.
17470 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
17471 (grub_macho_size32): ... to this.
17472 (grub_macho32_get_entry_point): Renamed from ...
17473 (grub_macho_get_entry_point32): ... to this.
17474 (grub_macho_contains_macho64): New prototype.
17475 (grub_macho_size64): Likewise.
17476 (grub_macho_get_entry_point64): Likewise.
17477 (grub_macho32_load): Renamed from ...
17478 (grub_macho_load32): ... to this.
17479 (grub_macho32_filesize): Renamed from ...
17480 (grub_macho_filesize32): ... to this.
17481 (grub_macho32_readfile): Renamed from ...
17482 (grub_macho_readfile32): ... to this.
17483 (grub_macho_filesize64): New prototype.
17484 (grub_macho_readfile64): Likewise.
17485 (grub_macho_parse32): Likewise.
17486 (grub_macho_parse64): Likewise.
17487 * loader/macho.c: Split into ...
17488 * loader/machoXX.c: ... and this. Replace 32 with XX.
17489 * loader/macho32.c: New file.
17490 * loader/macho64.c: Likewise.
17491 * loader/xnu.c (grub_xnu_is_64bit): New variable.
17492 (grub_cmd_xnu_kernel): Make 32-bit only.
17493 (grub_cmd_xnu_kernel64): New function.
17494 (grub_xnu_load_driver): Support Mach-O 64.
17495 (grub_cmd_xnu_mkext): Likewise.
17496 * util/grub.d/30_os-prober.in (osx_entry): New function.
17497 Generate entries for 64-bit boot too.
17498
17499 Eliminate ad-hoc tree format in XNU and EfiEmu.
17500
17501 * efiemu/main.c (grub_efiemu_prepare): Update comment.
17502 * efiemu/pnvram.c: Rewritten to use environment variables.
17503 All users updated.
17504
17505 Inline utf16_to_utf8.
17506
17507 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
17508 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
17509 All users updated.
17510 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
17511
17512 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
17513 * commands/usbtest.c (grub_usb_get_string): ... move here.
17514 (usb_print_str): Fix error handling.
17515 * include/grub/usb.h (grub_usb_get_string): Remove.
17516
17517 UTF-8 to UTF-16 transformation.
17518
17519 * conf/common.rmk (pkglib_MODULES): Add charset.mod
17520 (charset_mod_SOURCES): New variable.
17521 (charset_mod_CFLAGS): Likewise.
17522 (charset_mod_LDFLAGS): Likewise.
17523 * include/grub/utf.h: New file.
17524 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
17525
17526 Support for device properties.
17527
17528 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
17529 (grub_xnu_devprop_device_header): Likewise.
17530 (grub_xnu_devprop_device_descriptor): Likewise.
17531 (grub_xnu_devprop_add_device): New prototype.
17532 (grub_xnu_devprop_remove_device): Likewise.
17533 (grub_xnu_devprop_remove_property): Likewise.
17534 (grub_xnu_devprop_add_property_utf8): Likewise.
17535 (grub_xnu_devprop_add_property_utf16): Likewise.
17536 (grub_cpu_xnu_init): Likewise.
17537 (grub_cpu_xnu_fini): Likewise.
17538 (grub_cpu_xnu_unload): Likewise.
17539 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
17540 (property_descriptor): Likewise.
17541 (devices): New variable.
17542 (grub_xnu_devprop_remove_property): New function.
17543 (grub_xnu_devprop_add_device): Likewise.
17544 (grub_xnu_devprop_remove_device): Likewise.
17545 (grub_xnu_devprop_add_property): Likewise.
17546 (grub_xnu_devprop_add_property_utf8): Likewise.
17547 (grub_xnu_devprop_add_property_utf16): Likewise.
17548 (hextoval): Likewise.
17549 (grub_cpu_xnu_fill_devprop): Likewise.
17550 (grub_cmd_devprop_load): Likewise.
17551 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
17552 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
17553 (cmd_devprop_load): New variable.
17554 (grub_cpu_xnu_init): New function.
17555 (grub_cpu_xnu_fini): Likewise.
17556 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
17557 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
17558 (grub_cmd_xnu_devtree): Likewise.
17559 (hextoval): New function.
17560 (unescape): Likewise.
17561 (grub_xnu_fill_devicetree): Likewise.
17562
17563 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
17564 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
17565
0945f181
VS
175662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 Workaround for broken ATI VBE.
17569
17570 * video/i386/pc/vbe.c (last_set_mode): New variable.
17571 (grub_vbe_set_video_mode): Set 'last_set_mode'.
17572 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
17573 (grub_video_vbe_setup): Don't check for reserved flag.
17574
0ad46fd7 175752009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
17576
17577 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
17578 the `find' command.
17579
c179ebe4
VS
175802009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
17581
17582 UUID support for HFS.
17583
17584 * fs/hfs.c (grub_hfs_uuid): New function.
17585 (grub_hfs_fs): New value .uuid.
17586 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
17587
0ad46fd7 175882009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
17589
17590 Fix a segfault with parsing unknown long options.
17591
17592 * util/grub-mkrelpath.c (options): Zero terminate it.
17593
c4a3e41a
CPE
175942009-12-13 Carles Pina i Estany <carles@pina.cat>
17595
17596 * include/grub/misc.h (grub_puts): New declaration.
17597 (grub_puts_): Likewise.
a22008a6 17598 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
17599 (grub_puts_): Likewise.
17600
2e8a7602
RM
176012009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17602
17603 * util/grub-probe.c (probe): Improve error message.
17604
b50b77b9
RM
176052009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17606
17607 * loader/i386/multiboot_elfxx.c
17608 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
17609 initialization.
17610
176112009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17612
17613 Relocator framework
17614
17615 * loader/i386/xnu_helper.S: Removed. All users updated.
17616 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
17617 (relocator_mod_SOURCES): New variable.
17618 (relocator_mod_CFLAGS): Likewise.
17619 (relocator_mod_LDFLAGS): Likewise.
17620 (relocator_mod_ASFLAGS): Likewise.
17621 * conf/x86_64.rmk: Likewise.
17622 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
17623 (grub_multiboot_payload_entry_offset): Likewise.
17624 (grub_multiboot_forward_relocator): Likewise.
17625 (grub_multiboot_forward_relocator_end): Likewise.
17626 (grub_multiboot_backward_relocator): Likewise.
17627 (grub_multiboot_backward_relocator_end): Likewise.
17628 (grub_multiboot_payload_eip): New variable.
17629 (grub_multiboot_payload_orig): Likewise.
17630 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
17631 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
17632 * include/grub/i386/memory.h
17633 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
17634 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
17635 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
17636 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
17637 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
17638 * include/grub/i386/relocator.h: New file.
17639 * include/grub/x86_64/relocator.h: Likewise.
17640 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
17641 (XNU_RELOCATOR): New macro.
17642 (grub_xnu_launcher_start): Remove.
17643 (grub_xnu_launcher_end): Likewise.
17644 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
17645 (grub_xnu_heap_real_start): Remove.
17646 (grub_xnu_heap_start): Change to void *. All users updated.
17647 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
17648 * lib/i386/relocator.c: New file.
17649 * lib/i386/relocator_asm.S: Likewise.
17650 * lib/i386/relocator_backward.S: Likewise.
17651 * lib/mips/relocator.c: Likewise.
17652 * lib/mips/relocator_asm.S: Likewise.
17653 * lib/relocator.c: Likewise.
17654 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
17655 (entry): Removed.
17656 (playground): Likewise.
17657 (grub_multiboot_payload_orig): New variable.
17658 (grub_multiboot_payload_dest): Likewise.
17659 (grub_multiboot_payload_size): Likewise.
17660 (grub_multiboot_payload_eip): Likewise.
17661 (grub_multiboot_payload_esp): Likewise.
17662 (grub_multiboot_boot): Use grub_relocator32_boot.
17663 (grub_multiboot_unload): Free relocators.
17664 (grub_multiboot): Setup stack. Use relocators.
17665 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
17666 (grub_multiboot_load_elfXX): Use relocators.
17667 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
17668 (grub_multiboot_payload_size): Likewise.
17669 (grub_multiboot_payload_dest): Likewise.
17670 (grub_multiboot_payload_entry_offset): Likewise.
17671 (grub_multiboot_forward_relocator): Likewise.
17672 (grub_multiboot_backward_relocator): Likewise.
17673 (grub_multiboot_real_boot): Likewise.
17674 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
17675 (grub_xnu_entry_point): Likewise.
17676 (grub_xnu_arg1): Likewise.
17677 (grub_xnu_stack): Likewise.
17678 (grub_xnu_launch): Removed.
17679 (grub_xnu_boot_resume): New function.
17680 (grub_xnu_boot): Use relocators.
17681 * loader/i386/xnu_helper.S: Removed.
17682 * loader/xnu.c (grub_xnu_heap_start): New variable.
17683 (grub_xnu_heap_size): Likewise.
17684 (grub_xnu_heap_malloc): Use relocators.
17685 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
17686
29eb90c6
VS
176872009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17688
17689 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
17690 anything.
17691
31027430
CPE
176922009-12-13 Carles Pina i Estany <carles@pina.cat>
17693
17694 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
17695 GRUB_ERR_NONE before calling grub_env_set.
17696
dc0c71d9
RM
176972009-12-12 Robert Millan <rmh@aybabtu.com>
17698
17699 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17700 * genmk.rb (video): New variable.
17701 (CLEANFILES, VIDEOFILES): Add #{video}.
17702 (#{video}): New target rule.
17703 * genvideolist.sh: New file.
17704 * Makefile.in (pkglib_DATA): Add video.lst.
17705 (video.lst): New target rule.
17706 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17707 `video.lst'.
17708 * util/grub.d/30_os-prober.in: Replace `vbe' with
17709 ${GRUB_VIDEO_BACKEND}.
17710
2a4bfcf0
RM
177112009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17712
17713 * THANKS: Add David Miller.
17714
2a3aa4d5
RM
177152009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17716
17717 libpciaccess support.
17718
17719 * Makefile.in (LIBPCIACCESS): New variable.
17720 (enable_grub_emu_pci): Likewise.
17721 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17722 util/pci.c and commands/lspci.c.
17723 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17724 * configure.ac (grub-emu-pci): New option.
17725 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17726 (grub_pci_device_unmap_range): Likewise.
17727 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17728 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17729 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17730 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17731 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17732 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17733 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17734 * include/grub/pciutils.h: New file.
17735 * util/pci.c: Likewise.
17736
0ad46fd7 177372009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17738
17739 * util/misc.c: Don't include <errno.h> twice.
17740
0ad46fd7 177412009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17742
17743 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17744 name in an error message.
17745 (grub_biosdisk_rw): Likewise.
17746
2e59983c
VS
177472009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 Eliminate NTFS 4Gib barrier.
17750
17751 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17752 (read_run_data): Likewise.
17753 (grub_ntfs_read_run_list): Likewise.
17754 (grub_ntfs_read_block): Likewise.
17755 (grub_ntfs_iterate_dir): Likewise.
17756 (read_mft): Likewise.
17757 (read_data): Likewise.
17758 Use COM_LOG_LEN.
17759 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17760 to avoid 64-bit division
17761 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17762 (grub_ntfs_rlst): Use grub_disk_addr_t.
17763
71ee178a
VS
177642009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 Eliminate grub-fstest 4Gib barrier.
17767
17768 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17769 (read_file): Fix error reporting.
17770
2520d4b8
VS
177712009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 Eliminate hexdump 4Gib barrier.
17774
17775 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17776 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17777
e1f27065
VS
177782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17781 Fixes amarsh bug.
17782
1a0f7f45
RM
177832009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17784
17785 Remove miscellaneous files in distclean target.
17786
17787 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17788
c631d9fb
CW
177892009-12-09 Colin Watson <cjwatson@ubuntu.com>
17790
17791 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17792 if they're already set. This resolves the conflict between my
17793 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17794 fixing the --grub-probe option again.
17795 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17796 change on 2009-10-06, so that we now once again source
17797 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17798
7c7b6106
RM
177992009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17800
17801 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17802 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17803 `util/devicemap.c'.
17804
e3069ec1
CPE
178052009-12-08 Carles Pina i Estany <carles@pina.cat>
17806
17807 * include/grub/misc.h (grub_printf_): New declaration.
17808 * kern/misc.c (grub_printf_): New definition.
17809 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17810 instead of `grub_printf' and `_'.
17811 * normal/menu_entry.c (store_completion): Likewise.
17812 (run): Likewise.
17813 (grub_menu_entry_run): Likewise.
17814 * normal/menu_text.c (grub_wait_after_message): Likewise.
17815 (notify_booting): Likewise.
17816 (notify_fallback): Likewise.
17817 (notify_execution_failure): Likewise.
17818
d6ceebf1
CW
178192009-12-07 Colin Watson <cjwatson@ubuntu.com>
17820
17821 * configure.ac: Check for vasprintf.
17822 * util/misc.c (asprintf): Move allocation from here ...
17823 (vasprintf): ... to here. New function.
17824 (xasprintf): New function.
17825 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17826 prototypes.
17827 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17828 * util/grub-mkfont.c (write_font): Likewise.
17829 * util/grub-probe.c (probe): Likewise.
17830 * util/hostdisk.c (make_device_name): Likewise.
17831
de6daa8b
DM
178322009-12-06 David S. Miller <davem@sunset.davemloft.net>
17833
17834 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17835 anything even prefixed with 'cdrom' as a cdrom.
17836
0ad46fd7 178372009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17838
17839 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17840 mount points.
17841
98d3dc02
CPE
178422009-12-05 Carles Pina i Estany <carles@pina.cat>
17843
17844 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17845 grub_gettext_msg_list.
17846 (grub_gettext_gettranslation_from_position): Return const char *
17847 and not char *.
a2c1332b 17848 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17849 returns from the list if existing there.
17850 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17851 (grub_gettext_delete_list): Delete the list.
17852 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17853 lang environment variable is changed.
17854 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17855
b283f108
VS
178562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17857
17858 Rename kernel.mod to kernel.img.
17859
17860 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17861 (kernel_mod_EXPORTS): Rename to ...
17862 (kernel_img_EXPORTS): ... this.
17863 (kernel_mod_SOURCES): Rename to ...
17864 (kernel_img_SOURCES): ... this.
17865 (kernel_mod_HEADERS): Rename to ...
17866 (kernel_img_HEADERS): ... this. All users updated.
17867 (kernel_mod_CFLAGS): Rename to ...
17868 (kernel_img_CFLAGS): ... this.
17869 (kernel_mod_ASFLAGS): Rename to ...
17870 (kernel_img_ASFLAGS): ... this.
17871 (kernel_mod_LDFLAGS): Rename to ...
17872 (kernel_img_LDFLAGS): ... this.
17873 * conf/x86_64-efi.rmk: Likewise.
17874 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17875 (read_kernel_image): ... this. All users updated.
17876 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17877
69055f8a
CPE
178782009-12-05 Carles Pina i Estany <carles@pina.cat>
17879
17880 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17881 (print_spaces): New function.
17882 (grub_print_ucs4): New function.
17883 (getstringwidth): New function.
17884 (print_message_indented): New function.
17885 (print_message): Gettexttize strings using print_message_indented.
17886 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17887 width.
17888 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17889 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17890 Gettextize.
17891 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17892 string.
17893 (run): Likewise.
17894 (grub_menu_entry_run): Likewise.
17895 * PO/POTFILES: Add normal/menu_entry.c.
17896
f616f51c
VS
178972009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17898
17899 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17900
57bbe3be
CPE
179012009-12-05 Carles Pina i Estany <carles@pina.cat>
17902
17903 * util/grub-install.in: Install gettext .mo files.
17904 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17905
013d67a1
CPE
179062009-12-05 Carles Pina i Estany <carles@pina.cat>
17907
17908 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17909 grub_dprintf.
17910
fb954db0
RM
179112009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17912
17913 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17914 non-firmware-dependant one in realmode.S takes precedence.
17915
6b8474f8
RM
179162009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17917
17918 * commands/halt.c: Replace misc arch-specific headers with
17919 `<grub/misc.h>'.
17920 * commands/reboot.c: Likewise.
17921 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17922 `<grub/misc.h>'.
17923 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17924 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17925 (kernel_img_SOURCES): ... to here.
17926
17927 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17928 * include/grub/i386/pc/init.h: Likewise.
17929 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17930 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17931
17932 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17933
17934 * include/grub/i386/halt.h: Remove.
17935 * include/grub/i386/reboot.h: Likewise.
17936
17937 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17938
4b2e6ca2
DM
179392009-12-03 David S. Miller <davem@sunset.davemloft.net>
17940
17941 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17942 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17943 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17944 "progname.h"
17945 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17946 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17947 (usage): Add missing comma in printf.
17948
5239348f
RM
179492009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17950
17951 Use the same reboot approach on i386 coreboot and qemu as we do on
17952 BIOS.
17953
17954 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17955 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17956 * kern/i386/reboot.c: Remove.
17957 * include/grub/i386/reboot.h (grub_reboot): Export function.
17958 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17959 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17960 0xf000:0xfff0 instead of 0xffff:0x0000.
17961 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17962 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17963
ef34cbd4
RM
179642009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17965
17966 Fix $srcdir != $objdir build.
17967
17968 * Makefile.in (po/%.po): Rewrite as ...
17969 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17970
dc9837ea
ST
179712009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17972
17973 Fix GNU/Hurd grub-install crash.
17974 * util/grub-probe.c (probe): Try to access `path' only when it is not
17975 NULL.
17976
2f857f98
VS
179772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17978
17979 Correct module naming.
17980
17981 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17982 (GRUB_MOD_INIT(efi_uga)): ... to this
17983 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17984 (GRUB_MOD_FINI(efi_uga)): ... to this
17985 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17986 (GRUB_MOD_INIT(efi_gop)): ... to this
17987 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17988 (GRUB_MOD_FINI(efi_gop)): ... to this
17989
c5448046
RM
179902009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17991
17992 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17993 translatable.
17994 (usage): Translate `arg' strings using gettext().
17995 Thanks to Jordi Mallach for the suggestion.
17996
c85184ad
VS
179972009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17998
17999 GOP support. Based on patch from Bean
18000 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18001
18002 * video/efi_gop.c: New file.
18003 * include/grub/efi/graphics_output.h: Likewise.
18004 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18005 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18006 variables.
18007 * conf/x86_64-efi.rmk: Likewise.
18008
8a4c48d8
VS
180092009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18010
18011 Rename efi_fb to efi_uga.
18012
18013 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18014 'efi_uga.mod'.
18015 (efi_fb_mod_SOURCES): Rename this ...
18016 (efi_uga_mod_SOURCES): ... to this.
18017 (efi_fb_mod_CFLAGS): Rename this ...
18018 (efi_uga_mod_CFLAGS): ... to this.
18019 (efi_fb_mod_LDFLAGS): Rename this ...
18020 (efi_uga_mod_LDFLAGS): ... to this.
18021 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18022 'efi_uga.mod'.
18023 (efi_fb_mod_SOURCES): Rename this ...
18024 (efi_uga_mod_SOURCES): ... to this.
18025 (efi_fb_mod_CFLAGS): Rename this ...
18026 (efi_uga_mod_CFLAGS): ... to this.
18027 (efi_fb_mod_LDFLAGS): Rename this ...
18028 (efi_uga_mod_LDFLAGS): ... to this.
18029 * video/efi_fb.c: Move this ...
18030 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
18031
fb6c1a7b
RM
180322009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18033
18034 * po/README: New file. Explain our PO file workflow.
18035
3bc7896c
RM
180362009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18037
18038 * po/ChangeLog: Remove. Move relevant entries back to ...
18039 * ChangeLog: ... here.
18040 * po/ca.po: Remove (now handled by TLP).
18041 * po/id.po: Likewise.
18042 * po/zh_CN.po: Likewise.
18043 * Makefile.in (LINGUAS): Initialize in a way that supports
18044 empty set.
18045
9ed4841d
RM
180462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18047
18048 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
18049 reliing on po/LINGUAS.
18050 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
18051 (po/%.po): ... this.
18052
0ad46fd7 180532009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
18054
18055 * util/i386/efi/grub-mkimage.c: Include "progname.h".
18056 (main): Use `program_name' instead of nonexistent `progname'.
18057
e30dd392
FZ
180582009-11-26 Felix Zielcke <fzielcke@z-51.de>
18059
18060 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18061 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
18062
7656de4f
RM
180632009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18064
18065 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
18066 commit.
18067 * conf/i386-efi.rmk: Likewise.
18068 * conf/i386-ieee1275.rmk: Likewise.
18069 * conf/powerpc-ieee1275.rmk: Likewise.
18070 * conf/sparc64-ieee1275.rmk: Likewise.
18071 * conf/x86_64-efi.rmk: Likewise.
18072
db77c4d4
FZ
180732009-11-26 Felix Zielcke <fzielcke@z-51.de>
18074
18075 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
18076
a755bb04
FZ
180772009-11-26 Felix Zielcke <fzielcke@z-51.de>
18078
18079 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
18080
8a4c07fd
RM
180812009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18082
18083 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
18084 (grub_mkdevicemap_SOURCES): New variable.
18085 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
18086 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
18087 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
18088 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
18089 (grub_mkdevicemap_SOURCES): Remove.
18090 * conf/i386-efi.rmk: Likewise.
18091 * conf/i386-ieee1275.rmk: Likewise.
18092 * conf/i386-pc.rmk: Likewise.
18093 * conf/powerpc-ieee1275.rmk: Likewise.
18094 * conf/sparc64-ieee1275.rmk: Likewise.
18095 * conf/x86_64-efi.rmk: Likewise.
18096 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
18097 (usage): Fix strings to use `program_name'.
18098 (main): Initialize gettext.
18099 * util/grub-editenv.c: Likewise.
18100 * util/grub-emu.c: Likewise.
18101 * util/grub-fstest.c: Likewise.
18102 * util/grub-mkdevicemap.c: Likewise.
18103 * util/grub-mkfont.c: Likewise.
18104 * util/grub-mkrelpath.c: Likewise.
18105 * util/grub-pe2elf.c: Likewise.
18106 * util/grub-probe.c: Likewise.
18107 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18108 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18109 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18110
18111 * util/misc.c: Include `"progname.h"'.
18112 (progname): Remove variable.
18113 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
18114
6f61ed55
FZ
181152009-11-25 Felix Zielcke <fzielcke@z-51.de>
18116
18117 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
18118 printf and print a newline after the menuentry header line.
18119 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18120
f022876b
FZ
181212009-11-25 Felix Zielcke <fzielcke@z-51.de>
18122
18123 autoconf >= 2.60 support $(localedir).
18124
18125 * INSTALL: Note that autoconf 2.60 is required.
18126 * configure.ac (AC_PREREQ): Bump to 2.60.
18127 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
18128 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18129
6717926e
YB
181302009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
18131
18132 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
18133 aclocal is run.
18134
08806a54
RM
181352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18136
18137 * normal/main.c (grub_normal_read_line): Fix off-by-one
18138 buffer overflow.
18139
13b33fba
RM
181402009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18141
18142 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
18143 "parser.grub" in grub_command_execute() call.
18144
4a8572e9
CPE
181452009-11-24 Carles Pina i Estany <carles@pina.cat>
18146
18147 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
18148 * conf/i386-efi.rmk: Likewise.
18149 * conf/i386-ieee1275.rmk: Likewise.
18150 * conf/i386-pc.rmk: Likewise.
18151 * conf/powerpc-ieee1275.rmk: Likewise.
18152 * conf/sparc64-ieee1275.rmk: Likewise.
18153 * conf/x86_64-efi.rmk: Likewise.
18154 * gettext/gettex.c: Include <grub/i18n.h>.
18155 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
18156 here ...
18157 * include/grub/i18n.h: ... to here
18158 * include/grub/i18n.h: ... to here.
18159 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 18160 (grub_gettext_dummy): Move above user.
4a8572e9 18161
bee48093
FZ
181622009-11-24 Felix Zielcke <fzielcke@z-51.de>
18163
18164 * util/Makefile.in (install-local): Convert a `for' into a normal
18165 shell expansion.
18166
a031e91c
RM
181672009-11-24 Robert Millan <rmh.grub@aybabtu.com>
18168
18169 * autogen.sh: Add automake call.
18170 * config.guess: Remove.
18171 * config.sub: Likewise.
18172 * install-sh: Likewise.
18173
26bec39d
FZ
181742009-11-24 Felix Zielcke <fzielcke@z-51.de>
18175
18176 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
18177
8e2532fd
FZ
181782009-11-24 Felix Zielcke <fzielcke@z-51.de>
18179
18180 * util/Makefile.in (install-local): Convert a make `$(foreach)'
18181 function to a normal shell `for'.
18182
fefa1b7d
FZ
181832009-11-24 Felix Zielcke <fzielcke@z-51.de>
18184
18185 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18186
4501250b
FZ
181872009-11-24 Felix Zielcke <fzielcke@z-51.de>
18188
18189 * util/grub-mkrelpath.c: New file.
18190 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
18191 (grub_mkrelpath_SOURCES): New variable.
18192 * include/grub/util/misc.h: New function prototype.
18193 * util/misc.c (make_system_path_relative_to_its_root): New function.
18194
18195 * util/grub-mkconfig_lib.in (bindir): New variable.
18196 (grub_mkrelpath): Likewise.
18197 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
18198
18199 * util/probe.c (probe): Make the file path relative to its root.
18200 Change a info message to use the GRUB path. Enable again the
18201 check if we can read the file with GRUB facilities.
18202
18203 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
18204 to its root.
18205
11d9778b
FZ
182062009-11-24 Felix Zielcke <fzielcke@z-51.de>
18207
18208 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
18209 platform.
18210
4465287d
FZ
182112009-11-24 Felix Zielcke <fzielcke@z-51.de>
18212
18213 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
18214 strncmp().
18215
62b47f22
FZ
182162009-11-24 Felix Zielcke <fzielcke@z-51.de>
18217
18218 * util/getroot.c (grub_util_is_dmraid): New function.
18219 (grub_util_get_dev_abstraction): Treat dmraid and multipath
18220 devices as normal ones, not as LVM.
18221
1eafb9b9 182222009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
18223
18224 * conf/common.rmk: Add grub-gettext_lib target and updates
18225 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
18226 LDFLAGS.
18227 * gettext/gettext.c: New file. (Reads mo files).
18228 * include/grub/file.h (grub_file_pread): New prototype.
18229 * include/grub/i18n.h (_): New prototype.
18230 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
18231 prototypes.
18232 * kern/misc.c (grub_gettext_dummy): New function.
18233 * normal/menu_text.c: Include <grub/i18n.h>.
18234 * normal/menu_text.c (print_timeout): Gettexttize string.
18235 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
18236 * po/POTFILES: Add `normal/menu_text.c'.
18237 * po/ca.po: Add new translations.
c3ea6bd4
CPE
18238 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
18239 gettext module and defines locale_dir and lang in grub.cfg.
18240 * NEWS: Add gettext support.
18241
0fdb2568
RM
182422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18243
18244 * util/hostdisk.c: Include `<grub/i18n.h>'.
18245 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
18246 (make_device_name): Rewrite using asprintf.
18247 (convert_system_partition_to_system_disk): Replace 0 with NULL.
18248 (find_system_device): If a device is not found, generate one just
18249 by reusing the OS path name.
18250 (read_device_map): Make it permissible for device.map not to exist.
18251
f515aa62
RM
182522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18253
18254 * script/sh/execute.c: Move from here ...
18255 * script/execute.c: ... to here. Update all users.
18256 * script/sh/function.c: Move from here ...
18257 * script/function.c: ... to here. Update all users.
18258 * script/sh/lexer.c: Move from here ...
18259 * script/lexer.c: ... to here. Update all users.
18260 * script/sh/main.c: Move from here ...
18261 * script/main.c: ... to here. Update all users.
18262 * script/sh/parser.y: Move from here ...
18263 * script/parser.y: ... to here. Update all users.
18264 * script/sh/script.c: Move from here ...
18265 * script/script.c: ... to here. Update all users.
18266
f84b481b
RM
182672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18268
18269 * configure.ac: Detect all `emu' platforms. Define
18270 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
18271 --enable-grub-emu logic. Disable include/grub/machine
18272 symlink on `emu' platforms.
18273
18274 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
18275 * gensymlist.sh.in: Likewise.
18276
18277 * include/grub/i386/coreboot/machine.h: Remove file.
18278 * include/grub/i386/efi/machine.h: Likewise.
18279 * include/grub/i386/ieee1275/machine.h: Likewise.
18280 * include/grub/i386/pc/machine.h: Likewise.
18281 * include/grub/i386/qemu/machine.h: Likewise.
18282 * include/grub/powerpc/ieee1275/machine.h: Likewise.
18283 * include/grub/sparc64/ieee1275/machine.h: Likewise.
18284 * include/grub/x86_64/efi/machine.h: Likewise.
18285
18286 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
18287 * commands/halt.c: Likewise.
18288 * commands/reboot.c: Likewise.
18289 * include/grub/autoefi.h: Likewise.
18290 * include/grub/i386/at_keyboard.h: Likewise.
18291 * include/grub/i386/kernel.h: Likewise.
18292 * include/grub/i386/loader.h: Likewise.
18293 * include/grub/i386/pc/memory.h: Likewise.
18294 * kern/dl.c: Likewise.
18295 * kern/i386/coreboot/init.c: Likewise.
18296 * loader/i386/bsd.c: Likewise.
18297 * loader/i386/linux.c: Likewise.
18298 * loader/multiboot_loader.c: Likewise.
18299 * term/i386/pc/serial.c: Likewise.
18300 * term/usb_keyboard.c: Likewise.
18301
18302 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
18303 `<grub/machine/machine.h>'
18304 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
18305 * util/misc.c: Remove `<grub/machine/machine.h>' and
18306 `<grub/machine/time.h>'.
18307
18308 * Makefile.in (enable_grub_emu): Remove variable.
18309 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
18310
18311 * conf/any-emu.rmk: New file.
18312 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
18313 (grub_emu_init.c): Move from here ...
18314 * conf/any-emu.rmk: ... to here.
18315
18316 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
18317 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
18318 * conf/any-emu.rmk: ... to here.
18319
4efeab03
RM
183202009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18321
18322 * include/grub/parser.h (grub_parser_register): Document need
18323 of `name' parameter.
18324 * normal/main.c (grub_normal_read_line): Simplify prompt string.
18325 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
18326 "sh" to "grub".
18327
ea1dd8bf
RM
183282009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18329
18330 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
18331 `$(XGETTEXT)'.
18332 * include/grub/i18n.h (N_): New macro.
18333 * util/mkisofs/mkisofs.h: Likewise.
18334 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
18335 around N_().
18336 (usage): Use gettext() to translate help strings when printing them.
18337
0c140626
RM
183382009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18339
18340 Based on patch from Bean
18341 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18342
18343 * video/efi_fb.c: New file.
18344 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
18345 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18346 variables.
18347 * conf/x86_64-efi.rmk: Likewise.
18348
87d58298
RM
183492009-11-22 Robert Millan <rmh.grub@aybabtu.com>
18350
18351 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
18352 * util/i386/pc/grub-setup.c: Likewise.
18353
994cc3a3
ST
183542009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18355
18356 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
18357 <hurd/fs.h>
18358 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
18359 file_get_storage_info to implement grub_guess_root_device.
18360
26a61d6a
FZ
183612009-11-21 Felix Zielcke <fzielcke@z-51.de>
18362
18363 * Makefile.in (target): Use make's builtin $(shell) function
18364 instead of calling directly $(SHELL) to create the locale directories,
18365 inside the $(foreach) function.
18366
74ff1dd5
FZ
183672009-11-21 Felix Zielcke <fzielcke@z-51.de>
18368
18369 * util/grub-mkrescue.in: Print an error and usage if output option
18370 has not been given.
18371
0b787d0e
FZ
183722009-11-21 Felix Zielcke <fzielcke@z-51.de>
18373
18374 Patch from Loïc Minier <loic.minier@ubuntu.com>.
18375 * util/grub.d/30_os-prober.in: Cope with Linux entries where
18376 root and /boot are on different devices.
18377
1164b270
RM
183782009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18379
18380 Fix build for srcdir != objdir.
18381
18382 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
18383 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
18384 $(srcdir).
18385 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
18386 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
18387 reference for input.
18388
13774a2f
RM
183892009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18390
18391 * util/grub-mkrescue.in: Use source directory direcly (without copiing
18392 or hardlinking it). Remove -J option, Joliet is not compatible with
18393 multiple source directories.
18394
efda854e
RM
183952009-11-21 Carles Pina i Estany <carles@pina.cat>
183962009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18397
18398 * util/grub-mkrescue.in: Recognize `--override-directory' option.
18399 (process_input_dir): New function. Process an arbitrary input
18400 directory.
18401 Misc adjustments to support both "override mode" and system-wide mode.
18402
6c09890c
FZ
184032009-11-20 Felix Zielcke <fzielcke@z-51.de>
18404
18405 * configure.ac (UNIFONT_BDF): Rename to ...
18406 (FONT_SOURCE): ... this. Update all users.
18407
a797824f
FZ
184082009-11-20 Felix Zielcke <fzielcke@z-51.de>
18409
18410 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
18411 to the list of unifont files to look for.
18412
cd4f42b0
RM
184132009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18414
18415 Patch from Joe Auricchio <jauricchio@gmail.com>
18416 * commands/minicmd.c (grub_mini_cmd_clear): New function.
18417 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
18418 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
18419
393c783d
FZ
184202009-11-19 Felix Zielcke <fzielcke@z-51.de>
18421
18422 * Makefile.in (install-local): Add a missing backslash.
18423
b2f1e327
FZ
184242009-11-19 Felix Zielcke <fzielcke@z-51.de>
18425
18426 * include/grub/x86_64/io.h: New file.
18427
f577f7a0
RM
184282009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18429
18430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
18431 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
18432 Include `"progname.h"'.
18433 (main): Initialize gettext.
18434 * util/i386/pc/grub-setup.c: Gettexttize.
18435 * util/i386/pc/grub-mkimage.c: Likewise.
18436
18437 * Makefile.in (po/*.po): Redefine as ...
18438 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
18439
3bc7896c
RM
18440 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
18441
c37943b6
RM
184422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18443
18444 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
18445 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
18446 (program_name): Remove.
18447 (main): Initialize gettext support.
6323f705
RM
18448 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
18449 Include `<libintl.h>'.
18450 (_): New macro.
c37943b6
RM
18451
18452 * util/mkisofs/eltorito.c: Gettexttize.
18453 * util/mkisofs/joliet.c: Likewise.
18454 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
18455 * util/mkisofs/multi.c: Likewise.
18456 * util/mkisofs/rock.c: Likewise.
18457 * util/mkisofs/tree.c: Likewise.
18458 * util/mkisofs/write.c: Likewise.
18459
3bc7896c
RM
18460 * po/POTFILES: Update with new files.
18461
5ce77c6e
RM
184622009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18463
18464 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
18465 * util/mkisofs/iso9660.h: Likewise.
18466 * util/mkisofs/joliet.c: Likewise.
18467 * util/mkisofs/mkisofs.c: Likewise.
18468 * util/mkisofs/mkisofs.h: Likewise.
18469 * util/mkisofs/rock.c: Likewise.
18470 * util/mkisofs/tree.c: Likewise.
18471 * util/mkisofs/write.c: Likewise.
18472
18473 * util/mkisofs/eltorito.c (rcsid): Remove.
18474 * util/mkisofs/hash.c: Likewise.
18475 * util/mkisofs/joliet.c: Likewise.
18476 * util/mkisofs/name.c: Likewise.
18477 * util/mkisofs/rock.c: Likewise.
18478 * util/mkisofs/tree.c: Likewise.
18479 * util/mkisofs/write.c: Likewise.
18480
1dabbc77
RM
184812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18482
18483 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
18484 instead of static allocation.
18485 * util/mkisofs/match.h: Likewise.
18486
633877cb
RM
184872009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18488
3bc7896c
RM
18489 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
18490 and `util/grub.d/10_linux.in'.
633877cb
RM
18491 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
18492 translatable Shell files.
18493
af1c0c85
RM
184942009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18495
18496 * Makefile.in ($(srcdir)/aclocal.m4): New target.
18497
769ae37b
RM
184982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18499
18500 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 18501 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
18502 * util/grub.d/10_kfreebsd.in (bindir): New variable.
18503 Add gettext initialization.
18504 (kfreebsd_entry): Make menuentry output translatable.
18505
185062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18507
18508 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
18509 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
18510 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
18511 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
18512 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 18513 * po/LINGUAS: New file.
769ae37b
RM
18514
185152009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18516
18517 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
18518 other things).
18519 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
18520 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
18521 bindtextdomain() calls for gettext initialization.
18522
185232009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18524
18525 * gnulib/progname.c: New file (imported from Gnulib).
18526 * gnulib/progname.h: Likewise.
18527 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18528 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
18529 (usage): Replace `progname' with `program_name'.
18530 (main): Use set_program_name() for program name initialization.
18531
185322009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18533
18534 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
18535 from here ...
18536 * Makefile.in (CPPFLAGS): ... to here.
18537
185382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18539
18540 * aclocal.m4: Move from here ...
18541 * acinclude.m4: ... to here.
18542 * autogen.sh: Add call to `aclocal'.
18543 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
18544
185452009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18546
18547 * Makefile.in (CLEANFILES): Add `po/*.mo'.
18548 (LINGUAS): New variable.
18549 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
18550 (install-local): Install MO files.
18551 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
18552 * include/grub/i18n.h: New file.
3bc7896c
RM
18553 * po/POTFILES: New file.
18554 * po/ca.po: New file.
769ae37b
RM
18555 * util/grub.d/10_linux.in (bindir): New variable.
18556 Add gettext initialization.
18557 (linux_entry): Make menuentry output translatable.
18558 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
18559 (usage): Make --help output translatable.
18560 (main): Initialize gettext.
18561
02c0a6ad
RM
185622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18563
18564 * import_gcry.py: New file (written by Vladimir with minor
18565 adjustments).
18566 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
18567 ciphers.
18568 * INSTALL: Document that Python is required for bootstrap.
18569
185702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18571
18572 Import ciphers from libgcrypt 1.4.4.
18573
18574 * lib/libgcrypt/cipher/ChangeLog
18575 * lib/libgcrypt/cipher/ac.c
18576 * lib/libgcrypt/cipher/arcfour.c
18577 * lib/libgcrypt/cipher/bithelp.h
18578 * lib/libgcrypt/cipher/blowfish.c
18579 * lib/libgcrypt/cipher/camellia-glue.c
18580 * lib/libgcrypt/cipher/camellia.c
18581 * lib/libgcrypt/cipher/camellia.h
18582 * lib/libgcrypt/cipher/cast5.c
18583 * lib/libgcrypt/cipher/cipher.c
18584 * lib/libgcrypt/cipher/crc.c
18585 * lib/libgcrypt/cipher/des.c
18586 * lib/libgcrypt/cipher/dsa.c
18587 * lib/libgcrypt/cipher/ecc.c
18588 * lib/libgcrypt/cipher/elgamal.c
18589 * lib/libgcrypt/cipher/hash-common.c
18590 * lib/libgcrypt/cipher/hash-common.h
18591 * lib/libgcrypt/cipher/hmac-tests.c
18592 * lib/libgcrypt/cipher/md.c
18593 * lib/libgcrypt/cipher/md4.c
18594 * lib/libgcrypt/cipher/md5.c
18595 * lib/libgcrypt/cipher/primegen.c
18596 * lib/libgcrypt/cipher/pubkey.c
18597 * lib/libgcrypt/cipher/rfc2268.c
18598 * lib/libgcrypt/cipher/rijndael-tables.h
18599 * lib/libgcrypt/cipher/rijndael.c
18600 * lib/libgcrypt/cipher/rmd.h
18601 * lib/libgcrypt/cipher/rmd160.c
18602 * lib/libgcrypt/cipher/rsa.c
18603 * lib/libgcrypt/cipher/seed.c
18604 * lib/libgcrypt/cipher/serpent.c
18605 * lib/libgcrypt/cipher/sha1.c
18606 * lib/libgcrypt/cipher/sha256.c
18607 * lib/libgcrypt/cipher/sha512.c
18608 * lib/libgcrypt/cipher/tiger.c
18609 * lib/libgcrypt/cipher/twofish.c
18610 * lib/libgcrypt/cipher/whirlpool.c
18611
af2f93ac
RM
186122009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18613
18614 Fix build for systems without error().
18615
18616 * gnulib/error.c: New file (imported from Gnulib).
18617 * gnulib/error.h: Likewise.
18618 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
18619 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
18620 (this variable is now used by error()).
18621
73fb3dd5
FZ
186222009-11-16 Felix Zielcke <fzielcke@z-51.de>
18623
814f5e96
FZ
18624 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
18625 instead of relying that char is signed.
73fb3dd5 18626
a691ca33
VS
186272009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
18630 blocksize different from specified.
18631 (grub_pxefs_read): Likewise.
18632
2af8f0f4
FZ
186332009-11-16 Felix Zielcke <fzielcke@z-51.de>
18634
18635 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
18636
18637 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
18638 (grub_ata_readwrite): Likewise. Update 2 format strings.
18639 (grub_atapi_read): Likewise.
18640
18641 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
18642 * conf/i386.rmk (pkglib_MODULES): ... to here ...
18643 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
18644 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
18645 (ata_mod_LDFLAGS): Move from here ...
18646 * conf/i386.rmk: ... to here ...
18647 * conf/x86_64-efi.rmk: ... and here.
18648 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
18649 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
18650
83bdecaf
RM
186512009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18652
18653 Relicense multiboot.h, with RMS' blessing.
18654
18655 * include/multiboot.h: Change to X11 license.
18656
fd6fd3d7
RM
186572009-11-15 Robert Millan <rmh.grub@aybabtu.com>
18658
18659 Support --version in grub-mkisofs.
18660
18661 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
18662 (OPTION_VERSION): New macro.
18663 (ld_options): Recognize --version.
18664 (usage): Move `program_name' from here ...
18665 (program_name): ... to here. Add `static' qualifier.
18666 (main): Recognize `OPTION_VERSION'.
18667
16a88c49
FZ
186682009-11-15 Felix Zielcke <fzielcke@z-51.de>
18669
18670 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
18671 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
18672
a4158476
RM
186732009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18674
18675 Fix help2man generation for mkisofs.
18676
18677 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
18678 (usage): Send output to stdout (rather than stderr).
18679
fc2208b0
RM
186802009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18681
18682 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
18683 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18684 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
18685 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18686 (bin_SCRIPTS): Add `grub-mkfloppy'.
18687 (grub_mkfloppy_SOURCES): New variable.
18688
18689 * util/grub-mkrescue.in: New file.
18690 * util/i386/pc/grub-mkfloppy.in: New file.
18691
18692 * util/i386/coreboot/grub-mkrescue.in: Remove.
18693 * util/i386/pc/grub-mkrescue.in: Remove.
18694
8d0edf4a
RM
186952009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18696
18697 * include/grub/multiboot.h (struct grub_multiboot_header): Move
18698 from here ...
18699 * include/multiboot.h (struct multiboot_header): ... to here. Update
18700 all users.
18701 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18702 from here ...
18703 * include/multiboot.h (struct multiboot_info): ... to here. Update
18704 all users.
18705 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18706 from here ...
18707 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18708 Update all users.
18709 * include/grub/multiboot.h (struct grub_mod_list): Move
18710 from here ...
18711 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18712 Update all users.
18713
a73f5969
RM
187142009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18715
18716 * include/multiboot2.h (multiboot_word): Rename from this ...
18717 (multiboot2_word): ... to this. Update all users.
18718 (multiboot_header): Rename from this ...
18719 (multiboot2_header): ... to this. Update all users.
18720 (multiboot_tag_header): Rename from this ...
18721 (multiboot2_tag_header): ... to this. Update all users.
18722 (multiboot_tag_start): Rename from this ...
18723 (multiboot2_tag_start): ... to this. Update all users.
18724 (multiboot_tag_name): Rename from this ...
18725 (multiboot2_tag_name): ... to this. Update all users.
18726 (multiboot_tag_module): Rename from this ...
18727 (multiboot2_tag_module): ... to this. Update all users.
18728 (multiboot_tag_memory): Rename from this ...
18729 (multiboot2_tag_memory): ... to this. Update all users.
18730 (multiboot_tag_unused): Rename from this ...
18731 (multiboot2_tag_unused): ... to this. Update all users.
18732 (multiboot_tag_end): Rename from this ...
18733 (multiboot2_tag_end): ... to this. Update all users.
18734
1c8927f0
RM
187352009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18736
18737 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18738 this platform we should support Multiboot1 first.
18739
18740 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18741 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18742 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18743
6e1e0d89
RM
187442009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18745
18746 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18747 of write calls (converting them to fwrite() if they aren't already).
18748 (get_torito_desc): Likewise.
18749 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18750
7f2b34d8
RM
187512009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18752
18753 * util/i386/pc/grub-install.in: Move from here ...
18754 * util/grub-install.in: ... to here. Update all users.
18755
c0ef3311
CW
187562009-11-11 Colin Watson <cjwatson@ubuntu.com>
18757
18758 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18759
e1f240ff
RM
187602009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18761
18762 Support for El Torito without floppy emulation.
18763
18764 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18765 (init_boot_catalog): Improve error handling.
18766 (get_torito_desc): Don't use floppy emulation unless requested by
18767 user. Patch boot information table when requested via
18768 `-boot-info-table'.
18769 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18770 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18771 (use_boot_info_table): New variables.
18772 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18773 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18774 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18775 `--eltorito-emul-floppy'.
18776 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18777 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18778 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18779 (use_boot_info_table, get_731): New prototypes.
18780 * util/mkisofs/write.c (get_731): New function.
18781
af7d4de5
FZ
187822009-11-11 Felix Zielcke <fzielcke@z-51.de>
18783
18784 Fix the generation of the man page.
18785
18786 * util/pc/i386/grub-install.in: Source
18787 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18788
2c55dbc0
RM
187892009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18790
18791 Large file support for grub-mkisofs.
18792
18793 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18794 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18795 (session_start): Upgrade type to `uint64_t'. Update all users.
18796 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18797 (struct directory_entry): Upgrade type of `starting_block' and
18798 `size' to `uint64_t'. Update all users.
18799 (struct deferred): Remove unused structure.
18800 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18801 Update all users.
18802 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18803 file is larger than `UINT32_MAX'.
18804 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18805 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18806 return value.
18807 (struct deferred_write): Upgrade type of `extent' and `size' to
18808 `uint64_t'. Update all users.
18809 (last_extent_written): Upgrade type to `uint64_t'. Update all
18810 users.
18811 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18812 Update all users. Upgrade type of `remain' to `int64_t' and
18813 `use' to `size_t'. Use error() to handle fread() errors.
18814 (write_files): Rely on write_one_file() rather than calling
18815 xfwrite() directly.
18816
6a9cead5
FZ
188172009-11-09 Felix Zielcke <fzielcke@z-51.de>
18818
18819 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18820
4825d790
RM
188212009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18822
18823 * util/mkisofs/fnmatch.c: Remove.
18824 * util/mkisofs/getopt1.c: Likewise.
18825 * util/mkisofs/getopt.c: Likewise.
18826 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18827 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18828 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18829 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18830 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18831
18832 * configure.ac: Detect `mingw32msvc' host_os.
18833 Check for lstat(), getuid() and getgid().
18834
18835 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18836 instances of `u_char' with `uint8_t'.
18837
18838 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18839 [!HAVE_GETUID] (getuid): New function (stub).
18840 [!HAVE_GETGID] (getgid): Likewise.
18841 [!HAVE_LSTAT] (lstat): Likewise.
18842 [!S_IROTH] (S_IROTH): New macro (dummy).
18843 [!S_IRGRP] (S_IRGRP): Likewise.
18844
84b860d8
RM
188452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18846
18847 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18848 conditional expression).
18849
66e9b712
RM
188502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18851
18852 Import from Gnulib.
18853
18854 * gnulib/fnmatch.c: New file.
18855 * gnulib/fnmatch.h: Likewise.
18856 * gnulib/fnmatch_loop.c: Likewise.
18857 * gnulib/getopt.c: Likewise.
18858 * gnulib/getopt.h: Likewise.
18859 * gnulib/getopt1.c: Likewise.
18860 * gnulib/getopt_int.h: Likewise.
18861 * gnulib/gettext.h: Likewise.
18862
34f4a5b0
RM
188632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18864
18865 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18866 * normal/handler.c (read_handler_list): Likewise.
18867
ac451143
RM
188682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 Misc cleanup.
18871
18872 * kern/command.c (grub_register_command_prio): Use
18873 grub_zalloc() instead of explicitly zeroing data.
18874 * kern/list.c: Include `<grub/mm.h>'.
18875 (grub_named_list_find): Replace `0' with `NULL'.
18876 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18877 (fs_module_list): Change type to `grub_named_list_t'. Update all
18878 users.
18879 * normal/dyncmd.c (read_command_list): Add space between function
18880 call and parenthesis.
18881 * normal/handler.c (read_handler_list): Likewise.
18882
4089b167
RM
188832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18884
18885 * normal/auth.c (punishment_delay): Moved from here ...
18886 (grub_auth_strcmp): ... to here (inside function).
18887
325f5037
RM
188882009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18889
18890 * include/grub/list.h (struct grub_named_list): Remove `const'
18891 qualifier from `name'.
18892 (struct grub_prio_list): Likewise.
18893
7aea29a3
RM
188942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18895
18896 * normal/auth.c: Include `<grub/time.h>'.
18897 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18898
3fd6f044
RM
188992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18900
18901 * normal/auth.c (punishment_delay): New variable.
18902 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18903 (grub_auth_check_authentication): Punish failed login attempts with
18904 an incremental (2^N) delay.
18905
a4cd68e4
RM
189062009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18907
18908 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18909 path with $(srcdir).
18910
7ad12f43
VS
189112009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18914
c1129f03
RM
189152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18916
18917 * util/i386/coreboot/grub-mkrescue.in: New file.
18918 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18919 variables.
18920
18921 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18922 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18923 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18924 requirements.
18925 * util/mkisofs/defaults.h: New file.
18926 * util/mkisofs/eltorito.c: Likewise.
18927 * util/mkisofs/exclude.h: Likewise.
18928 * util/mkisofs/fnmatch.c: Likewise.
18929 * util/mkisofs/getopt.c: Likewise.
18930 * util/mkisofs/getopt1.c: Likewise.
18931 * util/mkisofs/hash.c: Likewise.
18932 * util/mkisofs/include/fctldefs.h: Likewise.
18933 * util/mkisofs/include/mconfig.h: Likewise.
18934 * util/mkisofs/include/prototyp.h: Likewise.
18935 * util/mkisofs/include/statdefs.h: Likewise.
18936 * util/mkisofs/iso9660.h: Likewise.
18937 * util/mkisofs/joliet.c: Likewise.
18938 * util/mkisofs/match.c: Likewise.
18939 * util/mkisofs/match.h: Likewise.
18940 * util/mkisofs/mkisofs.c: Likewise.
18941 * util/mkisofs/mkisofs.h: Likewise.
18942 * util/mkisofs/multi.c: Likewise.
18943 * util/mkisofs/name.c: Likewise.
18944 * util/mkisofs/rock.c: Likewise.
18945 * util/mkisofs/tree.c: Likewise.
18946 * util/mkisofs/write.c: Likewise.
18947
ec8bb77d
VS
189482009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18949
18950 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18951 being insecure.
18952
3716b12c
RM
189532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18954
18955 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18956 `grub-mkimage' (and use $0 when possible).
18957
b97b7b91
RM
189582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18959
18960 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18961 error message for excessively large memory map.
18962
04114812
RM
189632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18964
18965 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18966 executable bit.
18967
e4eb2373
RM
189682009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18969
18970 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18971 message for coreboot users.
18972
c926e1d5 189732009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18974
18975 Fix build with GNU gold.
18976
18977 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18978 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18979 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18980 link addresses.
18981 * aclocal.m4: Likewise.
18982
86e5b1db 189832009-11-04 Felix Zielcke <fzielcke@z-51.de>
18984
18985 * configure.ac (AC_PREREQ): Bump to 2.59d.
18986 * INSTALL: Make it more clear when Autoconf and Ruby are
18987 needed and when to run `./autogen.sh'.
18988
246cd78f 189892009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18990
18991 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18992 OSes.
18993
4f9dfb37 189942009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18995
18996 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18997
b82bd5e1 189982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18999
19000 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19001 giving it to GNU Mach.
19002
ff1a9bca 190032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19004
19005 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19006 GNU partition number to get internal GRUB partition number.
19007
61697d9c 190082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19009
19010 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
19011 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19012
a50569e1 190132009-11-01 Robert Millan <rmh.grub@aybabtu.com>
19014
19015 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
19016 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
19017 case.
19018
5b153867 190192009-11-01 Felix Zielcke <fzielcke@z-51.de>
19020
19021 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
19022
d9e2cd70 190232009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19024
19025 Fix build problem.
19026
19027 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
19028 `-isystem=$(srcdir)/include'.
19029
805111a4 190302009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19031
19032 * util/i386/pc/grub-install.in: Remove hint that device.map should be
19033 checked (grub-install doesn't currently rely on it).
19034
fa6e945f 190352009-10-29 Robert Millan <rmh.grub@aybabtu.com>
19036
19037 Revert SVN r2660.
19038
19039 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
19040 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19041 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
19042 * conf/i386-ieee1275.rmk: Likewise.
19043 * conf/i386-pc.rmk: Likewise.
19044 * conf/powerpc-ieee1275.rmk: Likewise.
19045 * conf/sparc64-ieee1275.rmk: Likewise.
19046 * conf/x86_64-efi.rmk: Likewise.
19047
cee15086 190482009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19049
19050 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
19051
95b9239e 190522009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19053
19054 * include/grub/misc.h: Stop checking for APPLE_CC.
19055
2ed19dfd 190562009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19057
19058 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
19059 doesn't cause an infinite call loop.
19060
fdcdde19 190612009-10-28 Felix Zielcke <fzielcke@z-51.de>
19062
19063 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
19064 strings.
19065
cefabfe1 190662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19067
19068 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
19069 variable.
19070 * Makefile.in: Likewise.
19071
ed96ab6d 190722009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19073
19074 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
19075
0579b753 190762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19077
19078 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
19079
478df409 190802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19081
19082 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
19083
083d1679 190842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19085
19086 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
19087 from here ...
19088 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
19089
5947ae32 190902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19091
19092 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
19093 in $(MAKEINFO) invocation. This makes it clear in output that
19094 errors are being ignored.
19095
94180ff6 190962009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19097
19098 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
19099 from here ...
19100 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19101 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
19102 * conf/i386-ieee1275.rmk: Likewise.
19103 * conf/i386-pc.rmk: Likewise.
19104 * conf/powerpc-ieee1275.rmk: Likewise.
19105 * conf/sparc64-ieee1275.rmk: Likewise.
19106 * conf/x86_64-efi.rmk: Likewise.
19107
9031b03a 191082009-10-26 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * util/grub-editenv.c (main): If only a command is given, use
19111 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
19112 (usage): FILENAME is now optional and has a default.
19113
e4f6809b 191142009-10-26 Colin Watson <cjwatson@ubuntu.com>
19115
19116 Improve grub-mkconfig performance when there are several menu
19117 entries on a single filesystem.
19118
19119 * util/grub.d/10_linux.in (linux_entry): Cache the output of
19120 prepare_grub_to_access_device.
19121 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19122 * util/grub.d/30_os-prober.in: Likewise.
19123
67937d4d 191242009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19125
19126 * util/grub.d/10_freebsd.in: Remove.
19127 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
19128 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
19129
ee3756cc 191302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19131
5c35048e 19132 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 19133
4dea1c6f 191342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19135
19136 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
19137 grub_util_error() call.
19138
042484d7 191392009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19140
19141 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
19142 `reserved_first_sector' member.
19143 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
19144 `reserved_first_sector' to 1.
19145 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
19146 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
19147 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
19148 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
19149 filesystems which begin at first sector.
19150 (options): New option --skip-fs-probe.
19151 (main): Handle --skip-fs-probe and pass it to setup().
19152
d64448a7 191532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19154
19155 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
19156 (memset): Fix function prototype.
19157
508d42ec 191582009-10-25 Robert Millan <rmh.grub@aybabtu.com>
191592009-10-25 Vasily Averin <vvs@parallels.com>
19160
19161 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
19162 `dirent.direntlen == 0'.
19163
b240e30c 191642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19165
19166 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
19167 `cpio'.
19168 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
19169
346e7fbe 191702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19171
19172 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
19173 `__trampoline_setup' and `__ucmpdi2'.
19174 * include/grub/powerpc/libgcc.h: Only export symbols for functions
19175 that libgcc provides.
19176
cdb308b0 191772009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19178
19179 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
19180 * include/grub/sparc64/libgcc.h (memset): Likewise.
19181 * include/grub/misc.h (memset, memcmp): New function prototypes.
19182
fb26abc2 191832009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19184
19185 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
19186 `cpio'.
19187 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
19188
f6693890 191892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19190
19191 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
19192 * docs/grub.cfg: Compensate for recent change in multiboot
19193 loader (since 2009-08-14 it won't pass filename to payload).
19194 * util/grub.d/10_hurd.in: Likewise.
19195
0933cdc0 191962009-10-21 Felix Zielcke <fzielcke@z-51.de>
19197
19198 * config.guess: Update to latest version from config git
19199 repository.
19200 * config.sub: Likewise.
19201
3b2fe8c2 192022009-10-20 Robert Millan <rmh.grub@aybabtu.com>
19203
19204 Fix build on sparc64.
19205
19206 * configure.ac: Perform checks for libgcc symbols before
19207 adding `-nostdlib' to LDFLAGS.
19208
46695a62 192092009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19210
19211 Let user specify OpenBSD root device.
19212
19213 * loader/i386/bsd.c (openbsd_root): New variable.
19214 (openbsd_opts): New option 'root'.
19215 (OPENBSD_ROOT_ARG): New macro.
19216 (grub_openbsd_boot): Use 'openbsd_root'.
19217 (grub_cmd_openbsd): Fill 'openbsd_root'.
19218
d2b6b7fc 192192009-10-16 Robert Millan <rmh.grub@aybabtu.com>
19220
19221 * NEWS: Misc adjustments.
19222
421bd7ac 192232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19224
19225 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
19226
f1d29d87 192272009-10-16 Robert Millan <rmh.grub@aybabtu.com>
19228
19229 * configure.ac: Bump version to 1.97.
19230
6f3cd880 192312009-10-16 Colin Watson <cjwatson@ubuntu.com>
19232
19233 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
19234 -mno-3dnow on x86 architectures. Some toolchains enable these
19235 features by default, but they rely on registers that aren't enabled
19236 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
19237
035f7122 192382009-10-15 Robert Millan <rmh.grub@aybabtu.com>
19239
19240 Make entry text a bit more readable.
19241
19242 * util/grub.d/10_linux.in: Add `with' before `Linux'.
19243
44998e58 192442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19245
19246 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
19247
cd2851b3 192482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
19251 operations.
19252
c6f3b249 192532009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 * configure.ac: Add missing dollar.
19256
6b5886ba 192572009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19258
19259 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
19260
19261 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
19262 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
19263 exports.
19264 * include/grub/sparc64/libgcc.h: Likewise. Use
19265 preprocessor conditionals.
19266
e9d66f6d 192672009-10-14 Robert Millan <rmh.grub@aybabtu.com>
19268
19269 * conf/common.rmk (grub-dumpbios): Remove rule.
19270 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
19271 * util/grub-dumpbios.in: Remove file.
19272
9155bc17 192732009-10-14 Robert Millan <rmh.grub@aybabtu.com>
19274
19275 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
19276 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
19277
19278 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
19279 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
19280 users.
19281
19282 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
19283 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
19284 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
19285 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
19286 users.
19287
bf7f7a18 192882009-10-12 Robert Millan <rmh.grub@aybabtu.com>
19289
19290 * term/tparm.c: Switch to GPLv3.
19291
86564c26 192922009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19293
19294 * include/grub/i386/cpuid.h: Add header protection.
19295
5c936493 192962009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19297
19298 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
19299
19300 * include/grub/i386/cpuid.h: New file.
19301 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
19302 (has_longmode): Rename to ...
19303 (grub_cpuid_has_longmode): ... this. Update all users. Remove
19304 `static' attribute.
19305 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
19306 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
19307 on a CPU that doesn't implement AMD64 instruction set.
19308
186e7cf2 193092009-10-06 Colin Watson <cjwatson@ubuntu.com>
19310
19311 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
19312 that version.texi is rebuilt on version number changes.
19313
83b65c4a 193142009-10-06 Colin Watson <cjwatson@ubuntu.com>
19315
19316 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
19317 Fixes bug #27602.
19318
d244281c 193192009-10-06 Colin Watson <cjwatson@ubuntu.com>
19320
19321 * util/i386/pc/grub-install.in: Source
19322 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
19323 that the --grub-probe option will work.
19324 * util/sparc64/ieee1275/grub-install.in: Likewise.
19325
da25306d 193262009-10-05 Robert Millan <rmh.grub@aybabtu.com>
19327
19328 * configure.ac: Bump version to 1.97~beta4.
19329
e8ee83c0 193302009-10-03 Robert Millan <rmh.grub@aybabtu.com>
19331
19332 Resync grub-mkdevicemap in x86_64-efi.
19333
19334 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
19335 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
19336 `util/devicemap.c'.
19337
50dcabcf 193382009-10-01 Colin Watson <cjwatson@ubuntu.com>
19339
19340 * util/grub-editenv.c (create_envblk_file): Write new block with a
19341 .new suffix and then rename it into place, to ensure atomic
19342 creation.
19343
0e51c3a7 193442009-09-28 Robert Millan <rmh.grub@aybabtu.com>
19345
19346 Do not automatically install headers.
19347
19348 * Makefile.in (include_DATA): Remove. Update all users.
19349
31299a95 193502009-09-26 Robert Millan <rmh.grub@aybabtu.com>
19351
19352 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
19353 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
19354
19355 * util/osdetect.lua: Remove.
19356 * script/lua/lauxlib.c: Likewise.
19357 * script/lua/ldebug.c: Likewise.
19358 * script/lua/grub_main.c: Likewise.
19359 * script/lua/lauxlib.h: Likewise.
19360 * script/lua/ldebug.h: Likewise.
19361 * script/lua/ltablib.c: Likewise.
19362 * script/lua/liolib.c: Likewise.
19363 * script/lua/lstrlib.c: Likewise.
19364 * script/lua/lualib.h: Likewise.
19365 * script/lua/ldo.c: Likewise.
19366 * script/lua/ldump.c: Likewise.
19367 * script/lua/ldo.h: Likewise.
19368 * script/lua/loslib.c: Likewise.
19369 * script/lua/lundump.c: Likewise.
19370 * script/lua/grub_lib.c: Likewise.
19371 * script/lua/ldblib.c: Likewise.
19372 * script/lua/lundump.h: Likewise.
19373 * script/lua/lmem.c: Likewise.
19374 * script/lua/grub_lib.h: Likewise.
19375 * script/lua/lmathlib.c: Likewise.
19376 * script/lua/lstate.c: Likewise.
19377 * script/lua/ltm.c: Likewise.
19378 * script/lua/lvm.c: Likewise.
19379 * script/lua/lmem.h: Likewise.
19380 * script/lua/lstate.h: Likewise.
19381 * script/lua/ltm.h: Likewise.
19382 * script/lua/ltable.c: Likewise.
19383 * script/lua/lvm.h: Likewise.
19384 * script/lua/llex.c: Likewise.
19385 * script/lua/lgc.c: Likewise.
19386 * script/lua/grub_lua.h: Likewise.
19387 * script/lua/loadlib.c: Likewise.
19388 * script/lua/lfunc.c: Likewise.
19389 * script/lua/lopcodes.c: Likewise.
19390 * script/lua/lparser.c: Likewise.
19391 * script/lua/ltable.h: Likewise.
19392 * script/lua/llex.h: Likewise.
19393 * script/lua/lgc.h: Likewise.
19394 * script/lua/lfunc.h: Likewise.
19395 * script/lua/lbaselib.c: Likewise.
19396 * script/lua/lopcodes.h: Likewise.
19397 * script/lua/lparser.h: Likewise.
19398 * script/lua/lzio.c: Likewise.
19399 * script/lua/linit.c: Likewise.
19400 * script/lua/lobject.c: Likewise.
19401 * script/lua/llimits.h: Likewise.
19402 * script/lua/lstring.c: Likewise.
19403 * script/lua/lzio.h: Likewise.
19404 * script/lua/lapi.c: Likewise.
19405 * script/lua/lcode.c: Likewise.
19406 * script/lua/lua.h: Likewise.
19407 * script/lua/lobject.h: Likewise.
19408 * script/lua/lstring.h: Likewise.
19409 * script/lua/lapi.h: Likewise.
19410 * script/lua/lcode.h: Likewise.
19411 * script/lua/luaconf.h: Likewise.
19412
cb8a2c38 194132009-09-26 Colin Watson <cjwatson@ubuntu.com>
19414
19415 * docs/grub.texi (Command-line and menu entry commands): Document
19416 date and echo commands.
19417
6b9b6276 194182009-09-24 Pavel Roskin <proski@gnu.org>
19419
19420 * include/grub/kernel.h (struct grub_module_header): Remove
19421 `grub_module_header_types'. Make `type' unsigned. Make `size'
19422 32-bit on all platforms.
19423 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
19424 8-bit field. Use grub_host_to_target32() for `size'.
19425 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
19426 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
19427 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
19428
4e5a02a7 194292009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19430
19431 Fix "lost keypress" bug in at_keyboard.
19432
19433 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
19434 Checks for readyness of input buffer (without flushing it).
19435 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
19436 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
19437
c6dcedf6 194382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19439
19440 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
19441 size check within GRUB_MACHINE_PCBIOS section.
19442
74c958b1 194432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19444
19445 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
19446 return value.
19447 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
19448 KEYBOARD_ISREADY check.
19449 (grub_at_keyboard_checkkey): Rename to ...
19450 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
19451 Remove gratuitous cast.
19452
ff420223 194532009-09-23 Colin Watson <cjwatson@ubuntu.com>
19454
19455 * configure.ac: Call AC_PROG_MKDIR_P.
19456 * Makefile.in (docs/stamp-vti): Create docs directory. Create
19457 version.texi in $(builddir) rather than $(srcdir).
19458 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
19459 to makeinfo's @include search path.
19460
d96875df 194612009-09-23 Felix Zielcke <fzielcke@z-51.de>
19462
19463 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
19464
9b3f8365 194652009-09-23 Felix Zielcke <fzielcke@z-51.de>
19466
19467 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
19468 for `*.dpkg-new'.
19469
c44c90db 194702009-09-21 Colin Watson <cjwatson@ubuntu.com>
19471
19472 Build info documentation. Some code borrowed from Automake.
19473
19474 * configure.ac: Check for makeinfo.
19475 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
19476 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
19477 docs/version.texi.
19478 (MOSTLYCLEANFILES): Add vti.tmp.
19479 (docs/version.texi, docs/stamp-vti): Update automatically.
19480 (docs/grub.info): Build info documentation. Use --force and ignore
19481 errors for now.
19482 (all-local): Add $(INFOS).
19483 (install-local): Install info files.
19484 (uninstall): Uninstall info files.
19485 * docs/version.texi: Remove from revision control. This file is
19486 automatically generated on build now.
19487 * gendistlist.sh: Add `*.info'.
19488
e0b37bb5 194892009-09-21 Felix Zielcke <fzielcke@z-51.de>
19490
19491 * kern/term.c: Fix indentation.
19492
5a78865b 194932009-09-21 Felix Zielcke <fzielcke@z-51.de>
19494
19495 * util/hostdisk.c: Fix a comment.
19496
dace7e8a 194972009-09-20 Robert Millan <rmh.grub@aybabtu.com>
19498
19499 Fix regression introduced in r2539.
19500
19501 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
19502 to 0xA1.
19503
a83d079b 195042009-09-19 Colin Watson <cjwatson@ubuntu.com>
19505
19506 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 19507 os-prober. Under normal operation, it does not print anything to
19508 stderr; if it does, we need to debug it, and throwing away stderr
19509 makes that excessively difficult.
a83d079b 19510
be94a509 195112009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
19512
19513 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
19514
63f745e8 195152009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19516
19517 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
19518 AC_LANG_PROGRAM from autoconf.
19519 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
19520 prototypes (fixes warning).
19521
19522 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
19523 `--disable-werror' was used.
19524
bbb2a70f 195252009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19526
19527 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
19528 uninitialized `lastaddr'.
19529
77c24f1d 195302009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19531
0f0b8c87 19532 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 19533
07197f23 195342009-09-14 Colin Watson <cjwatson@ubuntu.com>
19535
19536 * commands/test.c (get_fileinfo): Return immediately if
19537 grub_fs_probe fails.
19538
dabf1798 195392009-09-14 José Martínez <xosemp@gmail.com>
19540
19541 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
19542
d52109a7 195432009-09-14 Colin Watson <cjwatson@ubuntu.com>
19544
19545 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
19546 output.
19547
56532179 195482009-09-13 Robert Millan <rmh.grub@aybabtu.com>
19549
19550 * configure.ac: Remove --enable-grub-pe2elf. Only build
19551 grub-pe2elf when needed by the build system itself.
19552 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
19553
8ef070f5 195542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19555
19556 * configure.ac: Bump version to 1.97~beta3.
19557 * docs/version.texi: Likewise.
19558
61229557 195592009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19560
19561 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
19562 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
19563 from here ...
19564 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
19565 (grub_linux_setup_video): ... to here (with some adjustments).
19566
5c9f8d84 195672009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19568
19569 Fix memory corruption issue (spotted by Colin Watson).
19570
19571 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
19572 causing returned size to be stored in an incorrect memory location.
19573 Fix use of uninitialized value when storing the returned size.
19574
e8f5d6e9 195752009-09-12 Yves Blusseau <blusseau@zetam.org>
19576
19577 Change clean rules to properly remove files
19578
19579 * genmk.rb: add new clean rules
19580 * Makefile.in (clean): add the new targets
19581 (mostlyclean): likewise
19582
cda2a409 195832009-09-11 Colin Watson <cjwatson@ubuntu.com>
19584
19585 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
19586 to grub_uint64_t.
19587 * fs/ntfs.c (init_file): Understand 64-bit sizes for
19588 non-resident files.
19589
86695375 195902009-09-11 Colin Watson <cjwatson@ubuntu.com>
19591
19592 * configure.ac: Don't look for help2man when cross-compiling. Fixes
19593 part of bug #27349.
19594
8aa1541a 195952009-09-10 Felix Zielcke <fzielcke@z-51.de>
19596
19597 * util/grub-mkconfig.in: Make the created config mode 400 and
19598 print a warning if it fails.
19599
48d9bb0a 196002009-09-10 Robert Millan <rmh.grub@aybabtu.com>
19601
19602 * util/grub.d/40_custom.in: Ask user to type custom entries below
19603 comment, rather than below 'exec tail' line.
19604
3b0521be 196052009-09-10 Colin Watson <cjwatson@ubuntu.com>
19606
19607 * util/grub.d/40_custom.in: Make sure that the explanatory text is
19608 visible in grub.cfg.
19609
50051d55 196102009-09-10 Colin Watson <cjwatson@ubuntu.com>
19611
19612 * util/grub.d/40_custom.in: Make it a little clearer how to use this
19613 file.
19614
c0d34387 196152009-09-10 Felix Zielcke <fzielcke@z-51.de>
19616
19617 * docs/grub.cfg: Add an example menu entry for memtest86+.
19618
80a608f3 196192009-09-09 Felix Zielcke <fzielcke@z-51.de>
19620
a2094832 19621 * config.guess: Update to latest version from config git.
80a608f3 19622 * config.sub: Likewise.
19623
99423078 196242009-09-08 Colin Watson <cjwatson@ubuntu.com>
19625
19626 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
19627 unknown-command case. Fixes bug #27320.
19628
44454e4c 196292009-09-08 Felix Zielcke <fzielcke@z-51.de>
19630
19631 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
19632 `help' if the command exists.
19633
e30d87ad 196342009-09-06 Robert Millan <rmh.grub@aybabtu.com>
19635
19636 * INSTALL: Require GCC 4.1.3 or later.
19637
9a86f1ec 196382009-09-06 Yves Blusseau <blusseau@zetam.org>
19639
19640 * Makefile.in (RMKFILES): add i386-qemu.rmk
19641 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
19642 $(srcdir)/stamp-h.in
19643
7f26d466 196442009-09-05 Robert Millan <rmh.grub@aybabtu.com>
19645
19646 * util/grub-probe.c (probe): Comment out buggy codepath, which
19647 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
19648 should be re-enabled after 1.97.
19649
3a613259 196502009-09-05 Felix Zielcke <fzielcke@z-51.de>
19651
19652 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
19653 find searches for.
19654
197f76c7 196552009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19656
19657 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
19658 unnecessary calls to grub_error.
19659
70ba68ce 196602009-09-04 Colin Watson <cjwatson@ubuntu.com>
19661
19662 * NEWS: Mention `keystatus' and Unicode fonts.
19663
4ff0d7a4 196642009-09-04 Robert Millan <rmh.grub@aybabtu.com>
19665
19666 * configure.ac: Bump version to 1.97~beta2.
19667 * docs/version.texi: Likewise.
19668
77c55a87 196692009-09-03 Colin Watson <cjwatson@ubuntu.com>
19670
19671 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
19672 containing unwind information in some cases where it previously did
19673 not. Use -fno-dwarf2-cfi-asm if available to restore the old
19674 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
19675 discussion.
19676
f79572cd 196772009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
19678
19679 Embedding loadenv module into grub-emu
19680
19681 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
19682 commands/loadenv.c
19683 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
19684 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
19685 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
19686 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
19687 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
19688 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
19689
93a81088 196902009-09-03 Magnus Granberg <zorry@ume.nu>
19691
19692 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
19693 include -fPIE in the default specs.
19694 * configure.ac: Check if pie_possible is yes and add -fno-PIE
19695 to TARGET_CFLAGS.
19696
160034b2 196972009-09-03 Felix Zielcke <fzielcke@z-51.de>
19698
19699 * INSTALL: Note that GNU Bison 2.3 or later is required.
19700
087c07c4 197012009-09-03 Colin Watson <cjwatson@ubuntu.com>
19702
19703 * kern/i386/pc/startup.S: Fix typo.
19704
cbf978c0 197052009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19706
19707 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19708 according to GCS.
19709
197102009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19711
19712 * docs/grub.texi (Naming convention): Describe one-based partition
19713 numbering.
19714 (Device syntax): Likewise.
19715 (File name syntax): Likewise.
19716 (Block list syntax): Likewise.
19717 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19718 menu.lst.
19719 (File name syntax): Likewise.
19720 (Command-line and menu entry commands): Document acpi, blocklist,
19721 crc, export, insmod, keystatus, ls, set, and unset commands.
19722
f3e8cdfd 197232009-09-02 Colin Watson <cjwatson@ubuntu.com>
19724
19725 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19726 to avoid implying that only one of --shift, --ctrl, or --alt may be
19727 used.
19728
c0bc232b 197292009-09-02 Colin Watson <cjwatson@ubuntu.com>
19730
19731 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19732 rather than comparing against S_IFREG, which will almost never work.
19733
aa0f752d 197342009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19735
19736 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19737 (write_blocklists): Likewise.
19738
ecb3166a 197392009-09-01 Colin Watson <cjwatson@ubuntu.com>
19740
19741 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19742 argument to grub_printf.
19743
c403a125 197442009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19745
19746 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19747 non GNU test.
31aba781 19748
b5e7312c 197492009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19750
19751 * kern/file.c (grub_file_read): Spelling fix
19752
fe00f472 197532009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19756 loading of headers in some cases.
19757
cc55302e 197582009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19759
19760 * configure.ac: Bump version to 1.97~beta1.
19761 * docs/version.texi: Likewise.
19762
5c90cdd2 197632009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19764
19765 * include/grub/i386/xnu.h: Add license header.
19766 include grub/err.h explicitly.
19767
c90edae4 197682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19769
19770 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19771 to `ufs' in the vfs.root.mountfrom kernel parameter.
19772
d8888b5c 197732009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19774
19775 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19776
19777 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19778 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19779
19780 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19781 `ARRAY_SIZE' macro.
19782
6f07b921 197832009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19784
19785 * kern/file.c (grub_file_read): Check offset.
19786 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19787 * fs/jfs.c (grub_jfs_read_file): Likewise.
19788 * fs/ntfs.c (grub_ntfs_read): Likewise.
19789 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19790 * fs/minix.c (grub_minix_read_file): Correct offset check.
19791 * fs/ufs.c (grub_ufs_read_file): Likewise.
19792
b4f34077 197932009-08-28 Colin Watson <cjwatson@ubuntu.com>
19794
19795 * term/i386/pc/console.c (bios_data_area): Cast
19796 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19797
e7c69859 197982009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19799
19800 1-bit optimised blitters.
19801
19802 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19803 prototype.
19804 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19805 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19806 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19807 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19808 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19809 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19810 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19811 function.
19812 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19813 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19814 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19815 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19816 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19817 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19818 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19819 when possible.
19820 * video/video.c (grub_video_get_blit_format): Return
19821 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19822
a57da43f 198232009-08-28 Colin Watson <cjwatson@ubuntu.com>
19824
19825 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19826 the first argument to grub_printf.
19827
4cbe67e5 198282009-08-28 Colin Watson <cjwatson@ubuntu.com>
198292009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19830
19831 Add `getkeystatus' terminal method. Add a new `keystatus' command
19832 to query it.
19833
19834 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19835 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19836 modifier key bitmasks.
19837 (struct grub_term_input): Add `getkeystatus' member.
19838 (grub_getkeystatus): Add prototype.
19839 * kern/term.c (grub_getkeystatus): New function.
19840
19841 * include/grub/i386/pc/memory.h
19842 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19843 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19844 Data Area layout.
19845 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19846 (grub_console_term_input): Set `getkeystatus' member.
19847 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19848 constants.
19849 (grub_usb_keyboard_getreport): Likewise.
19850 (grub_usb_keyboard_checkkey): Likewise.
19851 (grub_usb_keyboard_getkeystatus): New function.
19852 (grub_usb_keyboard_term): Set `getkeystatus' member.
19853
19854 * commands/keystatus.c: New file.
19855 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19856 (keystatus_mod_SOURCES): New variable.
19857 (keystatus_mod_CFLAGS): Likewise.
19858 (keystatus_mod_LDFLAGS): Likewise.
19859 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19860 commands/keystatus.c.
19861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19863 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19866 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19867
6e2a9085 198682009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19869
19870 Split befs.mod and afs.mod into *_be.mod and *.mod
19871
19872 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19873 (grub_fstest_SOURCES): Likewise.
19874 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19875 (afs_be_mod_SOURCES): New variable.
19876 (afs_be_mod_CFLAGS): Likewise.
19877 (afs_be_mod_LDFLAGS): Likewise.
19878 (befs_be_mod_SOURCES): Likewise.
19879 (befs_be_mod_CFLAGS): Likewise.
19880 (befs_be_mod_LDFLAGS): Likewise.
19881 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19882 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19883 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19884 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19885 (grub_emu_SOURCES): Likewise.
19886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19887 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19888 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19889 * fs/afs_be.c: New file.
19890 * fs/befs_be.c: New file.
19891 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19892 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19893 (U16): Replaced with ...
19894 (grub_afs_to_cpu16): ...this. All users updated.
19895 (U32): Replaced with ...
19896 (grub_afs_to_cpu32): ...this. All users updated.
19897 (U64): Replaced with ...
19898 (grub_afs_to_cpu64): ...this. All users updated.
19899 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19900 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19901 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19902 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19903 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19904 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19905 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19906 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19907 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19908 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19909 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19910
32a71655 199112009-08-26 Bean <bean123ch@gmail.com>
19912
19913 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19914 64-bit number.
19915 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19916 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19917 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19918
552bf6c5 199192009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19920
19921 NetBSD memory map support.
19922
19923 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19924 (grub_netbsd_btinfo_mmap_header): New structure.
19925 (grub_netbsd_btinfo_mmap_entry): Likewise.
19926 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19927
1ae2078c 199282009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19929
19930 Enable bsd.mod on coreboot.
19931
19932 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19933 (bsd_mod_SOURCES): New variable.
19934 (bsd_mod_CFLAGS): Likewise.
19935 (bsd_mod_LDFLAGS): Likewise.
19936 (bsd_mod_ASFLAGS): Likewise.
19937 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19938 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19939
beefc598 199402009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19941
19942 Cleanup NetBSD root support.
19943
19944 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19945 grub_bsd_get_device.
19946 Fix typo.
19947
3b76e68b 199482009-08-25 Felix Zielcke <fzielcke@z-51.de>
19949
19950 * util/grub.d/00_header.in: Move check for the video backend of
19951 gfxterm from here ...
19952 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19953 a suitable video backend.
19954
aea664ea 199552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 Fix breakage in grub-setup.
19958
19959 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19960 "msdos_partition_map".
19961
ff747d50 199622009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19963
19964 Fix breakage in normal/auth.c.
19965
19966 * normal/auth.c (grub_iswordseparator): New function.
19967
e7e1f93f 199682009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19969
19970 Authentication support.
19971
19972 * commands/password.c: New file.
19973 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19974 (password_mod_SOURCES): New variable.
19975 (password_mod_CFLAGS): Likewise.
19976 (password_mod_LDFLAGS): Likewise.
19977 (normal_mod_SOURCES): Add normal/auth.c.
19978 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19979 normal/auth.c.
19980 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19981 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19982 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19984 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19985 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19986 * include/grub/auth.h: New file.
19987 * include/grub/err.h (grub_err_t): New enum value
19988 GRUB_ERR_ACCESS_DENIED.
19989 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19990 'users'.
19991 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19992 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19993 users updated.
19994 * normal/auth.c: New file.
19995 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19996 (grub_cmdline_run): Don't allow to go to command line without
19997 authentication.
19998 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19999 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20000 menuentry without superuser rights.
20001 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20002 user isn't a superuser.
20003
70f1161d 200042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20005
20006 Save space by inlining misc.c functions.
20007
20008 * kern/misc.c (grub_iswordseparator): Made static.
20009 * kern/misc.c (grub_strcat): Moved from here ...
20010 * include/grub/misc.h (grub_strcat): ... here. Inlined.
20011 * kern/misc.c (grub_strncat): Moved from here ...
20012 * include/grub/misc.h (grub_strncat): ... here. Inlined.
20013 * kern/misc.c (grub_strcasecmp): Moved from here ...
20014 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
20015 * kern/misc.c (grub_strncasecmp): Moved from here ...
20016 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
20017 * kern/misc.c (grub_isalpha): Moved from here ...
20018 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
20019 * kern/misc.c (grub_isdigit): Moved from here ...
20020 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
20021 * kern/misc.c (grub_isgraph): Moved from here ...
20022 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
20023 * kern/misc.c (grub_tolower): Moved from here ...
20024 * include/grub/misc.h (grub_tolower): ... here. Inlined.
20025
48e40bff 200262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20027
20028 * script/sh/function.c (grub_script_function_find): Cut error message
20029 not to flood terminal.
20030 * script/sh/lexer.c (grub_script_yylex): Remove command line length
20031 limit.
20032 * script/sh/script.c (grub_script_arg_add): Duplicate string.
20033
c385bfc3 200342009-08-24 Colin Watson <cjwatson@ubuntu.com>
20035
20036 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
20037 `report' grub_uint8_t *.
20038 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
20039 Use a 50-millisecond timeout rather than just repeating
20040 grub_usb_keyboard_getreport 50 times.
20041 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
20042
2d21e3e8 200432009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 Rename *_partition_map to part_*
20046
20047 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
20048 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
20049 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
20050 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
20051 All users updated.
20052 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
20053 All users updated.
20054 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
20055 * util/grub-probe.c (probe_partmap): Don't transform partition name
20056 to get module name.
20057
dd103c4e 200582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 Fix OpenBSD and NetBSD support.
20061
20062 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
20063 memory address conflict.
20064 (OPENBSD_MMAP_ACPI): New definition.
20065 (OPENBSD_MMAP_NVS): Likewise.
20066 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
20067 and OPENBSD_MMAP_NVS.
20068 Add memory map terminator
20069 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 20070 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 20071
16c84d74 200722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 Let user specify NetBSD root device.
20075
20076 * loader/i386/bsd.c (netbsd_root): New variable.
20077 (netbsd_opts): New option 'root'.
20078 (NETBSD_ROOT_ARG): New macro.
20079 (grub_netbsd_boot): Use 'netbsd_root'.
20080 (grub_bsd_unload): Free 'netbsd_root'.
20081 (grub_cmd_netbsd): Fill 'netbsd_root'.
20082
adb29902 200832009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20084
20085 Support for 64-bit NetBSD.
20086
20087 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
20088 point when booting non-FreeBSD.
20089
f5ae9f74 200902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20091
20092 Support --no-smp and --no-acpi for NetBSD.
20093
20094 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
20095 (NETBSD_AB_NOACPI): Likewise.
20096 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
20097 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
20098
de74f136 200992009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20100
20101 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
20102 errors.
20103 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
20104 errors. Call grub_error when needed.
20105
e9a925da 201062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20107
20108 * commands/search.c (search_fs): Try searching without autoload first.
20109 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
20110 filesystem module explicitly for faster booting.
20111
5174302b 201122009-08-23 Colin Watson <cjwatson@ubuntu.com>
20113
20114 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
20115
c8c80635 201162009-08-23 Colin Watson <cjwatson@ubuntu.com>
20117
20118 * util/grub.d/30_os-prober.in: Disable os-prober if
20119 `GRUB_DISABLE_OS_PROBER' was set to true.
20120
71acf5e5 201212009-08-23 Robert Millan <rmh.grub@aybabtu.com>
20122
20123 * partmap/pc.c: Rename to ...
20124 * partmap/msdos.c: ... this. Update all users.
20125 (grub_pc_partition_map): Rename to ...
20126 (grub_msdos_partition_map): ... this. Update all users.
20127
20128 * parttool/pcpart.c: Rename to ...
20129 * parttool/msdospart.c: ... this. Update all users.
20130
20131 * include/grub/pc_partition.h: Rename to ...
20132 * include/grub/msdos_partition.h: ... this. Update all users.
20133 (grub_pc_partition_bsd_entry): Rename to ...
20134 (grub_msdos_partition_bsd_entry): ... this. Update all users.
20135 (grub_pc_partition_disk_label): Rename to ...
20136 (grub_msdos_partition_disk_label): ... this. Update all users.
20137 (grub_pc_partition_entry): Rename to ...
20138 (grub_msdos_partition_entry): ... this. Update all users.
20139 (grub_pc_partition_mbr): Rename to ...
20140 (grub_msdos_partition_mbr): ... this. Update all users.
20141 (grub_pc_partition): Rename to ...
20142 (grub_msdos_partition): ... this. Update all users.
20143 (grub_pc_partition_is_empty): Rename to ...
20144 (grub_msdos_partition_is_empty): ... this. Update all users.
20145 (grub_pc_partition_is_extended): Rename to ...
20146 (grub_msdos_partition_is_extended): ... this. Update all users.
20147 (grub_pc_partition_is_bsd): Rename to ...
20148 (grub_msdos_partition_is_bsd): ... this. Update all users.
20149
20150 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
20151 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
20152 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
20153 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
20154 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
20155 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
20156 (gpt_mod_LDFLAGS): Rename to ...
20157 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
20158 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
20159 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
20160 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
20161 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
20162 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
20163 (part_gpt_mod_LDFLAGS): ... this.
20164 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
20165 `pcpart.mod' to `msdospart.mod'.
20166 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
20167 to ...
20168 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
20169 (msdospart_mod_LDFLAGS): ... this.
20170
c11fded5 201712009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20172
20173 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
20174 (openbsd_opts): Likewise.
20175 (netbsd_opts): Likewise.
20176 (freebsd_flags): Added 0 terminator.
20177 (openbsd_flags): Likewise.
20178 (netbsd_flags): Likewise.
20179 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
20180 (grub_cmd_freebsd): Transformed into extended command.
20181 (grub_cmd_openbsd): Likewise.
20182 (grub_cmd_netbsd): Likewise.
20183 (cmd_freebsd): Changed type to grub_extcmd_t.
20184 (cmd_openbsd): Likewise.
20185 (cmd_netbsd): Likewise.
20186 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
20187 grub_cmd_openbsd as extended commands.
20188 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
20189 cmd_netbsd and cmd_openbsd
20190
11d1c769 201912009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
20192
20193 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
20194
7a9094e5 201952009-08-21 Pavel Roskin <proski@gnu.org>
20196
5496c37e 20197 * Makefile.in (install-local): When checking if a file is in the
20198 build directory, use "test -e" to detect symlinks.
20199
7a9094e5 20200 * Makefile.in (install-local): Remove all files in
20201 $(DESTDIR)$(pkglibdir) before installing new files there.
20202
e53cea11 202032009-08-18 Felix Zielcke <fzielcke@z-51.de>
20204
20205 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
20206 grub-mkelfimage.
20207
9aced544 202082009-08-18 Felix Zielcke <fzielcke@z-51.de>
20209
20210 * util/grub-mkconfig.in: Don't use gfxterm by default if not
20211 explicitly specified by the user.
20212
b7da6bab 202132009-08-18 Pavel Roskin <proski@gnu.org>
20214
20215 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
20216 grub_uint8_t pointer for data.
20217 * include/grub/fbutil.h (struct grub_video_fbblit_info):
20218 Likewise.
20219 * video/fb/fbutil.c: Remove unnecessary casts.
20220
19f1b335 202212009-08-17 Michal Suchanek <hramrach@centrum.cz>
20222
20223 VBE cleanup.
20224
20225 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
20226 (grub_vbe_set_video_mode): Save active mode info
20227 only after setting the mode.
20228 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
20229 second argument.
20230
2f467aa9 202312009-08-17 Michal Suchanek <hramrach@centrum.cz>
20232
20233 Rename variables for clarity.
20234
20235 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
20236 (active_vbe_mode_info): ... this. All users updated.
20237 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
20238 All users updated.
20239 (initial_mode): Rename to ...
20240 (initial_vbe_mode): ... this. All users updated.
20241 (mode_in_use): Rename to ..
20242 (vbe_mode_in_use): ... this. All users updated.
20243 (mode_list): Rename to ..
20244 (vbe_mode_list): ... this. All users updated.
20245 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
20246 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
20247 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
20248 'mode_list_size' to 'vbe_mode_list_size'.
20249 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
20250 'best_mode_info' to 'best_vbe_mode_info' and
20251 'best_mode' to 'best_vbe_mode'
20252
6025fcd7 202532009-08-17 Michal Suchanek <hramrach@centrum.cz>
20254
20255 Remove duplicate grub_video_fb_get_video_ptr.
20256
20257 * include/grub/fbutil.h (get_data_ptr): Rename to ...
20258 (grub_video_fb_get_video_ptr): ... this.
20259 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
20260 * video/fb/fbutil.c: Add comment about addressing.
20261 (get_data_ptr): Rename to ...
20262 (grub_video_fb_get_video_ptr): ... this. All users updated.
20263 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
20264
cc8c6faf 202652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
20266
20267 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
20268 grub_dprintf() that was just added.
20269
08aa61f0 202702009-08-17 Robert Millan <rmh.grub@aybabtu.com>
20271
20272 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
20273 (DEFAULT_VIDEO_MODE): Remove macros.
20274 (grub_linux_boot): Remove assumption that Linux has FB support,
20275 and use "text" as default video mode.
20276
7cef4f75 202772009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
20280 grub_dprintf.
20281 * fs/fat.c (grub_fat_read_data): Likewise.
20282
e1f39873 202832009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20284
20285 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
20286 payload.
20287 (grub_module): Likewise.
20288
c166d79e 202892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20290
20291 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
20292 mbi->cmdline but free playground.
20293
c60cee8e 202942009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20295
20296 Handle group offset on UFS1.
20297
20298 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
20299 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
20300
c0d8b5d4 203012009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20302
20303 Split ufs.mod into ufs1.mod and ufs2.mod.
20304
20305 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
20306 (grub_fstest_SOURCES): Likewise.
20307 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
20308 (ufs_mod_SOURCES): Remove.
20309 (ufs_mod_CFLAGS): Likewise.
20310 (ufs_mod_LDFLAGS): Likewise.
20311 (ufs1_mod_SOURCES): New variable.
20312 (ufs1_mod_CFLAGS): Likewise.
20313 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 20314 (ufs2_mod_SOURCES): New variable.
20315 (ufs2_mod_CFLAGS): Likewise.
20316 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 20317 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
20318 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20319 Likewise.
20320 (grub_emu_SOURCES): Likewise.
20321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20322 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20323 (grub_setup_SOURCES): Likewise.
20324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20325 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
20326 (grub_setup_SOURCES): Likewise.
20327 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20328 Likewise.
20329 * fs/ufs2.c: New file.
20330 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
20331
d3539132 203322009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20333
20334 Framebuffer split.
20335
20336 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
20337 subsystem at the end.
20338 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
20339 (video_fb_mod_SOURCES): New variable.
20340 (video_fb_mod_CFLAGS): Likewise.
20341 (video_fb_mod_LDFLAGS): Likewise.
20342 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
20343 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
20344 * video/i386/pc/vbeblit.c: Moved from here ...
20345 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
20346 * video/i386/pc/vbefill.c: Moved from here ...
20347 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
20348 * video/i386/pc/vbeutil.c: Moved from here ...
20349 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
20350 * include/grub/i386/pc/vbeblit.h: Moved from here ...
20351 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
20352 * include/grub/i386/pc/vbefill.h: Moved from here ...
20353 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
20354 * include/grub/i386/pc/vbeutil.h: Moved from here ...
20355 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
20356 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
20357 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
20358 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
20359 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
20360 (grub_video_adapter): Added 'get_info_and_fini'.
20361 (grub_video_get_info_and_fini): New prototype.
20362 (grub_video_set_mode): make modestring const char *.
20363 * loader/i386/linux.c (grub_linux_setup_video): Use
20364 grub_video_get_info_and_fini.
20365 (grub_linux_boot): Move modesetting just before booting.
20366 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
20367 grub_video_get_info_and_fini.
20368 * video/i386/pc/vbe.c: Moved framebuffer part ...
20369 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
20370 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
20371 grub_video_fbstd_colors and grub_video_fb_set_palette.
20372 (grub_video_vbe_init): Clear 'framebuffer' variable and use
20373 grub_video_fb_init.
20374 (grub_video_vbe_fini): Use grub_video_fb_fini.
20375 (grub_video_vbe_setup): Use framebuffer.render_target instead of
20376 render_target and use grub_video_fb_set_active_render_target and
20377 grub_video_fb_set_palette.
20378 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
20379 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
20380 (grub_video_vbe_adapter): Use framebuffer.
20381 * video/video.c (grub_video_get_info_and_fini): New function.
20382 (grub_video_set_mode): Make modestring const char *.
20383 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
20384 values are already initialised.
20385
d404ee56 203862009-08-14 Pavel Roskin <proski@gnu.org>
20387
20388 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
20389 ABS and APPLE_CC.
20390 * boot/i386/pc/diskboot.S: Likewise.
20391 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
20392 sectors allow compilation on MacOSX.
20393 * conf/i386-pc.rmk: Enable unconditional compilation of
20394 lnxboot.img.
20395
9a10df16 203962009-08-13 Colin Watson <cjwatson@ubuntu.com>
20397
20398 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
20399 * util/grub.d/00_header.in: Enter interruptible sleep if
20400 GRUB_HIDDEN_TIMEOUT is set.
20401
be3c9ca7 204022009-08-13 Yves Blusseau <blusseau@zetam.org>
20403
20404 * include/grub/symbol.h: Add the LOCAL macro.
20405 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
20406 starting with "L_".
20407
1f9e557e 204082009-08-13 Pavel Roskin <proski@gnu.org>
20409
9ca62843 20410 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
20411 any modern compilers we support.
20412
1f9e557e 20413 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
20414 Use local labels starting with "L_" so that Apple assembler
20415 knows they are local.
20416
81623db6 204172009-08-10 Robert Millan <rmh.grub@aybabtu.com>
20418
20419 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
20420 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
20421 (bsd_kernel_types): ... this enum.
20422
20423 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
20424 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
20425 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
20426
20427 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
20428 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
20429 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
20430 messages.
20431
f5d35e7a 204322009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20433
20434 * util/grub-dumpdevtree: Moved from here ...
20435 * util/i386/efi/grub-dumpdevtree: ... to here.
20436 (hexify): New function. Converts a string to its hex version.
20437 Generate hex versions of "efi" and "device-properties" by calling
20438 hexify() on the ASCII strings rather than by hardcoding numbers.
20439
d1e1d527 204402009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20441
20442 * fs/jfs.c: Update copyright year.
20443
1ebbe064 204442009-08-08 Felix Zielcke <fzielcke@z-51.de>
20445
20446 * util/grub.d/00_header.in: Fix a comment.
20447 * util/grub.d/10_linux.in: Likewise.
20448 * util/grub.d/10_windows.in: Likewise.
20449 * util/grub.d/10_hurd.in: Likewise.
20450
a78c8d24 204512009-08-08 Felix Zielcke <fzielcke@z-51.de>
20452
20453 * util/grub-mkconfig.in: Allow the user to specify the used font
20454 with GRUB_FONT.
20455
29a6b9e8 204562009-08-08 Pavel Roskin <proski@gnu.org>
20457
b5f16cc4 20458 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
20459 available, xfs.mod needs it now.
20460
2f5cb827 20461 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
20462 the "g" modifier in sed when the intention is to strip something
20463 once. This fixes comparison of kernels with multiple dashes.
20464
29a6b9e8 20465 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
20466 on it. Add missing space before closing bracket. Fix
20467 misleading formatting.
20468
892a3d98 204692009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20470
20471 * docs/grub.texi: Major overhaul. Remove all sections that are
20472 specific to GRUB Legacy, or mostly composed of Legacy-specific
20473 information.
20474
ed94253f 204752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20476
20477 * docs/version.texi: New file. Provides version information for
20478 grub.texi.
20479
126d6628 204802009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20481
20482 * docs/grub.texi: Update CVS information to SVN.
20483 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
20484
998b5aa9 204852009-08-07 Felix Zielcke <fzielcke@z-51.de>
20486
20487 * util/grub-mkconfig.in: Remove a wrong `fi'.
20488
818e094a 204892009-08-07 Felix Zielcke <fzielcke@z-51.de>
20490
20491 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
20492 (grub_jfs_uuid): New function.
20493 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
20494
b969c52f 204952009-08-07 Felix Zielcke <fzielcke@z-51.de>
20496
20497 * util/grub-mkconfig_lib.in (font_path): Move the functionality
20498 of it to ...
20499 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
20500 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
20501
7a4894cc 205022009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20503
20504 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
20505 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
20506 Update all users.
20507
20508 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
20509 not just "vmlinu[zx]".
20510 Moved from here ...
20511 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
20512 all users.
20513
20514 * util/grub.d/10_linux.in (find_latest): Moved from here ...
20515 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
20516 all users.
20517
4e2171f8 205182009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20519
20520 * util/grub.d/10_freebsd.in: Use an absolute device path for
20521 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
20522
6dcfcb32 205232009-08-06 Felix Zielcke <fzielcke@z-51.de>
20524
20525 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
20526 handling of multiple abstraction modules.
20527
f56a8756 205282009-08-04 Robert Millan <rmh.grub@aybabtu.com>
20529
20530 Fix a bug resulting in black screen when loading Linux using a
20531 packed video mode.
20532
20533 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
20534 function.
20535
20536 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
20537 (grub_vbe_bios_getset_dac_palette_width): New function.
20538 (grub_vbe_bios_get_dac_palette_width)
20539 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
20540 grub_vbe_bios_getset_dac_palette_width()).
20541
20542 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
20543 check for return status.
20544 (grub_vbe_get_video_mode_info): When getting information for a packed
20545 mode (<= 8 bpp), obtain DAC palette width using
20546 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
20547 {red,green,blue}_mark_size.
20548
222671b2 205492009-08-04 Felix Zielcke <fzielcke@z-51.de>
20550
ecb1a6d9 20551 * commands/search.c (options): Fix help output to match actual code.
222671b2 20552
f84114f5 205532009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
20554
20555 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
20556 of homegrown code.
20557
bd288a20 205582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 20559
20560 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
20561 on XFS or ReiserFS.
20562
8aab5e25 205632009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 Support Apple partition map with sector size different from 512 bytes.
20566
20567 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
20568 (apple_partition_map_iterate): Respect 'aheader.blocksize'
20569 and 'apart.partmap_size'.
20570
6ad6258a 205712009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
205722009-08-01 Robert Millan <rmh.grub@aybabtu.com>
20573
20574 Fix cpuid command.
20575
20576 * commands/i386/cpuid.c (options): New variable.
20577 (grub_cmd_cpuid): Return real error.
20578 (GRUB_MOD_INIT(cpuid)): Declare options.
20579
67459bc6 205802009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
20581
20582 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
20583 valid.
20584
fbc6ab54 205852009-07-31 Bean <bean123ch@gmail.com>
20586
20587 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
20588 log2_inode.
20589 (grub_fshelp_node): Move inode field to the end.
20590 (grub_xfs_data): Remove inode field.
20591 (grub_xfs_inode_block): Calculate inode size using sblock.
20592 (grub_xfs_inode_offset): Likewise.
20593 (grub_xfs_read_inode): Calculate inode size using sblock.
20594 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
20595 (grub_xfs_iterate_dir): Calculate inode size using sblock.
20596 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
20597 to match inode size.
20598 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
20599 not accessible when data is null.
20600 (grub_xfs_open): Likewise.
20601
f45d6cfc 206022009-07-31 Bean <bean123ch@gmail.com>
20603
20604 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
20605 Don't change pv->disk if it's already set.
20606
20607 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
20608 (grub_raid_register): ... here.
20609 (grub_raid_rescan): Removed.
20610
20611 * include/grub/raid.h (grub_raid_rescan): Removed.
20612
20613 * util/grub-fstest.c: Remove include file <grub/raid.h>.
20614 (fstest): Replace grub_raid_rescan with module fini function followed
20615 by init function.
20616
20617 * util/grub-probe.c: Add include file <grub/raid.h>.
20618 (probe_raid_level): New function.
20619 (probe): Detect abstraction by walking the disk device, support two
20620 level of abstraction (LVM on RAID) when detecting partition map.
20621
24443b5a 206222009-07-31 Pavel Roskin <proski@gnu.org>
20623
20624 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
20625 to grub_zalloc(), it was erroneous.
20626 Reported by Bean <bean123ch@gmail.com>
20627
a275d9e7 206282009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
20629
20630 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 20631 embedding zone, not only the first one.
a275d9e7 20632
56c5a47f 206332009-07-29 Joe Auricchio <jauricchio@gmail.com>
20634
20635 * term/gfxterm.c (clear_char): New function.
20636 (grub_virtual_screen_setup): Use clear_char.
20637 (scroll_up): Likewise.
20638 (grub_virtual_screen_cls): Likewise.
20639
67bb323a 206402009-07-29 Felix Zielcke <fzielcke@z-51.de>
20641
20642 * util/deviceiter.c (get_acceleraid_disk_name): New static
20643 function.
20644 (grub_util_iterate_devices): Handle Accelraid devices.
20645 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
20646
388a7c75 206472009-07-28 Robert Millan <rmh.grub@aybabtu.com>
20648
20649 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
20650 separator for the suggested gfxpayload string (';' collides with the
20651 parser and needs escaping).
20652
3bb7abcf 206532009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
20656 Clear direction flag before jumping to OS.
20657 (grub_multiboot2_real_boot): Likewise.
20658
2ddd36d7 206592009-07-28 Felix Zielcke <fzielcke@z-51.de>
20660
20661 * util/i386/pc/grub-install: Fix parsing of --disk-module
20662 option.
20663
c521b62b 206642009-07-28 Felix Zielcke <fzielcke@z-51.de>
20665
20666 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
20667 when embedding.
20668
880e0a0c 206692009-07-26 Felix Zielcke <fzielcke@z-51.de>
20670
20671 * util/grub-mkconfig.in (package_version): New variable.
20672 Use it do display the version.
20673
2366e356 206742009-07-25 Felix Zielcke <fzielcke@z-51.de>
20675
20676 * kern/file.c (grub_file_open): Revert to previous check with
20677 grub_errno.
20678
7ad8c80e 206792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20680
20681 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
20682 from help line. It's out of sync with code.
20683
72b9658b 206842009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20685
20686 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
20687 entries on failed boot.
20688
77435277 206892009-07-25 Felix Zielcke <fzielcke@z-51.de>
20690
20691 * kern/file.c (grub_file_open): Fix an error check.
20692
fcaa8b21 206932009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
20694
35d16c74 20695 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
20696 partition map couldn't be identified.
fcaa8b21 20697
48904cd1 206982009-07-23 Pavel Roskin <proski@gnu.org>
20699
ef3c317f 20700 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20701 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20702 case of little endian words becomes just an optimization.
20703 Respect const modifier.
ad8ea1f4 20704 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20705
48904cd1 20706 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20707 to avoid loss of upper bits if align is unsigned and shorter
20708 than addr.
20709
260c9a89 207102009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20711
20712 UUID support for UFS
20713
20714 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20715 (grub_ufs_uuid): New function.
20716 (grub_ufs_fs): add .uuid
20717
f76ce889 207182009-07-21 Pavel Roskin <proski@gnu.org>
20719
20720 * kern/dl.c (grub_dl_check_header): Make static.
20721
6a6cbcaf 207222009-07-21 Felix Zielcke <fzielcke@z-51.de>
20723
20724 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20725 add drivemap for Vista. It breaks Windows 7.
20726
cffcddb2 207272009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20730 128 bytes
20731
1ef44b80 207322009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 Add BFS support
20735
20736 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20737 (grub_fstest_SOURCES): Likewise.
20738 (pkglib_MODULES): Add befs.mod.
20739 (befs_mod_SOURCES): New variable.
20740 (befs_mod_CFLAGS): Likewise.
20741 (befs_mod_LDFLAGS): Likewise.
20742 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20743 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20745 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20746 (grub_setup_SOURCES): Likewise.
20747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20748 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20749 (grub_setup_SOURCES): Likewise.
20750 * fs/befs.c: New file.
20751 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20752 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20753 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20754 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20755 (B_KEY_INDEX_ALIGN): New declaration.
20756 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20757 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20758 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20759 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20760 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20761 (grub_afs_mount) [MODE_BFS]: Likewise.
20762 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20763 (grub_afs_fs): Use GRUB_AFS_FSNAME
20764 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20765 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20766 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20767 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20768
4f253044 207692009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20770
20771 * util/getroot.c (find_root_device): Add support for MacOSX.
20772 * util/hostdisk.c: Likewise.
20773
57a55913 207742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20775
20776 * font/font.c (find_glyph): Check whether a font is present to avoid
20777 segmentation fault.
75421ca9 20778
207792009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20780
20781 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20782
e98cd0c2 207832009-07-20 Pavel Roskin <proski@gnu.org>
20784
20785 * configure.ac: Trim excessively wordy excuses.
20786
1d2d169a 207872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20788
20789 Add symlink, mtime and label support to AtheFS.
20790
20791 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20792 (grub_afs_iterate_dir): Handle symlinks.
20793 (grub_afs_open): Use grub_afs_read_symlink.
20794 (grub_afs_dir): Likewise.
20795 Pass mtime.
20796 (grub_afs_label): New function.
20797 (grub_afs_fs): Add grub_afs_label.
20798 (grub_afs_read_symlink): New function.
20799
186f3189 208002009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 Fix AtheFS support.
20803
20804 * fs/afs.c: Fix comments style.
20805 (grub_afs_blockrun): Declare as packed.
20806 (grub_afs_datastream): Likewise.
20807 (grub_afs_bnode): Likewise.
20808 (grub_afs_btree): Likewise.
20809 (grub_afs_sblock): Likewise.
20810 Declare `name' as char.
20811 (grub_afs_inode): Declare as packed.
20812 Change void *vnode to grub_uint32_t unused.
20813 (grub_afs_iterate_dir): Check that key_size is positive.
20814 (grub_afs_mount): Don't read superblock twice.
75421ca9 20815 (grub_afs_dir): Don't free node in case of error,
186f3189 20816 grub_fshelp_find_file already handles this.
20817 (grub_afs_open): Likewise.
20818
5680109e 208192009-07-19 Pavel Roskin <proski@gnu.org>
20820
20821 * Makefile.in: Remove LIBLZO and enable_lzo.
20822 * conf/i386-pc.rmk: Remove lzo support.
20823 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20824 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20825 support.
20826 * kern/i386/pc/lzo1x.S: Remove.
20827 * kern/i386/pc/startup.S: Remove lzo support.
20828 * util/i386/pc/grub-mkimage.c: Likewise.
20829
ac70fa32 208302009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20833 * fs/xfs.c (grub_xfs_dir): Likewise.
20834 * fs/afs.c (grub_afs_dir): Likewise.
20835 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20836 (grub_iso9660_open): Likewise.
20837 * fs/jfs.c (grub_jfs_open): Likewise.
20838 * fs/ext2.c (grub_ext2_dir): Likewise.
20839 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20840 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20841
eab58da2 208422009-07-16 Pavel Roskin <proski@gnu.org>
20843
d2838156 20844 * configure.ac: Never add "-c" to CFLAGS.
20845
55c70904 20846 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20847
43e6200c 20848 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20849 grub_cv_cc_efiemu should be used.
20850
ce7a733d 20851 * configure.ac: Typo fixes.
20852
eab58da2 20853 * kern/mm.c (grub_zalloc): New function.
20854 (grub_debug_zalloc): Likewise.
20855 * include/grub/mm.h: Declare grub_zalloc() and
20856 grub_debug_zalloc().
20857 * util/misc.c (grub_zalloc): New function.
20858 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20859 instead of grub_malloc(), remove unneeded initializations.
20860 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20861 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20862 * commands/parttool.c (grub_cmd_parttool): Likewise.
20863 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20864 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20865 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20866 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20867 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20868 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20869 (grub_cmd_efiemu_pnvram): Likewise.
20870 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20871 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20872 (grub_iso9660_iterate_dir): Likewise.
20873 * fs/jfs.c (grub_jfs_opendir): Likewise.
20874 * fs/ntfs.c (list_file): Likewise.
20875 (grub_ntfs_mount): Likewise.
20876 * kern/disk.c (grub_disk_open): Likewise.
20877 * kern/dl.c (grub_dl_load_core): Likewise.
20878 * kern/elf.c (grub_elf_file): Likewise.
20879 * kern/env.c (grub_env_context_open): Likewise.
20880 (grub_env_set): Likewise.
20881 (grub_env_set_data_slot): Likewise.
20882 * kern/file.c (grub_file_open): Likewise.
20883 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20884 * loader/i386/multiboot.c (grub_module): Likewise.
20885 * loader/xnu.c (grub_xnu_create_key): Likewise.
20886 (grub_xnu_create_value): Likewise.
20887 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20888 (read_config_file): Likewise.
20889 * normal/menu_entry.c (make_screen): Likewise.
20890 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20891 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20892 * script/sh/script.c (grub_script_parse): Likewise.
20893 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20894 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20895 * video/readers/png.c (grub_png_output_byte): Likewise.
20896 (grub_video_reader_png): Likewise.
20897
830afef7 208982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20899
20900 Enable all targets that can be built by default
20901
830afef7 20902 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20903 grub-mkfont and grub-fstest if they can be built
20904
ee293aee 209052009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20906
20907 Fix hang and segmentation fault in grub-emu-usb
20908
20909 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20910 * util/usb.c (grub_libusb_devices): likewise
20911 (grub_libusb_init): rename to ...
20912 (GRUB_MOD_INIT (libusb)):...this
20913 (grub_libusb_fini): rename to ..
20914 (GRUB_MOD_FINI (libusb)):...this
20915 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20916 * include/grub/disk.h (grub_raid_init): removed, it's useless
20917 (grub_raid_fini): likewise
20918 (grub_lvm_init): likewise
20919 (grub_lvm_fini): likewise
20920 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20921 by grub_init_all
20922
94414221 209232009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 Fix libusb
20926
20927 * Makefile.in (LIBUSB): new macro
20928 * genmk.rb (Utility/print_tail): new method
20929 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20930 (top level): call util.print_tail at the end.
20931
59ade63d 209322009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20933
20934 Make FreeBSD accept zpool.cache
20935
20936 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20937 type is /boot/zfs/zpool.cache
20938
a58da8c7 209392009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20940
20941 Fix 64-bit efiemu
20942
20943 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20944 correct wrong typedef
20945 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20946
20591577 209472009-07-15 Pavel Roskin <proski@gnu.org>
20948
560ca572 20949 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20950 * kern/disk.c (struct grub_disk_cache): Likewise.
20951
e8e8e4fd 20952 * commands/probe.c (options): Typo fix.
20953
fde24e10 20954 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20955 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20956 accordingly.
20957 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20958
379c54c1 20959 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20960 the end of "Error" to make the message more readable.
20961
7bd8f5bf 20962 * boot/i386/pc/boot.S (kernel_segment): Remove.
20963 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20964 for destination.
20965
40b132c5 20966 * boot/i386/pc/boot.S (boot_version): Remove.
20967 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20968 Remove.
20969
20591577 20970 * include/grub/i386/pc/boot.h: Sort all offsets.
20971 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20972 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20973 * boot/i386/pc/boot.S: Assert location of every offset listed in
20974 include/grub/i386/pc/boot.h.
20975
2df32b2c 209762009-07-13 Pavel Roskin <proski@gnu.org>
20977
44b5d879 20978 * include/grub/i386/coreboot/machine.h: Rename
20979 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20980 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20981 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20982
17dc3751 20983 * kern/dl.c: Force native word size to suppress warnings when
20984 compiling grub-emu.
20985
2df32b2c 20986 * kern/device.c (grub_device_iterate): Change struct part_ent to
20987 hold the name, not a pointer to it. Use one grub_malloc() per
20988 partition, not two. Free partition_name if grub_malloc() fails.
20989 Set ents to NULL only before grub_partition_iterate() is called.
20990
75c59f59 209912009-07-11 Bean <bean123ch@gmail.com>
20992
20993 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20994 childname.
20995
0ae1bf88 209962009-07-10 Bean <bean123ch@gmail.com>
209972009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20998
20999 * kern/ieee1275/openfw.c (grub_children_iterate)
21000 (grub_devalias_iterate): Fix size evaluation for property or path
21001 strings, which was broken since r2132.
21002
8279cade 210032009-07-07 Pavel Roskin <proski@gnu.org>
21004
7d8a52d3 21005 * commands/search.c (search_file): Merge into ...
21006 (search_fs): ... this. Accept search type as argument.
21007 (grub_cmd_search): Pass search type to search_fs().
21008
25f9a05a 21009 * include/grub/util/console.h: New file.
21010 * util/console.c: Use it instead of grub/machine/console.h.
21011 * util/grub-emu.c: Likewise.
21012
8279cade 21013 * lib/arg.c (find_long_option): Remove.
21014 (find_long): Add `len' argument, make `s' const char *.
21015 (grub_arg_parse): Parse long options in place, not in a
21016 temporary buffer.
21017
4a11b60f 210182009-07-06 Pavel Roskin <proski@gnu.org>
21019
99f68041 21020 * commands/search.c (search_fs): Fix potential NULL pointer
21021 dereference.
21022
4a11b60f 21023 * commands/search.c (search_fs): Replace QUID macro with quid_fn
21024 function pointer.
21025
e110f4de 210262009-07-06 Daniel Mierswa <impulze@impulze.org>
21027
21028 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
21029 comparison.
21030
46eeb6a2 210312009-07-05 Pavel Roskin <proski@gnu.org>
21032
bab74958 21033 * include/grub/i386/linux.h (struct linux_kernel_params):
21034 Restore padding3, it's still needed.
21035
46eeb6a2 21036 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
21037 FreeBSD.
21038 * util/osdetect.lua: Likewise.
21039
b4a1dc79 210402009-07-05 Bean <bean123ch@gmail.com>
21041
21042 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
21043
21044 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
21045 (grub_lua_getenv): Likewise.
21046 (grub_lua_setenv): Likewise.
21047 (save_errno): New function.
21048 (push_result): Likewise.
21049 (grub_lua_enum_device): Likewise.
21050 (grub_lua_enum_file): Likewise.
21051 (grub_lua_file_open): Likewise.
21052 (grub_lua_file_close): Likewise.
21053 (grub_lua_file_seek): Likewise.
21054 (grub_lua_file_read): Likewise.
21055 (grub_lua_file_getline): Likewise.
21056 (grub_lua_file_getsize): Likewise.
21057 (grub_lua_file_getpos): Likewise.
21058 (grub_lua_file_eof): Likewise.
21059 (grub_lua_file_exist): Likewise.
21060 (grub_lua_add_menu): Likewise.
21061
21062 * script/lua/grub_lua.h (isupper): New inline function.
21063 (islower): Likewise.
21064 (ispunct): Likewise.
21065 (isxdigit): Likewise.
21066 (strcspn): Change to normal function.
21067 (strpbkr): New function declaration.
21068 (memchr): Likewise.
21069
21070 * script/lua/grub_main.c (scan_str): New function.
21071 (strcspn): Likewise.
21072 (strpbrk): Likewise.
21073 (memchr): Likewise.
21074
21075 * script/lua/linit.c (lualibs): Enable the string library.
21076
21077 * util/osdetect.lua: New file.
21078
2da92295 210792009-07-04 Robert Millan <rmh.grub@aybabtu.com>
21080
21081 * include/grub/i386/linux.h (struct linux_kernel_params): Add
21082 `capabilities' member.
21083
b2582ec9 210842009-07-02 Pavel Roskin <proski@gnu.org>
21085
21086 * genparttoollist.sh: Add missing newline at the end.
21087
32622956 210882009-07-01 Pavel Roskin <proski@gnu.org>
21089
87a7339e 21090 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
21091
d23af54e 21092 * util/hostdisk.c (open_device): Remove `const' from
21093 `sysctl_size', as sysctlbyname() can change it (in this case it
21094 doesn't actually happen).
21095
c94b18a9 21096 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
21097 using signed long int constants.
21098
c6cd3ef0 21099 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
21100 constant to avoid a warning on FreeBSD.
21101
0df63420 21102 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
21103 where it's needed.
21104
999577f1 21105 * Makefile.in: Install include/grub/machine symlink.
21106
6f41557f 21107 * Makefile.in: When installing symlinks, use "cp -fR", which
21108 works on FreeBSD and MacOSX.
21109 From Yves Blusseau <cl7m42e02@sneakemail.com>
21110
c8d22988 21111 * kern/dl.c (grub_dl_resolve_symbol): Make static.
21112 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
21113
1b96e952 21114 * util/misc.c: Move grub_reboot() and grub_halt() ...
21115 * util/grub-emu.c: ... here. Make main_env static.
21116 * include/grub/util/misc.h: Remove main_env.
21117
2ef0084d 21118 * kern/mm.c: Use correct format to print size_t.
21119
32622956 21120 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
21121 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
21122 * kern/powerpc/dl.c: Likewise.
21123 * kern/sparc64/dl.c: Likewise.
21124 * kern/x86_64/dl.c: Likewise.
21125
3f7f0cd0 211262009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21127
21128 Fix grub-emu build on sparc64-ieee1275.
21129
75421ca9 21130 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 21131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
21132
211d06b5 211332009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21134
21135 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
21136 (grub_reboot, grub_halt): New functions.
21137
21138 * util/i386/pc/misc.c: Delete. Update all users.
21139 * util/sparc64/ieee1275/misc.c: Likewise.
21140 * util/powerpc/ieee1275/misc.c: Likewise.
21141
aaf53e3c 211422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21143
21144 * conf/i386.rmk (setjmp_mod_SOURCES)
21145 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
21146 * conf/common.rmk (setjmp_mod_SOURCES)
21147 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
21148 to use $(target_cpu).
21149 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
21150 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
21151 * conf/powerpc-ieee1275.rmk: Likewise.
21152 * conf/sparc64-ieee1275.rmk: Likewise.
21153
21154 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
21155 $(target_cpu) for kern/$(target_cpu)/dl.c.
21156 * conf/i386-efi.rmk: Likewise.
21157 * conf/i386-ieee1275.rmk: Likewise.
21158 * conf/x86_64-efi.rmk: Likewise.
21159 * conf/i386-coreboot.rmk: Likewise.
21160 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
21161 $(target_cpu) for kern/$(target_cpu)/dl.c and for
21162 kern/$(target_cpu)/cache.S.
21163 * conf/sparc64-ieee1275.rmk: Likewise.
21164
a337130b 211652009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21166
21167 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
21168 type to `grub_uint8_t', and adjust `padding9' accordingly.
21169
c6fe4d53 211702009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21171
b09db61d 21172 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
21173
c6fe4d53 21174 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
21175 assembly in final jump, using register constraints.
21176
b09db61d 21177 (grub_linux_boot): For text mode, initialize `have_vga' using
21178 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
21179
21180 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
21181 right before the final jump.
21182
21183 Set `video_mode' to 0x3.
21184
21185 Document initialization of `video_page', `video_mode' and
21186 `video_ega_bx'.
21187
28333ad0 211882009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21189
21190 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
21191 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 21192 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 21193
02164e1b 211942009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21195
21196 Fix build on Debian / sparc.
21197
21198 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
21199
18b6c557 212002009-06-28 Pavel Roskin <proski@gnu.org>
21201
85f2aab6 21202 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
21203 fix a warning.
21204
18b6c557 21205 * util/grub.d/10_linux.in: Match SUSE style initrd names.
21206
ad760f81 212072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21208
21209 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
21210 `err'.
21211
87a4623b 212122009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21213
21214 Revert r2338.
21215
21216 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
21217 file can't be opened. grub_file_open() is already supposed to set
75421ca9 21218 grub_errno / grub_errmsg appropriately.
87a4623b 21219 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21220
8231fb77 212212009-06-27 Pavel Roskin <proski@gnu.org>
212222009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21223
21224 * include/grub/dl.h: Include grub/elf.h.
21225 (struct grub_dl): Add symtab field.
21226 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
21227 GRUB_MODULES_MACHINE_READONLY.
21228 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
21229 of the header for read-only modules.
21230 (grub_dl_unload): Free mod->symtab for read-only modules.
21231 * kern/i386/dl.c: Use mod->symtab.
21232 * kern/powerpc/dl.c: Likewise.
21233 * kern/sparc64/dl.c: Likewise.
21234 * kern/x86_64/dl.c: Likewise.
21235
21236 * conf/i386-qemu.rmk: New file.
21237 * kern/i386/qemu/startup.S: Likewise.
21238 * kern/i386/qemu/mmap.c: Likewise.
21239 * boot/i386/qemu/boot.S: Likewise.
21240 * include/grub/i386/qemu/time.h: Likewise.
21241 * include/grub/i386/qemu/serial.h: Likewise.
21242 * include/grub/i386/qemu/kernel.h: Likewise.
21243 * include/grub/i386/qemu/console.h: Likewise.
21244 * include/grub/i386/qemu/boot.h: Likewise.
21245 * include/grub/i386/qemu/init.h: Likewise.
21246 * include/grub/i386/qemu/machine.h: Likewise.
21247 * include/grub/i386/qemu/loader.h: Likewise.
21248 * include/grub/i386/qemu/memory.h: Likewise.
21249
21250 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
21251 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
21252 [qemu] (pkglib_IMAGES): Add `boot.img'.
21253 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
21254 [qemu] (boot_img_FORMAT): New variables.
21255 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
21256 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
21257 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
21258 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21259 [qemu] (kernel_img_FORMAT): New variables.
21260
21261 * configure.ac: Recognise `i386-qemu'.
21262
21263 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
21264 (for no compression).
21265 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
21266 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
21267 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
21268 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
21269 ifdefs).
21270
97fe384e 212712009-06-27 Pavel Roskin <proski@gnu.org>
21272
21273 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
21274 read.
21275 * efiemu/prepare32.c: Likewise.
21276 * efiemu/prepare64.c: Likewise.
21277
c402ab17 212782009-06-26 Pavel Roskin <proski@gnu.org>
21279
21280 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
21281 * include/grub/elf.h: Define symbols without "32" or "64" based
21282 on GRUB_TARGET_WORDSIZE.
21283 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
21284 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
21285 ELF definitions.
21286 * efiemu/loadcore64.c: Likewise.
21287 * loader/i386/bsd32.c: Likewise.
21288 * loader/i386/bsd64.c: Likewise.
21289 * kern/dl.c: Remove own ELF definitions.
21290 * util/i386/efi/grub-mkimage.c: Likewise.
21291
9bbdfd4d 212922009-06-23 Robert Millan <rmh.grub@aybabtu.com>
21293
21294 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
21295 segment 0x0 unconditionally, because the reference generated by
21296 GAS is an absolute address.
21297
a42ce6e9 212982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21299
21300 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
21301 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
21302
c952cf92 213032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21304
21305 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
21306 indexes. Check for -f explicitly.
cc3752ad 21307 (search_file): Improve error message.
21308 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 21309
132a0a59 213102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21311
21312 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
21313 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
21314
387a140c 213152009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21316
21317 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
21318 * conf/i386-ieee1275.rmk: Likewise.
21319 * conf/i386-coreboot.rmk: Likewise.
21320
21321 * kern/i386/pc/startup.S (grub_stop): Remove function.
21322 * kern/i386/ieee1275/startup.S: Likewise.
21323 * kern/i386/coreboot/startup.S: Likewise.
21324 * kern/i386/misc.S (grub_stop): New function.
21325
41da9665 213262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21327
21328 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
21329 * kern/i386/realmode.S (real_to_prot): ... to here.
21330
bf337234 213312009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21332
21333 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
21334 with `kernel.img'.
21335 (kernel_elf_SOURCES): Rename to ...
21336 (kernel_img_SOURCES): ... this.
21337 (kernel_elf_HEADERS): Rename to ...
21338 (kernel_img_HEADERS): ... this. Update all users.
21339 (kernel_elf_ASFLAGS): Rename to ...
21340 (kernel_img_ASFLAGS): ... this.
21341 (kernel_elf_CFLAGS): Rename to ...
21342 (kernel_img_CFLAGS): ... this.
21343 (kernel_elf_LDFLAGS): Rename to ...
21344 (kernel_img_LDFLAGS): ... this.
21345 * conf/i386-coreboot.rmk: Likewise.
21346 * conf/powerpc-ieee1275.rmk: Likewise.
21347
21348 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
21349 with "kernel.img".
21350
f52196ff 213512009-06-21 Pavel Roskin <proski@gnu.org>
21352
c3cee413 21353 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
21354 to match nested functions.
21355 * loader/sparc64/ieee1275/linux.c: Likewise.
21356
f52196ff 21357 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
21358
58750afc 213592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21360
21361 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
21362 all i386 platforms.
21363
15355c7d 213642009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21365
21366 Fix asm file handling on ELF, and remove workarounds.
21367
21368 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 21369 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 21370 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
21371 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
21372
3f3ec72b 213732009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
21374
21375 Load BSD ELF modules
21376
21377 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
21378 and loader/i386/bsd64.c
21379 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
21380 (FREEBSD_MODTYPE_ELF_MODULE): New definition
21381 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
21382 (grub_freebsd_load_elfmodule32): New declaration
21383 (grub_freebsd_load_elfmoduleobj64): Likewise
21384 (grub_freebsd_load_elf_meta32): Likewise
21385 (grub_freebsd_load_elf_meta64): Likewise
21386 (grub_freebsd_add_meta): Likewise
21387 (grub_freebsd_add_meta_module): Likewise
21388 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
21389 (grub_freebsd_add_meta_module): Likewise and move module-specific
21390 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
21391 (grub_cmd_freebsd): Add elf-kernel specific parts
21392 based on grub_freebsd_add_meta_module
21393 (grub_cmd_freebsd_module): Add type parsing moved from
21394 grub_freebsd_add_meta_module
21395 (grub_cmd_freebsd_module_elf): New function
21396 (cmd_freebsd_module_elf): New variable
21397 (GRUB_MOD_INIT): Register freebsd_module_elf
21398 * loader/i386/bsd32.c: New file
21399 * loader/i386/bsd64.c: Likewise
21400 * loader/i386/bsdXX.c: Likewise
21401 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
21402 (grub_elf64_load): Likewise
21403 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
21404 All users updated
21405 (grub_elf64_load_hook_t): Likewise
21406
0db15301 214072009-06-21 Colin Watson <cjwatson@ubuntu.com>
21408
21409 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
21410 variable.
21411 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
21412 don't write a menu entry for recovery mode.
21413
546796c1 214142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21415
21416 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
21417 after it's no longer needed.
21418
cd7310d5 214192009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21420
21421 * include/grub/i386/loader.h (grub_linux_prot_size)
21422 (grub_linux_tmp_addr, grub_linux_real_addr)
21423 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
21424 GRUB_MACHINE_PCBIOS.
21425 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
21426 common grub_util_info() call to ...
21427 (generate_image): ... here.
21428 Fix use of uninitialized memory, comparison of signed with
21429 unsigned integers and memory leak.
21430 Remove bogus module address message.
21431
ab32d3b5 214322009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21433
21434 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
21435 grub_raid_register
21436 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
21437
024ef597 214382009-06-19 Pavel Roskin <proski@gnu.org>
21439
21440 * configure.ac: Remove stray AC_MSG_CHECKING.
21441
3ac72b51 214422009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 21445
e14cd814 214462009-06-18 Pavel Roskin <proski@gnu.org>
21447
21448 * conf/common.rmk: Add fs_file.mod.
21449 * disk/fs_file.c: New file.
21450 * include/grub/disk.h (enum grub_disk_dev_id): Add
21451 GRUB_DISK_DEVICE_FILE_ID.
21452
26586d98 214532009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 Fix build with Apple's toolchain. Part 2
21456
21457 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
21458 a fake start
21459
26de2bcd 214602009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21461
21462 Fix build with Apple's toolchain. Part 1
21463
21464 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
21465 for long calls
21466 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 21467 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 21468 Apple's toolchain
21469
09b3490b 214702009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 Fix warnings
21473
21474 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
21475 (decomp_block): initialize ch
21476 use grub_memcpy instead of memcpy
21477
c22a006a 214782009-06-17 Pavel Roskin <proski@gnu.org>
21479
d3638678 21480 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
21481 version, use declarations needed to use vga_text as the startup
21482 console.
21483
c22a006a 21484 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
21485 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
21486 the kernel.
21487 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
21488 and grub_at_keyboard_fini(), it's done on module load and
21489 unload.
21490
05b129e0 214912009-06-17 Felix Zielcke <fzielcke@z-51.de>
21492
21493 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
21494 file can't be found.
21495 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21496
cf24ed9e 214972009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 Fix newline handling
21500
21501 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 21502 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 21503 (grub_script_yylex): don't segfault on unterminated script
21504 newline terminates command and variable
21505
74aa8e4b 215062009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21507
21508 avoid double grub_adjust_range call. Bug reported by David Simner
21509
21510 * kern/disk.c (grub_disk_write): change to raw disk access before
21511 calling disk_read
21512
1bd265f3 215132009-06-17 Colin Watson <cjwatson@ubuntu.com>
21514
21515 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
21516 spaces, for the benefit of help2man.
21517 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21518
a2d08c06 215192009-06-16 Pavel Roskin <proski@gnu.org>
21520
21521 * kern/i386/halt.c: Include grub/machine/init.h.
21522 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
21523
b97bcb19 215242009-06-16 Felix Zielcke <fzielcke@z-51.de>
21525
21526 * util/grub.d/30_os-prober.in: Use ${root} in the generated
21527 drivemap menuentry.
21528
0644f96c 215292009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
21530
21531 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
21532 `echo' command.
21533
3ef17a2e 215342009-06-16 Pavel Roskin <proski@gnu.org>
21535
21536 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
21537 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
21538 save %dx, we only need %dl and we never change it.
21539 * boot/i386/pc/cdboot.S: Don't set the root drive.
21540 * boot/i386/pc/pxeboot.S: Likewise.
21541 * include/grub/i386/pc/boot.h: Remove
21542 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
21543 GRUB_BOOT_MACHINE_DRIVE_CHECK.
21544 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
21545 * kern/i386/pc/init.c (make_install_device): Remove references
21546 to grub_root_drive.
21547 * kern/i386/pc/startup.S: Likewise.
21548 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
21549
693fe637 215502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21551
21552 xnu_uuid command
21553
21554 * commands/xnu_uuid.c: new file
21555 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
21556 (xnu_uuid_mod_SOURCES): new variable
21557 (xnu_uuid_mod_CFLAGS): likewise
21558 (xnu_uuid_mod_LDFLAGS): likewise
21559 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21560 * conf/i386-ieee1275.rmk: likewise
21561 * conf/i386-pc.rmk: likewise
21562 * conf/powerpc-ieee1275.rmk: likewise
21563 * conf/sparc64-ieee1275.rmk: likewise
21564 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
21565
c9da87d0 215662009-06-16 Pavel Roskin <proski@gnu.org>
21567
21568 * configure.ac: Avoid '==' in test command, it's not portable.
21569
9c6f4596 215702009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21571
21572 Probe command
21573
21574 * commands/probe.c: new file
21575 * conf/common.rmk (pkglib_MODULES): add probe.mod
21576 (probe_mod_SOURCES): new variable
21577 (probe_mod_CFLAGS): likewise
21578 (probe_mod_LDFLAGS): likewise
21579 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21580 * conf/i386-ieee1275.rmk: likewise
21581 * conf/i386-pc.rmk: likewise
21582 * conf/powerpc-ieee1275.rmk: likewise
21583 * conf/sparc64-ieee1275.rmk: likewise
21584
70b7f9fd 215852009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
21586
21587 Fix handling of string like \"hello\" and "a
21588 b"
21589
21590 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
21591 (grub_script_yylex): fix parsing of quoting, escaping and newline
21592
71c79a6b 215932009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
21594
dd74360c 21595 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 21596 handling
dd74360c 21597
0644f96c 215982009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 21599
21600 * util/grub-mkconfig.in: Fix parsing of --output option.
21601
e40893c3 216022009-06-12 Pavel Roskin <proski@gnu.org>
21603
21604 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
21605 genmk.rb don't need to be generated or installed.
21606
3a1acfe2 216072009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21608
21609 * commands/i386/pc/drivemap_int13h.S: add more comments
21610
3a4575d4 216112009-06-11 Pavel Roskin <proski@gnu.org>
21612
0658e928 21613 * Makefile.in (uninstall): Uninstall manuals.
21614
ca0388f0 21615 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
21616 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
21617 and update-grub_lib in two places.
21618 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
21619
e3b27c39 21620 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
21621 a compiler warning.
21622
3a4575d4 21623 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
21624 `entry_lo' to fix variable shadowing.
21625
af1f4f55 216262009-06-11 Christian Franke <franke@computer.org>
21627
21628 * kern/misc.c (__enable_execute_stack): Add missing return type
21629 to prevent gcc warning.
21630
5225e649 216312009-06-11 Felix Zielcke <fzielcke@z-51.de>
21632
21633 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
21634
7d83bd47 216352009-06-11 Pavel Roskin <proski@gnu.org>
21636
c1cb63ba 21637 * Makefile.in: Don't rely on any scripts being executable.
21638 Always use $(SHELL) to run shell scripts.
21639
7d83bd47 21640 * configure.ac: Always define ___main if using -nostdlib. This
21641 fixes tests on Cygwin.
21642
948f48e7 216432009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
21644
21645 UDF fix
21646
7d83bd47 21647 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 21648 is in bytes and not in blocks
7d83bd47 21649
8ada9bc1 216502009-06-11 Pavel Roskin <proski@gnu.org>
21651
21652 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
21653 warning.
21654
25ad2323 216552009-06-11 Felix Zielcke <fzielcke@z-51.de>
21656
21657 * util/grub.d/30_os-prober.in: Fix a comment. Source
21658 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
21659 to set the root device. Place drivemap command in the generated
21660 chain entry.
21661
e65acb0c 216622009-06-11 Pavel Roskin <proski@gnu.org>
21663
21664 * configure.ac: Remove host_m32. Issues with 64-bit utilities
21665 have long been resolved.
21666
f285fe2d 216672009-06-11 Colin Watson <cjwatson@ubuntu.com>
21668
bd47b0b5 21669 * util/grub.d/10_linux.in: Capitalise "Linux".
21670
f285fe2d 21671 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
21672
a0c62e4e 216732009-06-11 Pavel Roskin <proski@gnu.org>
21674
b6783cb2 21675 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
21676 fix a gcc warning and ensure that the function won't ever exit.
21677
dde032e8 21678 * kern/i386/ieee1275/init.c: Add missing prototype for
21679 grub_stop_floppy().
21680
22cd079d 21681 * loader/ieee1275/multiboot2.c [__i386__]: Include
21682 grub/cpu/multiboot.h.
21683
a0c62e4e 21684 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
21685 casts to short - they are not portable and cause warnings. Fix
21686 use of uninitialized values in input_buf. Use ARRAY_SIZE.
21687
63963d17 216882009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
21689
21690 Drivemap fixes
21691
21692 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
21693 new function
21694 (grub_get_root_biosnumber_saved): new variable
21695 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
21696 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 21697 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 21698 %dx after the call if necessary
21699 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21700 (boot_mod_SOURCES): remove
21701 (boot_mod_CFLAGS): remove
21702 (boot_mod_LDFLAGS): remove
21703 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21704 (boot_mod_SOURCES): new variable
21705 (boot_mod_CFLAGS): likewise
21706 (boot_mod_LDFLAGS): likewise
21707 * conf/i386-efi.rmk: likewise
21708 * conf/i386-ieee1275.rmk: likewise
21709 * conf/i386-pc.rmk: likewise
21710 * conf/powerpc-ieee1275.rmk: likewise
21711 * conf/sparc64-ieee1275.rmk: likewise
21712 * conf/x86_64-efi.rmk: likewise
21713 * include/grub/i386/pc/biosnum.h: new file
21714 * lib/i386/pc/biosnum.c: likewise
21715 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21716 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21717 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21718
33abf7ae 217192009-06-10 Pavel Roskin <proski@gnu.org>
21720
5ac35b35 21721 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21722 Use separate variables. Read only the file size at the end, but
21723 not the checksum that we don't use.
21724
5c5215d5 21725 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21726 Adjust all callers.
21727
27d5fef7 21728 * kern/ieee1275/openfw.c: Remove libc includes.
21729 * kern/ieee1275/cmain.c: Likewise.
21730 * include/grub/ieee1275/ieee1275.h: Likewise.
21731
33abf7ae 21732 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21733 compiler warnings.
21734
19d50c2b 217352009-06-10 Felix Zielcke <fzielcke@z-51.de>
21736
21737 * Makefile.in: Remove all trailing whitespace.
21738 * conf/i386-pc.rmk: Likewise.
21739 * conf/powerpc-ieee1275.rmk: Likewise.
21740 * conf/sparc64-ieee1275.rmk: Likewise.
21741 * docs/grub.texi: Likewise.
21742 * docs/texinfo.tex: Likewise.
21743 * disk/fs_uuid.c: Likewise.
21744 * disk/lvm.c: Likewise.
21745 * disk/scsi.c: Likewise.
21746 * disk/ata.c: Likewise.
21747 * disk/ieee1275/ofdisk.c: Likewise.
21748 * disk/i386/pc/biosdisk.c: Likewise.
21749 * disk/host.c: Likewise.
21750 * disk/raid.c: Likewise.
21751 * disk/efi/efidisk.c: Likewise.
21752 * disk/usbms.c: Likewise.
21753 * disk/memdisk.c: Likewise.
21754 * disk/loopback.c: Likewise.
21755 * kern/powerpc/dl.c: Likewise.
21756 * kern/device.c: Likewise.
21757 * kern/dl.c: Likewise.
21758 * kern/sparc64/dl.c: Likewise.
21759 * kern/ieee1275/ieee1275.c: Likewise.
21760 * kern/term.c: Likewise.
21761 * kern/fs.c: Likewise.
21762 * kern/i386/dl.c: Likewise.
21763 * kern/i386/pc/startup.S: Likewise.
21764 * kern/i386/pc/init.c: Likewise.
21765 * kern/i386/pc/mmap.c: Likewise.
21766 * kern/i386/pc/lzo1x.S: Likewise.
21767 * kern/i386/ieee1275/init.c: Likewise.
21768 * kern/i386/realmode.S: Likewise.
21769 * kern/i386/tsc.c: Likewise.
21770 * kern/partition.c: Likewise.
21771 * kern/corecmd.c: Likewise.
21772 * kern/file.c: Likewise.
21773 * kern/efi/efi.c: Likewise.
21774 * kern/efi/init.c: Likewise.
21775 * kern/efi/mm.c: Likewise.
21776 * kern/main.c: Likewise.
21777 * kern/err.c: Likewise.
21778 * kern/env.c: Likewise.
21779 * kern/disk.c: Likewise.
21780 * kern/generic/millisleep.c: Likewise.
21781 * kern/generic/rtc_get_time_ms.c: Likewise.
21782 * kern/misc.c: Likewise.
21783 * kern/parser.c: Likewise.
21784 * genmk.rb: Likewise.
21785 * configure.ac: Likewise.
21786 * boot/i386/pc/diskboot.S: Likewise.
21787 * boot/i386/pc/pxeboot.S: Likewise.
21788 * boot/i386/pc/boot.S: Likewise.
21789 * boot/i386/pc/lnxboot.S: Likewise.
21790 * boot/i386/pc/cdboot.S: Likewise.
21791 * parttool/pcpart.c: Likewise.
21792 * video/readers/tga.c: Likewise.
21793 * video/video.c: Likewise.
21794 * video/bitmap.c: Likewise.
21795 * lib/envblk.c: Likewise.
21796 * lib/i386/setjmp.S: Likewise.
21797 * fs/xfs.c: Likewise.
21798 * fs/afs.c: Likewise.
21799 * fs/fat.c: Likewise.
21800 * fs/ntfs.c: Likewise.
21801 * fs/udf.c: Likewise.
21802 * fs/affs.c: Likewise.
21803 * fs/iso9660.c: Likewise.
21804 * fs/hfs.c: Likewise.
21805 * fs/fshelp.c: Likewise.
21806 * fs/ext2.c: Likewise.
21807 * fs/jfs.c: Likewise.
21808 * fs/reiserfs.c: Likewise.
21809 * fs/hfsplus.c: Likewise.
21810 * fs/minix.c: Likewise.
21811 * fs/cpio.c: Likewise.
21812 * fs/sfs.c: Likewise.
21813 * fs/ufs.c: Likewise.
21814 * efiemu/prepare.c: Likewise.
21815 * efiemu/loadcore_common.c: Likewise.
21816 * efiemu/runtime/efiemu.sh: Likewise.
21817 * efiemu/runtime/efiemu.S: Likewise.
21818 * efiemu/runtime/efiemu.c: Likewise.
21819 * efiemu/pnvram.c: Likewise.
21820 * efiemu/main.c: Likewise.
21821 * efiemu/i386/pc/cfgtables.c: Likewise.
21822 * efiemu/i386/loadcore64.c: Likewise.
21823 * efiemu/i386/loadcore32.c: Likewise.
21824 * efiemu/loadcore.c: Likewise.
21825 * efiemu/symbols.c: Likewise.
21826 * efiemu/mm.c: Likewise.
21827 * include/grub/autoefi.h: Likewise.
21828 * include/grub/datetime.h: Likewise.
21829 * include/grub/term.h: Likewise.
21830 * include/grub/hfs.h: Likewise.
21831 * include/grub/lvm.h: Likewise.
21832 * include/grub/i386/tsc.h: Likewise.
21833 * include/grub/i386/linux.h: Likewise.
21834 * include/grub/i386/xnu.h: Likewise.
21835 * include/grub/i386/efiemu.h: Likewise.
21836 * include/grub/i386/pc/biosdisk.h: Likewise.
21837 * include/grub/i386/pc/memory.h: Likewise.
21838 * include/grub/i386/pc/vbe.h: Likewise.
21839 * include/grub/parttool.h: Likewise.
21840 * include/grub/video.h: Likewise.
21841 * include/grub/memory.h: Likewise.
21842 * include/grub/fs.h: Likewise.
21843 * include/grub/partition.h: Likewise.
21844 * include/grub/xnu.h: Likewise.
21845 * include/grub/efi/api.h: Likewise.
21846 * include/grub/efi/pe32.h: Likewise.
21847 * include/grub/efi/memory.h: Likewise.
21848 * include/grub/multiboot.h: Likewise.
21849 * include/grub/usbdesc.h: Likewise.
21850 * include/grub/multiboot2.h: Likewise.
21851 * include/grub/acpi.h: Likewise.
21852 * include/grub/efiemu/efiemu.h: Likewise.
21853 * include/grub/disk.h: Likewise.
21854 * include/grub/ieee1275/ieee1275.h: Likewise.
21855 * include/grub/net.h: Likewise.
21856 * include/grub/machoload.h: Likewise.
21857 * include/grub/macho.h: Likewise.
21858 * include/multiboot.h: Likewise.
21859 * genmoddep.awk: Likewise.
21860 * normal/main.c: Likewise.
21861 * normal/menu_entry.c: Likewise.
21862 * normal/menu_viewer.c: Likewise.
21863 * normal/completion.c: Likewise.
21864 * normal/cmdline.c: Likewise.
21865 * normal/misc.c: Likewise.
21866 * normal/datetime.c: Likewise.
21867 * bus/usb/usbtrans.c: Likewise.
21868 * bus/usb/ohci.c: Likewise.
21869 * bus/usb/uhci.c: Likewise.
21870 * bus/usb/usb.c: Likewise.
21871 * mmap/efi/mmap.c: Likewise.
21872 * mmap/i386/pc/mmap_helper.S: Likewise.
21873 * mmap/i386/pc/mmap.c: Likewise.
21874 * mmap/i386/mmap.c: Likewise.
21875 * mmap/i386/uppermem.c: Likewise.
21876 * mmap/mmap.c: Likewise.
21877 * commands/acpi.c: Likewise.
21878 * commands/echo.c: Likewise.
21879 * commands/blocklist.c: Likewise.
21880 * commands/loadenv.c: Likewise.
21881 * commands/usbtest.c: Likewise.
21882 * commands/boot.c: Likewise.
21883 * commands/parttool.c: Likewise.
21884 * commands/search.c: Likewise.
21885 * commands/cat.c: Likewise.
21886 * commands/i386/pc/play.c: Likewise.
21887 * commands/i386/pc/drivemap.c: Likewise.
21888 * commands/i386/pc/vbeinfo.c: Likewise.
21889 * commands/i386/pc/acpi.c: Likewise.
21890 * commands/i386/pc/vbetest.c: Likewise.
21891 * commands/ls.c: Likewise.
21892 * commands/cmp.c: Likewise.
21893 * commands/test.c: Likewise.
21894 * commands/efi/acpi.c: Likewise.
21895 * commands/gptsync.c: Likewise.
21896 * commands/help.c: Likewise.
21897 * partmap/amiga.c: Likewise.
21898 * partmap/apple.c: Likewise.
21899 * partmap/acorn.c: Likewise.
21900 * partmap/pc.c: Likewise.
21901 * partmap/sun.c: Likewise.
21902 * partmap/gpt.c: Likewise.
21903 * script/sh/lexer.c: Likewise.
21904 * script/sh/function.c: Likewise.
21905 * font/font.c: Likewise.
21906 * font/font_cmd.c: Likewise.
21907 * loader/powerpc/ieee1275/linux.c: Likewise.
21908 * loader/efi/chainloader.c: Likewise.
21909 * loader/multiboot_loader.c: Likewise.
21910 * loader/macho.c: Likewise.
21911 * loader/i386/multiboot.c: Likewise.
21912 * loader/i386/linux.c: Likewise.
21913 * loader/i386/pc/linux.c: Likewise.
21914 * loader/i386/pc/multiboot2.c: Likewise.
21915 * loader/i386/pc/chainloader.c: Likewise.
21916 * loader/i386/pc/xnu.c: Likewise.
21917 * loader/i386/bsd_trampoline.S: Likewise.
21918 * loader/i386/efi/linux.c: Likewise.
21919 * loader/i386/multiboot_elfxx.c: Likewise.
21920 * loader/i386/bsd_helper.S: Likewise.
21921 * loader/i386/bsd.c: Likewise.
21922 * loader/i386/linux_trampoline.S: Likewise.
21923 * loader/i386/xnu_helper.S: Likewise.
21924 * loader/i386/xnu.c: Likewise.
21925 * loader/i386/bsd_pagetable.c: Likewise.
21926 * loader/i386/multiboot_helper.S: Likewise.
21927 * loader/xnu.c: Likewise.
21928 * loader/xnu_resume.c: Likewise.
21929 * io/gzio.c: Likewise.
21930 * term/efi/console.c: Likewise.
21931 * term/terminfo.c: Likewise.
21932 * term/ieee1275/ofconsole.c: Likewise.
21933 * term/i386/pc/serial.c: Likewise.
21934 * term/i386/pc/vesafb.c: Likewise.
21935 * term/i386/pc/vga.c: Likewise.
21936 * term/usb_keyboard.c: Likewise.
21937 * term/gfxterm.c: Likewise.
21938 * aclocal.m4: Likewise.
21939 * util/lvm.c: Likewise.
21940 * util/grub.d/30_os-prober.in: Likewise.
21941 * util/grub.d/10_hurd.in: Likewise.
21942 * util/console.c: Likewise.
21943 * util/grub-macho2img.c: Likewise.
21944 * util/grub-probe.c: Likewise.
21945 * util/hostfs.c: Likewise.
21946 * util/i386/pc/grub-mkimage.c: Likewise.
21947 * util/i386/pc/grub-setup.c: Likewise.
21948 * util/i386/efi/grub-mkimage.c: Likewise.
21949 * util/grub-mkconfig.in: Likewise.
21950 * util/raid.c: Likewise.
21951 * util/resolve.c: Likewise.
21952 * util/grub-mkdevicemap.c: Likewise.
21953 * util/grub-emu.c: Likewise.
21954 * util/getroot.c: Likewise.
21955 * util/hostdisk.c: Likewise.
21956 * util/usb.c: Likewise.
21957 * util/grub-editenv.c: Likewise.
21958 * util/misc.c: Likewise.
21959
d2d49665 219602009-06-10 Felix Zielcke <fzielcke@z-51.de>
21961
21962 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21963 `genparttoollist.sh'.
21964 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21965 Add `*.sh' to the list find searches for and change `mdate.sh'
21966 to `mdate-sh'.
21967
fe052e37 219682009-06-10 Pavel Roskin <proski@gnu.org>
21969
2763ac18 21970 * include/grub/multiboot2.h: Provide compatibility defines for
21971 multiboot2.h.
21972 * include/multiboot2.h: Include stdint.h only if needed, using
21973 angle brackets.
21974 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21975 grub/multiboot2.h.
21976 * loader/ieee1275/multiboot2.c: Likewise.
21977 * loader/multiboot2.c: Likewise.
21978 * loader/multiboot_loader.c: Likewise.
21979
437e6adc 21980 * configure.ac: Use -nostdlib when probing for the target. It
21981 should not be required to have libc for the target.
21982
06a6836c 21983 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21984 they fail without libc headers for the target.
21985 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21986 exports.
21987 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21988 preprocessor conditionals.
21989
fe052e37 21990 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21991 build system doesn't need to be aware of the tar.c internals.
21992
afd22553 219932009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21994
afd22553 21995 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21996
6b787c4f 219972009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21998
21999 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22000 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22001
220022009-06-09 Felix Zielcke <fzielcke@z-51.de>
22003
22004 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 22005 aren't available if ata.mod gets used.
6b787c4f 22006
473d1e45 220072009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 22008
473d1e45 22009 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 22010 initialising controller.
473d1e45 22011 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 22012
255a27d4 220132009-06-08 Felix Zielcke <fzielcke@z-51.de>
22014
22015 * util/i386/pc/grub-install.in: Add a parameter --disk-module
22016 to choose between ata and biosdisk module on i386-pc.
22017
473d1e45 220182009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 22019
d55842d8 22020 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
22021 Subclass and Programming Interface fields in terms of the 3 byte
22022 Class Code register.
22023 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22024
fa5db0b1 22025 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
22026 interface is OHCI. Add grub_dprintf for symmetry with
22027 bus/usb/uhci.c.
22028 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
22029 interface is UHCI. Add interf variable for programming
22030 interface. Print interface with class/subclass.
22031
c0947beb 22032 * bus/usb/ohci.c: Set interf with correct field.
22033
69da8877 22034 * bus/usb/uhci.c: Remove unneeded doubled lines.
22035 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
22036 Remove whitespace inside comment.
22037
9e172e30 220382009-06-08 Robert Millan <rmh.grub@aybabtu.com>
22039
22040 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
22041 as fallback an equivalent option without depth.
22042
de65ee2b 220432009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22044
22045 Not fail if unable to retrieve C/H/S on LBA disks
22046
473d1e45 22047 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 22048 if unable to retrieve C/H/S on LBA disks
22049
b57ea2c9 220502009-06-08 Pavel Roskin <proski@gnu.org>
22051
22052 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
22053 about aliasing.
22054
af361263 220552009-06-08 Felix Zielcke <fzielcke@z-51.de>
22056
22057 * Makefile.in (uninstall): Remove all $lib_DATA files.
22058
4c9ec6b3 220592009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 Bugfix: install on partitionless device
22062
22063 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
22064 is a whole disk
22065
e76fc924 220662009-06-08 Felix Zielcke <fzielcke@z-51.de>
22067
22068 * Makefile.in (uninstall): Remove all $include_DATA files.
22069
ba5a0d05 220702009-06-08 Felix Zielcke <fzielcke@z-51.de>
22071
22072 * commands/true.c: New file. Implement the true and false commands.
22073 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
22074 (true_mod_SOURCES): New variable.
22075 (true_mod_CFLAGS): Likewise.
22076 (true_mod_LDFLAGS): Likewise.
22077
c8048e32 220782009-06-05 Colin D Bennett <colin@gibibit.com>
22079
22080 Optimized font character lookup using binary search instead of linear
22081 search. Fonts now are required to have the character index ordered by
22082 code point.
22083
22084 * font/font.c (load_font_index): Verify that fonts have ordered
22085 character indices.
22086 (find_glyph): Use binary search instead of linear search to find a
22087 character in a font.
22088
408305be 220892009-06-05 Michael Scherer <misc@mandriva.org>
22090
22091 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
22092 uses case sensitive btree.
22093 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
22094 only for case insensitive filesystems.
22095
8ee1e0d9 220962009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
22097
22098 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
22099 * conf/common.rmk (search_mod_CFLAGS): likewise
22100
a9966eb1 221012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22102
473d1e45 22103 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 22104 compensate a compiler bug
22105
9e7100fb 221062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22107
473d1e45 22108 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 22109 instead of '\b'
473d1e45 22110
ede21d71 221112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22112
22113 Definitions for creating asm symbols with Apple's CC
22114
22115 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
22116 [APPLE_CC] (VARIABLE): likewise
22117
9dbf7653 221182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22119
22120 Disable lnxboot.img when compiled
22121 with Apple's CC
22122
22123 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
22124 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
22125 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
22126 [! APPLE_CC] (CODE_LENG): skip
22127 [! APPLE_CC] (setup_sects): likewise
22128 [! APPLE_CC]: skip filling
473d1e45 22129
e93cdc3d 221302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22131
22132 Address in trampolines based on 32-bit registers when compiled
22133 with Apple's CC
22134
473d1e45 22135 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 22136 for addresses
22137 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
22138
6c688477 221392009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 Avoid aliases when compiling with Apple's CC for PCBIOS machine
22142
22143 * kern/misc.c [APPLE_CC] (memcpy): new function
22144 [APPLE_CC] (memmove): likewise
22145 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 22146 (memcpy): define alias conditionally on !APPLE_CC
6c688477 22147 (memset): likewise
22148 (abort): likewise
22149 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
22150 APPLE_CC are defined
22151 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
22152 (grub_assert_fail): make prototype conditional
22153
e37ffc5c 221542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
22157
473d1e45 22158 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
22159 grub-macho2img
e37ffc5c 22160 (CLEANFILES): add grub-macho2img
22161 (grub_macho2img_SOURCES): new variable
22162 * kern/i386/pc/startup.S (bss_start): new variable
22163 (bss_end): likewise
22164 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
22165 * util/grub-macho2img.c: new file
22166
cf00df31 221672009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 Use objconv when compiling with Apple's CC
22170
22171 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
22172 (efiemu64.o): likewise
22173 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
22174 when compiling with Apple's CC
22175 (efiemu64_s.o): likewise
22176 * configure.ac: check for objconv when compiling with Apple's CC
22177 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 22178
d119a20c 221792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22180
22181 Define segment as well as section when compiling with
22182 Apple's CC
22183
22184 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
22185 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
22186 (efiemu_convert_pointer): likewise
22187 (efiemu_set_virtual_address_map): likewise
22188 (efiemu_convert_pointer): likewise
22189 (efiemu_getcrc32): likewise
22190 (init_crc32_table): likewise
22191 (reflect): likewise
22192 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
22193 (GRUB_MOD_DEP): likewise
473d1e45 22194
c8600122 221952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22196
22197 Allow a compilation without -mcmodel=large
22198
22199 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
22200 when compiled without -mcmodel=large
473d1e45 22201 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 22202 without -mcmodel=large
473d1e45 22203 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 22204 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 22205
e8df1d4e 222062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22207
22208 Remove nested functions in efiemu core
22209
22210 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 22211
cc6c3ac1 222122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
22215
22216 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
22217 temporary storage
473d1e45 22218 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
22219 using Apple's CC
cc6c3ac1 22220 (grub_cpu_is_tsc_supported): likewise
22221 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 22222
3e325901 222232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22224
22225 Absolute addressing through constant with Apple's cc
22226
22227 * kern/i386/pc/startup.S: Define necessary constants
22228 and address through it when using ABS with Apple's CC
22229 * boot/i386/pc/diskboot.S: likewise
22230 * boot/i386/pc/boot.S: likewise
22231 * boot/i386/pc/lnxboot.S: likewise
22232 * boot/i386/pc/cdboot.S: likewise
22233 * mmap/i386/pc/mmap_helper.S: likewise
22234 * commands/i386/pc/drivemap_int13h.S: likewise
22235
2b167a72 222362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 Check if compiler is apple cc
22239
22240 * Makefile.in (ASFLAGS): new variable
22241 (TARGET_ASFLAGS): likewise
22242 (TARGET_MODULE_FORMAT): likewise
22243 (TARGET_APPLE_CC): likewise
22244 (OBJCONV): likewise
22245 (TARGET_IMG_CFLAGS): likewise
22246 (TARGET_CPPFLAGS): add includedir
22247 * configure.ac: call grub_apple_cc and grub_apple_target_cc
22248 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
22249 Check for linker script only if compiler isn't Apple's CC
22250 (TARGET_MODULE_FORMAT): set
22251 (TARGET_APPLE_CC): likewise
22252 (TARGET_ASFLAGS): likewise
22253 (ASFLAGS): likewise
22254 Check for objcopy only if compiler isn't Apple's CC
22255 Check for BSS symbol only if compiler isn't Apple's CC
22256 * genmk.rb: adapt nm options if we use Apple's utils
22257 * aclocal.m4 (grub_apple_cc): new test
22258 (grub_apple_target_cc): likewise
473d1e45 22259
fb14123e 222602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22261
22262 Simplify sed expressions and improve awk
22263
22264 * Makefile.in (install-local): simplify sed expression
22265 * gencmdlist.sh: likewise
22266 * genmoddep.awk: avoid adding module as a dependency of itself
22267
5b889789 222682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22269
22270 Add missing start symbols
22271
22272 * boot/i386/pc/boot.S: add start
fb14123e 22273 * boot/i386/pc/pxeboot.S: likewise
473d1e45 22274
fd2bf2e3 222752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22276
22277 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 22278
22279 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 22280 (relocate_addresses): consider both r_addend and value at offset
22281 (make_mods_section): zerofill modinfo and header
22282 (convert_elf): write prefix here
473d1e45 22283
5389763d 222842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 Use .asciz instead of .string
22287
22288 * i386/pc/diskboot.S: use .asciz instead of .string
22289 * i386/pc/boot.S: likewise
22290 * include/grub/dl.h (GRUB_MOD_DEP): likewise
22291 (GRUB_MOD_NAME): likewise
473d1e45 22292
3eb5ed4e 222932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 gfxpayload support
22296
22297 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
22298 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
22299 (grub_video_setup): remove
22300 (grub_video_set_mode): new prototype
22301 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
22302 (vid_mode): remove
22303 (linux_vesafb_res): compile only on PCBIOS
22304 (grub_linux_boot): support gfxpayload
22305 * loader/i386/pc/xnu.c (video_hook): new function
22306 (grub_xnu_set_video): support gfxpayload
22307 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
22308 (DEFAULT_VIDEO_HEIGHT): likewise
22309 (DEFAULT_VIDEO_FLAGS): likewise
22310 (DEFAULT_VIDEO_MODE): new definition
22311 (video_hook): new function
22312 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 22313 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 22314 loading xnu
22315 * video/video.c (grub_video_setup): removed
473d1e45 22316 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 22317 grub_video_setup
22318
4b0e1143 223192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22320
22321 Avoid calling biosdisk in drivemap
22322
22323 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
22324 (revparse_biosdisk): likewise
22325 (list_mappings): derive name from id directly
22326 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 22327
fda6cb98 223282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22329
22330 Script fixes
22331
22332 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
22333 (grub_lexer_param): add tokenonhold
22334 (grub_script_create_cmdline): remove cmdline. All callers updated
22335 (grub_script_function_create): make functionname
22336 grub_script_arg. All callers updated
22337 (grub_script_execute_argument_to_string): new prototype
22338 * kern/parser.c (state_transitions): reorder
22339 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 22340 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 22341 make global
22342 (grub_script_execute_cmdline): use new format
22343 * script/sh/function.c (grub_script_function_create): make functionname
22344 grub_script_arg. All callers updated
473d1e45 22345 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 22346 (grub_script_yylex): remove
22347 (grub_script_yylex2): renamed to ...
22348 (grub_script_yylex): ...renamed
22349 parse the expressions like a${b}c
22350 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
22351 (GRUB_PARSER_TOKEN_VAR): remove
22352 (GRUB_PARSER_TOKEN_NAME): likewise
22353 ("if"): declare as typeless
22354 ("while"): likewise
22355 ("function"): likewise
22356 ("else"): likewise
22357 ("then"): likewise
22358 ("fi"): likewise
22359 (text): remove
22360 (argument): likewise
22361 (script): accept empty scripts and make exit on error
22362 (arguments): use GRUB_PARSER_TOKEN_ARG
22363 (function): likewise
22364 (command): move error handling to script
22365 (menuentry): move grub_script_lexer_ref before
473d1e45 22366 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 22367 argument. All callers updated
22368
f4448a07 223692009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22370
22371 Prevent GRUB from probing floppies during boot.
22372
22373 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
22374 * commands/search.c (options): Add --no-floppy.
22375 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
22376 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
22377 --no-floppy when searching for UUIDs.
22378
2bf5885a 223792009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22380
22381 Simplify the code duplication in commands/search.c.
22382
22383 * commands/search.c (search_label, search_fs_uuid): Merge into ...
22384 (search_fs): ... this. Update all users.
22385
f6fd460a 223862009-06-03 Felix Zielcke <fzielcke@z-51.de>
22387
22388 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
22389
cbb3c83e 223902009-05-28 Pavel Roskin <proski@gnu.org>
22391
57788cfd 22392 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
22393 Remove the original symlink explicitly.
22394
cbb3c83e 22395 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
22396 just one slash. That's how grub_fshelp_find_file() does it.
22397
cd0d5e30 223982009-05-26 Pavel Roskin <proski@gnu.org>
22399
f0f8bbe2 22400 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
22401 to `str'.
22402
cd0d5e30 22403 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
22404 possibly unused.
22405
8c2cab51 224062009-05-25 Christian Franke <franke@computer.org>
22407
22408 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
22409 register.
22410 (grub_atapi_identify): Add wait after drive select.
22411 (grub_ata_identify): Do more strict status register check before
22412 calling grub_atapi_identify (). Suppress error message if status
22413 register is 0x00 after command failure. Add status register
22414 check after PIO read to avoid bogus identify due to stuck DRQ.
22415 Thanks to Pavel Roskin for testing.
22416 (grub_device_initialize): Remove unsafe status register check.
22417 Thanks to 'phcoder' for problem report and patch.
22418 Prevent sign extension in debug message.
22419
230c0ad6 224202009-05-23 Colin D Bennett <colin@gibibit.com>
22421
22422 Cleaned up `include/grub/normal.h'. Grouped prototypes by
22423 definition file, and functions defined in `normal/menu.c' have had
22424 their prototypes moved to `include/grub/menu.h' for consistency.
22425
22426 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
22427 from normal.h.
22428 (grub_menu_get_entry): Likewise.
22429 (grub_menu_get_timeout): Likewise.
22430 (grub_menu_set_timeout): Likewise.
22431 (grub_menu_execute_entry): Likewise.
22432 (grub_menu_execute_with_fallback): Likewise.
22433 (grub_menu_entry_run): Likewise.
22434
22435 * include/grub/normal.h: Re-ordered and grouped function
22436 prototypes by file that the function is defined in.
22437 (grub_menu_execute_callback): Removed; moved to menu.h.
22438 (grub_menu_get_entry): Likewise.
22439 (grub_menu_get_timeout): Likewise.
22440 (grub_menu_set_timeout): Likewise.
22441 (grub_menu_execute_entry): Likewise.
22442 (grub_menu_execute_with_fallback): Likewise.
22443 (grub_menu_entry_run): Likewise.
22444 (grub_menu_addentry): Renamed from this ...
22445 (grub_normal_add_menu_entry): ... to this.
22446
22447 * normal/main.c (grub_menu_addentry): Renamed from this ...
22448 (grub_normal_add_menu_entry): ... to this.
22449
22450 * script/sh/execute.c (grub_script_execute_menuentry): Update
22451 reference to renamed grub_menu_addentry function.
22452
861f03a5 224532009-05-23 Felix Zielcke <fzielcke@z-51.de>
22454
22455 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
22456
96b1619a 224572009-05-22 Pavel Roskin <proski@gnu.org>
22458
bf6a5fb2 22459 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
22460 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
22461 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
22462 compiling for the i386 targets, but not for the utilities.
22463
96b1619a 22464 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
22465 to grub_uint8_t.
22466 (grub_root_drive): Likewise.
22467 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
22468 remove alignment.
22469 (grub_root_drive): Change size to byte.
22470 (grub_start_addr): Remove.
22471 (grub_end_addr): Likewise.
22472 (grub_apm_bios_info): Likewise.
22473
b729776b 224742009-05-21 Felix Zielcke <fzielcke@z-51.de>
22475
22476 * normal/i386: Remove.
22477 * normal/powerpc: Likewise.
22478 * normal/sparc64: Likewise.
22479 * normal/x86_64: Likewise.
22480
0a15ce80 224812009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
22482
22483 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 22484 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 22485 * loader/i386/xnu_helper.S: Likewise
d6da58e6 22486
33db9015 224872009-05-18 Colin D Bennett <colin@gibibit.com>
22488
d6da58e6 22489 Display error messages when parsing a Lua statement fails.
22490 Previously, executing a syntactically invalid statement like
22491 ")foo" or "bar;" would silently fail.
33db9015 22492
22493 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 22494 (grub_lua_parse_line): Improved reporting of Lua parser and
22495 execution errors.
33db9015 22496
46422c89 224972009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22498
22499 Remove -Werror which causes build to fail on some systems
22500
22501 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
22502 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
22503 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 22504
22f53a96 225052009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22506
22507 trampoline for linux on 64-bit platform
22508
18f547ad 22509 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
22510 loader/i386/efi/linux_trampoline.S
22511 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 22512 declaration
d6da58e6 22513 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
22514 here
22f53a96 22515 * loader/i386/linux_trampoline.S: moved here
d6da58e6 22516 * loader/i386/efi/linux.c (allocate_pages): reserve space for
22517 trampoline
22f53a96 22518 (jumpvector): removed
22519 (grub_linux_trampoline_start): new declaration
22520 (grub_linux_trampoline_end): likewise
22521 (grub_linux_boot): use trampoline when on 64-bit platform
22522 * loader/i386/linux.c: likewise
22523
cb5a0f40 225242009-05-16 Pavel Roskin <proski@gnu.org>
22525
22526 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
22527 const to avoid a warning.
22528 (grub_lua_setenv): Likewise.
22529 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
22530 lmsg to fix a warning.
22531
334f2c28 225322009-05-16 Felix Zielcke <fzielcke@z-51.de>
22533
22534 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 22535 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22536 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
22537 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22538 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22539 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22540 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22541 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 22542
59e5d3ec 225432009-05-16 Felix Zielcke <fzielcke@z-51.de>
22544
22545 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
22546
9d87a1ba 225472009-05-16 Bean <bean123ch@gmail.com>
22548
22549 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
22550 (lua_mod_SOURCES): New variable.
22551 (lua_mod_CFLAGS): Likewise.
22552 (lua_mod_LDFLAGS): Likewise.
22553
22554 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
22555 (setjmp_mod_SOURCES): New variable.
22556 (setjmp_mod_CFLAGS): Likewise.
22557 (setjmp_LDFLAGS): Likewise.
22558
22559 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
22560 (setjmp_mod_SOURCES): New variable.
22561 (setjmp_mod_CFLAGS): Likewise.
22562 (setjmp_LDFLAGS): Likewise.
22563
22564 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22565 (setjmp_mod_SOURCES): New variable.
22566 (setjmp_mod_CFLAGS): Likewise.
22567 (setjmp_LDFLAGS): Likewise.
22568
22569 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22570 (setjmp_mod_SOURCES): New variable.
22571 (setjmp_mod_CFLAGS): Likewise.
22572 (setjmp_LDFLAGS): Likewise.
22573
22574 * normal/i386/setjmp.S: Moved from here ...
22575 * lib/i386/setjmp.S: ... Moved here
22576 * normal/x86_64/setjmp.S: Moved from here ...
22577 * lib/x86_64/setjmp.S: ... Moved here
22578 * normal/powerpc/setjmp.S: Moved from here ...
22579 * lib/powerpc/setjmp.S: ... Moved here
22580 * normal/sparc64/setjmp.S: Moved from here ...
22581 * lib/sparc64/setjmp.S: ... Moved here
22582
22583 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
22584 returns_twice in mingw.
22585
22586 * script/lua/grub_lib.c: New file.
22587 * script/lua/grub_lib.h: Likewise.
22588 * script/lua/grub_lua.h: Likewise.
22589 * script/lua/grub_main.c: Likewise.
22590 * script/lua/lapi.c: Likewise.
22591 * script/lua/lapi.h: Likewise.
22592 * script/lua/lauxlib.c: Likewise.
22593 * script/lua/lauxlib.h: Likewise.
22594 * script/lua/lbaselib.c: Likewise.
22595 * script/lua/lcode.c: Likewise.
22596 * script/lua/lcode.h: Likewise.
22597 * script/lua/ldblib.c: Likewise.
22598 * script/lua/ldebug.c: Likewise.
22599 * script/lua/ldebug.h: Likewise.
22600 * script/lua/ldo.c: Likewise.
22601 * script/lua/ldo.h: Likewise.
22602 * script/lua/ldump.c: Likewise.
22603 * script/lua/lfunc.c: Likewise.
22604 * script/lua/lfunc.h: Likewise.
22605 * script/lua/lgc.c: Likewise.
22606 * script/lua/lgc.h: Likewise.
22607 * script/lua/linit.c: Likewise.
22608 * script/lua/liolib.c: Likewise.
22609 * script/lua/llex.c: Likewise.
22610 * script/lua/llex.h: Likewise.
22611 * script/lua/llimits.h: Likewise.
22612 * script/lua/lmathlib.c: Likewise.
22613 * script/lua/lmem.c: Likewise.
22614 * script/lua/lmem.h: Likewise.
22615 * script/lua/loadlib.c: Likewise.
22616 * script/lua/lobject.c: Likewise.
22617 * script/lua/lobject.h: Likewise.
22618 * script/lua/lopcodes.c: Likewise.
22619 * script/lua/lopcodes.h: Likewise.
22620 * script/lua/loslib.c: Likewise.
22621 * script/lua/lparser.c: Likewise.
22622 * script/lua/lparser.h: Likewise.
22623 * script/lua/lstate.c: Likewise.
22624 * script/lua/lstate.h: Likewise.
22625 * script/lua/lstring.c: Likewise.
22626 * script/lua/lstring.h: Likewise.
22627 * script/lua/lstrlib.c: Likewise.
22628 * script/lua/ltable.c: Likewise.
22629 * script/lua/ltable.h: Likewise.
22630 * script/lua/ltablib.c: Likewise.
22631 * script/lua/ltm.c: Likewise.
22632 * script/lua/ltm.h: Likewise.
22633 * script/lua/lua.h: Likewise.
22634 * script/lua/luaconf.h: Likewise.
22635 * script/lua/lualib.h: Likewise.
22636 * script/lua/lundump.c: Likewise.
22637 * script/lua/lundump.h: Likewise.
22638 * script/lua/lvm.c: Likewise.
22639 * script/lua/lvm.h: Likewise.
22640 * script/lua/lzio.c: Likewise.
22641 * script/lua/lzio.h: Likewise.
22642
5e898c9d 226432009-05-16 Bean <bean123ch@gmail.com>
22644
22645 * include/grub/kernel.h (grub_module_header_types): Add type
22646 OBJ_TYPE_CONFIG.
22647
22648 * kern/main.c (grub_load_config): New function.
22649 (grub_main): Call grub_load_config to read boot config.
22650
22651 * grub-mkimage (generate_image): New parameter config_path.
22652 (options): New option --config.
22653 (main): Parse --config option, and pass it to generate_image.
22654
cf353a47 226552009-05-14 Christian Franke <franke@computer.org>
22656
22657 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
22658 This fixes build on Cygwin.
22659
3834887f 226602009-05-14 Pavel Roskin <proski@gnu.org>
22661
22662 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
22663 jump. This saves two bytes, so the typical case of 2 swapped
22664 drives would fit 32 bytes.
22665
8090fc01 226662009-05-13 Pavel Roskin <proski@gnu.org>
22667
ac963883 22668 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
22669 grub_uint32_t to avoid a warning.
22670
8090fc01 22671 * loader/i386/linux.c (allocate_pages): When assigning
22672 real_mode_mem, cast through grub_size_t to fix a warning. The
22673 code already makes sure that the value would fit a pointer.
22674 (grub_linux_setup_video): Cast render_target->data to
22675 grub_size_t to fix a warning.
22676
18f547ad 226772009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 22678
22679 * commands/i386/pc/drivemap.c: New file - implement drivemap
22680 command.
22681 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
22682 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
22683
6f6a8b28 226842009-05-13 Pavel Roskin <proski@gnu.org>
22685
22686 * util/i386/pc/grub-setup.c (setup): Remove unused variable
22687 embedding_area_exists.
22688
15fbf4c4 226892009-05-13 Robert Millan <rmh.grub@aybabtu.com>
22690
22691 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
22692 it easier to understand / work with.
59978c8a 22693 Improve warning messages for cases where there's no embedding area,
22694 or when it is too small (or core.img too large).
15fbf4c4 22695
238e871f 226962009-05-13 Pavel Roskin <proski@gnu.org>
22697
0ab3a9a4 22698 * loader/i386/pc/multiboot2.c: Add necessary includes for
22699 grub_multiboot2_real_boot().
22700
a2c8c5f8 22701 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22702 PX record is always little-endian. We only need the lower 2
22703 bytes of the mode.
22704
faec96af 22705 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22706 facilitate code reuse.
22707 (grub_cpio_mount): Use "struct head", not a char buffer. This
22708 fixes a warning reported by gcc 4.4.
22709
238e871f 22710 * kernel/disk.c (grub_disk_read): Use void pointer for the
22711 buffer.
22712 (grub_disk_write): Use const void pointer for the buffer.
22713 Adjust all callers. Remove unnecessary casts.
22714
901d2f0c 227152009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22716
22717 * util/i386/pc/grub-install.in: Update copyright year.
22718
18f547ad 227192009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22720
22721 gptsync
22722
22723 * commands/gptsync.c: new file
22724 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22725 (gptsync_mod_SOURCES): new variable
22726 (gptsync_mod_CFLAGS): likewise
22727 (gptsync_mod_LDFLAGS): likewise
18f547ad 22728 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22729 new definition
22730 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22731 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22732 * conf/i386-ieee1275.rmk: likewise
22733 * conf/i386-pc.rmk: likewise
22734 * conf/powerpc-ieee1275.rmk: likewise
22735
b4ba690a 227362009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22737
22738 Fixed grub-emu
22739
22740 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22741 (grub_dl_ref): likewise
22742
317e1a44 227432009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22744
22745 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22746 split in two functions (one for msdos and one for gpt).
22747
041b8094 227482009-05-08 Pavel Roskin <proski@gnu.org>
22749
752473c2 22750 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22751 not modified.
22752
041b8094 22753 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22754 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22755 Initialize them with -1. Add sanity check for bad1. Eliminate
22756 nerr variable.
22757
172800ce 227582009-05-08 David S. Miller <davem@davemloft.net>
22759
22760 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22761
29aa5e81 227622009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22763
22764 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22765 existence.
29aa5e81 22766
96613b62 227672009-05-05 Felix Zielcke <fzielcke@z-51.de>
22768
22769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22770 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22771
eef73c8a 227722009-05-05 David S. Miller <davem@davemloft.net>
22773
22774 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22775
119494b5 227762009-05-05 Pavel Roskin <proski@gnu.org>
22777
22778 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22779 of grub_dl_ref() and grub_dl_unref().
22780 * commands/parttool.c: Remove preprocessor conditionals around
22781 grub_dl_ref() and grub_dl_unref().
22782 * fs/affs.c: Likewise.
22783 * fs/afs.c: Likewise.
22784 * fs/cpio.c: Likewise.
22785 * fs/ext2.c: Likewise.
22786 * fs/fat.c: Likewise.
22787 * fs/hfs.c: Likewise.
22788 * fs/hfsplus.c: Likewise.
22789 * fs/iso9660.c: Likewise.
22790 * fs/jfs.c: Likewise.
22791 * fs/minix.c: Likewise.
22792 * fs/ntfs.c: Likewise.
22793 * fs/reiserfs.c: Likewise.
22794 * fs/sfs.c: Likewise.
22795 * fs/udf.c: Likewise.
22796 * fs/ufs.c: Likewise.
22797 * fs/xfs.c: Likewise.
22798 * include/grub/dl.h: Likewise.
22799 * loader/xnu.c: Likewise.
22800
de5fd76e 228012009-05-04 Pavel Roskin <proski@gnu.org>
22802
22803 * commands/acpi.c: Remove unused variable my_mod.
22804 * partmap/amiga.c: Likewise.
22805 * partmap/apple.c: Likewise.
22806 * partmap/gpt.c: Likewise.
22807 * partmap/pc.c: Likewise.
22808 * partmap/sun.c: Likewise.
22809 * term/gfxterm.c: Likewise.
22810 * term/i386/pc/vesafb.c: Likewise.
22811 * term/i386/pc/vga.c: Likewise.
22812
983598ad 228132009-05-04 David S. Miller <davem@davemloft.net>
22814
22815 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22816 pointer args to grub_ieee1275_get_property().
22817
8aadec43 22818 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22819
9554b15e 22820 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22821 devices, and do not traverse down under controller nodes.
22822
67e23c90 22823 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22824 (grub_ofdisk_open): Use it to un-escape "," characters.
22825 * kern/disk.c (find_part_sep): New.
22826 (grub_disk_open): Use it to find the first non-escaped ','
22827 character in the disk name.
22828 * util/ieee1275/devicemap.c (escape_of_path): New.
22829 (grub_util_emit_devicemap_entry): Use it.
22830 * util/sparc64/ieee1275/grub-install.in: Update script to
22831 strip partition specifiers properly by not triggering on
22832 '\' escaped ',' characters.
22833
74bfdd2f 228342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22835
22836 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22837 to 0x300.
22838 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22839 resolutions.
22840 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22841 on documentation from Wikipedia).
22842
4241d2b1 228432009-05-04 Pavel Roskin <proski@gnu.org>
22844
22845 * disk/ata.c: Spelling fixes.
22846 * disk/raid.c: Likewise.
22847 * disk/usbms.c: Likewise.
22848 * disk/dmraid_nvidia.c: Likewise.
22849 * kern/ieee1275/openfw.c: Likewise.
22850 * kern/ieee1275/init.c: Likewise.
22851 * kern/ieee1275/cmain.c: Likewise.
22852 * boot/i386/pc/cdboot.S: Likewise.
22853 * video/readers/png.c: Likewise.
22854 * video/i386/pc/vbe.c: Likewise.
22855 * fs/udf.c: Likewise.
22856 * fs/hfs.c: Likewise.
22857 * fs/reiserfs.c: Likewise.
22858 * efiemu/runtime/efiemu.c: Likewise.
22859 * efiemu/main.c: Likewise.
22860 * efiemu/mm.c: Likewise.
22861 * include/grub/elf.h: Likewise.
22862 * include/grub/xnu.h: Likewise.
22863 * include/grub/usbdesc.h: Likewise.
22864 * include/grub/usb.h: Likewise.
22865 * include/grub/script_sh.h: Likewise.
22866 * include/grub/lib/LzmaEnc.h: Likewise.
22867 * include/grub/efiemu/efiemu.h: Likewise.
22868 * include/grub/command.h: Likewise.
22869 * normal/menu.c: Likewise.
22870 * normal/main.c: Likewise.
22871 * normal/datetime.c: Likewise.
22872 * bus/usb/uhci.c: Likewise.
22873 * mmap/i386/uppermem.c: Likewise.
22874 * mmap/mmap.c: Likewise.
22875 * commands/acpi.c: Likewise.
22876 * commands/test.c: Likewise.
22877 * partmap/apple.c: Likewise.
22878 * font/font.c: Likewise.
22879 * loader/sparc64/ieee1275/linux.c: Likewise.
22880 * loader/macho.c: Likewise.
22881 * loader/i386/bsd_trampoline.S: Likewise.
22882 * loader/i386/bsd.c: Likewise.
22883 * loader/xnu.c: Likewise.
22884 * term/i386/pc/vesafb.c: Likewise.
22885 * term/usb_keyboard.c: Likewise.
22886 * util/resolve.c: Likewise.
22887 * util/getroot.c: Likewise.
22888
0cfc0083 228892009-05-04 Felix Zielcke <fzielcke@z-51.de>
22890
22891 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22892
7c1d00cd 228932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22894
22895 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22896 build error.
22897
b01f0548 228982009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22899
22900 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22901 parameter only available on BIOS.
22902
ecc3eb22 229032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22904
22905 Removed wrong semicolon in declaration
22906
22907 * grub/misc.h (grub_dprintf): remove semicolon
22908
112972a9 229092009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22910
22911 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22912 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22913 is done by grub_cmd_linux() now).
22914 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22915 restore video to text mode.
22916 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22917 indicates lack of "vga=" parameter. "vga=0" is mapped to
22918 `GRUB_LINUX_VID_MODE_NORMAL'.
22919
afd5c115 229202009-05-04 Felix Zielcke <fzielcke@z-51.de>
22921
22922 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22923 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22924 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22925 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22926 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22927 `grub_script.tab.c'.
22928
22929 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22930 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22932 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22934
faa517ce 22935 * Makefile.in: Remove duplicated 2008 in Copyright line.
22936
ae0c0bdc 229372009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22938
473d1e45 22939 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22940 unconditionally.
22941 * include/grub/util/misc.h (grub_util_warn): New declaration.
22942
22943 * util/i386/pc/grub-install.in: Understand --force and pass it down
22944 to grub-setup.
22945
22946 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22947 down to setup().
22948 (setup): Improve error messages and add warnings when requested to
22949 install in odd layouts. Refuse to install using blocklists unless
22950 --force was set.
22951
18f547ad 229522009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22953
22954 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22955
6d260daa 229562009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22957
22958 Updated copyright year
22959
22960 * fs/hfsplus.c: updated copyright year
18f547ad 22961
69f853f8 229622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22963
22964 HFS+ UUID
22965
18f547ad 22966 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22967 in the space previously used by unused3
22968 (grub_hfsplus_uuid): new function
22969 (grub_hfsplus_fs): added uuid field
22970
4c402e73 229712009-05-03 Pavel Roskin <proski@gnu.org>
22972
22973 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22974 suppress warnings. It's no longer needed.
22975 * disk/host.c: Likewise.
22976 * disk/ata_pthru.c: Likewise.
22977 * disk/loopback.c: Likewise.
22978 * hook/datehook.c: Likewise.
22979 * parttool/pcpart.c: Likewise.
22980 * fs/i386/pc/pxe.c: Likewise.
22981 * fs/ntfscomp.c: Likewise.
22982 * efiemu/main.c: Likewise.
22983 * mmap/mmap.c: Likewise.
22984 * commands/crc.c: Likewise.
22985 * commands/hexdump.c: Likewise.
22986 * commands/hdparm.c: Likewise.
22987 * commands/acpi.c: Likewise.
22988 * commands/echo.c: Likewise.
22989 * commands/minicmd.c: Likewise.
22990 * commands/blocklist.c: Likewise.
22991 * commands/memrw.c: Likewise.
22992 * commands/loadenv.c: Likewise.
22993 * commands/usbtest.c: Likewise.
22994 * commands/lsmmap.c: Likewise.
22995 * commands/boot.c: Likewise.
22996 * commands/parttool.c: Likewise.
22997 * commands/configfile.c: Likewise.
22998 * commands/search.c: Likewise.
22999 * commands/ieee1275/suspend.c: Likewise.
23000 * commands/cat.c: Likewise.
23001 * commands/i386/pc/pxecmd.c: Likewise.
23002 * commands/i386/pc/play.c: Likewise.
23003 * commands/i386/pc/halt.c: Likewise.
23004 * commands/i386/pc/vbeinfo.c: Likewise.
23005 * commands/i386/pc/vbetest.c: Likewise.
23006 * commands/lspci.c: Likewise.
23007 * commands/date.c: Likewise.
23008 * commands/handler.c: Likewise.
23009 * commands/ls.c: Likewise.
23010 * commands/test.c: Likewise.
23011 * commands/cmp.c: Likewise.
23012 * commands/efi/loadbios.c: Likewise.
23013 * commands/efi/fixvideo.c: Likewise.
23014 * commands/halt.c: Likewise.
23015 * commands/help.c: Likewise.
23016 * commands/reboot.c: Likewise.
23017 * hello/hello.c: Likewise.
23018 * script/sh/main.c: Likewise.
23019 * loader/xnu.c: Likewise.
23020 * term/terminfo.c: Likewise.
23021 * term/i386/pc/serial.c: Likewise.
23022 * term/usb_keyboard.c: Likewise.
23023
515b5079 230242009-05-03 David S. Miller <davem@davemloft.net>
23025
23026 * normal/menu.c: Include grub/parser.h
23027
dfc31a22 230282009-05-03 Pavel Roskin <proski@gnu.org>
23029
2fee74f1 23030 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
23031 not char*.
23032 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
23033 Suggested by Javier Martín <lordhabbit@gmail.com>
23034
dfc31a22 23035 * util/i386/pc/grub-mkrescue.in: Allow for the case when
23036 efiemu??.o doesn't exist.
23037 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
23038 copying.
23039
18f547ad 230402009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 23041
23042 FreeBSD 64-bit support
23043
18f547ad 23044 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 23045 and loader/i386/bsd_trampoline.S
23046 (bsd_mod_ASFLAGS): new variable
23047 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
23048 (FREEBSD_MODTYPE_KERNEL64): likewise
23049 (grub_bsd64_trampoline_start): likewise
23050 (grub_bsd64_trampoline_end): likewise
23051 (grub_bsd64_trampoline_selfjump): likewise
23052 (grub_bsd64_trampoline_gdt): likewise
23053 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
23054 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
23055 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
23056 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 23057 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 23058 of "attrib" member
23059 * loader/i386/bsd_pagetable.c: new file
23060 * loader/i386/bsd_trampoline.S: likewise
23061 * loader/i386/bsd.c (ALIGN_QWORD): new macro
23062 (ALIGN_VAR): likewise
23063 (entry_hi): new variable
23064 (kern_end_mdofs): likewise
23065 (is_64bit): likewise
23066 (grub_freebsd_add_meta): use ALIGN_VAR
23067 (grub_e820_mmap): new declaration
23068 (grub_freebsd_add_mmap): new function
23069 (grub_freebsd_add_meta_module): support 64 bit kernels
23070 (grub_freebsd_list_modules): use ALIGN_VAR
23071 (gdt_descriptor): new declaration
23072 (grub_freebsd_boot): support 64 bit kernels
23073 (grub_bsd_elf64_hook): new function
23074 (grub_bsd_load_elf): support elf64
23075
038c5720 230762009-05-03 Bean <bean123ch@gmail.com>
23077
23078 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
23079 after we get the result of if statement.
23080
fc45fb58 230812009-05-03 Bean <bean123ch@gmail.com>
23082
23083 * Makefile.in (enable_efiemu): New variable.
23084
23085 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
23086 set.
23087 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
23088 path.
23089 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
23090 path, add -mno-red-zone option.
23091 (efiemu64_s.o): Likewise.
23092 (efiemu64.o): Use macro $^ for source file.
23093
23094 * configure.ac (--enable-efiemu): New option.
23095
bbee0f2b 230962009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 xnu support
23099
23100 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
23101 (pkglib_MODULES): add xnu.mod
23102 (xnu_mod_SOURCES): new variable
23103 (xnu_mod_CFLAGS): likewise
23104 (xnu_mod_LDFLAGS): likewise
23105 (xnu_mod_ASFLAGS): likewise
23106 * conf/i386-pc.rmk: likewise
23107 * conf/x86_64-efi.rmk: likewise
7dd4a573 23108 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 23109 new declaration
23110 * include/grub/i386/macho.h: new file
23111 * include/grub/i386/xnu.h: likewise
23112 * include/grub/macho.h: likewise
23113 * include/grub/machoload.h: likewise
23114 * include/grub/x86_64/macho.h: likewise
23115 * include/grub/x86_64/xnu.h: likewise
23116 * include/grub/xnu.h: likewise
23117 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
23118 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
23119 * loader/i386/efi/xnu.c: new file
23120 * loader/i386/pc/xnu.c: likewise
23121 * loader/i386/xnu.c: likewise
23122 * loader/i386/xnu_helper.S: likewise
23123 * loader/macho.c: likewise
23124 * loader/xnu.c: likewise
23125 * loader/xnu_resume.c: likewise
23126 * util/grub-dumpdevtree: likewise
23127 * include/grub/i386/pit.h: include grub/err.h
23128 (grub_pit_wait): export
23129 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 23130
5caf964d 231312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23132
23133 Efiemu
7dd4a573 23134
5caf964d 23135 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 23136 _linux_efi, linux_efi.
23137 new files in grub-emu
5caf964d 23138 new targets efiemu32.o and efiemu64.o
23139 * loader/linux_normal_efiemu.c: likewise
23140 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 23141 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 23142 files to copy
23143 * include/grub/autoefi.h: new file
7dd4a573 23144 * include/grub/i386/efiemu.h: likewise
5caf964d 23145 * include/grub/i386/pc/efiemu.h: likewise
23146 * include/grub/efi/api.h: add LL suffix when necessary
23147 new definitions relating to tables
23148 * include/grub/efiemu/efiemu.h: new file
23149 * include/grub/efiemu/runtime.h: likewise
23150 * efiemu/prepare.c: likewise
23151 * efiemu/loadcore_common.c: likewise
23152 * efiemu/loadcore64.c: likewise
23153 * efiemu/runtime/efiemu.sh: likewise
23154 * efiemu/runtime/efiemu.S: likewise
23155 * efiemu/runtime/efiemu.c: likewise
23156 * efiemu/runtime/config.h: likewise
23157 * efiemu/prepare32.c: likewise
23158 * efiemu/main.c: likewise
23159 * efiemu/modules/pnvram.c: likewise
23160 * efiemu/modules/i386: likewise
23161 * efiemu/modules/i386/pc: likewise
23162 * efiemu/modules/acpi.c: likewise
23163 * efiemu/i386/pc/cfgtables.c: likewise
23164 * efiemu/i386/loadcore64.c: likewise
23165 * efiemu/i386/loadcore32.c: likewise
23166 * efiemu/prepare64.c: likewise
23167 * efiemu/loadcore.c: likewise
23168 * efiemu/symbols.c: likewise
23169 * efiemu/mm.c: likewise
23170 * efiemu/loadcore32.c: likewise
7dd4a573 23171
231722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 23173
23174 ACPI spoofing
23175
23176 * commands/acpi.c: new file
23177 * commands/i386/pc/acpi.c: likewise
23178 * commands/efi/acpi.c: likewise
23179 * include/grub/acpi.h: likewise
23180 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
23181 (acpi_mod_SOURCES): new variable
23182 (acpi_mod_CFLAGS): likewise
23183 (acpi_mod_LDFLAGS): likewise
23184 * conf/i386-efi.rmk: likewise
23185 * conf/x86_64-efi.rmk: likewise
23186
7dd4a573 231872009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 23188
23189 Missing part from mmap patch
23190
23191 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
23192 (grub_mmap_unregister)
23193 (grub_mmap_free_and_unregister): use grub_mmap_register
23194
7dd4a573 231952009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 23196
23197 Mmap services
23198
23199 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
23200 * loader/i386/linux.c (find_mmap_size): likewise
23201 (allocate_pages): likewise
23202 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
23203 (grub_fill_multiboot_mmap): likewise
23204 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
23205 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
23206 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
23207 (OPENBSD_MMAP_RESERVED): likewise
23208 * include/grub/i386/pc/memory.h: include grub/memory.h
23209 (grub_lower_mem): removed
23210 (grub_upper_mem): likewise
23211 (GRUB_MACHINE_MEMORY_ACPI): new definition
23212 (GRUB_MACHINE_MEMORY_NVS): likewise
23213 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
23214 (GRUB_MACHINE_MEMORY_HOLE): likewise
23215 (grub_machine_mmap_register): likewise
23216 (grub_machine_mmap_unregister): likewise
23217 (grub_machine_get_upper): likewise
23218 (grub_machine_get_lower): likewise
23219 (grub_machine_get_post64): likewise
23220 * include/grub/i386/efi/memory.h: new file
23221 * include/grub/x86_64/efi/memory.h: likewise
23222 * include/grub/efi/memory.h: likewise
23223 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
23224 (mmap_mod_SOURCES): new variable
23225 (mmap_mod_LDFLAGS): likewise
23226 (mmap_mod_ASFLAGS): likewise
23227 * conf/i386-coreboot.rmk: likewise
23228 * conf/i386-ieee1275.rmk: likewise
23229 * conf/i386-efi.rmk: likewise
23230 * conf/x86_64-efi.rmk: likewise
23231 * include/grub/types.h (UINT_TO_PTR): new macro
23232 (PTR_TO_UINT32): likewise
23233 (PTR_TO_UINT64): likewise
23234 * include/grub/memory.h: new file
23235 * mmap/i386/pc/mmap.c: likewise
23236 * mmap/i386/pc/mmap_helper.S: likewise
23237 * mmap/i386/uppermem.c: likewise
23238 * mmap/mmap.c: likewise
23239 * mmap/efi/mmap.c: likewise
7dd4a573 23240 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 23241 grub_upper_mem
23242 * kern/i386/pc/init.c (grub_lower_mem): removed variable
23243 (grub_upper_mem): likewise
23244 (grub_machine_init): don't use grub_upper_mem,
23245 make grub_lower_mem local
23246 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
23247 grub_mmap_iterate and grub_mmap_get_upper
23248 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
23249
d558e6b5 232502009-05-02 Bean <bean123ch@gmail.com>
23251
23252 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
23253 script/sh/parser.y.
23254 (pkglib_MODULES): Add normal.mod and sh.mod.
23255 (normal_SOURCES): New variable.
23256 (normal_mod_CFLAGS): Likewise.
23257 (normal_mod_LDFLAGS): Likewise.
23258 (sh_mod_SOURCES): Likewise.
23259 (sh_mod_CFLAGS): Likewise.
23260 (sh_mod_LDFLAGS): Likewise.
23261
23262 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
23263 script/sh/lexer.c_DEPENDENCIES.
23264 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
23265 kern/rescue_reader.c and kern/rescue_parser.c.
23266 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
23267 (grub_emu_SOURCES): Change source files.
23268 (pkglib_MODULES): Remove normal.mod.
23269 (normal_SOURCES): Removed.
23270 (normal_mod_CFLAGS): Likewise.
23271 (normal_mod_LDFLAGS): Likewise.
23272 * conf/i386-coreboot.rmk: Likewise.
23273 * conf/i386-efi.rmk: Likewise.
23274 * conf/i386-ieee1276.rmk: Likewise.
23275 * conf/powerpc-ieee1275.rmk: Likewise.
23276 * conf/sparc64-ieee1275.rmk: Likewise.
23277 * conf/x86_64-efi.rmk: Likewise.
23278
23279 * include/grub/command.h (grub_command_execute): New inline function.
23280
23281 * include/grub/menu.h (grub_menu_entry): Removed commands field.
23282
23283 * include/grub/normal.h: Remove <grub/setjmp.h>.
23284 (grub_fs_module_list): Moved to normal/autofs.c.
23285 (grub_exit_env): Removed.
23286 (grub_command_execute): Likewise.
23287 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
23288 parameter script.
23289 (read_command_list): New function declaration.
23290 (read_fs_list): Likewise.
23291
23292 * include/parser.h: Include <grub/reader.h>.
23293 (grub_parser_split_cmdline): Change type of getline parameter.
23294 (grub_parser): New structure.
23295 (grub_parser_class): New variable.
23296 (grub_parser_execute): New function declaration.
23297 (grub_register_rescue_parser): Likewise.
23298 (grub_parser_register): New inline function.
23299 (grub_parser_unregister): Likewise.
23300 (grub_parser_get_current): Likewise.
23301 (grub_parser_set_current): Likewise.
23302
23303 * include/grub/reader.h: New file.
23304 * kern/reader.c: Likewise.
23305 * kern/rescue_parser.c: Likewise.
23306 * kern/rescue_reader.c: Likewise.
23307 * normal/autofs.c: Likewise.
23308 * normal/dyncmd.c: Likewise.
23309
23310 * include/grub/rescue.h: Removed.
23311 * normal/command.h: Likewise.
23312
23313 * include/grub/script.h: Moved to ...
23314 * include/grub/script_sh.h: ... Moved here.
23315 * normal/execute.c: Moved to ...
23316 * script/sh/execute.c: ... Moved here.
23317 * normal/function.c: Moved to ...
23318 * script/sh/function.c: ... Moved here.
23319 * normal/lexer.c: Moved to ...
23320 * script/sh/lexer.c: ... Moved here.
23321 * normal/parser.y: Moved to ...
23322 * script/sh/parser.y: ... Moved here.
23323 * normal/script.c: Moved to ...
23324 * script/sh/script.c: ... Moved here.
23325
23326 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
23327 <grub/reader.h>.
23328 (grub_exit_env): Removed.
23329 (fs_module_list): Moved to normal/autofs.c.
23330 (grub_file_getline): Don't handle comment here.
23331 (free_menu): Skip removed field entry->commands.
23332 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
23333 script parameter.
23334 (read_config_file): Removed nested parameter, change getline function.
23335 (grub_enter_normal_mode): Removed.
23336 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
23337 (read_command_list): Likewise.
23338 (autoload_fs_module): Moved to normal/autofs.c.
23339 (read_fs_list): Likewise.
23340 (reader_nested): New variable.
23341 (grub_normal_execute): Run parser.sh to switch to sh parser.
23342 (grub_cmd_rescue): Removed.
23343 (cmd_normal): Removed.
23344 (grub_cmd_normal): Unregister itself at the beginning. Don't register
23345 rescue command.
23346 (grub_cmdline_run): New function.
23347 (grub_normal_reader_init): Likewise.
23348 (grub_normal_read_line): Likewise.
23349 (grub_env_write_pager): Likewise.
23350 (cmdline): New variable.
23351 (grub_normal_reader): Likewise.
23352 (GRUB_MOD_INIT): Register normal reader and set as current, register
23353 pager hook, register normal command with grub_register_command_prio,
23354 so that it won't show up in command.lst.
23355 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
23356 grub_fs_autoload_hook.
23357
23358 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
23359 (grub_menu_execute_entry): Replace grub_script_execute with
23360 grub_parser_execute, change parameter to grub_command_execute.
23361
23362 * normal/menu_text.c: Remove <grub/script.h>.
23363
23364 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
23365 and <grub/parser.h>.
23366 (run): Change editor_getline to use new parser interface. Change
23367 parameter to grub_command_execute.
23368
23369 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
23370 <grub/reader.h> and <grub/parser.h>.
23371 (grub_load_normal_mode): Execute normal command.
23372 (grub_main): Call grub_register_core_commands,
23373 grub_register_rescue_parser and grub_register_rescue_reader, use
23374 grub_reader_loop to enter input loop.
23375
7dd4a573 23376 * kern/parser.c (grub_parser_split_cmdline): Change type of
23377 getline parameter.
d558e6b5 23378 (grub_parser_class): New variable.
23379 (grub_parser_execute): New function.
23380
23381 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
23382 * loader/multiboot2.c: Likewise.
23383 * loader/sparc64/ieee1275/linux.c: Likewise.
23384
23385 * util/grub-emu.c (read_command_list): New dummy function.
23386
18db813d 233872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23388
23389 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
23390 count to 16 for CCISS and IDA.
23391
6c67de15 233922009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23393
23394 * normal/menu_text.c (grub_wait_after_message): Print a newline
23395 after waiting for user input.
23396
23397 * loader/i386/linux.c: Include `<grub/normal.h>'.
23398 (grub_cmd_linux): Improve the error message about `ask' mode, by
23399 waiting for user input so it's not missed (we can do this, since
23400 user requested interaction).
23401
d9dc87b0 234022009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23403
23404 Added missing lst to grub-mkrescue
23405
23406 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
23407 and ${input_dir}/parttool.lst
23408
ac8a2baa 234092009-04-30 David S. Miller <davem@davemloft.net>
23410
ad22a610 23411 * util/hostdisk.c (device_is_wholedisk): New function.
23412 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
23413 zero only if device_is_wholedisk() returns true.
23414
6966215d 23415 * util/hostdisk.c (convert_system_partition_to_system_disk):
23416 Handle virtual disk devices named /dev/vdiskX as found on sparc
23417 and powerpc.
23418
ac8a2baa 23419 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
23420 lettered partition specifier is found, convert to numbered.
23421
979b4fb4 234222009-04-29 David S. Miller <davem@davemloft.net>
23423
e2bf39b2 23424 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
23425 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23426
3c64e104 23427 * normal/command.c: Add missing newline at end of file.
23428
979b4fb4 23429 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
23430 warnings.
23431 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
23432 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
23433 grub_ofdisk_read): Likewise, and deal similarly with the fact that
23434 ihandles have a 32-bit type but need to be stored in a "void *".
23435
136d9f82 234362009-04-28 Pavel Roskin <proski@gnu.org>
23437
9459c306 23438 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
23439 not disk. Adjust all dependencies.
2e08a26a 23440 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 23441 grub_disk_close().
23442
136d9f82 23443 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
23444 parent's partition, don't copy it by reference, as it gets freed
23445 on close.
23446
7dd4a573 234472009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 23448
23449 Preboot hooks support
23450
23451 * commands/boot.c (struct grub_preboot_t): new declaration
23452 (preboots_head): new variable
23453 (preboots_tail): likewise
23454 (grub_loader_register_preboot_hook): new function
23455 (grub_loader_unregister_preboot_hook): likewise
23456 (grub_loader_set): launch preboot hooks
23457 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
23458 (grub_loader_register_preboot_hook): new declaration
23459 (grub_loader_unregister_preboot_hook): likewise
23460
5af922b5 234612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23462
23463 Warning fix
23464
7dd4a573 23465 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 23466 calling grub_dprintf
23467
a5562c30 234682009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
23469
23470 Bug and warning fixes
23471
7dd4a573 23472 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 23473 declaration
23474 * commands/test.c (test_parse): fixed bug with file tests and corrected
23475 declaration of find_file
23476
4006f85c 234772009-04-26 Pavel Roskin <proski@gnu.org>
23478
23479 * Makefile.in: Don't install empty manual pages if help2man is
23480 missing. Use help2man option for output, not shell redirection.
23481
5c77c3de 234822009-04-26 David S. Miller <davem@davemloft.net>
23483
23484 * util/grub-mkdevicemap.c (make_device_map): Add missing
23485 NESTED_FUNC_ATTR to process_device().
23486
033b10a8 234872009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 Test command
23490
23491 * commands/test.c: rewritten to use bash-like test
23492
e4343593 234932009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23494
23495 Parttool autoloading and improvements
23496
7dd4a573 23497 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 23498 (parttool.lst): new target
23499 * genmk.rb: generate parttool-*
23500 (CLEANFILES): add #{parttool}
23501 (PARTTOOLFILES): new variable
23502 * genparttoollist.sh: new file
7dd4a573 23503 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 23504 (grub_pcpart_type): likewise
23505 * commands/parttool.c (helpmsg): new variable
23506 (grub_cmd_parttool): output help if not enough arguments are supplied
23507 autoload modules
23508 (GRUB_MOD_INIT(parttool)): use helpmsg
23509
0d312500 235102009-04-24 David S. Miller <davem@davemloft.net>
23511
7dd4a573 23512 Avoiding opening same device multiple times in device iterator.
0d312500 23513
23514 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 23515 and use it to build a list of partitions in iterate_disk() and
0d312500 23516 iterate_partition().
23517
ac20caff 23518 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
23519 on disk->data.
23520
0dcf7495 23521 * disk/ieee1275/nand.c (grub_nand_iterate): Return
23522 grub_devalias_iterate() result instead of unconditional 0.
23523 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
23524 Also, capture hook return value, either directly or via
23525 grub_children_iterate(), and propagate to caller.
23526 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
23527 grub_children_iterate): Return value is now 'int' instead of
23528 'grub_err_t'.
23529 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
23530 like a proper iterator, stopping when hooks return non-zero.
23531 (grub_devalias_iterate): Likewise.
23532
c8c08833 235332009-04-23 David S. Miller <davem@davemloft.net>
23534
23535 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
23536
f01005a8 235372009-04-22 David S. Miller <davem@davemloft.net>
23538
23539 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
23540 is larger than address_cells, use that value for address_cells too.
23541
4e8269da 23542 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
23543 IEEE1275_MAX_PATH_LEN): Define.
23544 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
23545 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
23546 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
23547 'devtype'. Explicitly NULL terminate devalias expansion.
23548
a1447506 23549 * util/sparc64/ieee1275/misc.c: New file.
23550 * util/sparc64/ieee1275/grub-setup.c: New file.
23551 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
23552 * util/sparc64/ieee1275/grub-mkimage.c: New file.
23553 * util/sparc64/ieee1275/grub-install.in: New file.
23554 * util/ieee1275/ofpath.c: New file.
23555 * util/ieee1275/devicemap.c: New file.
23556 * util/devicemap.c: New file.
23557 * util/deviceiter.c: New file.
23558 * kern/sparc64/ieee1275/init.c: New file.
23559 * include/grub/util/ofpath.h: New file.
23560 * include/grub/util/deviceiter.h: New file.
23561 * util/grub-mkdevicemap.c: Include deviceiter.h.
23562 Implement using grub_util_emit_devicemap_entry and
23563 grub_util_iterate_devices.
23564 * conf/i386-corebook.rmk: Build util/deviceiter.c and
23565 util/devicemap.c into grub-mkdevicemap
23566 * conf/i386-efi.rmk: Likewise.
23567 * conf/i386-ieee1275.rmk: Likewise.
23568 * conf/i386-pc.rmk: Likewise.
23569 * conf/powerpc-ieee1275.rmk: Likewise.
23570 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
23571 images and installation utilities. Build kernel as image
23572 instead of as elf binary. Use common rules as much as possible.
23573
7dd4a573 235742009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 23575
23576 Correct GPT definition
23577
7dd4a573 23578 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 23579 of "attrib" member
23580
c6c5219f 235812009-04-19 Felix Zielcke <fzielcke@z-51.de>
23582
23583 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
23584
0552ff9f 235852009-04-19 David S. Miller <davem@davemloft.net>
23586
23587 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
23588 (grub_rescue_cmd_linux): Rename to...
23589 (grub_cmd_linux): and fix prototype.
23590 (grub_rescue_cmd_initrd): Rename to...
23591 (grub_cmd_initrd): and fix prototype.
23592 (cmd_linux, cmd_initrd): New.
23593 (GRUB_MOD_INIT(linux)): Use grub_register_command().
23594 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
23595
d1a282fc 235962009-04-17 Pavel Roskin <proski@gnu.org>
23597
07c5039f 23598 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
23599 format.
23600 (grub_ohci_transfer): Likewise.
23601
b012002d 23602 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
23603
1bc09c35 23604 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
23605 return without a value. Fix inconsistent indentation.
23606
e0ff9126 23607 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
23608 match struct grub_fs.
23609
d1a282fc 23610 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
23611 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
23612 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23613 * commands/lspci.c (grub_lspci_iter): Likewise.
23614
a96df3f2 236152009-04-16 Bean <bean123ch@gmail.com>
23616
23617 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
23618 value.
23619
41bb0fe9 236202009-04-15 Pavel Roskin <proski@gnu.org>
23621
23622 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
23623 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
23624 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
23625 definitions.
23626
596c6970 236272009-04-15 Felix Zielcke <fzielcke@z-51.de>
23628
23629 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 23630 that no multiple data or metadata areas are supported and `Unknown
596c6970 23631 metadata header'.
23632
7dd4a573 236332009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 23634
23635 Move loader out of the kernel
23636
23637 * kern/loader.c: moved to ...
23638 * commands/boot.c: ... moved here
23639 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
23640 * commands/boot.c (grub_cmd_boot): moved here. All users updated
23641 * include/grub/kernel.h (grub_machine_fini): export
23642 * include/grub/loader.h (grub_loader_is_loaded): update declaration
23643 (grub_loader_set): likewise
23644 (grub_loader_unset): likewise
23645 (grub_loader_boot): likewise
23646 * conf/common.rmk: new module boot.mod
23647 (pkglib_MODULES): add boot.mod
23648 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
23649 (grub_emu_SOURCES): likewise
23650 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
23651 (grub_emu_SOURCES): likewise
23652 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
23653 (grub_emu_SOURCES): likewise
23654 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
23655 (grub_emu_SOURCES): likewise
23656 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
23657 (grub_emu_SOURCES): likewise
7dd4a573 23658 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
23659 (grub_emu_SOURCES): likewise
0d5d5653 23660 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 23661 (grub_emu_SOURCES): likewise
0d5d5653 23662
7dd4a573 236632009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 23664
23665 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 23666
5999d619 23667 * kern/misc.c (grub_itoa): Removed function
23668 (grub_ltoa): likewise
23669 (grub_vsprintf): use grub_lltoa
23670
7dd4a573 236712009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 23672
23673 Restore grub-emu
23674
23675 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
23676 * conf/i386-coreboot.rmk: likewise
23677 * conf/i386-ieee1275.rmk: likewise
23678 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23679
20318222 236802009-04-15 Felix Zielcke <fzielcke@z-51.de>
23681
23682 * INSTALL: Add that `./autogen.sh' needs to be run before
23683 `./configure.'.
23684
d05f0df3 236852009-04-14 Bean <bean123ch@gmail.com>
23686
23687 * Makefile.in (pkglib_DATA): Add handler.lst.
23688 (handler.lst): New rule.
23689
23690 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
23691 * conf/i386-coreboot.rmk: Likewise.
23692 * conf/i386-ieee1275.rmk: Likewise.
23693 * conf/i386-efi.rmk: Likewise.
23694 * conf/x86_64-efi.rmk: Likewise.
23695 * conf/powerpc-ieee1275.rmk: Likewise.
23696 * conf/sparc64-ieee1275.rmk: Likewise.
23697
23698 * genhandlerlist.sh: New file.
23699
23700 * genmk.rb: Add rules to generate handler.lst.
23701
23702 * include/grub/normal.h (grub_file_getline): New function definition.
23703 (read_handler_list): Likewise.
23704 (free_handler_list): Likewise.
23705
23706 * include/grub/term.h (grub_term_register_input): Add name parameter
23707 for auto generation of handler.lst.
23708 (grub_term_register_output): Likewise.
23709
23710 * normal/handler.c: New file.
23711
23712 * normal/main.c (get_line): Renamed to grub_file_getline.
23713 (read_config_file): Use the newly renamed grub_file_getline.
23714 (read_command_list): Likewise.
23715 (read_fs_list): Likewise.
23716 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23717 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23718
23719 * term/efi/console.c (grub_console_init): Add name parameter for auto
23720 generation of handler.lst.
23721 * term/gfxterm.c: Likewise.
23722 * term/i386/pc/at_keyboard.c: Likewise.
23723 * term/i386/pc/console.c: Likewise.
23724 * term/i386/pc/serial.c: Likewise.
23725 * term/i386/pc/vesafb.c: Likewise.
23726 * term/i386/pc/vga.c: Likewise.
23727 * term/i386/pc/vga_text.c: Likewise.
23728 * term/ieee1275/ofconsole.c: Likewise.
23729 * term/usb_keyboard.c: Likewise.
23730
33c846be 237312009-04-14 Bean <bean123ch@gmail.com>
23732
23733 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23734 properly with null character.
23735
4484e01e 237362009-04-14 Felix Zielcke <fzielcke@z-51.de>
23737
23738 * configure: Remove.
23739 * config.h.in: Likewise.
f93d668e 23740 * stamp-h.in: Likewise.
4484e01e 23741 * DISTLIST: Likewise.
23742 * conf/common.mk: Likewise.
23743 * conf/i386-coreboot.mk: Likewise.
23744 * conf/i386-efi.mk: Likewise.
23745 * conf/i386-ieee1275.mk: Likewise.
23746 * conf/i386.mk: Likewise.
23747 * conf/i386-pc.mk: Likewise.
23748 * conf/powerpc-ieee1275.mk: Likewise.
23749 * conf/sparc64-ieee1275.mk: Likewise.
23750 * conf/x86_64-efi.mk: Likewise.
23751
23752 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23753 develop on GRUB.
23754
7dd4a573 237552009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23756 David S. Miller <davem@davemloft.net>
23757
23758 * util/hostdisk.c (make_device_name): Fix buffer length
23759 calculations.
23760
e25b5a8c 237612009-04-14 Felix Zielcke <fzielcke@z-51.de>
23762
23763 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23764 <sys/param.h> and <sys/sysctl.h>.
23765 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23766 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23767 opening the device and reset them afterwards.
23768
1f1f580c 237692009-04-13 Pavel Roskin <proski@gnu.org>
23770
23771 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23772 Reported by John Stanley <jpsinthemix@verizon.net>
23773
7ebc2d6b 237742009-04-13 Robert Millan <rmh@aybabtu.com>
23775
23776 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23777 that name for menuentries when appropriate.
7ebc2d6b 23778
d8ba3667 237792009-04-13 Felix Zielcke <fzielcke@z-51.de>
23780
23781 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23782
cba416eb 237832009-04-13 Robert Millan <rmh@aybabtu.com>
23784
23785 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23786 to Linux, simply abort telling the user it's no longer supported.
23787
a547a745 237882009-04-13 Felix Zielcke <fzielcke@z-51.de>
23789
23790 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23791 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23792 `freebsd_loadenv' only when devices.hints exist.
23793
232a769c 237942009-04-13 Pavel Roskin <proski@gnu.org>
23795
23796 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23797
c3012039 237982009-04-13 Felix Zielcke <fzielcke@z-51.de>
23799
23800 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23801 partition number.
23802 (grub_drive): Likewise.
23803
234022fe 238042009-04-13 David S. Miller <davem@davemloft.net>
23805
23806 * kern/sparc64/ieee1275/ieee1275.c: New file.
23807 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23808 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23809 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23810 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23811 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23812 grub_ieee1275_alloc_physmem): Declare new exported functions.
23813
d8e1836c 23814 * include/grub/sparc64/ieee1275/loader.h: New file.
23815 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23816 * include/grub/sparc64/kernel.h: Likewise.
23817 * loader/sparc64/ieee1275/linux.c: Likewise.
23818
96bd81ec 23819 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23820 (grub_fstest_SOURCES): Likewise.
23821
6a4737e5 23822 * util/hostdisk.c (make_device_name): Do not make any assumptions
23823 about the length of drive names.
23824
1d7a72fd 23825 * kern/dl.c (grub_dl_load_file): Close file immediately when
23826 we are done using it.
23827
56bc2471 238282009-04-12 David S. Miller <davem@davemloft.net>
23829
23830 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23831 values. Noticed by Pavel Roskin.
23832
df38d0bb 23833 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23834 target compiler.
7dd4a573 23835
e382e93a 23836 * genmk.rb: Add more flexible image type specification, also
23837 pass --strip-unneeded to objcopy.
23838 * conf/i386-pc.rmk: Use *_FORMAT.
23839 * conf/i386-pc.mk: Rebuilt.
23840
f5dbbca9 23841 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23842 (OFDISK_HASH_SZ): Define.
23843 (ofdisk_hash): New hash table.
23844 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23845 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23846 instead of device phandle which is not unique.
23847
91c88b12 23848 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23849 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23850 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23851 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23852 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23853 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23854 GRUB_KERNEL_MACHINE_DATA_END): Define.
23855 (grub_kernel_image_size, grub_total_module_size): Declare.
23856
5b5d4aa5 238572009-04-12 Pavel Roskin <proski@gnu.org>
23858
7dd4a573 23859 * configure.ac: Change the logic when we check for target tools.
23860 Do it when the target is specified and it's different from the
23861 specified value of the host.
5b5d4aa5 23862
c91e1793 238632009-04-11 Felix Zielcke <fzielcke@z-51.de>
23864
23865 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23866 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23867 GNU/kFreeBSD. Check if a device is a character device. Use
23868 DIOCGMEDIASIZE to get the size.
23869 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23870 support for GNU/kFreeBSD.
23871 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23872 is a character device instead of a block device. Add support for
23873 FreeBSD device names.
23874
23875 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23876 is a character device instead of a block device.
23877
23878 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23879 is a character device instead of a block device.
23880
b1ac8644 238812009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23882
23883 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23884 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23885 FreeBSD. Check if a device is a character device. Use
23886 DIOCGMEDIASIZE to get the size.
23887 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23888 support for FreeBSD.
23889 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23890 is a character device instead of a block device. Add support for
23891 FreeBSD device names.
23892
23893 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23894 a character device instead of a block device.
23895 (grub_util_check_char_device): New function.
23896
23897 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23898 a character device instead of a block device.
23899
23900 * include/grub/util/getroot.h (grub_util_check_char_device): New
23901 prototype.
23902
a3f7515a 239032009-04-11 David S. Miller <davem@davemloft.net>
23904
23905 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23906 static libgcc.
23907 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23908 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23909 function, if present.
23910 (__bswapdi2): Likewise.
23911
0d44993d 23912 * include/grub/sparc64/ieee1275/boot.h: New file.
23913 * boot/sparc64/ieee1275/boot.S: Likewise.
23914 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23915
ed3d2bc2 23916 * kern/misc.c (grub_ltoa): New function.
23917 (grub_vsprintf): Use it to format 'long' integers.
23918
d3bfb59c 239192009-04-10 David S. Miller <davem@davemloft.net>
23920
23921 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23922 slots are of type grub_ieee1275_cell_t.
23923 (grub_nand_read): Likewise.
23924 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23925 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23926 macros are used to compare values in arg/ret block of the call.
23927 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23928 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23929 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23930 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23931 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23932 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23933 grub_ieee1275_close, grub_ieee1275_set_property,
23934 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23935 grub_ieee1275_cell_t.
23936 * kern/ieee1275/openfw.c (grub_map): Likewise.
23937 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23938 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23939
450e2238 23940 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23941 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23942 (grub_devalias_iterate): Likewise.
23943
7dd4a573 239442009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23945
23946 UFS improvements
23947
23948 * fs/ufs.c (INODE_NBLOCKS): new definition
23949 (struct grub_ufs_dirent): added fields for non-BSD dirents
23950 (grub_ufs_get_file_block): fixed double indirect handling
23951 (grub_ufs_lookup_symlink): use more robust way to determine whether
23952 symlink is inline
23953 (grub_ufs_find_file): support for non-BSD dirents
23954 (grub_ufs_dir): support for non-BSD dirents
23955
e7e6862a 239562009-04-10 Bean <bean123ch@gnail.com>
23957
23958 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23959 attribute, otherwise the size would be wrong for i386 platform.
23960
23961 * include/grub/pci.h (grub_pci_read_word): New inline function.
23962 (grub_pci_read_byte): Likewise.
23963 (grub_pci_write): Likewise.
23964 (grub_pci_write_word): Likewise.
23965 (grub_pci_write_byte): Likewise.
23966
23967 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23968
23969 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23970 (find_framebuf): Scan pci to locate the frame buffer address.
23971
23972 * commands/efi/fixvideo.c: New file.
23973
23974 * commands/efi/loadbios.c: Likewise.
23975
23976 * commands/memrw.c: Likewise.
23977
23978 * util/grub-dumpbios.in: Likewise.
23979
23980 * conf/common.rmk (grub-dumpbios): New utility.
23981 (pkglib_MODULES): New module memrw.mod.
23982 (memrw_mod_SOURCE): New macro.
23983 (memrw_mod_CFLAGS): Likewise.
23984 (memrw_mod_LDFLAGS): Likewise.
23985
7dd4a573 23986 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23987 fixvideo.mod.
23988 (loadbios_mod_SOURCE): New macro.
23989 (loadbios_mod_CFLAGS): Likewise.
23990 (loadbios_mod_LDFLAGS): Likewise.
23991 (fixvideo_mod_SOURCE): Likewise.
23992 (fixvideo_mod_CFLAGS): Likewise.
23993 (fixvideo_mod_LDFLAGS): Likewise.
23994
7dd4a573 23995 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23996 fixvideo.mod.
23997 (loadbios_mod_SOURCE): New macro.
23998 (loadbios_mod_CFLAGS): Likewise.
23999 (loadbios_mod_LDFLAGS): Likewise.
24000 (fixvideo_mod_SOURCE): Likewise.
24001 (fixvideo_mod_CFLAGS): Likewise.
24002 (fixvideo_mod_LDFLAGS): Likewise.
24003
af63ada2 240042009-04-08 Felix Zielcke <fzielcke@z-51.de>
24005
24006 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24007
c2cdde70 240082009-04-07 David S. Miller <davem@davemloft.net>
24009
24010 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
24011 support for R_SPARC_OLO10 relocations. Fix compile warning for
24012 R_SPARC_WDISP30 case.
ea3f72cf 24013 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 24014
761319cf 240152009-04-06 Pavel Roskin <proski@gnu.org>
24016
1007d1f5 24017 * include/grub/misc.h (ARRAY_SIZE): New macro.
24018 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
24019 New macro.
24020 * loader/i386/linux.c (allocate_pages): Use free_pages().
24021 (grub_linux_unload): Don't use free_pages().
24022 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
24023 wrong index. Treat all other modes as text modes.
24024 (grub_cmd_linux): Initialize vid_mode unconditionally to
24025 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
24026
761319cf 24027 * commands/help.c (print_command_help): Use cmd->prio, not
24028 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
24029
ea761d40 240302009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 24031
ea761d40 24032 Parttool
24033
24034 * parttool/pcpart.c: new file
24035 * commands/parttool.c: likewise
24036 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
24037 (parttool_mod_SOURCES): new variable
24038 (parttool_mod_CFLAGS): likewise
24039 (parttool_mod_LDFLAGS): likewise
24040 (pcpart_mod_SOURCES): likewise
24041 (pcpart_mod_CFLAGS): likewise
24042 (pcpart_mod_LDFLAGS): likewise
7dd4a573 24043 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 24044 and parttool/pcpart.c
24045 * conf/i386-efi.rmk: likewise
24046 * conf/i386-ieee1275.rmk: likewise
24047 * conf/i386-pc.rmk: likewise
24048 * conf/powerpc-ieee1275.rmk: likewise
24049 * conf/sparc64-ieee1275.rmk: likewise
24050 * conf/x86_64-ieee1275.rmk: likewise
24051
05aaebfb 240522009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 Support for mtime and further expandability of dir command
24055
24056 * include/grub/lib/datetime.h: moved to ...
7dd4a573 24057 * include/grub/datetime.h: ... moved here and added
05aaebfb 24058 declaration of grub_unixtime2datetime. All users updated
7dd4a573 24059 * include/grub/fs.h: new syntax for dir and mtime functions in
24060 struct grub_fs
05aaebfb 24061 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
24062 and GRUB_FSHELP_FLAGS_MASK
24063 * commands/ls.c (grub_ls_list_files): Write mtime in long format
24064 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
24065 (grub_ext2_mtime): new function
24066 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
24067 (grub_hfsplus_mtime): new function
24068 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
24069 (GRUB_UFS_ATTR_FILE): likewise
24070 (GRUB_UFS_ATTR_LNK): likewise
24071 (struct grub_ufs_sblock): new fields mtime
24072 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
24073 all users updated
24074 (grub_ufs_dir): mtime support
24075 (grub_ufs_mtime): new function
24076 * fs/affs.c (grub_affs_dir): use new dir syntax
24077 * fs/afs.c (grub_afs_dir): likewise
24078 * fs/cpio.c (grub_cpio_dir): likewise
24079 * fs/fat.c (grub_fat_find_dir): likewise
24080 * fs/hfs.c (grub_hfs_dir): likewise
24081 * fs/iso9660.c (grub_iso9660_dir): likewise
24082 * fs/jfs.c (grub_jfs_dir): likewise
24083 * fs/minix.c (grub_minix_dir): likewise
24084 * fs/ntfs.c (grub_ntfs_dir): likewise
24085 * fs/reiserfs.c (grub_reiserfs_dir): likewise
24086 * fs/sfs.c (grub_sfs_dir): likewise
24087 * fs/xfs.c (grub_xfs_dir): likewise
24088 * util/hostfs.c (grub_hostfs_dir): likewise
24089 * lib/datetime.c: moved to ...
24090 * normal/datetime.c: ... moved here
24091 (grub_unixtime2datetime): new function
24092 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 24093 * normal/completion.c (iterate_dir): use new dir syntax
24094 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 24095 last modification time of a volume
7dd4a573 24096 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 24097 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 24098 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 24099 (normal_mod_SOURCES): likewise
24100 (datetime_mod_SOURCES): Removed lib/datetime.c
24101 * conf/i386-efi.rmk: likewise
7dd4a573 24102 * conf/i386-ieee1275.rmk: likewise
05aaebfb 24103 * conf/i386-pc.rmk: likewise
24104 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24105 * conf/sparc64-ieee1275.rmk: likewise
24106 * conf/x86_64-efi.rmk: likewise
05aaebfb 24107
8a7e1a14 241082009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24109
24110 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 24111
24112 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 24113 on grub_fat_find_dir
24114 (grub_fat_find_dir): use grub_fat_iterate_dir
24115 (grub_fat_label): likewise
24116
04186a9c 241172009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24118
7dd4a573 24119 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 24120 and command.h
24121 remove extraneous kernel_elf_HEADERS
24122
da4c0bb6 241232009-04-04 Bean <bean123ch@gnail.com>
24124
24125 * include/grub/util/misc.h: Add dummy function fsync for mingw.
24126
24127 * util/misc.c: Likewise.
24128
54ad9555 241292009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24130
24131 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
24132 instead of grub_printf.
24133
7a6bf9f2 241342009-04-03 Robert Millan <rmh@aybabtu.com>
24135
24136 * loader/i386/linux.c (grub_linux_setup_video): Fill
24137 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
24138 values from `mode info' structure instead of hardcoded
24139 values.
24140
3fcc2083 241412009-04-01 Pavel Roskin <proski@gnu.org>
24142
24143 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
24144 unused now.
24145 * genmk.rb: Likewise.
24146 * configure.ac: Likewise.
24147
5ec9740b 241482009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
24149
24150 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
24151 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
24152
5270cec8 241532009-04-01 David S. Miller <davem@davemloft.net>
24154
24155 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 24156 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 24157 (grub_setjmp): Mark with 'returns_twice' attribute.
24158 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
24159 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
24160 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
24161
9c3dd854 241622009-04-01 Robert Millan <rmh@aybabtu.com>
24163
24164 Reapply fix from 2008-07-28 which was accidentally reverted; also
24165 perform the same fix to a similar check in same function.
24166
24167 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
24168 with the same number are found, just use issue a warning with
24169 grub_dprintf(), as this error has been reported to be non-fatal.
24170
0d818b7e 241712009-03-31 Pavel Roskin <proski@gnu.org>
24172
24173 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
24174 for cross-compilation.
24175
95646d92 241762009-03-30 Robert Millan <rmh@aybabtu.com>
24177
24178 Fix i386-ieee1275 build.
24179
24180 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
24181 Remove declaration.
24182
6a003ed1 241832009-03-30 Pavel Roskin <proski@gnu.org>
24184
24185 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
24186 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
24187 zero-terminated, rely only on the strlen value. Fix comparison
24188 of strings differing in length.
24189
92f33540 241902009-03-30 Robert Millan <rmh@aybabtu.com>
24191
24192 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
24193 checking for abi version. Improve error messages on BIOS to notify
24194 user about `linux16' command.
24195
a8c48fd5 241962009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
24197
f968172e 24198 Leak fixes
a8c48fd5 24199
f968172e 24200 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
24201 in case of collision
24202 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 24203
9c323f09 242042009-03-29 Robert Millan <rmh@aybabtu.com>
24205
24206 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
24207 set `vid_mode' accordingly.
24208 (grub_linux_boot): Process `vid_mode' and set video mode.
24209
ae68f423 242102009-03-29 Robert Millan <rmh@aybabtu.com>
24211
24212 * util/grub.d/10_linux.in (linux_entry): New function.
24213 Factorize generation of Linux boot entries.
24214
5709cfc4 242152009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
24216
24217 Make the format of Environment Block plain text. The boot loader
24218 part is not tested well yet.
7dd4a573 24219
5709cfc4 24220 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
24221 (buffer): Removed.
24222 (envblk): Likewise.
24223 (usage): Remove "info" and "clear". Add "unset". Update the
24224 description of "set", as this does not delete variables any
24225 longer.
24226 (create_envblk_file): Complete rewrite.
24227 (open_envblk_file): Likewise.
24228 (cmd_info): Removed.
24229 (cmd_list): Likewise.
24230 (cmd_set): Likewise.
24231 (cmd_clear): Likewise.
24232 (list_variables): New function.
24233 (write_envblk): Likewise.
24234 (set_variables): Likewise.
24235 (unset_variables): Likewise.
24236 (main): Complete rewrite.
24237
24238 * commands/loadenv.c (buffer): Removed.
24239 (envblk): Likewise.
24240 (open_envblk_file): New function.
24241 (read_envblk_file): Complete rewrite.
24242 (grub_cmd_load_env): Likewise.
24243 (grub_cmd_list_env): Likewise.
24244 (struct blocklist): New struct.
24245 (free_blocklists): New function.
24246 (check_blocklists): Likewise.
24247 (write_blocklists): Likewise.
24248 (grub_cmd_save_env): Complete rewrite.
24249
24250 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
24251 a plain text signature.
24252 (GRUB_ENVBLK_MAXLEN): Removed.
24253 (struct grub_envblk): Complete rewrite.
24254 (grub_envblk_find): Removed.
24255 (grub_envblk_insert): Likewise.
24256 (grub_envblk_open): New prototype.
24257 (grub_envblk_set): Likewise.
24258 (grub_envblk_delete): Put const to VALUE.
24259 (grub_envblk_iterate): Put const to NAME and VALUE.
24260 (grub_envblk_close): New prototype.
24261 (grub_envblk_buffer): New inline function.
24262 (grub_envblk_size): Likewise.
24263
24264 * lib/envblk.c: Include grub/mm.h.
24265 (grub_env_find): Removed.
24266 (grub_envblk_open): New function.
24267 (grub_envblk_close): Likewise.
24268 (escaped_value_len): Likewise.
24269 (find_next_line): Likewise.
24270 (grub_envblk_insert): Removed.
24271 (grub_envblk_set): New function.
24272 (grub_envblk_delete): Complete rewrite.
24273 (grub_envblk_iterate): Likewise.
24274
a9368fd3 242752009-03-28 Robert Millan <rmh@aybabtu.com>
24276
24277 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
24278 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
24279 variables. Use 16-bit loader.
24280 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
24281 loader.
24282 * kern/i386/loader.S (grub_linux_boot): Rename to ...
24283 (grub_linux16_boot): ... this. Update all users.
24284 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
24285 (grub_linux_boot): ... this. Update all users.
24286
24287 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
24288 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
24289 commands to `linux16' and `initrd16'.
24290 (GRUB_MOD_FINI(linux)): Rename to ...
24291 (GRUB_MOD_FINI(linux16)): ... this.
24292
e4dd5a7e 242932009-03-24 Pavel Roskin <proski@gnu.org>
24294
24295 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
24296 not just for compilation.
24297
c04d6e05 242982009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
24299
24300 Move multiboot helper out of kernel
24301
24302 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
24303 `loader/i386/multiboot_helper.S'.
24304 * conf/i386-coreboot.rmk: Likewise
24305 * conf/i386-ieee1275.rmk: Likewise
24306
24307 * kern/i386/loader.S: Move multiboot helpers from here...
24308 * loader/i386/multiboot_helper.S: ...moved here
24309 * include/grub/i386/loader.h: Move declarations of multiboot
24310 helpers from here...
24311 * include/grub/i386/multiboot.h: ...moved here
24312 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
24313
42a5b3fc 243142009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24315
24316 * kern/env.c (grub_env_context_open): Added an argument to specify
24317 whether a new context inherits exported variables from current
24318 one. This is useful when making a sandbox to interpret a config
24319 file.
24320 All callers updated.
24321
24322 * include/grub/env.h (grub_env_context_open): Updated the prototype.
24323
b28bbc4e 243242009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24325
24326 * kern/env.c (grub_env_context_close): Fix memory leaks.
24327
f04f02e4 243282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24329
24330 * normal/main.c (grub_normal_execute): Added an argument
24331 BATCH to specify if an interactive interface should be provided
24332 after reading a config file.
24333 All callers updated.
24334 (read_command_list): Prevent being executed twice.
24335 (read_fs_list): Likewise.
24336
42a5b3fc 24337 * include/grub/normal.h (grub_normal_execute): Updated the
24338 prototype.
f04f02e4 24339
41473ac2 243402009-03-22 Pavel Roskin <proski@gno.org>
24341
fbc00b0c 24342 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
24343 _start.
24344 * kern/i386/pc/startup.S: Likewise.
24345 * kern/i386/efi/startup.S: Likewise.
24346 * kern/i386/ieee1275/startup.S: Likewise.
24347 * kern/i386/coreboot/startup.S: Likewise.
24348 * kern/x86_64/efi/startup.S: Likewise.
24349
41473ac2 24350 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
24351 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
24352 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
24353
2274cc8f 243542009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
24355
24356 Bugfixes in multiboot for bugs uncovered by solaris kernel.
24357
24358 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
24359 limit detection.
24360 Use vaddr of correct segment for entry_point.
24361
b1b797cb 243622009-03-21 Bean <bean123ch@gmail.com>
24363
24364 * commands/blocklist.c: Add include file <grub/command.h>, remove
24365 <grub/normal.h> and <grub/arg.h>.
24366 (grub_cmd_blocklist): Use the new command interface.
24367 (GRUB_MOD_INIT): Likewise.
24368 (GRUB_MOD_FINI): Likewise.
24369 * commands/boot.c: Likewise.
24370 * commands/cat.c: Likewise.
24371 * commands/cmp.c: Likewise.
24372 * commands/configfile.c: Likewise.
24373 * commands/crc.c: Likewise.
24374 * commands/echo.c: Likewise.
24375 * commands/halt.c: Likewise.
24376 * commands/handler.c: Likewise.
24377 * commands/hdparm.c: Likewise.
24378 * commands/help.c: Likewise.
24379 * commands/hexdump.c: Likewise.
24380 * commands/loadenv.c: Likewise.
24381 * commands/ls.c: Likewise.
24382 * commands/lsmmap.c: Likewise.
24383 * commands/lspci.c: Likewise.
24384 * commands/loadenv.c: Likewise.
24385 * commands/read.c: Likewise.
24386 * commands/reboot.c: Likewise.
24387 * commands/search.c: Likewise.
24388 * commands/sleep.c: Likewise.
24389 * commands/test.c: Likewise.
24390 * commands/usbtest.c: Likewise.
24391 * commands/videotest.c: Likewise.
24392 * commands/i386/cpuid.c: Likewise.
24393 * commands/i386/pc/halt.c: Likewise.
24394 * commands/i386/pc/play.c: Likewise.
24395 * commands/i386/pc/pxecmd.c: Likewise.
24396 * commands/i386/pc/vbeinfo.c: Likewise.
24397 * commands/i386/pc/vbetest.c: Likewise.
24398 * commands/ieee1275/suspend.c: Likewise.
24399 * disk/loopback.c: Likewise.
24400 * font/font_cmd.c: Likewise.
24401 * hello/hello.c: Likewise.
24402 * loader/efi/appleloader.c: Likewise.
24403 * loader/efi/chainloader.c: Likewise.
24404 * loader/i386/bsd.c: Likewise.
24405 * loader/i386/efi/linux.c: Likewise.
24406 * loader/i386/ieee1275/linux.c: Likewise.
24407 * loader/i386/linux.c: Likewise.
24408 * loader/i386/pc/chainloader.c: Likewise.
24409 * loader/i386/pc/linux.c: Likewise.
24410 * loader/powerpc/ieee1275/linux.c: Likewise.
24411 * loader/multiboot_loader.c: Likewise.
24412 * term/gfxterm.c: Likewise.
24413 * term/i386/pc/serial.c: Likewise.
24414 * term/terminfo.c: Likewise.
24415
24416 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
24417 * term/i386/pc/vga.c: Likewise.
24418 * video/readers/jpeg.c: Likewise.
24419 * video/readers/png.c: Likewise.
24420 * video/readers/tga.c: Likewise.
24421
24422 * util/grub-fstest (cmd_loopback): Removed.
24423 (cmd_blocklist): Likewise.
24424 (cmd_ls): Likewise.
24425 (grub_register_command): Likewise.
24426 (grub_unregister_command): Likewise.
24427 (execute_command): Use grub_command_find to locate command and execute
24428 it.
24429
24430 * include/grub/efi/chainloader.h: Removed.
24431 * loader/efi/chainloader_normal.c: Likewise.
24432 * loader/i386/bsd_normal.c: Likewise.
24433 * loader/i386/pc/chainloader_normal.c: Likewise.
24434 * loader/i386/pc/multiboot_normal.c: Likewise.
24435 * loader/linux_normal.c: Likewise.
24436 * loader/multiboot_loader_normal.c: Likewise.
24437 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24438
24439 * gencmdlist.sh: Scan new registration command grub_register_extcmd
24440 and grub_register_command_p1.
24441
24442 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
24443 kern/command.c, lib/arg.c and commands/extcmd.c.
24444 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
24445 (minicmd_mod_SOURCES): New variable.
24446 (minicmd_mod_CFLAGS): Likewise.
24447 (minicmd_mod_LDFLAGS): Likewise.
24448 (extcmd_mod_SOURCES): Likewise.
24449 (extcmd_mod_CFLAGS): Likewise.
24450 (extcmd_mod_LDFLAGS): Likewise.
24451 (boot_mod_SOURCES): Removed.
24452 (boot_mod_CFLAGS): Likewise.
24453 (boot_mod_LDFLAGS): Likewise.
24454
24455 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
24456 kern/corecmd.c.
24457 (kernel_img_HEADERS): Add command.h.
24458 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
24459 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
24460 and lib/arg.c.
24461 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
24462 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
24463 remove the corresponding normal mode command.
24464 (normal_mod_SOURCES): Remove normal/arg.c.
24465 * conf/i386-coreboot.rmk: Likewise.
24466 * conf/i386-efi.rmk: Likewise.
24467 * conf/i386-ieee1275.rmk: Likewise.
24468 * conf/powerpc-ieee1275.rmk: Likewise.
24469 * conf/x86_64-efi.rmk: Likewise.
24470
24471 * include/grub/arg.h: Move from here ...
24472 * include/grub/lib/arg.h: ... to here.
24473
24474 * normal/arg.c: Move from here ...
24475 * lib/arg.c: ... to here.
24476
24477 * commands/extcmd.c: New file.
24478 * commands/minicmd.c: Likewise.
24479 * include/grub/command.h: Likewise.
24480 * include/grub/extcmd.h: Likewise.
24481 * kern/command.c: Likewise.
24482 * kern/corecmd.c: Likewise.
24483
24484 * kern/list.c (grub_list_iterate): Return int instead of void.
24485 (grub_list_insert): New function.
24486 (grub_prio_list_insert): Likewise.
24487
24488 * kern/rescue.c (grub_rescue_command): Removed.
24489 (grub_rescue_command_list): Likewise.
24490 (grub_rescue_register_command): Likewise.
24491 (grub_rescue_unregister_command): Likewise.
24492 (grub_rescue_cmd_boot): Move to minicmd.c
24493 (grub_rescue_cmd_help): Likewise.
24494 (grub_rescue_cmd_info): Likewise.
24495 (grub_rescue_cmd_boot): Likewise.
24496 (grub_rescue_cmd_testload): Likewise.
24497 (grub_rescue_cmd_dump): Likewise.
24498 (grub_rescue_cmd_rmmod): Likewise.
24499 (grub_rescue_cmd_lsmod): Likewise.
24500 (grub_rescue_cmd_exit): Likewise.
24501 (grub_rescue_print_devices): Moved to corecmd.c.
24502 (grub_rescue_print_files): Likewise.
24503 (grub_rescue_cmd_ls): Likewise.
24504 (grub_rescue_cmd_insmod): Likewise.
24505 (grub_rescue_cmd_set): Likewise.
24506 (grub_rescue_cmd_unset): Likewise.
7d074e3c 24507 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 24508 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 24509 commands, remove grub_rescue_register_command calls.
b1b797cb 24510
7d074e3c 24511 * normal/command.c (grub_register_command): Removed.
b1b797cb 24512 (grub_unregister_command): Likewise.
24513 (grub_command_find): Likewise.
24514 (grub_iterate_commands): Likewise.
24515 (rescue_command): Likewise.
24516 (export_command): Moved to corecmd.c.
24517 (set_command): Removed.
24518 (unset_command): Likewise.
24519 (insmod_command): Likewise.
24520 (rmmod_command): Likewise.
24521 (lsmod_command): Likewise.
24522 (grub_command_init): Likewise.
24523
24524 * normal/completion.c (iterate_command): Use cmd->prio to check for
24525 active command.
24526 (complete_arguments): Use grub_extcmd_t structure to find options.
24527 (grub_normal_do_completion): Change function grub_iterate_commands to
24528 grub_command_iterate.
24529
24530 * normal/execute.c (grub_script_execute_cmd): No need to parse
24531 argument here.
24532
24533 * normal/main.c (grub_dyncmd_dispatcher): New function.
24534 (read_command_list): Register unload commands as dyncmd.
24535 (grub_cmd_normal): Use new command interface, register rescue,
24536 unregister normal at entry, register normal, unregister rescue at exit.
24537
24538 * include/grub/list.h (grub_list_test_t): New type.
24539 (grub_list_iterate): Return int instead of void.
24540 (grub_list_insert): New function.
24541 (GRUB_AS_NAMED_LIST_P): New macro.
24542 (GRUB_AS_PRIO_LIST): Likewise.
24543 (GRUB_AS_PRIO_LIST_P): Likewise.
24544 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
24545 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
24546 (grub_prio_list): New structure.
24547 (grub_prio_list_insert): New function.
24548 (grub_prio_list_remove): New inline function.
24549
24550 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
24551 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
24552 (GRUB_COMMAND_FLAG_MENU): Likewise.
24553 (GRUB_COMMAND_FLAG_BOTH): Likewise.
24554 (GRUB_COMMAND_FLAG_TITLE): Likewise.
24555 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
24556 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
24557 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
24558 (grub_command): Likewise.
24559 (grub_register_command): Likewise.
24560 (grub_command_find): Likewise.
24561 (grub_iterate_commands): Likewise.
24562 (grub_command_init): Likewise.
24563 (grub_arg_parse): Likewise.
24564 (grub_arg_show_help): Likewise.
24565
24566 * include/grub/rescue.h (grub_rescue_register_command): Removed.
24567 (grub_rescue_unregister_command): Likewise.
24568
24569 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
24570 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
24571 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
24572
24573 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
24574 grub_rescue_cmd_initrd.
24575 * include/grub/i386/loader.h: Likewise.
24576 * include/grub/x86_64/loader.h: Likewise.
24577
24578 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
24579
1f4147aa 245802009-03-21 Bean <bean123ch@gmail.com>
24581
24582 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
24583 instead of stat in mingw environment.
24584
24585 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
24586
24587 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
24588
24589 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
24590 AC_CONFIG_LINKS.
24591
2156d5ba 245922009-03-21 Bean <bean123ch@gmail.com>
24593
24594 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
24595 out of range error.
24596
177b82ca 245972009-03-18 Michel Dänzer <michel@daenzer.net>
24598
24599 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
24600 checking inode flags for EXT4_EXTENTS_FLAG.
24601
14aad807 246022009-03-18 Robert Millan <rmh@aybabtu.com>
24603
24604 * loader/i386/linux.c: Include `<grub/video.h>' and
24605 `<grub/i386/pc/vbe.h>'..
24606 (grub_linux_setup_video): New function. Loosely based on the EFI one.
24607 (grub_linux32_boot): Attempt to configure video settings with
24608 grub_linux_setup_video().
24609 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
24610 to avoid grub_console_fini() which would step out of graphical mode
24611 unconditionally.
24612
8cf83a27 246132009-03-14 Robert Millan <rmh@aybabtu.com>
24614
24615 Fix build on powerpc.
24616 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
24617
40164e75 246182009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
24619
24620 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
24621 background image command.
24622
c58bc32a 246232009-03-12 Colin D Bennett <colin@gibibit.com>
24624
24625 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
24626 (grub_gfxterm_putchar): Extract pairs of identical calls to
24627 draw_cursor out of conditional blocks.
24628
5415144a 246292009-03-11 Pavel Roskin <proski@gnu.org>
24630
24631 * fs/hfs.c (grub_hfs_strncasecmp): New function.
24632 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
24633
6394042e 246342009-03-11 Robert Millan <rmh@aybabtu.com>
24635
24636 * loader/i386/multiboot_elfxx.c
24637 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
24638
b7b50e5f 246392009-03-11 Felix Zielcke <fzielcke@z-51.de>
24640
24641 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
24642 `kern/handler.c'.
24643
1ca7fc96 246442009-03-11 Robert Millan <rmh@aybabtu.com>
24645
24646 * loader/i386/multiboot.c (code_size): New variable.
24647 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 24648 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 24649 4-byte alignment to MBI and others by increasing
7d074e3c 24650 `boot_loader_name_length' appropriately.
1ca7fc96 24651
24652 * loader/i386/multiboot_elfxx.c
24653 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
24654
a83ea1d2 246552009-03-09 Felix Zielcke <fzielcke@z-51.de>
24656
24657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
24658 `fs/ext2.c'.
24659
aa9f3bff 246602009-03-08 Robert Millan <rmh@aybabtu.com>
24661
24662 Make loader/i386/linux.c usable on i386-pc again.
24663
24664 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
24665 memory to heap.
24666 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
24667 `#error' stanza.
24668
d8b3b60e 246692009-03-07 Bean <bean123ch@gmail.com>
24670
24671 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
24672 allocation.
24673
b362c9e9 246742009-03-06 Robert Millan <rmh@aybabtu.com>
24675
24676 Fix display issue on terminals with screen size other than 80x25
24677 (e.g. gfxterm with resolution higher than 640x480).
24678
24679 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 24680 position relative to the center of the terminal instead of relying
b362c9e9 24681 on a hardcoded offset.
24682
9304eef1 246832009-03-04 Robert Millan <rmh@aybabtu.com>
24684
24685 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
24686 installed.
24687
24688 * Makefile.in (host_kernel): New variable.
24689 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
24690 scripts instead of just the windows one.
24691 * configure.ac: Initialize and AC_SUBST `host_kernel'.
24692
eabc95fb 246932009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 24694
24695 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
24696 `kern/handler.c'.
24697 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24698 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24699 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24701 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24702 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24703
ceb1223c 247042009-03-04 Felix Zielcke <fzielcke@z-51.de>
24705
24706 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24707 or if there's no space for the disk label and print the partition number on a
24708 invalid magic.
24709
4910684a 247102009-03-04 Felix Zielcke <fzielcke@z-51.de>
24711
24712 * util/misc.c: Include <time.h>.
24713 (grub_millisleep): New function.
24714
7e9ca17a 247152009-03-04 Bean <bean123ch@gmail.com>
24716
24717 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24718 another option -mno-red-zone.
24719
24720 * commands/handler.c: Change module description.
24721
24722 * kern/handler.c: Add missing space at the end of description line.
24723
24724 * kern/list.c: Likewise.
24725
f501677c 247262009-03-03 Robert Millan <rmh@aybabtu.com>
24727
24728 Move more components to the relocation area, and fix mbi pointer
24729 handling to use the destination rather than the origin (thanks to
24730 Vladimir Serbinenko for spotting).
24731
24732 * loader/i386/multiboot.c (mbi_dest): New variable.
24733 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24734 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24735 relocation area.
24736
9902d047 247372009-03-01 Bean <bean123ch@gmail.com>
24738
50fb7002 24739 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24740 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24741 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24742 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24743
24744 * loader/i386/efi/linux.c (acpi_guid): New variable.
24745 (acpi_guid): Likewise.
24746 (EBDA_SEG_ADDR): New constant.
24747 (LOW_MEM_ADDR): Likewise.
24748 (FAKE_EBDA_SEG): Likewise.
24749 (fake_bios_data): New function.
24750 (grub_linux_boot): Call fake_bios_data.
24751
71b9f361 247522009-03-01 Bean <bean123ch@gmail.com>
24753
24754 * commands/terminal.c: Removed.
24755
24756 * commands/handler.c: New file.
24757
24758 * include/grub/list.h: Likewise.
24759
24760 * include/grub/handler.h: Likewise.
24761
24762 * kern/list.c: Likewise.
24763
24764 * kern/handler.c: Likewise.
24765
24766 * kern/term.h: Include header file <grub/handler.h>.
24767 (grub_term_input): Move next field to the beginning.
24768 (grub_term_output): Likewise.
24769 (grub_term_input_class): New variable.
24770 (grub_term_output_class): Likewise.
24771 (grub_term_register_input): Changed to inline function.
24772 (grub_term_register_output): Likewise.
24773 (grub_term_unregister_input): Likewise.
24774 (grub_term_unregister_output): Likewise.
24775 (grub_term_set_current_input): Likewise.
24776 (grub_term_set_current_output): Likewise.
24777 (grub_term_get_current_input): Likewise.
24778 (grub_term_get_current_output): Likewise.
24779 (grub_term_iterate_input): Removed.
24780 (grub_term_iterate_output): Likewise.
24781
24782 * kern/term.c (grub_term_list_input): Removed.
24783 (grub_term_list_output): Likewise.
24784 (grub_term_input_class): New variable.
24785 (grub_term_output_class): Likewise.
50fb7002 24786 (grub_cur_term_input): Change variable as macro.
71b9f361 24787 (grub_cur_term_output): Likewise.
24788 (grub_term_register_input): Removed.
24789 (grub_term_register_output): Likewise.
24790 (grub_term_unregister_input): Likewise.
24791 (grub_term_unregister_output): Likewise.
24792 (grub_term_set_current_input): Likewise.
24793 (grub_term_set_current_output): Likewise.
24794 (grub_term_iterate_input): Likewise.
24795 (grub_term_iterate_output): Likewise.
24796 (grub_term_get_current_input): Likewise.
24797 (grub_term_get_current_output): Likewise.
24798
24799 * util/grub-editenv.c: Include header file <grub/handler.h>.
24800 (grub_term_get_current_input): Removed.
24801 (grub_term_get_current_output): Likewise.
24802 (grub_term_input_class): New variable.
50fb7002 24803 (grub_term_output_class): Likewise.
71b9f361 24804
24805 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24806 (grub_term_get_current_output): Likewise.
24807 (grub_term_input_class): New variable.
50fb7002 24808 (grub_term_output_class): Likewise.
71b9f361 24809
24810 * util/grub-probe.c (grub_term_get_current_input): Removed.
24811 (grub_term_get_current_output): Likewise.
24812 (grub_term_input_class): New variable.
50fb7002 24813 (grub_term_output_class): Likewise.
71b9f361 24814
24815 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24816 (grub_term_get_current_output): Likewise.
24817 (grub_term_input_class): New variable.
50fb7002 24818 (grub_term_output_class): Likewise.
71b9f361 24819
24820 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24821 (terminal_mod_SOURCES): Likewise.
24822 (terminal_mod_CFLAGS): Likewise.
24823 (terminal_mod_LDFLAGS): Likewise.
24824
24825 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24826 handler.c.
24827 (kernel_img_SOURCES): Add list.c and handler.c.
24828 (kernel_img_HEADERS): Add list.h and handler.h.
24829
24830 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24831 handler.c.
24832 (kernel_mod_SOURCES): Add list.c and handler.c.
24833 (kernel_mod_HEADERS): Add list.h and handler.h.
24834
24835 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24836 handler.c.
24837 (kernel_elf_SOURCES): Add list.c and handler.c.
24838 (kernel_elf_HEADERS): Add list.h and handler.h.
24839
24840 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24841 handler.c.
24842 (kernel_elf_SOURCES): Add list.c and handler.c.
24843 (kernel_elf_HEADERS): Add list.h and handler.h.
24844
24845 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24846 handler.c.
24847 (kernel_mod_SOURCES): Add list.c and handler.c.
24848 (kernel_mod_HEADERS): Add list.h and handler.h.
24849
24850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24851 handler.c.
24852 (kernel_elf_SOURCES): Add list.c and handler.c.
24853 (kernel_elf_HEADERS): Add list.h and handler.h.
24854
8a31787f 248552009-02-27 Robert Millan <rmh@aybabtu.com>
24856
24857 Factorize elf32 / elf64 code in Multiboot loader. This will
24858 prevent it from getting out of sync again.
24859
24860 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24861 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24862 grub_multiboot_load_elf64): Move from here ...
24863 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24864 grub_multiboot_load_elf): ... to here (new file).
24865
51cd3dfc 248662009-02-27 Robert Millan <rmh@aybabtu.com>
24867
24868 * util/grub.d/10_linux.in: Rename "single-user mode" to
24869 "recovery mode".
24870
6e8c9c3a 248712009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24872
24873 Don't leak in SCSI code.
24874 * disk/scsi.c (grub_scsi_close): free `scsi'.
24875
4b6bf4f9 248762009-02-27 Robert Millan <rmh@aybabtu.com>
24877
24878 * loader/i386/pc/multiboot.c: Move from here ...
24879 * loader/i386/multiboot.c: ... to here. Update all users.
24880
b9413424 248812009-02-27 Robert Millan <rmh@aybabtu.com>
24882
24883 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24884 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24885
50fb7002 248862009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24887
24888 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24889 b-tree.
24890
8cc50345 248912009-02-27 Robert Millan <rmh@aybabtu.com>
24892
24893 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24894 `0x' qualifier as 0 when base is specified as parameter).
24895
6e09b8b7 248962009-02-24 Bean <bean123ch@gmail.com>
24897
24898 * configure.ac: Check for -mcmodel=large in x86_64 target.
24899
24900 * include/grub/efi/api.h (efi_call_10): New macro.
24901 (efi_wrap_10): New function.
24902
24903 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24904 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24905 (GRUB_PE32_REL_BASED_LOW): Likewise.
24906 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24907 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24908 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24909 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24910 (GRUB_PE32_REL_BASED_REL): Likewise.
24911 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24912 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24913 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24914
24915 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24916 issue.
24917
24918 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24919 (efi_wrap_10): New function.
24920
24921 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24922
24923 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24924 MB/MBP model (NV chipset).
24925 (devdata_devs): Add devpath_5 to the list.
24926
24927 * load/i386/efi/linux.c (video_base): Remove variable.
24928 (RGB_MASK): New macro.
24929 (RGB_MAGIC): Likewise.
24930 (LINE_MIN): Likewise.
24931 (LINE_MAX): Likewise.
24932 (FBTEST_STEP): Likewise.
24933 (FBTEST_COUNT): Likewise.
24934 (fb_list): New variable.
24935 (grub_find_video_card): Remove function.
24936 (find_framebuf): New function.
24937 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24938 line length.
24939
24940 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24941 problem for x86_64.
24942
74b21bee 249432009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24944
24945 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24946
24947 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24948 coding tool name.
24949
a455f472 249502009-02-22 Robert Millan <rmh@aybabtu.com>
24951
24952 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24953 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24954 in our relocation, instead of using it directly from heap. Also
24955 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24956
6374daf3 249572009-02-21 Robert Millan <rmh@aybabtu.com>
24958
24959 Implement USB keyboard support (based on patch by Marco Gerards)
24960
24961 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24962 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24963 (usb_keyboard_mod_LDFLAGS): New variables.
24964
24965 * term/usb_keyboard.c: New file.
24966
8fa4ea70 249672009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 Corrected wrong declaration
24970
24971 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24972
353976ac 249732009-02-14 Christian Franke <franke@computer.org>
24974
24975 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24976 (grub_lspci_iter): Print class code and programming interface byte.
24977
6aa1169b 249782009-02-14 Christian Franke <franke@computer.org>
24979
24980 * gendistlist.sh: Ignore `.svn' directories.
24981
265372ca 249822009-02-14 Felix Zielcke <fzielcke@z-51.de>
24983
24984 * fs/fat.c: Add 2009 to Copyright line.
24985
9ff516f3 249862009-02-14 Christian Franke <franke@computer.org>
24987
24988 * commands/hdparm.c: New file. Provides `hdparm' command
24989 which sends ATA commands via grub_disk_ata_pass_through ().
24990
24991 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24992
24993 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24994 and <grub/cpu/io.h> to include/grub/ata.h.
24995 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24996 (GRUB_CDROM_SECTOR_SIZE): Remove.
24997 (GRUB_ATA_*): Move to include/grub/ata.h.
24998 (GRUB_ATAPI_*): Likewise.
24999 (enum grub_ata_commands): Likewise.
25000 (enum grub_ata_timeout_milliseconds): Likewise.
25001 (struct grub_ata_device): Likewise.
25002 (grub_ata_regset): Likewise.
25003 (grub_ata_regget): Likewise.
25004 (grub_ata_regset2): Likewise.
25005 (grub_ata_regget2): Likewise.
25006 (grub_ata_check_ready): Likewise.
25007 (grub_ata_wait_not_busy): Remove static, exported in
25008 include/grub/ata.h.
25009 (grub_ata_wait_drq): Likewise.
25010 (grub_ata_pio_read): Likewise.
25011
25012 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
25013 function for hdparm.mod.
25014
25015 * include/grub/ata.h: New file, contains declarations from
25016 disk/ata.c.
25017 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
25018
25019 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
25020 (grub_disk_ata_pass_through): New exported variable.
25021
25022 * kern/disk.c (grub_disk_ata_pass_through): New variable.
25023
772e23da 250242009-02-13 Colin D Bennett <colin@gibibit.com>
25025
25026 Support multiple fallback entries, and provide an API to support
25027 executing default+fallback menu entries. Renamed the `terminal' menu
25028 viewer to `text'.
25029
25030 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
25031 variable declaration.
25032 (grub_menu_execute_callback): New structure declaration.
25033 (grub_menu_execute_callback_t): New typedef.
25034 (grub_menu_execute_with_fallback): New function declaration.
25035 (grub_menu_get_entry): Likewise.
25036 (grub_menu_get_timeout): Likewise.
25037 (grub_menu_set_timeout): Likewise.
25038
25039 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
25040
25041 * normal/menu.c (grub_wait_after_message): Moved to
25042 `normal/menu_text.c'.
25043 (draw_border): Likewise.
25044 (print_message): Likewise.
25045 (print_entry): Likewise.
25046 (print_entries): Likewise.
25047 (grub_menu_init_page): Likewise.
25048 (get_entry_number): Likewise.
25049 (print_timeout): Likewise.
25050 (run_menu): Likewise.
25051 (grub_menu_execute_entry): Likewise.
25052 (show_text_menu): Likewise.
25053 (get_and_remove_first_entry_number): New function.
25054 (grub_menu_execute_with_fallback): Likewise.
25055 (get_entry): Renamed to ...
25056 (grub_menu_get_entry): .. this and made it global.
25057 (get_timeout): Renamed to ...
25058 (grub_menu_get_timeout): ... this and made it global.
25059 (set_timeout): Renamed to ...
25060 (grub_menu_set_timeout): ... this and made it global.
25061 (grub_normal_terminal_menu_viewer): Renamed to ...
25062 (grub_normal_text_menu_viewer): ... this.
25063
25064 * normal/menu_text.c: New file. Extracted text-menu-specific code
25065 from normal/menu.c.
25066
25067 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
25068 (normal_mod_SOURCES): Likewise.
25069
25070 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25071 (normal_mod_SOURCES): Likewise.
25072
25073 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25074 (normal_mod_SOURCES): Likewise.
25075
25076 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
25077 (normal_mod_SOURCES): Likewise.
25078
25079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25080 (normal_mod_SOURCES): Likewise.
25081
25082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25083 (normal_mod_SOURCES): Likewise.
25084
25085 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25086 (normal_mod_SOURCES): Likewise.
25087
16ac430e 250882009-02-11 Robert Millan <rmh@aybabtu.com>
25089
25090 * util/grub.d/00_header.in: Update old reference to `font' command.
25091
06ff20fc 250922009-02-10 Felix Zielcke <fzielcke@z-51.de>
25093
25094 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
25095
25096 Based on patch from Javier Martín.
25097
96da9407 250982009-02-09 Felix Zielcke <fzielcke@z-51.de>
25099
25100 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 25101 to avoid false positives with FAT.
96da9407 25102 (grub_fstest_SOURCES): Likewise.
25103 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25104 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25106 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25108 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25109
6dca6fe4 251102009-02-09 Felix Zielcke <fzielcke@z-51.de>
25111
06ff20fc 25112 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 25113 bpb.version_specific.fat12_or_fat16.fstype and
25114 bpb.version_specific.fat32.fstype.
25115
2550c62f 251162009-02-08 Robert Millan <rmh@aybabtu.com>
25117
be110b30 25118 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 25119
56978920 251202009-02-08 Robert Millan <rmh@aybabtu.com>
25121
25122 * Makefile.in (host_os, host_cpu): New variables.
25123 (target_os): Remove. Update all users.
25124
d64399b5 251252009-02-08 Marco Gerards <marco@gnu.org>
25126
25127 * Makefile.in (enable_grub_emu_usb): New variable.
25128 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
25129 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
25130 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
25131 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
25132 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
25133 `usbtest.mod' and `usbms.mod'.
25134 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
25135 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
25136 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
25137 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
25138 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
25139 variables.
25140
25141 * disk/usbms.c: New file.
25142
25143 * include/grub/usb.h: Likewise.
25144
25145 * include/grub/usbtrans.h: Likewise.
25146
25147 * include/grub/usbdesc.h: Likewise.
25148
25149 * bus/usb/usbtrans.c: Likewise.
25150
25151 * bus/usb/ohci.c: Likewise.
25152
25153 * bus/usb/uhci.c: Likewise.
25154
25155 * bus/usb/usbhub.c: Likewise.
25156
25157 * bus/usb/usb.c: Likewise.
25158
25159 * commands/usbtest.c: Likewise.
25160
25161 * util/usb.c: Likewise.
50fb7002 25162
d64399b5 25163 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
25164
25165 * configure.ac: Test for libusb presence.
50fb7002 25166
d64399b5 25167 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
25168
2b40d6bb 251692009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
25170
25171 * kern/mm.c: Add more comments.
25172
73a4ce81 251732009-02-08 Robert Millan <rmh@aybabtu.com>
25174
25175 Patch from Javier Martín.
25176 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
25177 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
25178
f821ce59 251792009-02-08 Robert Millan <rmh@aybabtu.com>
25180
25181 * fs/cpio.c: Split tar functionality to ...
25182 * fs/tar.c: ... here (new file). Update all users.
25183
aebfc4b0 251842009-02-07 Robert Millan <rmh@aybabtu.com>
25185
25186 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
25187 backward-incompatible features.
25188
25189 Based on patch from Javier Martín, with some adjustments.
25190
50fb7002 251912009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 25192
25193 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
25194
0bb5115e 251952009-02-07 Robert Millan <rmh@aybabtu.com>
25196
25197 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
25198 position of `disk/lvm.c' to ensure grub_init_all() always picks it
25199 after the RAID stuff.
25200
38a0f8e7 252012009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
25202
50fb7002 25203 Fixes problem when running vbetest command as reported by
38a0f8e7 25204 Vladimir Serbinenko <phcoder@gmail.com>.
25205
25206 * (grub_vbe_set_video_mode): Fixed problem with text modes.
25207
3143cc1c 252082009-02-04 Felix Zielcke <fzielcke@z-51.de>
25209
25210 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
25211 /dev/md/NpN style mdraid devices.
25212
9cba6fce 252132009-02-03 Felix Zielcke <fzielcke@z-51.de>
25214
25215 * util/unifont2pff.rb: Remove.
25216
e507a2c1 252172009-02-03 Felix Zielcke <fzielcke@z-51.de>
25218
25219 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
25220 `#'.
25221
d2c2b4cd 252222009-02-03 Felix Zielcke <fzielcke@z-51.de>
25223
25224 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
25225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25226 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25227 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25229 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25230 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25231
b4315fb0 252322009-02-02 Christian Franke <franke@computer.org>
25233
25234 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
25235
de3aa260 252362009-02-01 Felix Zielcke <fzielcke@z-51.de>
25237
7c3ff286 25238 * INSTALL: Note that we now require at least autoconf 2.59 and
25239 that LZO is optional.
de3aa260 25240
825a182b 252412009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
25242
25243 Base on patch on bug #24154 created by Tomas Tintera
25244 <trosos@seznam.cz>.
25245
25246 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
25247
a69ef770 252482009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
25249
7c3ff286 25250 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 25251 <bero@arklinux.org>.
25252
25253 * normal/parser.y (script_init): Add missing semicolon.
25254
6fa42fa6 252552009-01-31 Colin D Bennett <colin@gibibit.com>
25256
7c3ff286 25257 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 25258 (free_menu_entry_classes): Added.
25259 (grub_normal_menu_addentry): Added class property handling.
25260 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
25261 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
25262
25263 * normal/menu_viewer.c: New file.
25264
25265 * normal/menu.c (run_menu_entry): Renamed to ...
25266 (grub_menu_execute_entry): ... this and made it as global.
25267 (grub_menu_run): Renamed to ...
25268 (show_text_menu): ... this and made it local.
25269 (show_text_menu): Adapt to new function names.
25270 (grub_normal_terminal_menu_viewer): New global variable.
25271
25272 * include/grub/menu.h: New file.
25273
25274 * include/grub/menu_viewer.h: New file.
25275
25276 * include/grub/normal.h: Added include to grub/menu.h.
25277 (grub_menu_entry): Moved to include/grub/menu.h.
25278 (grub_menu_entry_t): Likewise.
25279 (grub_menu): Likewise.
25280 (grub_menu_t): Likewise.
25281 (grub_normal_terminal_menu_viewer): Added.
25282 (grub_menu_execute_entry): Likewise.
25283 (grub_menu_run): Removed.
25284
25285 * DISTLIST: Added include/grub/menu.h.
25286 Added include/grub/menu_viewer.h.
25287 Added normal/menu_viewer.c.
25288
252892009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
25290
25291 * normal/execute.c (grub_script_execute_menuentry): Changed to use
25292 arglist for menutitle arguments.
25293
25294 * normal/main.c (grub_normal_menu_addentry): Likewise.
25295
25296 * normal/parser.y (menuentry): Likewise.
25297
25298 * normal/script.c (grub_script_create_cmdmenu): Likewise.
25299
25300 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
25301 (grub_script_create_cmdmenu): Likewise.
25302
25303 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
25304
25305 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
25306 changes.
25307
25308 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
25309
25310 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
25311
25312 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
25313
25314 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25315
25316 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25317
25318 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25319
56192c23 253202009-01-30 Christian Franke <franke@computer.org>
25321
25322 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
25323 in option help text.
25324
d72521b3 253252009-01-27 Pavel Roskin <proski@gnu.org>
25326
25327 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
25328
994b5e84 253292009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25330
25331 * commands/lsmmap.c: Add include to grub/machine/memory.h.
25332
25333 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
25334
25335 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
25336 unregister function.
25337
6a7eab2c 253382009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25339
25340 * disk/scsi.c (grub_scsi_read): Fix sign problem.
25341
25342 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
25343
25344 * util/grub-mkfont.c (usage): Fix typo.
25345
25346 * util/elf/grub-mkimage.c (load_modules): Fix warning.
25347
1806b56e 253482009-01-26 Daniel Mierswa <impulze@impulze.org>
25349
3fb18f09 25350 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
25351
336e1fb9 25352 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
25353
1806b56e 25354 * kern/misc.c (grub_strcasecmp): New function.
25355 (grub_strcasecmp): Use grub_size_t instead of int for length.
25356 Fix return value.
25357 * include/grub/misc.h: Update function prototypes.
25358
580b2a0f 253592009-01-26 Robert Millan <rmh@aybabtu.com>
25360
25361 * configure.ac: Fix cross-compilation check.
ef257b36 25362
d31c24f1 253632009-01-22 Christian Franke <franke@computer.org>
25364
25365 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
25366 (precision) digit string. Allow `.format2' without `format1' (width).
25367 Limit input chars for `%s' output to `format2' if specified. This is
25368 compatible with standard printf ().
25369
3138b44c 253702009-01-22 Christian Franke <franke@computer.org>
25371
25372 * disk/ata.c (grub_ata_wait_status): Replace by ...
25373 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
25374 other status bits may be invalid while BSY is asserted.
25375 (grub_ata_check_ready): New function.
25376 (grub_ata_cmd): Removed.
25377 (grub_ata_wait_drq): New function.
25378 (grub_ata_strncpy): Remove inline.
25379 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
25380 and error check now done by grub_ata_wait_drq ().
25381 (grub_ata_pio_write): Likewise.
25382 (grub_atapi_identify): Set DEV before check for !BSY. Use
25383 grub_ata_wait_drq () to wait for data.
25384 (grub_ata_device_initialize): Add status register check to
25385 detect missing SATA slave devices. Add debug messages.
25386 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
25387 (grub_atapi_packet): Set DEV before check for !BSY. Replace
25388 transfer loop by grub_ata_pio_write ().
25389 (grub_ata_identify): Set DEV before check for !BSY. Use
25390 grub_ata_wait_drq () to wait for data.
ef257b36 25391 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 25392 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
25393 read/write in one loop. Fix invalid command on write. Fix incomplete
25394 command on (size % batch) == 0. Add missing error check after write of
25395 last block. Add debug messages.
25396 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
25397
59a64ef6 253982009-01-19 Christian Franke <franke@computer.org>
25399
25400 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
25401 (GRUB_ATAPI_IREASON_*): Likewise.
25402 (grub_ata_pio_write): Fix timeout error return.
25403 (grub_atapi_identify): Add grub_ata_wait () after cmd.
25404 (grub_atapi_wait_drq): New function.
25405 (grub_atapi_packet): New parameter `size'.
25406 Use grub_atapi_wait_drq () and direct write instead of
25407 grub_ata_pio_write ().
25408 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
25409 reads the number of bytes requested by the device for each DRQ
25410 assertion.
25411 (grub_atapi_write): Remove old implementation, return not
25412 implemented instead.
25413
1cfe20b3 254142009-01-19 Christian Franke <franke@computer.org>
25415
25416 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
25417 of 512 to calculate data size.
25418 (grub_scsi_read12): Likewise.
25419 (grub_scsi_write10): Likewise.
25420 (grub_scsi_write12): Likewise.
25421 (grub_scsi_read): Adjust size according to blocksize.
25422 Add checks for invalid blocksize and unaligned transfer.
25423
bee5fe5d 254242009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
25425
25426 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
25427
ef257b36 25428 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 25429 width glyphs.
25430
3e643f8c 254312009-01-19 Robert Millan <rmh@aybabtu.com>
25432
25433 * config.guess: Update to latest version from config git.
25434 * config.sub: Likewise.
25435
4fa80998 254362009-01-17 Felix Zielcke <fzielcke@z-51.de>
25437
25438 * Makefile.in: Change font compilation to use new grub-mkfont instead
25439 of java version.
25440
25441 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
25442 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
25443 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25444 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25445 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
25446 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
25447 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
25448 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
25449 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25450
7086085b 254512009-01-16 Christian Franke <franke@computer.org>
25452
25453 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
25454 (enum grub_ata_timeout_milliseconds): New enum.
25455 (grub_ata_wait_status): Add parameter milliseconds.
25456 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
25457 recovery from timed-out commands.
25458 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
25459 return grub_errno instead of REG_ERROR.
25460 (grub_ata_pio_write): Add parameter milliseconds.
25461 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
25462 Pass milliseconds to grub_ata_wait_status () and
25463 grub_ata_pio_read ().
25464 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
25465 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
25466 grub_ata_wait_status (). Fix IDENTIFY timeout check.
25467 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
25468 It is not suitable for device detection, because DEV bit is ignored,
25469 the command may run too long, and not all devices set the signature
25470 properly.
25471 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
25472 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
25473 Fix device selection, DEV bit must be set first to address the registers
25474 of the correct device.
25475 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
25476 grub_ata_pio_read/write ().
25477 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
25478 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
25479
4a412913 254802009-01-13 Carles Pina i Estany <carles@pina.cat>
25481
25482 * util/grub-editenv.c (main): Use fseeko(), not fseek().
25483
7795c55e 254842009-01-13 Bean <bean123ch@gmail.com>
d913988c 25485
25486 * util/grub-mkfont.c (write_font): forget to remove some debug code.
25487
7795c55e 254882009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 25489
25490 * Makefile.in: (enable_grub_mkfont): New variable.
25491 (freetype_cflags): Likewise.
25492 (freetype_libs): Likewise.
25493
25494 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
25495 (grub_mkfont_SOURCES): New variable.
25496 (grub_mkfont_CFLAGS): Likewise.
25497 (grub_mkfont_LDFLAGS): Likewise.
25498
25499 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
25500 library if `--enable-grub-mkfont' is requested.
25501 (enable_grub_mkfont): New variable.
25502 (freetype_cflags): Likewise.
25503 (freetype_libs): Likewise.
25504
25505 * util/grub-mkfont.c: New file.
25506
093af1fe 255072009-01-12 Christian Franke <franke@computer.org>
25508
25509 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
25510 mode check. Fix setting of compat_use[].
25511
f36cc108 255122009-01-10 Robert Millan <rmh@aybabtu.com>
25513
25514 Update a few copyright years which we forgot to do in 2008 (only for
25515 files whose changes made in 2008 were copyright-significant)
25516
25517 * Makefile.in: Add 2008 to Copyright line.
25518 * disk/ieee1275/ofdisk.c: Likewise.
25519 * disk/efi/efidisk.c: Likewise.
25520 * kern/dl.c: Likewise.
25521 * kern/sparc64/ieee1275/init.c: Likewise.
25522 * kern/mm.c: Likewise.
25523 * kern/efi/mm.c: Likewise.
25524 * boot/i386/pc/boot.S: Likewise.
25525 * genfslist.sh: Likewise.
25526 * fs/iso9660.c: Likewise.
25527 * fs/hfs.c: Likewise.
25528 * fs/jfs.c: Likewise.
25529 * fs/minix.c: Likewise.
25530 * fs/ufs.c: Likewise.
25531 * gensymlist.sh.in: Likewise.
25532 * genkernsyms.sh.in: Likewise.
25533 * include/grub/misc.h: Likewise.
25534 * include/grub/types.h: Likewise.
25535 * include/grub/symbol.h: Likewise.
25536 * include/grub/elf.h: Likewise.
25537 * include/grub/kernel.h: Likewise.
25538 * include/grub/disk.h: Likewise.
25539 * include/grub/dl.h: Likewise.
25540 * include/grub/i386/linux.h: Likewise.
25541 * include/grub/i386/pc/biosdisk.h: Likewise.
25542 * include/grub/efi/api.h: Likewise.
25543 * include/grub/efi/pe32.h: Likewise.
25544 * include/grub/util/misc.h: Likewise.
25545 * normal/execute.c: Likewise.
25546 * normal/arg.c: Likewise.
25547 * normal/completion.c: Likewise.
25548 * normal/lexer.c: Likewise.
25549 * normal/parser.y: Likewise.
25550 * normal/misc.c: Likewise.
25551 * commands/i386/pc/vbeinfo.c: Likewise.
25552 * commands/hexdump.c: Likewise.
25553 * commands/terminal.c: Likewise.
25554 * commands/ls.c: Likewise.
25555 * commands/help.c: Likewise.
25556 * partmap/pc.c: Likewise.
25557 * loader/efi/chainloader.c: Likewise.
25558 * loader/multiboot_loader.c: Likewise.
25559 * loader/i386/pc/multiboot2.c: Likewise.
25560 * term/efi/console.c: Likewise.
25561 * term/i386/pc/serial.c: Likewise.
25562 * util/lvm.c: Likewise.
25563 * util/console.c: Likewise.
25564 * util/i386/efi/grub-mkimage.c: Likewise.
25565 * util/raid.c: Likewise.
25566
7f02114b 255672009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
25568
25569 * commands/videotest.c: Removed include to grub/machine/memory.h.
25570
25571 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
25572 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
25573 (video_mod_SOURCES): Removed.
25574 (video_mod_CFLAGS): Likewise.
25575 (video_mod_LDFLAGS): Likewise.
25576 (gfxterm_mod_SOURCES): Likewise.
25577 (gfxterm_mod_CFLAGS): Likewise.
25578 (gfxterm_mod_LDFLAGS): Likewise.
25579 (videotest_mod_SOURCES): Likewise.
25580 (videotest_mod_CFLAGS): Likewise.
25581 (videotest_mod_LDFLAGS): Likewise.
25582 (bitmap_mod_SOURCES): Likewise.
25583 (bitmap_mod_CFLAGS): Likewise.
25584 (bitmap_mod_LDFLAGS): Likewise.
25585 (tga_mod_SOURCES): Likewise.
25586 (tga_mod_CFLAGS): Likewise.
25587 (tga_mod_LDFLAGS): Likewise.
25588 (jpeg_mod_SOURCES): Likewise.
25589 (jpeg_mod_CFLAGS): Likewise.
25590 (jpeg_mod_LDFLAGS): Likewise.
25591 (png_mod_SOURCES): Likewise.
25592 (png_mod_CFLAGS): Likewise.
25593 (png_mod_LDFLAGS): Likewise.
25594
25595 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
25596 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
25597 (video_mod_SOURCES): Added.
25598 (video_mod_CFLAGS): Likewise.
25599 (video_mod_LDFLAGS): Likewise.
25600 (videotest_mod_SOURCES): Likewise.
25601 (videotest_mod_CFLAGS): Likewise.
25602 (videotest_mod_LDFLAGS): Likewise.
25603 (bitmap_mod_SOURCES): Likewise.
25604 (bitmap_mod_CFLAGS): Likewise.
25605 (bitmap_mod_LDFLAGS): Likewise.
25606 (tga_mod_SOURCES): Likewise.
25607 (tga_mod_CFLAGS): Likewise.
25608 (tga_mod_LDFLAGS): Likewise.
25609 (jpeg_mod_SOURCES): Likewise.
25610 (jpeg_mod_CFLAGS): Likewise.
25611 (jpeg_mod_LDFLAGS): Likewise.
25612 (png_mod_SOURCES): Likewise.
25613 (png_mod_CFLAGS): Likewise.
25614 (png_mod_LDFLAGS): Likewise.
25615 (gfxterm_mod_SOURCES): Likewise.
25616 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 25617 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 25618
25619 * term/gfxterm.c: Removed include to grub/machine/memory.h,
25620 grub/machine/console.h.
25621
644fff97 256222009-01-04 Jerone Young <jerone@gmail.com>
25623
25624 Make on screen instructions clearer
25625
25626 Based on patch created by Jidanni <jidanni@jidanni.org>
25627
25628 * normal/menu.c: print clearer instructions on the screen
25629
1e901a75 256302009-01-02 Colin D Bennett <colin@gibibit.com>
25631
25632 New font engine.
34c44600 25633
1e901a75 25634 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
25635 build system and fixed gfxterm.c to work with different sized fonts.
25636
25637 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 25638
1e901a75 25639 * configure: Re-generated.
34c44600 25640
1e901a75 25641 * DISTLIST: Removed font/manager.c.
25642 Added font/font.c.
25643 Added font/font_cmd.c.
34c44600 25644
1e901a75 25645 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
25646 compilation.
34c44600 25647
1e901a75 25648 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 25649
25650 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 25651
25652 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 25653
1e901a75 25654 * normal/menu.c: Likewise.
34c44600 25655
1e901a75 25656 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
25657 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 25658
1e901a75 25659 * include/grub/font.h: Replaced with new file.
34c44600 25660
1e901a75 25661 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
25662 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
25663 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
25664 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
25665 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 25666 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 25667 fg_red, fg_green, fg_blue, fg_alpha.
25668 (grub_video_adapter): Removed blit_glyph.
34c44600 25669 (grub_video_blit_glyph): Removed.
25670
1e901a75 25671 * font/manager.c: Removed file.
34c44600 25672
25673 * font/font.c: New file.
25674
1e901a75 25675 * font/font_cmd.c: Likewise.
34c44600 25676
1e901a75 25677 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 25678
1e901a75 25679 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
25680 (grub_video_vbe_map_rgba): Likewise.
25681 (grub_video_vbe_unmap_color_int): Likewise.
25682 (grub_video_vbe_blit_glyph): Removed.
25683 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 25684
1e901a75 25685 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
25686 (get_pixel): Likewise.
34c44600 25687 (set_pixel): Likewise.
25688
1e901a75 25689 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 25690
1e901a75 25691 * term/gfxterm.c: Adapted to new font engine.
34c44600 25692
1e901a75 25693 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 25694
1e901a75 25695 * term/i386/pc/vga.c: Likewise.
34c44600 25696
1e901a75 25697 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 25698
1e901a75 25699 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 25700
1e901a75 25701 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25702
1e901a75 25703 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25704
1e901a75 25705 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25706
1e901a75 25707 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25708
1e901a75 25709 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25710
1e901a75 25711 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25712
1e901a75 25713 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25714
25715 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25716
1e901a75 25717 * util/grub-mkconfig_lib.in: Changed font extension.
25718
278922e8 257192008-12-28 Felix Zielcke <fzielcke@z-51.de>
25720
25721 * util/getroot.c (grub_util_get_grub_dev): Add support for
25722 /dev/md/dNNpNN style partitionable mdraid devices.
25723
3ced05cf 257242008-12-12 Alex Smith <alex@alex-smith.me.uk>
25725
25726 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25727 at a time limit of the PXE TFTP API correctly.
25728 (grub_pxefs_close): Likewise.
25729
7fd0ee30 257302008-11-29 Robert Millan <rmh@aybabtu.com>
25731
34c44600 25732 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25733 grub_ata_device_initialize() calls.
25734
34c44600 257352008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25736
25737 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25738 iteration failed.
25739 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25740
89313780 257412008-11-28 Robert Millan <rmh@aybabtu.com>
25742
25743 Fix build on powerpc-ieee1275. Based on patch created by
25744 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25745 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25746 `kern/ieee1275/mmap.c'.
25747 * include/grub/powerpc/ieee1275/memory.h: New file.
25748
15257703 25749 Provide grub-install on coreboot.
25750 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25751 (grub_install_SOURCES): New variable.
25752 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25753 usable on coreboot.
25754
9fc5388a 257552008-11-25 Felix Zielcke <fzielcke@z-51.de>
25756
25757 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25758 to `grub_term_input_t'.
25759 (grub_term_get_current_output): Change return type to
25760 `grub_term_output_t'.
25761
bc3a2f31 257622008-11-22 Robert Millan <rmh@aybabtu.com>
25763
34c44600 25764 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25765 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25766 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25767 grub_vga_text_cls().
25768
80fc88f2 25769 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25770 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25771
cbf36fd3 25772 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25773 to 0x200000 (avoids trouble with some OFW implementations, and matches
25774 with the one in Yaboot).
25775 Reported by Manoel Abranches
25776
73e8e268 257772008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25778
25779 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25780 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25781
73e8e268 25782 * util/grub-mkconfig_lib.in (grub_warn): New function.
25783 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25784 warnings, to obtain consistent formatting.
25785 * util/grub.d/00_header.in: Likewise.
25786 * util/update-grub_lib.in: Likewise.
25787
e94045a1 25788 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25789 Move comment text to `#error' stanza.
e94045a1 25790
79d29fd7 25791 Harmonize ieee1275's grub_available_iterate() with the generic
25792 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25793 build problem on i386-ieee1275):
25794 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25795 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25796 parameter `type'. Update all users of this function.
25797 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25798 `kern/ieee1275/mmap.c'.
25799 * kern/ieee1275/init.c
25800 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25801 with ...
25802 (grub_machine_mmap_iterate): ... this.
25803 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25804 return type to `grub_err_t'. Update all implementations of this
25805 function prototype.
25806 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25807 Likewise.
25808
60d6b16e 25809 Add `lsmmap' command (lists firmware-provided memory map):
25810 * commands/lsmmap.c: New file.
25811 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25812 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25813 variables.
25814 * conf/powerpc-ieee1275.rmk: Likewise.
25815 * conf/i386-coreboot.rmk: Likewise.
25816 * conf/i386-ieee1275.rmk: Likewise.
25817
ebaaf49b 258182008-11-19 Robert Millan <rmh@aybabtu.com>
25819
25820 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25821 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25822 constraints to initrd allocation (based on code from
25823 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25824 for Linux to find it.
ebaaf49b 25825
dfab719f 258262008-11-14 Robert Millan <rmh@aybabtu.com>
25827
25828 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25829 order to cope with duplicate slashes.
25830
10fc3eb9 258312008-11-14 Robert Millan <rmh@aybabtu.com>
25832
25833 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25834 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25835 don't want to mess with lower memory, because it is used in the Linux
25836 loader.
25837
25838 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25839 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25840 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25841 is in our heap (probably as a result of it being corrupted during
2f2a3442 25842 decompression). Add #error instance with comment to explain why this
25843 loader isn't currently usable on PC/BIOS.
10fc3eb9 25844
e2e07847 258452008-11-14 Robert Millan <rmh@aybabtu.com>
25846
25847 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25848 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25849
fe8e8d69 258502008-11-12 Robert Millan <rmh@aybabtu.com>
25851
25852 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25853
25854 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25855 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25856 from here ...
25857 * include/grub/i386/pc/memory.h: ... to here.
25858
976b07d0 258592008-11-12 Robert Millan <rmh@aybabtu.com>
25860
25861 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25862 split).
25863
25864 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25865 (grub_console_cur_color, grub_console_real_putchar)
25866 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25867 (grub_console_setcolorstate, grub_console_setcolor)
25868 (grub_console_getcolor): Move from here ...
25869 * include/grub/i386/vga_common.h: ... to here (new file).
25870
25871 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25872 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25873 `<grub/i386/io.h>'.
25874 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25875 `<grub/i386/vga_common.h>'.
25876
76679cd3 258772008-11-12 Robert Millan <rmh@aybabtu.com>
25878
25879 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25880 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25881 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25882 variables.
25883 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25884 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25885
25886 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25887 grub_console_init() with call to grub_vga_text_init().
25888 (grub_machine_fini): Replace call to
25889 grub_console_fini() with call to grub_vga_text_fini() and
25890 grub_at_keyboard_fini().
25891
25892 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25893 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25894 (grub_console_setcolorstate, grub_console_setcolor)
25895 (grub_console_getcolor): New function prototypes.
25896
25897 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25898 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25899 (grub_vga_text_setcursor): Static-ize.
25900 (grub_vga_text_term): New structure.
25901 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25902
25903 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25904 (grub_console_cur_color, grub_console_standard_color)
25905 (grub_console_normal_color, grub_console_highlight_color)
25906 (map_char, grub_console_putchar, grub_console_getcharwidth)
25907 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25908 (grub_console_getcolor): Move from here ...
25909 * term/i386/vga_common.c: ... to here (same function names).
25910
95b841d3 259112008-11-12 Robert Millan <rmh@aybabtu.com>
25912
25913 Use newly-added Multiboot support in coreboot.
25914
25915 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25916 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25917
25918 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25919 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25920 (codestart): Store the MBI in `startup_multiboot_info' when we're
25921 being loaded using Multiboot.
25922
25923 * kern/i386/coreboot/init.c (grub_machine_init): Move
25924 grub_at_keyboard_init() call to beginning of function (useful for
25925 debugging). Call grub_machine_mmap_init() before attempting to use
25926 grub_machine_mmap_iterate().
25927 (grub_lower_mem, grub_upper_mem): Move from here ...
25928 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25929 here (new file).
25930
25931 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25932 function prototype.
25933
761ca975 259342008-11-12 Robert Millan <rmh@aybabtu.com>
25935
25936 Fix a regression introduced by the at_keyboard.mod split. Because
25937 some terminals are default on some platforms and non-default on
25938 others, the first terminal being registered determines which is
25939 going to be default.
25940
25941 * kern/term.c (grub_term_register_input): If this is the first
25942 terminal being registered, set it as the current one.
25943 (grub_term_register_output): Likewise.
25944
25945 * term/efi/console.c (grub_console_init): Do not call
25946 grub_term_set_current_output() or grub_term_set_current_input().
25947 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25948 * term/i386/pc/console.c (grub_console_init): Likewise.
25949 (grub_console_fini): Do not call grub_term_set_current_input()
25950 (but leave grub_term_set_current_output() to restore text mode).
25951
6c529df7 259522008-11-10 Robert Millan <rmh@aybabtu.com>
25953
25954 * util/grub.d/00_header.in: Add backward compatibility check for
25955 versions of terminal.mod that don't understand `terminal_input' or
25956 `terminal_output'.
25957
132e4113 259582008-11-09 Robert Millan <rmh@aybabtu.com>
25959
25960 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25961 `terminal_input' / `terminal_output', not `terminal'.
25962
ac293d50 259632008-11-08 Robert Millan <rmh@aybabtu.com>
25964
25965 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25966 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25967
0025933a 259682008-11-08 Robert Millan <rmh@aybabtu.com>
25969
25970 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25971 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25972 members. Update all users.
25973 * util/console.c (grub_ncurses_term): Split in ...
25974 (grub_ncurses_term_input): ... this, and ...
25975 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25976 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25977
37c86336 259782008-11-08 Robert Millan <rmh@aybabtu.com>
25979
25980 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25981 (PKGDATA): Add $(pkgdata_SRCDIR).
25982 (pkglib_BUILDDIR): New variable.
25983 (pkgdata_SRCDIR): New variable.
25984 (build_env.mk): New target.
25985 (include_DATA): New variable.
25986 (install-local): Install $(include_DATA) files in $(includedir).
25987
b6c15a2d 259882008-11-07 Pavel Roskin <proski@gnu.org>
25989
d99d46f1 25990 * gendistlist.sh: Use C locale for sorting to ensure consistent
25991 output on all systems.
25992
b6c15a2d 25993 * util/grub.d/00_header.in: Remove incorrect space before
25994 "serial".
25995
c32ee8c9 259962008-11-07 Robert Millan <rmh@aybabtu.com>
25997
25998 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25999 per specification.
26000 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26001 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26002 (based on find_multi_boot1_header).
26003 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26004 using find_multi_boot2_header(), and abort if neither Multiboot or
26005 Multiboot headers were found.
26006
651c29b7 260072008-11-07 Robert Millan <rmh@aybabtu.com>
26008
26009 Modularize at_keyboard.mod:
26010
26011 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
26012 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26013 (at_keyboard_mod_LDFLAGS): New variables.
26014
26015 Actual terminal split:
26016
26017 * include/grub/term.h (struct grub_term): Split in ...
26018 (struct grub_term_input): ... this, and ...
26019 (struct grub_term_output): ... this. Update all users.
26020 (grub_term_set_current): Split in ...
26021 (grub_term_set_current_input): ... this, and ...
26022 (grub_term_set_current_output): ... this.
26023 (grub_term_get_current): Split in ...
26024 (grub_term_get_current_input): ... this, and ...
26025 (grub_term_get_current_output): ... this.
26026 (grub_term_register): Split in ...
26027 (grub_term_register_input): ... this, and ...
26028 (grub_term_register_output): ... this.
26029 (grub_term_unregister): Split in ...
26030 (grub_term_unregister_input): ... this, and ...
26031 (grub_term_unregister_output): ... this.
26032 (grub_term_iterate): Split in ...
26033 (grub_term_iterate_input): ... this, and ...
26034 (grub_term_iterate_output): ... this.
26035
26036 * kern/term.c (grub_term_list): Split in ...
26037 (grub_term_list_input): ... this, and ...
26038 (grub_term_list_output): ... this. Update all users.
26039 (grub_cur_term): Split in ...
26040 (grub_cur_term_input): ... this, and ...
26041 (grub_cur_term_output): ... this. Update all users.
26042 (grub_term_set_current): Split in ...
26043 (grub_term_set_current_input): ... this, and ...
26044 (grub_term_set_current_output): ... this.
26045 (grub_term_get_current): Split in ...
26046 (grub_term_get_current_input): ... this, and ...
26047 (grub_term_get_current_output): ... this.
26048 (grub_term_register): Split in ...
26049 (grub_term_register_input): ... this, and ...
26050 (grub_term_register_output): ... this.
26051 (grub_term_unregister): Split in ...
26052 (grub_term_unregister_input): ... this, and ...
26053 (grub_term_unregister_output): ... this.
26054 (grub_term_iterate): Split in ...
26055 (grub_term_iterate_input): ... this, and ...
26056 (grub_term_iterate_output): ... this.
26057
26058 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
26059 a check for input and one for output (and only attempt to get keys
26060 from user when input works).
26061
26062 * util/grub-probe.c (grub_term_get_current): Split in ...
26063 (grub_term_get_current_input): ... this, and ...
26064 (grub_term_get_current_output): ... this.
26065 * util/grub-fstest.c: Likewise.
26066 * util/i386/pc/grub-setup.c: Likewise.
26067 * util/grub-editenv.c: Likewise.
26068
26069 Portability adjustments:
26070
26071 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
26072 `term/i386/pc/at_keyboard.c'.
26073 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
26074 grub_keyboard_controller_init() (now handled by terminal .init).
26075 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
26076 grub_at_keyboard_init().
26077 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
26078 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
26079 at_keyboard.mod via input terminal interface).
26080 * include/grub/i386/coreboot/console.h: Convert into a stub for
26081 `<grub/i386/pc/console.h>'.
26082
26083 Migrate full terminals to new API:
26084
26085 * term/efi/console.c (grub_console_term): Split into ...
26086 (grub_console_term_input): ... this, and ...
26087 (grub_console_term_output): ... this. Update all users.
26088 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
26089 (grub_ofconsole_init): Split into ...
26090 (grub_ofconsole_init_input): ... this, and ...
26091 (grub_ofconsole_init_output): ... this.
26092 (grub_ofconsole_term): Split into ...
26093 (grub_ofconsole_term_input): ... this, and ...
26094 (grub_ofconsole_term_output): ... this. Update all users.
26095 * term/i386/pc/serial.c (grub_serial_term): Split into ...
26096 (grub_serial_term_input): ... this, and ...
26097 (grub_serial_term_output): ... this. Update all users.
26098 * term/i386/pc/console.c (grub_console_term): Split into ...
26099 (grub_console_term_input): ... this, and ...
26100 (grub_console_term_output): ... this. Update all users.
26101 (grub_console_term_input): Only enable it on PC/BIOS platform.
26102 (grub_console_init): Remove grub_keyboard_controller_init() call.
26103
26104 Migrate input terminals to new API:
26105
26106 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
26107 `i386' and `i386/pc' to enable build on x86_64 (this driver is
26108 i386-specific anyway).
26109 (grub_console_checkkey): Rename to ...
26110 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
26111 users.
26112 (grub_keyboard_controller_orig): New variable.
26113 (grub_console_getkey): Rename to ...
26114 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
26115 users.
26116 (grub_keyboard_controller_init): Static-ize. Save original
26117 controller value so that it can be restored ...
26118 (grub_keyboard_controller_fini): ... here (new function).
26119 (grub_at_keyboard_term): New structure.
26120 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
26121 functions.
26122
26123 Migrate output terminals to new API:
26124
26125 * term/i386/pc/vga.c (grub_vga_term): Change type to
26126 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26127 members. Update all users.
26128 * term/gfxterm.c (grub_video_term): Change type to
26129 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26130 members. Update all users.
26131 * include/grub/i386/pc/console.h (grub_console_checkkey)
26132 (grub_console_getkey): Do not export (no longer needed by gfxterm,
26133 etc).
26134
26135 Migrate `terminal' command and userland tools to new API:
26136
26137 * commands/terminal.c (grub_cmd_terminal): Split into ...
26138 (grub_cmd_terminal_input): ... this, and ...
26139 (grub_cmd_terminal_output): ... this.
26140 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
26141 `terminal_input' and `terminal_output'.
26142 * util/grub.d/00_header.in: Adjust `terminal' calls to new
26143 `terminal_input' / `terminal_output' API.
26144 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
26145 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
26146 provided ${GRUB_TERMINAL}, convert it).
26147
96e5d876 261482008-11-04 Robert Millan <rmh@aybabtu.com>
26149
26150 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
26151 for FreeBSD.
26152 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
26153
556f3775 261542008-11-03 Bean <bean123ch@gmail.com>
26155
26156 * kern/elf.c (grub_elf32_load): Revert to previous code.
26157 (grub_elf64_load): Likewise.
26158
26159 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
26160
926b9823 261612008-11-01 Robert Millan <rmh@aybabtu.com>
26162
26163 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
26164 (TARGET_CPPFLAGS): Likewise.
26165 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
26166
1432e958 261672008-11-01 Carles Pina i Estany <carles@pina.cat>
26168
26169 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
26170
dba3f844 261712008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 26172
26173 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
26174 addition of objects until the code is not going to be able to fail.
26175
dba3f844 261762008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 26177
26178 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
26179 (add a missing NULL check, and correct them by moving the pointer
26180 operations after the actual check).
26181
7ab28c21 261822008-10-29 Robert Millan <rmh@aybabtu.com>
26183
26184 * util/i386/pc/grub-install.in: Handle empty string as output from
26185 make_system_path_relative_to_its_root().
26186
1b7748eb 261872008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
26188
26189 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
26190 circular metadata worst case scenario. If the metadata is circular
26191 then copy the wrap in place.
26192 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
26193 project lib/format_text/layout.h
26194 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
26195
c9618ab2 261962008-10-03 Felix Zielcke <fzielcke@z-51.de>
26197
7a36edca 26198 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 26199
bf981c62 262002008-10-03 Felix Zielcke <fzielcke@z-51.de>
26201
26202 * util/update-grub_lib.in: Mention filename in warning message.
26203
6d994591 262042008-09-29 Felix Zielcke <fzielcke@z-51.de>
26205
26206 * NEWS: Update for rename of update-grub to grub-mkconfig.
26207
18ade780 262082008-09-29 Felix Zielcke <fzielcke@z-51.de>
26209
26210 * util/update-grub_lib.in: Copy to ...
26211 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 26212 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 26213 * util/update-grub.in: Rename to ...
26214 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
26215 option. Add `--output' option to allow users to specify the generated
26216 configuration file. Default to stdout.
26217 (update_grub_dir): Rename to ...
26218 (grub_mkconfig_dir): ... this.
26219 (grub_cfg): Default to an empty string.
26220 * conf/common.rmk (update-grub): Rename to ...
26221 (grub-mkconfig): ... this.
26222 (update-grub_lib): Copy to ...
26223 (grub-mkconfig_lib): ... this.
26224 (update-grub_SCRIPTS): Copy to ...
26225 (grub-mkconfig_SCRIPTS): ... this. Update all users.
26226 (update-grub_DATA): Rename to ...
26227 (grub-mkconfig_DATA): ... this.
26228
556ce6ac 262292008-09-28 Robert Millan <rmh@aybabtu.com>
26230
26231 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
26232 to `modified'. Add the real `created' field.
26233 (grub_iso9660_uuid): Use `modified' rather than `created' for
26234 constructing the UUID.
26235
262362008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 26237
26238 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
26239 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
26240
92274e85 262412008-09-28 Bean <bean123ch@gmail.com>
26242
26243 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
26244 Thanks to Christian Franke for finding this bug.
26245
add6f17a 262462008-09-25 Robert Millan <rmh@aybabtu.com>
26247
26248 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
26249 instances of grub_util_get_disk_name() (see previous commit).
26250
d2a367b8 262512008-09-25 Robert Millan <rmh@aybabtu.com>
26252
26253 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
26254 `util/i386/get_disk_name.c'.
26255 * conf/i386-efi.rmk: Likewise.
26256 * conf/x86_64-efi.rmk: Likewise.
26257 * conf/i386-coreboot.rmk: Likewise.
26258 * conf/i386-ieee1275.rmk: Likewise.
26259 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
26260 `util/ieee1275/get_disk_name.c'.
26261 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
26262 * util/ieee1275/get_disk_name.c: Remove file.
26263 * util/i386/get_disk_name.c: Remove file.
26264 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
26265 "hd%d" for device.map entries, rather than using
26266 grub_util_get_disk_name().
26267
81a06771 262682008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 26269
26270 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
26271 warning.
26272 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
26273
5a004279 262742008-09-24 Carles Pina i Estany <carles@pina.cat>
26275
26276 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
26277 Changed to 0x5100.
26278 (GRUB_TERM_PPAGE): Changed to 0x4900.
26279
397093d3 262802008-09-24 Robert Millan <rmh@aybabtu.com>
26281
26282 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
26283 macros (they were i386-pc specific).
26284 * include/grub/sparc64/ieee1275/console.h: Likewise.
26285 * include/grub/efi/console.h: Likewise.
26286
a91b6c7c 262872008-09-22 Bean <bean123ch@gmail.com>
26288
26289 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
26290 resident and in attribute list.
26291
26292 * include/grub/ntfs.h (BMP_LEN): Removed.
26293
c40fd116 262942008-09-22 Bean <bean123ch@gmail.com>
26295
81a06771 26296 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 26297 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
26298
26299 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
26300 error occurs, as grub_disk_open will call grub_disk_close, which will
26301 call p->close (scsi).
26302
81a06771 263032008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 26304
26305 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
26306 (AC_PREREQ): Bumped to 2.59.
26307 (AC_TRY_COMPILE): Replace obsolete macro with ...
26308 (AC_COMPILE_IFELSE): ... this.
26309 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
26310 (AC_LINK_IFELSE): ... this.
26311
5dc43410 263122008-09-21 Felix Zielcke <fzielcke@z-51.de>
26313
26314 * autogen.sh: Add a call to `gendistlist.sh'.
26315
9035dce4 263162008-09-19 Christian Franke <franke@computer.org>
26317
26318 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
26319 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
26320 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
26321 Export __enable_execute_stack() to modules.
26322 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
26323 New function.
26324
7fd75377 263252008-09-09 Felix Zielcke <fzielcke@z-51.de>
26326
040030b3 26327 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
26328 Sort the list.
26329
263302008-09-09 Felix Zielcke <fzielcke@z-51.de>
26331
26332 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 26333 #include <grub/util/hostdisk.h>.
26334
89d5ffcf 263352008-09-08 Robert Millan <rmh@aybabtu.com>
26336
26337 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
26338 segments when their filesz is zero (grub_file_read() interprets
81a06771 26339 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 26340 Use `lowest_segment' rather than 0 for calculating the current
26341 segment load address.
26342
40da438f 263432008-09-08 Robert Millan <rmh@aybabtu.com>
26344
26345 * util/hostdisk.c (open_device): Replace a grub_util_info() call
26346 with grub_dprintf("hostdisk", ...), as it was so verbose that it
26347 clobbered useful information.
26348
ddbf5556 263492008-09-08 Robert Millan <rmh@aybabtu.com>
26350
26351 * include/grub/util/biosdisk.h: Move to ...
26352 * include/grub/util/hostdisk.h: ... here. Update all users.
26353 * util/biosdisk.c: Move to ...
26354 * util/hostdisk.c: ... here. Update all users.
26355
783d0f48 263562008-09-07 Robert Millan <rmh@aybabtu.com>
26357
26358 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
26359 variables.
26360 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
26361 and length can be stored directly in the `mbi->mmap_addr' and
26362 `mbi->mmap_length' struct fields.
26363
548e2ea5 263642008-09-07 Robert Millan <rmh@aybabtu.com>
26365
26366 * conf/i386.rmk: New file. Provides declaration for building
26367 `cpuid.mod'.
26368 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
26369 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
26370 variables.
26371 Include `conf/i386.mk'.
26372 * conf/i386-efi.rmk: Likewise.
26373 * conf/x86_64-efi.rmk: Likewise.
26374 * conf/i386-coreboot.rmk: Likewise.
26375 * conf/i386-ieee1275.rmk: Likewise.
26376
0ea85a37 263772008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
26378
26379 Based on patch created by Colin D Bennett <colin@gibibit.com>.
26380 Adds optimization support for BGR based modes.
26381
26382 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
26383 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26384 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26385 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26386 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26387 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26388 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26389 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26390 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26391 (grub_video_i386_vbeblit_index_index): Likewise.
26392 (grub_video_i386_vbeblit_replace_directN): Added.
26393 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26394 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26395 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26396 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26397 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26398 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 26399 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 26400 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26401 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26402 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26403 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26404 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26405 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
26406
26407 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
26408 (grub_video_i386_vbefill_R8G8B8): Likewise.
26409 (grub_video_i386_vbefill_index): Likewise.
26410 (grub_video_i386_vbefill_direct32): Added.
26411 (grub_video_i386_vbefill_direct24): Likewise.
26412 (grub_video_i386_vbefill_direct16): Likewise.
26413 (grub_video_i386_vbefill_direct8): Likewise.
26414
81a06771 26415 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 26416 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
26417 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
26418 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
26419 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
26420 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 26421
0ea85a37 26422 * video/video.c (grub_video_get_blit_format): Updated to use new
26423 blit formats. Added handling for 16 bit color modes.
81a06771 26424
26425 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 26426 fillers.
26427 (common_blitter): Updated to use new blitters.
26428
26429 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
26430 Removed.
26431 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26432 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26433 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26434 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26435 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26436 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26437 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26438 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26439 (grub_video_i386_vbeblit_index_index): Likewise.
26440 (grub_video_i386_vbeblit_replace_directN): Added.
26441 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26442 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26443 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26444 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26445 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26446 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
26447 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
26448 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26449 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26450 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26451 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26452 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26453 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 26454
0ea85a37 26455 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
26456 (grub_video_i386_vbefill_R8G8B8): Likewise.
26457 (grub_video_i386_vbefill_index): Likewise.
26458 (grub_video_i386_vbefill_direct32): Added.
26459 (grub_video_i386_vbefill_direct24): Likewise.
26460 (grub_video_i386_vbefill_direct16): Likewise.
26461 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 26462
0ea85a37 26463 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
26464 types.
81a06771 26465
0ea85a37 26466 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
26467 types.
81a06771 26468
0ea85a37 26469 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
26470 blitter types.
81a06771 26471
0ea85a37 26472 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
26473 types.
26474
e8a83df6 264752008-09-06 Felix Zielcke <fzielcke@z-51.de>
26476
26477 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
26478 RAID level 1.
26479
6bcd8ee5 264802008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 26481
6bcd8ee5 26482 * fs/iso9660.c (grub_iso9660_date): New structure.
26483 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
26484 (grub_iso9660_uuid): New function.
c375ae58 26485
59261157 264862008-09-05 Bean <bean123ch@gmail.com>
26487
26488 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
26489
26490 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
26491 insensitive bit for names in Win32 and Win32 & DOS namespace.
26492
26493 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
26494
26495 * include/grub/types.h (LONG_MAX): Likewise.
26496
58b6645a 264972008-09-04 Felix Zielcke <fzielcke@z-51.de>
26498
4ee55921 26499 * util/getroot.c: Include <config.h>.
26500 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
26501 add support for /dev/md/N devices and handle LVM double dash escaping.
26502
265032008-09-04 Felix Zielcke <fzielcke@z-51.de>
26504
26505 * config.guess: Update to latest version from config git.
26506 * config.sub: Likewise.
58b6645a 26507
9124f65d 265082008-09-03 Robert Millan <rmh@aybabtu.com>
26509
26510 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
26511 `disk->total_sectors'.
26512
81a06771 265132008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 26514
26515 * include/grub/normal.h: Fixed incorrect comment for
26516 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
26517
81a06771 265182008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 26519
26520 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
26521 values with defines.
26522
26523 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
26524 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
26525 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
26526 (GRUB_VBE_MODEATTR_COLOR): Likewise.
26527 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
26528 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
26529 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
26530 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
26531 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
26532 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
26533 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
26534 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
26535 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
26536 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
26537 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
26538 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
26539 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
26540 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
26541 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
26542
93d5cbf8 265432008-08-31 Robert Millan <rmh@aybabtu.com>
26544
26545 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
26546 declaration.
26547 (grub_multiboot): Fix a few warnings.
26548
21751d50 265492008-08-31 Robert Millan <rmh@aybabtu.com>
26550
26551 * loader/i386/pc/multiboot.c: Update comment not to say that
26552 boot_device support is unimplemented.
26553
e27a75c5 265542008-08-31 Robert Millan <rmh@aybabtu.com>
26555
26556 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
26557 or memory map support are unimplemented.
26558
81a06771 265592008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 26560
26561 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
26562
81a06771 265632008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 26564
26565 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
26566 total video memory in 'vbeinfo' output; show color format details for
26567 each video mode.
26568
7c5d8d95 265692008-08-30 Pavel Roskin <proski@gnu.org>
26570
26571 * util/genmoddep.c: Remove for real this time.
26572 * DISTLIST: Remove util/genmoddep.c.
26573
4cebd25a 265742008-08-30 Robert Millan <rmh@aybabtu.com>
26575
26576 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
26577 as required by Multiboot spec (it was already 4-byte aligned, but
26578 only by chance).
26579
b497a269 265802008-08-29 Pavel Roskin <proski@gnu.org>
26581
e3925185 26582 * kern/powerpc/ieee1275/crt0.S: Rename to ...
26583 * kern/powerpc/ieee1275/startup.S: ... this.
26584 * conf/powerpc-ieee1275.rmk: Adjust for the above.
26585 * DISTLIST: Likewise.
26586
b497a269 26587 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
26588 grub/cpu/kernel.h. Add start label for consistency with other
26589 platforms. Add grub_prefix immediately after start. Add jump
26590 to the code after grub_prefix.
26591 * include/grub/powerpc/kernel.h: Provide valid values for
26592 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
26593
6e5a42fe 265942008-08-29 Bean <bean123ch@gmail.com>
26595
26596 * configure.ac: Change host_os to cygwin for mingw.
26597 (asprintf): New check for function.
26598
26599 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
26600 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
26601
26602 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 26603 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 26604 sync, sleep and grub_util_get_disk_size for mingw.
26605
26606 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
26607 to get size in mingw.
26608 (open_device): Use flag O_BINARY if it's defined.
26609 (find_root_device): Add dummy code for mingw.
26610
26611 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
26612 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
26613 (get_scsi_disk_name): Return 0 for mingw.
26614
26615 * util/hostfs.c: #include <grub/util/misc.h>.
26616 (grub_hostfs_open): Use "rb" flag to open file, use
26617 grub_util_get_disk_size to get disk size for mingw.
26618
26619 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
26620 (asprintf): New function if HAVE_ASPRINTF is not set.
26621 (sync): New function for mingw.
26622 (sleep): Likewise.
26623 (grub_util_get_disk_size): Likewise.
26624
ab3f2673 266252008-08-28 Pavel Roskin <proski@gnu.org>
26626
26627 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26628 kern/time.c.
26629
1c282483 266302008-08-28 Robert Millan <rmh@aybabtu.com>
26631
26632 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
26633
678e849c 266342008-08-28 Robert Millan <rmh@aybabtu.com>
26635
26636 Change find_grub_drive() syntax so it doesn't prevent it from
26637 detecting NULL names as errors.
26638
26639 * util/biosdisk.c (find_grub_drive): Move free slot search code
26640 from here ...
26641 (find_free_slot): ... to here.
26642 (read_device_map): Use find_free_slot() to search for free slots.
26643
965c75ca 266442008-08-27 Marco Gerards <marco@gnu.org>
26645
26646 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
26647 (scsi_mod_SOURCES): New variable.
26648 (scsi_mod_CFLAGS): Likewise
26649 (scsi_mod_LDFLAGS): Likewise.
26650
26651 * disk/scsi.c: New file.
26652
26653 * include/grub/scsi.h: Likewise.
26654
26655 * include/grub/scsicmd.h: Likewise.
26656
26657 * disk/ata.c: Include <grub/scsi.h>.
26658 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
26659 instead.
26660 (grub_ata_iterate): Skip ATAPI devices.
26661 (grub_ata_open): Only handle ATAPI devices.
26662 (struct grub_atapi_read): Removed.
26663 (grub_atapi_readsector): Likewise.
26664 (grub_ata_read): No longer handle ATAPI devices.
26665 (grub_ata_write): Likewise.
26666 (grub_atapi_iterate): New function.
26667 (grub_atapi_read): Likewise.
26668 (grub_atapi_write): Likewise.
26669 (grub_atapi_open): Likewise.
26670 (grub_atapi_close): Likewise.
26671 (grub_atapi_dev): New variable.
26672 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
26673 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
26674
26675 * include/grub/disk.h (enum grub_disk_dev_id): Add
26676 `GRUB_DISK_DEVICE_SCSI_ID'.
26677
c07ae501 266782008-08-26 Robert Millan <rmh@aybabtu.com>
26679
26680 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
26681 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
26682 descriptive.
26683
5ed20adc 266842008-08-23 Bean <bean123ch@gmail.com>
26685
26686 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
26687 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26688 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
26689 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
26690 dm_nv.mod.
26691 (raid5rec_mod_SOURCES): New macro.
26692 (raid5rec_mod_CFLAGS): Likewise.
26693 (raid5rec_mod_LDFLAGS): Likewise.
26694 (raid6rec_mod_SOURCES): Likewise.
26695 (raid6rec_mod_CFLAGS): Likewise.
26696 (raid6rec_mod_LDFLAGS): Likewise.
26697 (mdraid_mod_SOURCES): Likewise.
26698 (mdraid_mod_CFLAGS): Likewise.
26699 (mdraid_mod_LDFLAGS): Likewise.
26700 (dm_nv_mod_SOURCES): Likewise.
26701 (dm_nv_mod_CFLAGS): Likewise.
26702 (dm_nv_mod_LDFLAGS): Likewise.
26703
26704 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26705 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26706 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26707
26708 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26709 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26710
26711 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26712
26713 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26714
26715 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26716
26717 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26718
26719 * disk/raid5_recover.c: New file.
26720
26721 * disk/raid6_recover.c: Likewise.
26722
26723 * disk/mdraid_linux.c: Likewise.
26724
26725 * disk/dmraid_nvidia.c: Likewise.
26726
26727 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26728 ULONG_MAX.
26729
26730 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26731 calculate the size of raid device.
26732 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26733 different layout of raid5.
26734 (grub_raid_scan_device): Remove code specific to mdraid.
26735 (grub_raid_list): New variable.
26736 (free_array): New function.
26737 (grub_raid_register): Likewise.
26738 (grub_raid_unregister): Likewise.
26739 (grub_raid_rescan): Likewise.
26740 (GRUB_MOD_INIT): Don't iterate device here.
26741 (GRUB_MOD_FINI): Use free_array to release resource.
26742
26743 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26744 (grub_raid5_recover_func_t): New function variable type.
26745 (grub_raid6_recover_func_t): Likewise.
26746 (grub_raid5_recover_func): New variable.
26747 (grub_raid6_recover_func): Likewise.
26748 (grub_raid_register): New function.
26749 (grub_raid_unregister): Likewise.
26750 (grub_raid_rescan): Likewise.
26751 (grub_raid_block_xor): Likewise.
26752
26753 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26754 (CMD_CRC): New macro.
26755 (part): Removed.
26756 (read_file): Handle device as well as file.
26757 (cmd_crc): New function.
26758 (fstest): Handle multiple disks.
26759 (options): Remove part, raw and long, add root and diskcount.
26760 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26761 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26762 add handling for the new options, support multiple disks.
26763
26764 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26765
29c18915 267662008-08-23 Bean <bean123ch@gmail.com>
26767
26768 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26769
26770 * genfslist.sh: Ignore kernel.mod.
26771
26772 * genpartmaplist.sh: Likewise.
26773
8415f261 267742008-08-23 Robert Millan <rmh@aybabtu.com>
26775
26776 * util/getroot.c (find_root_device): Skip anything that starts with
26777 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26778
d5a7dc5b 267792008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26780
d5a7dc5b 26781 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26782 * util/grub.d/00_header.in: Allow the administrator to change default
26783 gfxmode via ${GRUB_GFXMODE}.
26784
380cfbb4 267852008-08-21 Felix Zielcke <fzielcke@z-51.de>
26786
26787 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26788
c9baafe7 267892008-08-21 Robert Millan <rmh@aybabtu.com>
26790
26791 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26792 loader.
26793 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26794 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26795
e290bef2 267962008-08-20 Carles Pina i Estany <carles@pina.cat>
26797
26798 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26799 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26800
f9dbfc96 268012008-08-19 Robert Millan <rmh@aybabtu.com>
26802
26803 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26804 (struct grub_virtual_screen): Remove `cursor_color'.
26805 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26806 initialization.
26807 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26808
dd6bd6ab 268092008-08-18 Robert Millan <rmh@aybabtu.com>
26810
26811 Unify (identical) linux_normal.c files.
26812 * loader/i386/efi/linux_normal.c: Move from here ...
26813 * loader/linux_normal.c: ... to here. Update all users.
26814 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26815 * loader/i386/ieee1275/linux_normal.c: Likewise.
26816
7f42f83e 268172008-08-18 Robert Millan <rmh@aybabtu.com>
26818
26819 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26820 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26821 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26822 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26823 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26824 New macros.
26825 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26826 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26827 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26828 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26829 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26830 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26831 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26832 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26833 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26834 portably using grub_getxy().
26835 Replace `-EFI' with `-bzImage' in boot message.
26836
38487ddb 268372008-08-17 Robert Millan <rmh@aybabtu.com>
26838
26839 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26840
deceb3ec 268412008-08-17 Robert Millan <rmh@aybabtu.com>
26842
26843 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26844
26845 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26846 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26847 (grub_machine_mmap_iterate): New function declaration.
26848 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26849 structure.
26850 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26851 macros.
26852
26853 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26854 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26855 Move e820 parsing from here ...
26856 * kern/i386/pc/mmap.c: New file.
26857 (grub_machine_mmap_iterate): ... to here.
26858
26859 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26860 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26861 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26862 (grub_available_iterate): Redeclare to return `void', and redeclare
26863 its hook to use grub_uint64_t as addr and size parameters, and rename
26864 to ...
26865 (grub_machine_mmap_iterate): ... this. Update all users.
26866
26867 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26868 to make it more readable. Rename to ...
26869 (grub_machine_mmap_iterate): ... this.
26870
26871 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26872 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26873 (grub_multiboot): Allocate an extra region after the payload, and fill
26874 it with a Multiboot memory map. Adjust a.out loader to calculate size
26875 with the extra space.
26876 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26877 with the extra space.
26878
f8aa0f43 268792008-08-17 Carles Pina i Estany <carles@pina.cat>
26880
9807deb9 26881 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26882
605f5bb6 268832008-08-17 Felix Zielcke <fzielcke@z-51.de>
26884
26885 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26886 mdate-sh to the list `find' searches for.
26887 * DISTLIST: Regenerated.
26888
210db6c6 268892008-08-16 Felix Zielcke <fzielcke@z-51.de>
26890
26891 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26892 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26893 genmoddep.awk, gensymlist.sh.in.
26894 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26895 * DISTLIST: Regenerated.
48cdbfd4 26896 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26897
1082b929 268982008-08-16 Robert Millan <rmh@aybabtu.com>
26899
26900 * disk/raid.c (grub_raid_init): Handle/report errors set by
26901 grub_device_iterate().
26902 * disk/lvm.c (grub_lvm_init): Likewise.
26903
42ce5170 269042008-08-15 Bean <bean123ch@gmail.com>
26905
26906 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26907 and datehook.mod.
26908 (datetime_mod_SOURCES): New macro.
26909 (datetime_mod_CFLAGS): Likewise.
26910 (datetime_mod_LDFLAGS): Likewise.
26911 (date_mod_SOURCES): Likewise.
26912 (date_mod_CFLAGS): Likewise.
26913 (date_mod_LDFLAGS): Likewise.
26914 (datehook_mod_SOURCES): Likewise.
26915 (datehook_mod_CFLAGS): Likewise.
26916 (datehook_mod_LDFLAGS): Likewise.
26917
26918 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26919 and datehook.mod.
26920 (datetime_mod_SOURCES): New macro.
26921 (datetime_mod_CFLAGS): Likewise.
26922 (datetime_mod_LDFLAGS): Likewise.
26923 (date_mod_SOURCES): Likewise.
26924 (date_mod_CFLAGS): Likewise.
26925 (date_mod_LDFLAGS): Likewise.
26926 (datehook_mod_SOURCES): Likewise.
26927 (datehook_mod_CFLAGS): Likewise.
26928 (datehook_mod_LDFLAGS): Likewise.
26929
26930 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26931 and datehook.mod.
26932 (datetime_mod_SOURCES): New macro.
26933 (datetime_mod_CFLAGS): Likewise.
26934 (datetime_mod_LDFLAGS): Likewise.
26935 (date_mod_SOURCES): Likewise.
26936 (date_mod_CFLAGS): Likewise.
26937 (date_mod_LDFLAGS): Likewise.
26938 (datehook_mod_SOURCES): Likewise.
26939 (datehook_mod_CFLAGS): Likewise.
26940 (datehook_mod_LDFLAGS): Likewise.
26941
26942 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26943 and datehook.mod.
26944 (datetime_mod_SOURCES): New macro.
26945 (datetime_mod_CFLAGS): Likewise.
26946 (datetime_mod_LDFLAGS): Likewise.
26947 (date_mod_SOURCES): Likewise.
26948 (date_mod_CFLAGS): Likewise.
26949 (date_mod_LDFLAGS): Likewise.
26950 (datehook_mod_SOURCES): Likewise.
26951 (datehook_mod_CFLAGS): Likewise.
26952 (datehook_mod_LDFLAGS): Likewise.
26953
26954 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26955 and datehook.mod.
26956 (datetime_mod_SOURCES): New macro.
26957 (datetime_mod_CFLAGS): Likewise.
26958 (datetime_mod_LDFLAGS): Likewise.
26959 (date_mod_SOURCES): Likewise.
26960 (date_mod_CFLAGS): Likewise.
26961 (date_mod_LDFLAGS): Likewise.
26962 (datehook_mod_SOURCES): Likewise.
26963 (datehook_mod_CFLAGS): Likewise.
26964 (datehook_mod_LDFLAGS): Likewise.
26965
26966 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26967
26968 * commands/date.c: New file.
26969
26970 * hook/datehook.c: Likewise.
26971
26972 * include/grub/lib/datetime.h: Likewise.
26973
26974 * include/grub/i386/cmos.h: Likewise.
26975
26976 * lib/datetime.c: Likewise.
26977
26978 * lib/i386/datetime.c: Likewise.
26979
26980 * lib/efi/datetime.c: Likewise.
26981
0e9242da 269822008-08-14 Robert Millan <rmh@aybabtu.com>
26983
26984 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26985 (grub_mkelfimage_SOURCES): New variable.
26986 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26987
26988 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26989 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26990 * conf/powerpc-ieee1275.rmk: Likewise.
26991 * conf/i386-ieee1275.rmk: Likewise.
26992
26993 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26994 * kern/i386/coreboot/init.c: Likewise.
26995
26996 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26997 with `<grub/cpu/kernel.h>'.
26998 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26999 to ...
27000 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27001 * kern/i386/coreboot/startup.S: Likewise.
27002
27003 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27004 (GRUB_MOD_GAP): Remove.
27005 * include/grub/powerpc/kernel.h: New file.
27006 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27007 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27008 * include/grub/i386/kernel.h: New file.
27009 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27010 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
27011 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27012
27013 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
27014 `grub-mkelfimage'.
27015 Use --directory when invoking grub_mkimage.
27016
27017 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
27018 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
27019 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
27020 and GRUB_KERNEL_CPU_PREFIX.
27021
b86408f8 270222008-08-14 Felix Zielcke <fzielcke@z-51.de>
27023
d5e619ca 27024 * include/grub/err.h (grub_err_printf): New function prototype.
27025 * util/misc.c (grub_err_printf): New function.
27026 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
27027 grub_printf.
27028 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 27029
7161f0e0 270302008-08-13 Robert Millan <rmh@aybabtu.com>
27031
27032 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
27033
a1967522 270342008-08-13 Robert Millan <rmh@aybabtu.com>
27035
27036 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
27037 boot entry.
27038
371458b5 270392008-08-12 Robert Millan <rmh@aybabtu.com>
27040
27041 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
27042 of the relocation code from here ...
27043 (grub_multiboot): ... to here.
27044 (forward_relocator, backward_relocator): Move from here ...
27045 * kern/i386/loader.S (grub_multiboot_forward_relocator)
27046 (grub_multiboot_backward_relocator): ... to here.
27047 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
27048 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
27049 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
27050 (grub_multiboot_forward_relocator_end)
27051 (grub_multiboot_backward_relocator)
27052 (grub_multiboot_backward_relocator_end): New variables.
27053
05f9452b 270542008-08-12 Bean <bean123ch@gmail.com>
27055
27056 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
27057
20024ab0 270582008-08-11 Robert Millan <rmh@aybabtu.com>
27059
27060 * kern/i386/linuxbios/startup.S: Move from here ...
27061 * kern/i386/coreboot/startup.S: ... to here.
27062
27063 * kern/i386/linuxbios/init.c: Move from here ...
27064 * kern/i386/coreboot/init.c: ... to here.
27065
27066 * kern/i386/linuxbios/table.c: Move from here ...
27067 * kern/i386/coreboot/mmap.c: ... to here.
27068
27069 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
27070
e352e9cd 270712008-08-11 Robert Millan <rmh@aybabtu.com>
27072
27073 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
27074 errors. Leave it to the upper layer to handle them.
27075
2d05bc6a 270762008-08-09 Christian Franke <franke@computer.org>
27077
27078 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
27079 * conf/common.rmk: Install `grub-pe2elf' only if requested.
27080 Install `grub.d/10_windows' only on Cygwin.
27081 * configure.ac: Add subst of `target_os'.
27082 Check `target_os' also before setting TARGET_OBJ2ELF.
27083 Add `--enable-grub-pe2elf'.
27084
042bd419 270852008-08-08 Robert Millan <rmh@aybabtu.com>
27086
27087 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27088 (grub_last_time): Change type to grub_uint64_t.
27089 (grub_disk_open): Migrate code from to using grub_get_time_ms().
27090 (grub_disk_close): Likewise.
27091
27092 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27093 (run_menu): Migrate code from to using grub_get_time_ms().
27094
27095 * util/misc.c (grub_get_time_ms): New function.
27096
7f280db5 270972008-08-08 Marco Gerards <marco@gnu.org>
27098
27099 * disk/ata.c (grub_ata_regget): Change return type to
27100 `grub_uint8_t'.
27101 (grub_ata_regget2): Likewise.
27102 (grub_ata_wait_status): New function.
27103 (grub_ata_wait_busy): Removed function, updated all users to use
27104 `grub_ata_wait_status'.
27105 (grub_ata_wait_drq): Likewise.
27106 (grub_ata_cmd): New function.
27107 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
27108 error handling.
27109 (grub_ata_pio_write): Add error handling.
27110 (grub_atapi_identify): Likewise.
27111 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
27112 handling.
27113 (grub_ata_identify): Use `grub_ata_cmd' and improve error
27114 handling. Actually use the detected registers. Reorder the
27115 detection logic such that it is easier to read.
27116 (grub_ata_pciinit): Do not assign the same ID to each controller.
27117 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
27118 handling.
27119 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
27120
27121 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
27122
1fbc5e66 271232008-08-08 Marco Gerards <marco@gnu.org>
27124
27125 * NEWS: Update.
27126
819ce6c0 271272008-08-07 Bean <bean123ch@gmail.com>
27128
27129 * include/grub/x86_64/pci.h: New file.
27130
5c41d44d 271312008-08-07 Christian Franke <franke@computer.org>
27132
27133 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
27134 (TIMER2_GATE): Likewise.
27135 (grub_pit_wait): Add enable/disable of the timer2 gate
27136 bit of port 0x61. This fixes a possible infinite loop.
27137
5ebc275d 271382008-08-07 Bean <bean123ch@gmail.com>
27139
27140 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
27141 kern/i386/tsc.c and kern/i386/pit.c.
27142
27143 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
27144 x86_64 platform.
27145
27146 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
27147 <grub/i386/tsc.h>.
27148
27149 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
27150
e383b3d0 271512008-08-07 Bean <bean123ch@gmail.com>
27152
27153 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
27154
27155 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
27156
27157 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
27158 multiple inclusion. Add #include <grub/types.h>.
27159
1cbb58ac 271602008-08-06 Christian Franke <franke@computer.org>
27161
27162 * conf/common.rmk: Build and install `10_windows'.
27163 * util/grub.d/10_windows.in: New script.
27164
337f5a1e 271652008-08-06 Pavel Roskin <proski@gnu.org>
27166
27167 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
27168
057bc4ac 271692008-08-06 Robert Millan <rmh@aybabtu.com>
27170
27171 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
27172 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
27173
2b99f123 271742008-08-06 Bean <bean123ch@gmail.com>
27175
27176 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
27177 (grub_pxefs_fs_int): Remove dummy definition.
27178 (grub_pxefs_open): Use data->block_size to store the current block
27179 size setting.
27180 (grub_pxefs_read): Use block size stored in data->block_size. As the
27181 value of grub_pxe_blksize can be changed after the file is opened.
27182
9f0234cb 271832008-08-06 Bean <bean123ch@gmail.com>
27184
27185 * fs/i386/pc/pxe.c (curr_file): new variable.
27186 (grub_pxefs_open): Simply the handling of pxe file system. Don't
27187 require the dummy internal file system anymore.
27188 (grub_pxefs_read): Removed.
27189 (grub_pxefs_close): Likewise.
27190 (grub_pxefs_fs_int): Likewise.
27191 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
27192 connection when we switch file.
27193 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
27194
a55d42e0 271952008-08-06 Robert Millan <rmh@aybabtu.com>
27196
27197 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
27198 `halt.mod'.
27199 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
27200 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
27201
27202 * kern/i386/halt.c: New file.
27203 * kern/i386/reboot.c: Likewise.
27204 * include/grub/i386/reboot.h: Likewise.
27205 * include/grub/i386/halt.h: Likewise.
27206
27207 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
27208 Include `<grub/cpu/halt.h>'.
27209 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
27210 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
27211
27212 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
27213 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
27214 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
27215 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
27216 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
27217 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
27218 from here ...
27219 * include/grub/i386/at_keyboard.h: ... to here.
27220
24371d26 272212008-08-05 Robert Millan <rmh@aybabtu.com>
27222
27223 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
27224 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
27225 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
27226 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27227 `kern/generic/millisleep.c'.
27228
27229 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
27230 instead of grub_get_rtc().
27231 (grub_tsc_init): Initialize `tsc_boot_time'.
27232
27233 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
27234 (grub_machine_init): Use grub_tsc_init() rather than
27235 installing an RTC-based handler via grub_install_get_time_ms().
27236
27237 * kern/i386/pit.c: New file.
27238 * include/grub/i386/pit.h: Likewise.
27239
9e7007b3 272402008-08-05 Bean <bean123ch@gmail.com>
27241
27242 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
27243
27244 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
27245 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
27246 (pxe_mod_SOURCES): New macro.
27247 (pxe_mod_CFLAGS): Likewise.
27248 (pxe_mod_LDFLAGS): Likewise.
27249 (pxecmd_mod_SOURCES): Likewise.
27250 (pxecmd_mod_CFLAGS): Likewise.
27251 (pxecmd_mod_LDFLAGS): Likewise.
27252
27253 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
27254 (grub_pxe_call): Likewise.
27255
27256 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
27257
27258 * commands/i386/pc/pxecmd.c: New file.
27259
9f0234cb 27260 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 27261
27262 * include/grub/i386/pc/pxe.h: Likewise.
27263
6977d49f 272642008-08-05 Bean <bean123ch@gmail.com>
27265
27266 * util/console.c (grub_console_cur_color): New variable.
27267 (grub_console_standard_color): Likewise.
27268 (grub_console_normal_color): Likewise.
27269 (grub_console_highlight_color): Likewise.
27270 (color_map): Likewise.
27271 (use_color): Likewise.
27272 (NUM_COLORS): New macro.
27273 (grub_ncurses_setcolorstate): Handle color properly.
27274 (grub_ncurses_setcolor): Don't change color here, just remember the
27275 settings, color will be set in grub_ncurses_setcolorstate.
27276 (grub_ncurses_getcolor): New function.
27277 (grub_ncurses_init): Initialize color pairs.
27278 (grub_ncurses_term): New member grub_ncurses_getcolor.
27279
9c2ff3ee 272802008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 27281
9c2ff3ee 27282 High resolution timer support. Implemented for x86 CPUs using TSC.
27283 Extracted generic grub_millisleep() so it's linked in only as needed.
27284 This requires a Pentium compatible CPU; if the RDTSC instruction is
27285 not supported, then it falls back on the generic grub_get_time_ms()
27286 implementation that uses the machine's RTC.
27287
27288 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
27289 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27290 `kern/generic/millisleep.c'.
27291
27292 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
27293 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
27294
27295 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
27296 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
27297
27298 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27299
27300 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27301 `kern/generic/millisleep.c'.
27302
27303 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27304
27305 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
27306
27307 * kern/generic/rtc_get_time_ms.c: New file.
27308
27309 * kern/generic/millisleep.c: New file.
337f5a1e 27310
9c2ff3ee 27311 * kern/misc.c: Don't include
27312 <kern/time.h> anymore.
27313 (grub_millisleep_generic): Removed.
27314
27315 * commands/sleep.c (grub_interruptible_millisleep): Uses
27316 grub_get_time_ms() instead of grub_get_rtc().
27317
27318 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
27319 function.
27320 (grub_cpu_is_cpuid_supported): New inline function.
27321 (grub_cpu_is_tsc_supported): New inline function.
27322 (grub_tsc_init): New function prototype.
27323 (grub_tsc_get_time_ms): New function prototype.
27324
27325 * kern/i386/tsc.c (grub_get_time_ms): New file.
27326
27327 * include/grub/time.h: Include <grub/types.h.
27328 (grub_millisleep_generic): Removed.
27329 (grub_get_time_ms): New prototype.
27330 (grub_install_get_time_ms): New prototype.
27331 (grub_rtc_get_time_ms): New prototype.
27332
27333 * kern/time.c (grub_get_time_ms): New function.
27334 (grub_install_get_time_ms): New function.
27335
27336 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
27337 <grub/time.h> anymore.
27338 (grub_millisleep): Removed.
27339 (grub_machine_init): Call grub_tsc_init.
27340
27341 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
27342 get_time_ms() implementation.
27343
27344 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
27345 (ieee1275_get_time_ms): New function.
27346 (grub_machine_init): Install get_time_ms() implementation.
27347
27348 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
27349 (grub_machine_init): Call grub_tsc_init().
27350 (grub_millisleep): Removed.
bf06a93f 27351
9c2ff3ee 27352 * kern/ieee1275/init.c (grub_millisleep): Removed.
27353 (grub_machine_init): Install ieee1275_get_time_ms()
27354 implementation.
27355 (ieee1275_get_time_ms): New function.
27356 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
27357 real work.
27358
9ec92aaf 273592008-08-05 Marco Gerards <marco@gnu.org>
27360
27361 * disk/ata.c: Include <grub/pci.h>.
27362 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
27363 (grub_ata_initialize): Rewritten.
27364 (grub_ata_device_initialize): New function.
27365
8d23f507 273662008-08-04 Pavel Roskin <proski@gnu.org>
27367
27368 * kern/main.c: Include grub/mm.h.
27369
5e15ee3d 273702008-08-04 Robert Millan <rmh@aybabtu.com>
27371
27372 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
27373 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
27374 corruption problem).
27375
a9053f8f 273762008-08-04 Robert Millan <rmh@aybabtu.com>
27377
27378 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
27379 warnings introduced in my last commit.
27380
dd19c7d7 273812008-08-03 Robert Millan <rmh@aybabtu.com>
27382
27383 Make PCI available on all i386 architectures.
27384
27385 * include/grub/i386/pc/pci.h: Move from here ...
27386 * include/grub/i386/pci.h: ... to here.
27387
27388 * include/grub/i386/pc/pci.h: Remove.
27389 * include/grub/i386/efi/pci.h: Remove.
27390 * include/grub/x86_64/efi/pci.h: Remove.
27391
27392 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
27393 `<grub/cpu/pci.h>'.
27394
27395 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
27396 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
27397 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
27398
27399 * conf/i386-ieee1275.rmk: Likewise.
27400
e14a6184 274012008-08-03 Robert Millan <rmh@aybabtu.com>
27402
27403 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
27404 (grub_console_setcursor): Make it possible to set cursor off.
27405
52768e37 274062008-08-03 Robert Millan <rmh@aybabtu.com>
27407
27408 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
27409 of modules instead of assuming which platform provides what.
27410 * util/update-grub.in: Likewise.
27411
2d52f57f 274122008-08-03 Robert Millan <rmh@aybabtu.com>
27413
27414 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
27415 instead of `grub_install_dos_part' to determine whether a drive needs
27416 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 27417 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 27418
2a5cd121 274192008-08-02 Robert Millan <rmh@aybabtu.com>
27420
27421 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
27422
93808428 274232008-08-02 Robert Millan <rmh@aybabtu.com>
27424
27425 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
27426 of informational grub_dprintf() calls.
27427
3bd0a12a 274282008-08-02 Robert Millan <rmh@aybabtu.com>
27429
27430 * disk/memdisk.c (memdisk_size): Don't initialize.
27431 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
27432
27433 * include/grub/i386/pc/kernel.h
27434 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
27435 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
27436 (grub_memdisk_image_size, grub_arch_memdisk_addr)
27437 (grub_arch_memdisk_size): Remove.
27438
27439 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
27440 field (was only used to transfer a constant). Add `type' field to
27441 support multiple module types.
27442 (grub_module_iterate): New function.
27443
27444 * kern/device.c (grub_device_open): Do not hide error messages
27445 when grub_disk_open() fails. Use grub_print_error() instead.
27446
27447 * kern/i386/pc/init.c (grub_arch_modules_addr)
27448 (grub_arch_memdisk_size): Remove functions.
27449 (grub_arch_modules_addr): Return the module address in high memory
27450 (now that it isn't copied anymore).
27451
27452 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
27453 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
27454 decompression routine (grub_total_module_size already includes that
27455 now). Don't copy modules back to low memory.
27456
27457 * kern/main.c: Include `<grub/mm.h>'.
27458 (grub_load_modules): Split out (and use) ...
27459 (grub_module_iterate): ... this function, which iterates through
27460 module objects and runs a hook.
27461 Comment out grub_mm_init_region() call, as it would cause non-ELF
27462 modules to be overwritten.
27463
27464 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
27465 the memdisk image in its own region, make it part of the module list.
27466 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
27467 (main): Parse --memdisk|-m option, and pass user-provided path as
27468 parameter to generate_image().
27469 (add_segments): Pass `memdisk_path' down to load_modules().
27470 (load_modules): Embed memdisk image in module section when requested.
27471 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
27472 `header.type' instead of `header.offset'.
27473
27474 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
27475 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
27476 (memdisk_mod_LDFLAGS): New variables.
27477 * conf/i386-coreboot.rmk: Likewise.
27478 * conf/i386-ieee1275.rmk: Likewise.
27479
a927cc73 274802008-08-02 Robert Millan <rmh@aybabtu.com>
27481
27482 * loader/i386/pc/multiboot.c (playground, forward_relocator)
27483 (backward_relocator): New variables. Used to allocate and relocate
27484 the payload, respectively.
27485 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 27486 address, install the appropriate relocator code in each bound of
a927cc73 27487 the payload, and set the entry point such that
27488 grub_multiboot_real_boot() will jump to one of them.
27489
27490 * kern/i386/loader.S (grub_multiboot_payload_size)
27491 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27492 (grub_multiboot_payload_entry_offset): New variables.
27493 (grub_multiboot_real_boot): Set cpu context to what the relocator
27494 expects, and jump to the relocator instead of the payload.
27495
27496 * include/grub/i386/loader.h (grub_multiboot_payload_size)
27497 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27498 (grub_multiboot_payload_entry_offset): Export.
27499
b15d8a0c 275002008-08-01 Bean <bean123ch@gmail.com>
27501
27502 * normal/menu_entry.c (editor_getline): Don't return the original
27503 string as result, as it will be released by lexer once it has done
27504 using it.
27505
cdfb3d22 275062008-08-01 Robert Millan <rmh@aybabtu.com>
27507
27508 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
27509 within menuentries, not before them.
27510 util/grub.d/10_hurd.in: Likewise.
27511
9175e93d 275122008-08-01 Bean <bean123ch@gmail.com>
27513
27514 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
27515 (bufio_mod_SOURCES): New macro.
27516 (bufio_mod_CFLAGS): Likewise.
27517 (bufio_mod_LDFLAGS): Likewise.
27518
27519 * include/grub/bufio.h: New file.
27520
27521 * io/bufio.c: Likewise.
27522
27523 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
27524 (grub_video_reader_png): Use grub_buffile_open to open file.
27525
27526 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
27527 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
27528
27529 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
27530 (grub_video_reader_tga): Use grub_buffile_open to open file.
27531
27532 * font/manager.c: Include <grub/bufio.h>.
27533 (add_font): Use grub_buffile_open to open file.
27534
3d8383e7 275352008-07-31 Robert Millan <rmh@aybabtu.com>
27536
27537 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
27538 ELF segments, use a macro for arbitrarily accessing any of them instead
27539 of preparing a pointer that allows access to one at a time.
27540 (grub_multiboot_load_elf64): Likewise.
27541
16e641b6 275422008-07-31 Bean <bean123ch@gmail.com>
27543
27544 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
27545 GRUB_KERNEL_MACHINE_DATA_END.
27546
59198b72 275472008-07-30 Robert Millan <rmh@aybabtu.com>
27548
27549 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
27550 Increase from 0x50 to 0x60.
27551 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
27552 use UUIDs to identify the root drive for them. If that's not
27553 possible, abort.
27554 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
27555 check, for cross-disk installs.
27556
ae88bca3 275572008-07-30 Robert Millan <rmh@aybabtu.com>
27558
27559 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
27560 is non-empty, use it to set the `prefix' environment variable instead
27561 of the usual approach.
27562 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
27563 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
27564 environment variable instead of dummy make_install_device().
27565
27566 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
27567 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 27568 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 27569
27570 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
27571 New variable reference.
27572 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
27573 New macro. Defines offset of `grub_prefix' within startup.S (relative
27574 to `start').
27575 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
27576 section within startup.S (relative to `start').
27577 * include/grub/i386/coreboot/kernel.h: Likewise.
27578
27579 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
27580 Overwrite grub_prefix with its contents, at the beginning of the
27581 first segment.
27582 (main): Understand -p|--prefix.
27583
14f41dd1 275842008-07-30 Robert Millan <rmh@aybabtu.com>
27585
27586 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
27587
4ca049a3 275882008-07-30 Robert Millan <rmh@aybabtu.com>
27589
27590 * term/i386/pc/vga_text.c (grub_console_cls): Use
27591 grub_console_gotoxy() to go back to beginning of the screen.
27592 Found by Patrick Georgi <patrick.georgi@coresystems.de>
27593
2921d337 275942008-07-29 Christian Franke <franke@computer.org>
27595
27596 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27597 Add conversion of emulated mount points on Cygwin.
27598
b609876d 275992008-07-29 Christian Franke <franke@computer.org>
27600
27601 * util/update-grub.in: Add a check for admin
27602 group on Cygwin.
27603 Remove old `grub.cfg.new' before creation.
27604 Add `-f' to `mv' to handle the different filesystem
27605 semantics of Windows.
27606
e93e4679 276072008-07-29 Bean <bean123ch@gmail.com>
27608
27609 * normal/main.c (get_line): Fix buffer overflow bug.
27610
41694fd0 276112008-07-28 Robert Millan <rmh@aybabtu.com>
27612
27613 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
27614 (struct grub_apple_header): New struct. Describes the layout of
27615 the partmap header.
27616 (apple_partition_map_iterate): Check the header magic as well as the
27617 partition magic (which was already being checked).
27618
cfd0b4e6 276192008-07-28 Pavel Roskin <proski@gnu.org>
27620
27621 * genmk.rb: Add a warning to the beginning of the output that
27622 it's a generated file and should not be edited.
27623
93cce016 276242008-07-28 Robert Millan <rmh@aybabtu.com>
27625
27626 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27627 with the same number are found, just use issue a warning with
27628 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 27629
cd1df915 276302008-07-27 Robert Millan <rmh@aybabtu.com>
27631
27632 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
27633 information.
27634
b70a8427 276352008-07-27 Bean <bean123ch@gmail.com>
27636
27637 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
27638 (grub_fat_find_dir): Ignore case when comparing filename.
27639
8f5e379f 276402008-07-27 Bean <bean123ch@gmail.com>
27641
27642 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
27643 smallino, as it's more descriptive, and i8count can be confused with
27644 the other field count.
27645 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
27646 inode type.
27647
a85cd5a0 276482008-07-27 Bean <bean123ch@gmail.com>
27649
27650 * commands/crc.c: New file.
27651
27652 * lib/crc.c: Likewise.
27653
27654 * include/grub/lib/crc.h: Likewise.
27655
27656 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
27657
27658 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
27659 (hexdump): Move this function to ...
27660
27661 * lib/hexdump.c: ... here.
27662
27663 * include/grub/hexdump.h: Renamed to ...
27664
27665 * include/grub/lib/hexdump.h: ... this.
27666
27667 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
27668
27669 * util/grub-editenv.c: Likewise.
27670
27671 * include/envblk.h: Renamed to ...
27672
27673 * include/lib/envblk.h: ... this.
27674
27675 * util/envblk.c: Renamed to ...
27676
27677 * lib/envblk.c: ... this.
27678
27679 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
27680 lib/hexdump.c.
27681 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
27682 (pkglib_MODULES): Add crc.mod.
27683 (hexdump_mod_SOURCES): Add lib/hexdump.c.
27684 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
27685 (crc_mod_SOURCES): New macro.
27686 (crc_mod_CFLAGS): Likewise.
27687 (crc_mod_LDFLAGS): Likewise.
27688
27689 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
27690
27691 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27692
27693 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27694
27695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27696
27697 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27698
c298def0 276992008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 27700
27701 * commands/help.c: Include <grub/term.h>.
27702 (TERM_WIDTH): Removed. Updated all users.
27703
cc349fb3 277042008-07-27 Pavel Roskin <proski@gnu.org>
27705
27706 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27707 spurious warnings about a comment within a comment.
27708
9051607e 277092008-07-25 Robert Millan <rmh@aybabtu.com>
27710
27711 * util/getroot.c (find_root_device): Skip devices that match
27712 /dev/dm-[0-9]. This lets the real device be found for any type of
27713 abstraction (LVM, EVMS, RAID..).
27714 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27715 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27716 device is found first, find_root_device() will now skip it.
27717
01453bfc 277182008-07-24 Pavel Roskin <proski@gnu.org>
27719
27720 * include/grub/types.h: Use __builtin_bswap32() and
27721 __builtin_bswap64() with gcc 4.3 and newer.
27722
6af9849f 277232008-07-24 Christian Franke <franke@computer.org>
27724
3a0fa256 27725 * util/i386/pc/grub-install.in: If `--debug' is specified,
27726 pass `--verbose' to grub-setup.
27727 Abort script if make_system_path_relative_to_its_root() fails.
27728
7810e747 277292008-07-24 Bean <bean123ch@gmail.com>
27730
27731 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27732 variable `target_platform' should be `platform'.
27733
42290e17 277342008-07-24 Bean <bean123ch@gmail.com>
27735
51cc5193 27736 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27737 (grub_png_init_fixed_block): New function.
27738 (grub_png_decode_image_data): Handle fixed huffman code compression.
27739
2a8a80e4 277402008-07-24 Bean <bean123ch@gmail.com>
27741
27742 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27743 (grub_pe2elf_SOURCES): New macro.
27744 (CLEANFILES): Add grub-pe2elf.
27745
27746 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27747 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27748 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27749 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27750 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27751 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27752 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27753 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27754 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27755 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27756 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27757 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27758 (GRUB_PE32_DT_FUNCTION): Likewise.
27759 (GRUB_PE32_REL_I386_DIR32): Likewise.
27760 (GRUB_PE32_REL_I386_REL32): Likewise.
27761 (grub_pe32_symbol): New structure.
27762 (grub_pe32_reloc): Likewise.
27763
27764 * util/grub-pe2elf.c: New file.
27765
27766 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27767 start symbol in non pc platform.
27768
27769 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27770
27771 The following patches are from Christian Franke.
27772
27773 * include/grub/dl.h: Remove .previous, gas supports this only
27774 for ELF format.
27775
27776 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27777 Remove .type, gas supports this only for ELF format.
27778
27779 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27780 nullbytes in symbol table. This fixes an infinite loop if table is
27781 zero filled.
27782
27783 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27784 TARGET_IMG_LDFLAGS and EXEEXT.
27785
27786 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27787 TARGET_IMG_LDFLAGS_AC.
27788 (grub_CHECK_STACK_ARG_PROBE): New function.
27789
27790 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27791
27792 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27793
27794 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27795 to set TARGET_IMG_LD* accordingly.
27796 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27797 Add call to grub_CHECK_STACK_ARG_PROBE.
27798 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27799
27800 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27801
27802 * genmk.rb: Add EXEEXT to CLEANFILES.
27803
12ccdb75 278042008-07-23 Robert Millan <rmh@aybabtu.com>
27805
27806 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27807 define the codes for arrows and lines used for the menu).
27808 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27809 as well.
27810
27811 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27812 fonts, because the latter are too slow.
27813
18eeaf04 278142008-07-21 Bean <bean123ch@gmail.com>
27815
27816 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27817 a20. Run keyboard test last, as it will cause macbook to halt.
27818
b095e2ad 278192008-07-18 Pavel Roskin <proski@gnu.org>
27820
27821 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27822 load foreign architecture modules correctly anyway. Keep
27823 support for loading host architecture modules, whether we
27824 compile them or not.
27825
737feb35 278262008-07-17 Pavel Roskin <proski@gnu.org>
27827
3f4ce737 27828 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27829 change target_cpu. The compiler default can mismatch target_cpu
27830 in any case.
27831
4ad2d049 27832 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27833 * kern/efi/efi.c: Likewise.
27834
f6130a12 27835 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27836 target compiler is functional.
27837 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27838 are set up.
27839
58393a2d 27840 * configure.ac: Default to efi platform for x86_64-apple. Allow
27841 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27842 adjustments from the rest, only do them if target is not
27843 explicitly given. Merge other adjustments with the final sanity
27844 check. Remove an extraneous check for supported CPU. Be
27845 specific which CPU and which platform is not supported.
27846
737feb35 27847 * configure.ac: Default to pc platform for x86_64.
27848
546f966a 278492008-07-17 Robert Millan <rmh@aybabtu.com>
27850
27851 Partial LinuxBIOS -> Coreboot rename.
27852
27853 * conf/i386-linuxbios.rmk: Renamed to ...
27854 * conf/i386-coreboot.rmk: ... this.
27855 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27856 * configure.ac: Accept "coreboot" as input platform (but maintain
27857 compatibility with "linuxbios").
27858 * include/grub/i386/linuxbios: Renamed to ...
27859 * include/grub/i386/coreboot: ... this.
27860
20011694 278612008-07-17 Bean <bean123ch@gmail.com>
27862
27863 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27864 (appleldr_mod_SOURCE): New variable.
20011694 27865 (appleldr_mod_CFLAGS): Likewise.
27866 (appleldr_mod_LDFLAGS): Likewise.
27867 (pci_mod_SOURCES): Likewise.
27868 (pci_mod_CFLAGS): Likewise.
27869 (pci_mod_LDFLAGS): Likewise.
27870 (lspci_mod_SOURCES): Likewise.
27871 (lspci_mod_CFLAGS): Likewise.
27872 (lspci_mod_LDFLAGS): Likewise.
27873
27874 * conf/x86_64-efi.rmk: New file.
27875
27876 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27877 macro.
27878 (grub_efidisk_write): Likewise.
27879
27880 * include/efi/api.h (efi_call_0): New macro.
27881 (efi_call_1): Likewise.
27882 (efi_call_2): Likewise.
27883 (efi_call_3): Likewise.
27884 (efi_call_4): Likewise.
27885 (efi_call_5): Likewise.
27886 (efi_call_6): Likewise.
27887
27888 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27889 grub_rescue_cmd_chainloader.
27890
27891 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27892 (grub_pe32_optional_header): Change some fields based on i386 or
27893 x86_64 platform.
27894 (GRUB_PE32_PE32_MAGIC): Likewise.
27895
27896 * include/grub/efi/uga_draw.h: New file.
27897
27898 * include/grub/elf.h (STN_ABS): New constant.
27899 (R_X86_64_NONE): Relocation constant for x86_64.
27900 (R_X86_64_64): Likewise.
27901 (R_X86_64_PC32): Likewise.
27902 (R_X86_64_GOT32): Likewise.
27903 (R_X86_64_PLT32): Likewise.
27904 (R_X86_64_COPY): Likewise.
27905 (R_X86_64_GLOB_DAT): Likewise.
27906 (R_X86_64_JUMP_SLOT): Likewise.
27907 (R_X86_64_RELATIVE): Likewise.
27908 (R_X86_64_GOTPCREL): Likewise.
27909 (R_X86_64_32): Likewise.
27910 (R_X86_64_32S): Likewise.
27911 (R_X86_64_16): Likewise.
27912 (R_X86_64_PC16): Likewise.
27913 (R_X86_64_8): Likewise.
27914 (R_X86_64_PC8): Likewise.
27915
27916 * include/grub/i386/efi/pci.h: New file.
27917
27918 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27919 Change it value based on platform.
27920 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27921 (GRUB_E820_RAM): Likewise.
27922 (GRUB_E820_RESERVED): Likewise.
27923 (GRUB_E820_ACPI): Likewise.
27924 (GRUB_E820_NVS): Likewise.
27925 (GRUB_E820_EXEC_CODE): Likewise.
27926 (GRUB_E820_MAX_ENTRY): Likewise.
27927 (grub_e820_mmap): New structure.
27928 (linux_kernel_header): Change the efi field according to different
27929 kernel version, also field from linux_kernel_header.
27930
27931 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27932
27933 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27934 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27935 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27936 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27937 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27938 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27939 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27940 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27941 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27942 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27943
27944 * include/grub/x86_64/efi/kernel.h: New file.
27945
27946 * include/grub/x86_64/efi/loader.h: Likewise.
27947
27948 * include/grub/x86_64/efi/machine.h: Likewise.
27949
27950 * include/grub/x86_64/efi/pci.h: Likewise.
27951
27952 * include/grub/x86_64/efi/time.h: Likewise.
27953
27954 * include/grub/x86_64/linux.h: Likewise.
27955
27956 * include/grub/x86_64/setjmp.h: Likewise.
27957
27958 * include/grub/x86_64/time.h: Likewise.
27959
27960 * include/grub/x86_64/types.h: Likewise.
27961
27962 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27963 GRUB_TARGET_SIZEOF_VOID_P.
27964
27965 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27966 (grub_efi_locate_handle): Likewise.
27967 (grub_efi_open_protocol): Likewise.
27968 (grub_efi_set_text_mode): Likewise.
27969 (grub_efi_stall): Likewise.
27970 (grub_exit): Likewise.
27971 (grub_reboot): Likewise.
27972 (grub_halt): Likewise.
27973 (grub_efi_exit_boot_services): Likewise.
27974 (grub_get_rtc): Likewise.
27975
27976 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27977 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27978 (grub_efi_allocate_pages): Wrap efi calls.
27979 (grub_efi_free_pages): Wrap efi calls.
27980 (grub_efi_get_memory_map): Wrap efi calls.
27981
27982 * kern/x86_64/dl.c: New file.
27983
27984 * kern/x86_64/efi/callwrap.S: Likewise.
27985
27986 * kern/x86_64/efi/startup.S: Likewise.
27987
27988 * loader/efi/appleloader.c: Likewise.
27989
27990 * loader/efi/chainloader.c (cmdline): New variable.
27991 (grub_chainloader_unload): Wrap efi calls.
27992 (grub_chainloader_boot): Likewise.
27993 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27994 command line.
27995
27996 * loader/efi/chainloader_normal.c (chainloader_command):
27997 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27998 command line.
27999
28000 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28001 method.
28002 (grub_e820_add_region): New function.
28003 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28004 booting.
28005 (grub_find_video_card): New function.
28006 (grub_linux_setup_video): New function.
28007 (grub_rescue_cmd_linux): Probe for video information.
28008
28009 * normal/x86_64/setjmp.S: New file.
28010
28011 * term/efi/console.c (map_char): New function.
28012 (grub_console_putchar): Map unicode char.
28013 (grub_console_checkkey): Wrap efi calls.
28014 (grub_console_getkey): Likewise.
28015 (grub_console_getwh): Likewise.
28016 (grub_console_gotoxy): Likewise.
28017 (grub_console_cls): Likewise.
28018 (grub_console_setcolorstate): Likewise.
28019 (grub_console_setcursor): Likewise.
28020
28021 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
28022
59652a20 280232008-07-16 Pavel Roskin <proski@gnu.org>
28024
ef294055 28025 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
28026 format strings.
28027
59652a20 28028 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
28029 pointer, not an integer. This fixes a warning and prevents
28030 precision loss on 64-bit systems.
28031 (relocate_addresses): Remove unneeded cast.
28032
afc3b5d7 280332008-07-15 Pavel Roskin <proski@gnu.org>
28034
506b2b3e 28035 * kern/i386/ieee1275/init.c: Include grub/cache.h.
28036
62ead89c 28037 * term/ieee1275/ofconsole.c: Disable code unused on i386.
28038
c4cd51d7 28039 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
28040 Fix comparison between signed and unsigned.
28041
0d3d8f28 28042 * include/grub/i386/ieee1275/console.h: Declare
28043 grub_console_init() and grub_console_fini().
28044
8804b286 28045 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
28046 It's empty and unused.
28047
ee01cf35 28048 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
28049 beginning to avoid warnings with some compilers.
28050
afc3b5d7 28051 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
28052 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
28053
e4e8eaa5 280542008-07-14 Pavel Roskin <proski@gnu.org>
28055
407aceb4 28056 * kern/env.c (grub_register_variable_hook): Don't copy empty
28057 string, it leaks memory. Pass "" to grub_env_set(), it should
28058 handle constant strings.
28059
e4e8eaa5 28060 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
28061 * commands/cmp.c (grub_cmd_cmp): Likewise.
28062 * kern/dl.c (grub_dl_flush_cache): Likewise.
28063 (grub_dl_load_core): Likewise.
28064 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
28065 (grub_elf64_load_phdrs): Likewise.
28066
d4e2dad3 280672008-07-13 Pavel Roskin <proski@gnu.org>
28068
28069 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
28070 between signed and unsigned.
28071 (LzmaEnc_Finish): Fix warning about an unused parameter.
28072
aa24b516 280732008-07-13 Bean <bean123ch@gmail.com>
28074
28075 * Makefile.in (enable_lzo): New rule.
28076
28077 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
28078
28079 * configure.ac (ENABLE_LZO): New option --enable-lzo.
28080
28081 * boot/i386/pc/lnxboot.S: #include <config.h>.
28082
28083 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 28084 its value according to the compression algorithm used, lzo or lzma.
aa24b516 28085
28086 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
28087 compression algorithm according to configure macro.
28088
28089 * kern/i386/pc/startup.S (codestart): Likewise.
28090
28091 * kern/i386/pc/lzma_decode.S: New file.
28092
28093 * include/grub/lib/LzFind.h: Likewise.
28094
28095 * include/grub/lib/LzHash.h: Likewise.
28096
28097 * include/grub/lib/LzmaDec.h: Likewise.
28098
28099 * include/grub/lib/LzmaEnc.h: Likewise.
28100
28101 * include/grub/lib/LzmaTypes.h: Likewise.
28102
28103 * lib/LzFind.c: Likewise.
28104
28105 * lib/LzmaDec.c: Likewise.
28106
28107 * lib/LzmaEnc.c: Likewise.
28108
4ae821ac 281092008-07-13 Bean <bean123ch@gmail.com>
28110
28111 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
28112 (grub_ext4_extent_header): New structure.
28113 (grub_ext4_extent): Likewise.
28114 (grub_ext4_extent_idx): Likewise.
28115 (grub_ext4_find_leaf): New function.
28116 (grub_ext2_read_block): Handle extents.
28117
9a745147 281182008-07-12 Robert Millan <rmh@aybabtu.com>
28119
28120 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
28121
d49a4cf6 281222008-07-11 Robert Millan <rmh@aybabtu.com>
28123
28124 * util/grub.d/40_custom.in: New file. Example on how to add custom
28125 entries to /etc/grub.d.
28126 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
28127 40_custom (implicitly, by merging all the grub.d rules).
28128
947414b4 281292008-07-11 Pavel Roskin <proski@gnu.org>
28130
0059cf6f 28131 * commands/read.c (grub_getline): Fix invalid memory access.
28132 Don't add newline to the variable value.
28133
947414b4 28134 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
28135 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
28136 (serial_hw_get_port): Check validity of the port number.
28137 (grub_cmd_serial): Check return value of serial_hw_get_port().
28138
62a02d00 281392008-07-07 Pavel Roskin <proski@gnu.org>
28140
28141 * boot/i386/pc/diskboot.S (notification_string): Replace
28142 "Loading kernel" with just "loading". This is shorter, less
28143 confusing and saves a few bytes for possible future changes.
28144
3e5581b0 281452008-07-05 Pavel Roskin <proski@gnu.org>
28146
ea387a48 28147 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
28148 size for ATAPI devices, they are undefined. Output sector
28149 number in decimal form.
28150
3e5581b0 28151 * disk/ata.c: Use named constants for status bits.
28152
fdecb8fd 281532008-07-04 Pavel Roskin <proski@gnu.org>
28154
bcd35b90 28155 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
28156 grub_addr_t before casting it to the void pointer to fix a
28157 warning. Non-addressable regions are discarded earlier.
28158 (grub_arch_modules_addr): Cast _end to grub_addr_t.
28159 * kern/i386/linuxbios/table.c: Include grub/misc.h.
28160 (check_signature): Don't shadow table_header.
28161 (grub_linuxbios_table_iterate): Cast numeric constants to
28162 grub_linuxbios_table_header_t.
28163 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
28164 grub_stop().
28165
af58ab3d 28166 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
28167 prevent warnings.
28168
1759aa57 28169 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
28170 pointer, which can cause warnings. Support 64-bit addresses.
28171
fdecb8fd 28172 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
28173 of sizeof(long). This fixes PowerPC image generation on x86_64.
28174
8516d2a8 281752008-07-04 Robert Millan <rmh@aybabtu.com>
28176
28177 This fixes a performance issue when pc & gpt partmap iterators
28178 didn't abort iteration even after our hook found what it was
fe987087 28179 looking for (often causing expensive probes of non-existent drives).
8516d2a8 28180
28181 Some callers relied on previous buggy behaviour, since they would
34c44600 28182 raise an error when their own hooks caused early abortion of its
8516d2a8 28183 iteration.
28184
28185 * kern/device.c (grub_device_open): Improve error message.
28186 * disk/lvm.c (grub_lvm_open): Likewise.
28187 * disk/raid.c (grub_raid_open): Likewise.
28188
28189 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
28190 when hook requests it, independently of grub_errno.
28191 (pc_partition_map_probe): Do not fail when find_func() caused
28192 early abortion of pc_partition_map_iterate().
28193
28194 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
28195 when hook requests it, independently of grub_errno.
28196 (gpt_partition_map_probe): Do not fail when find_func() caused
28197 early abortion of gpt_partition_map_iterate().
28198
28199 * kern/partition.c (grub_partition_iterate): Abort parent iteration
28200 when hook requests it, independently of grub_errno. Do not fail when
28201 part_map_iterate_hook() caused early abortion of p->iterate().
28202
28203 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
28204 when grub_partition_iterate() returned with non-zero.
28205
277d0de9 282062008-07-03 Pavel Roskin <proski@gnu.org>
28207
28208 * disk/ata.c (grub_ata_pio_write): Check status before writing,
28209 like we do in grub_ata_pio_read().
28210 (grub_ata_readwrite): Always write individual sectors. Fix the
28211 sector count for the remainder.
28212 (grub_ata_write): Enable writing to ATA devices. Correctly
28213 report error for ATAPI devices.
28214
d4c9b428 282152008-07-02 Pavel Roskin <proski@gnu.org>
28216
e43fc690 28217 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
28218 warning.
28219
f707af42 28220 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
28221 for every read sector, we already increment it for the whole
28222 batch. This fixes reading more than 256 sectors at once.
28223
11e16b15 28224 * util/grub-editenv.c (cmd_info): Cast argument to long
28225 explicitly. ptrdiff_t reduces to int on i386.
28226
cbabfdd4 28227 * util/grub-editenv.c (main): Be specific which parameter is
28228 missing.
28229
b8fbce0a 28230 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
28231 (memdisk): Make memdisk_orig_addr a pointer.
28232
c9c8e606 28233 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
28234 for file offsets, use grub_off_t instead. Fix printf format
28235 warnings.
28236
ca62e598 28237 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
28238 there. Real unexpected warnings should not drown in the noise
28239 about known problems.
28240
ce8d1766 28241 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
28242 grub_disk_addr_t for memory addresses.
28243
00c7a56a 28244 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
28245 explicitly to fix a warning.
28246
08d3ef09 28247 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
28248
cb71ba20 28249 * Makefile.in (MODULE_LDFLAGS): New variable.
28250 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
28251 the linker accepts --build-id=none.
28252 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
28253 MODULE_LDFLAGS.
28254 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
28255
d4c9b428 28256 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
28257 those in Linux XFS code. Provide a way to access 64-bit parent
28258 inode.
28259 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
28260 the end of struct grub_xfs_dir_header.
28261
d4156eee 282622008-07-02 Bean <bean123ch@gmail.com>
28263
28264 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
28265 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
28266 and GRUB_IEEE1275_FLAG_NO_ANSI.
28267
28268 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
28269 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
28270 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
28271
28272 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
28273 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
28274
28275 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
28276 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
28277
28278 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
28279 esc sequence on non ANSI terminal.
28280 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
28281
28282 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
28283 beginning of file.
28284
2270f77b 282852008-07-02 Bean <bean123ch@gmail.com>
28286
28287 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
28288 (grub_editenv_SOURCES): New variable.
28289 (pkglib_MODULES): Add loadenv.mod.
28290 (loadenv_mod_SOURCES): New variable.
28291 (loadenv_mod_CFLAGS): Likewise.
28292 (loadenv_mod_LDFLAGS): Likewise.
28293
28294 * include/grub/envblk.h: New file.
28295
28296 * util/envblk.c: New file.
28297
28298 * util/grub-editenv.c: New file.
28299
28300 * commands/loadenv.c: New file.
28301
0e9e51ec 283022008-07-01 Pavel Roskin <proski@gnu.org>
28303
d89b7634 28304 * include/multiboot2.h (struct multiboot_tag_module): Use char,
28305 not unsigned char. This fixes warnings and is consistent with
28306 other tags.
28307
bf1835b1 28308 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
28309
8222a04b 28310 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
28311
6a42d99d 28312 * term/tparm.c (analyze): Always set *popcount.
28313
10b159d1 28314 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
28315 cast to fix a warning.
28316
b8789f6c 28317 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
28318 cast to suppress a warning.
28319
29d7e38a 28320 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
28321 grub_fshelp_read_file() expects.
28322
f341f669 28323 * fs/fat.c: Fix UUID calculation on big-endian systems. We
28324 write uuid as a 32-bit value in CPU byte order, so declare and
28325 use it as such.
28326
0e9e51ec 28327 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
28328 long if the format specifier expects it.
28329 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
28330 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28331 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
28332 long to fix a warning.
28333 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
28334 grub_dprintf() arguments to fix warnings.
28335
3aefa857 283362008-06-30 Pavel Roskin <proski@gnu.org>
28337
56c7668b 28338 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
28339 install_bsd_part immediately before core.img is embedded or
28340 modified on disk. This fixes core.img verification if core.img
28341 cannot be embedded.
28342
3aefa857 28343 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
28344 core_path to calculate the blocklist.
28345 Patch from Javier Martín <lordhabbit@gmail.com>
28346
5444088d 283472008-06-29 Robert Millan <rmh@aybabtu.com>
28348
28349 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
28350 block to disk block.
28351 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
28352 Patch from Niels Böhm <bitbucket@arcor.de>
28353
674835c8 283542008-06-29 Robert Millan <rmh@aybabtu.com>
28355
28356 * util/update-grub_lib.in (font_path): Search for fonts in
28357 /boot/grub first, which is more likely to be readable (we aren't
28358 deciding where fonts live, just looking for them).
28359
f527dbc8 283602008-06-26 Pavel Roskin <proski@gnu.org>
28361
6c2d8df6 28362 * util/biosdisk.c (read_device_map): Don't leave dead map
28363 entries for devices failing stat() check.
28364
f527dbc8 28365 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
28366 core_path_dev for the core.img path on the target device.
28367
aebe3d13 283682008-06-26 Robert Millan <rmh@aybabtu.com>
28369
28370 * disk/fs_uuid.c: New file.
28371 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
28372 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
28373 (fs_uuid_mod_LDFLAGS): New variables.
28374 * include/grub/disk.h (grub_disk_dev_id): Add
28375 `GRUB_DISK_DEVICE_UUID_ID'.
28376 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
28377 implement iterate().
28378
37aaf354 283792008-06-26 Robert Millan <rmh@aybabtu.com>
28380
28381 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
28382 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
28383 Linux image includes no initrd.
28384
25ff262a 283852008-06-21 Javier Martín <lordhabbit@gmail.com>
28386
28387 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
28388 call to resolve the core image location that effectively appended the
28389 name twice.
28390
76a2bd44 283912008-06-21 Robert Millan <rmh@aybabtu.com>
28392
28393 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
28394 call from here ...
28395
28396 * util/grub.d/10_hurd.in: ... to here ...
28397 * util/grub.d/10_linux.in: ... and here.
28398
650e1c79 283992008-06-19 Robert Millan <rmh@aybabtu.com>
28400
fe987087 28401 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 28402 after it has been set by grub_machine_set_prefix().
28403
6ce63911 284042008-06-19 Robert Millan <rmh@aybabtu.com>
28405
28406 * commands/search.c (search_label, search_fs_uuid, search_file): Print
28407 search result when not saving to variable, not the other way around.
28408 When saving to variable, abort iteration as soon as a match is found.
28409
73940cec 284102008-06-19 Robert Millan <rmh@aybabtu.com>
28411
28412 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
28413 check for partition that provides /boot/grub. Its logic is flawed,
28414 as it prevents prepare_grub_to_access_device() from being called
28415 multiple times.
28416
3c62a39d 284172008-06-19 Robert Millan <rmh@aybabtu.com>
28418
28419 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
28420 "insmod" command directly when abstraction modules are needed,
fe987087 28421 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 28422 since it had already been processed).
28423
47395a42 284242008-06-19 Pavel Roskin <proski@gnu.org>
28425
28426 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
28427 changed. This is needed in case GRUB_LIBDIR changes.
28428 * conf/i386-ieee1275.rmk: Likewise.
28429 * conf/i386-linuxbios.rmk: Likewise.
28430 * conf/i386-pc.rmk: Likewise.
28431 * conf/powerpc-ieee1275.rmk: Likewise.
28432
a145ac2d 284332008-06-18 Pavel Roskin <proski@gnu.org>
28434
28435 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
28436 kernel_elf_symlist.c to symlist.c for consistency with other
28437 architectures. Update all users.
28438 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28439
7847c51e 284402008-06-18 Robert Millan <rmh@aybabtu.com>
28441
28442 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
28443 it in prefix.
28444
28445 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
28446 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
28447 a RAID device, run setup() for all members independently on whether
28448 LVM abstraction is being used.
28449 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
28450 If grub-mkimage has set `*install_dos_part == -2', don't override this
28451 value.
28452 Perform *install_dos_part adjustments independently on whether
28453 we're embedding or not.
28454 Clarify error message when image is too big for embedding.
28455 Remove duplicate *install_dos_part stanza.
28456
b23e5644 284572008-06-17 Robert Millan <rmh@aybabtu.com>
28458
28459 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
28460 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
28461 variables.
28462 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
28463 values in grub_ofconsole_normal_color and
28464 grub_ofconsole_highlight_color (they're not directly related to
28465 background and foreground).
28466 (grub_ofconsole_setcolorstate): Extract background and foreground
28467 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
28468
0aac2f79 284692008-06-17 Robert Millan <rmh@aybabtu.com>
28470
28471 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
28472 /boot/grub for the check in last commit, not /boot (they could be
28473 different partitions).
28474
3cca7ef3 284752008-06-16 Robert Millan <rmh@aybabtu.com>
28476
28477 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
28478 asked to setup access for the same partition that provides /boot,
28479 don't bother using UUIDs since our root already has the value we
28480 want.
28481
347396d8 284822008-06-16 Robert Millan <rmh@aybabtu.com>
28483
28484 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
28485 I2O devices.
28486 Patch from Sven Mueller <sven@debian.org>.
28487
991477f8 284882008-06-16 Robert Millan <rmh@aybabtu.com>
28489
28490 * util/update-grub.in: Check for $EUID instead of $UID.
28491 Reported by Vincent Zweije.
28492
d31a32a1 284932008-06-16 Bean <bean123ch@gmail.com>
28494
fe987087 28495 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 28496 (grub_ext2_read_block): Likewise.
28497 (grub_ext2_read_inode): Likewise.
28498 (grub_ext2_mount): Likewise.
28499 (grub_ext2_close): Likewise.
28500 (grub_ext3_get_journal): Removed.
28501
fe987087 28502 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 28503 (grub_reiserfs_read_symlink): Likewise.
28504 (grub_reiserfs_mount): Likewise.
28505 (grub_reiserfs_open): Likewise.
28506 (grub_reiserfs_read): Likewise.
28507 (grub_reiserfs_close): Likewise.
28508 (grub_reiserfs_get_journal): Removed.
28509
28510 * fs/fshelp.c (grub_fshelp_read): Removed.
28511 (grub_fshelp_map_block): Likewise.
28512
28513 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
28514 (grub_fshelp_journal): Likewise.
28515 (grub_fshelp_read): Likewise.
28516 (grub_fshelp_map_block): Likewise.
28517
3540a760 285182008-06-16 Pavel Roskin <proski@gnu.org>
28519
28520 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
28521 floating point anymore.
28522 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
28523
95614c84 285242008-06-15 Pavel Roskin <proski@gnu.org>
28525
28526 * commands/ls.c (grub_ls_list_files): Use integer calculations
28527 for human readable format, avoid floating point use.
28528 * kern/misc.c (grub_ftoa): Remove.
28529 (grub_vsprintf): Remove floating point support.
28530
50465dd6 285312008-06-15 Robert Millan <rmh@aybabtu.com>
28532
fe6b695a 28533 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 28534 devices.
28535 Reported by Max Vozeler.
28536
a9207284 285372008-06-15 Robert Millan <rmh@aybabtu.com>
28538
28539 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
28540 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
28541 skipped later.
28542 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
28543 the beginning of the prefix.
28544
28545 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
28546 It is assumed that if we have a memdisk, grub-mkimage has set
28547 grub_prefix to include the "(memdisk)" drive in it.
28548
a7cbd45a 285492008-06-15 Robert Millan <rmh@aybabtu.com>
28550
28551 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
28552 Initialize keyboard controller after registering the terminal, so that
28553 grub_printf() can be called from grub_keyboard_controller_init().
28554
21cf716a 285552008-06-15 Robert Millan <rmh@aybabtu.com>
28556
28557 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
28558 extent-btree which is written as big endian on disk.
28559 Reported by Alain Greppin <al@chilibi.org>.
28560
23a64d8e 285612008-06-14 Robert Millan <rmh@aybabtu.com>
28562
28563 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
28564 * util/i386/pc/grub-install.in (modules): Likewise.
28565
d687651c 285662008-06-13 Pavel Roskin <proski@gnu.org>
28567
28568 * commands/ls.c (grub_ls_list_files): Fix format warnings.
28569
dfe9ddd4 285702008-06-13 Bean <bean123ch@gmail.com>
28571
28572 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
28573
28574 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
28575
28576 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
28577 to indicate sparse block.
28578
16ae7781 285792008-06-12 Pavel Roskin <proski@gnu.org>
28580
e6d1a308 28581 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
28582 number, grub_fshelp_read() does it for us.
28583
16ae7781 28584 * fs/fshelp.c (grub_fshelp_read): New function. Implement
28585 linear disk read with journal translation.
28586 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
28587 * include/grub/fshelp.h: Declare grub_fshelp_read().
28588
40fd3a2b 285892008-06-09 Pavel Roskin <proski@gnu.org>
28590
28591 * fs/minix.c (grub_minix_mount): Handle error reading
28592 superblock.
28593
f5679726 285942008-06-08 Robert Millan <rmh@aybabtu.com>
28595
28596 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
28597 don't append the RAID prefix afterwards.
28598 Reported by Clint Adams.
28599
ce525529 286002008-06-08 Robert Millan <rmh@aybabtu.com>
28601
28602 Based on description from Pavel:
28603 * kern/disk.c (grub_disk_check_range): Rename to ...
28604 (grub_disk_adjust_range): ... this. Add a comment explaining the
28605 tasks performed by this function.
28606
ad4936a0 286072008-06-08 Robert Millan <rmh@aybabtu.com>
28608
28609 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
28610 `num_serial' (for consistency with other variables).
28611 (struct grub_ntfs_data): Add `uuid' member.
28612 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
28613 (grub_ntfs_uuid): New function.
28614 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
28615
dc20b0f9 286162008-06-07 Pavel Roskin <proski@gnu.org>
28617
28618 * util/biosdisk.c (open_device): Revert last change to the
28619 function, it broke installation. The sector needs to be
28620 different dependent on which device is opened.
28621
c5e3cfba 286222008-06-06 Robert Millan <rmh@aybabtu.com>
28623
28624 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
28625 rest of GRUB, and breakage doesn't happen if its value were modified.
28626
28627 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28628 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
28629 a constant (same value).
28630 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
28631 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
28632
26a1f8c4 286332008-06-06 Robert Millan <rmh@aybabtu.com>
28634
28635 * util/biosdisk.c (open_device): Do not modify sector offset when
28636 accessing a partition. kern/disk.c already handles this for us.
28637
25d6b327 286382008-06-06 Robert Millan <rmh@aybabtu.com>
28639
28640 * util/grub-emu.c (grub_machine_init): Move code in this function from
28641 here ...
28642 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
28643 segfault in case grub_printf() is called).
28644
28645 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
28646 grub_probe. Update all users not to explicitly add it again.
28647 (grub_device): New variable; contains corresponding device for grubdir.
28648 (fs_module, partmap_module, devabstraction_module): Pass
28649 `--device ${grub_device}' to grub_probe to avoid traversing /dev
28650 every time.
28651
9ece62fb 286522008-06-05 Robert Millan <rmh@aybabtu.com>
28653
28654 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
28655 is found, print it (same layout as with labels).
28656
1ad36d37 286572008-06-04 Robert Millan <rmh@aybabtu.com>
28658
28659 * util/biosdisk.c (get_drive): Rename to ...
28660 (find_grub_drive): ... this. Update all users.
28661
28662 (get_os_disk): Rename to ...
28663 (convert_system_partition_to_system_disk): ... this. Update all users.
28664
28665 (find_drive): Rename to ...
28666 (find_system_device): ... this. Update all users.
28667
e6a30859 286682008-06-04 Robert Millan <rmh@aybabtu.com>
28669
28670 * util/biosdisk.c (get_os_disk): Handle IDA devices.
28671 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28672 (make_device_map): Likewise.
28673
00c108a4 286742008-06-01 Robert Millan <rmh@aybabtu.com>
28675
28676 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
28677 before dereferencing it.
28678
28679 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
28680 union with fat12/fat16-specific ones. Add some new fields, including
28681 `num_serial' for both versions.
28682 (struct grub_fat_data): Add `uuid' member.
28683 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
28684 names. Initialize `data->uuid' using `num_serial'.
28685 (grub_fat_uuid): New function.
28686 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
28687
28688 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
28689 (grub_reiserfs_uuid): New function.
28690 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
28691 member.
28692
28693 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
28694 (grub_xfs_uuid): New function.
28695 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
28696
1385c5bb 286972008-06-01 Robert Millan <rmh@aybabtu.com>
28698
28699 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28700 code that is backward compatible with pre-uuid search command.
28701
c682dfd7 287022008-05-31 Robert Millan <rmh@aybabtu.com>
28703
28704 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28705 floppies after everything else, to ensure floppy drive isn't accessed
28706 unnecessarily (patch from Bean).
28707
b7db5d47 287082008-05-31 Robert Millan <rmh@aybabtu.com>
28709
28710 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28711 not print device names when we were asked to set a variable.
28712
6e037aa9 287132008-05-31 Robert Millan <rmh@aybabtu.com>
28714
28715 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28716 using "cursor-on" and "cursor-off" commands (understood at least by
28717 the Open Firmware flavour on OLPC).
28718
41305bc8 287192008-05-31 Michael Gorven <michael@gorven.za.net>
28720
28721 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28722 on and off sequences.
28723
69ba137e 287242008-05-31 Robert Millan <rmh@aybabtu.com>
28725
28726 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28727 * util/update-grub.in: Likewise.
28728
520ae21b 287292008-05-30 Pavel Roskin <proski@gnu.org>
28730
28731 * util/biosdisk.c (linux_find_partition): Simplify logic and
28732 make the code more universal. Keep special processing for
28733 devfs, but use a simple rule for all other devices. If the
28734 device ends with a number, append 'p' and the partition number.
28735 Otherwise, append only the partition number.
28736
5786569b 287372008-05-30 Robert Millan <rmh@aybabtu.com>
28738
28739 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28740 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28741 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28742 the `root' parameter to Linux.
28743
51500452 287442008-05-30 Robert Millan <rmh@aybabtu.com>
28745
28746 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28747 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28748 --fs_uuid with --fs-uuid.
28749 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28750 all filesystems support them).
28751
811d3878 287522008-05-30 Robert Millan <rmh@aybabtu.com>
28753
28754 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28755 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28756
cab63c95 287572008-05-30 Robert Millan <rmh@aybabtu.com>
28758
28759 * util/grub.d/00_header.in: Remove obsolete comment referencing
28760 convert_system_path_to_grub_path().
28761 * util/update-grub.in: Likewise.
28762 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28763 (convert_system_path_to_grub_path): Add a warning message explaining
28764 that this function is deprecated. Rely on is_path_readable_by_grub()
28765 for the readability checks.
28766 (font_path): Use is_path_readable_by_grub() for the readability
28767 check rather than convert_system_path_to_grub_path().
28768
972e2f7a 287692008-05-30 Robert Millan <rmh@aybabtu.com>
28770
28771 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28772 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28773 converting it first.
28774 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28775 grub.cfg for access to font file, and afterwards call it again to set
28776 the root device.
28777
62191274 287782008-05-30 Robert Millan <rmh@aybabtu.com>
28779
28780 * commands/search.c (options): Add --fs_uuid option.
28781 (search_fs_uuid): New function.
28782 (grub_cmd_search): Fix --set argument passing.
28783 Use search_fs_uuid() when requested via --fs_uuid.
28784 (grub_search_init): Update help message.
28785 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28786 and redeclare it as an array of 16-bit words.
28787 (grub_ext2_uuid): New function.
28788 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28789 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28790 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28791 (GRUB_DEVICE_BOOT_UUID): New variables.
28792 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28793 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28794 whenever possible.
28795 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28796 just assume `root' variable has the right value.
28797 * util/grub.d/10_linux.in: Likewise.
28798 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28799 via PRINT_FS_UUID.
28800 (main): Recognise `-t fs_uuid' argument.
28801
01b73ec8 288022008-05-30 Robert Millan <rmh@aybabtu.com>
28803
28804 * util/biosdisk.c (map): Redefine structure to hold information
28805 about GRUB drive name.
fe6b695a 28806 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28807 drive names.
28808 (call_hook): Remove.
28809 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28810 member. Assume drive has partitions.
28811 (grub_util_biosdisk_open): Access device names via `.device' struct
28812 member.
28813 (open_device): Likewise.
28814 (find_drive): Likewise.
28815 (read_device_map): Adjust map[] usage to match the new struct
28816 definition. Don't check for duplicates (still possible, but not cheap
28817 anymore).
28818 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28819 (make_device_name): Remove assumption of BIOS-like drive names.
28820
22f16596 288212008-05-30 Pavel Roskin <proski@gnu.org>
28822
28823 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28824 compiling execute.c doesn't need grub_script.tab.h anymore.
28825 (normal/command.c_DEPENDENCIES): Likewise.
28826 (normal/function.c_DEPENDENCIES): Likewise.
28827 * conf/i386-ieee1275.rmk: Likewise.
28828 * conf/i386-linuxbios.rmk: Likewise.
28829 * conf/i386-pc.rmk: Likewise.
28830 * conf/powerpc-ieee1275.rmk: Likewise.
28831 * conf/sparc64-ieee1275.rmk: Likewise.
28832
528ad8f2 288332008-05-29 Pavel Roskin <proski@gnu.org>
28834
d1dff95d 28835 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28836 when scanning metadata for volume group name.
28837
528ad8f2 28838 * include/grub/script.h: Don't include grub_script.tab.h. It's
28839 a generated file, which may only be included from the files with
28840 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28841 use union YYSTYPE, as the later allows forward declaration.
28842 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28843
47248e08 288442008-05-29 Robert Millan <rmh@aybabtu.com>
28845
28846 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28847 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28848 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28849 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28850 scan codes.
28851
ee632529 288522008-05-29 Robert Millan <rmh@aybabtu.com>
28853
28854 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28855 control key combinations.
28856
eee96e08 288572008-05-29 Robert Millan <rmh@aybabtu.com>
28858
28859 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28860 * util/ieee1275/grub-install.in: ... to here.
28861 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28862 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28863 (grub_install_SOURCES): Likewise.
28864
da9a6a94 288652008-05-29 Robert Millan <rmh@aybabtu.com>
28866
28867 * fs/affs.c: Update copyright year.
28868 * fs/ext2.c: Likewise.
28869 * fs/fshelp.c: Likewise.
28870 * fs/hfsplus.c: Likewise.
28871 * fs/ntfs.c: Likewise.
28872 * fs/xfs.c: Likewise.
28873 * include/grub/fshelp.h: Likewise.
28874 * util/grub-mkdevicemap.c: Likewise.
28875
12e65f3a 288762008-05-28 Robert Millan <rmh@aybabtu.com>
28877
28878 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28879 might need to be fatfs to support some firmware implementations
28880 (e.g. OFW or EFI).
28881
23023641 288822008-05-28 Robert Millan <rmh@aybabtu.com>
28883
28884 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28885 devices.
28886 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28887 (make_device_map): Likewise.
28888
887d2619 288892008-05-20 Bean <bean123ch@gmail.com>
28890
28891 * fs/fshelp.c (grub_fshelp_map_block): New function.
28892 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28893 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28894
28895 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28896 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28897 (grub_fshelp_journal): New structure.
28898 (grub_fshelp_map_block): New function prototype.
28899 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28900 (grub_fshelp_map_block): Likewise.
28901
28902 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28903 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28904 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28905 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28906 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28907 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28908 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28909 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28910 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28911 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28912 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28913 (grub_ext2_sblock): New members for journal support.
28914 (grub_ext3_journal_header): New structure.
28915 (grub_ext3_journal_revoke_header): Likewise.
28916 (grub_ext3_journal_block_tag): Likewise.
28917 (grub_ext3_journal_sblock): Likewise.
28918 (grub_fshelp_node): New members logfile and journal.
28919 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28920 grub_fshelp_map_block to get real block number.
28921 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28922 number.
28923 (grub_ext2_read_inode): Likewise.
28924 (grub_ext3_get_journal): New function.
28925 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28926 (grub_ext2_close): Release memory used by journal.
28927
28928 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28929 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28930 (grub_reiserfs_transaction_header): Renamed to
28931 grub_reiserfs_description_block, replace field data with real_blocks.
28932 (grub_reiserfs_commit_block): New structure.
28933 (grub_reiserfs_data): New member journal.
28934 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28935 number.
28936 (grub_reiserfs_read_symlink): Likewise.
28937 (grub_reiserfs_iterate_dir): Likewise.
28938 (grub_reiserfs_open): Likewise.
28939 (grub_reiserfs_read): Likewise.
28940 (grub_reiserfs_get_journal): New function.
28941 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28942 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28943 using grub_reiserfs_get_journal.
28944 (grub_reiserfs_close): Release memory used by journal.
28945
28946 * fs/affs.c (grub_affs_read_block): Change block type to
28947 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28948
28949 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28950
28951 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28952
28953 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28954
28955 * fs/udf.c (grub_udf_read_block): Change block type to
28956 grub_disk_addr_t. Use type cast to avoid warning.
28957
28958 * fs/xfs.c (grub_xfs_read_block): Likewise.
28959
b7c6bed5 289602008-05-16 Christian Franke <franke@computer.org>
28961
28962 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28963 to ensure that break with ESC will always work.
28964 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28965 Remove ESC from keyboard queue.
28966
eedf167f 289672008-05-16 Christian Franke <franke@computer.org>
28968
28969 * util/biosdisk.c: [__CYGWIN__] Add includes.
28970 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28971 (get_os_disk): Move variable declarations to OS specific
28972 parts to avoid warning.
28973 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28974 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28975 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28976 Cygwin.
28977 * util/getroot.c: [__CYGWIN__] Add includes.
28978 (strip_extra_slashes): Fix "/" case.
28979 [__CYGWIN__] (get_win32_path): New function.
28980 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28981 [__CYGWIN__] (find_root_device): Disable.
28982 [__CYGWIN__] (get_bootsec_serial): New function.
28983 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28984 [__linux__] (grub_guess_root_device): Add early returns to simplify
28985 structure.
28986 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28987 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28988 check for Linux only.
28989
a079699e 289902008-05-15 Bean <bean123ch@gmail.com>
28991
28992 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28993 keyboard hang problem in apple's intel mac.
28994
1cf4059a 289952008-05-09 Robert Millan <rmh@aybabtu.com>
28996
28997 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28998 devices.
28999 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29000 (make_device_map): Likewise.
29001 Reported by Aurelien Jarno <aurel32@debian.org>
29002
ed759390 290032008-05-07 Ian Campbell <ijc@hellion.org.uk>
29004
29005 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29006 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29007 (make_device_map): Output entries for xvd type disks.
29008
b56c4eaa 290092008-05-07 Robert Millan <rmh@aybabtu.com>
29010
29011 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
29012 devices.
29013 * util/grub-mkdevicemap.c (get_cciss_disk_name)
29014 (make_device_map): Likewise.
29015 Reported by Roland Dreier <rdreier@cisco.com>
29016
7f8866ed 290172008-05-07 Robert Millan <rmh@aybabtu.com>
29018
29019 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
29020 grub_strstr() call. Correct a few mistakes in failure path handling.
29021
b0346e0f 290222008-05-06 Robert Millan <rmh@aybabtu.com>
29023
29024 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29025 Do not print a trailing slash (therefore, the root directory is an
29026 empty string).
29027 (convert_system_path_to_grub_path): Do not remove trailing slash
29028 from make_system_path_relative_to_its_root() output.
29029
29030 * util/i386/pc/grub-install.in: Add trailing slash to output from
29031 make_system_path_relative_to_its_root().
29032
6cf12cbd 290332008-05-06 Robert Millan <rmh@aybabtu.com>
29034
29035 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
29036 ensures that output lines aren't intermangled with those sent to
29037 stderr (via grub_util_info()).
29038 * util/grub-probe.c (grub_refresh): Likewise.
29039 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
29040
0fbb3117 290412008-05-05 Christian Franke <franke@computer.org>
29042
29043 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
29044 Add Cygwin device names.
29045 (get_ide_disk_name) [__CYGWIN__]: Likewise.
29046 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
29047 (check_device): Return error instead of success on empty name.
29048 (make_device_map): Move label inside linux specific code to
29049 prevent compiler warning.
29050
8124cdb7 290512008-04-30 Robert Millan <rmh@aybabtu.com>
29052
29053 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
29054 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
29055 first boot option.
29056 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
29057
094c01d0 290582008-04-29 Robert Millan <rmh@aybabtu.com>
29059
29060 * docs/grub.cfg: New file (example GRUB configuration).
29061
f4b1fc02 290622008-04-26 Robert Millan <rmh@aybabtu.com>
29063
329ce2a5 29064 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
29065 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
29066 and `disk/ieee1275/nand.c'.
f4b1fc02 29067
25f16ec1 290682008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 29069
25f16ec1 29070 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
29071 i386-linuxbios.
29072
29073 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
29074 change the buffer size to 4096 for cdrom device.
29075
29076 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
29077 and nand.mod.
29078 (_linux_mod_SOURCES): New variable.
29079 (_linux_mod_CFLAGS): Likewise.
29080 (_linux_mod_LDFLAGS): Likewise.
29081 (linux_mod_SOURCES): Likewise.
29082 (linux_mod_CFLAGS): Likewise.
29083 (linux_mod_LDFLAGS): Likewise.
29084 (nand_mod_SOURCES): Likewise.
29085 (nand_mod_CFLAGS): Likewise.
29086 (nand_mod_LDFLAGS): Likewise.
29087
29088 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
29089 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
29090 type property. (nand device in olpc don't have this property)
29091
29092 * include/grub/disk.h (grub_disk_dev_id): New macro
29093 GRUB_DISK_DEVICE_NAND_ID.
29094
29095 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
29096 function prototype.
29097 (grub_rescue_cmd_initrd): Likewise.
29098
29099 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
29100 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
29101 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 29102
25f16ec1 29103 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
29104 GRUB_MACHINE_IEEE1275 is defined.
29105
29106 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
29107 Use NESTED_FUNC_ATTR attribute on the hook parameter.
29108
29109 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
29110 on nested function heap_init.
29111 (grub_upper_mem): New variable for i386-ieee1275.
29112 (grub_get_extended_memory): New function for i386-ieee1275.
29113 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
29114
29115 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
29116 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
29117 property.
f19dbdb7 29118
25f16ec1 29119 * loader/i386/ieee1275/linux.c: New file.
29120
29121 * loader/i386/ieee1275/linux_normal.c: New file.
29122
29123 * disk/ieee1275/nand.c: New file.
29124
e89d61e9 291252008-04-18 Thomas Schwinge <tschwinge@gnu.org>
29126
29127 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
29128 value.
29129 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
29130
602566f6 291312008-04-18 Robert Millan <rmh@aybabtu.com>
29132
29133 Restructures early code path on ieee1275 to unify grub_main() as
29134 the first C function that is executed in every platform.
29135
29136 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
29137 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
29138 cmain().
29139 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
29140 * kern/ieee1275/cmain.c (cmain): Rename to ...
29141 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
29142 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
29143 at the beginning.
29144
57490c2b 291452008-04-18 Robert Millan <rmh@aybabtu.com>
29146
29147 * util/update-grub.in: Fix syntax error when setting
29148 `GRUB_PRELOAD_MODULES'.
29149 Reported by Stephane Chazelas <stephane@artesyncp.com>
29150
1977517d 291512008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
29152
29153 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
29154 section into account, newer toolchains generate unique build ids
29155 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 29156 we want build ids to be preserved
1977517d 29157 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
29158 far from other sections don't cause the raw binary images grow
29159 size
29160
bfb1f1a2 291612008-04-15 Robert Millan <rmh@aybabtu.com>
29162
29163 * disk/lvm.c: Update copyright year.
29164 * kern/misc.c: Likewise.
29165
01979850 291662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29167
29168 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 29169 there is no memory left for physical volume name.
01979850 29170
0a1150e2 291712008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29172
29173 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
29174 volume name mapping to support bigger than 9 character names properly.
29175
82ead3fe 291762008-04-13 Robert Millan <rmh@aybabtu.com>
29177
29178 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
29179 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
29180
e54a72f5 291812008-04-13 Christian Franke <franke@computer.org>
29182
29183 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
29184 to create a floppy emulation boot CD when non emulation mode
29185 does not work.
29186 Enable Joliet CD filesystem extension.
29187
9fe86034 291882008-04-13 Robert Millan <rmh@aybabtu.com>
29189
29190 * kern/misc.c (grub_strncat): Fix off-by-one error.
29191 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
29192
29193 * kern/env.c (grub_env_context_close): Clear current context, not
29194 previous one.
29195 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
29196
29197 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
29198
7ceeee39 291992008-04-13 Robert Millan <rmh@aybabtu.com>
29200
29201 Improve robustness when handling LVM.
29202
29203 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 29204 (and leave `*p' unmodified).
7ceeee39 29205 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
29206 through it.
29207 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
29208 iterating through it.
29209 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
29210 through it.
fe6b695a 29211 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 29212 when due) on each grub_lvm_getvalue() or grub_strstr() call.
29213 Don't assume `vg->pvs != NULL' when iterating through it.
29214
58cd3d85 292152008-04-13 Robert Millan <rmh@aybabtu.com>
29216
29217 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
29218 * genmk.rb (partmap): New variable.
29219 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
29220 (#{partmap}): New target rule.
29221 * genpartmaplist.sh: New file.
29222 * Makefile.in (pkglib_DATA): Add partmap.lst.
29223 (partmap.lst): New target rule.
29224 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
29225 modules (including all partition maps), instead of preloading them.
29226
78b51059 292272007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
29228
29229 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
29230 `linux-boot-prober' (if installed) to detect other operating
29231 systems which are installed on the computer and add them to
29232 the boot menu.
29233 * conf/common.rmk: Build and install 30_os-prober.
29234
a91627b4 292352008-04-12 Robert Millan <rmh@aybabtu.com>
29236
29237 * kern/powerpc/ieee1275/init.c: Move from here ...
29238 * kern/ieee1275/init.c: ... to here. Update all users.
29239
29240 * kern/powerpc/ieee1275/cmain.c: Move from here ...
29241 * kern/ieee1275/cmain.c: ... to here. Update all users.
29242
29243 * kern/powerpc/ieee1275/openfw.c: Move from here ...
29244 * kern/ieee1275/openfw.c: ... to here. Update all users.
29245
29246 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
29247 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
29248
322562ea 292492008-04-10 Pavel Roskin <proski@gnu.org>
29250
29251 * configure.ac: Always use "_cv_" in cache variables for
29252 compatibility with Autoconf 2.62.
29253
a02a73c5 292542008-04-07 Robert Millan <rmh@aybabtu.com>
29255
29256 Revert grub/machine/init.h addition by Pavel (since it breaks on
29257 i386-ieee1275 and others):
29258 * util/i386/pc/misc.c: Remove grub/machine/init.h.
29259 * util/powerpc/ieee1275/misc.c: Likewise.
29260
25c024b1 292612008-04-07 Robert Millan <rmh@aybabtu.com>
29262
29263 * util/grub-probe.c (probe): Improve error message.
29264
3cbd2f98 292652008-04-07 Robert Millan <rmh@aybabtu.com>
29266
29267 * util/biosdisk.c (read_device_map): Skip devices that don't exist
29268 (this prevents the presence of a bogus entry from ruining the whole
29269 thing).
29270
87a297bf 292712008-04-06 Pavel Roskin <proski@gnu.org>
29272
36747a62 29273 * util/biosdisk.c: Include grub/util/biosdisk.h.
29274 * util/grub-fstest.c (execute_command): Make static.
29275 * util/grub-mkdevicemap.c (check_device): Likewise.
29276 * util/i386/pc/misc.c: Include grub/machine/init.h.
29277 * util/powerpc/ieee1275/misc.c: Likewise.
29278 * util/lvm.c: Include grub/util/lvm.h.
29279 * util/misc.c: Include grub/kernel.h, grub/misc.h and
29280 grub/cache.h.
29281 * util/raid.c: Include grub/util/raid.h.
29282 (grub_util_getdiskname): Make static.
29283
87a297bf 29284 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
29285 grub_hostfs_fini(), as they are called from grub_init_all() and
29286 grub_fini_all() respectively. This fixes an infinite loop in
29287 grub-fstest due to double registration of hostfs.
29288 Reported by Christian Franke <Christian.Franke@t-online.de>
29289
f6ce7629 292902008-04-05 Pavel Roskin <proski@gnu.org>
29291
29292 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
29293 all 8 functions. Otherwise, probe function 0 only.
29294
070e49e4 292952008-04-04 Pavel Roskin <proski@gnu.org>
29296
8b088a4c 29297 * commands/lspci.c (grub_lspci_iter): Print the bus number
29298 correctly.
29299
4f657021 29300 * commands/lspci.c (grub_pci_classes): Fix typos.
29301 (grub_lspci_iter): Don't print func twice. Print vendor ID
29302 before device ID, as it's normally done.
29303
070e49e4 29304 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29305 Fix signedness warnings.
29306 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
29307 Likewise.
29308 * util/ieee1275/get_disk_name.c: Include config.h so that
29309 _GNU_SOURCE is defined and getline() is declared. Mark an
29310 unused argument as such. Fix a signedness warning.
29311
ba7328dc 293122008-04-02 Pavel Roskin <proski@gnu.org>
29313
26887f22 29314 * genkernsyms.sh.in: Use more robust assignments for CC and
29315 srcdir. Quote srcdir.
29316 * gensymlist.sh.in: Likewise. Assert at the compile time that
29317 the symbol table is not empty.
29318
ba7328dc 29319 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
29320 * fs/cpio.c (grub_cpio_read): Likewise.
29321
0f582c6b 293222008-04-01 Pavel Roskin <proski@gnu.org>
29323
4b6e1995 29324 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
29325 * disk/host.c (grub_host_open): Likewise.
29326 * disk/loopback.c (grub_loopback_open): Likewise.
29327 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
29328 disk->id as in disk/host.c, not a multi-character constant.
29329
828a2768 29330 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
29331 later is obsolete, potentially dangerous and sets a bad example.
29332 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
29333 * util/misc.c (grub_util_get_image_size): Likewise.
29334
2bb4fb47 29335 * disk/loopback.c (options): Improve help for "--partitions".
29336
0f582c6b 29337 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
29338 options to align them with the short options, e.g. "echo -e".
29339
a33224e0 293402008-03-31 Bean <bean123ch@gmail.com>
29341
29342 * video/reader/png.c (grub_png_data): New member is_16bit and
29343 image_data.
29344 (grub_png_decode_image_header): Detect 16 bit png image.
29345 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
29346 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
29347 (grub_video_reader_png): Release memory occupied by image_data.
29348
29349 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
29350 4096 bytes.
29351 (grub_nfs_mount): Skip the test for sector per cluster.
29352
29353 * include/grub/ntfs.h (MAX_SPC): Removed.
29354
86cb4f54 293552008-03-31 Bean <bean123ch@gmail.com>
29356
29357 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
29358 (grub_probe_SOURCES): Add fs/afs.c.
29359 (grub_fstest_SOURCES): Likewise.
29360 (afs_mod_SOURCES): New variable.
29361 (afs_mod_CFLAGS): Likewise.
29362 (afs_mod_LDFLAGS): Likewise.
29363
29364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
29365 (grub_emu_SOURCES): Likewise.
29366
29367 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29368
29369 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29370
29371 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29372
29373 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29374
29375 * fs/afs.c: New file.
29376
17c74c21 293772008-03-30 Pavel Roskin <proski@gnu.org>
29378
4cb68e89 29379 * disk/host.c: Include grub/misc.h to fix a warning.
29380 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
29381 warnings about implicit declarations.
29382
8790bb04 29383 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
29384 variable.
29385 * include/grub/i386/loader.h: Change declaration of
29386 grub_linux_boot() to match what grub_loader_set() expects.
29387 * util/getroot.c (grub_guess_root_device): Return const char* to
29388 fix a warning.
29389 * util/grub-probe.c (probe): Fix a warning about uninitialized
29390 abstraction_name variable.
29391 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
29392 second argument as unused to fix a warning.
29393
9a3f3296 29394 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
29395 missing grub_error() call.
29396
0ecef90d 29397 * util/update-grub_lib.in: Define datarootdir, since Autoconf
29398 2.60 and newer uses it to define datadir.
29399
0bf6d401 29400 * commands/sleep.c: Fix warning about implicit declaration.
29401 * disk/memdisk.c: Likewise.
29402 * loader/aout.c: Likewise.
29403 * loader/i386/bsd_normal.c: Likewise.
29404 * util/grub-probe.c: Likewise.
29405
7cdacf97 29406 * commands/i386/cpuid.c (has_longmode): Make static.
29407 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
29408 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
29409
17c74c21 29410 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
29411 GDT. This is more robust, as %ds can change.
29412 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
29413 calling real_to_prot().
29414 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
29415
80a3e68b 294162008-03-28 Pavel Roskin <proski@gnu.org>
29417
29418 * kern/i386/pc/startup.S: Assert that uncompressed functions
29419 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
29420 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
29421 code, as they push parts of the code (error handlers) beyond
29422 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
29423 code as correctness and size.
29424
77bcd272 294252008-03-28 Pavel Roskin <proski@gnu.org>
29426
29427 * kern/i386/pc/startup.S
29428 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
29429 data block address to the real mode, keep offset minimal. This
29430 works around a bug in AWARD BIOS on old Athlon systems, which
29431 makes CD detection hang.
29432
c5dfd43b 294332008-03-26 Pavel Roskin <proski@gnu.org>
29434
29435 * normal/color.c (grub_parse_color_name_pair): Make `name' a
29436 const.
29437 * include/grub/normal.h: Add grub_parse_color_name_pair()
29438 declaration.
29439
bf962df2 294402008-03-24 Bean <bean123ch@gmail.com>
29441
29442 * disk/i386/pc/biosdisk.c (cd_start): Removed.
29443 (cd_count): Removed.
29444 (cd_drive): New variable.
29445 (grub_biosdisk_get_drive): Don't check for (cdN) device.
29446 (grub_biosdisk_call_hook): Likewise.
29447 (grub_biosdisk_iterate): Change cdrom detection method.
29448 (grub_biosdisk_open): Replace cd_start with cd_drive.
29449 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
29450 detect cdrom device.
29451
29452 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
29453 Removed.
29454 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
29455 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
29456 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
29457 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
29458 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
29459 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
29460 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
29461 (grub_biosdisk_cdrp): New structure.
29462 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
29463
29464 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
29465
29466 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
29467 device.
29468
29469 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
29470 New function.
29471
68e7fc7a 294722008-03-20 Robert Millan <rmh@aybabtu.com>
29473
29474 Remove 2 TiB limit in ata.mod.
29475 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
29476 (grub_ata_dumpinfo): Print sector count with 0x%llx.
29477 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
29478 grub_uint64_t instead of grub_uint32_t.
29479
38ad2cf5 294802008-03-05 Bean <bean123ch@gmail.com>
29481
29482 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
29483 (grub_multiboot): Set boot device.
29484
29485 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
29486
2b89344e 294872008-03-02 Bean <bean123ch@gmail.com>
29488
29489 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
29490 symlink_buffer.
29491
87a95d1f 294922008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
29493
29494 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
29495 texinfo.tex.
29496
29497 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
29498 modified.
29499
29500 * docs/fdl.texi: New file.
f19dbdb7 29501
87a95d1f 29502 * docs/mdate-sh: New file. Copied from gnulib.
29503 * docs/texinfo.tex: Likewise.
29504
29505 * config.guess: Updated from gnulib.
29506 * install-sh: Likewise.
29507
7dc15d8e 295082008-02-28 Robert Millan <rmh@aybabtu.com>
29509
29510 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
29511 (aout_mod_SOURCES): New variable.
29512 (aout_mod_CFLAGS): Likewise.
29513 (aout_mod_LDFLAGS): Likewise.
29514
29515 * conf/i386-ieee1275.rmk: Likewise.
29516
b00ab696 295172008-02-28 Robert Millan <rmh@aybabtu.com>
29518
29519 * util/update-grub.in: Reorganise terminal validity check. Accept
29520 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
29521 Based on suggestion by Franklin PIAT.
29522
79ca2d78 295232008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
29524
29525 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
29526 function.
29527 * util/getroot.c (grub_util_check_block_device): New function that
29528 returns the given argument if it is a block device and returns NULL else.
29529 * util/grub-probe.c (argument_is_device): New variable.
29530 (probe): Promote device_name from a variable to an argument. Receive
29531 device_name from grub_util_check_block_device() if path is NULL and from
29532 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 29533 (options): Introduce new parameter '-d, --device'.
79ca2d78 29534 (main): Add description of the new parameter to the help screen.
29535 Rename path variable to argument. Set argument_is_device if the '-d'
29536 option is given. Pass argument to probe() depending on
29537 argument_is_device.
29538
0d16e571 295392008-02-24 Bean <bean123ch@gmail.com>
29540
29541 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
29542 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
29543 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
29544 (GRUB_ISO9660_VOLDESC_PART): Likewise.
29545 (GRUB_ISO9660_VOLDESC_END): Likewise.
29546 (grub_iso9660_primary_voldesc): New member escape.
29547 (grub_iso9660_data): New member joliet.
29548 (grub_iso9660_convert_string): New function.
29549 (grub_iso9660_mount): Detect joliet extension.
29550 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
29551 (grub_iso9660_iso9660_label): Likewise.
29552
29553 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
29554 (grub_setup_SOURCES): Add fs/udf.c.
29555 (grub_fstest_SOURCES): Likewise.
29556 (udf_mod_SOURCES): New variable.
29557 (udf_mod_CFLAGS): Likewise.
29558 (udf_mod_LDFLAGS): Likewise.
29559
29560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
29561 (grub_emu_SOURCES): Likewise.
29562
29563 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29564
29565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29566
29567 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29568
29569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29570
29571 * fs/udf.c: New file.
29572
8a594a17 295732008-02-24 Robert Millan <rmh@aybabtu.com>
29574
29575 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
29576 (normal/lexer.c_DEPENDENCIES): New variables.
29577 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29578 (normal/lexer.c_DEPENDENCIES): Likewise.
29579 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
29580 (normal/lexer.c_DEPENDENCIES): Likewise.
29581 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
29582 (normal/lexer.c_DEPENDENCIES): Likewise.
29583 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29584 (normal/lexer.c_DEPENDENCIES): Likewise.
29585 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29586 (normal/lexer.c_DEPENDENCIES): Likewise.
29587
2dc33c03 295882008-02-23 Robert Millan <rmh@aybabtu.com>
29589
29590 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
29591 since they were intended to be in hex. This didn't break previously
29592 because of a bug in gpt_partition_map_iterate() (see below).
29593
29594 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
29595 when checking the validity of GPT header.
29596 Remove `partno', since it always provides the same information as `i'.
29597
f6f4cfb0 295982008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
29599
29600 * include/grub/efi/time.h: Fix a wrong comment.
29601
79ff665f 296022008-02-19 Pavel Roskin <proski@gnu.org>
29603
29604 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
29605 message.
29606
d38e24c2 296072008-02-19 Bean <bean123ch@gmail.com>
29608
29609 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
29610 (aout_mod_SOURCES): New variable.
29611 (aout_mod_CFLAGS): Likewise.
29612 (aout_mod_LDFLAGS): Likewise.
29613 (_bsd_mod_SOURCES): New variable.
29614 (_bsd_mod_CFLAGS): Likewise.
29615 (_bsd_mod_LDFLAGS): Likewise.
29616 (bsd_mod_SOURCES): New variable.
29617 (bsd_mod_CFLAGS): Likewise.
29618 (bsd_mod_LDFLAGS): Likewise.
29619
29620 * include/grub/aout.h: New file.
29621
29622 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
29623
29624 * include/grub/i386/bsd.h: New file.
29625
29626 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
29627 to make it public.
29628
29629 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
29630 function is called, so that it's possible to change it inside the hook.
29631 (grub_elf64_load): Likewise.
29632 (grub_elf_file): Don't close the file if elf header is not found.
29633 (grub_elf_close): Close the file if grub_elf_file fails (The new
29634 grub_elf_file won't close it).
29635 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
29636 (grub_elf64_size): Likewise.
29637
29638 * kern/i386/loader.S (grub_unix_real_boot): New function.
29639
29640 * loader/aout.c: New file.
29641
29642 * loader/i386/bsd.c: New file.
29643
29644 * loader/i386/bsd_normal.c: New file.
29645
29646 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
29647
29648 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 29649 can test other formats.
d38e24c2 29650
b93bdb0f 296512008-02-19 Robert Millan <rmh@aybabtu.com>
29652
29653 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
29654 (grub_gpt_partition_type_empty): Redefine with macro from
29655 `<grub/gpt_partition.h>'.
29656 (gpt_partition_map_iterate): Adjust partition type comparison.
29657
29658 Export `entry' as partmap-specific `part.data' struct.
29659 (grub_gpt_header, grub_gpt_partentry): Move from here ...
29660
29661 * include/grub/gpt_partition.h (grub_gpt_header)
29662 (grub_gpt_partentry): ... to here (new file).
29663
29664 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
29665
29666 (grub_gpt_partition_type_bios_boot): New const variable, defined
29667 with macro from `<grub/gpt_partition.h>'.
29668
29669 (setup): Replace `first_start' with `embed_region', which keeps
29670 track of the embed region (and is partmap-agnostic).
29671
29672 Replace find_first_partition_start() with find_usable_region(),
29673 which finds a usable region for embedding using partmap-specific
29674 knowledge (supports PC/MSDOS and GPT).
29675
29676 Fix all assumptions that the embed region start at sector 1, using
29677 `embed_region.start' from now on. Similarly, use `embed_region.end'
29678 rather than `first_start' to calculate available size.
29679
29680 In grub_util_info() message, replace "into after the MBR" with an
29681 indication of the specific sector our embed region starts at.
29682
66cb40f6 296832008-02-19 Robert Millan <rmh@aybabtu.com>
29684
29685 * DISTLIST: Replace `commands/ieee1275/halt.c' and
29686 `commands/ieee1275/reboot.c' with `commands/halt.c' and
29687 `commands/reboot.c'.
29688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29689 (halt_mod_SOURCES): Likewise.
29690 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29691 (halt_mod_SOURCES): Likewise.
29692
b7202015 296932008-02-17 Christian Franke <franke@computer.org>
29694
29695 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
29696
32b0fc49 296972008-02-17 Robert Millan <rmh@aybabtu.com>
29698
29699 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29700 set `first_start' to 0 for non-PC/MSDOS partition maps.
29701
aca63502 297022008-02-16 Robert Millan <rmh@aybabtu.com>
29703
29704 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29705 do not assume partition map is PC/MSDOS before performing checks that
29706 are specific to that layout.
29707
0de8be86 297082008-02-13 Robert Millan <rmh@aybabtu.com>
29709
29710 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29711 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29712 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29713
c3db8364 297142008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29715
29716 * configure.ac: Only a cosmetic change on the handling of
29717 -fno-stack-protector.
29718
f714229e 297192008-02-12 Alexandre Boeglin <alex@boeglin.org>
29720
c3db8364 29721 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29722 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29723 reboot.c.
f714229e 29724 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29725 (halt_mod_SOURCES): New variable.
29726 (halt_mod_CFLAGS): Likewise.
29727 (halt_mod_LDFLAGS): Likewise.
29728 (reboot_mod_SOURCES): Likewise.
29729 (reboot_mod_CFLAGS): Likewise.
29730 (reboot_mod_LDFLAGS): Likewise.
29731
c3db8364 29732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29733 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29734 reboot.c.
f714229e 29735 (halt_mod_SOURCES): Likewise.
29736 (reboot_mod_SOURCES): Likewise.
29737
c3db8364 29738 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29739 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29740 (reboot_mod_SOURCES): Likewise.
29741
29742 * commands/i386/pc/reboot.c: merge this file ...
29743
29744 * commands/ieee1275/reboot.c: ... and this file ...
29745
29746 * commands/reboot.c: ... to this file.
c3db8364 29747 Add some precompiler directive to include the correct header for
29748 each machine.
f714229e 29749
29750 * commands/ieee1275/halt.c: move this file ...
29751
29752 * commands/halt.c: ... to here.
c3db8364 29753 Add some precompiler directive to include the correct header for
29754 each machine.
f714229e 29755
29756 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29757 (grub_halt): Likewise.
29758
29759 * kern/efi/efi.c (grub_reboot): New function.
29760 (grub_halt): Likewise.
29761
c74493e0 297622008-02-12 Robert Millan <rmh@aybabtu.com>
29763
29764 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29765 /dev (like it is done for /dev/mapper). This doesn't provide support
29766 for EVMS, but at least it is now easy to identify the problem when it
29767 arises.
29768
d0db4b04 297692008-02-11 Robert Millan <rmh@aybabtu.com>
29770
29771 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29772 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29773 comparing it with -1, not 0.
29774
bf748642 297752008-02-10 Robert Millan <rmh@aybabtu.com>
29776
29777 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29778 `disk/lvm.c'.
29779 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29780 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29781
29782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29783 `disk/lvm.c' to the end of the list.
29784 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29786
b5db202a 297872008-02-10 Robert Millan <rmh@aybabtu.com>
29788
29789 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29790 grub_print_error() instead. This will let user know why we're entering
29791 rescue mode.
29792 Based on suggestions from Sam Morris.
29793
83abee31 297942008-02-10 Alexandre Boeglin <alex@boeglin.org>
29795
29796 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29797 on remaining N args, instead of "--" arg N times.
29798
78d5a08b 297992008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29800
29801 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29802 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29803 pattern for unknown glyphs.
29804
68807e5f 298052008-02-09 Robert Millan <rmh@aybabtu.com>
29806
29807 * configure.ac: Probe for `help2man'.
29808 * Makefile.in (builddir): New variable.
29809 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29810 or otherwise add a few flags/options to it.
29811 (install-local): For every executable utility or script that is
29812 installed, invoke $(HELP2MAN) to install a manpage based on --help
29813 output.
29814
29815 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29816 that it doesn't prevent --help from working in build tree.
29817
29818 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29819 with `bug-grub@gnu.org'.
29820 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29821 * util/update-grub.in (usage): New function.
29822 Implement proper argument check, with support for --help and --version
29823 (as well as existing -y).
29824
298252008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29826
29827 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29828 avoid overwriting previous output.
29829 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29830
c1962162 298312008-02-09 Robert Millan <rmh@aybabtu.com>
29832
29833 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29834 drawing the menu.
29835
3dac2e3f 298362008-02-09 Robert Millan <rmh@aybabtu.com>
29837
29838 * commands/sleep.c: New file.
29839 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29840 (sleep_mod_SOURCES): New variable.
29841 (sleep_mod_CFLAGS): Likewise.
29842 (sleep_mod_LDFLAGS): Likewise.
29843
7a634e08 298442008-02-09 Robert Millan <rmh@aybabtu.com>
29845
29846 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29847 situations in which we can deduce the RAID size and the superblock
29848 doesn't match it.
29849
b92f0c18 298502008-02-09 Robert Millan <rmh@aybabtu.com>
29851
29852 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29853 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29854 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29855
29856 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29857 and return a grub_diskmemberlist_t composed of physical array members.
29858 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29859
29860 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29861 prototype.
29862 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29863 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29864 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29865
29866 * util/grub-probe.c (probe): Move partmap probing code from here ...
29867 (probe_partmap): ... to here.
29868 (probe): Use probe_partmap() once for the disk we're probing, and
29869 additionally, when such disk contains a memberlist() struct member,
29870 once for each disk that is contained in the structure returned by
29871 memberlist().
29872
91a4bf68 298732008-02-09 Robert Millan <rmh@aybabtu.com>
29874
29875 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29876 environment variable to 'all' in order to obtain debug output from
29877 non-util/ code.
29878 * util/i386/pc/grub-setup.c (main): Likewise.
29879
a96f9caa 298802008-02-08 Robert Millan <rmh@aybabtu.com>
29881
29882 * disk/raid.c (grub_raid_scan_device): Check for
29883 `array->device[sb.this_disk.number]' rather than for
29884 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29885 guaranteed to be accessible.
a96f9caa 29886
b37a9222 298872008-02-08 Robert Millan <rmh@aybabtu.com>
29888
29889 * disk/raid.c: Update copyright.
29890 * fs/cpio.c: Likewise.
29891 * include/grub/raid.h: Likewise.
29892 * loader/i386/pc/multiboot.c: Likewise.
29893 * util/hostfs.c: Likewise.
29894
5626aee1 298952008-02-08 Robert Millan <rmh@aybabtu.com>
29896
29897 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29898 to a grub_disk_t array.
29899 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29900 `device[x]'.
29901 (grub_raid_scan_device): Replace `device[x].name' accesses with
29902 `device[x]->name'. Simplify initialization of `array->device[x]'.
29903
554f0187 299042008-02-08 Robert Millan <rmh@aybabtu.com>
29905
29906 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29907 grub_dprintf() calls.
29908 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29909 error message.
29910
1ec8425d 299112008-02-07 Christian Franke <franke@computer.org>
29912
29913 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29914 instead of fseek and ftell to support large files.
29915 (grub_hostfs_read): Likewise.
29916
f2156fda 299172008-02-07 Robert Millan <rmh@aybabtu.com>
29918
29919 Patch from Jeroen Dekkers.
29920 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29921 failure, since successfully reading all array members might not be
f2156fda 29922 required.
29923
9216e0e7 299242008-02-06 Robert Millan <rmh@aybabtu.com>
29925
29926 * util/grub-probe.c (probe): Simplify partmap probing (with the
29927 assumption that the first word up to the underscore equals to
29928 the module name).
29929
b0dfd29a 299302008-02-06 Christian Franke <franke@computer.org>
29931
29932 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29933 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29934 last block of a cpio or tar stream.
29935 Check for "TRAILER!!!" instead of any empty data
29936 block to detect last block of a cpio stream.
29937 (grub_cpio_dir): Fix constness of variable np.
29938 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29939 cpio or tar trailer is detected. This fixes a crash
29940 on open of a non existing file.
29941
c32865bf 299422008-02-05 Bean <bean123ch@gmail.com>
29943
29944 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29945 address of entry.
29946 (grub_multiboot_load_elf64): Likewise.
29947 (grub_multiboot): Initialize mbi structure.
29948
29949 * util/grub-fstest.c: Don't include unused header file script.h.
29950
fe6b695a 29951 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29952 of file.
29953 (grub_fstest_SOURCES): Likewise.
29954
409480b7 299552008-02-05 Robert Millan <rmh@aybabtu.com>
29956
29957 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29958 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29959 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29960 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29961
29962 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29963 (translation_table): Replace hardcoded values with macros
29964 provided by `<grub/term.h>'.
29965
29966 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29967 (keyboard_map): Correct/add a few values, with macros provided
29968 by `<grub/term.h>'.
29969 (keyboard_map_shift): Zero values that don't differ from their
29970 `keyboard_map' equivalents.
29971 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29972 Discard the second scan code that is always sent by Caps lock.
29973 Only use `keyboard_map_shift' when it provides a non-zero value,
29974 otherwise fallback to `keyboard_map'.
29975
99fadbaa 299762008-02-04 Bean <bean123ch@gmail.com>
29977
29978 * Makefile.in (enable_grub_fstest): New variable.
29979
29980 * conf/common.rmk (grub_fstest_init.lst): New rule.
29981 (grub_fstest_init.h): Likewise.
29982 (grub_fstest_init.c): Likewise.
29983 (util/grub-fstest.c_DEPENDENCIES): New variable.
29984 (grub_fstest_SOURCES): Likewise.
29985
29986 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29987
29988 * util/grub-fstest.c: New file.
29989
bf567c50 299902008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29991
29992 Make grub-setup handle a separate root device.
f19dbdb7 29993
bf567c50 29994 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29995 so that the root device can be compared with the destination
29996 device.
29997 When embedding the core image, if the root and destination devices
29998 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29999 0xFF.
30000 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 30001
9be6b98b 300022008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30003
30004 Add support for having a grub directory in a different drive. This
30005 is still only the data handling part.
f19dbdb7 30006
9be6b98b 30007 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30008 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30009 (grub_root_drive): New variable.
30010
30011 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
30012 instead of GRUB_BOOT_DRIVE to construct a device name. Set
30013 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
30014 as it was.
30015
30016 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
30017
30018 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
30019 macro.
30020 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
30021
30022 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
30023 is bogus, because PXE booting does not specify any drive
30024 correctly.
30025
30026 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
30027 am not sure if this is really correct.
30028
30029 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
30030 is always identical to the boot drive when booting from a CD.
30031
30032 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
30033 longer.
30034 (root_drive): New variable.
30035 (real_start): Unconditionally set %dh to ROOT_DRIVE.
30036 (setup_sectors): Push %dx right after popping it, because %dh will
30037 be modified later.
30038 (copy_buffer): Restore %dx.
30039
e0ca0677 300402008-02-03 Robert Millan <rmh@aybabtu.com>
30041
30042 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
30043 use `cdboot.img' for cdrom images.
30044
3b3f6629 300452008-02-03 Robert Millan <rmh@aybabtu.com>
30046
30047 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
30048 only setup gfxterm when `font' command has succeeded.
30049
d42b3672 300502008-02-03 Robert Millan <rmh@aybabtu.com>
30051
30052 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
30053 (grub_rescue_cmd_multiboot_loader)
30054 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
30055
fa370ea6 300562008-02-03 Pavel Roskin <proski@gnu.org>
30057
e0c5dacb 30058 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 30059 %edx and %esi from stack only after grub_gate_a20() is called.
30060 grub_gate_a20() clobbers %edx.
30061
f2a76e1d 300622008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30063
30064 * configure.ac (AC_INIT): Bumped to 1.96.
30065
30066 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
30067 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
30068 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
30069 video/readers/png.c.
30070
90fd32d1 300712008-02-03 Bean <bean123ch@gmail.com>
9be665dd 30072
30073 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
30074 (cdboot_img_SOURCES): New variable.
30075 (cdboot_img_ASFLAGS): New variable.
30076 (cdboot_img_LDFLAGS): New variable.
30077
30078 * boot/i386/pc/cdboot.S: New file.
30079
30080 * disk/i386/pc/biosdisk.c (cd_start): New variable.
30081 (cd_count): Likewise.
30082 (grub_biosdisk_get_drive): Add support for cd device.
30083 (grub_biosdisk_call_hook): Likewise.
30084 (grub_biosdisk_iterate): Likewise.
30085 (grub_biosdisk_open): Likewise.
30086 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
30087 (grub_biosdisk_rw): Support reading from cd device.
30088 (GRUB_MOD_INIT): Iterate cd devices.
30089
30090 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
30091 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
30092 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
30093
30094 * kern/i386/pc/init.c (make_install_device): Check for cd device.
30095
4020aa53 300962008-02-02 Robert Millan <rmh@aybabtu.com>
30097
30098 * commands/read.c: New file.
30099 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
30100 (read_mod_SOURCES): New variable.
30101 (read_mod_CFLAGS): Likewise.
30102 (read_mod_LDFLAGS): Likewise.
30103
e03a1132 301042008-02-02 Robert Millan <rmh@aybabtu.com>
30105
30106 * normal/main.c (grub_normal_execute): Check for `menu->size' when
30107 determining whether menu has to be displayed.
30108
58c69220 301092008-02-02 Marco Gerards <marco@gnu.org>
30110
30111 * bus/pci.c: New file.
30112
30113 * include/grub/pci.h: Likewise.
30114
30115 * include/grub/i386/pc/pci.h: Likewise.
30116
30117 * commands/lspci.c: Likewise.
30118
30119 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
30120 `lspci.mod'.
30121 (pci_mod_SOURCES): New variable.
30122 (pci_mod_CFLAGS): Likewise.
30123 (pci_mod_LDFLAGS): Likewise.
30124 (lspci_mod_SOURCES): Likewise.
30125 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 30126 (lspci_mod_LDFLAGS): Likewise.
58c69220 30127
c004e1b4 301282008-02-02 Bean <bean123ch@gmail.com>
30129
30130 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
30131 (grub_ufs_get_file_block): Fix indirect block calculation problem.
30132
30133 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
30134 (grub_xfs_btree_node): New structure.
30135 (grub_xfs_btree_root): New structure.
30136 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
30137 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
30138 (GRUB_XFS_EXTENT_BLOCK): Likewise.
30139 (GRUB_XFS_EXTENT_SIZE): Likewise.
30140 (grub_xfs_read_block): Support btree format type.
30141 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
30142 Use directory block as basic unit.
30143
30144 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
30145
30146 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
30147 __attribute__ ((__regparm__ (1))).
30148
f95562bf 301492008-02-01 Robert Millan <rmh@aybabtu.com>
30150
30151 Correct a mistake in previous commit.
30152
30153 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
30154 top.
30155 (normal/command.c_DEPENDENCIES): New variable.
30156
7d31f41f 301572008-02-01 Robert Millan <rmh@aybabtu.com>
30158
30159 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
30160 top.
30161 (normal/command.c_DEPENDENCIES): New variable.
30162 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
30163 * conf/i386-ieee1275.rmk: Likewise.
30164 * conf/i386-linuxbios.rmk: Likewise.
30165 * conf/i386-pc.rmk: Likewise.
30166 * conf/sparc64-ieee1275.rmk: Likewise.
30167 * conf/powerpc-ieee1275.rmk: Likewise.
30168 (grub_emu_SOURCES): Add `fs/fshelp.c'.
30169
30170 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
30171
60b6be74 301722008-02-01 Robert Millan <rmh@aybabtu.com>
30173
30174 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
30175 call at beginning of function.
30176
078522ab 301772008-01-31 Pavel Roskin <proski@gnu.org>
30178
30179 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 30180 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
30181 (grub_mkrescue_SOURCES): Likewise.
078522ab 30182 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
30183
ccaa8a5f 301842008-01-30 Robert Millan <rmh@aybabtu.com>
30185
30186 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
30187 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
30188 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
30189 (grub_probe_SOURCES): ... to here.
30190
30191 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
30192 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
30193 * conf/i386-ieee1275.rmk: Likewise.
30194 * conf/i386-linuxbios.rmk: Likewise.
30195 * conf/powerpc-ieee1275.rmk: Likewise.
30196
ae5a9cd7 301972008-01-30 Tristan Gingold <gingold@free.fr>
30198
30199 * kern/rescue.c: Silently accept empty lines.
30200
70bc2ef2 302012008-01-29 Bean <bean123ch@gmail.com>
30202
30203 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
30204 (real_code_2): Code cleanup and change comment style.
30205 (move_memory): Avoid using 32-bit address mode.
30206
6a4d50ea 302072008-01-29 Bean <bean123ch@gmail.com>
30208
30209 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
30210 (png_mod_SOURCES): New variable.
30211 (png_mod_CFLAGS): Likewise.
30212 (png_mod_LDFLAGS): Likewise.
30213
30214 * video/readers/png.c: New file.
30215
11cc30ac 302162008-01-28 Robert Millan <rmh@aybabtu.com>
30217
30218 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
30219 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
30220 `ifndef GRUB_MOD_GAP' hack.
30221 * util/elf/grub-mkimage.c (add_segments): Likewise.
30222
3abc589f 302232008-01-27 Robert Millan <rmh@aybabtu.com>
30224
30225 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
30226 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 30227 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 30228
e1907778 302292008-01-27 Robert Millan <rmh@aybabtu.com>
30230
30231 Get grub-emu to build again (including parallel builds).
30232
30233 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
30234 Split into ...
30235 (util/grub-emu.c_DEPENDENCIES): ... this, ...
30236 (normal/execute.c_DEPENDENCIES): ... this, ...
30237 (grub-emu_DEPENDENCIES): ... and this.
30238
30239 * conf/i386-efi.rmk: Likewise.
30240 * conf/i386-linuxbios.rmk: Likewise.
30241 * conf/i386-ieee1275.rmk: Likewise.
30242 * conf/powerpc-ieee1275.rmk: Likewise.
30243 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
30244
2216b101 302452008-01-27 Robert Millan <rmh@aybabtu.com>
30246
30247 * NEWS: Add a few items.
30248
f75172d9 302492008-01-27 Robert Millan <rmh@aybabtu.com>
30250
30251 Fix parallel builds with grub-emu. Based on earlier commit for
30252 grub-probe and grub-setup.
30253
30254 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30255 (util/grub-emu.c_DEPENDENCIES): ... this.
30256 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30257 (util/grub-emu.c_DEPENDENCIES): ... this.
30258 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30259 (util/grub-emu.c_DEPENDENCIES): ... this.
30260 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30261 (util/grub-emu.c_DEPENDENCIES): ... this.
30262 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30263 (util/grub-emu.c_DEPENDENCIES): ... this.
30264
3f51de77 302652008-01-27 Pavel Roskin <proski@gnu.org>
30266
30267 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
30268 to create a gap between _end and the modules added to the image
30269 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
30270 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
30271 * util/elf/grub-mkimage.c (add_segments): Likewise.
30272
2033f53e 302732008-01-26 Pavel Roskin <proski@gnu.org>
30274
30275 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
30276 just return an error.
30277
22da1f6f 302782008-01-26 Bean <bean123ch@gmail.com>
30279
30280 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
30281 (grub_reiserfs_get_item): Save offset of the next item.
30282 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
30283
2a9525e6 302842008-01-25 Robert Millan <rmh@aybabtu.com>
30285
30286 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
30287 make all filesystem sources appear together (possibly fixing omissions
30288 while at it).
30289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30290 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30291 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30293
30294 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
30295 add `kern/file.c'.
30296 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
30297 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30298 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
30299 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30300
30301 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
30302 (probe): Add a sanity check to make sure of our ability to read
30303 requested files when probing for filesystem type.
30304
30305 * genmk.rb: Update copyright year (2007).
30306
30307 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
30308 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
30309 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
30310 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
30311 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
30312 : Remove function prototypes.
30313
b95f71b5 303142008-01-25 Robert Millan <rmh@aybabtu.com>
30315
30316 Revert my previous commits (based on wrong assumption of how grub_errno
30317 works).
30318
fe6b695a 30319 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 30320 * kern/file.c (grub_file_open): Likewise.
30321
d08bbb49 303222008-01-24 Pavel Roskin <proski@gnu.org>
30323
30324 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
30325 that hang if GRUB tries to setup colors.
30326 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
30327 colors for firmwares that don't support it.
30328 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
30329 Recognize Open Hack'Ware, set flags to work around its
30330 limitations.
30331
605e36ed 303322008-01-24 Robert Millan <rmh@aybabtu.com>
30333
30334 * kern/file.c (grub_file_open): Do not account previous failures of
30335 unrelated functions when grub_errno is checked for.
30336 Reported by Oleg Strikov.
30337
bac332a1 303382008-01-24 Bean <bean123ch@gmail.com>
30339
30340 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
30341 (grub_ufs_sblock): New member volume name.
30342 (grub_ufs_find_file): Fix string copy bug.
30343 (grub_ufs_label): Implement this function properly.
30344
30345 * fs/hfs.c (grub_hfs_cnid_type): New enum.
30346 (grub_hfs_iterate_records): Use the correct file number for extents
30347 and catalog file. Fix problem in next index calculation.
30348 (grub_hfs_find_node): Replace recursive function call with loop.
30349 (grub_hfs_iterate_dir): Replace recursive function call with loop.
30350
15c80c09 303512008-01-23 Robert Millan <rmh@aybabtu.com>
30352
30353 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
30354 `<grub/symbol.h>' and `<grub/multiboot.h>'.
30355 (grub_multiboot2_real_boot): New function prototype.
30356
30357 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
30358 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
30359
30360 * kern/i386/ieee1275/init.c (grub_os_area_addr)
30361 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
30362
305338fd 303632008-01-23 Robert Millan <rmh@aybabtu.com>
30364
30365 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
30366 #ifdef'ed out grub_printf().
30367
3ea52685 303682008-01-23 Robert Millan <rmh@aybabtu.com>
30369
30370 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
30371 grub_dprintf calls, since they make "debug=all" mode unusable.
30372 (grub_console_checkkey): Likewise.
30373
5882ae4b 303742008-01-23 Robert Millan <rmh@aybabtu.com>
30375
30376 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30377 `term/i386/pc/at_keyboard.c'.
30378 (pkglib_MODULES): Add `serial.mod'.
30379 (serial_mod_SOURCES): New variable.
30380 (serial_mod_CFLAGS): Likewise.
30381 (serial_mod_LDFLAGS): Likewise.
30382
30383 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
30384 `<grub/powerpc/ieee1275/console.h>'.
30385 (grub_keyboard_controller_init): New function prototype.
30386 (grub_console_checkkey): Likewise.
30387 (grub_console_getkey): Likewise.
30388
30389 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
30390 keyboard on i386.
30391
30392 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
30393 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
30394
06ab5303 303952008-01-23 Robert Millan <rmh@aybabtu.com>
30396
30397 * kern/i386/pc/init.c (make_install_device): When memdisk image is
30398 present, "(memdisk)/boot/grub" becomes the default prefix.
30399
30400 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
30401 a memdisk tarball with all the modules. Add --overlay=DIR option that
30402 allows users to overlay additional files into the image.
30403
dbb475a4 304042008-01-23 Robert Millan <rmh@aybabtu.com>
30405
30406 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
30407 and `machine/memory.h'.
30408 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
30409 (_multiboot_mod_SOURCES): New variable.
30410 (_multiboot_mod_CFLAGS): Likewise.
30411 (_multiboot_mod_LDFLAGS): Likewise.
30412 (multiboot_mod_SOURCES): Likewise.
30413 (multiboot_mod_CFLAGS): Likewise.
30414 (multiboot_mod_LDFLAGS): Likewise.
30415
30416 * include/grub/i386/ieee1275/loader.h: New file.
30417
30418 * include/grub/i386/ieee1275/machine.h: Likewise.
30419
30420 * include/grub/i386/ieee1275/memory.h: Likewise.
30421
30422 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
30423 variable declaration.
30424 (grub_os_area_size): Likewise.
30425
30426 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
30427 (grub_lower_mem, grub_upper_mem): New variables.
30428 (grub_stop_floppy): New function (just to make
30429 grub_multiboot2_real_boot() happy).
30430
30431 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
30432 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
30433 (grub_stop): New function.
30434 Include `"../realmode.S"' and `"../loader.S"'.
30435
30436 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
30437 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
30438
30439 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
30440 rely on grub_multiboot2_real_boot() for final boot.
30441
25638629 304422008-01-22 Robert Millan <rmh@aybabtu.com>
30443
30444 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
30445 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
30446 device that doesn't look like an SD card.
30447 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30448 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
30449 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
30450 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
30451 found.
30452
9dad816d 304532008-01-22 Robert Millan <rmh@aybabtu.com>
30454
30455 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
30456 avoid claiming over our own code.
30457
34842f2d 304582008-01-22 Bean <bean123ch@gmail.com>
30459
30460 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
30461 (jpeg_mod_SOURCES): New variable.
30462 (jpeg_mod_CFLAGS): Likewise.
30463 (jpeg_mod_LDFLAGS): Likewise.
30464
30465 * video/readers/jpeg.c : New file.
30466
44023a28 304672008-01-22 Bean <bean123ch@gmail.com>
30468
30469 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
30470 there are no more items.
30471
bc2d8ac6 304722008-01-21 Robert Millan <rmh@aybabtu.com>
30473
30474 * kern/mm.c (grub_mm_init_region): Improve debug message.
30475
261bd4bc 304762008-01-21 Robert Millan <rmh@aybabtu.com>
30477
30478 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
30479 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
30480 address.
30481 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
30482 a C macro.
30483 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
30484 Indicates start of upper memory.
30485 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
30486 (generate_image): Abort when image size is big enough to corrupt
30487 upper memory.
30488
30489 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
30490 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
30491 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30492 instead of hardcoding 0xA0000.
30493 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
30494 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30495 instead of hardcoding 0xA0000.
30496
f970b55e 304972008-01-21 Robert Millan <rmh@aybabtu.com>
30498
30499 * disk/memdisk.c (memdisk_size): New variable.
30500 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
30501 `memdisk_size'.
30502 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
30503 image to dynamic memory.
30504 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
30505 `memdisk_size'. Free memdisk block.
30506
1a8b0526 305072008-01-21 Robert Millan <rmh@aybabtu.com>
30508
30509 Fix detection of very small filesystems (like tar).
30510
30511 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
30512 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
30513 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
30514 a problem with this disk).
30515
6e9b4aab 305162008-01-21 Robert Millan <rmh@aybabtu.com>
30517
30518 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
30519 on grub_biosdisk_rw_standard() error.
30520
0d8837b2 305212008-01-21 Robert Millan <rmh@aybabtu.com>
30522
30523 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
30524 recent changes.
30525 * kern/elf.c: Likewise.
30526 * kern/ieee1275/ieee1275.c: Likewise.
30527 * kern/powerpc/ieee1275/openfw.c: Likewise.
30528 * term/ieee1275/ofconsole.c: Likewise.
30529
ffd36e34 305302008-01-21 Robert Millan <rmh@aybabtu.com>
30531
30532 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
30533
3f0093d0 30534 * include/grub/kernel.h (grub_arch_memdisk_addr)
30535 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 30536
3f0093d0 30537 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
30538 (grub_arch_memdisk_size): ... to here.
ffd36e34 30539
6c391b21 305402008-01-21 Robert Millan <rmh@aybabtu.com>
30541
30542 Mostly based on bugfix from Bean.
30543
30544 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
30545 attribute with hook() parameter.
30546 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
30547 declaration.
30548 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
30549 attribute with hook() parameter.
30550 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
30551 declaration.
30552
55a581dc 305532008-01-21 Robert Millan <rmh@aybabtu.com>
30554
30555 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
30556 (pkglib_MODULES): Add `memdisk.mod'.
30557 (memdisk_mod_SOURCES): New variable.
30558 (memdisk_mod_CFLAGS): Likewise.
30559 (memdisk_mod_LDFLAGS): Likewise.
30560
30561 * disk/memdisk.c: New file.
30562
30563 * include/grub/disk.h (grub_disk_dev_id): Add
30564 `GRUB_DISK_DEVICE_MEMDISK_ID'.
30565
30566 * include/grub/i386/pc/kernel.h
30567 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
30568 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
30569 (grub_kernel_image_size): New variable declaration.
30570 (grub_total_module_size): Likewise.
30571 (grub_memdisk_image_size): Likewise.
30572
30573 * include/grub/i386/pc/memory.h
30574 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
30575
30576 * include/grub/kernel.h: Include `<grub/symbol.h>'.
30577 (grub_arch_memdisk_addr): New variable declaration.
30578 (grub_arch_memdisk_size): Likewise.
30579
30580 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
30581 (grub_arch_memdisk_size): Likewise.
30582
30583 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
30584 (codestart): Replace hardcoded `0x100000' with
30585 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
30586
30587 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
30588 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
30589 not NULL, append the contents of the file it refers to, at the end of
30590 the compressed kernel image. Initialize `grub_memdisk_image_size'
30591 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
30592 (options): Add "memdisk"|'m' option.
30593 (main): Parse --memdisk|-m option, and pass user-provided path as
30594 parameter to generate_image().
30595
3d7f54c9 305962008-01-20 Robert Millan <rmh@aybabtu.com>
30597
30598 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
30599 grub_dprintf() calls from here ...
30600 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
30601
0bf74728 306022008-01-20 Robert Millan <rmh@aybabtu.com>
30603
30604 Fix detection of "real mode" when /options/real-mode? doesn't exist.
30605
30606 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
30607 declaration.
30608 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
30609 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
30610 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 30611 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 30612 property).
30613 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
30614 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
30615
33bf70a7 306162008-01-19 Robert Millan <rmh@aybabtu.com>
30617
fe6b695a 30618 Get rid of confusing function (superseded by
33bf70a7 30619 `grub_ieee1275_get_integer_property')
30620 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
30621 prototype.
30622 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
30623 function.
30624 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
30625 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 30626 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 30627
e2da7d26 306282008-01-19 Robert Millan <rmh@aybabtu.com>
30629
30630 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
30631 command after "shut-down", since implementations differ on which
30632 the command for halt is.
30633
59f1fd8d 306342008-01-19 Robert Millan <rmh@aybabtu.com>
30635
30636 * include/grub/i386/linuxbios/console.h: Add header protection.
30637 (grub_keyboard_controller_init): New function prototype.
30638 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
30639 (KEYBOARD_COMMAND_READ): Likewise.
30640 (KEYBOARD_COMMAND_WRITE): Likewise.
30641 (KEYBOARD_SCANCODE_SET1): Likewise.
30642 (grub_keyboard_controller_write): New function.
30643 (grub_keyboard_controller_read): Likewise.
30644 (grub_keyboard_controller_init): Likewise.
30645
30646 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
30647 (grub_console_init): On coreboot/LinuxBIOS, call
30648 grub_keyboard_controller_init().
30649
5f5a7c15 306502008-01-19 Robert Millan <rmh@aybabtu.com>
30651
30652 PowerPC changes provided by Pavel Roskin.
30653
30654 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
30655 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
30656 don't rely on cmain() doing it.
30657 * kern/i386/ieee1275/startup.S (_start): Store %eax in
30658 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
30659
1210e168 306602008-01-16 Robert Millan <rmh@aybabtu.com>
30661
30662 * include/grub/i386/linuxbios/memory.h
30663 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
30664 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
30665 receive `table_header' as argument. Instead, probe for it in the
30666 known memory ranges where it can be present.
30667 (grub_available_iterate): Do not pass a fixed `table_header' address
30668 to grub_linuxbios_table_iterate().
30669
3d04eab8 306702008-01-15 Robert Millan <rmh@aybabtu.com>
30671
30672 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
30673 * conf/i386-ieee1275.rmk: New file.
30674 * include/grub/i386/ieee1275/console.h: Likewise.
30675 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
30676 * include/grub/i386/ieee1275/kernel.h: Likewise.
30677 * include/grub/i386/ieee1275/time.h: Likewise.
30678 * kern/i386/ieee1275/init.c: Likewise.
30679 * kern/i386/ieee1275/startup.S: Likewise.
30680
d1bc1b73 306812008-01-15 Robert Millan <rmh@aybabtu.com>
30682
30683 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
30684 when pointers are 32-bit (but still do set it to one when they are
30685 64-bit).
30686
66a65807 306872008-01-15 Robert Millan <rmh@aybabtu.com>
30688
30689 * include/grub/ieee1275/ieee1275.h
30690 (grub_ieee1275_get_integer_property): New function prototype.
30691
30692 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
30693 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 30694 grub_ieee1275_get_property() to handle endianness.
66a65807 30695
30696 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
30697 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 30698 where appropriate.
66a65807 30699 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30700 (grub_map): Likewise.
30701 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30702
a83ccafd 307032008-01-15 Bean <bean123ch@gmail.com>
30704
30705 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30706 (grub_script_execute_cmdline): Reset grub_errno.
30707
30708 * normal/main.c (read_config_file): Reset grub_errno.
30709
30710 * normal/parse.y (script_init): New.
30711 (script): Move function and menuentry here.
30712 (delimiter): New.
30713 (command): Add delimiter at the end of command.
30714 (commands): Adjust to match the new command.
30715 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30716 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30717 (if): Use the new commands.
30718
30719 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30720
df6ecfc6 307212008-01-15 Robert Millan <rmh@aybabtu.com>
30722
30723 * normal/menu.c (run_menu): Move timeout message from here ...
30724 (print_timeout): ... to here.
30725 (run_menu): Use print_timeout() once during initial draw to print
30726 the whole message, and again in every clock tick to update only
30727 the number of seconds.
30728
87ae25eb 307292008-01-15 Robert Millan <rmh@aybabtu.com>
30730
30731 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30732 actual size of `available' from grub_ieee1275_get_property(), and
30733 restrict parsing to that bound.
30734
47bf09a4 307352008-01-15 Christian Franke <franke@computer.org>
30736
30737 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30738 (argp_program_version): Remove variable.
30739 (argp_program_bug_address): Likewise.
30740 (options): Convert from struct argp_option to struct option.
30741 (struct arguments): Remove.
30742 (parse_opt): Remove.
30743 (usage): New function.
30744 (main): Replace struct args members by simple variables.
30745 Replace argp_parse() by getopt_long().
30746 Add switch to evaluate options.
30747 Add missing "(...)" around root_dev in prefix string.
30748
c86f1469 307492008-01-14 Robert Millan <rmh@aybabtu.com>
30750
30751 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30752 for grub_ieee1275_exit(), in order to improve portability.
30753
e622c559 307542008-01-14 Robert Millan <rmh@aybabtu.com>
30755
30756 * util/grub.d/10_linux.in (prefix): Define.
30757 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30758
44cb1ec8 307592008-01-13 Pavel Roskin <proski@gnu.org>
30760
30761 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30762 grub_errno if no errors have been detected.
30763
1eb8c802 307642008-01-12 Robert Millan <rmh@aybabtu.com>
30765
30766 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30767 (grub_util_get_dev_abstraction): New function prototype.
30768
30769 * util/getroot.c: Include `<grub/util/getroot.h>'
30770 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30771 (grub_util_get_dev_abstraction): ... here (new function).
30772
30773 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30774 `PRINT_ABSTRACTION'.
30775 (probe): Probe for abstraction type when requested.
30776 (main): Understand `--target=abstraction'.
30777
30778 * util/i386/efi/grub-install.in: Add abstraction module to core
30779 image when it is found to be necessary.
30780 * util/i386/pc/grub-install.in: Likewise.
30781 * util/powerpc/ieee1275/grub-install.in: Likewise.
30782
30783 * util/update-grub_lib.in (font_path): Return system path without
30784 converting to GRUB path.
30785 * util/update-grub.in: Convert system path returned by font_path()
30786 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30787 abstraction module is needed for loading fonts (if any). Export
30788 that as `GRUB_PRELOAD_MODULES'.
30789 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30790 insmod commands).
30791
52bd3de9 307922008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30793
30794 Remove some unused code from reiserfs.
f19dbdb7 30795
52bd3de9 30796 * fs/reiserfs.c (struct grub_reiserfs_key)
30797 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30798 (struct grub_reiserfs_node_body): Removed.
30799 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30800 Likewise.
30801 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30802 Likewise.
30803 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30804 Likewise.
30805 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30806 Likewise.
30807 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30808 Likewise.
30809 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30810 Likewise.
30811 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30812 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30813 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30814
2f80039d 308152008-01-10 Robert Millan <rmh@aybabtu.com>
30816
30817 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30818 Determines if a file is garbage left by packaging systems, etc.
30819 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30820 for processing /etc/grub.d scripts.
30821 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30822 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30823 as a condition for processing Linux images.
30824
87888032 308252008-01-10 Pavel Roskin <proski@gnu.org>
30826
30827 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30828 to compile reiserfs.c on PowerPC.
30829
7e54fced 308302008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30831
30832 * kern/device.c (grub_device_iterate): Do not abort device iteration
30833 when one of the devices cannot be opened.
30834 * kern/disk.c (grub_disk_open): Do not account previous failures of
30835 unrelated functions when grub_errno is checked for.
30836
5aa541e6 308372008-01-08 Robert Millan <rmh@aybabtu.com>
30838
30839 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30840 `! grub_linux_is_bzimage', change order of address comparison to make
30841 it more intuitive, and improve "too big zImage" error message.
30842
7076340d 308432008-01-08 Robert Millan <rmh@aybabtu.com>
30844
30845 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30846 `$(update-grub_DATA)'.
30847 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30848 targets.
30849
9ca70333 308502008-01-07 Robert Millan <rmh@aybabtu.com>
30851
30852 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30853 which instruction is modified by grub-setup during installation
30854 (since it wasn't obvious by only looking at this file).
30855
38ccf575 308562008-01-07 Robert Millan <rmh@aybabtu.com>
30857
30858 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30859 listing actual TODO items.
30860
f5db4291 308612008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30862
868967cf 30863 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30864 correctly.
30865 (grub_reiserfs_get_key_offset): Likewise.
30866 (grub_reiserfs_set_key_offset): Likewise.
30867 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30868 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30869
30870 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30871 better to remove the bitfield version completely.
f19dbdb7 30872
868967cf 308732008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30874
f5db4291 30875 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30876 allocated from the heap, due to the fshelp implementation.
30877 (grub_reiserfs_dir): Free NODE, due to the same reason.
30878
492e6d9d 308792008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30880
30881 Mostly from Vincent Pelletier:
f19dbdb7 30882
492e6d9d 30883 * fs/reiserfs.c: New file.
f19dbdb7 30884
492e6d9d 30885 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30886 (reiserfs_mod_SOURCES): New variable.
30887 (reiserfs_mod_CFLAGS): Likewise.
30888 (reiserfs_mod_LDFLAGS): Likewise.
30889
30890 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30891 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30892 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30893 normal/color.c.
30894
9ce3e7c1 308952008-01-06 Robert Millan <rmh@aybabtu.com>
30896
30897 * normal/color.c: Remove `<grub/env.h>'.
30898
f3b58148 308992008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30900
30901 * include/grub/normal.h: Include <grub/env.h>.
30902
7ac3bcfa 309032008-01-05 Robert Millan <rmh@aybabtu.com>
30904
30905 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30906 usage example with `(hd0,1)'.
fb358190 30907 Reported by Samuel Thibault.
7ac3bcfa 30908
c8ee99d7 309092008-01-05 Robert Millan <rmh@aybabtu.com>
30910
30911 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30912 (grub_linux_boot_zimage): Rename to ...
30913 (grub_linux_boot): ... this.
30914 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30915 (grub_linux_boot_zimage): Conditionalize zImage copy.
30916
30917 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30918 (grub_linux_boot_bzimage): Remove prototype.
30919 (grub_linux_boot_zimage): Rename to ...
30920 (grub_linux_boot): ... this.
30921
30922 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30923 (grub_linux_boot): Remove function.
30924
0ece25b1 309252008-01-05 Robert Millan <rmh@aybabtu.com>
30926
30927 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30928 (grub_env_write_color_highlight): Likewise.
30929 (grub_wait_after_message): Likewise.
30930
30931 * normal/color.c: New file.
30932
30933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30934 (normal_mod_DEPENDENCIES): Likewise.
30935
30936 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30937 (normal_mod_DEPENDENCIES): Likewise.
30938
30939 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30940 (normal_mod_DEPENDENCIES): Likewise.
30941
30942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30943 (normal_mod_DEPENDENCIES): Likewise.
30944
30945 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30946 for waiting after a message is printed.
30947 * normal/main.c (read_config_file): Likewise.
30948 (grub_normal_init): Register grub_env_write_color_normal() and
30949 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30950 `color_highlight' variables as global.
30951
30952 * normal/menu.c (grub_wait_after_message): New function.
30953 (grub_color_menu_normal): New variable. Replaces ...
30954 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30955 (grub_color_menu_highlight): New variable. Replaces ...
30956 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30957 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30958 `GRUB_TERM_COLOR_STANDARD'.
30959 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30960 `normal_code' and `highlight_code' to `old_color_normal' and
30961 `old_color_highlight', respectively.
30962 (grub_menu_init_page): Update colors when drawing the menu, based on
30963 `menu_color_normal' and `menu_color_highlight' variables.
30964 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30965 a message is printed.
30966
182dd4e5 309672008-01-05 Robert Millan <rmh@aybabtu.com>
30968
30969 * kern/env.c (grub_env_context_open): Propagate hooks for global
30970 variables to new context.
30971
30972 * kern/main.c (grub_set_root_dev): Export `root' variable.
30973
ddf8f6ad 309742008-01-05 Robert Millan <rmh@aybabtu.com>
30975
30976 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30977 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30978 them.
30979
d8b43d9b 309802008-01-05 Robert Millan <rmh@aybabtu.com>
30981
30982 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30983
2bff2de3 309842008-01-04 Christian Franke <franke@computer.org>
30985
30986 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30987 of eisa_mmap.
30988
97eab917 309892008-01-03 Pavel Roskin <proski@gnu.org>
30990
30991 * kern/i386/linuxbios/init.c: Put "void" to all function
30992 declarations with no arguments.
30993 * kern/powerpc/ieee1275/init.c: Likewise.
30994 * term/i386/pc/at_keyboard.c: Likewise.
30995 * term/i386/pc/vga_text.c: Likewise.
30996 * util/grub-mkdevicemap.c: Likewise.
30997
b9416d00 309982008-01-02 Robert Millan <rmh@aybabtu.com>
30999
31000 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31001 message when loaded image is out of bounds.
31002 (grub_multiboot_load_elf64): Likewise.
31003
92695df9 310042008-01-02 Pavel Roskin <proski@gnu.org>
31005
31006 * util/grub.d/10_linux.in: Try version without ".old" when
31007 looking for initrd. It's better to use initrd from the newer
31008 kernel of the same version than no initrd at all.
31009
d98d9cad 310102008-01-01 Robert Millan <rmh@aybabtu.com>
31011
31012 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
31013
dbfdce36 310142008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
31015
f19dbdb7 31016 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 31017 grub_video_get_active_render_target.
31018 (grub_video_adapter): Added unmap_color and get_active_render_target.
31019
f19dbdb7 31020 * video/video.c: Added grub_video_unmap_color and
dbfdce36 31021 grub_video_get_active_render_target.
31022 (grub_video_get_info): Changed method to accept NULL pointer as an
31023 argument to allow detection of active video adapter.
31024
31025 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
31026 grub_video_vbe_unmap_color_int.
31027 Added grub_video_vbe_unmap_color and
31028 grub_video_vbe_get_active_render_target.
31029 (grub_video_vbe_adapter): Added unmap_color and
31030 get_active_render_target.
31031
f19dbdb7 31032 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 31033 with grub_video_vbe_unmap_color_int.
31034
31035 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
31036 (DEFAULT_NORMAL_COLOR): Likewise.
31037 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
31038 (DEFAULT_FG_COLOR): Removed.
31039 (DEFAULT_BG_COLOR): Likewise.
31040 (DEFAULT_CURSOR_COLOR): Changed value.
31041 (grub_virtual_screen): Added standard_color_setting,
31042 normal_color_setting, highlight_color_setting and term_color.
31043 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
31044 (bitmap_width): Added.
31045 (bitmap_height): Likewise.
31046 (bitmap): Likewise.
31047 (set_term_color): Likewise.
31048 (grub_virtual_screen_setup): Changed to use new terminal coloring
31049 settings.
31050 (grub_gfxterm_init): Added init for bitmap.
31051 (grub_gfxterm_fini): Added destroy for bitmap.
31052 (redraw_screen_rect): Updated to use background bitmap and new
31053 terminal coloring.
31054 (scroll_up): Added optimization for case when there is no bitmap.
31055 (grub_gfxterm_cls): Fixed to use correct background color.
31056 (grub_virtual_screen_setcolorstate): Changed to use new terminal
31057 coloring.
31058 (grub_virtual_screen_setcolor): Likewise.
31059 (grub_virtual_screen_getcolor): Added.
31060 (grub_gfxterm_background_image_cmd): Likewise.
31061 (grub_video_term): Added setcolor and getcolor.
31062 (MOD_INIT): Added registration of background_image command.
31063 (MOD_TERM): Added unregistration for background_image command.
31064
c3c20931 310652007-12-30 Pavel Roskin <proski@gnu.org>
31066
31067 * loader/multiboot_loader.c: Fix multiboot command
31068 unregistration. Fix all typos in the word "multiboot".
31069
df266716 310702007-12-29 Pavel Roskin <proski@gnu.org>
94239199 31071
31072 * util/grub.d/10_linux.in: Refactor search for initrd. Add
31073 support for initrd names used in Fedora.
31074
fc6e896c 310752007-12-26 Bean <bean123ch@gmail.com>
31076
31077 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
31078 (cpio_mod_SOURCES): New variable.
31079 (cpio_mod_CFLAGS): Likewise.
31080 (cpio_mod_LDFLAGS): Likewise.
31081
31082 * fs/cpio.c: New file.
31083
31084 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
31085
31086 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31087
31088 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31089
31090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31091
533110ad 310922007-12-25 Robert Millan <rmh@aybabtu.com>
31093
31094 * include/grub/term.h (struct grub_term): Add `getcolor' function.
31095 (grub_getcolor): New function.
31096
31097 * kern/term.c (grub_getcolor): New function.
31098 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
31099 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
31100 (print_entry): Set normal and highlight colors to
31101 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
31102 respectively, before printing and restore them to old
31103 values afterwards.
31104 (grub_menu_init_page): Likewise. Fill an additional colored space
31105 that would otherwise be left blank.
31106
31107 * term/efi/console.c (grub_console_getcolor): New function.
31108 (struct grub_console_term.getcolor): New variable.
31109 * term/i386/pc/console.c (grub_console_getcolor): New function.
31110 (struct grub_console_term.getcolor): New variable.
31111 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
31112 (struct grub_console_term.getcolor): New variable.
31113
31114 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
31115 (struct grub_console_term.setcolor): Remove variable.
31116 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
31117 (struct grub_console_term.setcolor): Remove variable.
31118 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
31119 (struct grub_console_term.setcolor): Remove variable.
31120 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
31121 (struct grub_console_term.setcolor): Remove variable.
31122
4931827f 311232007-12-25 Robert Millan <rmh@aybabtu.com>
31124
31125 * configure.ac: Search for possible unifont.hex locations, and
31126 define UNIFONT_HEX if found.
31127
31128 * Makefile.in (UNIFONT_HEX): Define variable.
31129 (DATA): Rename to ...
31130 (PKGLIB): ... this. Update all users.
31131 (PKGDATA): New variable.
31132 (pkgdata_IMAGES): Rename to ...
31133 (pkglib_IMAGES): ... this. Update all users.
31134 (pkgdata_MODULES): Rename to ...
31135 (pkglib_MODULES): ... this. Update all users.
31136 (pkgdata_PROGRAMS): Rename to ...
31137 (pkglib_PROGRAMS): ... this. Update all users.
31138 (pkgdata_DATA): Rename to ...
31139 (pkglib_DATA): ... this. Update all users.
31140 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
31141 (unicode.pff, ascii.pff): New rules.
31142 (all-local): Add `$(PKGDATA)' dependency.
31143 (install-local): Process `$(PKGDATA)'.
31144
31145 * util/update-grub_lib.in (font_path): Search for *.pff files in
31146 a few more locations, including `${pkgdata}'.
31147
57e57e31 311482007-12-23 Robert Millan <rmh@aybabtu.com>
31149
31150 Patch from Bean <bean123ch@gmail.com>:
31151 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
31152 `size'.
31153
4bc72aa9 311542007-12-21 Bean <bean123ch@gmail.com>
31155
31156 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
31157 (ntfscomp_mod_SOURCES): New variable.
31158 (ntfscomp_mod_CFLAGS): Likewise.
31159 (ntfscomp_mod_LDFLAGS): Likewise.
31160
31161 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
31162 (grub_probe_SOURCES): Likewise.
31163 (grub_emu_SOURCES): Likewise.
31164
31165 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31166 (grub_emu_SOURCES): Likewise.
31167
31168 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31169 (grub_emu_SOURCES): Likewise.
31170
31171 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31172 (grub_emu_SOURCES): Likewise.
31173
31174 * fs/ntfs.c (grub_ntfscomp_func): New variable.
31175 (read_run_list): Renamed to grub_ntfs_read_run_list.
31176 (decomp_nextvcn): Moved to ntfscomp.c.
31177 (decomp_getch): Likewise.
31178 (decomp_get16): Likewise.
31179 (decomp_block): Likewise.
31180 (read_block): Likewise.
31181 (read_data): Partially moved to ntfscomp.c.
31182 (fixup): Change unsigned to grub_uint16_t.
31183 (read_mft): Change unsigned long to grub_uint32_t.
31184 (read_attr): Likewise.
31185 (read_data): Likewise.
31186 (read_run_data): Likewise.
31187 (read_run_list): Likewise.
31188 (read_mft): Likewise.
31189
31190 * fs/ntfscomp.c: New file.
31191
31192 * include/grub/ntfs.h: New file.
31193
af680a87 311942007-12-16 Robert Millan <rmh@aybabtu.com>
31195
31196 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
31197 IDE disk check, since Linux is known to support 20 IDE disks.
31198 Reported by Colin Watson.
31199
84be7599 312002007-12-15 Bean <bean123ch@gmail.com>
31201
31202 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
31203 (lnxboot_img_SOURCES): New variable.
31204 (lnxboot_img_ASFLAGS): Likewise.
31205 (lnxboot_img_LDFLAGS): Likewise.
31206
31207 * boot/i386/pc/lnxboot.S: New file.
31208
6af9db01 312092007-11-24 Pavel Roskin <proski@gnu.org>
31210
31211 * configure.ac: Test if '--build-id=none' is supported by the
31212 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
31213 objcopy to generate incorrect binary files (binutils
31214 2.17.50.0.18-1 as shipped by Fedora 8).
31215 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
31216 linking, so that build ID doesn't break the test.
31217
7361cfe6 312182007-11-24 Pavel Roskin <proski@gnu.org>
31219
31220 * include/grub/i386/time.h: use "void" in the argument list
31221 of grub_cpu_idle().
31222 * include/grub/powerpc/time.h: Likewise.
31223 * include/grub/sparc64/time.h: Likewise.
31224
1593e10c 312252007-11-18 Christian Franke <franke@computer.org>
31226
31227 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
31228 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
31229 This fixes the problem that function keys did not work in grub-emu.
31230
3b8db1a8 312312007-11-18 Christian Franke <franke@computer.org>
31232
31233 * disk/host.c (grub_host_open): Remove attribute unused from
31234 name parameter. Add check for "host". This fixes the problem
31235 that grub-emu does not find partitions.
31236
2e29408d 312372007-11-18 Christian Franke <franke@computer.org>
31238
31239 * util/hostfs.c (is_dir): New function.
31240 (grub_hostfs_dir): Handle missing dirent.d_type case.
31241 (grub_hostfs_read): Add missing fseek().
31242 (grub_hostfs_label): Clear label pointer. This fixes a crash
31243 of grub-emu on "ls (host)".
31244
398cd047 312452007-11-18 Christian Franke <franke@computer.org>
31246
31247 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
31248 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
31249 to 64 bit boundary by default.
31250
c405c391 312512007-11-18 Bean <bean123ch@gmail.com>
31252
31253 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
31254 (hexdump_mod_SOURCES): New variable.
31255 (hexdump_mod_CFLAGS): Likewise.
31256 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 31257
c405c391 31258 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31259
31260 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31261
31262 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31263
31264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31265
31266 * include/grub/hexdump.h: New file.
31267
31268 * commands/hexdump.c: New file.
31269
5cced7fd 312702007-11-10 Robert Millan <rmh@aybabtu.com>
31271
31272 * commands/i386/pc/play.c (beep_off): Switch order of arguments
31273 in grub_outb() calls.
31274 (beep_on): Likewise.
31275
8b714eb0 312762007-11-10 Christian Franke <franke@computer.org>
31277
31278 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
31279 (grub_menu_run): Likewise.
31280
ce0f1839 312812007-11-10 Robert Millan <rmh@aybabtu.com>
31282
31283 * include/grub/i386/efi/machine.h: New file.
31284 * include/grub/i386/linuxbios/machine.h: Likewise.
31285 * include/grub/i386/pc/machine.h: Likewise.
31286 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31287 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31288
31289 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
31290 (serial_hw_io_addr): New variable.
31291 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
31292 instead of `(unsigned short *) 0x400'.
31293
270c237d 312942007-11-10 Bean <bean123ch@gmail.com>
31295
31296 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
31297
a87783bf 312982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31299
31300 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
31301 (vga_mod_SOURCES): Added.
31302 (vga_mod_CFLAGS): Likewise.
31303 (vga_mod_LDFLAGS): Likewise.
31304
31305 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
31306 grub_outb() calls.
31307 (set_map_mask): Likewise.
31308 (set_read_map): Likewise.
31309 (set_read_address): Likewise.
31310 (vga_font): Removed variable.
31311 (get_vga_glyph): Removed function.
31312 (invalidate_char): Likewise.
31313 (write_char): Changed to use grub_font_get_glyph() for font
31314 information.
31315 (grub_vga_putchar): Likewise.
31316 (grub_vga_getcharwidth): Likewise.
31317
6433b448 313182007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31319
31320 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
31321 flags.
31322 (pxeboot_img_LDFLAGS): Likewise.
31323 (diskboot_img_LDFLAGS): Likewise.
31324 (kernel_img_LDFLAGS): Likewise.
31325
49178511 313262007-11-06 Robert Millan <rmh@aybabtu.com>
31327
31328 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
31329 in grub_outb() calls.
31330 (serial_hw_init): Likewise.
31331
53b052de 313322007-11-05 Robert Millan <rmh@aybabtu.com>
31333
31334 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
31335 spaces. Skip non-regular files.
31336
5ab33bba 313372007-11-05 Robert Millan <rmh@aybabtu.com>
31338
31339 * kern/disk.c (grub_disk_firmware_fini)
31340 (grub_disk_firmware_is_tainted): New variables.
31341
31342 * include/grub/disk.h (grub_disk_firmware_fini)
31343 (grub_disk_firmware_is_tainted): Likewise.
31344
31345 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
31346 (grub_disk_biosdisk_fini): ... to here.
31347 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
31348 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
31349 is set. Register grub_disk_biosdisk_fini() in
31350 `grub_disk_firmware_fini'.
31351
31352 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
31353 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
31354 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
31355 to finish existing firmware disk interface.
31356
31357 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
31358 (ata_mod_SOURCES): New variable.
31359 (ata_mod_CFLAGS): Likewise.
31360 (ata_mod_LDFLAGS): Likewise.
31361
0149ab7c 313622007-11-05 Robert Millan <rmh@aybabtu.com>
31363
31364 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
31365 (grub_ata_wait): Reimplement using grub_millisleep().
31366
31367 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
31368 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
31369
be7ac41e 313702007-11-03 Marco Gerards <marco@gnu.org>
31371
31372 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
31373 (CRTC_ADDR_PORT): New macro.
31374 (CRTC_DATA_PORT): Likewise.
31375 (CRTC_CURSOR): Likewise.
31376 (CRTC_CURSOR_ADDR_HIGH): Likewise.
31377 (CRTC_CURSOR_ADDR_LOW): Likewise.
31378 (update_cursor): New function.
31379 (grub_console_real_putchar): Call `update_cursor'.
31380 (grub_console_gotoxy): Likewise.
31381 (grub_console_cls): Set the default color when clearing the
31382 screen.
31383 (grub_console_setcursor): Implemented.
31384
bb06ab2e 313852007-11-03 Marco Gerards <marco@gnu.org>
31386
31387 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
31388 become activate.
31389 (grub_ata_pio_write): Likewise.
31390
31391 (grub_atapi_identify): Wait after issuing an ATA command.
31392 (grub_atapi_packet): Likewise.
31393 (grub_ata_identify): Likewise.
31394 (grub_ata_readwrite): Likewise.
31395
cf8f780b 313962007-11-03 Marco Gerards <marco@gnu.org>
31397
31398 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
31399 (grub_ata_pio_write): Likewise.
31400 (grub_ata_readwrite): Use `grub_error', instead of
31401 returning `grub_errno'.
31402
ed649e54 314032007-11-03 Marco Gerards <marco@gnu.org>
31404
31405 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
31406 grub_ata_pio_write once for every single sector, instead of for
31407 multiple sectors.
31408
ca25d8f0 314092007-10-31 Robert Millan <rmh@aybabtu.com>
31410
31411 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
31412
31413 * conf/i386-linuxbios.rmk: New file.
31414
31415 * kern/i386/pc/hardware.c: Likewise.
31416 * term/i386/pc/at_keyboard.c: Likewise.
31417 * term/i386/pc/vga_text.c: Likewise.
31418
31419 * include/grub/i386/linuxbios/boot.h: Likewise.
31420 * include/grub/i386/linuxbios/console.h: Likewise.
31421 * include/grub/i386/linuxbios/init.h: Likewise.
31422 * include/grub/i386/linuxbios/kernel.h: Likewise.
31423 * include/grub/i386/linuxbios/loader.h: Likewise.
31424 * include/grub/i386/linuxbios/memory.h: Likewise.
31425 * include/grub/i386/linuxbios/serial.h: Likewise.
31426 * include/grub/i386/linuxbios/time.h: Likewise.
31427
31428 * kern/i386/linuxbios/init.c: Likewise.
31429 * kern/i386/linuxbios/startup.S: Likewise.
31430 * kern/i386/linuxbios/table.c: Likewise.
31431
e911ecc1 314322007-10-31 Marco Gerards <marco@gnu.org>
31433
31434 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
31435 (ata_mod_SOURCES): New variable.
31436 (ata_mod_CFLAGS): Likewise.
31437 (ata_mod_LDFLAGS): Likewise.
31438
31439 * disk/ata.c: New file.
31440
31441 * include/grub/disk.h (grub_disk_dev_id): Add
31442 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 31443
7f66d0e0 314442007-10-31 Robert Millan <rmh@aybabtu.com>
31445
31446 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
31447 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
31448
31449 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
31450 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
31451
31452 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
31453 `<grub/types.h>'.
31454
31455 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
31456
5cd7dd46 314572007-10-27 Robert Millan <rmh@aybabtu.com>
31458
3236ca65 31459 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 31460
2ebfc90f 314612007-10-22 Robert Millan <rmh@aybabtu.com>
31462
31463 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
31464 `"../realmode.S"'.
31465 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
31466
73fcb0f3 314672007-10-22 Robert Millan <rmh@aybabtu.com>
31468
31469 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
31470 (pkgdata_MODULES): Add `biosdisk.mod'.
31471 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
31472 variables.
31473
31474 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
31475 (grub_biosdisk_init): Replace with ...
31476 (GRUB_MOD_INIT(biosdisk)): ... this.
31477 (grub_biosdisk_fini): Replace with ...
31478 (GRUB_MOD_FINI(biosdisk)): ... this.
31479
31480 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
31481 (grub_machine_init): Remove call to grub_biosdisk_init().
31482 (grub_machine_fini): Remove call to grub_machine_fini().
31483
31484 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
31485
3381d274 314862007-10-22 Robert Millan <rmh@aybabtu.com>
31487
31488 * include/grub/time.h: New file.
31489 * include/grub/i386/time.h: Likewise.
31490 * include/grub/powerpc/time.h: Likewise.
31491 * include/grub/sparc64/time.h: Likewise.
31492
31493 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
31494 instances to ...
31495 (KERNEL_MACHINE_TIME_HEADER): ... this.
31496 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31497 instances to ...
31498 (KERNEL_MACHINE_TIME_HEADER): ... this.
31499 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31500 instances to ...
31501 (KERNEL_MACHINE_TIME_HEADER): ... this.
31502
31503 * kern/i386/efi/init.c: Include `<grub/time.h>'.
31504 (grub_millisleep): New function.
31505 * kern/i386/pc/init.c: Include `<grub/time.h>'.
31506 (grub_millisleep): New function.
31507 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
31508 Remove `grub/machine/time.h' include.
31509 (grub_millisleep): New function.
31510 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
31511 Remove `grub/machine/time.h' include.
31512 (grub_millisleep): New function.
31513
31514 * include/grub/misc.h (grub_div_roundup): New function.
31515
31516 * kern/misc.c: Include `<grub/time.h>'.
31517 (grub_millisleep_generic): New function.
31518
31519 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
31520 Add `time.h'.
31521 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
31522 Add `time.h'.
31523 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
31524 `machine/time.h'. Add `time.h'.
31525 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31526
a39a0312 315272007-10-21 Robert Millan <rmh@aybabtu.com>
31528
31529 * include/grub/misc.h (grub_max): New function.
31530
2aad70e2 315312007-10-21 Robert Millan <rmh@aybabtu.com>
31532
31533 * util/misc.c (grub_util_info): Call fflush() before returning.
31534
54b71c4b 315352007-10-20 Robert Millan <rmh@aybabtu.com>
31536
31537 * genmk.rb (Image): Copy `extra_flags' from here ...
31538 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
31539
31540 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
31541 to `argc' and `args' arguments.
31542
a979f513 315432007-10-17 Robert Millan <rmh@aybabtu.com>
31544
31545 * kern/i386/loader.S: New file.
31546
31547 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
31548 * kern/i386/loader.S (grub_linux_prot_size)... to here.
31549 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
31550 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
31551 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
31552 * kern/i386/loader.S (grub_linux_real_addr)... to here.
31553 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
31554 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
31555 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
31556 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
31557 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
31558 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
31559 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
31560 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
31561
31562 * kern/i386/realmode.S: New file.
31563
31564 * kern/i386/pc/startup.S (protstack): Moved from here ...
31565 * kern/i386/realmode.S (protstack)... to here.
31566 * kern/i386/pc/startup.S (gdt): Moved from here ...
31567 * kern/i386/realmode.S (gdt)... to here.
31568 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
31569 * kern/i386/realmode.S (prot_to_real)... to here.
31570
31571 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
31572 `kern/i386/realmode.S'.
31573
825fc8fd 315742007-10-17 Robert Millan <rmh@aybabtu.com>
31575
31576 * include/grub/i386/loader.h: New file.
31577
31578 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
31579 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31580 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31581 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31582 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
31583 * include/grub/i386/loader.h (grub_linux_prot_size)
31584 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31585 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31586 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31587 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
31588
31589 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
31590
e179b2f4 315912007-10-15 Robert Millan <rmh@aybabtu.com>
31592
31593 * normal/misc.c (grub_normal_print_device_info): Do not probe for
31594 filesystem when dev->disk is unset.
31595 Do probe for filesystem even when dev->disk->has_partitions is set.
31596 In case a filesystem is found, always report it.
31597 In case it isn't, if dev->disk->has_partitions is set, report that
31598 a partition table was found instead of reporting that no filesystem
31599 could be identified.
31600
5db82af6 316012007-10-12 Robert Millan <rmh@aybabtu.com>
31602
31603 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
31604 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
31605
68f6ac74 31606 * include/grub/types.h (grub_host_to_target16): New macro.
31607 (grub_host_to_target32): Likewise.
31608 (grub_host_to_target64): Likewise.
31609 (grub_target_to_host16): Likewise.
31610 (grub_target_to_host32): Likewise.
31611 (grub_target_to_host64): Likewise.
5db82af6 31612
31613 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31614 Renamed from to ...
31615 (GRUB_MOD_ALIGN): ...this. Update all users.
31616
68f6ac74 31617 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
31618 grub_host_to_target32.
31619 Replace grub_be_to_cpu32 with grub_target_to_host32.
31620 (load_modules): Likewise.
31621 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
31622 Replace grub_be_to_cpu32 with grub_target_to_host32.
31623 Replace grub_cpu_to_be16 with grub_host_to_target16.
31624 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 31625
3cf497cc 316262007-10-12 Robert Millan <rmh@aybabtu.com>
31627
31628 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
31629 * util/elf/grub-mkimage.c: ... here.
31630
31631 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
31632 `util/powerpc/ieee1275/grub-mkimage.c'.
31633
c8cc3692 316342007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 31635
c8cc3692 31636 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
31637 and make it easier to figure out.
31638 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
31639 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
31640 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
31641 leave us with less than HEAP_MIN_SIZE total heap.
31642 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 31643
5c58b791 316442007-10-03 Robert Millan <rmh@aybabtu.com>
31645
31646 * include/grub/i386/io.h: New file.
31647 * commands/i386/pc/play.c (inb): Removed.
31648 (outb): Removed.
31649 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31650 with grub_outb().
afcd2ef8 31651 * term/i386/pc/serial.c (inb): Removed.
31652 (outb): Removed.
31653 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31654 with grub_outb().
31655 * term/i386/pc/vga.c (inb): Removed.
31656 (outb): Removed.
31657 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31658 with grub_outb().
5c58b791 31659
1a477ed6 316602007-10-02 Robert Millan <rmh@aybabtu.com>
31661
31662 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
31663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31664 Reported by Marcin Kurek.
31665
6b5d80fa 316662007-09-07 Robert Millan <rmh@aybabtu.com>
31667
31668 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
31669 SmartFirmware version updates (as released by Sven Luther), and avoid
31670 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
31671 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
31672 known broken.
31673
5618afbf 316742007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31675
31676 From Hitoshi Ozeki:
31677 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
31678 when merging two regions.
31679
6139dcd9 316802007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31681
508e39ee 31682 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
31683 * normal/completion.c (grub_normal_do_completion): Likewise.
31684 Reported by Hitoshi Ozeki.
31685
316862007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31687
6139dcd9 31688 Do not use devices at boot in chainloading.
f19dbdb7 31689
6139dcd9 31690 * loader/i386/pc/chainloader.c (boot_drive): New variable.
31691 (boot_part_addr): Likewise.
31692 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
31693 with BOOT_DRIVE and BOOT_PART_ADDR.
31694 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
31695 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
31696
38da6516 316972007-08-29 Robert Millan <rmh@aybabtu.com>
31698
31699 Patch from Simon Peter <dn.tlp@gmx.net>:
31700 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31701 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31702 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31703 util/i386/pc/grub-setup.c_DEPENDENCIES.
31704 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31705 util/grub-probe.c_DEPENDENCIES.
31706 * conf/powerpc-ieee1275.rmk: Likewise.
31707
29d0928c 317082007-08-28 Robert Millan <rmh@aybabtu.com>
31709
31710 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31711 to tell grub-mkdevicemap how to name devices.
31712 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31713 feature).
31714
31715 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31716 util/i386/get_disk_name.c.
31717 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31718 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31719 util/ieee1275/get_disk_name.c.
31720
31721 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31722
31723 * DISTLIST: Add util/i386/get_disk_name.c and
31724 util/ieee1275/get_disk_name.c.
31725
31726 * util/grub-mkdevicemap.c: Replace device naming logic with
31727 grub_util_get_disk_name() calls.
31728
5a0d3cca 317292007-08-20 Robert Millan <rmh@aybabtu.com>
31730
31731 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31732 (so that it works for both plural and singular quantities).
31733
8b72db2f 317342007-08-05 Robert Millan <rmh@aybabtu.com>
31735
31736 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31737 so that [xz] isn't taken into account when determining order.
31738
352466bf 317392007-08-02 Marco Gerards <marco@gnu.org>
31740
31741 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31742 `include/multiboot2.h', `include/grub/elfload.h',
31743 `include/multiboot.h', `include/grub/multiboot.h',
31744 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31745 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31746 `kern/elf.c', `loader/multiboot_loader.c',
31747 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31748 `loader/i386/pc/multiboot2.c',
31749 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31750 `util/i386/pc/grub-mkrescue.in'. Remove
31751 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31752 `include/grub/i386/pc/util/biosdisk.h' and
31753 `include/grub/powerpc/ieee1275/multiboot.h'.
31754
8f096014 317552007-08-02 Bean <bean123ch@gmail.com>
31756
31757 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31758 (ntfs_mod_SOURCES): New variable.
31759 (ntfs_mod_CFLAGS): Likewise.
31760 (ntfs_mod_LDFLAGS): Likewise.
31761
31762 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31763 (grub_probe_SOURCES): Likewise.
31764 (grub_emu_SOURCES): Likewise.
31765
31766 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31767 (grub_emu_SOURCES): Likewise.
31768
31769 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31770 (grub_emu_SOURCES): Likewise.
f19dbdb7 31771
8f096014 31772 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31773
31774 * fs/ntfs.c: New file.
31775
9959f7db 317762007-08-02 Bean <bean123ch@gmail.com>
31777
31778 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31779
31780 * file.h (grub_file): Likewise.
31781
31782 * fshelp.h (grub_fshelp_read_file): Likewise.
31783
31784 * util/i386/pc/grub-setup.c (setup): Likewise.
31785 (save_first_sector): Likewise.
31786 (save_blocklists): Likewise.
f19dbdb7 31787
9959f7db 31788 * fs/affs.c (grub_affs_read_file): Likewise.
31789
31790 * fs/ext2.c (grub_ext2_read_file): Likewise.
31791
31792 * fs/fat.c (grub_fat_read_data): Likewise.
31793
31794 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31795
31796 * fs/hfs.c (grub_hfs_read_file): Likewise.
31797
31798 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31799
31800 * fs/jfs.c (grub_jfs_read_file): Likewise.
31801
31802 * fs/minix.c (grub_minix_read_file): Likewise.
31803
31804 * fs/sfs.c (grub_sfs_read_file): Likewise.
31805
31806 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31807
9959f7db 31808 * fs/xfs.c (grub_xfs_read_file): Likewise.
31809
31810 * command/blocklist.c (read_blocklist): Likewise.
31811 (print_blocklist): Likewise.
31812
0a203f83 318132007-08-02 Marco Gerards <marco@gnu.org>
31814
31815 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31816 `util/hostfs.c'.
31817
31818 * disk/host.c: New file.
31819
31820 * util/hostfs.c: Likewise.
31821
31822 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31823 return `GRUB_ERR_BAD_FS'.
31824 * fs/sfs.c (grub_sfs_mount): Likewise.
31825 * fs/xfs.c (grub_xfs_mount): Likewise.
31826
31827 * include/grub/disk.h (enum grub_disk_dev_id): Add
31828 `GRUB_DISK_DEVICE_HOST_ID'.
31829
31830 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31831
e5dfe777 318322007-07-24 Jerone Young <jerone@gmail.com>
31833
f19dbdb7 31834 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31835 modules for compilation.
31836 * conf/powerpc-ieee1275.rmk: Likewise.
31837
31838 * include/multiboot.h: Move multiboot definitions to one file. Rename
31839 many definitions to not get grub specific.
31840 * include/multiboot2.h: Create header with multiboot 2 definitions.
31841 * include/grub/multiboot.h: Header for grub specific function
31842 prototypes and definitions.
31843 * include/grub/multiboot2.h: Likewise.
31844 * include/grub/multiboot_loader.h: Likewise.
31845 * include/grub/i386/pc/multiboot.h: Removed.
31846 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31847
31848 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31849 and 2 to allow for one multiboot and module commands.
31850 * loader/multiboot2.c: Add multiboot2 functionality.
31851 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31852 and definition names.
31853 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31854 2 functions.
31855 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31856 ieee1275 specific multiboot2 code.
31857
31858 * kern/i386/pc/startup.S: Change headers and definition names for
31859 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31860
daf0f0ba 318612007-07-22 Robert Millan <rmh@aybabtu.com>
31862
31863 * geninitheader.sh: Process file specified in first parameter rather
31864 than hardcoding grub_modules_init.lst.
fe6b695a 31865 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31866 than hardcoding grub_modules_init.h.
31867
31868 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31869 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31870 grub_probe_init.[ch] and grub_setup_init.[ch].
31871
31872 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31873 grub_modules_init.h with grub_emu_init.h.
31874 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31875 grub_probe_init.[ch] files.
31876 * conf/i386-efi.rmk: Likewise.
31877 * conf/i386-pc.rmk: Likewise.
31878 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31879 grub_setup_init.[ch] files.
31880
31881 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31882 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31883 to initialize modules rather than a list of hardcoded functions.
31884 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31885 grub_init_all() to initialize modules rather than a list of hardcoded
31886 functions.
31887
54cdc1cc 318882007-07-22 Robert Millan <rmh@aybabtu.com>
31889
31890 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31891 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31892
ad0686cc 318932007-07-22 Robert Millan <rmh@aybabtu.com>
31894
31895 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31896 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31897 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31898 flag when running on SmartFirmware.
31899 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31900 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31901 was set.
31902
31903 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31904 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31905 rather than decreasing it.
31906
31907 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31908 there's not enough space to do it, fail in the same way as when it
31909 can't be done because there are no partitions.
31910
31911 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31912 when nvsetenv failed.
31913
969c02ec 319142007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31915
31916 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31917 because this rule is automatically generated.
31918 (grub-mkrescue): Removed for the same reason as above.
31919
5a79f472 319202007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31921
31922 Migrate to GNU General Public License Version 3.
f19dbdb7 31923
5a79f472 31924 * COPYING: Replaced with the plain text version of GPLv3.
31925
31926 * config.guess: Updated from gnulib.
31927 * config.sub: Likewise.
31928
31929 * geninit.sh: Output a GPLv3 copyright notice.
31930 * geninitheader.sh: Likewise.
31931 * genmodsrc.sh: Likewise.
31932 * gensymlist.sh.in: Likewise.
31933
31934 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31935 * boot/i386/pc/diskboot.S: Likewise.
31936 * boot/i386/pc/pxeboot.S: Likewise.
31937 * commands/blocklist.c: Likewise.
31938 * commands/boot.c: Likewise.
31939 * commands/cat.c: Likewise.
31940 * commands/cmp.c: Likewise.
31941 * commands/configfile.c: Likewise.
31942 * commands/echo.c: Likewise.
31943 * commands/help.c: Likewise.
31944 * commands/ls.c: Likewise.
31945 * commands/search.c: Likewise.
31946 * commands/terminal.c: Likewise.
31947 * commands/test.c: Likewise.
31948 * commands/videotest.c: Likewise.
31949 * commands/i386/cpuid.c: Likewise.
31950 * commands/i386/pc/halt.c: Likewise.
31951 * commands/i386/pc/play.c: Likewise.
31952 * commands/i386/pc/reboot.c: Likewise.
31953 * commands/i386/pc/vbeinfo.c: Likewise.
31954 * commands/i386/pc/vbetest.c: Likewise.
31955 * commands/ieee1275/halt.c: Likewise.
31956 * commands/ieee1275/reboot.c: Likewise.
31957 * commands/ieee1275/suspend.c: Likewise.
31958 * disk/loopback.c: Likewise.
31959 * disk/lvm.c: Likewise.
31960 * disk/raid.c: Likewise.
31961 * disk/efi/efidisk.c: Likewise.
31962 * disk/i386/pc/biosdisk.c: Likewise.
31963 * disk/ieee1275/ofdisk.c: Likewise.
31964 * font/manager.c: Likewise.
31965 * fs/affs.c: Likewise.
31966 * fs/ext2.c: Likewise.
31967 * fs/fat.c: Likewise.
31968 * fs/fshelp.c: Likewise.
31969 * fs/hfs.c: Likewise.
31970 * fs/hfsplus.c: Likewise.
31971 * fs/iso9660.c: Likewise.
31972 * fs/jfs.c: Likewise.
31973 * fs/minix.c: Likewise.
31974 * fs/sfs.c: Likewise.
31975 * fs/ufs.c: Likewise.
31976 * fs/xfs.c: Likewise.
31977 * hello/hello.c: Likewise.
31978 * include/grub/acorn_filecore.h: Likewise.
31979 * include/grub/arg.h: Likewise.
31980 * include/grub/bitmap.h: Likewise.
31981 * include/grub/boot.h: Likewise.
31982 * include/grub/cache.h: Likewise.
31983 * include/grub/device.h: Likewise.
31984 * include/grub/disk.h: Likewise.
31985 * include/grub/dl.h: Likewise.
31986 * include/grub/elfload.h: Likewise.
31987 * include/grub/env.h: Likewise.
31988 * include/grub/err.h: Likewise.
31989 * include/grub/file.h: Likewise.
31990 * include/grub/font.h: Likewise.
31991 * include/grub/fs.h: Likewise.
31992 * include/grub/fshelp.h: Likewise.
31993 * include/grub/gzio.h: Likewise.
31994 * include/grub/hfs.h: Likewise.
31995 * include/grub/kernel.h: Likewise.
31996 * include/grub/loader.h: Likewise.
31997 * include/grub/lvm.h: Likewise.
31998 * include/grub/misc.h: Likewise.
31999 * include/grub/mm.h: Likewise.
32000 * include/grub/net.h: Likewise.
32001 * include/grub/normal.h: Likewise.
32002 * include/grub/parser.h: Likewise.
32003 * include/grub/partition.h: Likewise.
32004 * include/grub/pc_partition.h: Likewise.
32005 * include/grub/raid.h: Likewise.
32006 * include/grub/rescue.h: Likewise.
32007 * include/grub/script.h: Likewise.
32008 * include/grub/setjmp.h: Likewise.
32009 * include/grub/symbol.h: Likewise.
32010 * include/grub/term.h: Likewise.
32011 * include/grub/terminfo.h: Likewise.
32012 * include/grub/tparm.h: Likewise.
32013 * include/grub/types.h: Likewise.
32014 * include/grub/video.h: Likewise.
32015 * include/grub/efi/api.h: Likewise.
32016 * include/grub/efi/chainloader.h: Likewise.
32017 * include/grub/efi/console.h: Likewise.
32018 * include/grub/efi/console_control.h: Likewise.
32019 * include/grub/efi/disk.h: Likewise.
32020 * include/grub/efi/efi.h: Likewise.
32021 * include/grub/efi/pe32.h: Likewise.
32022 * include/grub/efi/time.h: Likewise.
32023 * include/grub/i386/linux.h: Likewise.
32024 * include/grub/i386/setjmp.h: Likewise.
32025 * include/grub/i386/types.h: Likewise.
32026 * include/grub/i386/efi/kernel.h: Likewise.
32027 * include/grub/i386/efi/loader.h: Likewise.
32028 * include/grub/i386/efi/time.h: Likewise.
32029 * include/grub/i386/pc/biosdisk.h: Likewise.
32030 * include/grub/i386/pc/boot.h: Likewise.
32031 * include/grub/i386/pc/chainloader.h: Likewise.
32032 * include/grub/i386/pc/console.h: Likewise.
32033 * include/grub/i386/pc/init.h: Likewise.
32034 * include/grub/i386/pc/kernel.h: Likewise.
32035 * include/grub/i386/pc/loader.h: Likewise.
32036 * include/grub/i386/pc/memory.h: Likewise.
32037 * include/grub/i386/pc/multiboot.h: Likewise.
32038 * include/grub/i386/pc/serial.h: Likewise.
32039 * include/grub/i386/pc/time.h: Likewise.
32040 * include/grub/i386/pc/vbe.h: Likewise.
32041 * include/grub/i386/pc/vbeblit.h: Likewise.
32042 * include/grub/i386/pc/vbefill.h: Likewise.
32043 * include/grub/i386/pc/vbeutil.h: Likewise.
32044 * include/grub/i386/pc/vga.h: Likewise.
32045 * include/grub/ieee1275/ieee1275.h: Likewise.
32046 * include/grub/ieee1275/ofdisk.h: Likewise.
32047 * include/grub/powerpc/libgcc.h: Likewise.
32048 * include/grub/powerpc/setjmp.h: Likewise.
32049 * include/grub/powerpc/types.h: Likewise.
32050 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
32051 * include/grub/powerpc/ieee1275/console.h: Likewise.
32052 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
32053 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32054 * include/grub/powerpc/ieee1275/loader.h: Likewise.
32055 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
32056 * include/grub/powerpc/ieee1275/time.h: Likewise.
32057 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
32058 * include/grub/sparc64/libgcc.h: Likewise.
32059 * include/grub/sparc64/setjmp.h: Likewise.
32060 * include/grub/sparc64/types.h: Likewise.
32061 * include/grub/sparc64/ieee1275/console.h: Likewise.
32062 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32063 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32064 * include/grub/sparc64/ieee1275/time.h: Likewise.
32065 * include/grub/util/biosdisk.h: Likewise.
32066 * include/grub/util/getroot.h: Likewise.
32067 * include/grub/util/lvm.h: Likewise.
32068 * include/grub/util/misc.h: Likewise.
32069 * include/grub/util/raid.h: Likewise.
32070 * include/grub/util/resolve.h: Likewise.
32071 * io/gzio.c: Likewise.
32072 * kern/device.c: Likewise.
32073 * kern/disk.c: Likewise.
32074 * kern/dl.c: Likewise.
32075 * kern/elf.c: Likewise.
32076 * kern/env.c: Likewise.
32077 * kern/err.c: Likewise.
32078 * kern/file.c: Likewise.
32079 * kern/fs.c: Likewise.
32080 * kern/loader.c: Likewise.
32081 * kern/main.c: Likewise.
32082 * kern/misc.c: Likewise.
32083 * kern/mm.c: Likewise.
32084 * kern/parser.c: Likewise.
32085 * kern/partition.c: Likewise.
32086 * kern/rescue.c: Likewise.
32087 * kern/term.c: Likewise.
32088 * kern/efi/efi.c: Likewise.
32089 * kern/efi/init.c: Likewise.
32090 * kern/efi/mm.c: Likewise.
32091 * kern/i386/dl.c: Likewise.
32092 * kern/i386/efi/init.c: Likewise.
32093 * kern/i386/efi/startup.S: Likewise.
32094 * kern/i386/pc/init.c: Likewise.
32095 * kern/i386/pc/lzo1x.S: Likewise.
32096 * kern/i386/pc/startup.S: Likewise.
32097 * kern/ieee1275/ieee1275.c: Likewise.
32098 * kern/powerpc/cache.S: Likewise.
32099 * kern/powerpc/dl.c: Likewise.
32100 * kern/powerpc/ieee1275/cmain.c: Likewise.
32101 * kern/powerpc/ieee1275/crt0.S: Likewise.
32102 * kern/powerpc/ieee1275/init.c: Likewise.
32103 * kern/powerpc/ieee1275/openfw.c: Likewise.
32104 * kern/sparc64/cache.S: Likewise.
32105 * kern/sparc64/dl.c: Likewise.
32106 * kern/sparc64/ieee1275/init.c: Likewise.
32107 * kern/sparc64/ieee1275/openfw.c: Likewise.
32108 * loader/efi/chainloader.c: Likewise.
32109 * loader/efi/chainloader_normal.c: Likewise.
32110 * loader/i386/efi/linux.c: Likewise.
32111 * loader/i386/efi/linux_normal.c: Likewise.
32112 * loader/i386/pc/chainloader.c: Likewise.
32113 * loader/i386/pc/chainloader_normal.c: Likewise.
32114 * loader/i386/pc/linux.c: Likewise.
32115 * loader/i386/pc/linux_normal.c: Likewise.
32116 * loader/i386/pc/multiboot.c: Likewise.
32117 * loader/i386/pc/multiboot_normal.c: Likewise.
32118 * loader/powerpc/ieee1275/linux.c: Likewise.
32119 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32120 * normal/arg.c: Likewise.
32121 * normal/cmdline.c: Likewise.
32122 * normal/command.c: Likewise.
32123 * normal/completion.c: Likewise.
32124 * normal/execute.c: Likewise.
32125 * normal/function.c: Likewise.
32126 * normal/lexer.c: Likewise.
32127 * normal/main.c: Likewise.
32128 * normal/menu.c: Likewise.
32129 * normal/menu_entry.c: Likewise.
32130 * normal/misc.c: Likewise.
32131 * normal/parser.y: Likewise.
32132 * normal/script.c: Likewise.
32133 * normal/i386/setjmp.S: Likewise.
32134 * normal/powerpc/setjmp.S: Likewise.
32135 * normal/sparc64/setjmp.S: Likewise.
32136 * partmap/acorn.c: Likewise.
32137 * partmap/amiga.c: Likewise.
32138 * partmap/apple.c: Likewise.
32139 * partmap/gpt.c: Likewise.
32140 * partmap/pc.c: Likewise.
32141 * partmap/sun.c: Likewise.
32142 * term/gfxterm.c: Likewise.
32143 * term/terminfo.c: Likewise.
32144 * term/efi/console.c: Likewise.
32145 * term/i386/pc/console.c: Likewise.
32146 * term/i386/pc/serial.c: Likewise.
32147 * term/i386/pc/vesafb.c: Likewise.
32148 * term/i386/pc/vga.c: Likewise.
32149 * term/ieee1275/ofconsole.c: Likewise.
32150 * util/biosdisk.c: Likewise.
32151 * util/console.c: Likewise.
32152 * util/genmoddep.c: Likewise.
32153 * util/getroot.c: Likewise.
32154 * util/grub-emu.c: Likewise.
32155 * util/grub-mkdevicemap.c: Likewise.
32156 * util/grub-probe.c: Likewise.
32157 * util/lvm.c: Likewise.
32158 * util/misc.c: Likewise.
32159 * util/raid.c: Likewise.
32160 * util/resolve.c: Likewise.
32161 * util/update-grub.in: Likewise.
32162 * util/update-grub_lib.in: Likewise.
32163 * util/grub.d/00_header.in: Likewise.
32164 * util/grub.d/10_hurd.in: Likewise.
32165 * util/grub.d/10_linux.in: Likewise.
32166 * util/i386/efi/grub-install.in: Likewise.
32167 * util/i386/efi/grub-mkimage.c: Likewise.
32168 * util/i386/pc/grub-install.in: Likewise.
32169 * util/i386/pc/grub-mkimage.c: Likewise.
32170 * util/i386/pc/grub-mkrescue.in: Likewise.
32171 * util/i386/pc/grub-setup.c: Likewise.
32172 * util/i386/pc/misc.c: Likewise.
32173 * util/powerpc/ieee1275/grub-install.in: Likewise.
32174 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
32175 * util/powerpc/ieee1275/misc.c: Likewise.
32176 * video/bitmap.c: Likewise.
32177 * video/video.c: Likewise.
32178 * video/i386/pc/vbe.c: Likewise.
32179 * video/i386/pc/vbeblit.c: Likewise.
32180 * video/i386/pc/vbefill.c: Likewise.
32181 * video/i386/pc/vbeutil.c: Likewise.
32182 * video/readers/tga.c: Likewise.
32183
3572d015 321842007-07-02 Robert Millan <rmh@aybabtu.com>
32185
32186 * conf/i386-efi.rmk: Replace obsolete reference to
32187 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
32188 with util/getroot.c.
32189 * conf/powerpc-ieee1275.rmk: Likewise.
32190 * conf/sparc64-ieee1275.rmk: Likewise.
32191
32192 * util/grub-emu.c (main): Fix unchecked pointer handling.
32193
2c2a681b 321942007-07-02 Robert Millan <rmh@aybabtu.com>
32195
32196 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
32197 invocation to fail, in order to support partition-less media.
32198
32199 * util/i386/pc/grub-install.in: Likewise.
32200
32201 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
32202 which fs or partmap modules are needed (akin to its sister scripts).
32203
32204 Also use grub-probe to get rid of unportable /proc/mounts check.
32205
32206 Print the same informational message that the other scripts do, before
fe6b695a 32207 exiting.
2c2a681b 32208
6193defe 322092007-06-23 Robert Millan <rmh@aybabtu.com>
32210
fe6b695a 32211 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 32212 a font file can be found and, if so, echo the GRUB path to it.
32213
32214 * util/update-grub.in: Handle multiple terminals depending on user
32215 input, platform availability and font file presence. Propagate
32216 variables of our findings to /etc/grub.d/ children.
32217
32218 * util/grub.d/00_header.in: Handle multiple terminals, based on
32219 environment setup by update-grub.
32220
eface1dc 322212007-06-23 Robert Millan <rmh@aybabtu.com>
32222
ba50d28f 32223 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 32224
bf697e28 322252007-06-21 Robert Millan <rmh@aybabtu.com>
32226
32227 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
32228 indicate end of data section in kernel image.
32229 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
32230 GRUB_KERNEL_MACHINE_DATA_END.
32231
32232 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
32233 space for it.
32234 * kern/i386/efi/startup.S: Likewise.
32235
32236 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
32237 during image generation. Implement --prefix option to override this
32238 patch.
32239 * util/i386/efi/grub-mkimage.c: Likewise.
32240
32241 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
32242 code to make path relative to its root into a separate function.
32243
32244 * util/i386/pc/grub-install.in: Use newly provided
32245 make_system_path_relative_to_its_root() to convert ${grubdir}, then
32246 pass the result to grub-install --prefix.
32247
baa574b4 322482007-06-13 Robert Millan <rmh@aybabtu.com>
32249
32250 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
32251 DEFAULT_DEVICE_MAP.
32252 * util/grub-emu.c: Use above definitions from misc.h instead of
32253 defining them.
32254 * util/grub-mkdevicemap.c: Likewise.
32255 * util/i386/pc/grub-setup.c: Likewise.
32256 * util/grub-probe.c: Likewise.
32257 (probe): Abort with grub_util_error() when either
32258 grub_guess_root_device or grub_util_get_grub_dev fails.
32259
0215dcbf 322602007-06-12 Robert Millan <rmh@aybabtu.com>
32261
32262 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
32263 "pager" assignment.
32264 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
32265 "pcdata".
32266 * util/grub-probe.c (probe): Likewise for "drive_name".
32267
8af2ab7b 322682007-06-11 Robert Millan <rmh@aybabtu.com>
32269
32270 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
32271 not just the cdrom one.
32272
59d31694 322732007-06-11 Robert Millan <rmh@aybabtu.com>
32274
32275 * util/i386/pc/grub-mkrescue.in: Add "set -e".
32276 Add --pkglibdir=DIR option to override pkglibdir.
32277 Mention --image-type=TYPE in help output.
32278 Fix --grub-mkimage (it was a no-op).
fe6b695a 32279 Abort gracefully when no parameter is given.
59d31694 32280
7ee367e4 322812007-06-11 Robert Millan <rmh@aybabtu.com>
32282
32283 * util/i386/pc/grub-mkrescue.in: New file.
32284 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
32285 * Makefile.in: Handle bin_SCRIPTS.
32286
29b0ed46 322872007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
32288
32289 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
32290 list of video modes.
32291
c0f90770 322922007-06-06 Robert Millan <rmh@aybabtu.com>
32293
32294 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
32295 file doesn't exist, or if it is in a filesystem grub can't read.
32296
32297 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
32298 not abort if GRUB_DRIVE could not be defined. Rearrange generated
32299 header comment to fit in 80 columns when the variables are resolved.
32300
32301 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
32302 could be identified by update-grub. Remove redundant check for
fe6b695a 32303 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 32304 handles that).
32305
fb36dc26 323062007-06-04 Robert Millan <rmh@aybabtu.com>
32307
32308 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
32309
32310 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
32311
32312 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
32313
0c68c93e 323142007-06-04 Robert Millan <rmh@aybabtu.com>
32315
32316 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
32317
32318 * include/grub/partition.h: Declare grub_apple_partition_map_init and
32319 grub_apple_partition_map_fini.
32320
32321 * util/biosdisk.c
32322 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
32323 to access >2 TiB disks).
32324
32325 Print disk->total_sectors with %llu instead of %lu, since this
32326 variable is always 64-bit (prevents wrong disk size from being displayed
32327 on either >2 TiB disk or big-endian CPU).
32328
32329 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
32330 into a generic case that supports all (sane) partition maps.
32331
32332 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
32333 breaks big-endian.
32334
32335 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
32336 and grub_apple_partition_map_fini() after that.
32337
0f23eb74 323382007-06-01 Robert Millan <rmh@aybabtu.com>
32339
32340 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
32341
32342 * util/grub.d/00_header.in: Only enable gfxterm when
32343 convert_system_path_to_grub_path() succeeds.
32344
42c71976 323452007-05-20 Robert Millan <rmh@aybabtu.com>
32346
32347 * util/update-grub_lib.in: New file.
32348 * DISTLIST: Add update-grub_lib.in.
32349 * conf/common.rmk: Generate update-grub_lib and install it in
32350 $(lib_DATA).
32351 * Makefile.in: Add install routine for $(lib_DATA).
32352
32353 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
32354 function provided by update-grub_lib to support arbitrary paths of
32355 unifont.pff.
32356 * util/update-grub.in: Use convert_system_path_to_grub_path() to
32357 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
32358
5beb2291 323592007-05-19 Robert Millan <rmh@aybabtu.com>
32360
32361 * commands/i386/cpuid.c: New module.
32362 * DISTLIST: Add it.
32363 * conf/i386-efi.rmk: Enable cpuid.mod.
32364 * conf/i386-pc.rmk: Likewise.
32365
7262eca1 323662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32367
32368 * kern/disk.c (grub_disk_read): Check return value of
32369 grub_realloc().
32370
260ba823 323712007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32372
32373 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
32374 arrays.
32375 * disk/raid.c (grub_raid_open): Likewise.
32376
1ecb6cf2 323772007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32378
32379 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
32380 stack instead of on the heap.
32381
32382 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
32383 before doing a read on it.
32384
32385 * configure.ac: Only use -fno-stack-protector for the target
32386 environment.
f19dbdb7 32387
21c8cbb1 323882007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32389
32390 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
32391 __attribute_ ((unused)) to mode_type argument.
32392
32393 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 32394
21c8cbb1 32395 * kern/misc.c (memcmp): Fix prototype.
32396
32397 * include/grub/partition.h [GRUB_UTIL]
32398 (grub_gpt_partition_map_init): Add prototype.
32399 (grub_gpt_partition_map_fini): Likewise.
32400
32401 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
32402 at the right place.
32403
32404 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
32405 (grub_fat_read_data): Likewise.
32406 (grub_fat_find_dir): Likewise.
32407
32408 * font/manager.c (find_glyph): Make table a const.
32409 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 32410
849d55d3 324112007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
32412
32413 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
32414 code, first search for device in /dev/mapper, then in /dev.
32415 (grub_util_get_grub_dev): New function.
32416 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
32417 prototype.
32418 * util/grub-probe.c (probe): Remove check for RAID, call
32419 grub_util_get_grub_dev() instead of
32420 grub_util_biosdisk_get_grub_dev().
32421 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
32422 grub_util_biosdisk_get_grub_dev().
32423 * util/i386/pc/grub-setup.c (main): Likewise.
32424
8fff7c2f 324252007-05-16 Robert Millan <rmh@aybabtu.com>
32426
32427 * DISTLIST: Update for the latest changes.
32428 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
32429 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
32430 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
32431 grub/util/biosdisk.h.
32432 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
32433 grub/util/biosdisk.h.
32434
48e12b52 324352007-05-16 Robert Millan <rmh@aybabtu.com>
32436
32437 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
32438
46b9d128 324392007-05-16 Robert Millan <rmh@aybabtu.com>
32440
32441 * util/i386/efi/grub-install.in: New.
32442 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
32443 newly added grub-install.
32444 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
32445 include.
32446 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
32447 grub/util/biosdisk.h.
32448 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
32449 grub/util/biosdisk.h.
32450
2d1a40a9 324512007-05-16 Robert Millan <rmh@aybabtu.com>
32452
32453 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
32454 * include/grub/util/biosdisk.h: ... here.
32455 * util/i386/pc/biosdisk.c: Moved to ...
32456 * util/biosdisk.c: ... here.
32457 * util/i386/pc/getroot.c: Moved to ...
32458 * util/getroot.c: ... here.
32459 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
32460 * util/grub-mkdevicemap.c: ... here.
32461 * util/i386/pc/grub-probe.c: Moved to ...
32462 * util/grub-probe.c: ... here.
32463
9e26e3bc 324642007-05-15 Robert Millan <rmh@aybabtu.com>
32465
32466 * util/update-grub.in: Remove duplicated line in grub.cfg header
32467 message.
32468
57f96397 324692007-05-13 Robert Millan <rmh@aybabtu.com>
32470
32471 * util/update-grub.in: Fix a few assumptions about the devices holding
32472 /, /boot and /boot/grub being the same.
32473 * util/grub.d/00_header.in: Likewise.
32474 * util/grub.d/10_hurd.in: Likewise.
32475 * util/grub.d/10_linux.in: Likewise.
32476
32477 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
32478 patterns. Use that to define the `.old' suffix as older than `'.
32479
32480 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
32481
32482 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
32483 the grub.cfg header message.
32484
2e610d62 324852007-05-11 Robert Millan <rmh@aybabtu.com>
32486
32487 * util/update-grub.in: Create device.map if it doesn't already exist,
32488 before attempting to run grub-probe.
32489 Check for grub-probe and grub-mkdevicemap with the same code
32490 grub-install is using.
32491 Remove test mode.
32492
3f6a10ef 324932007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
32494
32495 * Makefile.in: Add the datarootdir autoconf variable.
32496
02e7b75e 324972007-05-09 Robert Millan <rmh@aybabtu.com>
32498
32499 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 32500 fail gracefully if dev->disk->partition == NULL.
02e7b75e 32501
75f396cc 325022007-05-07 Robert Millan <rmh@aybabtu.com>
32503
32504 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
32505 determine partition map module.
32506 * util/i386/pc/grub-install.in: Use this feature to decide which
32507 partition module to load, instead of hardcoding pc and gpt.
32508
da65cb36 325092007-05-07 Robert Millan <rmh@aybabtu.com>
32510
32511 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
32512 source directory differs from build directory.
32513
b57d6a91 325142007-05-05 Robert Millan <rmh@aybabtu.com>
32515
32516 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
32517 initialisation.
32518
509d00f1 325192007-05-05 Robert Millan <rmh@aybabtu.com>
32520
32521 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
32522
c48f23ef 325232007-05-05 Robert Millan <rmh@aybabtu.com>
32524
32525 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
32526 command-line arguments via ${GRUB_CMDLINE_LINUX}.
32527
20b97658 325282007-05-05 Robert Millan <rmh@aybabtu.com>
32529
32530 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
32531 (grub_probe_SOURCES): Likewise.
32532 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
32533 GPT and initialize dos_part and bsd_part accordingly.
32534 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
32535 install_bsd_part.
32536 (main): Activate gpt module for use during partition identification,
32537 and deactivate it afterwards.
32538 * util/i386/pc/grub-install.in: Add gpt module to core.img.
32539 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
32540 partition identification, and deactivate it afterwards.
32541
99123174 325422007-05-05 Robert Millan <rmh@aybabtu.com>
32543
32544 * term/i386/pc/console.c (grub_console_fini): Call
32545 grub_term_set_current() before grub_term_unregister().
32546
ebd97f6e 325472007-05-04 Robert Millan <rmh@aybabtu.com>
32548
32549 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
32550 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
32551 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
32552 and update-grub_DATA.
32553 * conf/common.rmk: Build and install update-grub components.
32554 * conf/common.mk: Regenerate.
32555 * util/update-grub.in: New. Core of update-grub.
32556 * util/grub.d/00_header.in: New. Generates grub.cfg header.
32557 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
32558 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
32559 * util/grub.d/README: New. Document grub.d directory layout.
32560
b06a264d 325612007-05-01 Robert Millan <rmh@aybabtu.com>
32562
32563 * util/grub-emu.c: Move initialization functions
32564 grub_util_biosdisk_init() and grub_init_all() before
32565 grub_util_biosdisk_get_grub_dev(), which relies on them.
32566
41f0050e 325672007-04-19 Robert Millan <rmh@aybabtu.com>
32568
32569 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
32570 it is used later.
32571
04582bb3 325722007-04-18 Jerone Young <jerone@gmail.com>
32573
f19dbdb7 32574 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 32575 stanza.
32576
08db4632 325772007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 32578
08db4632 32579 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
32580 continue on and look for device node with real device name.
32581
801b76be 325822007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 32583
fe6b695a 32584 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 32585 ability.
32586 * Makefile.in: Add autoconf package transformation code.
32587 * util/i386/pc/grub-install.in: Likewise.
32588 * util/powerpc/ieee1275/grub-install.in: Likewise.
32589
6795c4e1 325902007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32591
32592 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
32593 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
32594 (EXT2_REVISION): Likewise.
32595 (EXT2_INODE_SIZE): Likewise.
32596 (struct grub_ext2_block_group): Added a missing member
32597 "used_dirs".
32598 (grub_ext2_read_inode): Divide by the inode size in a superblock
32599 instead of 128 to obtain INODES_PER_BLOCK.
32600 Use the macro EXT2_INODE_SIZE instead of directly using
32601 SBLOCK->INODE_SIZE.
32602
d70af616 326032007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32604
32605 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
32606 superblock instead of the structure size to compute an
32607 offset. This fixes the problem that GRUB could not read a
32608 filesystem when inode size is different from 128-byte.
32609
3b801603 326102007-03-05 Marco Gerards <marco@gnu.org>
32611
32612 * normal/main.c (read_config_file): When "menu" is not set, create
32613 an initial context.
32614
4785bfe4 326152007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32616
32617 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
32618 (HEAP_LIMIT): New macro.
32619 (grub_claim_heap): Claim memory up to `heaplimit'.
32620
a0cbb023 326212007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32622
32623 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
32624 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
32625 (_start): Likewise.
32626 (grub_arch_modules_addr): Return address after `_end'.
32627 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
32628 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
32629 (add_segments): Calculate `_end' from phdr size and location.
32630 (ALIGN_UP): Moved to ...
32631 * include/grub/misc.h: here.
32632 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32633 New macro.
32634 (GRUB_IEEE1275_MODULE_BASE): Removed.
32635
fd7d8eba 326362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32637
32638 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
32639 loop boundary.
32640
9b09e6fc 326412007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32642
32643 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
32644 All users updated.
32645 (grub_elf64_load_hook_t): Likewise.
32646 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
32647 debug output.
32648
3ce27299 326492007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32650
32651 * kern/mm.c: Update copyright.
32652 (grub_mm_debug): Correct syntax error.
32653 (grub_mm_dump_free): New function.
32654 (grub_debug_free): Call `grub_free'.
32655 * include/grub/mm.h: Update copyright.
32656 (grub_mm_dump_free): Add declaration.
32657
077d5fee 326582007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32659
32660 * include/grub/ieee1275/ieee1275.h: Update copyright.
32661 * kern/powerpc/ieee1275/init.c: Likewise.
32662 * kern/powerpc/ieee1275/openfw.c: Likewise.
32663
32664 * loader/powerpc/ieee1275/linux.c: Likewise.
32665 * include/grub/elfload.h: Likewise.
32666 * kern/elf.c: Likewise.
32667 (grub_elf32_load): Pass `base' and `size' parameters. Update all
32668 callers.
32669 (grub_elf64_load): Likewise.
32670 (grub_elf32_load_segment): Move to a nested function.
32671 (grub_elf64_load_segment): Likewise.
32672
dc946850 326732007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32674
32675 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
32676 prototype.
32677 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
32678 (grub_heap_len): Likewise.
32679 (HEAP_SIZE): New macro.
32680 (grub_claim_heap): New function.
32681 (grub_machine_init): Don't claim heap directly. Call
32682 `grub_claim_heap'.
32683 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
32684 (grub_available_iterate): New function.
32685
baa2a121 326862007-02-03 Thomas Schwinge <tschwinge@gnu.org>
32687
32688 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
32689 * configure.ac: Use it for testing the HOST and TARGET compilers.
32690
4fe9862e 326912006-12-13 Thomas Schwinge <tschwinge@gnu.org>
32692
32693 * Makefile.in (enable_grub_emu): New variable.
32694 * configure.ac (--enable-grub-emu): New option.
32695 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
32696 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
32697 * conf/i386-pc.rmk: Likewise.
32698 * conf/powerpc-ieee1275.rmk: Likewise.
32699 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32700
a8aa5762 327012006-12-12 Marco Gerards <marco@gnu.org>
32702
32703 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32704
32705 * kern/env.c (grub_env_unset): Don't free the member `value' when
32706 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32707 pointer.
32708
32709 * normal/main.c (current_menu): Removed.
32710 (free_menu): Unset the `menu' environment variable.
32711 (grub_normal_menu_addentry): Make use of the environment variable
32712 `menu', instead of using the global `current_menu'. Allocate
32713 memory for the sourcecode of this entry.
32714 (read_config_file): New argument `nested', changed all callers.
32715 Only in the case of a new context, initialize a new menu. Set the
32716 `menu' environment variable.
32717 (grub_normal_execute): Don't set and unset the environment
32718 variable `menu' here anymore. Only free the menu when leaving the
32719 context.
32720
32721 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32722 leak.
32723
957b3a3e 327242006-12-11 Marco Gerards <marco@gnu.org>
32725
32726 * normal/menu_entry.c (run): Fix off by one bug so the last line
32727 is executed. Move the loader check to outside the loop.
32728
ef875714 327292006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32730
32731 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32732
4e739985 327332006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32734
32735 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32736 the number of sectors. Reported by Andrey Shuvikov
32737 <mr_hyro@yahoo.com>.
f19dbdb7 32738
790707f2 327392006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32740
32741 * kern/disk.c (grub_disk_read): When there is a read error, always
32742 try to read only the necessary data.
f19dbdb7 32743
790707f2 32744 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32745 disk/raid.c.
32746 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32747 prototype.
32748 [GRUB_UTIL] (grub_raid_fini): Likewise.
32749 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32750 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32751 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32752 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32753 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32754 and grub_raid_fini().
f19dbdb7 32755
03e58196 327562006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32757
32758 * include/grub/types.h (__unused): Rename to UNUSED.
32759 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32760 (grub_elf64_size): Likewise.
f19dbdb7 32761
ae4f23bf 327622006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32763
32764 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32765 grub_error_push and grub_error_pop in the error-handling path.
32766 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32767 length.
32768
2166cc83 327692006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32770
32771 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32772 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32774 (kernel_elf_SOURCES): Likewise.
32775 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32776 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32777 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32778 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32779 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32780 (elf_mod_SOURCES): New variable.
32781 (elf_mod_CFLAGS): Likewise.
32782 (elf_mod_LDFLAGS): Likewise.
32783 * include/grub/types.h (__unused): New macro.
32784 * include/grub/elfload.h: New file.
32785 * kern/elf.c: Likewise.
32786 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32787 (ELF32_LOADMASK): New macro.
32788 (ELF64_LOADMASK): Likewise.
32789 (vmlinux): Removed.
32790 (grub_linux_load32): New function.
32791 (grub_linux_load64): Likewise.
32792 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32793 Use grub_elf_t instead of grub_file_t.
32794
a09d5aa5 327952006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32796
32797 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32798 `catch_result' to struct set_color_args.
32799
d976fc51 328002006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32801
32802 * normal/menu.c: Include grub/script.h.
32803 * normal/menu_entry.c: Likewise.
32804 * include/grub/normal.h: Do not include grub/script.h.
32805
67507549 328062006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32807
32808 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32809
69203a99 328102006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32811
32812 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32813 disk.
32814 (grub_disk_close): Print debug messages when closing a disk.
32815 (grub_disk_read): Print debug messages when disk read fails.
32816 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32817 filesystem type.
32818 * kern/partition.c: Include misc.h.
32819 (grub_partition_iterate): Print debug messages when detecting
32820 partition type.
32821
e2b8278c 328222006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32823
32824 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32825 is negative.
32826 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32827
97b2f2ff 328282006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32829
32830 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32831 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32832
6555d655 328332006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32834
32835 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32836 instead of sizeof(lv). Patch by Michael Guntsche.
32837
4d42b77f 328382006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32839
32840 * disk/lvm.c: Rename VGS to VG_LIST.
32841 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32842 (grub_lvm_open): Likewise.
32843 Thanks to Michael Guntsche for finding this bug.
32844
5d74d927 328452006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32846
32847 * configure.ac (AC_INIT): Bumped to 1.95.
32848
a1bb27e4 328492006-10-14 Robert Millan <rmh@aybabtu.com>
32850
32851 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32852 with "/dev/.static/dev/md".
32853
e0994b8b 328542006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32855
32856 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32857 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32858 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32859 DRIVE_NAME are always freed.
32860
32861 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32862 DOS_PART, as a DOS partition is counted from one instead of zero
32863 now. Reported by Robert Millan.
32864
ddd5cee9 328652006-10-14 Robert Millan <rmh@aybabtu.com>
32866
32867 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32868 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32869 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32870 string returned by grub_guess_root_device.
32871 * util/i386/pc/grub-setup.c: Likewise.
32872 * util/i386/pc/grub-probefs.c: Likewise.
32873
32874 * util/i386/pc/grub-probefs.c: Rename to ...
32875 * util/i386/pc/grub-probe.c: ... this.
32876 * DISTLIST: Remove grub-probefs, add grub-probe.
32877 * conf/i386-efi.rmk: Likewise.
32878 * conf/i386-pc.rmk: Likewise.
32879 * util/i386/pc/grub-install.in: Likewise.
32880
32881 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32882 choose which information we want to print.
32883
2b002173 328842006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32885
32886 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32887 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32888 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32889 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32890 video/readers/tga.c and video/i386/pc/vbeutil.c.
32891
328922006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32893
32894 Added support for RAID and LVM.
f19dbdb7 32895
2b002173 32896 * disk/lvm.c: New file.
32897 * disk/raid.c: Likewise.
32898 * include/grub/lvm.h: Likewise.
f19dbdb7 32899 * include/grub/raid.h: Likewise.
2b002173 32900 * include/grub/util/lvm.h: Likewise.
32901 * include/grub/util/raid.h: Likewise.
32902 * util/lvm.c: Likewise.
32903 * util/raid.c: Likewise.
32904
32905 * include/grub/disk.h (grub_disk_dev_id): Add
32906 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32907 (grub_disk_get_size): New prototype.
32908 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32909 returns a partition.
32910 (grub_disk_get_size): New function.
f19dbdb7 32911
2b002173 32912 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32913 verbatim if grub_install_dos_part is -2.
32914
32915 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32916 and LVM devices.
32917
32918 * util/i386/pc/grub-setup.c (setup): New argument
32919 MUST_EMBED. Force embedding of GRUB when the argument is
32920 true. Close FILE before returning.
32921 (main): Add support for RAID and LVM.
f19dbdb7 32922
2b002173 32923 * conf/common.rmk: Add RAID and LVM modules.
32924 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32925 util/lvm.c.
32926 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32927
32928 * kern/misc.c (grub_strstr): New function.
32929 * include/grub/misc.h (grub_strstr): New prototype.
32930
050548d0 329312006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32932
32933 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32934
da849d2d 329352006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32936
32937 * kern/misc.c (grub_strtoull): Guess the base only if not
32938 specified.
32939
97b2f2ff 329402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32941
32942 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32943 PowerMac support.
32944
97b2f2ff 329452006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32946
32947 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32948
32949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32950 Remove `flags' argument. All callers changed.
32951 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32952 (IEEE1275_IHANDLE_INVALID): New variable.
32953 (IEEE1275_CELL_INVALID): New variable.
32954 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32955 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32956 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32957 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32958 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32959 codes from Open Firmware. All callers updated.
32960 (grub_ieee1275_next_property): Directly return Open Firmware return
32961 code.
32962 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32963 Standardize error checking from `grub_ieee1275_get_property'.
32964 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32965 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32966
97b2f2ff 329672006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32968
32969 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32970 `instance_to_package_args' to `instance_to_path_args'.
32971
32972 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32973 `grub_ieee1275_chosen'.
32974
32975 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32976 `grub_ieee1275_interpret'.
32977
97b2f2ff 329782006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32979
32980 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32981
97b2f2ff 329822006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32983
32984 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32985 (__cmpdi): Likewise.
32986
32987 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32988 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32989 `grub_ssize_t'.
32990
02bb8acc 32991 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32992
32993 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32994 to type `grub_ssize_t'.
32995 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32996
7f9a8531 329972006-09-22 Marco Gerards <marco@gnu.org>
32998
32999 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33000 newlines.
33001
b5ef1102 330022006-09-22 Marco Gerards <marco@gnu.org>
33003
33004 * commands/echo.c: New file.
33005
33006 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33007
33008 * conf/common.rmk (echo_mod_SOURCES): New variable.
33009 (echo_mod_CFLAGS): Likewise.
33010 (echo_mod_LDFLAGS): Likewise.
33011
2cff3677 330122006-09-22 Marco Gerards <marco@gnu.org>
33013
33014 * normal/main.c (get_line): Malloc memory instead of using
33015 preallocated memory. Removed the arguments `cmdline' and
33016 `max_len'. Updated all callers.
33017
6ba4688b 330182006-09-22 Marco Gerards <marco@gnu.org>
33019
33020 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
33021 (normal_mod_DEPENDENCIES): Likewise.
33022
33023 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
33024 (normal_mod_DEPENDENCIES): Likewise.
33025
33026 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
33027
e02ac02c 330282006-09-22 Johan Rydberg <jrydberg@gnu.org>
33029
33030 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
33031 programs.
33032 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
33033 (normal_mod_DEPENDENCIES): Likewise.
33034 * conf/i386-pc.mk: Regenerate.
33035 * conf/i386-efi.mk: Likewise
33036 * conf/common.mk: Likewise.
33037 * conf/powerpc-ieee1275.mk: Likewise.
33038 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33039
8d252e44 330402006-09-22 Robert Millan <rmh@aybabtu.com>
33041
33042 Sync with i386 version.
33043 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
33044 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
33045
209bf7ac 330462006-09-21 Robert Millan <rmh@aybabtu.com>
33047
33048 Import from GRUB Legacy (lib/device.c):
33049 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
33050 (init_device_map) [__linux__]: Add support for I2O devices.
33051
6b146090 330522006-09-14 Marco Gerards <marco@gnu.org>
33053
33054 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
33055 `-melf_i386'.
33056
e38600a8 330572006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 33058
33059 * util/i386/pc/grub-install.in: Skip menu.lst when removing
33060 /boot/grub/*.lst.
78fa1790 33061
2952da5d 33062 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 33063
2952da5d 33064 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
33065 before adding it to device.map.
33066
01b82a64 330672006-08-15 Johan Rydberg <jrydberg@gnu.org>
33068
fe6b695a 33069 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 33070 compiles a file; using the -MD option.
33071 * conf/common.mk: Regenerate.
33072 * conf/i386-pc.mk: Likewise.
33073 * conf/i386-efi.mk: Likewise.
33074 * conf/powerpc-ieee1275.mk: Likewise.
33075 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33076
1064790d 330772006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
33078
33079 Move the prototypes of grub_setjmp and grub_longjmp to
33080 cpu/setjmp.h, so that each architecture may specify different
33081 attributes.
f19dbdb7 33082
1064790d 33083 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
33084 (grub_longjmp): Likewise.
33085 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
33086 (grub_longjmp): Likewise.
33087 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
33088 (grub_longjmp): Likewise.
33089
33090 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
33091 [!GRUB_UTIL] (grub_longjmp): Removed.
33092
29dda3ed 330932006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
33094
33095 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
33096 "color!" method does not return any value.
33097
ad2a06ed 330982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33099
33100 * include/grub/bitmap.h: New file.
33101
33102 * include/grub/i386/pc/vbeutil.h: Likewise.
33103
33104 * video/bitmap.c: Likewise.
33105
33106 * video/readers/tga.c: Likewise.
33107
33108 * video/i386/pc/vbeutil.c: Likewise.
33109
33110 * commands/videotest.c: Code cleanup and updated to reflect to new
33111 video API.
33112
33113 * term/gfxterm.c: Likewise.
33114
33115 * video/video.c: Likewise.
33116
33117 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
33118 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
33119 (bitmap_mod_SOURCES): New entry.
33120 (bitmap_mod_CFLAGS): Likewise.
33121 (bitmap_mod_LDFLAGS): Likewise.
33122 (tga_mod_SOURCES): Likewise.
33123 (tga_mod_CFLAGS): Likewise.
33124 (tga_mod_LDFLAGS): Likewise.
33125
33126 * include/grub/video.h (grub_video_blit_operators): New enum type.
33127 (grub_video_render_target): Changed as forward declaration and moved
33128 actual definition to be video driver specific.
33129 (grub_video_adapter.blit_bitmap): Added blitting operator.
33130 (grub_video_adapter.blit_render_target): Likewise.
33131 (grub_video_blit_bitmap): Likewise.
33132 (grub_video_blit_render_target): Likewise.
33133
33134 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
33135 driver specific render target definition.
33136 (grub_video_vbe_map_rgba): Added driver internal helper.
33137 (grub_video_vbe_unmap_color): Updated to use
33138 grub_video_i386_vbeblit_info.
33139 (grub_video_vbe_get_video_ptr): Likewise.
33140
33141 * include/grub/i386/pc/vbeblit.h
33142 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
33143 grub_video_i386_vbeblit_info.
33144 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33145 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33146 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33147 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33148 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33149 (grub_video_i386_vbeblit_index_index): Likewise.
33150 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
33151 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33152 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33153 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
33154 operator.
33155 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
33156 operator.
33157
33158 * video/i386/pc/vbeblit.c: Updated to reflect changes on
33159 include/grub/i386/pc/vbeblit.h.
33160
33161 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
33162 Updated to use grub_video_i386_vbeblit_info.
33163 (grub_video_i386_vbefill_R8G8B8): Likewise.
33164 (grub_video_i386_vbefill_index): Likewise.
33165 (grub_video_i386_vbefill): Added generic filler.
33166
33167 * video/i386/pc/vbefill.c: Updated to reflect changes on
33168 include/grub/i386/pc/vbefill.h.
33169
33170 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
33171 grub_video_i386_vbeblit_info.
33172 (grub_video_vbe_unmap_color): Likewise.
33173 (grub_video_vbe_blit_glyph): Likewise.
33174 (grub_video_vbe_scroll): Likewise.
33175 (grub_video_vbe_draw_pixel): Removed function.
33176 (grub_video_vbe_get_pixel): Likewise.
33177 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
33178 updated code to use it.
33179 (common_blitter): Added common blitter for render target and bitmap.
33180 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
33181 (grub_video_vbe_blit_render_target): Likewise.
33182
bc8c036d 331832006-07-30 Johan Rydberg <jrydberg@gnu.org>
33184
33185 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
33186 is in text mode if there is no console control protocol instance
33187 available.
33188
684a8eff 331892006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33190
33191 * include/grub/video.h: Code cleanup.
33192
33193 * include/grub/i386/pc/vbe.h: Likewise.
33194
33195 * video/i386/pc/vbe.c: Likewise.
33196
33197 * video/i386/pc/vbeblit.c: Likewise.
33198
33199 * video/i386/pc/vbefill.c: Likewise.
33200
33201 * video/video.c: Likewise. Also added more comments.
33202
5915059b 332032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33204
33205 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
33206 (struct grub_biosdisk_dap): Likewise.
33207
33208 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
33209 linkage settings for all functions.
33210
90ce5d56 332112006-07-12 Marco Gerards <marco@gnu.org>
33212
33213 * configure.ac (--enable-mm-debug): Fix typo.
33214
33215 * genkernsyms.sh.in: Use proper quoting for `CC'.
33216
43e7f879 332172006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
33218
33219 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
33220 (normal_mod_ASFLAGS): Remove "-m32".
33221
4889bdec 332222006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
33223
33224 * util/misc.c: Include config.h.
33225 [!HAVE_MEMALIGN]: Do not include malloc.h.
33226 (grub_memalign): Use posix_memalign, if present. Then, use
33227 memalign, if present. Otherwise, emit an error.
33228
33229 * util/grub-emu.c: Do not include malloc.h.
33230
33231 * include/grub/util/misc.h: Include unistd.h. This is required for
33232 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
33233 D. Eades III <hde@foobar-qux.org>.
33234
33235 * configure.ac (AC_GNU_SOURCE): Added.
33236 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
33237 type.
33238
fd39d4da 332392006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
33240
33241 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
33242 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
33243
b786f3b5 332442006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
33245
33246 * include/grub/types.h (grub_host_addr_t): Rename to
33247 grub_target_addr_t.
33248 (grub_host_off_t): Rename to grub_target_off_t.
33249 (grub_host_size_t): Rename to grub_target_size_t.
33250 (grub_host_ssize_t): Rename to grub_target_ssize_t.
33251 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
33252
33253 * include/grub/kernel.h (struct grub_module_header): Change type
33254 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
33255 (grub_module_info): Likewise.
f19dbdb7 33256
051988bb 332572006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
33258
33259 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
33260 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
33261 Velazquez <jesus.velazquez@gmail.com>.
33262
deae281b 332632006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
33264
33265 Count partitions from 1 instead of 0 in the string representation
33266 of partitions. Still use 0-based internally.
f19dbdb7 33267
deae281b 33268 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
33269 (sun_partition_map_iterate): Use grub_partition_t instead of
33270 struct grub_partition *. Cast DESC->START_CYLINDER to
33271 grub_uint64_t after converting the endian.
33272 (sun_partition_map_probe): Subtract 1 for PARTNUM.
33273 (sun_partition_map_get_name): Add 1 to P->INDEX.
33274
33275 * partmap/pc.c (grub_partition_parse): Subtract 1 for
33276 PCDATA->DOS_PART.
33277 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
33278
33279 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
33280 zero instead of one.
33281 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
33282 (gpt_partition_map_get_name): Add 1 into P->INDEX.
33283
33284 * partmap/apple.c (apple_partition_map_iterate): Change the type
33285 of POS to unsigned.
33286 (apple_partition_map_probe): Subtract 1 for PARTNUM.
33287 (apple_partition_map_get_name): Add 1 into P->INDEX.
33288
33289 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
33290 of POS to unsigned.
33291 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
33292 calculate the offset of a partition.
33293 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
33294 (amiga_partition_map_get_name): Add 1 into P->INDEX.
33295
33296 * partmap/acorn.c (acorn_partition_map_find): Change the type of
33297 SECTOR to grub_disk_addr_t.
33298 (acorn_partition_map_iterate): Likewise.
33299 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
33300 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
33301 top.
33302 (acorn_partition_map_get_name): Add 1 into P->INDEX.
33303
33304 * kern/i386/pc/init.c (make_install_device): Add 1 into
33305 GRUB_INSTALL_DOS_PART.
33306
33307 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
33308 conditional.
33309
524a1e6a 333102006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33311
33312 Clean up the code to support 64-bit addressing in disks and
33313 files. This change is not enough for filesystems yet.
f19dbdb7 33314
524a1e6a 33315 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
33316 type of "start" to grub_uint64_t.
33317 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
33318 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
33319 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
33320 convert addresses.
33321
33322 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
33323 to grub_disk_addr_t.
33324
33325 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
33326 string.
33327
33328 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33329
33330 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
33331 to char *.
33332
33333 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
33334
33335 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
33336
33337 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
33338
33339 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
33340 to grub_off_t, to detect an error from grub_file_seek.
33341 (grub_multiboot_load_elf32): Likewise.
33342
33343 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
33344 maximum unsigned long value when an overflow is detected.
33345 (grub_strtoull): New function.
33346 (grub_divmod64): Likewise.
33347 (grub_lltoa): use grub_divmod64.
33348
33349 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
33350 grub_disk_addr_t.
33351 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
33352 the pointer to next character. Use grub_strtoull instead of
33353 grub_strtoul.
33354 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
33355 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
33356 respectively.
33357
fe6b695a 33358 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 33359 return value is signed.
33360 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
33361 test if OFFSET is less than zero, as OFFSET is unsigned now.
33362
33363 * kern/disk.c (struct grub_disk_cache): Change the type of
33364 "sector" to grub_disk_addr_t.
33365 (grub_disk_cache_get_index): Change the type of SECTOR to
33366 grub_disk_addr_t. Calculate the hash with SECTOR casted to
33367 unsigned after shifting.
33368 (grub_disk_cache_invalidate): Change the type of SECTOR to
33369 grub_disk_addr_t.
33370 (grub_disk_cache_unlock): Likewise.
33371 (grub_disk_cache_store): Likewise.
33372 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
33373 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
33374 grub_disk_addr_t and grub_uint64_t, respectively.
33375 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
33376 body, as the value of OFFSET is tweaked by
33377 grub_disk_check_range. Change the types of START_SECTOR, LEN and
33378 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
33379 respectively.
33380 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
33381 body, as the value of OFFSET is tweaked by
33382 grub_disk_check_range. Change the types of LEN and N to
33383 grub_size_t.
33384
33385 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
33386 and "saved_offset" to grub_off_t.
33387 (test_header): Cast BUF to char *.
33388 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
33389 to char *.
33390 (grub_gzio_read): Change the types of OFFSET and SIZE to
33391 grub_off_t and grub_size_t, respectively.
33392
33393 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
33394 Removed.
33395 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
33396 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
33397 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
33398 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
33399 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
33400
33401 * include/grub/types.h (grub_off_t): Unconditionally set to
33402 grub_uint64_t.
33403 (grub_disk_addr_t): Changed to grub_uint64_t.
33404
33405 * include/grub/partition.h (struct grub_partition): Change the
33406 types of "start", "len" and "offset" to grub_disk_addr_t,
33407 grub_uint64_t and grub_disk_addr_t, respectively.
33408 (grub_partition_get_start): Return grub_disk_addr_t.
33409 (grub_partition_get_len): Return grub_uint64_t.
33410
33411 * include/grub/misc.h (grub_strtoull): New prototype.
33412 (grub_divmod64): Likewise.
33413
33414 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
33415 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
33416 grub_off_t, respectively.
33417 All callers and references changed.
33418
33419 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
33420 grub_size_t in "read".
33421 All callers and references changed.
33422
33423 * include/grub/file.h (struct grub_file): Change the types of
33424 "offset" and "size" to grub_off_t and grub_off_t,
33425 respectively. Change the type of SECTOR to grub_disk_addr_t in
33426 "read_hook".
33427 (grub_file_read): Change the type of LEN to grub_size_t.
33428 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
33429 grub_off_t.
33430 (grub_file_size): Return grub_off_t.
33431 (grub_file_tell): Likewise.
33432 All callers and references changed.
33433
33434 * include/grub/disk.h (struct grub_disk_dev): Change the types of
33435 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
33436 "write".
33437 (struct grub_disk): Change the type of "total_sectors" to
33438 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 33439 "read_hook".
524a1e6a 33440 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
33441 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
33442 (grub_disk_write): Likewise.
33443 All callers and references changed.
33444
33445 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
33446 char * for grub_strncmp to silence gcc.
33447 (grub_iso9660_mount): Likewise.
33448 (grub_iso9660_mount): Likewise.
33449 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
33450 return statement.
33451 (grub_iso9660_iterate_dir): Likewise.
33452 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
33453
33454 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
33455 LEN to grub_disk_addr_t and grub_size_t, respectively.
33456
33457 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33458
33459 * fs/jfs.c (grub_jfs_read_file): Likewise.
33460
33461 * fs/minix.c (grub_jfs_read_file): Likewise.
33462
33463 * fs/sfs.c (grub_jfs_read_file): Likewise.
33464
33465 * fs/ufs.c (grub_jfs_read_file): Likewise.
33466
33467 * fs/xfs.c (grub_jfs_read_file): Likewise.
33468
33469 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
33470 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
33471 respectively.
33472
33473 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
33474 BLKNR to -1 instead of returning GRUB_ERRNO.
33475 (grub_ext2_read_file): Change the types of SECTOR and
33476 LEN to grub_disk_addr_t and grub_size_t, respectively.
33477
33478 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
33479 LEN to grub_disk_addr_t and grub_size_t, respectively.
33480
33481 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
33482 grub_file_read.
33483
33484 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
33485 string. Do not cast SECTOR explicitly.
33486
33487 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
33488 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
33489 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
33490 grub_disk_addr_t and grub_size_t, respectively. If the sector is
33491 over 2TB and LBA mode is not supported, raise an error.
33492 (get_safe_sectors): New function.
33493 (grub_biosdisk_read): Use get_safe_sectors.
33494 (grub_biosdisk_write): Likewise.
33495
33496 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
33497 (grub_efidisk_write): Likewise.
33498
33499 * disk/loopback.c (delete_loopback): Cosmetic changes.
33500 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
33501 correctly.
33502 (grub_loopback_open): Likewise.
33503 (grub_loopback_read): Likewise. Also, change the type of POS to
33504 grub_off_t, and fix the usage of grub_memset.
33505
33506 * commands/i386/pc/play.c: Include grub/machine/time.h.
33507
33508 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
33509 print FILE->SIZE.
33510
33511 * commands/configfile.c: Include grub/env.h.
33512
33513 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
33514 GRUB_ERRNO directly instead. Change the type of POS to
33515 grub_off_t. Follow the coding standard.
33516
33517 * commands/blocklist.c: Include grub/partition.h.
33518 (grub_cmd_blocklist): Return an error if the underlying device is
33519 not a disk. Take the starting sector of a partition into account,
33520 if a partition is used.
33521
33522 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
33523 a length field.
33524 (lba_mode): Support 64-bit addresses.
33525 (chs_mode): Likewise.
33526 (copy_buffer): Adapted to the new offsets of a length field and a
33527 segment field.
33528 (blocklist_default_start): Allocate 64-bit space.
33529
33530 * boot/i386/pc/boot.S (force_lba): Removed.
33531 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 33532 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 33533 space.
33534 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
33535 is useless.
33536 (lba_mode): Refactored to support a 64-bit address. More size
33537 optimization.
33538 (setup_sectors): Likewise.
33539
53af98ad 335402006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33541
33542 * DISTLIST: Added include/grub/i386/linux.h. Removed
33543 include/grub/i386/pc/linux.h
33544
33545 * configure.ac (AC_INIT): Bumped to 1.94.
33546
33547 * config.guess: Updated from gnulib.
33548 * config.sub: Likewise.
33549 * install-sh: Likewise.
33550 * mkinstalldirs: Likewise.
33551
b4c1940a 335522006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33553
33554 * conf/common.rmk (grub_modules_init.lst): Depended on
33555 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
33556 MODSRCFILES.
33557
33558 * genmk.rb (PModule::rule): Reverted the previous change.
33559
cfca1cfd 335602006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33561
33562 * conf/common.rmk (grub_modules_init.lst): Depends on
33563 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
33564 that the target does not exist before producing.
33565 (grub_modules_init.h): Remove the target before generating.
33566 (grub_emu_init.c): Likewise.
33567
33568 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
33569
aa6d7826 335702006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
33571
33572 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
33573 for the target-specific tests. Make sure that we also have the
33574 up-to-date target variables for those tests.
33575
26c607b9 335762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33577
33578 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
33579 (PModule::rule): Likewise.
33580
0162321a 335812006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33582
33583 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
33584 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
33585 target-specific flags should be prefixed.
33586 (PModule::rule): Likewise.
33587
6c826348 335882006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
33589
33590 * configure.ac (CMP): Check if cmp is available explicitly.
33591
b977bf01 335922006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
33593
33594 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
33595 (target_cpu): New variable.
33596 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 33597
b977bf01 33598 * util/i386/pc/grub-install.in (host_cpu): Removed.
33599 (target_cpu): New variable.
33600 (pkglibdir): Use target_cpu instead of host_cpu.
33601
33602 * util/genmoddep.c: Removed.
f19dbdb7 33603
b977bf01 33604 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
33605 instead of GRUB_HOST_SIZEOF_VOID_P.
33606 * kern/dl.c: Likewise.
33607
33608 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
33609 ...
33610 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33611 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33612 (GRUB_TARGET_SIZEOF_LONG): ... this.
33613 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33614 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33615 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33616 to ...
33617 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33618 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33619 (GRUB_TARGET_SIZEOF_LONG): ... this.
33620 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33621 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33622 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33623 to ...
33624 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33625 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33626 (GRUB_TARGET_SIZEOF_LONG): ... this.
33627 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33628 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33629
33630 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
33631 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
33632 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
33633 instead of GRUB_HOST_SIZEOF_LONG.
33634 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
33635 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
33636 GRUB_CPU_WORDS_BIGENDIAN.
33637 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
33638 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
33639 grub_host_ssize_t.
33640
33641 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
33642 (genmoddep_SOURCES): Likewise.
33643 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
33644 (genmoddep_SOURCES): Likewise.
33645 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
33646 (genmoddep_SOURCES): Likewise.
33647 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
33648 Likewise.
33649 (genmoddep_SOURCES): Likewise.
33650
33651 * genmoddep.awk: New file.
33652
33653 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
33654 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
33655 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
33656 (PModule::rule): Likewise.
33657 (Program::rule): Likewise.
33658 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
33659 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
33660 respectively.
33661
33662 * configure.ac: Rewritten intensively to use host and target
33663 instead of build and host, respectively.
33664
33665 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
33666 (host_cpu): Removed.
33667 (target_cpu): New variable.
33668 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
33669 (BUILD_CC): Removed.
33670 (BUILD_CFLAGS): Likewise.
33671 (BUILD_CPPFLAGS): Likewise.
33672 (TARGET_CC): New variable.
33673 (TARGET_CFLAGS): Likewise.
33674 (TARGET_CPPFLAGS): Likewise.
33675 (TARGET_LDFLAGS): Likewise.
33676 (AWK): Likewise.
33677 (include): Use target_cpu instead of host_cpu.
33678 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 33679
b977bf01 33680 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
33681
f09771a1 336822006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
33683
33684 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
33685 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
33686 field 'false' to 'exec_on_false'.
33687 (grub_script_create_cmdif): Renamed argument names to reflect above
33688 changes.
33689
33690 * normal/execute.c (grub_script_execute_cmdif): Likewise.
33691
33692 * normal/script.c (grub_script_create_cmdif): Likewise.
33693
118f4fb3 336942006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
33695
33696 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
33697 top.
33698 (grub_hfsplus_btree_recptr): Likewise.
33699 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33700 FILEBLOCK both to pass a block number and store next block
33701 number.
33702 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33703 overflow file correctly. Specify errors appropriately, because
33704 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33705 grub_hfsplus_btree_recptr to get the pointer to a found key.
33706 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33707 is found.
33708
33709 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33710 linux.mod.
33711 (_linux_mod_SOURCES): New variable.
33712 (_linux_mod_CFLAGS): Likewise.
33713 (_linux_mod_LDFLAGS): Likewise.
33714 (linux_mod_SOURCES): Likewise.
33715 (linux_mod_CFLAGS): Likewise.
33716 (linux_mod_LDFLAGS): Likewise.
33717
33718 * DISTLIST: Added loader/i386/efi/linux.c,
33719 loader/i386/efi/linux_normal.c and
33720 include/grub/i386/efi/loader.h.
33721
33722 * loader/i386/efi/linux.c: New file.
33723 * loader/i386/efi/linux_normal.c: Likewise.
33724 * include/grub/i386/efi/loader.h: Likewise.
33725
89a7d726 337262006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33727
33728 * commands/blocklist.c: New file.
33729
33730 * DISTLIST: Added commands/blocklist.c.
33731
33732 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33733 color for the background, and a darker color for the foreground.
89a7d726 33734 (grub_console_checkkey): Return READ_KEY.
33735 (grub_console_cls): Set the background to
33736 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33737
33738 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33739
33740 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33741 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33742
33743 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33744 prototype.
33745
33746 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33747 BG. The spec is wrong again.
33748
33749 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33750 prototype.
33751 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33752
33753 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33754 commands/blocklist.c.
33755 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33756
89a7d726 33757 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33758 (blocklist_mod_SOURCES): New variable.
33759 (blocklist_mod_CFLAGS): Likewise.
33760 (blocklist_mod_LDFLAGS): Likewise.
33761
75c8f258 337622006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33763
33764 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33765 duplication.
33766 (lba_mode): Use %eax more intensively to reduce the code size.
33767
da2eb181 337682006-05-20 Marco Gerards <marco@gnu.org>
33769
33770 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33771
33772 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33773 for `menuentry'.
33774 (script): Accept leading newlines.
33775 (newlines): New rule to describe 0 or more newlines.
33776 (commands): Accept `command' with trailing newline. Fixed the
33777 order in which arguments were passed to `grub_script_add_cmd'.
33778 Accept commands separated by newlines.
33779 (function): Changed to accept newlines.
33780 (menuentry) Rewritten.
33781
33782 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33783 front of the list, instead of to the end.
33784
577b4050 337852006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33786
33787 * util/i386/pc/grub-install.in (bindir): New variable.
33788 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33789 Shaver <lbgwjl@gmail.com>.
33790
0d6e1189 337912006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33792
33793 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33794 grub/machine/linux.h
33795 * loader/i386/pc/linux.c: Likewise.
33796
33797 * include/grub/i386/pc/linux.h: Moved to ...
33798 * include/grub/i386/linux.h: ... here.
33799
33800 * include/grub/i386/linux.h (struct linux_kernel_params): New
33801 struct.
f19dbdb7 33802
31b86e9f 338032006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33804
33805 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33806 checking.
33807 (grub_video_vbe_blit_glyph): Likewise.
33808 (grub_video_vbe_blit_bitmap): Likewise.
33809 (grub_video_vbe_blit_render_target): Likewise.
33810
83b984de 338112006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33812
33813 * configure.ac (--with-platform): Properly quote the square
33814 brackets.
33815
5f0413bd 338162006-05-08 Marco Gerards <marco@gnu.org>
33817
33818 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33819 this...
33820 (kernel_elf_HEADERS): ...to this. Updated all users.
33821 (grubof_symlist.c): Renamed from this...
33822 (kernel_elf_symlist.c): ...to this. Updated all users.
33823 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33824 (grubof_SOURCES): Renamed from this...
33825 (kernel_elf_SOURCES): ...to this.
33826 (grubof_HEADERS): Renamed from this...
33827 (kernel_elf_HEADERS): ...to this.
33828 (grubof_CFLAGS): Renamed from this...
33829 (kernel_elf_CFLAGS): ...to this.
33830 (grubof_ASFLAGS): Renamed from this...
33831 (kernel_elf_ASFLAGS): ...to this.
33832 (grubof_LDFLAGS): Renamed from this...
33833 (kernel_elf_LDFLAGS): ...to this.
33834
33835 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33836 this...
33837 (kernel_elf_HEADERS): ...to this. Updated all users.
33838 (grubof_symlist.c): Renamed from this...
33839 (kernel_elf_symlist.c): ...to this. Updated all users.
33840 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33841 (grubof_SOURCES): Renamed from this...
33842 (kernel_elf_SOURCES): ...to this.
33843 (grubof_HEADERS): Renamed from this...
33844 (kernel_elf_HEADERS): ...to this.
33845 (grubof_CFLAGS): Renamed from this...
33846 (kernel_elf_CFLAGS): ...to this.
33847 (grubof_ASFLAGS): Renamed from this...
33848 (kernel_elf_ASFLAGS): ...to this.
33849 (grubof_LDFLAGS): Renamed from this...
33850 (kernel_elf_LDFLAGS): ...to this.
33851
33852 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33853 `kernel.elf' instead of `grubof'.
33854
05568c2e 338552006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33856
33857 Add --with-platform to configure. Use pkglibdir instead of
33858 pkgdatadir. This is reported by Roger Leigh.
33859
33860 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33861 (host_vendor): Likewise.
33862 (host_os): Likewise.
33863 (pkgdatadir): Likewise.
33864 (platform): New variable.
33865 (pkglibdir): Likewise.
33866 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33867
05568c2e 33868 * util/i386/pc/grub-install.in (datadir): Removed.
33869 (host_vendor): Likewise.
33870 (host_os): Likewise.
33871 (pkgdatadir): Likewise.
33872 (platform): New variable.
33873 (pkglibdir): Likewise.
33874 Use PKGLIBDIR instead of PKGDATADIR.
33875
33876 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33877 instead of GRUB_DATADIR.
33878 (main): Likewise.
33879 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33880 (main): Likewise.
33881 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33882 (main): Likewise.
33883
33884 * configure.ac (--with-platform): New option.
33885 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33886
33887 * Makefile.in: Include a makefile based on PLATFORM instead of
33888 HOST_VENDOR.
33889 (pkgdatadir): Not appended by the machine type.
33890 (pkglibdir): Appended by the machine type.
33891 (host_vendor): Removed.
33892 (platform): New variable.
33893 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33894 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33895 (uninstall): Likewise.
33896
4e93851c 338972006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33898
33899 Use the environment context in the menu. Remove the commands
33900 "default" and "timeout", and use variables instead.
f19dbdb7 33901
4e93851c 33902 * normal/menu.c: Include grub/env.h.
33903 (print_entry): Cast TITLE to silence gcc.
33904 (get_timeout): New function.
33905 (set_timeout): Likewise.
33906 (get_entry_number): Likewise.
33907 (run_menu): Use a default entry, a fallback entry and a timeout
33908 in the environment variables "default", "fallback" and
33909 "timeout". Also, tweak the default entry if it is not within the
33910 current menu entries.
33911 (grub_menu_run): Use a fallback entry in the environment variable
33912 "fallback".
33913
33914 * normal/main.c (read_config_file): Do not initialize
33915 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33916 NEWMENU->TIMEOUT.
33917 (grub_normal_execute): Use a data slot to store the menu.
33918
33919 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33920 fallback_entry and timeout.
33921 (struct grub_menu_list): Removed.
33922 (grub_menu_list_t): Likewise.
33923 (struct grub_context): Likewise.
33924 (grub_context_t): Likewise.
33925 (grub_context_get): Likewise.
33926 (grub_context_get_current_menu): Likewise.
33927 (grub_context_push_menu): Likewise.
33928 (grub_context_pop_menu): Likewise.
33929 (grub_default_init): Likewise.
33930 (grub_default_fini): Likewise.
33931 (grub_timeout_init): Likewise.
33932 (grub_timeout_fini): Likewise.
33933
33934 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33935 and timeout.mod.
33936 (normal_mod_SOURCES): Removed normal/context.c.
33937
33938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33939 commands/default.c, commands/timeout.c and normal/context.c.
33940 (normal_mod_SOURCES): Removed normal/context.c.
33941
33942 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33943 commands/timeout.c and normal/context.c.
33944 (normal_mod_SOURCES): Removed normal/context.c.
33945
33946 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33947 commands/default.c, commands/timeout.c and normal/context.c.
33948 (normal_mod_SOURCES): Removed normal/context.c.
33949
33950 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33951 timeout.mod.
33952 (default_mod_SOURCES): Removed.
33953 (default_mod_CFLAGS): Likewise.
33954 (default_mod_LDFLAGS): Likewise.
33955 (timeout_mod_SOURCES): Removed.
33956 (timeout_mod_CFLAGS): Likewise.
33957 (timeout_mod_LDFLAGS): Likewise.
33958
33959 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33960 normal/context.c.
33961
33962 * commands/default.c: Removed.
33963 * commands/timeout.c: Likewise.
33964 * normal/context.c: Likewise.
33965
1eb9cc1d 339662006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33967
33968 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33969
385bd9c1 339702006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33971
33972 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33973 "next" to "prev" for readability.
33974 (struct grub_env_sorted_var): New struct.
33975 (grub_env_context): Renamed to ...
33976 (initial_context): ... this.
33977 (grub_env_var_context): Renamed to ...
33978 (current_context): ... this.
33979 (grub_env_find): Look only at CURRENT_CONTEXT.
33980 (grub_env_context_open): Rewritten to copy exported variables from
33981 previous context.
33982 (grub_env_context_close): Rewritten according to the new
33983 scheme. Also, add an assertion to prevent the initial context from
33984 removed.
33985 (grub_env_insert): Removed the code for the sorted list.
33986 (grub_env_remove): Likewise.
33987 (grub_env_export): Simply mark the variable with
33988 GRUB_ENV_VAR_GLOBAL.
33989 (grub_env_set): A cosmetic change for naming consistency.
33990 (grub_env_get): Likewise.
33991 (grub_env_unset): Likewise.
33992 (grub_env_iterate): Rewritten to sort variables within this
33993 function.
33994 (grub_register_variable_hook): Fixed for naming consistency. Call
33995 grub_env_find again, only if NAME is not found at the first time.
33996 (mangle_data_slot_name): New function.
33997 (grub_env_set_data_slot): Likewise.
33998 (grub_env_get_data_slot): Likewise.
33999 (grub_env_unset_data_slot): Likewise.
34000
34001 * include/grub/env.h (grub_env_var_type): New enum.
34002 (GRUB_ENV_VAR_LOCAL): New constant.
34003 (GRUB_ENV_VAR_GLOBAL): Likewise.
34004 (GRUB_ENV_VAR_DATA): Likewise.
34005 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34006 "type".
34007 (grub_env_set): Replace VAR with NAME for consistency.
34008 (grub_register_variable_hook): Likewise.
34009 (grub_env_export): Specify the name of the argument.
34010 (grub_env_set_data_slot): New prototype.
34011 (grub_env_get_data_slot): Likewise.
34012 (grub_env_unset_data_slot): Likewise.
34013
7f362539 340142006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34015
34016 Extend the loader so that GRUB can accept a loader which comes
34017 back to GRUB when a loaded image exits. Also, this change adds
34018 support for a chainloader on EFI.
f19dbdb7 34019
7f362539 34020 * term/efi/console.c: Include grub/misc.h.
34021 (grub_console_checkkey): Display a scan code on the top for
34022 debugging. This will be removed once the EFI port gets stable.
34023 Correct the scan code mapping.
34024
34025 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
34026 allocate memory from larger regions, in order to reduce the number
34027 of allocated regions. Otherwise, the MacOSX loader panics.
34028 (filter_memory_map): Avoid less than 1MB for compatibility with
34029 other loaders.
34030 (add_memory_regions): Allocate from the tail of a region, if
34031 possible, to avoid allocating a region near to 1MB, for the MacOSX
34032 loader.
34033
34034 * kern/efi/init.c (grub_efi_set_prefix): Specify
34035 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
34036
34037 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
34038 argument IMAGE_HANDLE and specify it to get a loaded image.
34039 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
34040 grub_efi_get_loaded_image.
fe6b695a 34041 (grub_efi_get_filename): Divide the length by the size of
7f362539 34042 grub_efi_char16_t.
34043 (grub_efi_get_device_path): New function.
34044 (grub_efi_print_device_path): Print End Device Path nodes. Divide
34045 the length by the size of grub_efi_char16_t for a file path device
34046 path node.
34047
34048 * kern/loader.c (grub_loader_noreturn): New variable.
34049 (grub_loader_set): Accept a new argument NORETURN. Set
34050 GRUB_LOADER_NORETURN to NORETURN.
34051 All callers changed.
34052 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
34053 grub_machine_fini.
34054
34055 * include/grub/efi/efi.h (grub_efi_get_device_path): New
34056 prototype.
34057 (grub_efi_get_loaded_image): Take an argument to specify an image
34058 handle.
34059
34060 * include/grub/loader.h (grub_loader_set): Added one more argument
34061 NORETURN.
34062
34063 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
34064 instead of grub_efi_open_protocol.
34065 (grub_efidisk_get_device_name): Likewise.
34066 (grub_efidisk_close): Print a newline.
34067 (grub_efidisk_get_device_handle): Fixed to use
34068 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
34069 GRUB_EFI_DEVICE_PATH_TYPE.
34070
34071 * disk/efi/efidisk.c (device_path_guid): Moved to ...
34072 * kern/efi/efi.c (device_path_guid): ... here.
34073
34074 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
34075 chain.mod.
34076 (kernel_mod_HEADERS): Added efi/disk.h.
34077 (_chain_mod_SOURCES): New variable.
34078 (_chain_mod_CFLAGS): Likewise.
34079 (_chain_mod_LDFLAGS): Likewise.
34080 (chain_mod_SOURCES): Likewise.
34081 (chain_mod_CFLAGS): Likewise.
34082 (chain_mod_LDFLAGS): Likewise.
34083
34084 * DISTLIST: Added include/grub/efi/chainloader.h,
34085 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
34086
34087 * include/grub/efi/chainloader.h: New file.
34088 * loader/efi/chainloader.c: Likewise.
34089 * loader/efi/chainloader_normal.c: Likewise.
34090
c0111d6e 340912006-04-30 Marco Gerards <marco@gnu.org>
34092
34093 * commands/configfile.c (grub_cmd_source): New function.
34094 (GRUB_MOD_INIT): Register the commands `source' and `.'.
34095 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
34096
df5341da 340972006-04-30 Marco Gerards <marco@gnu.org>
34098
34099 * normal/execute.c (grub_script_execute_cmd): Change the return
34100 type to `grub_err_t'. Correctly return the error.
34101 (grub_script_execute_cmdline): In case a command line is not a
34102 command or a function, try to interpret it as an assignment.
34103
f85934bd 341042006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34105
34106 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
34107 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
34108 skip a node whose name is obviously invalid as UTF-16,
34109 i.e. contains a NUL character. Stop the iteration when the last
34110 directory entry is found. Instead of using the return value of
34111 grub_hfsplus_btree_iterate_node, store the value in RET and use
34112 it, because the iterator can be stopped by the last directory
34113 entry.
34114
8f8a2cf8 341152006-04-30 Marco Gerards <marco@gnu.org>
34116
34117 * include/grub/env.h (grub_env_export): New prototype. Reported
34118 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
34119
a27e84ce 341202006-04-30 Marco Gerards <marco@gnu.org>
34121
34122 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
34123 size of the extents in a catalog file record.
34124
eaef0553 341252006-04-29 Marco Gerards <marco@gnu.org>
34126
34127 * commands/configfile.c (grub_cmd_configfile): Execute the
34128 configfile within its own context.
34129
34130 * include/grub/env.h (grub_env_context_open): New prototype.
34131 (grub_env_context_close): Likewise.
34132
34133 * kern/env.c (grub_env): Removed.
34134 (grub_env_sorted): Likewise.
34135 (grub_env_context): New variable.
34136 (grub_env_var_context): Likewise.
34137 (grub_env_find): Search both the active context and the global
34138 context.
34139 (grub_env_context_open): New function.
34140 (grub_env_context_close): Likewise.
34141 (grub_env_insert): Likewise.
34142 (grub_env_remove): Likewise.
34143 (grub_env_export): Likewise.
34144 (grub_env_set): Changed to use helper functions to avoid code
34145 duplication.
34146 (grub_env_iterate): Rewritten so both the current context and the
34147 global context are being used.
34148
34149 * normal/command.c (export_command): New function.
34150 (grub_command_init): Register the `export' function.
34151
7b455f4d 341522006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
34153
34154 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
34155 explicitly to suppress gcc's warnings.
34156 * fs/fat.c (grub_fat_find_dir): Likewise.
34157 (grub_fat_label): Likewise.
34158 * fs/xfs.c (grub_xfs_read_inode): Likewise.
34159 (grub_xfs_mount): Likewise.
34160 (grub_xfs_label): Likewise.
34161 * fs/affs.c (grub_affs_mount): Likewise.
34162 (grub_affs_label): Likewise.
34163 (grub_affs_iterate_dir): Likewise.
34164 * fs/sfs.c (grub_sfs_mount): Likewise.
34165 (grub_sfs_iterate_dir): Likewise.
34166 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
34167 * fs/hfs.c (grub_hfs_mount): Likewise.
34168 (grub_hfs_cmp_catkeys): Likewise.
34169 (grub_hfs_find_dir): Likewise.
34170 (grub_hfs_dir): Likewise.
34171 (grub_hfs_label): Likewise.
34172 * fs/jfs.c (grub_jfs_mount): Likewise.
34173 (grub_jfs_opendir): Likewise.
34174 (grub_jfs_getent): Likewise.
34175 (grub_jfs_lookup_symlink): Likewise.
34176 (grub_jfs_label): Likewise.
34177 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
34178 (grub_hfsplus_iterate_dir): Likewise.
34179 (grub_hfsplus_btree_iterate_node): Made static.
34180
34181 * util/grub-emu.c (prefix): New variable.
34182 (grub_machine_set_prefix): New function.
34183 (main): Do not set the environment variable "prefix" here. Only
34184 set PREFIX, which is used later by grub_machine_set_prefix.
34185
34186 * include/grub/video.h: Do not include grub/symbol.h.
34187 (grub_video_register): Not exported. This symbol is not defined in
34188 the kernel.
34189 (grub_video_unregister): Likewise.
34190 (grub_video_iterate): Likewise.
34191 (grub_video_setup): Likewise.
34192 (grub_video_restore): Likewise.
34193 (grub_video_get_info): Likewise.
34194 (grub_video_get_blit_format): Likewise.
34195 (grub_video_set_palette): Likewise.
34196 (grub_video_get_palette): Likewise.
34197 (grub_video_set_viewport): Likewise.
34198 (grub_video_get_viewport): Likewise.
34199 (grub_video_map_color): Likewise.
34200 (grub_video_map_rgb): Likewise.
34201 (grub_video_map_rgba): Likewise.
34202 (grub_video_fill_rect): Likewise.
34203 (grub_video_blit_glyph): Likewise.
34204 (grub_video_blit_bitmap): Likewise.
34205 (grub_video_blit_render_target): Likewise.
34206 (grub_video_scroll): Likewise.
34207 (grub_video_swap_buffers): Likewise.
34208 (grub_video_create_render_target): Likewise.
34209 (grub_video_delete_render_target): Likewise.
34210 (grub_video_set_active_render_target): Likewise.
34211
34212 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
34213 Undefined.
34214 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
34215
34216 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
34217 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34218 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34219 instead of $(srcdir)/genkernsyms.sh.
34220
34221 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
34222 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34223 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34224 instead of $(srcdir)/genkernsyms.sh.
34225
34226 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
34227 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34228 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34229 instead of $(srcdir)/genkernsyms.sh.
34230
34231 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
34232 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34233 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34234 instead of $(srcdir)/genkernsyms.sh.
34235
34236 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
34237 genkernsyms.sh.
34238
34239 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
34240 genkernsyms.sh.
34241 (gensymlist.sh): New target.
34242 (genkernsyms.sh): Likewise.
34243
34244 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
34245 genkernsyms.sh.in and gensymlist.sh.in.
34246
34247 * genkernsyms.sh: Removed.
34248 * gensymlist.sh: Likewise.
f19dbdb7 34249
7b455f4d 34250 * genkernsyms.sh.in: New file.
34251 * gensymlist.sh.in: Likewise.
34252
1885bb27 342532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
34254
34255 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
34256 clobber "prefix", since we may have already set it manually.
34257
71538dff 342582006-04-25 Hollis Blanchard <hollis@penguinppc.org>
34259
34260 * kern/misc.c (abort): New alias for grub_abort.
34261
2965c7cc 342622006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
34263
34264 A new machine-specific function "grub_machine_set_prefix" is
34265 defined. This is called after loading modules, so that a prefix
34266 initialization can use modules. Also, this change adds an
34267 intensive debugging feature for the memory manager via the
34268 configure option "--enable-mm-debug".
f19dbdb7 34269
2965c7cc 34270 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
34271 PART.LEN.
34272
34273 * kern/sparc64/ieee1275/init.c (abort): Removed.
34274 (grub_stop): Likewise.
34275 (grub_exit): New function.
34276 (grub_set_prefix): Renamed to ...
34277 (grub_machine_set_prefix): ... this.
34278 (grub_machine_init): Do not call grub_set_prefix.
34279
34280 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
34281 (grub_machine_set_prefix): ... this.
34282 (grub_machine_init): Do not call grub_set_prefix.
34283
34284 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
34285 (grub_machine_init): Do not set the prefix here.
34286
34287 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
34288
34289 * kern/efi/init.c: Include grub/mm.h.
34290 (grub_efi_set_prefix): New function.
34291
34292 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
34293 (grub_efi_get_filename): New function.
34294 (grub_print_device_path): Renamed to ...
34295 (grub_efi_print_device_path): ... this.
34296
34297 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
34298 [MM_DEBUG] (grub_realloc): Likewise.
34299 [MM_DEBUG] (grub_free): Likewise.
34300 [MM_DEBUG] (grub_memalign): Likewise.
34301 [MM_DEBUG] (grub_mm_debug): New variable.
34302 [MM_DEBUG] (grub_debug_malloc): New function.
34303 [MM_DEBUG] (grub_debug_free): New function.
34304 [MM_DEBUG] (grub_debug_realloc): New function.
34305 [MM_DEBUG] (grub_debug_memalign): New function.
34306
34307 * kern/misc.c (grub_abort): Print a newline to distinguish
34308 the message.
34309
34310 * kern/main.c (grub_main): Call grub_machine_set_prefix and
34311 grub_set_root_dev after loading modules. This is necessary when
34312 setting a prefix depends on modules.
34313
34314 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
34315 (grub_efi_print_device_path): ... this.
34316 (grub_efi_get_filename): New prototype.
34317 (grub_efi_set_prefix): Likewise.
34318
34319 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
34320 and grub/disk.h.
34321 (grub_efidisk_get_device_handle): New prototype.
34322 (grub_efidisk_get_device_name): Likewise.
34323
34324 * include/grub/mm.h: Include config.h.
34325 (MM_DEBUG): Removed.
34326 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
34327 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
34328 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
34329 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
34330 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
34331 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
34332 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
34333 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
34334 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
34335
34336 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
34337
34338 * disk/efi/efidisk.c: Include grub/partition.h.
34339 (iterate_child_devices): New function.
34340 (add_device): First, compare only last device path nodes, so that
34341 devices are sorted by the types.
34342 (grub_efidisk_get_device_handle): New function.
34343 (grub_efidisk_get_device_name): Likewise.
34344
34345 * configure.ac (--enable-mm-debug): New option to enable the
34346 memory manager debugging feature. This makes the binary much
34347 bigger, so is disabled by default.
34348
9cacaa17 343492006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
34350
34351 Use grub_abort instead of grub_stop, and grub_exit must be
34352 define in each architecture now. Also, this change adds support
34353 for EFI disks.
f19dbdb7 34354
9cacaa17 34355 * util/i386/pc/grub-probefs.c: Include grub/term.h.
34356 (grub_getkey): New function.
34357 (grub_term_get_current): Likewise.
34358
34359 * util/i386/pc/grub-setup.c: Include grub/term.h.
34360 (grub_getkey): New function.
34361 (grub_term_get_current): Likewise.
34362
34363 * util/misc.c (grub_stop): Renamed to ...
34364 (grub_exit): ... this.
34365
34366 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
34367 (grub_exit): ... this.
34368 (grub_machine_init): Use grub_abort instead of abort.
34369 (grub_stop): Removed.
34370
34371 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
34372 abort.
34373
34374 * kern/i386/pc/startup.S (grub_exit): New function.
34375 (cold_reboot): New label.
34376
34377 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
34378 (grub_efi_init): Call grub_efidisk_init.
34379 (grub_efi_fini): Call grub_efidisk_fini.
34380
34381 * kern/efi/efi.c: Include grub/mm.h.
34382 (grub_efi_console_control_guid): Renamed to ...
34383 (console_control_guid): ... this.
34384 (grub_efi_loaded_image_guid): Renamed to ...
34385 (loaded_image_guid): ... this.
34386 (grub_efi_locate_handle): New function.
34387 (grub_efi_open_protocol): Likewise.
34388 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
34389 GRUB_EFI_CONSOLE_CONTROL_GUID.
34390 (grub_efi_exit): Removed.
34391 (grub_stop): Likewise.
34392 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
34393 (grub_exit): New function.
34394 (grub_print_device_path): Likewise.
34395
34396 * kern/rescue.c (grub_rescue_cmd_exit): New function.
34397 (grub_enter_rescue_mode): Register "exit".
34398
34399 * kern/misc.c (grub_real_dprintf): A cosmetic change.
34400 (grub_abort): New function.
34401
34402 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
34403
34404 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
34405
34406 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
34407
34408 * include/grub/efi/efi.h (grub_efi_exit): Removed.
34409 (grub_print_device_path): New prototype.
34410 (grub_efi_locate_handle): Likewise.
34411 (grub_efi_open_protocol): Likewise.
34412
34413 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
34414 * disk/efi/efidisk.c: Likewise.
34415
34416 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
34417
34418 * include/grub/efi/console_control.h
34419 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
34420
34421 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
34422 last 8 bytes as an array.
34423 (GRUB_EFI_DISK_IO_GUID): New macro.
34424 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
34425 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
34426 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
34427 grub_uint8_t.
34428 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
34429 (struct grub_efi_device_path): Rename the member "sub_type" to
34430 "subtype".
34431 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
34432 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
34433 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
34434 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
34435 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
34436 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
34437 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
34438 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
34439 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
34440 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
34441 (struct grub_efi_pci_device_path): New structure.
34442 (grub_efi_pci_device_path_t): New type.
34443 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
34444 (struct grub_efi_pccard_device_path): New structure.
34445 (grub_efi_pccard_device_path_t): New type.
34446 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
34447 (struct grub_efi_memory_mapped_device_path): New structure.
34448 (grub_efi_memory_mapped_device_path_t): New type.
34449 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
34450 (struct grub_efi_vendor_device_path): New structure.
34451 (grub_efi_vendor_device_path_t): New type.
34452 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
34453 (struct grub_efi_controller_device_path): New structure.
34454 (grub_efi_controller_device_path_t): New type.
34455 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
34456 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
34457 (struct grub_efi_acpi_device_path): New structure.
34458 (grub_efi_acpi_device_path_t): New type.
34459 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
34460 (struct grub_efi_expanded_acpi_device_path): New structure.
34461 (grub_efi_expanded_acpi_device_path_t): New type.
34462 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
34463 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
34464 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
34465 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
34466 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
34467 (struct grub_efi_atapi_device_path): New structure.
34468 (grub_efi_atapi_device_path_t): New type.
34469 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
34470 (struct grub_efi_fibre_channel_device_path): New structure.
34471 (grub_efi_fibre_channel_device_path_t): New type.
34472 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
34473 (struct grub_efi_1394_device_path): New structure.
34474 (grub_efi_1394_device_path_t): New type.
34475 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
34476 (struct grub_efi_usb_device_path): New structure.
34477 (grub_efi_usb_device_path_t): New type.
34478 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
34479 (struct grub_efi_usb_class_device_path): New structure.
34480 (grub_efi_usb_class_device_path_t): New type.
34481 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
34482 (struct grub_efi_i2o_device_path): New structure.
34483 (grub_efi_i2o_device_path_t): New type.
34484 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
34485 (struct grub_efi_mac_address_device_path): New structure.
34486 (grub_efi_mac_address_device_path_t): New type.
34487 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
34488 (struct grub_efi_ipv4_device_path): New structure.
34489 (grub_efi_ipv4_device_path_t): New type.
34490 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
34491 (struct grub_efi_ipv6_device_path): New structure.
34492 (grub_efi_ipv6_device_path_t): New type.
34493 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
34494 (struct grub_efi_infiniband_device_path): New structure.
34495 (grub_efi_infiniband_device_path_t): New type.
34496 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
34497 (struct grub_efi_uart_device_path): New structure.
34498 (grub_efi_uart_device_path_t): New type.
34499 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
34500 (struct grub_efi_vendor_messaging_device_path): New structure.
34501 (grub_efi_vendor_messaging_device_path_t): New type.
34502 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
34503 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
34504 (struct grub_efi_hard_drive_device_path): New structure.
34505 (grub_efi_hard_drive_device_path_t): New type.
34506 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
34507 (struct grub_efi_cdrom_device_path): New structure.
34508 (grub_efi_cdrom_device_path_t): New type.
34509 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
34510 (struct grub_efi_vendor_media_device_path): New structure.
34511 (grub_efi_vendor_media_device_path_t): New type.
34512 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
34513 (struct grub_efi_file_path_device_path): New structure.
34514 (grub_efi_file_path_device_path_t): New type.
34515 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
34516 (struct grub_efi_protocol_device_path): New structure.
34517 (grub_efi_protocol_device_path_t): New type.
34518 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
34519 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
34520 (struct grub_efi_bios_device_path): New structure.
34521 (grub_efi_bios_device_path_t): New type.
34522 (struct grub_efi_disk_io): New structure.
34523 (grub_efi_disk_io_t): New type.
34524 (struct grub_efi_block_io_media): New structure.
34525 (grub_efi_block_io_media_t): New type.
34526 (struct grub_efi_block_io): New structure.
34527 (grub_efi_block_io_t): New type.
34528
34529 * include/grub/misc.h (grub_stop): Removed.
34530 (grub_exit): New prototype.
34531 (grub_abort): Likewise.
34532
34533 * include/grub/disk.h (enum grub_disk_dev_id): Added
34534 GRUB_DISK_DEVICE_EFIDISK_ID.
34535
34536 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
34537 disk/efi/efidisk.c.
34538 (kernel_syms.lst): Remove the target if an error occurs.
34539
49986a9f 345402006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
34541
34542 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
34543 as it was simply too buggy.
34544
970d3b8a 345452006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
34546
34547 * kern/misc.c (grub_lltoa): New function.
34548 (grub_vsprintf): Added support for the long long suffix,
34549 i.e. "ll".
34550
ff04ec24 345512006-04-20 Hollis Blanchard <hollis@penguinppc.org>
34552
34553 * Makefile.in (LDFLAGS): Add variable.
34554 (LD): Remove variable.
34555 * configure.ac: Add -m32 to LDFLAGS.
34556 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
34557 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
34558 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
34559 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
34560 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
34561 variables.
34562 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
34563 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
34564 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
34565
37e5e1a4 345662006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
34567
34568 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
34569 length for unknown glyph.
34570
c352d8dd 345712006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
34572
2eab1c0d 34573 Add support for pre-loaded modules into the EFI port.
f19dbdb7 34574
2eab1c0d 34575 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
34576 completely. Accept one more argument DIR. The caller has changed.
34577
34578 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
34579
34580 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
34581 (grub_efi_loaded_image_guid): New variable.
34582 (grub_efi_get_loaded_image): New function.
34583 (grub_arch_modules_addr): Likewise.
34584
34585 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
34586 prototype.
34587
34588 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
34589 (struct grub_efi_loaded_image): New structure.
34590 (grub_efi_loaded_image_t): New type.
34591
345922006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34593
c352d8dd 34594 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
34595 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
34596 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
34597
6d01d6b4 345982006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
34599
34600 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
34601
976a4ea0 346022006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
34603
34604 * DISTLIST: Added include/grub/efi/console.h,
34605 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
34606 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34607
34608 * include/grub/efi/console.h: New file.
34609 * include/grub/efi/time.h: Likewise.
34610 * include/grub/i386/efi/kernel.h: Likewise.
34611 * kern/efi/init.c: Likewise.
34612 * kern/efi/mm.c: Likewise.
34613 * term/efi/console.c: Likewise.
f19dbdb7 34614
976a4ea0 34615 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
34616 (grub_stop): Removed.
34617 (grub_get_rtc): Likewise.
34618 (grub_machine_init): Simply call grub_efi_init.
34619 (grub_machine_fini): Call grub_efi_fini.
34620
34621 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
34622 (grub_efi_output_string): Removed.
34623 (grub_efi_stall): New function.
34624 (grub_stop): Likewise.
34625 (grub_get_rtc): Likewise.
34626
34627 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
34628 (grub_efi_stall): New prototype.
34629 (grub_efi_allocate_pages): Likewise.
34630 (grub_efi_free_pages): Likewise.
34631 (grub_efi_get_memory_map): Likewise.
34632 (grub_efi_mm_init): Likewise.
34633 (grub_efi_mm_fini): Likewise.
34634 (grub_efi_init): Likewise.
34635 (grub_efi_fini): Likewise.
34636
34637 * include/grub/i386/efi/time.h: Do not include
34638 grub/symbol.h. Include grub/efi/time.h.
34639 (GRUB_TICKS_PER_SECOND): Removed.
34640 (grub_get_rtc): Likewise.
34641
34642 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
34643 Added padding. The EFI spec is buggy.
34644 (GRUB_EFI_BLACK): New macro.
34645 (GRUB_EFI_BLUE): Likewise.
34646 (GRUB_EFI_GREEN): Likewise.
34647 (GRUB_EFI_CYAN): Likewise.
34648 (GRUB_EFI_RED): Likewise.
34649 (GRUB_EFI_MAGENTA): Likewise.
34650 (GRUB_EFI_BROWN): Likewise.
34651 (GRUB_EFI_LIGHTGRAY): Likewise.
34652 (GRUB_EFI_BRIGHT): Likewise.
34653 (GRUB_EFI_DARKGRAY): Likewise.
34654 (GRUB_EFI_LIGHTBLUE): Likewise.
34655 (GRUB_EFI_LIGHTGREEN): Likewise.
34656 (GRUB_EFI_LIGHTCYAN): Likewise.
34657 (GRUB_EFI_LIGHTRED): Likewise.
34658 (GRUB_EFI_LIGHTMAGENTA): Likewise.
34659 (GRUB_EFI_YELLOW): Likewise.
34660 (GRUB_EFI_WHITE): Likewise.
34661 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
34662 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
34663 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
34664 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
34665 (GRUB_EFI_BACKGROUND_RED): Likewise.
34666 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
34667 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
34668 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
34669 (GRUB_EFI_TEXT_ATTR): Likewise.
34670
34671 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
34672 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34673 (kernel_mod_HEADERS): Added efi/time.h.
34674
83709125 346752006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
34676
34677 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
34678 include/grub/efi/api.h, include/grub/efi/console_control.h,
34679 include/grub/efi/efi.h, include/grub/efi/pe32.h,
34680 include/grub/i386/efi/time.h, kern/efi/efi.c,
34681 kern/i386/efi/init.c, kern/i386/efi/startup.S,
34682 and util/i386/efi/grub-mkimage.c.
34683
34684 * Makefile.in (RMKFILES): Added i386-efi.rmk.
34685
34686 * genmk.rb (PModule#rule): Do not export symbols if
34687 #{prefix}_EXPORTS is set to "no".
34688
34689 * conf/i386-efi.mk: New file.
34690 * conf/i386-efi.rmk: Likewise.
34691 * include/grub/efi/api.h: Likewise.
34692 * include/grub/efi/console_control.h: Likewise.
34693 * include/grub/efi/efi.h: Likewise.
34694 * include/grub/efi/pe32.h: Likewise.
34695 * include/grub/i386/efi/time.h: Likewise.
34696 * kern/efi/efi.c: Likewise.
34697 * kern/i386/efi/init.c: Likewise.
34698 * kern/i386/efi/startup.S: Likewise.
34699 * util/i386/efi/grub-mkimage.c: Likewise.
34700
347012006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 34702
34703 * include/grub/script.h: Include <grub/parser.h> and
34704 "grub_script.tab.h".
34705 (struct grub_lexer_param): New struct.
34706 (struct grub_parser_param): Likewise.
34707 (grub_script_create_arglist): Pass the state in an argument.
34708 (grub_script_add_arglist): Likewise.
34709 (grub_script_create_cmdline): Likewise.
34710 (grub_script_create_cmdblock): Likewise.
34711 (grub_script_create_cmdif): Likewise.
34712 (grub_script_create_cmdmenu): Likewise.
34713 (grub_script_add_cmd): Likewise.
34714 (grub_script_arg_add): Likewise.
34715 (grub_script_lexer_ref): Likewise.
34716 (grub_script_lexer_deref): Likewise.
34717 (grub_script_lexer_record_start): Likewise.
34718 (grub_script_lexer_record_stop): Likewise.
34719 (grub_script_mem_record): Likewise.
34720 (grub_script_mem_record_stop): Likewise.
34721 (grub_script_malloc): Likewise.
34722 (grub_script_yylex): Likewise.
34723 (grub_script_yyparse): Likewise.
34724 (grub_script_yyerror): Likewise.
34725 (grub_script_yylex): Likewise.
34726 (grub_script_lexer_init): Return the state.
34727
34728 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34729 (grub_script_lexer_done): Likewise.
34730 (grub_script_lexer_getline): Likewise.
34731 (grub_script_lexer_refs): Likewise.
34732 (script): Likewise.
34733 (newscript): Likewise.
34734 (record): Likewise.
34735 (recording): Likewise.
34736 (recordpos): Likewise.
34737 (recordlen): Likewise.
34738 (grub_script_lexer_init): Return the state instead of setting
34739 global variables.
34740 (grub_script_lexer_ref): Use the newly added argument for state
34741 instead of globals.
34742 (grub_script_lexer_deref): Likewise.
34743 (grub_script_lexer_record_start): Likewise.
34744 (grub_script_lexer_record_stop): Likewise.
34745 (recordchar): Likewise.
34746 (nextchar): Likewise.
34747 (grub_script_yylex2): Likewise.
34748 (grub_script_yylex): Likewise.
34749 (grub_script_yyerror): Likewise.
34750
34751 * normal/parser.y (func_mem): Removed variable.
34752 (menu_entry): Likewise.
34753 (err): Likewise.
34754 (%lex-param): New parser option.
34755 (%parse-param): Likewise.
34756 (script): Always return the AST.
34757 (argument): Pass the state around.
34758 (arguments): Likewise.
34759 (grubcmd): Likewise.
34760 (commands): Likewise.
34761 (function): Likewise.
34762 (menuentry): Likewise.
34763 (if_statement): Likewise.
34764 (if): Likewise.
34765
34766 * normal/script.c (grub_script_memused): Removed variable.
34767 (grub_script_parsed): Likewise.
34768 (grub_script_malloc): Added a state argument. Use that instead of
34769 global variables.
34770 (grub_script_mem_record): Likewise.
34771 (grub_script_mem_record_stop): Likewise.
34772 (grub_script_arg_add): Likewise.
34773 (grub_script_add_arglist): Likewise.
34774 (grub_script_create_cmdline): Likewise.
34775 (grub_script_create_cmdif): Likewise.
34776 (grub_script_create_cmdmenu): Likewise.
34777 (grub_script_add_cmd): Likewise.
34778 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34779
e2a8c904 347802006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34781
34782 * normal/command.c (grub_command_init): Remove the title command.
34783
34784 * normal/lexer.c (grub_script_yylex): Renamed from this...
34785 (grub_script_yylex2): ... to this.
34786 (grub_script_yylex): New function. Temporary
34787 introduced to filter some tokens.
34788 (grub_script_yyerror): Print a newline.
34789
34790 * normal/main.c (read_config_file): Output information about the
34791 lines that contain errors. Wait for a key after all lines have
34792 been processed. Don't return an empty menu.
34793
34794 * normal/parser.y (func_mem): Don't initialize.
34795 (menu_entry): Likewise.
34796 (err): New variable.
34797 (script): Don't return anything when an error was encountered.
34798 (ws, returns): Removed rules.
34799 (argument): Disabled concatenated variable support.
34800 (arguments): Remove explicit separators.
34801 (grubcmd): Likewise.
34802 (function): Likewise.
34803 (menuentry): Likewise.
34804 (if): Likewise.
34805 (commands): Likewise. Add error handling.
34806
34807 * normal/script.c (grub_script_create_cmdline): If
34808 `grub_script_parsed' is 0, assume the parser encountered an error.
34809
c9a86192 348102006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34811
34812 * configure.ac: Add support for EFI. Fix the typo
34813 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34814
70f3b243 348152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34816
34817 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34818 foreign multibyte characters should be shown correctly.
34819
65f201ad 348202006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34821
34822 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34823 calculation.
34824 (read_config_file): Made it to close file before returning.
34825
b4b93674 348262006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34827
34828 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34829 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34830 video/i386/pc/vbefill.c.
34831
34832 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34833 video/i386/pc/vbefill.c.
34834
34835 * include/grub/video.h (grub_video_blit_format): New enum.
34836 (grub_video_mode_info): Added new member blit_format.
34837 (grub_video_get_blit_format): New function prototype.
34838
34839 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34840 function prototype.
34841 (grub_video_vbe_map_rgb): Likewise.
34842 (grub_video_vbe_unmap_color): Likewise.
34843
34844 * include/grub/i386/pc/vbeblit.h: New file.
34845
34846 * include/grub/i386/pc/vbefill.h: New file.
34847
34848 * video/video.c (grub_video_get_blit_format): New function.
34849 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34850 (grub_video_vbe_map_rgb): Likewise.
34851 (grub_video_vbe_unmap_color): Likewise.
34852
34853 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34854 optimized fills.
34855 (grub_video_vbe_blit_render_target): Changed to use more optimized
34856 blits.
34857 (grub_video_vbe_setup): Added detection for optimized settings.
34858 (grub_video_vbe_create_render_target): Likewise.
34859
34860 * video/i386/pc/vbeblit.c: New file.
34861
34862 * video/i386/pc/vbefill.c: New file.
34863
c2379b9c 348642006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34865
34866 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34867 here...
34868
34869 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34870 parsing to support both hex and dec ranges. If filename was missing
34871 show usage information.
34872
bd0d7896 348732006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34874
34875 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34876 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34877
34878 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34879 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34880 (video_mod_SOURCES): Added.
34881 (video_mod_CFLAGS): Likewise.
34882 (video_mod_LDFLAGS): Likewise.
34883 (gfxterm_mod_SOURCES): Likewise.
34884 (gfxterm_mod_CFLAGS): Likewise.
34885 (gfxterm_mod_LDFLAGS): Likewise.
34886 (videotest_mod_SOURCES): Likewise.
34887 (videotest_mod_CFLAGS): Likewise.
34888 (videotest_mod_LDFLAGS): Likewise.
34889 (vesafb_mod_SOURCES): Removed.
34890 (vesafb_mod_CFLAGS): Likewise.
34891 (vesafb_mod_LDFLAGS): Likewise.
34892 (vga_mod_SOURCES): Likewise.
34893 (vga_mod_CFLAGS): Likewise.
34894 (vga_mod_LDFLAGS): Likewise.
34895
34896 * commands/videotest.c: New file.
34897
34898 * font/manager.c (fill_with_default_glyph): Modified to use
34899 grub_font_glyph.
34900 (grub_font_get_glyph): Likewise.
34901 (fontmanager): Renamed from this...
34902 (font_manager): ... to this.
34903
34904 * include/grub/font.h (grub_font_glyph): Added new structure.
34905 (grub_font_get_glyph): Modified to use grub_font_glyph.
34906
34907 * include/grub/misc.h (grub_abs): Added as inline function.
34908
34909 * include/grub/video.h: New file.
34910
34911 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34912 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34913 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34914 (grub_vbe_get_controller_info): Renamed from this...
34915 (grub_vbe_bios_get_controller_info): ... to this.
34916 (grub_vbe_get_mode_info): Renamed from this...
34917 (grub_vbe_bios_get_mode_info): ... to this.
34918 (grub_vbe_set_mode): Renamed from this...
34919 (grub_vbe_bios_set_mode): ... to this.
34920 (grub_vbe_get_mode): Renamed from this...
34921 (grub_vbe_bios_get_mode): ... to this.
34922 (grub_vbe_set_memory_window): Renamed from this...
34923 (grub_vbe_bios_set_memory_window): ... to this.
34924 (grub_vbe_get_memory_window): Renamed from this...
34925 (grub_vbe_bios_get_memory_window): ... to this.
34926 (grub_vbe_set_scanline_length): Renamed from this...
34927 (grub_vbe_set_scanline_length): ... to this.
34928 (grub_vbe_get_scanline_length): Renamed from this...
34929 (grub_vbe_bios_get_scanline_length): ... to this.
34930 (grub_vbe_set_display_start): Renamed from this...
34931 (grub_vbe_bios_set_display_start): ... to this.
34932 (grub_vbe_get_display_start): Renamed from this...
34933 (grub_vbe_bios_get_display_start): ... to this.
34934 (grub_vbe_set_palette_data): Renamed from this...
34935 (grub_vbe_bios_set_palette_data): ... to this.
34936 (grub_vbe_set_pixel_rgb): Removed.
34937 (grub_vbe_set_pixel_index): Likewise.
34938
34939 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34940 from this...
34941 (grub_vbe_bios_get_controller_info): ... to this.
34942 (grub_vbe_get_mode_info): Renamed from this...
34943 (grub_vbe_bios_get_mode_info): ... to this.
34944 (grub_vbe_set_mode): Renamed from this...
34945 (grub_vbe_bios_set_mode): ... to this.
34946 (grub_vbe_get_mode): Renamed from this...
34947 (grub_vbe_bios_get_mode): ... to this.
34948 (grub_vbe_set_memory_window): Renamed from this...
34949 (grub_vbe_bios_set_memory_window): ... to this.
34950 (grub_vbe_get_memory_window): Renamed from this...
34951 (grub_vbe_bios_get_memory_window): ... to this.
34952 (grub_vbe_set_scanline_length): Renamed from this...
34953 (grub_vbe_set_scanline_length): ... to this.
34954 (grub_vbe_get_scanline_length): Renamed from this...
34955 (grub_vbe_bios_get_scanline_length): ... to this.
34956 (grub_vbe_set_display_start): Renamed from this...
34957 (grub_vbe_bios_set_display_start): ... to this.
34958 (grub_vbe_get_display_start): Renamed from this...
34959 (grub_vbe_bios_get_display_start): ... to this.
34960 (grub_vbe_set_palette_data): Renamed from this...
34961 (grub_vbe_bios_set_palette_data): ... to this.
34962 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34963 getting corrupted after calling it. Added more pushes and pops.
34964 (grub_vbe_bios_set_mode): Likewise.
34965 (grub_vbe_bios_get_mode): Likewise.
34966 (grub_vbe_bios_get_memory_window): Likewise.
34967 (grub_vbe_bios_set_scanline_length): Likewise.
34968 (grub_vbe_bios_get_scanline_length): Likewise.
34969 (grub_vbe_bios_get_display_start): Likewise.
34970 (grub_vbe_bios_set_palette_data): Likewise.
34971
34972 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34973 (cl_insert): Likewise.
34974 (cl_delete): Likewise.
34975
34976 * term/gfxterm.c: New file.
34977
34978 * term/i386/pc/vesafb.c: Removed file.
34979
34980 * video/video.c: New file.
34981
34982 * video/i386/pc/vbe.c (real2pm): Added new function.
34983 (grub_video_vbe_draw_pixel): Likewise.
34984 (grub_video_vbe_get_video_ptr): Likewise.
34985 (grub_video_vbe_get_pixel): Likewise
34986 (grub_video_vbe_init): Likewise.
34987 (grub_video_vbe_fini): Likewise.
34988 (grub_video_vbe_setup): Likewise.
34989 (grub_video_vbe_get_info): Likewise.
34990 (grub_video_vbe_set_palette): Likewise.
34991 (grub_video_vbe_get_palette): Likewise.
34992 (grub_video_vbe_set_viewport): Likewise.
34993 (grub_video_vbe_get_viewport): Likewise.
34994 (grub_video_vbe_map_color): Likewise.
34995 (grub_video_vbe_map_rgb): Likewise.
34996 (grub_video_vbe_map_rgba): Likewise.
34997 (grub_video_vbe_unmap_color): Likewise.
34998 (grub_video_vbe_fill_rect): Likewise.
34999 (grub_video_vbe_blit_glyph): Likewise.
35000 (grub_video_vbe_blit_bitmap): Likewise.
35001 (grub_video_vbe_blit_render_target): Likewise.
35002 (grub_video_vbe_scroll): Likewise.
35003 (grub_video_vbe_swap_buffers): Likewise.
35004 (grub_video_vbe_create_render_target): Likewise.
35005 (grub_video_vbe_delete_render_target): Likewise.
35006 (grub_video_vbe_set_active_render_target): Likewise.
35007 (grub_vbe_set_pixel_rgb): Remove function.
35008 (grub_vbe_set_pixel_index): Likewise.
35009 (index_color_mode): Remove static variable.
35010 (active_mode): Likewise.
35011 (framebuffer): Likewise.
35012 (bytes_per_scan_line): Likewise.
35013 (grub_video_vbe_adapter): Added new static variable.
35014 (framebuffer): Likewise.
35015 (render_target): Likewise.
35016 (initial_mode): Likewise.
35017 (mode_in_use): Likewise.
35018 (mode_list): Likewise.
35019
5f97350b 350202006-03-10 Marco Gerards <marco@gnu.org>
35021
35022 * configure.ac (AC_INIT): Bumped to 1.93.
35023
35024 * DISTLIST: Added `include/grub/hfs.h'.
35025
a3c5c6f8 350262006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
35027
35028 * boot/i386/pc/boot.S (general_error): Before looping, try INT
35029 18H, which might help the BIOS falling back to next boot media.
35030
6de53d26 350312006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
35032
35033 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
35034 Poe Chen <poe.poechen@gmail.com>.
35035
77c4a393 350362006-01-17 Marco Gerards <marco@gnu.org>
35037
35038 * include/grub/normal.h: Include <grub/script.h>.
35039 (grub_command_list): Removed struct.
35040 (grub_command_list_t): Removed type.
35041 (grub_menu_entry): Remove members `num' and `command_list'. Add
35042 members `commands' and `sourcecode'.
35043 * include/grub/script.h: Add inclusion guards.
35044 (grub_script_cmd_menuentry): New struct.
35045 (grub_script_execute_menuentry): New prototype.
35046 (grub_script_lexer_record_start): Likewise.
35047 (grub_script_lexer_record_stop): Likewise.
35048 * normal/execute.c (grub_script_execute_menuentry): New function.
35049 * normal/lexer.c (record, recording, recordpos, recordlen): New
35050 variables.
35051 (grub_script_lexer_record_start): New function.
35052 (grub_script_lexer_record_stop): Likewise.
35053 (recordchar): Likewise.
35054 (nextchar): Likewise.
35055 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
35056 2048 as the buffer size. Add the tokens `menuentry' and `@'.
35057 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
35058 (current_menu): New variable.
35059 (free_menu): Mainly rewritten.
35060 (grub_normal_menu_addentry): New function.
35061 (read_config_file): Rewritten.
35062 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 35063 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 35064 the menu entry.
35065 (run): Mainly rewritten.
35066 * normal/parser.y (menu_entry): New variable.
35067 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
35068 (menuentry): New rule.
35069 (command): Add `menuentry'.
35070 (if_statement): Allow additional returns before `fi'.
35071 * normal/script.c (grub_script_create_cmdmenu): New function.
35072
144f1f98 350732006-01-03 Marco Gerards <marco@gnu.org>
35074
35075 * INSTALL: GNU Bison is required.
35076 * configure.ac: Rewritten the test to detect Bison.
35077 * Makefile.in (YACC): New variable. Reported by Xun Sun
35078 <xun.sun.cn@gmail.com>.
35079
af4b2d89 350802006-01-03 Marco Gerards <marco@gnu.org>
35081
35082 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
35083 the HFS+ filesystem to filesystem blocks.
35084 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
35085 GCC warning is silenced.
35086
15643b71 350872006-01-03 Marco Gerards <marco@gnu.org>
35088
35089 * partmap/apple.c (apple_partition_map_iterate): Convert the data
35090 read from disk from big endian to host byte order.
35091
00905879 350922006-01-03 Hollis Blanchard <hollis@penguinppc.org>
35093
35094 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
35095 documentation.
35096 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
35097 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
35098 embedded HFS+ filesystem.
35099 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
35100 (grub_hfs_sblock): Move from here...
35101 * include/grub/hfs.h: To here... New file.
35102 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
35103 documentation.
35104 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
35105 New macros.
35106 (grub_hfsplus_volheader): Change type of member `magic' to
35107 `grub_uint16_t'.
35108 (grub_hfsplus_data): Add new member `embedded_offset'.
35109 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
35110 returned block.
35111 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
35112 Calculate the offset.
35113
8899bc3e 351142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35115
35116 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
35117 Removed.
35118 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
35119
ae8c0277 351202005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35121
35122 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
35123 ENV->NAME is NULL after allocating ENV->VALUE.
35124
07084456 351252005-12-25 Marco Gerards <marco@gnu.org>
35126
35127 * kern/env.c (grub_env_set): Rewritten the error handling code.
35128
4750f5f1 351292005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35130
35131 * geninit.sh: Made more robust, and more portable.
35132
50214199 351332005-12-25 Marco Gerards <marco@gnu.org>
35134
35135 Add support for Apple HFS+ filesystems.
f19dbdb7 35136
50214199 35137 * fs/hfsplus.c: New file.
35138
35139 * DISTLIST: Added `fs/hfsplus.c'.
35140
35141 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
35142 (hfsplus_mod_SOURCES): New variable.
35143 (hfsplus_mod_CFLAGS): Likewise.
35144 (hfsplus_mod_LDFLAGS): Likewise.
35145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
35146 (grub_setup_SOURCES): Likewise.
35147 (grub_mkdevicemap_SOURCES): Likewise.
35148 (grub_emu_SOURCES): Likewise.
35149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35150
35151 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
35152
35153 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
35154
befaed6c 351552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35156
35157 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
35158 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
35159 include/grub/parser.h, include/grub/script.h, kern/parser.c,
35160 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
35161 normal/lexer.c, normal/parser.y, normal/script.c, and
35162 partmap/gpt.c.
35163 Removed kern/sparc64/cache.c.
35164
35165 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
35166 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
35167 grub_emu_init.c.
35168
35169 * configure.ac (AC_INIT): Bumped to 1.92.
35170
6a124103 351712005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
35172
35173 * kern/err.c (grub_error_push): Added new function to support error
35174 stacks.
35175 (grub_error_pop): Likewise.
35176 (grub_error_stack_items): New local variable to support error stacks.
35177 (grub_error_stack_pos): Likewise.
35178 (grub_error_stack_assert): Likewise.
35179 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
35180 stack depth.
35181 (grub_print_error): Added support to print errors from error stack.
35182
35183 * include/grub/err.h (grub_error_push): Added function prototype.
35184 (grub_error_pop): Likewise.
35185
be973c1b 351862005-12-09 Hollis Blanchard <hollis@penguinppc.org>
35187
35188 * configure.ac: Accept `powerpc64' as host_cpu.
35189 (amd64): Rename to `biarch32'.
35190
35191 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
35192 non-cacheline-aligned addresses.
35193
35194 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
35195 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
35196 if `size' is non-zero.
35197
b04216ab 351982005-12-03 Marco Gerards <mgerards@xs4all.nl>
35199
35200 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
35201 and `cd' to make sure the filename is not prefixed with a
35202 directory name.
35203 (pkgdata_MODULES): Add `gpt.mod'.
35204 (gpt_mod_SOURCES): New variable.
35205 (gpt_mod_CFLAGS): Likewise.
35206 (gpt_mod_LDFLAGS): Likewise.
35207
35208 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
35209
35210 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
35211 New macro.
35212
35213 * partmap/gpt.c: New file.
35214
35215 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
35216 GPT partition map is detected.
35217
41730ed9 352182005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
35219
35220 * commands/i386/pc/play.c: New file.
35221 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
35222 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
35223 macros.
f19dbdb7 35224
95dc3643 352252005-11-27 Marco Gerards <mgerards@xs4all.nl>
35226
35227 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
35228 ((unused))' to silence gcc warning.
35229
1569ec51 352302005-11-26 Hollis Blanchard <hollis@penguinppc.org>
35231
35232 * configure.ac: Correct `AC_PROG_YACC' test.
35233
9abde152 352342005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35235
35236 * util/powerpc/ieee1275/grub-install.in: Run the mount point
35237 check before installing files.
35238
44b83271 352392005-11-22 Mike Small <smallm@panix.com>
35240
35241 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
35242 number regex so multidigit numbers are recognized correctly.
35243
352442005-11-22 Mike Small <smallm@panix.com>
35245
35246 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
35247 debugging message before attempting to claim memory.
35248 (grub_rescue_cmd_initrd): Add a claim debugging message and try
35249 multiple addresses in case of failure.
35250
9c12956b 352512005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35252
35253 * term/tparm.c (get_space): Remove empty `if' statement.
35254
35255 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
35256
35257 * kern/parser.c (check_varstate): Rename `state' to 's'.
35258
aeaf81d9 352592005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35260
35261 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
35262 variable definitions to the beginning of each function. Sort stack
35263 variables by size.
35264 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
35265 `buf' argument to `char *'.
35266
79bbb63f 352672005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35268
35269 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
35270 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35271 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 35272 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35273 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35274 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35275 configfile.mod, search.mod, gzio.mod and test.mod.
35276 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35277 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35278 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35279 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35280 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35281 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35282 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35283 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35284 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35285 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35286 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35287 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35288 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35289 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35290 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35291 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35292 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35293 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35294 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35295 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35296 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35297 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35298 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
35299
35300 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
35301 `grep --include'.
35302 (pkgdata_MODULES): Add test.mod.
35303
233b1628 353042005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35305
35306 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
35307 appending to variables with "+=".
35308 (PModule): Use full pathname to generate *.lst filenames.
35309
35310 * Makefile.in: Fixed list rules moved from genmk.rb.
35311 (.DELETE_ON_ERROR): New special target.
35312 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
35313
35314 * conf/i386-pc.rmk: Include conf/common.mk.
35315 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35316 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 35317 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35318 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35319 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35320 configfile.mod, search.mod, gzio.mod and test.mod.
35321 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35322 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35323 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35324 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35325 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35326 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35327 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35328 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35329 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35330 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35331 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35332 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35333 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35334 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35335 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35336 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35337 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35338 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35339 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35340 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35341 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35342 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35343 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
35344 here...
35345 * conf/common.rmk: ... to here. New file.
35346
35347 * conf/common.mk: New file.
35348
16f820c8 353492005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
35350
35351 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
35352 (grub_script.tab.c): ... here.
35353
35354 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
35355 (grub_script.tab.c): ... here.
35356
35357 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
35358 (grub_script.tab.c): ... here.
35359
35360 * normal/command.c (grub_command_find): Fixed a memory leak of
35361 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
35362
63ba1554 353632005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35364
35365 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
35366 "@" which marks the start of a comment on ARM.
35367 (VARIABLE): Likewise.
35368
7f67dc13 353692005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35370
79bbb63f 35371 Add support for Linux/ADFS partition tables.
7f67dc13 35372
35373 * partmap/acorn.c: New file.
35374
35375 * include/grub/acorn_filecore.h: Likewise.
35376
35377 * DISTLIST: Added `partmap/acorn.c' and
35378 `include/grub/acorn_filecore.h'.
f19dbdb7 35379
7f67dc13 35380 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35381 `partmap/acorn.c'.
35382 (pkgdata_MODULES): Add `acorn.mod'.
35383 (acorn_mod_SOURCES): New variable.
35384 (acorn_mod_CFLAGS): Likewise.
35385
35386 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35387 `partmap/acorn.c'.
35388 (pkgdata_MODULES): Add `acorn.mod'.
35389 (acorn_mod_SOURCES): New variable.
35390 (acorn_mod_CFLAGS): Likewise.
35391
35392 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
35393 (pkgdata_MODULES): Add `acorn.mod'.
35394 (acorn_mod_SOURCES): New variable.
35395 (acorn_mod_CFLAGS): Likewise.
35396 (acorn_mod_LDFLAGS): Likewise.
35397
35398 * include/types.h (grub_disk_addr_t): New typedef.
35399
6d099807 354002005-11-13 Marco Gerards <mgerards@xs4all.nl>
35401
35402 * geninit.sh: New file.
35403
35404 * geninitheader.sh: Likewise.
35405
35406 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
35407 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
35408 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
35409 * commands/configfile.c (grub_configfile_init)
35410 (grub_configfile_fini): Likewise.
35411 * commands/default.c (grub_default_init, grub_default_fini):
35412 Likewise.
35413 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
35414 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
35415 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
35416 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
35417 Likewise.
35418 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
35419 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
35420 Likewise.
35421 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 35422 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 35423 Likewise.
35424 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
35425 Likewise.
fe6b695a 35426 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 35427 Likewise.
35428 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
35429 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
35430 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
35431 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
35432 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
35433 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
35434 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
35435 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
35436 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
35437 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
35438 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
35439 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
35440 * partmap/amiga.c (grub_amiga_partition_map_init)
35441 (grub_amiga_partition_map_fini): Likewise.
35442 * partmap/apple.c (grub_apple_partition_map_init)
35443 (grub_apple_partition_map_fini): Likewise.
35444 * partmap/pc.c (grub_pc_partition_map_init)
35445 (grub_pc_partition_map_fini): Likewise.
35446 * partmap/sun.c (grub_sun_partition_map_init,
35447 grub_sun_partition_map_fini): Likewise.
35448 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
35449 Likewise.
35450
35451 * util/grub-emu.c: Include <grub_modules_init.h>.
35452 (main): Don't initialize and de-initialize any modules directly,
35453 use `grub_init_all' and `grub_fini_all' instead.
35454
35455 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
35456 `grub_vesafb_mod_init'.
35457 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
35458 all users.
35459 * term/i386/pc/vga.c (grub_vga_init): Renamed to
35460 `grub_vga_mod_init'. Updated all users.
35461 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 35462
6d099807 35463 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
35464 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
35465 rules.
35466
35467 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
35468 Generate a function to initialize the module in utilities.
35469 Updated all callers.
35470 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
35471 initialize the module in utilities. Updated all callers.
35472
9046bcf0 354732005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35474
35475 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
35476 escape sequence and a literal ^L to clear the screen.
35477
35478 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
35479 when returning from Open Firmware.
35480
d13ea639 354812005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35482
35483 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
35484 (grub_ofconsole_height): Likewise.
35485 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
35486 manually insert a '\n'.
35487 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
35488 `grub_ofconsole_height'. Return early if these are already set.
35489
a8fcf206 354902005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
35491
35492 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35493 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
35494 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
35495 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
35496 and `normal/script.c'.
35497 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35498 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35499 (test_mod_SOURCES): New variable.
35500 (test_mod_CFLAGS): Likewise.
35501 (test_mod_LDFLAGS): Likewise.
35502 (pkgdata_MODULES): Add `test.mod'.
35503 (grub_script.tab.c): New rule.
35504 (grub_script.tab.h): Likewise.
35505
b6b32745 355062005-11-07 Marco Gerards <mgerards@xs4all.nl>
35507
35508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35509 `commands/test.c', `normal/execute.c', `normal/lexer.c',
35510 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35511 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35512 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35513 (test_mod_SOURCES): New variable.
35514 (test_mod_CFLAGS): Likewise.
35515 (pkgdata_MODULES): Add `test.mod'.
35516 (grub_script.tab.c): New rule.
35517 (grub_script.tab.h): Likewise.
35518
daac212a 355192005-11-06 Marco Gerards <mgerards@xs4all.nl>
35520
35521 Add initial scripting support.
35522
35523 * commands/test.c: New file.
35524 * include/grub/script.h: Likewise.
35525 * normal/execute.c: Likewise.
35526 * normal/function.c: Likewise.
35527 * normal/lexer.c: Likewise.
35528 * normal/parser.y: Likewise.
35529 * normal/script.c: Likewise.
35530
35531 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 35532
daac212a 35533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
35534 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
35535 `normal/function.c' and `normal/script.c'.
35536 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35537 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 35538 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
35539 variables.
daac212a 35540 (pkgdata_MODULES): Add `test.mod'.
35541 (grub_script.tab.c): New rule.
35542 (grub_script.tab.h): Likewise.
35543
35544 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
35545
35546 * include/grub/normal.h (grub_test_init): New prototype.
35547 (grub_test_fini): Likewise.
f19dbdb7 35548
daac212a 35549 * normal/command.c: Include <grub/script.h>.
35550 (grub_command_execute): Rewritten.
f19dbdb7 35551
daac212a 35552 * util/grub-emu.c (main): Call `grub_test_init' and
35553 `grub_test_fini'.
35554
77500b2b 355552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35556
35557 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
35558 to 0.
35559 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
35560 there are no pending characters.
35561
e45deb9e 355622005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35563
35564 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
35565 `grub_strndup' to drop device arguments. Replace unnecessary
35566 `grub_strndup' with `grub_strdup'.
35567
4ce32619 355682005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35569
35570 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
35571 `debug' environment variable has been set.
35572
355732005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35574
4ce32619 35575 * Makefile.in (install-local): Use $(DATA).
35576 (uninstall): Likewise.
35577 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
35578 (sbin_UTILITIES): ... to here.
35579 (sbin_SCRIPTS): New variable.
35580 (grub_install_SOURCES): New variable.
35581 * util/powerpc/ieee1275/grub-install.in: New file.
35582 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
35583 variable.
35584 (add_segments): Call `grub_util_get_path'.
35585
25fe6f03 355862005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35587
35588 From Timothy Baldwin:
35589 * commands/ls.c (grub_ls_list_files): Close FILE with
35590 grub_file_close.
35591 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
35592
04ccf3ec 355932005-10-24 Marco Gerards <mgerards@xs4all.nl>
35594
35595 * include/grub/parser.h: New file.
35596
35597 * kern/parser.c: Likewise.
35598
35599 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
35600 (grub_setup_SOURCES): Likewise.
35601 (grub_probefs_SOURCES): Likewise.
35602 (grub_emu_SOURCES): Likewise.
35603 (kernel_img_HEADERS): Add `parser.h'.
35604
35605 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35606 (grub_emu_SOURCES): Add `kern/parser.c'.
35607 (grubof_SOURCES): Likewise.
35608
35609 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35610 (grubof_SOURCES): Add `kern/parser.c'.
35611
35612 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
35613
35614 * kern/misc.c (grub_split_cmdline): Removed function.
35615
35616 * kern/rescue.c: Include <grub/parser.h>.
35617 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
35618 of `grub_split_cmdline'.
35619
35620 * normal/command.c: Include <grub/parser.h>.
35621 (grub_command_execute): Use `grub_parser_split_cmdline' instead
35622 of `grub_split_cmdline'.
35623
35624 * normal/completion.c: Include <grub/parser.h>.
35625 (cmdline_state): New variable.
35626 (iterate_dir): End the filename with a quote depending on the
35627 command line state.
35628 (get_state): new function.
35629 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
35630 split the arguments and determine the current argument. When the
35631 argument string is not quoted, escape all spaces.
35632
6d8f4b0e 356332005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35634
35635 * normal/sparc64/setjmp.S: New file.
35636
15cf03ed 356372005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35638
35639 * include/grub/sparc64/libgcc.h: New file.
35640 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
35641 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
35642 normal/sparc64/setjmp.c.
35643
03e8661a 356442005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35645
35646 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
35647 * kern/sparc64/cache.S: New file.
35648 * kern/sparc64/cache.c: Removed.
35649 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
35650 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
35651 -mtune=ultrasparc.
35652 (COMMON_LDFLAGS): Add -melf64_sparc.
35653 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
35654 (grubof_SOURCES): Use cache.S instead of cache.c.
35655 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
35656 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
35657 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
35658 commented though.
35659 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
35660 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
35661 (linux_mod_CFLAGS): Commented out.
35662 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
35663 out because module isn't built.
35664 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
35665 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
35666 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
35667 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
35668 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
35669 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35670 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35671 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
35672 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
35673 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
35674 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35675 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35676 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
35677 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
35678
34eeec8a 356792005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
35680
35681 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
35682 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
35683 longer, because HFS should not be used on PC.
35684
708367a3 356852005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35686
35687 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
35688 consistently within the loop.
35689
6fa1251a 356902005-10-15 Marco Gerards <mgerards@xs4all.nl>
35691
35692 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
35693 directory can not be read.
35694
4801580b 356952005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35696
35697 * configure.ac (AC_INIT): Increase the version number to 1.91.
35698
35699 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35700 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35701 term/i386/pc/serial.c.
35702
219ad426 357032005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35704
35705 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35706 file size must be permitted.
35707
35708 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35709 between %ah and %al.
35710
688e5699 357112005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35712
35713 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35714 grub_uint64_t.
35715 Call the hook with a NUL-terminated filename.
35716 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35717 grub_cpu_to_be32.
35718
35719 * kern/term.c (cursor_state): New variable.
35720 (grub_term_set_current): Reset the cursor state on a new
35721 terminal.
35722 (grub_setcursor): Rewritten to use CURSOR_STATE.
35723 (grub_getcursor): New function.
35724
35725 * include/grub/term.h (grub_getcursor): New prototype.
35726
35727 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35728 integers on ARM. Reported by Timothy Baldwin
35729 <T.E.Baldwin99@members.leeds.ac.uk>.
35730
bb34586c 357312005-10-11 Marco Gerards <mgerards@xs4all.nl>
35732
35733 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35734 allocated.
35735 (grub_sfs_dir): Likewise.
35736
9a909877 357372005-10-09 Marco Gerards <mgerards@xs4all.nl>
35738
35739 Add support for the SFS filesystem.
35740
35741 * fs/sfs.c: New file.
35742
35743 * DISTLIST: Added `fs/sfs.c'.
35744
35745 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35746 (grub_probefs_SOURCES): Likewise.
35747 (grub_emu_SOURCES): Likewise.
35748 (pkgdata_MODULES): Add `sfs.mod'.
35749 (sfs_mod_SOURCES): New variable.
35750 (sfs_mod_CFLAGS): Likewise.
35751 (sfs_mod_LDFLAGS): Likewise.
35752
35753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35754 (pkgdata_MODULES): Add `sfs.mod'.
35755 (sfs_mod_SOURCES): New variable.
35756 (sfs_mod_CFLAGS): Likewise.
35757
35758 * util/grub-emu.c (main): Call `grub_sfs_init' and
35759 `grub_sfs_fini'.
35760
35761 * include/grub/fs.h (grub_sfs_init): New prototype.
35762 (grub_sfs_fini): Likewise.
35763
57bdbde3 357642005-10-07 Marco Gerards <mgerards@xs4all.nl>
35765
35766 Add support for the AFFS filesystem.
35767
35768 * fs/affs.c: New file.
35769
35770 * DISTLIST: Added `fs/affs.c'.
35771
35772 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35773 (grub_probefs_SOURCES): Likewise.
35774 (grub_emu_SOURCES): Likewise.
35775 (pkgdata_MODULES): Add `affs.mod'.
35776 (affs_mod_SOURCES): New variable.
35777 (affs_mod_CFLAGS): Likewise.
35778 (affs_mod_LDFLAGS): Likewise.
35779
35780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35781 (pkgdata_MODULES): Add `affs.mod'.
35782 (affs_mod_SOURCES): New variable.
35783 (affs_mod_CFLAGS): Likewise.
35784
35785 * util/grub-emu.c (main): Call `grub_affs_init' and
35786 `grub_affs_fini'.
35787
35788 * include/grub/fs.h (grub_affs_init): New prototype.
35789 (grub_affs_fini): Likewise.
35790
047b67e0 357912005-10-01 Marco Gerards <mgerards@xs4all.nl>
35792
35793 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35794
59b8208a 357952005-10-01 Marco Gerards <mgerards@xs4all.nl>
35796
35797 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35798 `-m32' to CFLAGS.
35799
35800 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35801 linking.
f19dbdb7 35802
59b8208a 35803 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35804 (COMMON_LDFLAGS): New variable.
35805 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35806 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35807 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35808 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35809 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35810 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35811 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35812 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35813 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35814 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35815 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35816 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35817 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35818 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35819 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35820 variables.
35821 (normal_mod_ASFLAGS): Add `-m32'.
35822
35823 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35824 (grub_host_size_t, grub_host_ssize_t): New types.
35825 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35826 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35827 `GRUB_HOST_SIZEOF_VOID_P'.
35828
35829 * include/grub/kernel.h (struct grub_module_header): Type of
35830 member offset changed to `grub_host_off_t'. Type of member size
35831 changed to `grub_host_size_t'.
35832 (struct grub_module_info): Type of member offset changed to
35833 `grub_host_off_t'. Type of member size changed to
35834 `grub_host_size_t'.
35835
b4093103 358362005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35837
35838 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35839
b4093103 35840 * kern/i386/pc/startup.S (multiboot_header): New label.
35841 (multiboot_entry): Likewise.
35842 (multiboot_trampoline): Likewise.
35843
35844 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35845 Increased to 0x4A0.
35846
35847 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35848 put parentheses after a question mark.
35849 [!GRUB_UTIL] (my_mod): New variable.
35850
35851 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35852
b2499b29 358532005-09-28 Marco Gerards <mgerards@xs4all.nl>
35854
35855 Adds support for the XFS filesystem. Btrees are not supported
35856 yet.
35857
35858 * fs/xfs.c: New file.
35859
35860 * DISTLIST: Added `fs/xfs.c'.
35861
35862 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35863 (grub_probefs_SOURCES): Likewise.
35864 (grub_emu_SOURCES): Likewise.
35865 (pkgdata_MODULES): Add `xfs.mod'.
35866 (xfs_mod_SOURCES): New variable.
35867 (xfs_mod_CFLAGS): Likewise.
35868
35869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35870 (pkgdata_MODULES): Add `xfs.mod'.
35871 (xfs_mod_SOURCES): New variable.
35872 (xfs_mod_CFLAGS): Likewise.
35873
35874 * util/grub-emu.c (main): Call `grub_xfs_init' and
35875 `grub_xfs_fini'.
35876
35877 * include/grub/fs.h (grub_xfs_init): New prototype.
35878 (grub_xfs_fini): Likewise.
35879
f19dbdb7 35880
83d37a62 358812005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35882
35883 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35884 color modes, allow greater than 16 colors to be configured as
35885 a default palette.
35886
47d2d65e 358872005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35888
35889 * normal/completion.c (complete_arguments): Add the qualifier
35890 const into OPTIONS.
35891
35892 From Omniflux <omniflux+lists@omniflux.com>:
35893 * include/grub/terminfo.h: New file.
35894 * include/grub/tparm.h: Likewise.
35895 * include/grub/i386/pc/serial.h: Likewise.
35896 * term/terminfo.c: Likewise.
35897 * term/tparm.c: Likewise.
35898 * term/i386/pc/serial.c: Likewise.
35899 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35900 serial.mod.
35901 (terminfo_mod_SOURCES): New variable.
35902 (terminfo_mod_CFLAGS): Likewise.
35903 (serial_mod_SOURCES): Likewise.
35904 (serial_mod_CFLAGS): Likewise.
35905
48b671ff 359062005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35907
35908 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35909 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35910 and kern/powerpc/ieee1275/cmain.c, respectively.
35911
35912 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35913 * kern/powerpc/ieee1275/crt0.S: ... here.
35914
35915 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35916 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35917
48b671ff 35918 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35919 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35920 instead of boot/powerpc/ieee1275/crt0.S and
35921 boot/powerpc/ieee1275/cmain.c, respectively.
35922
35923 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35924 sectors. It was not used anyway.
35925
09fc77a7 359262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35927
35928 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35929 `unused parameter' warning.
35930
003789c7 359312005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35932
35933 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35934 function.
35935 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35936 getcharwidth.
35937
67f44c86 359382005-08-28 Marco Gerards <metgerards@student.han.nl>
35939
35940 * include/grub/normal.h (enum grub_completion_type): Added
35941 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35942
35943 * normal/cmdline.c (print_completion): Handle
35944 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35945 * normal/menu_entry.c (store_completion): Likewise.
35946
35947 * normal/completion.c (complete_arguments): New function.
35948 (grub_normal_do_completion): Call `complete_arguments' when the
35949 current words start with a dash.
35950
0b5abe02 359512005-08-27 Marco Gerards <metgerards@student.han.nl>
35952
35953 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35954 `gzio.mod' instead of `io.mod').
35955
d9864ee1 359562005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35957
35958 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35959 (DISTDIRS): Added io and video.
35960 Rewrite the search routine to make an output consistently.
35961
35962 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35963 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35964 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35965 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35966 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35967 util/powerpc/ieee1275/misc.c.
f19dbdb7 35968
d9864ee1 35969 * include/grub/gzio.h: New file.
35970 * io/gzio.c: Likewise.
f19dbdb7 35971
d9864ee1 35972 * kern/file.c (grub_file_close): Call grub_device_close only if
35973 FILE->DEVICE is not NULL.
35974
35975 * include/grub/mm.h [!NULL] (NULL): New macro.
35976
35977 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35978
35979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35980 (pkgdata_MODULES): Added gzio.mod.
35981 (gzio_mod_SOURCES): New variable.
35982 (gzio_mod_CFLAGS): Likewise.
35983
35984 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35985 (pkgdata_MODULES): Added gzio.mod.
35986 (gzio_mod_SOURCES): New variable.
35987 (gzio_mod_CFLAGS): Likewise.
35988
35989 * commands/cat.c: Include grub/gzio.h.
35990 (grub_cmd_cat): Use grub_gzfile_open instead of
35991 grub_file_open.
f19dbdb7 35992
d9864ee1 35993 * commands/cmp.c: Include grub/gzio.h.
35994 (grub_cmd_cmp): Use grub_gzfile_open instead of
35995 grub_file_open.
35996
35997 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35998 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35999 grub_file_open.
36000 (grub_rescue_cmd_module): Likewise.
36001
fa46f4b5 360022005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36003
36004 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36005 kern/sparc64/ieee1275/init.c because it contains _start.
36006 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36007
e9211b5d 360082005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36009
36010 * configure.ac: Add support for sparc64 host with ieee1275
36011 firmware.
36012 * configure: Generated from configure.ac.
36013 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
36014 instead of int.
36015 (grub_ofdisk_read): Likewise.
36016 (grub_ofdisk_open): Use %p to print pointer values, and cast the
36017 pointers as (void *) to remove a warning.
36018 (grub_ofdisk_close): Likewise.
36019 (grub_ofdisk_read): Likewise.
36020 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
36021 returns, so make it return void to remove a warning.
36022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
36023 Corresponding prototype change.
36024 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
36025 values, and cast the pointers as (void *) to remove a warning.
36026 (grub_mm_dump): Likewise.
36027 * conf/sparc64-ieee1275.mk: New file.
36028 * conf/sparc64-ieee1275.rmk: Likewise.
36029 * include/grub/sparc64/setjmp.h: Likewise.
36030 * include/grub/sparc64/types.h: Likewise.
36031 * include/grub/sparc64/ieee1275/console.h: Likewise.
36032 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36033 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36034 * include/grub/sparc64/ieee1275/time.h: Likewise.
36035 * kern/sparc64/cache.c: Likewise.
36036 * kern/sparc64/dl.c: Likewise.
36037 * kern/sparc64/ieee1275/init.c: Likewise.
36038 * kern/sparc64/ieee1275/openfw.c: Likewise.
36039
385c6a92 360402005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36041
36042 * util/console.c (grub_ncurses_putchar): If C is greater than
36043 0x7f, set C to a question mark.
36044 (grub_ncurses_getcharwidth): New function.
36045 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
36046 getcharwidth.
36047
36048 * normal/menu.c (print_entry): Made aware of Unicode. First,
36049 convert TITLE to UCS-4, and predict the cursor position by
36050 grub_getcharwidth.
36051
36052 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
36053 const to SRC.
36054 * kern/misc.c (grub_utf16_to_utf8): Likewise.
36055
16ccb8b1 360562005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36057
36058 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
36059 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36060 grub_strcat.
36061
36062 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
36063 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36064 grub_strcpy and grub_strlen. Take it into account that a space
36065 character is inserted as a delimiter.
36066
6a85ce79 360672005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36068
36069 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 36070 invalid magic in the error.
6a85ce79 36071
36072 * commands/search.c: New file.
f19dbdb7 36073
6a85ce79 36074 * util/grub-emu.c (main): Call grub_search_init and
36075 grub_search_fini.
36076
36077 * kern/rescue.c (grub_rescue_print_disks): Removed.
36078 (grub_rescue_print_devices): New function.
36079 (grub_rescue_cmd_ls): Use grub_device_iterate with
36080 grub_rescue_print_devices instead of grub_disk_dev_iterate with
36081 grub_rescue_print_disks.
36082
36083 * kern/partition.c (grub_partition_iterate): Return the result of
36084 PARTMAP->ITERATE instead of GRUB_ERRNO.
36085
36086 * kern/device.c: Include grub/partition.h.
36087 (grub_device_iterate): New function.
36088
36089 * include/grub/partition.h (grub_partition_iterate): Return int
36090 instead of grub_err_t.
36091
36092 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
36093 prototype.
36094 [GRUB_UTIL] (grub_search_fini): Likewise.
36095
36096 * include/grub/device.h (grub_device_iterate): New prototype.
36097
36098 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36099 commands/search.c.
36100 (pkgdata_MODULES): Added search.mod.
36101 (search_mod_SOURCES): New variable.
36102 (search_mod_CFLAGS): Likewise.
36103
36104 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
36105 (pkgdata_MODULES): Added search.mod.
36106 (search_mod_SOURCES): New variable.
36107 (search_mod_CFLAGS): Likewise.
36108
36109 * commands/ls.c (grub_ls_list_disks): Renamed to ...
36110 (grub_ls_list_devices): ... this, and use grub_device_iterate.
36111 All callers changed.
36112
36113 * DISTLIST: Added commands/search.c.
36114
ef095434 361152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36116
36117 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
36118 conversion.
36119 (grub_getcharwidth): New function.
36120
36121 * kern/misc.c (grub_utf8_to_ucs4): New function.
36122
36123 * include/grub/term.h (struct grub_term): Added a new member
36124 "getcharwidth".
36125 (grub_getcharwidth): New prototype.
36126
36127 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
36128
36129 * term/i386/pc/console.c (map_char): New function. Segregated from
36130 grub_console_putchar.
36131 (grub_console_putchar): Use map_char.
36132 (grub_console_getcharwidth): New function.
36133 (grub_console_term): Specified grub_console_getcharwidth as
36134 getcharwidth.
36135
36136 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
36137 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
36138
36139 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
36140 GRUB_ERRNO.
36141 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
36142 on grub_strtoul completely.
36143 (write_char): Declare local variables in the beginning of the
36144 function.
36145 (grub_vesafb_getcharwidth): New function.
36146 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
36147 getcharwidth.
36148
1f0a95e4 361492005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
36150
36151 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
36152 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
36153 commands/i386/pc/vbetest.c.
36154
36155 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
36156 call grub_vbe_get_controller_info again, because the returned
36157 information is volatile.
36158 (grub_vbe_set_video_mode): Mostly rewritten.
36159 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
36160 grub_vbe_status_t correctly.
36161 (grub_vbe_get_video_mode_info): Likewise.
36162 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
36163 several if statements.
36164
36165 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
36166 * commands/i386/pc/vbeinfo.c: ... this.
36167
36168 * commands/i386/pc/vbe_test.c: Renamed to ...
36169 * commands/i386/pc/vbetest.c: ... this.
36170
36171 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
36172 ...
36173 (grub_cmd_vbeinfo): ... this. Save video modes before
36174 iterating. Skip a video mode, if it is not available, not enough
36175 information is given or it is monochrome. Show the memory
36176 model. Leave the interpretation of MODEVAR to grub_strtoul
36177 completely.
36178 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
36179 (GRUB_MOD_FINI): Likewise.
36180
36181 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
36182 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
36183 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
36184 duplicated grub_env_get. Leave the interpretation of MODEVAR to
36185 grub_strtoul completely.
36186 (real2pm): Removed.
36187 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
36188 (GRUB_MOD_FINI): Likewise.
36189
36190 * normal/misc.c: Include grub/mm.h.
36191
36192 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
36193 vbe_list_modes with vbetest.mod and vbeinfo.mod.
36194 (vbe_list_modes_mod_SOURCES): Removed.
36195 (vbe_list_modes_mod_CFLAGS): Likewise.
36196 (vbe_test_mod_SOURCES): Likewise.
36197 (vbe_test_mod_CFLAGS): Likewise.
36198 (vbeinfo_mod_SOURCES): New variable.
36199 (vbeinfo_mod_CFLAGS): Likewise.
36200 (vbetest_mod_SOURCES): Likewise.
36201 (vbetest_mod_CFLAGS): Likewise.
36202
992ffbbe 362032005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
36204
36205 * normal/misc.c: New file.
36206
36207 * DISTLIST: Added normal/misc.c.
f19dbdb7 36208
992ffbbe 36209 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
36210 DISK to HOOK. Call HOOK with DISK.
36211 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36212 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36213 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36214
36215 * normal/menu_entry.c (struct screen): Added a new member
36216 "completion_shown".
36217 (completion_buffer): New global variable.
36218 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
36219 (store_completion): New function.
36220 (complete): Likewise.
36221 (clear_completions): Likewise.
36222 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
36223 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
36224 a tab, call complete.
36225
36226 * normal/completion.c (disk_dev): Removed.
36227 (print_simple_completion): Likewise.
36228 (print_partition_completion): Likewise.
36229 (print_func): New global variable.
36230 (add_completion): Do not take the arguments WHAT or PRINT any
36231 longer. Added a new argument TYPE. Instead of printing directly,
36232 call PRINT_FUNC if not NULL.
36233 All callers changed.
36234 (complete_device): Use a local variable DEV instead of
36235 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
36236 (grub_normal_do_completion): Take a new argument HOOK. Do not
36237 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
36238 empty string, return NULL instead.
36239 All callers changed.
36240
36241 * normal/cmdline.c (print_completion): New function.
36242
36243 * kern/partition.c (grub_partition_iterate): Add an argument DISK
36244 to HOOK.
36245 All callers changed.
36246
36247 * kern/disk.c (grub_print_partinfo): Removed.
36248
36249 * include/grub/partition.h (struct grub_partition_map): Add a new
36250 argument DISK into HOOK of ITERATE.
36251 (grub_partition_iterate): Add a new argument DISK to HOOK.
36252
36253 * include/grub/normal.h (enum grub_completion_type): New enum.
36254 (grub_completion_type_t): New type.
36255 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
36256 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
36257 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
36258 (GRUB_COMPLETION_TYPE_FILE): Likewise.
36259 (grub_normal_do_completion): Added a new argument HOOK.
36260 (grub_normal_print_device_info): New prototype.
36261
36262 * include/grub/disk.h (grub_print_partinfo): Removed.
36263
36264 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
36265 (normal_mod_SOURCES): Likewise.
36266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36267 (normal_mod_SOURCES): Likewise.
36268
36269 * commands/ls.c (grub_ls_list_disks): Use
36270 grub_normal_print_device_info instead of grub_print_partinfo. Free
36271 PNAME.
36272 (grub_ls_list_files): Use grub_normal_print_device_info instead of
36273 duplicating the code.
36274
0bd41162 362752005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36276
36277 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 36278 follow GCS more precisely.
36279 * commands/i386/pc/vbe_test.c: Likewise.
36280 * include/grub/i386/pc/vbe.h: Likewise.
36281 * term/i386/pc/vesafb.c: Likewise.
36282 * video/i386/pc/vbe.c: Likewise.
0bd41162 36283
6323696a 362842005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36285
36286 * DISTLIST: Added term/i386/pc/vesafb.c
36287 DISTLIST: Added video/i386/pc/vbe.c
36288 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
36289 DISTLIST: Added commands/i386/pc/vbe_test.c.
36290 * commands/i386/pc/vbe_list_modes.c: New file.
36291 * commands/i386/pc/vbe_test.c: Likewise.
36292 * term/i386/pc/vesafb.c: Likewise.
36293 * video/i386/pc/vbe.c: Likewise.
36294 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
36295 (grub_vbe_probe) Added prototype.
36296 (grub_vbe_set_video_mode) Likewise.
36297 (grub_vbe_get_video_mode) Likewise.
36298 (grub_vbe_get_video_mode_info) Likewise.
36299 (grub_vbe_set_pixel_rgb) Likewise.
36300 (grub_vbe_set_pixel_index) Likewise.
36301 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
36302 (pkgdata_MODULES): Added vesafb.mod.
36303 (pkgdata_MODULES): Added vbe_list_modes.mod.
36304 (pkgdata_MODULES): Added vbe_test.mod.
36305 (vbe_mod_SOURCES): Added.
36306 (vbe_mod_CFLAGS): Likewise.
36307 (vesafb_mod_SOURCES): Likewise.
36308 (vesafb_mod_CFLAGS): Likewise.
36309 (vbe_list_modes_mod_SOURCES): Likewise.
36310 (vbe_list_modes_mod_CFLAGS): Likewise.
36311 (vbe_test_mod_SOURCES): Likewise.
36312 (vbe_test_mod_CFLAGS): Likewise.
36313
0a74e62f 363142005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
36315
0a74e62f 36316 * normal/command.c (grub_command_execute): If INTERACTIVE is
36317 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
36318 CMDLINE. Disable the pager if INTERACTIVE is true.
36319 All callers are changed.
36320
36321 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
36322 before reading a config file.
36323 * normal/main.c (read_config_file): Even if a command is not
36324 found, register it if it is within an entry.
36325
36326 * util/grub-emu.c: Include sys/types.h and unistd.h.
36327 (options): Added --hold.
36328 (struct arguments): Added a new member "hold".
36329 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
36330 missing.
36331 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
36332 cleared by a debugger, if it is not zero.
36333
36334 * include/grub/normal.h (grub_command_execute): Add an argument
36335 INTERACTIVE.
36336
e51f85ae 363372005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
36338
36339 * DISTLIST: Added include/grub/i386/pc/vbe.h.
36340
e9c6f39b 363412005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
36342
36343 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
36344 program with another one, because the old one didn't detect a bug
36345 in gcc-3.4. Always use regparm 2, because the new test is still
36346 not enough for gcc-4.0. Someone must investigate a simple test
36347 case which detects a bug in gcc-4.0.
36348
8de3495c 363492005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
36350
36351 * DISTLIST: Added normal/completion.c.
36352
36353 * normal/completion.c: New file.
f19dbdb7 36354
8de3495c 36355 * term/i386/pc/console.c (grub_console_getwh): New function.
36356 (grub_console_term): Assign grub_console_getwh to getwh.
36357
36358 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
36359 function is defined in normal/completion.c as
36360 grub_normal_do_completion.
36361 (grub_cmdline_get): Use grub_normal_do_completion instead of
36362 grub_tab_complete.
36363
36364 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
36365 returns non-zero, otherwise return 0.
36366 (grub_partition_iterate): First, probe the partition map. Then,
36367 call ITERATE only for this partition map.
36368
36369 * kern/misc.c (grub_strncmp): Rewritten.
36370
36371 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
36372 returns non-zero. Otherwise return 0.
36373
36374 * include/grub/partition.h (grub_partition_map_iterate): Return
36375 int instead of void.
36376
36377 * include/grub/normal.h (grub_normal_do_completion): New prototype.
36378
36379 * include/grub/misc.h (grub_strncmp): Change the type of N to
36380 grub_size_t.
36381
36382 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
36383 of void.
36384
36385 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 36386 unsigned explicitly before comparing it with I.
8de3495c 36387
36388 * kern/main.c (grub_env_write_root): Add the attribute unused into
36389 VAR.
36390
36391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36392 normal/completion.c.
36393 (normal_mod_SOURCES): Likewise.
36394 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36395 (normal_mod_SOURCES): Likewise.
36396
36397 * normal/command.c (grub_iterate_commands): If ITERATE returns
36398 non-zero, return one immediately.
36399
e85e144b 364002005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
36401
36402 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
36403 * kern/i386/pc/startup.S: Updated Global Descriptor table's
36404 descriptions.
36405 (grub_vbe_get_controller_info): New function.
36406 (grub_vbe_get_mode_info): Likewise.
36407 (grub_vbe_set_mode): Likewise.
36408 (grub_vbe_get_mode): Likewise.
36409 (grub_vbe_set_memory_window): Likewise.
36410 (grub_vbe_get_memory_window): Likewise.
36411 (grub_vbe_set_scanline_length): Likewise.
36412 (grub_vbe_get_scanline_length): Likewise.
36413 (grub_vbe_set_display_start): Likewise.
36414 (grub_vbe_get_display_start): Likewise.
36415 (grub_vbe_set_palette_data): Likewise.
36416 * include/grub/i386/pc/vbe.h: New file.
36417
c46153d2 364182005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36419
36420 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36421 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
36422 * DISTLIST: Likewise.
36423 * kern/ieee1275/of.c: Moved to ...
36424 * kern/ieee1275/ieee1275.c: ... here.
36425
0cb90c45 364262005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36427
36428 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
36429 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
36430 Pass 0 as `end' parameter to grub_strtoul().
36431
a19fb360 364322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36433
36434 * include/grub/powerpc/ieee1275/console.h: Do not include
36435 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
36436 ifdef.
36437 (grub_console_cur_color): Remove i386-specific prototype.
36438 (grub_console_real_putchar): Likewise.
36439 (grub_console_checkkey): Likewise.
36440 (grub_console_getkey): Likewise.
36441 (grub_console_getxy): Likewise.
36442 (grub_console_gotoxy): Likewise.
36443 (grub_console_cls): Likewise.
36444 (grub_console_setcursor): Likewise.
36445 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
36446 Include <grub/machine/console.h>.
36447 * term/ieee1275/ofconsole.c: Likewise.
36448
4ac9bd04 364492005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
36450
36451 * Makefile.in (LIBLZO): New variable.
36452
36453 * configure.ac: Check for LZO version 2.
36454
36455 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
36456 lzo/lzo1x.h instead of lzo1x.h.
36457
36458 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
36459 of -llzo.
36460
36461 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
36462 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
36463
36464 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
36465 copying the data from PARTITION to P.
36466
f4917dfd 364672005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36468
36469 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
36470 negative, unload the module.
36471
36472 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
36473 map is "pc_partition_map" but not "pc".
36474 (usage): Fix the description. The options are --boot-image and
36475 --core-image but not --boot-file or --core-file.
36476 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
36477 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
36478 DEFAULT_DIRECTORY.
36479
36480 * util/i386/pc/grub-install.in: Do not specify --boot-file or
36481 --core-file. Specify INSTALL_DEVICE as an argument.
36482
36483 * util/console.c: Include config.h.
36484 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
36485 [HAVE_NCURSES_H]: Include ncurses.h.
36486 [HAVE_CURSES_H]: Include curses.h.
36487 [!A_NORMAL] (A_NORMAL): Defined as zero.
36488 [!A_STANDOUT] (A_STANDOUT): Likewise.
36489
36490 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
36491 -lncurses.
36492 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
36493
36494 * configure.ac: Check for curses libraries and headers.
36495
36496 * Makefile.in (LIBCURSES): New variable.
36497
36498 * genmk.rb (Script::rule): Set the executable bits.
36499
36500 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
36501 name of the PC partition map is "pc_partition_map" but not "pc".
36502
0e143073 365032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36504
36505 * util/i386/pc/grub-install.in (grub_probefs): New variable.
36506 (modules): Likewise.
36507 (usage): Added descriptions for --modules and --grub-probefs.
36508 Handle --modules and --grub-probefs. Save the arguments in MODULES
36509 and GRUB_PROBEFS, respectively.
36510 Auto-detect a filesystem module against GRUBDIR. If the result is
36511 empty and modules are not specified explicitly, abort the
36512 installation. Add the result to MODULES.
36513
36514 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
36515 disk/powerpc/ieee1275/ofdisk.c,
36516 include/grub/powerpc/ieee1275/init.h and
36517 term/powerpc/ieee1275/ofconsole.c.
36518 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
36519 term/ieee1275/ofconsole.c.
36520
36521 * include/grub/powerpc/ieee1275/console.h: Resurrected.
36522
36523 * COPYING: Upgraded to the latest version. Only the address of the
36524 FSF office has changed.
f19dbdb7 36525
efd6e6d5 365262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36527
36528 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36529 kern/ieee1275.c with kern/ieee1275/of.c.
36530
36531 * kern/ieee1275.c: Moved to ...
36532 * kern/ieee1275/of.c: ... here.
36533
8ceafda2 365342005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
36535
36536 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 36537 readability.
8ceafda2 36538
36539 * config.guess: Updated to the latest version from gnulib.
36540 * config.sub: Likewise.
36541 * install.sh: Likewise.
36542 * mkinstalldirs: Likewise.
36543
36544 * include/grub/console.h: Removed. This file is arch-specific. Do
36545 not put this in include/grub.
36546
36547 * include/grub/i386/pc/console.h: Resurrected.
36548
36549 * util/console.c: Include grub/machine/console.h instead of
36550 grub/console.h.
36551 * util/grub-emu.c: Likewise.
36552
267f6cd9 365532005-08-04 Marco Gerards <metgerards@student.han.nl>
36554
36555 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
36556 hardcoded value.
f19dbdb7 36557
267f6cd9 36558 From Vincent Pelletier <subdino2004@yahoo.fr>
36559 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
36560 Redefined to use grub_getwh.
36561 (grub_term): New member named getwh.
36562 (grub_getwh): New prototype.
36563 * kern/term.c (grub_getwh): New function.
36564 * term/i386/pc/console.c (grub_console_getwh): New function.
36565 (grub_console_term): New member `getwh'.
36566 * term/i386/pc/vga.c (grub_vga_getwh): New function.
36567 (grub_vga_term): New member `getwh'.
0b5abe02 36568 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 36569 grub_ssize_t.
36570 (grub_ofconsole_getw): New function.
36571 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
36572 (grub_ofconsole_term): New field named getwh and new initial
36573 value.
36574
3be7266d 365752005-08-03 Hollis Blanchard <hollis@penguinppc.org>
36576
36577 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
36578 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
36579 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
36580 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
36581 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
36582 of <grub/machine/ieee1275.h>.
36583 * commands/ieee1275/reboot.c: Likewise.
36584 * boot/powerpc/ieee1275/ieee1275.c: Move ...
36585 * kern/ieee1275.c: ... to here. All users updated. Change all
36586 parameter structs to use new type `grub_ieee1275_cell_t'.
36587 * term/powerpc/ieee1275/ofconsole.c: Move ...
36588 * term/ieee1275/ofconsole.c: ... to here. All users updated.
36589 * disk/powerpc/ieee1275/ofdisk.c: Move ...
36590 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
36591 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
36592 to return int.
36593 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
36594 Remove unused prototypes. All users updated.
36595 * include/grub/powerpc/ieee1275/console.h: Removed.
36596 * include/grub/powerpc/ieee1275/ieee1275.h: Define
36597 `grub_ieee1275_cell_t'.
36598 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
36599 Cast comparisons with -1 to the correct type.
36600 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
36601 type to match `grub_ieee1275_entry_fn'.
36602
8b5f3938 366032005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
36604
36605 * DISTLIST: Added util/i386/pc/grub-probefs.c.
36606
36607 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
36608 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
36609 partmap/sun.c.
36610 (grub_probefs_SOURCES): New variable.
36611
36612 * util/i386/pc/grub-probefs.c: New file.
36613
36614 * util/i386/pc/grub-setup.c (main): Call
36615 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
36616 grub_hfs_init and grub_jfs_init to initialize the system. Call
36617 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
36618 grub_pc_partition_map_fini to finish the system.
36619
ea409713 366202005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
36621
36622 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
36623 function.
36624 (grub_multiboot_load_elf32): Likewise.
36625 (grub_multiboot_is_elf64): Likewise.
36626 (grub_multiboot_load_elf64): Likewise.
36627 (grub_multiboot_load_elf): Likewise.
36628 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
36629 an ELF32 or ELF64 file.
36630 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
36631
36632 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
36633 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
36634 NULL before calling FS->LABEL.
36635 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
36636 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
36637 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
36638 before calling FS->LABEL.
36639
141a288b 366402005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
36641
36642 * util/i386/pc/grub-install.in (datadir): New variable.
36643 (libdir): Removed.
36644 (pkgdatadir): New variable.
36645 (pkglibdir): Removed.
36646
0d5f8a54 366472005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
36648
36649 * DISTLIST: Added util/i386/pc/grub-install.in.
36650
36651 * util/i386/pc/grub-install.in: New file.
36652
36653 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
36654 (grub_install_SOURCES): Likewise.
36655
36656 * genmk.rb: Added support for scripts.
36657 (Script): New class.
36658 (scripts): New variable.
36659
36660 * Makefile.in (install-local): Install sbin_SCRIPTS by
36661 INSTALL_SCRIPT.
36662 (uninstall): Remove sbin_SCRIPTS.
36663
36664 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
36665 device, try to get a GRUB device by
36666 grub_util_biosdisk_get_grub_dev.
36667 Free DEST_DEV.
36668
36669 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
36670 description for --device-map.
36671
5f968e1e 366722005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36673
36674 Change the semantics of variable hooks. They now return strings
36675 instead of error values.
f19dbdb7 36676
5f968e1e 36677 * util/i386/pc/grub-setup.c: Include grub/env.h.
36678 (setup): Use grub_device_set_root instead of grub_env_set.
36679
36680 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
36681 grub_env_get instead of grub_device_set_root and
36682 grub_device_get_root, respectively.
36683
36684 * kern/main.c (grub_env_write_root): New function.
36685 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
36686 grub_env_set instead of grub_device_set_root.
36687
36688 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
36689 many variables.
36690 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
36691 rather than calling ENV->WRITE_HOOK afterwards.
36692 (grub_env_get): Return the result of ENV->READ_HOOK rather than
36693 passing a pointer of a pointer.
36694 (grub_register_variable_hook): Change the types of "read_hook" and
36695 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
36696 respectively.
36697 Allocate the default empty string on the heap, because this string
36698 may be freed later.
36699
36700 * kern/device.c: Include grub/env.h.
36701 (grub_device_set_root): Removed.
36702 (grub_device_get_root): Likewise.
36703 (grub_device_open): Use grub_env_get instead of
36704 grub_device_get_root.
36705
36706 * include/grub/env.h (grub_env_read_hook_t): New type.
36707 (grub_env_write_hook_t): Likewise.
36708 (grub_env_var): Change the types of "read_hook" and "write_hook"
36709 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36710 (grub_register_variable_hook): Likewise.
36711
36712 * include/grub/device.h (grub_device_set_root): Removed.
36713 (grub_device_set_root): Likewise.
36714
36715 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36716 make sure that DIRNAME terminates with '/', so that
36717 grub_fat_find_dir will fail if PATH is not a directory.
36718
36719 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36720 from DIRNAME.
36721 Use the qualifier auto for print_files and print_files_long.
36722 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36723 as a regular file.
36724 Put a newline only if there is no error.
36725 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36726 used.
36727
896f0afd 367282005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36729
36730 * kern/partition.c (grub_partition_probe): Initialize PART to
36731 NULL. Otherwise, when no partition map is registered, this returns
36732 a garbage.
36733
b28b81b2 367342005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36735
36736 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36737 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36738 valid.
36739
5f3607e0 367402005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36741
36742 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36743 information on each device, if it does not have partitions. Print
36744 "Device" instead of "Disk", because this function is not specific
36745 to disk devices.
36746
36747 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36748 static to ensure that it is put on the memory rather than a
36749 register.
36750
502c87e8 367512005-07-17 Yoshinori Okuji <okuji@enbug.org>
36752
36753 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36754 (grub_cat_init): Likewise.
36755 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36756 (options): Likewise.
36757 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36758 (grub_configfile_init): Likewise.
36759 * font/manager.c (GRUB_MOD_INIT): Likewise.
36760 * commands/help.c (GRUB_MOD_INIT): Likewise.
36761 (grub_help_init): Likewise.
36762 * normal/command.c (grub_command_init): Likewise.
36763 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36764 * disk/loopback.c (grub_loop_init): Likewise.
36765 (GRUB_MOD_INIT): Likewise.
36766 * commands/ls.c (grub_ls_init): Likewise.
36767 (GRUB_MOD_INIT): Likewise.
36768 (options): Likewise.
36769 * commands/boot.c (grub_boot_init): Likewise.
36770 (GRUB_MOD_INIT): Likewise.
36771 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36772 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36773 (GRUB_MOD_INIT): Likewise.
36774 * commands/cmp.c (grub_cmp_init): Likewise.
36775 (GRUB_MOD_INIT): Likewise.
36776
36777 * normal/arg.c: Use <> instead of "" to include header files.
36778 (SHORT_ARG_HELP): New macro.
36779 (SHORT_ARG_USAGE): Likewise.
36780 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36781 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36782 descriptions.
36783 (find_short): Check if C is 'h' or 'u' explicitly.
36784 (grub_arg_show_help): Use space characters instead of tabs. Treat
36785 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36786 are shown with --help and --usage only if they are not used for
36787 the command itself.
36788 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36789 'h' and 'u'.
36790
36791 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36792 const into "longarg". Change the type of "shortarg" to int.
36793
f806d18e 367942005-07-17 Yoshinori Okuji <okuji@enbug.org>
36795
36796 * boot/i386/pc/boot.S (boot_drive_check): New label.
36797
36798 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36799 macro.
36800
36801 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36802 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36803
e293232b 368042005-07-17 Yoshinori Okuji <okuji@enbug.org>
36805
36806 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36807 When turning off Gate A20, skip the check and return immediately,
36808 because this is not fatal usually.
36809
ebedfd00 368102005-07-17 Yoshinori Okuji <okuji@enbug.org>
36811
36812 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36813 be 0x7C00 instead of 0x8000.
36814
36815 * boot/i386/pc/pxeboot.S: Rewritten.
36816
36817 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36818 EXT_C.
36819 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36820 result.
36821
654fc59f 368222005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36823
36824 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36825 robustness. This routine now supports a BIOS call and System
36826 Control Port A to modify the gate A20.
36827
36828 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36829 Increased to 0x440.
36830
09f9923f 368312005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36832
36833 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36834 device path and resulting ihandle.
36835 (grub_ofdisk_close): dprintf the ihandle being closed.
36836 (grub_ofdisk_read): dprintf function parameters.
36837 * kern/mm.c (grub_mm_init_region): Likewise.
36838 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36839 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36840 size, and boot arguments.
36841 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36842 before loading into memory.
36843 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36844 before loading into memory.
36845
7ef504d8 368462005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36847
36848 * kern/mm.c: Added much documentation.
36849 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36850 8, set to 5 instead of 8.
36851
e0f050c2 368522005-07-10 Yoshinori Okuji <okuji@enbug.org>
36853
36854 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36855
36856 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36857 (grub_mkdevicemap_SOURCES): New variable.
36858
36859 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36860 lib/device.c of GRUB Legacy.
36861
7224189a 368622005-07-10 Yoshinori Okuji <okuji@enbug.org>
36863
36864 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36865 instead of PATH is NULL.
36866
68c864eb 368672005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36868
36869 * commands/cmp.c (BUFFER_SIZE): New macro.
36870 (grub_cmd_cmp): Close the right file at the right time. Compare
36871 only data just read. Don't report files of different size as
36872 identical. Dynamically allocate buffers. Move variable
36873 declarations at the beginning of function.
36874
e6f3e614 368752005-07-09 Yoshinori Okuji <okuji@enbug.org>
36876
36877 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36878 reverse.
36879
f8f1559a 368802004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36881
36882 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36883 when backspace is pressed at beginning of line.
36884
39c9d41d 368852005-07-03 Yoshinori Okuji <okuji@enbug.org>
36886
36887 * DISTLIST: Added genfslist.sh.
36888
36889 * normal/main.c (fs_module_list): New variable.
36890 (autoload_fs_module): New function.
36891 (read_fs_list): Likewise.
36892 (grub_normal_execute): Call read_fs_list.
36893
36894 * kern/fs.c (grub_fs_autoload_hook): New variable.
36895 (grub_fs_probe): Added support for auto-loading.
36896
36897 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36898 (grub_fs_module_list_t): New type.
36899
36900 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36901 (grub_fs_autoload_hook): New prototype.
36902
36903 * genfslist.sh: New file.
f19dbdb7 36904
39c9d41d 36905 * genmk.rb: Added a rule to generate a filesystem list.
36906
121c1d83 369072005-06-30 Marco Gerards <metgerards@student.han.nl>
36908
36909 * configure.ac: Fix the test for cross-compiling.
36910
36911 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36912 define GRUB_UTIL anymore.
36913
36914 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36915 so this function works on other systems than just big endian.
36916 (load_modules): Likewise.
36917 (add_segments): Likewise.
36918
e75d76e1 369192005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36920
36921 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36922 contains `l' modifier, get a long from va_arg().
36923
50b5a0a7 369242005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36925
36926 * kern/mm.c (grub_free): If the next free block which is being
36927 merged is the first free block, set the first block to the block
36928 being freed.
36929 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36930
89371b20 369312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36932
36933 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36934 `grub_ieee1275_chosen'.
36935
168d6e58 369362005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36937
36938 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36939 (grub_ieee1275_chosen): New variable.
36940 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36941 `chosen'.
36942 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36943 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36944 Rename first argument to `phandle' for consistency.
36945 (grub_ieee1275_get_property_length): Likewise.
36946 (grub_ieee1275_next_property): Likewise. Change type of first argument
36947 to grub_ieee1275_phandle_t.
36948 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36949 Move export next to declaration.
36950 (grub_ieee1275_chosen): New variable.
36951 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36952 Correct cosmetic typo.
36953 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36954 `grub_ieee1275_chosen'.
36955 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36956 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36957 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36958 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36959 `grub_ieee1275_chosen'.
36960
ca5baa3f 369612005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36962
36963 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36964 /chosen/bootargs.
36965 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36966 /chosen/bootargs as "variable=value" pairs.
36967
708b345f 369682005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36969
36970 * include/grub/misc.h (grub_dprintf): New macro.
36971 (grub_real_dprintf): New prototype.
36972 (grub_strword): Likewise.
36973 (grub_iswordseparator): Likewise.
36974 * kern/misc.c (grub_real_dprintf): New function.
36975 (grub_strword): Likewise.
36976 (grub_iswordseparator): Likewise.
36977
f4c5e67c 369782005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36979
36980 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36981 (roundup): Remove macro.
36982 (grub_ieee1275_flags): Make static.
36983 (grub_ieee1275_realmode): Remove.
36984 (grub_ieee1275_test_flag): New function.
36985 (grub_ieee1275_set_flag): Likewise.
36986 (find_options): Rename to `grub_ieee1275_find_options'; update
36987 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36988 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36989 (cmain): New prototype.
36990 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36991 `grub_ieee1275_flags' directly.
36992 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36993 machine/biosdisk.h.
36994 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36995 Don't include grub/machine/init.h.
36996 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36997 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36998 Remove prototype.
36999 (grub_ieee1275_realmode): Likewise.
37000 (grub_ieee1275_flag): New enum.
37001 (grub_ieee1275_test_flag): New prototype.
37002 (grub_ieee1275_set_flag): New prototype.
37003 * include/grub/powerpc/ieee1275/init.h: Remove file.
37004 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37005 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37006 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37007 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37008 comment.
37009 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37010 `grub_ieee1275_test_flag'.
37011 (grub_ieee1275_encode_devname): Likewise.
37012
ed16607e 370132005-04-21 Hollis Blanchard <hollis@penguinppc.org>
37014
37015 * include/grub/powerpc/ieee1275/ieee1275.h
37016 (grub_ieee1275_encode_devname): New prototype.
37017 (grub_ieee1275_get_filename): Likewise.
37018 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
37019 function.
37020 (grub_set_prefix): Likewise.
37021 (grub_machine_init): Call grub_set_prefix.
37022 * kern/powerpc/ieee1275/openfw.c: Fix typos.
37023 (grub_parse_type): New enum.
37024 (grub_ieee1275_get_devargs): New function.
37025 (grub_ieee1275_get_devname): Likewise.
37026 (grub_ieee1275_parse_args): Likewise.
37027 (grub_ieee1275_get_filename): Likewise.
37028 (grub_ieee1275_encode_devname): Likewise.
37029
be369920 370302005-03-30 Marco Gerards <metgerards@student.han.nl>
37031
37032 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
37033 `grub_loader_unset'.
37034
a5ce3a4a 370352005-03-26 Hollis Blanchard <hollis@penguinppc.org>
37036
37037 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
37038 instead of grub_ieee1275_interpret.
37039 (grub_halt_init): New function.
37040 (grub_halt_fini): Likewise.
37041 (GRUB_MOD_INIT): Correct message grammar.
37042 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
37043 instead of grub_ieee1275_interpret.
37044 (grub_reboot_init): New function.
37045 (grub_reboot_fini): Likewise.
37046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
37047 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
37048 util/i386/pc/misc.c with commands/ieee1275/halt.c,
37049 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
37050 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
37051 function.
37052 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
37053 Add prototype.
37054 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
37055 prototype.
37056 (grub_halt): Likewise.
37057 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
37058 (cmain): Remove __attribute__((unused)).
37059 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
37060 (grub_heap_len): Likewise.
37061 (grub_machine_fini): New function.
37062 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
37063 (grub_halt): Likewise.
37064 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
37065 function.
37066 * util/powerpc/ieee1275/misc.c: New file.
37067
0058f771 370682005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37069
37070 * DISTLIST: New file.
37071 * gendistlist.sh: Likewise.
f19dbdb7 37072
0058f771 37073 * Makefile.in (COMMON_DISTFILES): Removed.
37074 (BOOT_DISTFILES): Likewise.
37075 (CONF_DISTFILES): Likewise.
37076 (DISK_DISTFILES): Likewise.
37077 (FS_DISTFILES): Likewise.
37078 (INCLUDE_DISTFILES): Likewise.
37079 (KERN_DISTFILES): Likewise.
37080 (LOADER_DISTFILES): Likewise.
37081 (TERM_DISTFILES): Likewise.
37082 (UTIL_DISTFILES): Likewise.
37083 (DISTFILES): Likewise.
37084 (uninstall): Uninstall files in $(pkgdata_DATA).
37085 (DISTLIST): New target.
37086 (distdir): Use the contents of the file DISTLIST to get a list of
37087 distributed files.
37088
46b3b8a5 370892005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37090
37091 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
37092 descriptor. This is ported from GRUB Legacy.
37093
37094 * gencmdlist.sh: Added an extra semicolon to make it work with
37095 old sed versions. Reported by Robert Bihlmeyer
37096 <robbe@orcus.priv.at>.
37097
5822ff87 370982005-03-08 Yoshinori Okuji <okuji@enbug.org>
37099
37100 Automatic loading of commands is supported.
f19dbdb7 37101
5822ff87 37102 * normal/main.c (read_command_list): New function.
37103 (grub_normal_execute): Call read_command_list.
37104
37105 * normal/command.c (grub_register_command): Return zero or CMD.
37106 Allocate CMD->NAME from the heap.
37107 Initialize CMD->MODULE_NAME to zero.
37108 Find the same name as well. If the same command is found and it is
37109 a dummy command, overwrite members. If it is not a dummy command,
37110 return zero.
37111 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
37112 (grub_command_find): If a dummy command is found, load a module
37113 and retry to find a command only once.
37114
37115 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
37116 make sure that each command is loaded.
37117
37118 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
37119 macro.
37120 (struct grub_command): Remove const from the member `name'.
37121 Add a new member `module_name'.
37122 (grub_register_command): Return grub_command_t.
37123
37124 * commands/help.c (grub_cmd_help): Call grub_command_find to make
37125 sure that each command is loaded.
37126
37127 * genmk.rb (PModule::rule): Specify a module name without the
37128 suffix ".mod" to gencmdlist.sh.
37129
7b1f4b57 371302005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37131
37132 * gencmdlist.sh: New file.
f19dbdb7 37133
7b1f4b57 37134 * genmk.rb (PModule::rule): Generate a rule for a command list.
37135 Clean command.lst.
37136 Generate command.lst from $(COMMANDFILES).
37137
37138 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
37139 (DATA): Added $(pkgdata_DATA).
37140 (install-local): Install files in $(pkgdata_DATA).
37141
062aaf39 371422005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37143
37144 * term/i386/pc/vga.c (debug_command): Removed.
37145 (GRUB_MOD_INIT): Do not register the command "debug".
37146
37147 From Hollis Blanchard:
37148 * commands/configfile.c: New file.
37149 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37150 commands/configfile.c.
37151 (pkgdata_MODULES): Added configfile.mod.
37152 (configfile_mod_SOURCES): New variable.
37153 (configfile_mod_CFLAGS): Likewise.
37154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37155 commands/configfile.c.
37156 (pkgdata_MODULES): Added configfile.mod.
37157 (configfile_mod_SOURCES): New variable.
37158 (configfile_mod_CFLAGS): Likewise.
37159 * util/grub-emu.c (main): Call grub_configfile_init and
37160 grub_configfile_fini.
37161 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
37162 prototype.
37163 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 37164
cee01aa6 371652005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37166
37167 * normal/arg.c (grub_arg_show_help): Do not show the bug report
37168 address.
37169
37170 * commands/help.c (grub_cmd_help): Do not print newlines after
37171 the last command in print_command_help.
37172
93f3a1d8 371732005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37174
37175 * commands/default.h: New file.
37176 * commands/timeout.h: Likewise.
37177 * normal/context.c: Likewise.
f19dbdb7 37178
93f3a1d8 37179 * util/misc.c: Do not include sys/times.h.
37180 Include sys/time.h and grub/machine/time.h.
37181 (grub_get_rtc): Rewritten with gettimeofday.
37182
37183 * util/grub-emu.c (main): Call grub_default_init and
37184 grub_timeout_init before grub_normal_init, and call
37185 grub_timeout_fini and grub_default_fini after grub_main.
37186
37187 * util/console.c (grub_ncurses_checkkey): Return the read
37188 character or -1.
37189
37190 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
37191 timeouts.
37192
37193 * normal/main.c (read_config_file): Push MENU. If this fails,
37194 print an error and wait for a user input.
37195 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
37196 If a menu is empty or an error occurs, pop MENU.
37197 (grub_normal_execute): Pop and free MENU after grub_menu_run
37198 returns.
37199
37200 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
37201
37202 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
37203 include time.h.
37204 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37205 without GRUB_UTIL.
37206 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
37207 time.h.
37208 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37209 without GRUB_UTIL.
37210
37211 * include/grub/normal.h (struct grub_menu_list): New struct.
37212 (grub_menu_list_t): New type.
37213 (struct grub_context): New struct.
37214 (grub_context_t): New type.
37215 (grub_register_command): Got rid of EXPORT_FUNC.
37216 (grub_unregister_command): Likewise.
37217 (grub_context_get): New prototype.
37218 (grub_context_get_current_menu): Likewise.
37219 (grub_context_push_menu): Likewise.
37220 (grub_context_pop_menu): Likewise.
37221 [GRUB_UTIL] (grub_default_init): Likewise.
37222 [GRUB_UTIL] (grub_default_fini): Likewise.
37223 [GRUB_UTIL] (grub_timeout_init): Likewise.
37224 [GRUB_UTIL] (grub_timeout_fini): Likewise.
37225
37226 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
37227 commands/timeout.c and normal/context.c.
37228 (pkgdata_MODULES): Added default.mod and timeout.mod.
37229 (normal_mod_SOURCES): Added normal/context.c.
37230 (default_mod_SOURCES): New variable.
37231 (default_mod_CFLAGS): Likewise.
37232 (timeout_mod_SOURCES): Likewise.
37233 (timeout_mod_CFLAGS): Likewise.
37234 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
37235 conf/i386-pc.rmk.
37236 (pkgdata_MODULES): Added default.mod and timeout.mod.
37237 (normal_mod_SOURCES): Added normal/context.c.
37238 (default_mod_SOURCES): New variable.
37239 (default_mod_CFLAGS): Likewise.
37240 (timeout_mod_SOURCES): Likewise.
37241 (timeout_mod_CFLAGS): Likewise.
37242
37243 * Makefile.in (all-local): Added $(MKFILES).
37244
4ed2e1dd 372452005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
37246
37247 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
37248 (grub_emu_SOURCES): Likewise.
37249 (pkgdata_MODULES): Add `sun.mod'.
37250 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
37251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37252 `partmap/sun.c'.
37253 (pkgdata_MODULES): Add `sun.mod'.
37254 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
37255 * include/grub/partition.h (grub_sun_partition_map_init): New
37256 prototype.
37257 (grub_sun_partition_map_fini): Likewise.
37258 * partmap/sun.c: New file.
37259 * util/grub-emu.c (main): Initialize and de-initialize the sun
37260 partitionmap support.
37261
4d4e372e 372622005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
37263
37264 This implements an Emacs-like menu entry editor.
f19dbdb7 37265
4d4e372e 37266 * normal/menu_entry.c: New file.
f19dbdb7 37267
4d4e372e 37268 * util/console.c (grub_ncurses_putchar): Translate some Unicode
37269 characters to ASCII.
37270 (saved_char): New variable.
37271 (grub_ncurses_checkkey): Rewritten completely.
37272 (grub_ncurses_getkey): Likewise.
37273 (grub_ncurses_init): Call raw instead of cbreak.
37274
37275 * normal/menu.c (print_entry): Do not put a space.
37276 (init_page): Renamed to ...
37277 (grub_menu_init_page): ... this. All callers changed.
37278 (edit_menu_entry): Removed.
37279 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
37280
37281 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
37282
37283 * kern/misc.c (grub_vprintf): Call grub_refresh.
37284
37285 * normal/menu.c (DISP_LEFT): Renamed to ...
37286 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
37287 * normal/menu.c (DISP_UP): Renamed to ...
37288 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
37289 * normal/menu.c (DISP_RIGHT): Renamed to ...
37290 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
37291 * normal/menu.c (DISP_DOWN): Renamed to ...
37292 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
37293 * normal/menu.c (DISP_HLINE): Renamed to ...
37294 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
37295 * normal/menu.c (DISP_VLINE): Renamed to ...
37296 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
37297 * normal/menu.c (DISP_UL): Renamed to ...
37298 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
37299 * normal/menu.c (DISP_UR): Renamed to ...
37300 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
37301 * normal/menu.c (DISP_LL): Renamed to ...
37302 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
37303 * normal/menu.c (DISP_LR): Renamed to ...
37304 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
37305 * normal/menu.c (TERM_WIDTH): Renamed to ...
37306 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
37307 * normal/menu.c (TERM_HEIGHT): Renamed to ...
37308 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
37309 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
37310 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
37311 * normal/menu.c (TERM_MARGIN): Renamed to ...
37312 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
37313 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
37314 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
37315 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
37316 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
37317 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
37318 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
37319 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
37320 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
37321 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
37322 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
37323 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
37324 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
37325 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
37326 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
37327 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
37328 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
37329 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
37330 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
37331 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
37332 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
37333 All callers changed.
37334
37335 * include/grub/normal.h: New prototype.
37336
37337 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37338 normal/menu_entry.c.
37339 (normal_mod_SOURCES): Likewise.
37340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37341 (normal_mod_SOURCES): Likewise.
37342
e6b92c8a 373432005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
37344
37345 * include/grub/normal.h (grub_halt_init): New prototype.
37346 (grub_halt_fini): Likewise.
37347 (grub_reboot_init): Likewise.
37348 (grub_reboot_fini): Likewise.
37349
37350 * util/grub-emu.c: Include signal.h.
37351 (main_env): New global variable.
37352 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
37353 catch C-c.
37354 (grub_machine_fini): New function.
37355 (main): Call grub_halt_init and grub_reboot_init before
37356 grub_main, and grub_reboot_fini and grub_halt_fini after it.
37357 Call setjmp with MAIN_ENV to go back afterwards.
37358 Call grub_machine_fini right before return.
37359
37360 * include/grub/util/misc.h: Include setjmp.h.
37361 (main_env): New prototype.
37362
37363 * include/grub/kernel.h (grub_machine_fini): New prototype.
37364 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
37365 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
37366
37367 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
37368 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
37369 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 37370
e6b92c8a 37371 * util/i386/pc/misc.c: New file.
f19dbdb7 37372
e6b92c8a 37373 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37374 util/i386/pc/misc.c, commands/i386/pc/halt.c and
37375 commands/i386/pc/reboot.c.
37376
c642636f 373772005-02-14 Guillem Jover <guillem@hadrons.org>
37378
37379 * include/grub/dl.h (grub_dl_check_header): New prototype.
37380 (grub_arch_dl_check_header): Change return type to grub_err_t,
37381 remove size parameter and export function. Update all callers.
37382 * kern/dl.c (grub_dl_check_header): New function.
37383 (grub_dl_load_core): Use `grub_dl_check_header' instead of
37384 `grub_arch_dl_check_header'. Check ELF type. Check if sections
37385 are inside the core.
37386 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
37387 independent ELF header checks.
37388 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37389 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
37390 `grub_dl_check_header' instead of explicit checks. Check for the
37391 ELF type.
37392 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
37393 `grub_dl_check_header' instead of explicit checks. Remove arch
37394 specific ELF header checks.
37395
e6b92c8a 37396 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
37397 argument SIZE.
37398
5eabe94b 373992005-02-13 Hollis Blanchard <hollis@penguinppc.org>
37400
37401 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
37402 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
37403
1b14a681 374042005-02-12 Hollis Blanchard <hollis@penguinppc.org>
37405
37406 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 37407 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 37408 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 37409 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 37410 * partmap/amiga.c (amiga_partition_map_iterate): Return
37411 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
37412 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37413
aca108aa 374142005-02-01 Guillem Jover <guillem@hadrons.org>
37415
37416 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
37417 help info.
37418
c9f9c556 374192005-01-31 Marco Gerards <metgerards@student.han.nl>
37420
37421 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
37422 Removed prototype.
37423 (grub_rescue_cmd_linux): New prototype.
37424 (grub_rescue_cmd_initrd): Likewise.
37425 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
37426 `bi_rec'.
37427 (grub_linux_release_mem): Release the memory for the initrd.
37428 (grub_load_linux): Renamed from this...
37429 (grub_rescue_cmd_linux): ...To this. Changed all callers.
37430 Changed `entry' not to be static. Loop over memory regions to
37431 find another one when the default fails.
37432 (grub_rescue_cmd_initrd): New function.
37433 (grub_linux_init): Remove function.
37434 (grub_linux_fini): Likewise.
37435 (GRUB_MOD_INIT): Register `initrd'.
37436 (GRUB_MOD_FINI): Unregister `initrd'.
37437 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
37438 Function removed.
37439 (grub_linux_normal_fini): Likewise.
37440 (GRUB_MOD_INIT): Register `initrd'.
37441 (GRUB_MOD_FINI): Unregister `initrd'.
37442
990cf3aa 374432005-01-31 Marco Gerards <metgerards@student.han.nl>
37444
37445 * commands/help.c: New file.
37446 * normal/arg.c (show_help): Renamed to...
37447 (grub_arg_show_help): ... this.
37448 * commands/i386/pc/halt.c: New file.
37449 * commands/i386/pc/reboot.c: Likewise.
37450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
37451 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
37452 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
37453 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
37454 variables.
37455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37456 `commands/help.c'.
37457 (pkgdata_MODULES): Add `help.mod'.
37458 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
37459 * grub/i386/pc/init.h (grub_reboot): New prototype.
37460 (grub_halt): Likewise.
37461 * include/grub/normal.h (grub_arg_show_help): New prototype.
37462 (grub_help_init): Likewise.
37463 (grub_help_fini): Likewise.
37464 * util/grub-emu.c (main): Initialize and deinitialize the help
37465 command.
37466
37467 * normal/cmdline.c (grub_cmdline_get): Doc fix.
37468
37469 * normal/command.c (grub_command_init): Fixed the description of
37470 the `set' and `unset' commands.
37471
374722005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 37473
37474 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
37475 function.
37476 * commands/ieee1275/halt.c: New file.
37477 * commands/ieee1275/reboot.c: Likewise.
37478 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
37479 `__attribute__ ((unused))'. Some GCS related fixed.
37480 (grub_suspend_init) [GRUB_UTIL]: Function removed.
37481 (grub_suspend_fini): Likewise.
37482 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
37483 and `halt.mod'.
37484 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
37485 (halt_mod_CFLAGS): New variables.
37486 * include/grub/powerpc/ieee1275/ieee1275.h
37487 (grub_ieee1275_interpret): New prototype.
37488
1ab09cc7 374892005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
37490
37491 * include/grub/misc.h (memmove): New prototype.
37492 (memcpy): Likewise.
37493
8b8cbdb2 374942005-01-22 Hollis Blanchard <hollis@penguinppc.org>
37495
37496 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
37497 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
37498
e3741a27 374992005-01-22 Marco Gerards <metgerards@student.han.nl>
37500
37501 * kern/misc.c (grub_strndup): Function rewritten.
37502
776bd780 375032005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
37504
37505 * normal/menu.c (TERM_WIDTH): Macro redefined.
37506 (TERM_TOP_BORDER_Y): Likewise.
37507 (draw_border): Replaced while-loop by a for-loop. Make the number
37508 of lines consistent with the number of lines displayed in
37509 print_entries. Added a margin below the rectangle.
37510 (print_entry): Make the entry fit in the rectangle.
37511 (print_entries): Display the scroll arrows next to the right
37512 border.
37513
78026bce 375142005-01-21 Marco Gerards <metgerards@student.han.nl>
37515
37516 * fs/minix.c (grub_minix_find_file): Reserve more space for
37517 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
37518 `grub_strncpy' to copy `path' into it.
37519
67bbaf0f 375202005-01-21 Marco Gerards <metgerards@student.han.nl>
37521
37522 Add the loopback device, a device via which files can be accessed
37523 as devices.
f19dbdb7 37524
67bbaf0f 37525 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
37526 (pkgdata_MODULES): Add loopback.mod.
37527 (loopback_mod_SOURCES): New variable.
37528 (loopback_mod_CFLAGS): Likewise.
37529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37530 `disk/loopback.c'.
37531 (pkgdata_MODULES): Add loopback.mod.
37532 (loopback_mod_SOURCES): New variable.
37533 (loopback_mod_CFLAGS): Likewise.
37534 * disk/loopback.c: new file.
37535 * include/grub/normal.h (grub_loop_init): New prototype.
37536 (grub_loop_fini): New prototype.
37537 * util/grub-emu.c (main): Initialize and de-initialize loopback
37538 support.
37539 * include/grub/disk.h (grub_disk_dev_id): Add
37540 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
37541
6f1c18bd 375422005-01-20 Hollis Blanchard <hollis@penguinppc.org>
37543
37544 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
37545 function.
37546 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
37547 (suspend_mod_SOURCES): New variable.
37548 (suspend_mod_CFLAGS): Likewise.
37549 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
37550 New prototype.
37551 * commands/ieee1275/suspend.c: New file.
37552
b38551da 375532005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37554
37555 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 37556 ((unused))' to `__attribute__ ((used))'.
b38551da 37557 (GRUB_MOD_FINI): Likewise.
37558 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
37559 * genmk.rb (PModule): Assign space to common symbols when linking
37560 modules.
37561
777aff39 375622005-01-20 Marco Gerards <metgerards@student.han.nl>
37563
37564 * include/grub/mm.h (grub_mm_init_region): Change the type of the
37565 `unsigned' arguments to `grub_size_t'.
37566 (grub_malloc): Likewise.
37567 (grub_realloc): Likewise.
37568 (grub_memalign): Likewise.
37569 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
37570 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37571 * util/misc.c (grub_malloc): Likewise.
37572 (grub_realloc): Likewise.
37573 * kern/mm.c (get_header_from_pointer): Change the casts to
37574 `unsigned' into a cast to `grub_size_t'.
37575
37576 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
37577 point to `currnode' when `currnode' is changed.
37578
37579 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
37580 Schottelius <nico-linux@schottelius.org>.
37581
d0ff18e1 375822005-01-09 Hollis Blanchard <hollis@penguinppc.org>
37583
37584 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
37585 (note_path): Remove variable.
37586 (GRUB_IEEE1275_NOTE_NAME): New macro.
37587 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
37588 (grub_ieee1275_note_hdr): New structure.
37589 (grub_ieee1275_note_desc): Likewise.
37590 (grub_ieee1275_note): Likewise.
37591 (load_note): Remove `dir' argument. All callers updated. Remove
37592 `note_img' and `path'. Do not load a file from `note_path'.
37593 Initialize a struct grub_ieee1275_note and write that to `out'.
37594 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
37595
4ca7004c 375962005-01-05 Marco Gerards <metgerards@student.han.nl>
37597
37598 * util/misc.c (grub_util_read_image): Revert last change. It
37599 called `grub_util_read_at', which seeks from the beginning of the
37600 file.
37601
0b412211 376022005-01-04 Hollis Blanchard <hollis@penguinppc.org>
37603
37604 * TODO: Add note about endianness in grub-mkimage.
37605 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
37606 section.
37607 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
37608 (grub_mkimage_SOURCES): New target.
37609 * include/grub/kernel.h (grub_start_addr): Remove variable.
37610 (grub_end_addr): Likewise.
37611 (grub_total_module_size): Likewise.
37612 (grub_kernel_image_size): Likewise.
37613 (GRUB_MODULE_MAGIC): New constant.
37614 (grub_module_info): New structure.
37615 (grub_arch_modules_addr): New prototype.
37616 (grub_get_end_addr): Remove prototype.
37617 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
37618 * include/grub/powerpc/ieee1275/kernel.h: New file.
37619 * include/grub/util/misc.h (grub_util_get_fp_size): New
37620 prototype.
37621 (grub_util_read_at): Likewise.
37622 (grub_util_write_image_at): Likewise.
37623 * kern/main.c (grub_get_end_addr): Remove function.
37624 (grub_load_modules): Call grub_arch_modules_addr instead of using
37625 grub_end_addr. Look for a grub_module_info struct in memory. Use
37626 the grub_module_info fields instead of calling grub_get_end_addr
37627 as loop conditions. Move grub_add_unused_region code here.
37628 (grub_add_unused_region): Remove function.
37629 * kern/i386/pc/init.c: Include grub/cache.h.
37630 (grub_machine_init): Remove call to grub_get_end_addr. Remove
37631 one call to add_mem_region.
37632 (grub_arch_modules_addr): New function.
37633 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
37634 (grub_total_module_size): Likewise.
37635 Include grub/machine/kernel.h.
37636 (grub_arch_modules_addr): New function.
37637 * util/grub-emu.c (grub_end_addr): Remove variable.
37638 (grub_total_module_size): Likewise.
37639 (grub_arch_modules_addr): New function.
37640 * util/misc.c: Include unistd.h.
37641 (grub_util_get_fp_size): New function.
37642 (grub_util_read_at): Likewise.
37643 (grub_util_write_image_at): Likewise.
37644 (grub_util_read_image): Call grub_util_read_at.
37645 (grub_util_write_image): Call grub_util_write_image_at.
37646 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
37647 additional memory in kernel_img for a struct grub_module_info.
37648 Fill in that grub_module_info.
37649 * util/powerpc/ieee1275/grub-mkimage.c: New file.
37650
458786f8 376512005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37652
37653 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
37654 New function.
37655 * include/grub/powerpc/ieee1275/ieee1275.h
37656 (grub_ieee1275_milliseconds): New prototype.
37657 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
37658 Change to 1000.
37659 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
37660 grub_ieee1275_milliseconds.
37661
ac507d1b 376622005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37663
37664 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
37665 variable.
37666 (find_options): New function.
37667 (cmain): Call find_options.
37668 * include/grub/powerpc/ieee1275/ieee1275.h
37669 (grub_ieee1275_realmode): New extern variable.
37670 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
37671 grub_map if grub_ieee1275_realmode is false.
37672
6b8fd1c4 376732004-12-29 Marco Gerards <metgerards@student.han.nl>
37674
37675 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
37676 lines are inserted and make it work like readline. Reported by
37677 Vincent Pelletier <subdino2004@yahoo.fr>.
37678
8514a1e0 376792004-12-28 Marco Gerards <metgerards@student.han.nl>
37680
37681 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
37682
37683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
37684 `kern/powerpc/cache.S'.
37685
924b6140 376862004-12-27 Marco Gerards <metgerards@student.han.nl>
37687
37688 * genmk.rb: Handle the `Program' class in the main loop. Written
37689 by Johan Rydberg <jrydberg@gnu.org>.
37690 (Program): New class.
37691 (programs): New variable.
37692 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
37693 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
37694 instead of "grub/kernel.h". Include <grub/machine/init.h>.
37695 (help_arch): Function removed.
37696 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
37697 `powerpc/libgcc.h' and `loader.h'.
37698 (pkgdata_PROGRAMS): New variable.
37699 (sbin_UTILITIES): Variable removed.
37700 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37701 (grubof_SOURCES): Variable re-defined so it only includes the
37702 core functionality.
37703 (grubof_CFLAGS): Remove `-DGRUBOF'.
37704 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37705 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37706 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37707 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37708 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37709 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37710 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37711 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37712 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37713 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37714 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37715 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37716 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37717 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37718 (pc_mod_CFLAGS): New variables.
37719 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37720 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37721 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37722 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37723 Moved from here...
37724 * include/grub/i386/pc/init.h (grub_os_area_addr)
37725 (rub_os_area_size): ... to here.
37726 * include/grub/powerpc/ieee1275/ieee1275.h
37727 (grub_ieee1275_entry_fn): Export symbol.
37728 * include/grub/powerpc/ieee1275/init.h: New file.
37729 * include/grub/powerpc/libgcc.h: Likewise.
37730 * include/grub/cache.h: Likewise.
37731 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37732 <hollis@penguinppc.org>.
37733 * kern/dl.c: Include <grub/cache.h>.
37734 (grub_dl_flush_cache): New function.
37735 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37736 for this module.
37737 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37738 (grub_console_init): Removed prototypes.
37739 (grub_machine_init): Don't initialize the modules anymore.
37740 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37741 static.
37742 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37743 Macro undef removed.
37744 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37745 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37746 relocation `R_PPC_REL32'. Return an error when the relocation is
37747 unknown.
37748 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37749 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37750 * util/misc.c (grub_arch_sync_caches): Likewise.
37751
e4b47e0c 377522004-12-19 Marco Gerards <metgerards@student.han.nl>
37753
37754 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37755 `symlist.c', add `grubof_symlist.c'.
37756 (symlist.c): Variable removed.
37757 (grubof_HEADERS): Variable added.
37758 (grubof_symlist.c): New target.
37759 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37760 `kernel_img_HEADERS'.
37761 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37762 * kern/powerpc/dl.c: New file.
37763 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37764 Function removed.
37765 (grub_arch_dl_relocate_symbols): Likewise.
37766 (grub_register_exported_symbols): Likewise.
37767
4ceb3636 377682004-12-13 Marco Gerards <metgerards@student.han.nl>
37769
37770 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37771 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37772 to fail instead. Reported by Vincent Pelletier
37773 <subdino2004@yahoo.fr>.
37774
37775 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37776 it is not allocated. Reported by Vincent Pelletier
37777 <subdino2004@yahoo.fr>.
37778
37779 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37780 output so the output looks better.
f19dbdb7 37781
3f1578fe 377822004-12-04 Marco Gerards <metgerards@student.han.nl>
37783
37784 Modulize the partition map support and add support for the amiga
37785 partition map.
f19dbdb7 37786
3f1578fe 37787 * commands/ls.c: Include <grub/partition.h> instead of
37788 <grub/machine/partition.h>.
37789 * kern/disk.c: Likewise.
37790 * kern/rescue.c: Likewise.
37791 * loader/i386/pc/chainloader.c: Likewise.
37792 * normal/cmdline.c: Likewise.
37793 * kern/powerpc/ieee1275/init.c: Likewise.
37794 (grub_machine_init): Call `grub_pc_partition_map_init',
37795 `grub_amiga_partition_map_init' and
37796 `grub_apple_partition_map_init'.
37797 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37798 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37799 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37800 `partition.h' and `pc_partition.h'.
37801 (grub_setup_SOURCES): Remove
37802 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37803 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37804 (grub_emu_SOURCES): Likewise.
37805 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37806 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37807 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37809 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37810 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37811 (grubof_SOURCES): Likewise.
37812 * disk/i386/pc/partition.c: File removed.
37813 * disk/powerpc/ieee1275/partition.c: Likewise.
37814 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37815 * include/grub/i386/pc/partition.h: Likewise.
37816 * kern/partition.c: New file.
37817 * partmap/amiga.c: Likewise.
37818 * partmap/apple.c: Likewise.
37819 * partmap/pc.c: Likewise.
37820 * include/grub/partition.h: Likewise..
37821 * include/grub/pc_partition.h: Likewise.
37822 * util/grub-emu.c: Include <grub/partition.h> instead of
37823 <grub/machine/partition.h>.
37824 (main): Call `grub_pc_partition_map_init',
37825 `grub_amiga_partition_map_init' and
37826 `grub_apple_partition_map_init' and deinitialize afterwards.
37827 * util/i386/pc/biosdisk.c: Include `#include
37828 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37829 `<grub/machine/partition.h>'.
37830 * util/i386/pc/grub-setup.c: Likewise.
37831 * util/i386/pc/biosdisk.c: Likewise.
37832 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37833 partition information in case of a PC partition.
37834 * util/i386/pc/grub-setup.c: Include `#include
37835 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37836 `<grub/machine/partition.h>'.
37837 (setup): Only access the PC specific partition information in case
37838 of a PC partition.
37839
0ef4ced9 378402004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37841
0ef4ced9 37842 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37843 (grub_longjmp): Likewise.
37844 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37845 20.
37846 * normal/powerpc/setjmp.S: New file.
37847 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37848 `normal/powerpc/setjmp.S'.
37849 (grubof_CFLAGS): Add `-DGRUBOF'.
37850 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37851 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37852
19950e29 378532004-11-16 Marco Gerards <metgerards@student.han.nl>
37854
37855 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37856 property named `name'. Correctly handle the error returned by
37857 `grub_ieee1275_finddevice' if a device can not be opened.
37858
a2fea427 378592004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37860
37861 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37862 `actual' for negativity.
37863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37864 kern/fshelp.c.
37865
41ea0ea3 378662004-11-01 Marco Gerards <metgerards@student.han.nl>
37867
37868 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37869 (PAGE_OFFSET): New macro.
37870 (CRTC_ADDR_PORT): Likewise.
37871 (CRTC_DATA_PORT): Likewise.
37872 (START_ADDR_HIGH_REGISTER): Likewise.
37873 (START_ADDR_LOW_REGISTER): Likewise.
37874 (GRAPHICS_ADDR_PORT): Likewise.
37875 (GRAPHICS_DATA_PORT): Likewise.
37876 (READ_MAP_REGISTER): Likewise.
37877 (INPUT_STATUS1_REGISTER): Likewise.
37878 (INPUT_STATUS1_VERTR_BIT): Likewise.
37879 (page): New variable.
37880 (wait_vretrace): New function.
37881 (set_read_map): Likewise.
37882 (set_start_address): Likewise.
37883 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37884 the right page.
37885 (check_vga_mem): Take the page into account.
37886 (write_char): Likewise.
37887 (write_cursor): Likewise.
37888 (scroll_up): Likewise. Copy the page to the page that is not
37889 shown and switch between both pages.
37890 (grub_vga_putchar): Fix off by one error.
37891 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37892 account.
37893
ad0bd20b 378942004-11-01 Marco Gerards <metgerards@student.han.nl>
37895
37896 Add support for iso9660 (including rockridge).
f19dbdb7 37897
ad0bd20b 37898 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37899 (iso9660_mod_SOURCES): New variable.
37900 (iso9660_mod_CFLAGS): Likewise.
37901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37902 * include/grub/fs.h (grub_iso9660_init): New prototype.
37903 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37904 * fs/iso9660.c: New file.
37905
37906 * include/grub/misc.h (grub_strncat): New prototype.
37907 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37908
ad0bd20b 37909 * fs/hfs.c (grub_hfs_mount): Translate the error
37910 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37911 * fs/jfs.c (grub_jfs_mount): Likewise.
37912 * fs/ufs.c (grub_ufs_mount): Likewise.
37913
a5477a59 379142004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37915
37916 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37917 which initialized BAT registers.
37918 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37919 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37920 Move from here...
37921 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37922 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37923 ... to here.
37924 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37925 (grub_mapclaim): Likewise.
37926 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37927 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37928 hand.
37929
9304c1f8 379302004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37931
37932 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37933 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37934 -ffreestanding and -msoft-float.
37935
86f4ae25 379362004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37937
37938 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37939 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37940 set in grub_ieee1275_flags.
37941
38912228 379422004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37943
37944 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37945 prototype.
37946 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37947 grub_console_init first.
37948 Change the memory range used for grub_ieee1275_claim and
37949 grub_mm_init_region.
37950 Print an error message if the claim fails.
37951 Include <grub/misc.h>.
37952
d1923dc8 379532004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37954
37955 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37956 Call grub_children_iterate for device nodes of type `scsi',
37957 `ide', or `ata'.
37958 (grub_ofdisk_open): Remove manual device alias resolution.
37959 Fix memory leak when device cannot be opened.
f19dbdb7 37960 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37961 (grub_children_iterate): New prototype.
37962 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37963 New function.
37964 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37965 Return -1 if args.size was -1.
37966
4512e4f3 379672004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37968
37969 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37970 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37971 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37972 Open Firmware's memory for it; claim memory from _start to _end.
37973 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37974 (_end): New extern.
37975 (_start): Zero BSS from __bss_start to _end.
37976 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37977 New extern.
37978 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37979
4d61feb0 379802004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37981
ad0bd20b 37982 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37983 -1 if args.base was -1.
4d61feb0 37984
026fa2f9 379852004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37986
37987 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37988 escape sequence instead of a literal ^L. Also call
37989 grub_ofconsole_gotoxy.
37990
9f2220ef 379912004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37992
37993 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37994 void * arguments to grub_addr_t. All callers updated. Also make
37995 the `result' argument optional.
37996 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37997 All callers updated.
37998
8a572cd7 379992004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38000
38001 * commands/ls.c (grub_ls_list_files): Use the string following the
38002 initial ')', if present, as the filesystem path.
38003 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38004
38005 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38006
18aa81f2 380072004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38008
38009 Make the source code of the menu interface more readable.
f19dbdb7 38010
18aa81f2 38011 * normal/menu.c: Include grub/mm.h.
38012 (TERM_WIDTH): New macro.
38013 (TERM_HEIGHT): Likewise.
38014 (TERM_INFO_HEIGHT): Likewise.
38015 (TERM_MARGIN): Likewise.
38016 (TERM_SCROLL_WIDTH): Likewise.
38017 (TERM_TOP_BORDER_Y): Likewise.
38018 (TERM_LEFT_BORDER_X): Likewise.
38019 (TERM_BORDER_WIDTH): Likewise.
38020 (TERM_MESSAGE_HEIGHT): Likewise.
38021 (TERM_BORDER_HEIGHT): Likewise.
38022 (TERM_NUM_ENTRIES): Likewise.
38023 (TERM_FIRST_ENTRY_Y): Likewise.
38024 (TERM_ENTRY_WIDTH): Likewise.
38025 (TERM_CURSOR_X): Likewise.
38026 (draw_border): Use macros instead of magic numbers.
38027 (print_entry): Likewise.
38028 (print_entries): Likewise.
38029 (run_menu): Likewise. Also, handle the key 'e'.
38030 (run_menu_entry): Ignore empty command lines.
38031 (print_message): Added a new argument EDIT. If EDIT is true,
38032 print a different message.
38033 (init_page): Likewise.
38034 (edit_menu_entry): New function. Not implemented yet.
38035
b47efe30 380362004-09-17 Marco Gerards <metgerards@student.han.nl>
38037
38038 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
38039 can be loaded from normal mode.
f19dbdb7 38040
b47efe30 38041 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
38042 `multiboot.mod'.
38043 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
38044 (multiboot_mod_CFLAGS): New variables.
38045 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 38046 * loader/i386/pc/multiboot_normal.c: Likewise.
38047
b47efe30 38048 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
38049 attribute `unused'.
f19dbdb7 38050
b47efe30 38051 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
38052 `fdiro' to read the mode information from instead of `diro'.
38053
38054 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
38055 looking up a symlink.
38056
38057 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
38058 macro.
38059 * normal/command.c (grub_command_execute): Don't parse the
38060 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
38061 flags of the command.
38062
38063 * normal/menu.c (grub_menu_run): Fix typo.
38064
da75ac71 380652004-09-14 Hollis Blanchard <hollis@penguinppc.org>
38066
38067 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
38068
38069 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
38070 `y + 1' instead of `y - 1'.
38071
38072 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 38073
062b24c2 380742004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
38075
38076 From Hollis Blanchard <hollis@penguinppc.org>:
38077 * kern/misc.c (memmove): New alias for grub_memmove.
38078 (memcmp): New alias for grub_memcmp.
38079 (memset): New alias for grub_memset.
f19dbdb7 38080 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 38081 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 38082 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 38083 (grub_ieee1275_get_property): Likewise.
f19dbdb7 38084
8ddad845 380852004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
38086
38087 Added normal mode command `chainloader' as module chain.mod, which
38088 depends on normal.mod and _chain.mod.
f19dbdb7 38089
8ddad845 38090 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
38091 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
38092 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
38093 Deleted prototype.
38094 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
38095 but arguments parsing moved to ...
38096 (grub_chainloader_cmd): ... here. New function.
38097 * include/grub/i386/pc/chainloader.h: New file.
38098 * loader/i386/pc/chainloader_normal.c: Likewise.
38099
2c1f4ce3 381002004-09-11 Marco Gerards <metgerards@student.han.nl>
38101
38102 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
38103 (grub_mkimage_LDFLAGS): Likewise.
38104 (grub_emu_SOURCES): Likewise.
38105 (kernel_img_HEADERS): Added fshelp.h.
38106 * fs/ext2.c: Include <grub/fshelp.h>.
38107 (FILETYPE_REG): New macro.
38108 (FILETYPE_INO_REG): Likewise.
38109 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
38110 Changed all users.
38111 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
38112 all users.
38113 (grub_fshelp_node): New struct.
38114 (grub_ext2_data): Added member `diropen'. Changed member `inode'
38115 to a pointer.
38116 (grub_ext2_get_file_block): Removed function.
38117 (grub_ext2_read_block): New function.
38118 (grub_ext2_read_file): Replaced parameter `data' by `node'.
38119 This function was written.
38120 (grub_ext2_mount): Read the root inode. Create a diropen struct.
38121 (grub_ext2_find_file): Removed function.
38122 (grub_ext2_read_symlink): New function.
38123 (grub_ext2_iterate_dir): Likewise.
38124 (grub_ext2_open): Rewritten.
38125 (grub_ext2_dir): Rewritten.
38126 * include/grub/fshelp.h: New file.
38127 * fs/fshelp.c: Likewise.
38128
3c52136a 381292004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
38130
38131 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
38132 (print_message): Add a missing newline.
38133 (run_menu): Added timeout support.
38134 (run_menu_entry): New local function.
38135 (grub_menu_run): Added support for booting.
38136
38137 * kern/loader.c (grub_loader_is_loaded): New function.
38138
38139 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
38140 (grub_get_rtc): Exported.
38141
38142 * include/grub/i386/pc/time.h: Include grub/symbol.h.
38143 (grub_get_rtc): Exported.
38144
38145 * include/grub/normal.h (struct grub_command_list): Remove
38146 constant from the member `command'.
38147
38148 * include/grub/loader.h (grub_loader_is_loaded): Declared.
38149
38150 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
38151
38152 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
38153
aa033560 381542004-08-28 Marco Gerards <metgerards@student.han.nl>
38155
38156 Add support for the JFS filesystem.
38157
38158 * fs/jfs.c: New file.
38159 * include/grub/fs.h (grub_jfs_init): New prototype.
38160 (grub_jfs_fini): New prototype.
38161 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
38162 (grub_emu_SOURCES): Likewise.
38163 (pkgdata_MODULES): Add jfs.mod.
38164 (jfs_mod_SOURCES): New variable.
38165 (jfs_mod_CFLAGS): Likewise.
38166 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
38167 (grubof_SOURCES): Likewise.
38168 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
38169
38170 * fs/fat.c (grub_fat_find_dir): Convert the filename little
38171 endian to the host endian.
38172 (grub_fat_utf16_to_utf8): Move function from there...
38173 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 38174 the endianness of the source string anymore.
aa033560 38175 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
38176
94bc45af 381772004-08-24 Marco Gerards <metgerards@student.han.nl>
38178
38179 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
38180 (grub_boot_fini) [GRUB_UTIL]: Likewise.
38181 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
38182 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 38183
94bc45af 38184 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
38185 (grub_hfs_iterate_dir): Make the function static. Add prototypes
38186 for `node_found' and `it_dir'.
38187 (grub_hfs_dir): Add prototype for `dir_hook'.
38188
38189 * fs/minix.c (grub_minix_get_file_block): Add prototype for
38190 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
38191 and `indir32' to silence a gcc warning.
38192
38193 * include/grub/fs.h (grub_hfs_init): New prototype.
38194 (grub_hfs_fini): Likewise.
f19dbdb7 38195
38196
97543f08 381972004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38198
38199 Each disk device has its own id now. This is useful to make use
38200 of multiple disk devices.
f19dbdb7 38201
97543f08 38202 * include/grub/disk.h (grub_disk_dev_id): New enum.
38203 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
38204 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
38205
38206 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
38207 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
38208
38209 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
38210 GRUB_DISK_DEVICE_OFDISK_ID as an id.
38211
38212 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
38213 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
38214
38215 * include/grub/disk.h (struct grub_disk_dev): Added a new member
38216 "id" which is used by the cache manager.
38217
38218 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
38219 of just "GRUB".
38220
64372eb4 382212004-08-18 Marco Gerards <metgerards@student.han.nl>
38222
38223 * fs/hfs.c: New file.
38224 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
38225 (grub_emu_SOURCES): Likewise.
38226 (pkgdata_MODULES): Add hfs.mod.
38227 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
38228 (grubof_SOURCES): Likewise.
38229 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
38230
38231 * include/grub/misc.h (grub_strncasecmp): Add prototype.
38232 * kern/misc.c (grub_strncasecmp): Add function.
38233
cc61b58f 382342004-08-14 Marco Gerards <metgerards@student.han.nl>
38235
38236 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
38237 with parentheses.
38238
38239 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
38240 (grub_ext2_dir): In case the directory entry type is unknown, read
38241 it from the inode.
38242
0ef123f6 382432004-08-02 Peter Bruin <pjbruin@dds.nl>
38244
38245 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
38246 grub_load_linux instead of grub_rescue_cmd_linux as second
38247 argument of grub_rescue_register_command.
38248
38249 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
38250
a447c5df 382512004-07-27 Marco Gerards <metgerards@student.han.nl>
38252
38253 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
38254 function.
38255 * commands/boot.c: Remove the check for `GRUB_UTIL'.
38256 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38257 `loader/powerpc/ieee1275/linux.c',
38258 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
38259 * include/grub/powerpc/ieee1275/ieee1275.h
38260 (grub_ieee1275_release): New prototype.
38261 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
38262 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
38263 normal, boot, linux and linux_normal.
38264 * loader/powerpc/ieee1275/linux.c: New file.
38265 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38266
5a9e3546 382672004-07-12 Marco Gerards <metgerards@student.han.nl>
38268
38269 * normal/arg.c (grub_arg_parse): Correct error handling after
38270 reallocating the argumentlist (check if `argl' is not null instead
38271 of checking if `args' is not null).
38272 * kern/mm.c (grub_realloc): Return the same pointer when using the
38273 same region, instead of returning the header address.
38274
e15199cb 382752004-07-11 Marco Gerards <metgerards@student.han.nl>
38276
38277 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
38278 one block instead of two when looking for the initial partition.
38279 (grub_partition_probe): Initialize the local variable `p' with 0.
38280 Use base 10 for the grub_strtoul call.
38281 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
38282 need for one local variable.
38283 (grub_strtoul): Don't add the new value to `num', instead of that
38284 just assign it.
38285
020616c2 382862004-07-11 Marco Gerards <metgerards@student.han.nl>
38287
38288 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
38289 (pxeboot_img_SOURCES): New variable.
38290 (pxeboot_img_ASFLAGS): Likewise.
38291 (pxeboot_img_LDFLAGS): Likewise.
38292 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
38293 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
38294 <lode_leroy@hotmail.com>.
38295
6c51eb64 382962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38297
38298 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
38299 there was no input.
38300
cfb12aff 383012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38302
38303 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
38304 the history buffer logic.
38305
6eabba74 383062004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38307
38308 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
38309 (FILETYPE_INO_SYMLINK): New macros.
38310 (grub_ext2_find_file): Check if the node is a directory using the
38311 inode stat information instead of using the filetype in the
38312 dirent. Exclude the first character of an absolute symlink.
38313 (grub_ext2_dir): Mask out the filetype part of the mode member of
38314 the inode.
38315
66e19ef8 383162004-05-24 Marco Gerards <metgerards@student.han.nl>
38317
38318 Add support for UFS version 1 and 2. Add support for the minix
38319 filesystem version 1 and 2, both the variants with 14 and 30 long
38320 filenames.
f19dbdb7 38321
66e19ef8 38322 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
38323 fs/minix.c.
38324 (grub_emu_SOURCES): Likewise.
38325 (pkgdata_MODULES): Add ufs.mod and minix.mod.
38326 (ufs_mod_SOURCES): New variable.
38327 (ufs_mod_CFLAGS): Likewise.
38328 (minix_mod_SOURCES): Likewise.
38329 (minix_mod_CFLAGS): Likewise.
38330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
38331 fs/minix.c.
38332 (grubof_SOURCES): Likewise.
38333 * fs/ufs.c: New file.
38334 * fs/minix.c: New file.
38335 * include/grub/fs.h (grub_ufs_init): New prototype.
38336 (grub_ufs_fini): Likewise.
38337 (grub_minix_init): Likewise.
38338 (grub_minix_fini): Likewise.
38339 * util/grub-emu.c (main): Initialize and deinitialize UFS and
38340 minix fs.
38341
cc2e748a 383422004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
38343
38344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
38345 commands/ls.c, commands/terminal.c, commands/boot.c,
38346 commands/cmp.c and commands/cat.c.
38347 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
38348
38349 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
38350 "env.h"
38351
4b13b216 383522004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38353
38354 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
38355 and grub_, respectively. Because the conversion is trivial and
38356 mechanical, I omit the details here. Please refer to the CVS
38357 if you need more information.
38358
6a142551 383592004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38360
38361 * include/pupa: Renamed to ...
38362 * include/grub: ... this.
38363 * util/i386/pc/pupa-mkimage.c: Renamed to ...
38364 * util/i386/pc/grub-mkimage.c: ... this.
38365 * util/i386/pc/pupa-setup.c: Renamed to ...
38366 * util/i386/pc/grub-setup.c: ... this.
38367 * util/pupa-emu.c: Renamed to ...
38368 * util/grub-emu.c: ... this.
38369
e56cdf21 383702004-03-29 Marco Gerards <metgerards@student.han.nl>
38371
38372 Add support for the newworld apple macintosh (PPC). This has been
38373 tested on the powerbook 2000 only. It only adds support for
38374 generic ieee1275 functions, console and disk support. This should
38375 be easy to port to other architectures with support for Open
38376 Firmware.
f19dbdb7 38377
e56cdf21 38378 * configure.ac: Accept the powerpc as host_cpu. In the case of
38379 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
38380 specific tests are only executed while building for the i386.
38381 Inverse test for crosscompile.
38382 * genmk.rb (Utility): Allow assembler files.
38383 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
38384 * conf/powerpc-ieee1275.rmk: New file.
38385 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
38386 * disk/powerpc/ieee1275/partition.c: Likewise.
38387 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
38388 * include/pupa/powerpc/ieee1275/console.h: Likewise.
38389 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
38390 * include/pupa/powerpc/ieee1275/time.h: Likewise.
38391 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
38392 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
38393 * include/pupa/powerpc/ieee1275/loader.h
38394 * include/pupa/powerpc/setjmp.h: Likewise.
38395 * include/pupa/powerpc/types.h: Likewise.
38396 * kern/powerpc/ieee1275/init.c: Likewise.
38397 * kern/powerpc/ieee1275/openfw.c: Likewise.
38398 * term/powerpc/ieee1275/ofconsole.c: Likewise.
38399
38400 These files were written by Johan Rydberg
38401 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 38402
e56cdf21 38403 * boot/powerpc/ieee1275/cmain.c: New file.
38404 * boot/powerpc/ieee1275/crt0.S: Likewise.
38405 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
38406 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
38407
8c8cc205 384082004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
38409
38410 * Makefile.in: Update copyright.
38411 * genmodsrc.sh: Likewise.
38412 * gensymlist.sh: Likewise.
38413 * term/i386/pc/vga.c: Indent correctly.
38414
38415 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
38416 bugreporting address.
38417 * util/i386/pc/pupa-setup.c (usage): Likewise,
38418 (main): Call pupa_ext2_init and pupa_ext2_fini.
38419
f19dbdb7 38420 * fs/fat.c (log2): Renamed to ...
8c8cc205 38421 (fat_log2): ... this.
38422 All callers changed.
38423 * kern/misc.c (memcpy): Alias to pupa_memmove.
38424 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
38425 lvalue cast.
38426 * util/console.c (pupa_ncurses_fini): Return 0.
38427
38428 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
38429 Move fail label here.
38430 [__GNU__]: Don't warn when using stat.
38431 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
38432 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
38433 long int. Use strtol instead of strtoul.
f19dbdb7 38434
db1771cf 384352004-03-14 Marco Gerards <metgerards@student.han.nl>
38436
38437 * commands/boot.c: New file.
38438 * commands/cat.c: Likewise.
38439 * commands/cmp.c: Likewise.
38440 * commands/ls.c: Likewise.
38441 * commands/terminal.c: Likewise.
38442 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
38443 (pupa_register_command): Changed interface to match the new
38444 argument parser.
38445 (pupa_command_execute): Changed (almost rewritten) so it uses
38446 pupa_split_command. Added support for setting variables using the
38447 syntax `foo=bar'.
38448 (rescue_command): Changed to work with the new argument parser.
38449 (terminal_command): Moved from here to commands/terminal.c.
38450 (set_command): New function.
38451 (unset_command): New function.
38452 (insmod_command): New function.
38453 (rmmod_command): New function.
38454 (lsmod_command): New function.
38455 (pupa_command_init): Don't initialize the command terminal
38456 anymore. Initialize the commands set, unset, insmod, rmmod and
38457 lsmod.
38458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
38459 (kernel_img_HEADERS): Add arg.h and env.h.
38460 (pupa_mkimage_LDFLAGS): Add kern/env.c.
38461 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
38462 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
38463 normal/arg.c.
38464 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
38465 terminal.mod.
38466 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
38467 (boot_mod_SOURCES): New variable.
38468 (terminal_mod_SOURCES): Likewise.
38469 (ls_mod_SOURCES): Likewise.
38470 (cmp_mod_SOURCES): Likewise.
38471 (cat_mod_SOURCES): Likewise.
38472
38473 * normal/arg.c: New file.
38474 * kern/env.c: Likewise.
38475 * include/pupa/arg.h: Likewise.
38476 * include/pupa/env.h: Likewise.
38477 * font/manager.c (font_command): Changed to match argument parsing
38478 interface changes.
38479 (PUPA_MOD_INIT): Likewise.
38480 * hello/hello.c (pupa_cmd_hello): Likewise.
38481 (PUPA_MOD_INIT): Likewise.
38482 * include/pupa/disk.h: Include <pupa/device.h>.
38483 (pupa_print_partinfo): New prototype.
38484 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
38485 (pupa_dl_get_prefix): Likewise.
38486 * include/pupa/misc.h: Include <pupa/err.h>.
38487 (pupa_isgraph): New prototype.
38488 (pupa_isdigit): Likewise.
38489 (pupa_split_cmdline): Likewise.
38490 * include/pupa/normal.h: Include <pupa/arg.h>.
38491 (pupa_command): Changed the prototype of the member `func' to
38492 match the argument parsing interface. Added member `options'.
38493 (pupa_register_command): Updated to match function.
38494 (pupa_arg_parse): New prototype.
38495 (pupa_hello_init) [PUPA_UTIL]: New prototype.
38496 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
38497 (pupa_ls_init) [PUPA_UTIL]: Likewise.
38498 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
38499 (pupa_cat_init) [PUPA_UTIL]: Likewise.
38500 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
38501 (pupa_boot_init) [PUPA_UTIL]: Likewise.
38502 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
38503 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
38504 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
38505 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
38506 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
38507 * kern/disk.c: Include <pupa/file.h>.
38508 (pupa_print_partinfo): New function.
38509 * kern/dl.c: Include <pupa/env.h>.
38510 (pupa_dl_dir): Variable removed.
38511 (pupa_dl_load): Use the environment variable `prefix' instead of
38512 the variable pupa_dl_dir.
38513 (pupa_dl_set_prefix): Function removed.
38514 (pupa_dl_get_prefix): Likewise.
38515 * kern/i386/pc/init.c: Include <pupa/env.h>.
38516 (pupa_machine_init): Use the environment variable `prefix' instead of
38517 using pupa_dl_set_prefix to set the prefix.
38518 * kern/main.c: Include <pupa/env.h>.
38519 (pupa_set_root_dev): Use the environment variable `prefix' instead of
38520 using pupa_dl_get_prefix to get the prefix.
38521 * kern/misc.c: Include <pupa/env.h>.
38522 (pupa_isdigit): New function.
38523 (pupa_isgraph): Likewise.
38524 (pupa_ftoa): Likewise.
38525 (pupa_vsprintf): Added support for printing values of the type
38526 `double'. Make it possible to format variable output when using
38527 formatting like `%1.2%f'.
38528 (pupa_split_cmdline): New function.
38529 * kern/rescue.c: Include <pupa/env.h>.
38530 (next_word): Removed function.
38531 (pupa_rescue_cmd_prefix): Likewise.
38532 (pupa_rescue_cmd_set): New function.
38533 (pupa_rescue_cmd_unset): New function.
38534 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
38535 split the command line instead of splitting it here. Added
38536 support for setting variables using the syntax `foo=bar'. Don't
38537 initialize the prefix command anymore. Initialized the set and
38538 unset commands.
38539 * normal/cmdline.c: Include <pupa/env.h>.
38540 (pupa_tab_complete): Added prototypes for print_simple_completion,
38541 print_partition_completion, add_completion, iterate_commands,
38542 iterate_dev, iterate_part and iterate_dir. Moved code to print
38543 partition information from here to kern/disk.c.
fe6b695a 38544 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 38545 * normal/main.c: Include <pupa/env.h>.
38546 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
38547 instead of using pupa_dl_get_prefix to get the prefix.
38548 * term/i386/pc/vga.c: Include <pupa/arg.h>.
38549 (check_vga_mem): Cast pointers to `void *' to silence a gcc
38550 warning.
38551 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
38552 (pupa_vga_setcolor): Declare unused variables with `__attribute__
38553 ((unused))' to silence a gcc warning.
38554 (pupa_vga_setcolor): Likewise.
38555 (debug_command): Changed to match argument parsing
38556 interface changes.
38557 * util/pupa-emu.c: Include <pupa/env.h>.
38558 (options): Added 0's for unused fields to silence a gcc warning.
38559 (argp): Likewise.
38560 (main): Use the environment variable `prefix' instead of using
38561 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
38562 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
38563 and terminal.
38564
38565 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
38566 * util/misc.c: Include <malloc.h>.
38567 (pupa_malloc): Rewritten so errors are correctly reported.
38568 (pupa_realloc): Likewise.
38569 (pupa_memalign): Likewise.
38570 (pupa_mm_init_region): Declare unused variables with
38571 `__attribute__ ((unused))' to silence a gcc warning.
38572 * normal/i386/setjmp.S: Remove tab at the end of the file to
38573 silence a gcc warning.
38574 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
38575 variables with `__attribute__ ((unused))' to silence a gcc
38576 warning.
38577 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
38578 local variable i unsigned to silence a gcc warning.
38579
38580 * kern/term.c: Include <pupa/misc.h>.
38581 (pupa_more_lines): New variable.
38582 (pupa_more): Likewise.
38583 (pupa_putcode): When the pager is active pause at the end of every
38584 screen.
38585 (pupa_set_more): New function.
38586 * include/pupa/term.h (pupa_set_more): New prototype.
38587
38588
3b1139cb 385892004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
38590
38591 Now this project is GRUB 2 rather than PUPA. The location of
38592 the CVS repository was moved to GRUB's.
f19dbdb7 38593
3b1139cb 38594 * configure.ac: Use bug-grub as the reporting address.
38595 Use GRUB instead of PUPA.
38596 Change the version number to 1.90.
38597
8367695c 385982004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
38599
38600 * genkernsyms.sh: Updated copyright information.
38601 * genmk.rb: Likewise.
38602 * genmodsrc.sh: Likewise.
38603 * gensymlist.sh: Likewise.
38604 * boot/i386/pc/boot.S: Likewise.
38605 * boot/i386/pc/diskboot.S: Likewise.
38606 * disk/i386/pc/biosdisk.c: Likewise.
38607 * disk/i386/pc/partition.c: Likewise.
38608 * font/manager.c: Likewise.
38609 * fs/ext2.c: Likewise.
38610 * fs/fat.c: Likewise.
38611 * include/pupa/boot.h: Likewise.
38612 * include/pupa/device.h: Likewise.
38613 * include/pupa/disk.h: Likewise.
38614 * include/pupa/dl.h: Likewise.
38615 * include/pupa/elf.h: Likewise.
38616 * include/pupa/err.h: Likewise.
38617 * include/pupa/file.h: Likewise.
38618 * include/pupa/font.h: Likewise.
38619 * include/pupa/fs.h: Likewise.
38620 * include/pupa/kernel.h: Likewise.
38621 * include/pupa/loader.h: Likewise.
38622 * include/pupa/misc.h: Likewise.
38623 * include/pupa/mm.h: Likewise.
38624 * include/pupa/net.h: Likewise.
38625 * include/pupa/normal.h: Likewise.
38626 * include/pupa/rescue.h: Likewise.
38627 * include/pupa/setjmp.h: Likewise.
38628 * include/pupa/symbol.h: Likewise.
38629 * include/pupa/term.h: Likewise.
38630 * include/pupa/types.h: Likewise.
38631 * include/pupa/i386/setjmp.h: Likewise.
38632 * include/pupa/i386/types.h: Likewise.
38633 * include/pupa/i386/pc/biosdisk.h: Likewise.
38634 * include/pupa/i386/pc/boot.h: Likewise.
38635 * include/pupa/i386/pc/console.h: Likewise.
38636 * include/pupa/i386/pc/init.h: Likewise.
38637 * include/pupa/i386/pc/kernel.h: Likewise.
38638 * include/pupa/i386/pc/linux.h: Likewise.
38639 * include/pupa/i386/pc/loader.h: Likewise.
38640 * include/pupa/i386/pc/memory.h: Likewise.
38641 * include/pupa/i386/pc/multiboot.h: Likewise.
38642 * include/pupa/i386/pc/partition.h: Likewise.
38643 * include/pupa/i386/pc/time.h: Likewise.
38644 * include/pupa/i386/pc/vga.h: Likewise.
38645 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
38646 * include/pupa/util/getroot.h: Likewise.
38647 * include/pupa/util/misc.h: Likewise.
38648 * include/pupa/util/resolve.h: Likewise.
38649 * kern/device.c: Likewise.
38650 * kern/disk.c: Likewise.
38651 * kern/dl.c: Likewise.
38652 * kern/err.c: Likewise.
38653 * kern/file.c: Likewise.
38654 * kern/fs.c: Likewise.
38655 * kern/loader.c: Likewise.
38656 * kern/main.c: Likewise.
38657 * kern/misc.c: Likewise.
38658 * kern/mm.c: Likewise.
38659 * kern/rescue.c: Likewise.
38660 * kern/term.c: Likewise.
38661 * kern/i386/dl.c: Likewise.
38662 * kern/i386/pc/init.c: Likewise.
38663 * kern/i386/pc/lzo1x.S: Likewise.
38664 * kern/i386/pc/startup.S: Likewise.
38665 * loader/i386/pc/chainloader.c: Likewise.
38666 * loader/i386/pc/linux.c: Likewise.
38667 * loader/i386/pc/multiboot.c: Likewise.
38668 * normal/cmdline.c: Likewise.
38669 * normal/command.c: Likewise.
38670 * normal/main.c: Likewise.
38671 * normal/menu.c: Likewise.
38672 * normal/i386/setjmp.S: Likewise.
38673 * term/i386/pc/console.c: Likewise.
38674 * term/i386/pc/vga.c: Likewise.
38675 * util/console.c: Likewise.
38676 * util/genmoddep.c: Likewise.
38677 * util/misc.c: Likewise.
38678 * util/pupa-emu.c: Likewise.
38679 * util/resolve.c: Likewise.
38680 * util/unifont2pff.rb: Likewise.
38681 * util/i386/pc/biosdisk.c: Likewise.
38682 * util/i386/pc/getroot.c: Likewise.
38683 * util/i386/pc/pupa-mkimage.c: Likewise.
38684 * util/i386/pc/pupa-setup.c: Likewise.
38685
e6eced71 386862004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
38687
38688 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
38689 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
38690 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
38691 reading and reset it after reading.
38692 (pupa_ext2_close): Return PUPA_ERR_NONE.
38693
38694 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
38695 Correct value.
38696 (struct linux_kernel_header): Add kernel_version and
38697 initrd_addr_max.
38698 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
38699 pupa_file_read succeeds.
38700 (pupa_rescue_cmd_initrd): Implement.
38701
5aded270 387022003-12-03 Marco Gerards <metgerards@student.han.nl>
38703
38704 * fs/ext2.c (pupa_ext2_label): New function.
38705 (pupa_ext2_fs): Added label.
38706 * fs/fat.c (pupa_fat_label): New function.
38707 (pupa_fat_fs): Added label.
38708 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38709
38710 * kern/misc.c (pupa_strndup): New function.
38711 * include/pupa/misc.h (pupa_strndup): New prototype.
38712
38713 * include/pupa/normal.h: Include <pupa/err.h>.
38714 (pupa_set_history): New prototype.
38715 (pupa_iterate_commands): New prototype.
38716 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38717 <pupa/disk.h>, <pupa/file.h>.
38718 (hist_size): New variable.
38719 (hist_lines): Likewise.
38720 (hist_end): Likewise.
38721 (hist_used): Likewise.
38722 (pupa_set_history): New function.
38723 (pupa_history_get): Likewise.
38724 (pupa_history_add): Likewise.
38725 (pupa_history_replace): Likewise.
38726 (pupa_tab_complete): Likewise.
38727 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38728 completion shows partitionnames while completing partitions, this
38729 feature was suggested by Jeff Bailey.
38730 * normal/command.c (pupa_iterate_commands): New function.
38731 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38732 (pupa_normal_init): Initialize history buffer.
38733 (PUPA_MOD_INIT): Likewise.
38734 (pupa_normal_fini): Free the history buffer.
38735 (PUPA_MOD_FINI): Likewise.
38736
38737 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38738 key.
38739
38740 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38741 * configure.ac [i386]: Check for regparam bug.
38742 (NESTED_FUNC_ATTR) [! i386]: Defined.
38743
1f7315a3 387442003-11-17 Marco Gerards <metgerards@student.han.nl>
38745
38746 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38747 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38748 (pupa_emu_SOURCES): New variable.
38749 (pupa_emu_LDFLAGS): Likewise.
38750 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38751 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38752 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38753 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38754 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38755 (pupa_jmp_buf): New typedef.
38756 (pupa_setjmp) [PUPA_UTIL]: New macro.
38757 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38758 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38759 (pupa_refresh): New prototype.
38760 * include/pupa/util/getroot.h: New file.
38761 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38762 it.
38763 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38764 (pupa_rescue_cmd_cat): Likewise.
38765 (pupa_rescue_cmd_ls): Likewise.
38766 (pupa_rescue_cmd_testload): Likewise.
38767 (pupa_rescue_cmd_lsmod): Likewise.
38768 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38769 * normal/menu.c (run_menu): Likewise.
38770 * kern/term.c (pupa_cls): Likewise.
38771 (pupa_refresh): New function.
38772 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38773 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38774 * util/console.c: New file.
f19dbdb7 38775
1f7315a3 38776 * util/i386/pc/getroot.c: New file.
38777 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38778 (pupa_putchar): New function.
38779 (pupa_refresh): Likewise.
38780 (xgetcwd): Function moved to ...
38781 (strip_extra_slashes): Likewise.
38782 (get_prefix): Likewise.
f19dbdb7 38783 * util/i386/pc/getroot.c: ... here.
1f7315a3 38784 (find_root_device): Function moved and renamed to...
38785 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38786 Changed all callers.
38787 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38788 and renamed to...
38789 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38790 Changed all callers.
38791 * util/misc.c (pupa_memalign): New function.
38792 (pupa_mm_init_region): Likewise.
38793 (pupa_register_exported_symbols): Likewise.
38794 (pupa_putchar): Function removed.
38795 * util/pupa-emu.c: New file.
38796
9a5c1ade 387972003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38798
38799 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38800 (_multiboot_mod_SOURCES): New variable.
38801 (_multiboot_mod_CFLAGS): Likewise.
38802 * loader/i386/pc/multiboot.c: New file.
38803 * include/pupa/i386/pc/multiboot.h: Likewise.
38804 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38805 (pupa_multiboot_real_boot): New function.
38806 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38807 (pupa_multiboot_real_boot): New prototype.
38808 (pupa_rescue_cmd_multiboot): Likewise
38809 (pupa_rescue_cmd_module): Likewise.
38810
38811 * kern/loader.c (pupa_loader_set): Continue when
38812 pupa_loader_unload_func() fails.
38813 (pupa_loader_unset): New function.
38814 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38815
38816 * kern/misc.c (pupa_stpcpy): New function.
38817 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38818
8e72a9c0 388192003-11-12 Marco Gerards <metgerards@student.han.nl>
38820
38821 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38822 for available extensions.
38823
38824 * include/pupa/i386/pc/time.h: New file.
38825 * kern/disk.c: Include <pupa/machine/time.h>.
38826 (PUPA_CACHE_TIMEOUT): New macro.
38827 (pupa_last_time): New variable.
38828 (pupa_disk_open): Flush the cache when there was a timeout.
38829 (pupa_disk_close): Reset the timer.
38830 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38831 pupa_currticks.
38832 * util/misc.c: Include <sys/times.h>
38833 (pupa_get_rtc): New function.
38834
c4adbd32 388352003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38836
38837 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38838 as blocks.
38839 (pupa_ext2_get_file_block): Use blocks member.
38840
38841 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38842 first block. Return -1 instead of pupa_errno on error.
38843
bfd30f06 388442003-10-27 Marco Gerards <metgerards@student.han.nl>
38845
38846 * README: In the pupa-mkimage example use _chain instead of chain
38847 and ext2 instead of fat.
38848 * TODO: Replace ext2fs with jfs as an example. Add an item for
38849 adding journal playback for ext2fs.
38850 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38851 (pkgdata_MODULES): Added ext2.mod.
38852 (ext2_mod_SOURCES): New variable.
38853 (ext2_mod_CFLAGS): Likewise.
38854 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38855 * include/pupa/misc.h (pupa_strncpy): New prototype.
38856 (pupa_strcat): Likewise.
38857 (pupa_strncmp): Likewise.
38858 * kern/misc.c (pupa_strcat): Enable function.
38859 (pupa_strncpy): New function.
38860 (pupa_strncmp): Likewise.
38861 * fs/ext2.c: New file.
f19dbdb7 38862
bfd30f06 38863 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38864 when the read failed before retrying.
38865 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38866 (_FILE_OFFSET_BITS): Likewise.
38867 * configure.ac: Added AC_SYS_LARGEFILE.
38868
98d15063 388692003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38870
38871 * genmk.rb (PModule#rule): Make sure to get only symbol names
38872 from the output of nm.
59cad637 38873 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38874
18d9c7cd 388752003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38876
38877 I forgot to check in these changes for a long time. This adds
38878 incomplete support for VGA console, and this is still very
38879 buggy. Also, a lot of consideration is required for I18N,
38880 UNICODE, and VGA font issues. Therefore, assume that this is
38881 such that "better than nothing".
f19dbdb7 38882
18d9c7cd 38883 * font/manager.c: New file.
38884 * include/pupa/font.h: Likewise.
38885 * include/pupa/i386/pc/vga.h: Likewise.
38886 * term/i386/pc/vga.c: Likewise.
38887 * util/unifont2pff.rb: Likewise.
38888
38889 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38890 (pkgdata_MODULES): Added vga.mod and font.mod.
38891 (vga_mod_SOURCES): New variables.
38892 (vga_mod_CFLAGS): Likewise.
38893 (font_mod_SOURCES): Likewise.
38894 (font_mod_CFLAGS): Likewise.
38895
38896 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38897
38898 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38899 (struct pupa_term): Added init and fini.
18d9c7cd 38900 Changed the argument of putchar to pupa_uint32_t.
38901
38902 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38903 (pupa_console_real_putchar): New prototype.
38904 (pupa_console_putchar): Removed.
38905 (pupa_console_checkkey): Exported.
38906 (pupa_console_getkey): Likewise.
38907
38908 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38909 characters.
38910
38911 * kern/term.c (pupa_term_set_current): Rewritten.
38912 (pupa_putchar): Likewise.
38913 (pupa_putcode): New function.
38914
38915 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38916 (pupa_console_real_putchar): ... this.
38917 (pupa_vga_set_mode): New function.
38918 (pupa_vga_get_font): Likewise.
38919
38920 * normal/command.c: Include pupa/term.h.
38921 (terminal_command): New function.
38922 (pupa_command_init): Register the command "terminal".
38923
38924 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38925 (DISP_UP): Likewise.
38926 (DISP_RIGHT): Likewise.
38927 (DISP_DOWN): Likewise.
38928 (DISP_HLINE): Likewise.
38929 (DISP_VLINE): Likewise.
38930 (DISP_UL): Likewise.
38931 (DISP_UR): Likewise.
38932 (DISP_LL): Likewise.
38933 (DISP_LR): Likewise.
38934
38935 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38936
977329f5 389372003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38938
38939 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38940 FIX. Reverse the path_list.
38941
38942 * include/pupa/normal.h: Export pupa_register_command and
38943 pupa_unregister_command.
38944
38945 * hello/hello.c (pupa_cmd_hello): New module.
38946 * conf/i386-pc.rmk: Added hello.mod.
38947
1f5ab428 389482003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38949
38950 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38951
1f5ab428 38952 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38953 (compress_kernel): New variable.
38954 (generate_image): Heavily modified to support compressing a
38955 large part of the core image.
38956
38957 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38958 leak.
38959 (pupa_util_load_image): New function.
38960
38961 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38962 (pupa_compressed_size): New variable.
38963 (codestart): Enable Gate A20 here.
38964 Decompress the compressed part of the core image.
38965 Rearrange the code to put functions and variables which are
38966 required for initialization in the non-compressed part.
38967 Include lzo1x.S.
38968
38969 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38970 here.
38971
38972 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38973
f19dbdb7 38974 * include/pupa/i386/pc/kernel.h
1f5ab428 38975 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38976 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38977 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38978 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38979 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38980
38981 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38982
38983 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38984 (Utility#rule): Likewise.
38985
38986 * configure.ac: Check if LZO is available.
38987
ce5bf700 389882003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38989
38990 * include/pupa/normal.h: New file.
38991 * include/pupa/setjmp.h: Likewise.
38992 * include/pupa/i386/setjmp.h: Likewise.
38993 * normal/cmdline.c: Likewise.
38994 * normal/command.c: Likewise.
38995 * normal/main.c: Likewise.
38996 * normal/menu.c: Likewise.
38997 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38998
ce5bf700 38999 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39000 (pupa_rescue_cmd_initrd): Likewise.
39001
39002 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39003 Likewise.
39004
39005 * kern/i386/pc/startup.S (translation_table): New variable.
39006 (translate_keycode): New function.
39007 (pupa_console_getkey): Call translate_keycode.
39008
39009 * kern/rescue.c (attempt_normal_mode): New function.
39010 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
39011 it failed, print a message.
39012
39013 * kern/mm.c (pupa_real_malloc): Print more information when a
39014 free magic is broken.
39015 (pupa_free): If the first free header is not free actually, set
39016 it to P.
39017
39018 * kern/main.c (pupa_load_normal_mode): Just load the module
39019 "normal".
39020 (pupa_main): Don't print the message
39021 "Entering into rescue mode..." here.
39022
39023 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
39024 Declared.
39025 (pupa_rescue_cmd_initrd): Likewise.
39026 (pupa_rescue_cmd_initrd): Likewise.
39027
39028 * include/pupa/symbol.h (FUNCTION): Specify the type.
39029 (VARIABLE): Likewise.
39030
39031 * include/pupa/err.h (pupa_err_t): Added
39032 PUPA_ERR_UNKNOWN_COMMAND.
39033
39034 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
39035 (pupa_dl_get_prefix): Likewise.
39036
39037 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
39038 Added _chain.mod and _linux.mod instead of chain.mod and
39039 linux.mod.
39040 (chain_mod_SOURCES): Renamed to ...
39041 (_chain_mod_SOURCES): ... this.
39042 (chain_mod_CFLAGS): Renamed to ...
39043 (_chain_mod_CFLAGS): ... this.
39044 (linux_mod_SOURCES): Renamed to ...
39045 (_linux_mod_SOURCES): ... this.
39046 (linux_mod_CFLAGS): Renamed to ...
39047 (_linux_mod_CFLAGS): ... this.
39048 (normal_mod_SOURCES): New variable.
39049 (normal_mod_CFLAGS): Likewise.
39050 (normal_mod_ASFLAGS): Likewise.
39051
390522003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
39053
39054 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
39055 possible.
39056
fe6b695a 39057 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 39058 recursively.
39059 (pupa_dl_unref): Unrefer depending modules recursively.
39060 Don't call pupa_dl_unload implicitly, because PUPA can crash if
39061 a module is unloaded before one depending on that module is
39062 unloaded.
39063 (pupa_dl_unload): Unload depending modules explicitly,
39064 if possible.
39065
c04da074 390662003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
39067
39068 * include/pupa/i386/pc/linux.h: New file.
39069 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 39070
c04da074 39071 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
39072 Removed.
39073 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
39074 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
39075 of PUPA_CHAINLOADER_BOOT_SECTOR.
39076
39077 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
39078 (pupa_linux_prot_size): New variable.
39079 (pupa_linux_tmp_addr): Likewise.
39080 (pupa_linux_real_addr): Likewise.
39081 (pupa_linux_boot_zimage): New function.
39082 (pupa_linux_boot_bzimage): Likewise.
39083
39084 * kern/i386/pc/init.c (struct mem_region): New structure.
39085 (MAX_REGIONS): New macro.
39086 (mem_regions): New variable.
39087 (num_regions): Likewise.
39088 (pupa_os_area_addr): Likewise.
39089 (pupa_os_area_size): Likewise.
39090 (pupa_lower_mem): Likewise.
39091 (pupa_upper_mem): Likewise.
39092 (add_mem_region): New function.
39093 (compact_mem_regions): Likewise.
39094 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
39095 the size of the conventional memory and that of so-called upper
39096 memory (before the first memory hole).
39097 Instead of adding each found region to free memory, use
39098 add_mem_region and add them after removing overlaps.
39099 Also, add only 1/4 of the upper memory to free memory. The rest
39100 is used for loading OS images. Maybe this is ad hoc, but this
39101 makes it much easier to relocate OS images when booting.
39102
39103 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
39104 (pupa_enter_rescue_mode): Don't register initrd and module.
39105
39106 * kern/mm.c: Include pupa/dl.h.
39107
39108 * kern/main.c: Include pupa/file.h and pupa/device.h.
39109
39110 * kern/loader.c (pupa_loader_load_module_func): Removed.
39111 (pupa_loader_load_module): Likewise.
39112
39113 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
39114 ``.o''.
39115
39116 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
39117 (pupa_linux_tmp_addr): Likewise.
39118 (pupa_linux_real_addr): Likewise.
39119 (pupa_linux_boot_zimage): Likewise.
39120 (pupa_linux_boot_bzimage): Likewise.
39121
39122 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
39123 (pupa_upper_mem): Likewise.
39124 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
39125 module is too dangerous.
39126
39127 * include/pupa/loader.h (pupa_os_area_addr): Declared.
39128 (pupa_os_area_size): Likewise.
39129 (pupa_loader_set): Remove the first argument. Loader doesn't
39130 manage modules or initrd any longer.
39131 (pupa_loader_load_module): Removed.
39132
39133 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
39134 (linux_mod_SOURCES): New variable.
39135 (linux_mod_CFLAGS): Likewise.
39136
a13f9237 391372003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
39138
39139 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
39140 the length of a blocklist correctly.
39141
39142 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
39143 Use ioctl only if the OS file is a block device.
39144 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
39145 not very useful for normal files.
39146
39147 * kern/main.c (pupa_set_root_dev): New function.
39148 (pupa_load_normal_mode): Likewise.
39149 (pupa_main): Call those above.
39150
39151 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
39152 pupa_uint16_t.
39153
39154 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
39155
a5ffe966 391562003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39157
39158 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
39159 (setup): Configure the installed partition information and the
39160 dl prefix.
39161
39162 * loader/i386/pc/chainloader.c (my_mod): New variable.
39163 (pupa_chainloader_unload): New function.
39164 (pupa_rescue_cmd_chainloader): Refer itself.
39165 (PUPA_MOD_INIT): Save its own module in MY_MOD.
39166
39167 * kern/i386/pc/startup.S (install_partition): Removed.
39168 (version_string): Likewise.
39169 (config_file): Likewise.
39170 (pupa_install_dos_part): New variable.
39171 (pupa_install_bsd_part): Likewise.
39172 (pupa_prefix): Likewise.
39173 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
39174
39175 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
39176 and pupa/misc.h.
39177 (make_install_device): New function.
39178 (pupa_machine_init): Set the dl prefix.
39179
39180 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
39181 (buf): Renamed to ...
39182 (linebuf): ... this.
39183 (pupa_rescue_cmd_prefix): New function.
39184 (pupa_rescue_cmd_insmod): Likewise.
39185 (pupa_rescue_cmd_rmmod): Likewise.
39186 (pupa_rescue_cmd_lsmod): Likewise.
39187 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
39188 rmmod and lsmod.
39189
39190 * kern/mm.c (pupa_memalign): If failed even after invalidating
39191 disk caches, unload unneeded modules and retry.
39192
39193 * kern/misc.c (pupa_memmove): New function.
39194 (pupa_memcpy): Removed.
39195 (pupa_strcpy): New function.
39196 (pupa_itoa): Made static.
39197
39198 * kern/dl.c (pupa_dl_iterate): New function.
39199 (pupa_dl_ref): Likewise.
39200 (pupa_dl_unref): Likewise.
39201 (pupa_dl_unload): Return if succeeded or not.
39202 (pupa_dl_unload_unneeded): New function.
39203 (pupa_dl_unload_all): Likewise.
39204 (pupa_dl_init): Renamed to ...
39205 (pupa_dl_set_prefix): ... this.
39206 (pupa_dl_get_prefix): New function.
39207
39208 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
39209 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
39210 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39211 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39212 (pupa_install_dos_part): Declared.
39213 (pupa_install_bsd_part): Likewise.
39214 (pupa_prefix): Likewise.
39215 (pupa_boot_drive): Likewise.
39216
39217 * include/pupa/types.h: Fix a typo.
39218
39219 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
39220 pupa_memmove.
39221 (pupa_memmove): Declared.
39222 (pupa_strcpy): Likewise.
39223
39224 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
39225 pupa_mod_init takes one argument, its own module.
39226 (pupa_dl_unload_unneeded): Declared.
39227 (pupa_dl_unload_all): Likewise.
39228 (pupa_dl_ref): Likewise.
39229 (pupa_dl_unref): Likewise.
39230 (pupa_dl_iterate): Likewise.
39231 (pupa_dl_init): Renamed to ...
39232 (pupa_dl_set_prefix): ... this.
39233 (pupa_dl_get_prefix): Declared.
39234
39235 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 39236 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 39237 unloaded.
39238 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
39239 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
39240
39241 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
39242 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
39243
012d7999 392442003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
39245
39246 * util/i386/pc/pupa-setup.c (setup): Define the internal
39247 function find_first_partition_start at the top level, because GCC
39248 3.0.x cannot compile internal functions in deeper scopes
39249 correctly.
39250 (find_root_device): Use lstat instead of stat.
39251 Don't follow symbolic links.
39252 Fix the path-constructing code.
39253
39254 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
39255 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
39256 by a BLKGETSIZE ioctl first, because block devices don't fill
39257 the member st_mode of the structure stat on Linux.
39258 [__linux__] (linux_find_partition): Use a temporary buffer
39259 REAL_DEV for the working space. Copy it to DEV before returning.
39260 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
39261 buffer cache consistent.
39262 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
39263 strncmp. The previous value was merely wrong.
39264 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
39265
39266 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
39267 FAT size is 12. The previous value was merely wrong.
39268
39269 * kern/main.c (pupa_main): Don't split the starting message from
39270 newlines.
39271
39272 * kern/term.c (pupa_putchar): Put CR after LF instead of before
39273 LF, because BIOS goes crazy about character attributes in this
39274 case.
39275
1cc73a62 392762003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
39277
39278 * include/i386/pc/util/biosdisk.h: New file.
39279 * util/i386/pc/biosdisk.c: Likewise.
39280 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 39281
1cc73a62 39282 * Makefile.in (INCLUDE_DISTFILES): Added
39283 include/pupa/i386/pc/util/biosdisk.h.
39284 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
39285 directory util/i386/pc.
39286 (install-local): Added a rule for sbin_UTILITIES.
39287 (uninstall): Likewise.
39288
39289 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
39290
39291 * util/misc.c (xrealloc): New function.
39292 (pupa_malloc): Likewise.
39293 (pupa_free): Likewise.
39294 (pupa_realloc): Likewise.
39295 (pupa_stop): Likewise.
39296 (pupa_putchar): Likewise.
39297
39298 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
39299
39300 * include/pupa/util/misc.h (xrealloc): Declared.
39301
39302 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
39303 macro.
39304 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
39305 (PUPA_BOOT_MACHINE_BPB_END): ... this.
39306
39307 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
39308 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39309
39310 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
39311 way should be implemented.
39312 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39313
39314 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
39315 the size of NAME for safety.
39316 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
39317 0x88.
39318
39319 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
39320 (pupa_setup_SOURCES): Likewise.
39321
39322 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
39323
08b70fe8 393242002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39325
39326 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
39327 bunch of pushl's from pusha, because this destroys the return
39328 value.
39329
62ddcc8f 393302002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39331
39332 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
39333 This means that any missing prototypes could be fatal. Also, you
39334 must take care when writing assembly code. See the comments at
39335 the beginning of startup.S, for more details.
f19dbdb7 39336
62ddcc8f 39337 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
39338 compilation mechanism.
39339 (pupa_chainloader_real_boot): Likewise.
39340 (pupa_biosdisk_rw_int13_extensions): Likewise.
39341 (pupa_biosdisk_rw_standard): Likewise.
39342 (pupa_biosdisk_check_int13_extensions): Likewise.
39343 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
39344 (pupa_biosdisk_get_diskinfo_standard): Likewise.
39345 (pupa_get_memsize): Likewise.
39346 (pupa_get_mmap_entry): Likewise.
39347 (pupa_console_putchar): Likewise.
39348 (pupa_console_setcursor): Likewise.
39349 (pupa_getrtsecs): Use pushl instead of push.
39350
39351 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
39352 memory instead of the stack for a mmap entry, because some
39353 BIOSes may ignore the maximum size and overflow.
39354
39355 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
39356
39357 * genmk.rb (PModule#rule): Compile automatically generated
39358 sources with module-specific CFLAGS as well as other sources.
39359
9962ed99 393602002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39361
39362 * configure.ac: Check ld.
39363 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
39364 respectively, before checking endianness and sizes.
39365
39366 * Makefile.in (LD): New variable.
f19dbdb7 39367
abdfc3c5 393682002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39369
39370 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
39371
6a161fa9 393722002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39373
39374 * Changelog: New file.
39375