]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
[grub2.git] / ChangeLog
CommitLineData
10b64f1c
VS
12011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
4
bb416954
VS
52011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
8
bdfe9eeb
VS
92011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
12
581ffa8a
VS
132011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * grub-core/lib/adler32.c: Add missing license specification.
16 * grub-core/lib/crc64.c: Likewise.
17 * grub-core/loader/i386/pc/plan9.c: Likewise.
18 * grub-core/partmap/plan.c: Likewise.
19
2536cf64
LK
202011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
21
22 Add facility to debug GRUB with gdb under qemu.
23
24 * grub-core/gdb_grub.in: New file.
25 * grub-core/gmodule.pl.in: Likewise.
26 * grub-core/Makefile.core.def (gmodule.pl): New script.
27 (gdb_grub): Likewise.
28
bc108a4a
VS
292011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * util/grub-mount.c (argp_parser): Accept relative pathes.
32 * util/grub-fstest.c (argp_parser): Likewise.
33
111c1778
VS
342011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Plan9 support.
37
38 * Makefile.util.def (libgrubmods): Add
39 grub-core/partmap/plan.c.
40 * docs/grub.texi: Notice Plan9 support.
41 * grub-core/Makefile.core.def (plan9): New module.
42 (part_plan): Likewise.
43 * grub-core/loader/i386/pc/plan9.c: New file.
44 * grub-core/partmap/plan.c: Likewise.
45 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
46 define.
47 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
48 * include/grub/mm.h (grub_extend_alloc): New inline function.
49
c30be3b6
VS
502011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Make Reed-Solomon faster by using power of generator representation of
53 GF(256)*.
54
55 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
56 (gf_double_t): Likewise.
57 (gf_invert): Removed.
58 (gf_powx): New array.
59 (gf_powx_inv): Likewise.
60 (scratch): Move higher.
61 (gf_reduce): Removed.
62 (gf_mul): Use powx.
63 (gf_invert): Likewise.
64 (init_inverts): Replaced with ...
65 (init_powx): ...this. All users updated.
66 (pol_evaluate): Replace multiplications with additions.
67 (rs_encode): Likewise.
68 (gauss_eliminate): Call gf_invert.
69 (grub_reed_solomon_add_redundancy): Call init_powx.
70 (grub_reed_solomon_recover): Call init_powx unconditionally.
71
fa5aeffc
VS
722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
75
a346b81c
VS
762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
79 disk->partiton for safety.
80
d89ee414
VS
812011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
82
83 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
84 Fix a memory leak.
85 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
86
91ee7b6d
VS
872011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
90
91e5a33d
VS
912011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
92
93 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
94
9edd7be2
VS
952011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Fix spaces handling in proc/self/mountinfo.
98
99 * util/getroot.c (unescape): New function.
100 (grub_find_root_device_from_mountinfo): Use unescape.
101
ba102053
VS
1022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
103
104 Support ZFS embedding.
105
106 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
107 (grub_zfs_fs): Register grub_zfs_embed.
108
aa94b870
VS
1092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
110
111 Fix MIPS compilation.
112
113 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
114 * include/grub/offsets.h: Rename decompressor fields from
115 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
116 * util/grub-mkimage.c (image_targets): Use new names.
117
5fbdac14
VS
1182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
119
120 Defer multiboot device parsing until we're in compressed part.
121
122 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
123 bsd_part. setdevice has fallen into disuse.
124 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
125 (bsd_part): Likewise.
126 (boot_dev): New variable.
127 (multiboot_trampoline): Don't parse multiboot device.
128 Pass multiboot device in %edx.
129 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
130 grub_boot_device.
131 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
132 Likewise.
133 * grub-core/kern/i386/pc/startup.S: Save edx.
134 (grub_boot_drive): Removed.
135 (grub_install_dos_part): Likewise.
136 (grub_install_bsd_part): Likewise.
137 (grub_boot_device): New variable.
138 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
139 (grub_install_bsd_part): Likewise.
140 (grub_boot_drive): Likewise.
141 (grub_boot_device): New variable.
142 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
143 Removed.
144 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
145 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
146 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
147 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
148 * util/grub-install.in: Remove redundant condition.
149
691cbb58
VS
1502011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
151
152 Fix bug introduced by previous commit.
153
154 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
155
60240b8b
VS
1562011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
157
158 Use decompressors framework on i386-pc. It increases core size
159 by 46 bytes but improves compatibility and maintainability.
160
161 * grub-core/Makefile.core.def (lzma_decompress): New image.
162 (kernel): Add i386_pc_ldflags.
163 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
164 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
165 to real_to_prot, prot_to_real and device info.
166 * include/grub/offsets.h: Renamed decompressor offsets.
167 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
168 (image_target_desc): Remove raw_size and rename decompressor fields.
169 (compress_kernel): Handle lzma.
170 (generate_image): Handle decompressors on i386-pc.
171
e9d3421c
VS
1722011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * configure.ac: Add -fno-asynchronous-unwind-tables.
175
2b23074a
VS
1762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
177
178 Move assembly code to C by using intwrap. It increases core size
179 by 88 bytes but improves compatibility and maintainability.
180
181 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
182 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
183 ... here. Translated to C.
184 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
185 * grub-core/term/i386/pc/console.c (grub_console_getkey):
186 ... here. Translated to C.
187 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
188 * grub-core/term/i386/pc/console.c (grub_console_getxy):
189 ... here. Translated to C.
190 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
191 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
192 ... here. Translated to C.
193 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
194 * grub-core/term/i386/pc/console.c (grub_console_cls):
195 ... here. Translated to C.
196 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
197 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
198 ... here. Translated to C.
199 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
200 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
201 Translated to C.
202 * grub-core/term/i386/pc/console.c (int10_9): New function.
203 (grub_console_putchar): Likewise.
204 * include/grub/i386/pc/console.h: Removed the not anymore shared
205 functions.
206
678f4b67
VS
2072011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
208
209 Move grub_chainloader_real_boot out of the kernel.
210
211 * grub-core/Makefile.am: Remove machine/loader.h.
212 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
213 Removed.
214 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
215 variable.
216 (grub_relocator16_keep_a20_enabled): Likewise.
217 (grub_relocator16_boot): Fill new variables.
218 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
219 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
220 relocator.
221 (grub_chainloader_unload): Likewise.
222 (grub_chainloader_cmd): Likewise.
223 * include/grub/i386/pc/loader.h: Removed.
224 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
225 and esi. All initialisers updated.
226
4626edf6
VS
2272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2282011-11-12 Colin Watson <cjwatson@ubuntu.com>
229
230 * Makefile.util.def (grub-mount): New util.
231 * .bzrignore: Add grub-mount.
232 * configure.ac: Check for fuse and enable grub-mount if available.
233 * docs/man/grub-mount.h2m: New file.
234 * util/grub-mount.c: Likewise.
235
10f0117b
VS
2362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/commands/efi/fixvideo.c: Gettextize.
239 * grub-core/commands/hashsum.c: Likewise.
240 * grub-core/commands/i386/cmostest.c: Likewise.
241 * grub-core/commands/i386/pc/drivemap.c: Likewise.
242 * grub-core/commands/i386/pc/lsapm.c: Likewise.
243 * grub-core/commands/i386/pc/sendkey.c: Likewise.
244 * grub-core/commands/lsmmap.c: Likewise.
245 * grub-core/commands/menuentry.c: Likewise.
246 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
247 * grub-core/commands/setpci.c: Likewise.
248 * grub-core/loader/i386/bsd.c: Likewise.
249 * grub-core/loader/i386/linux.c: Likewise.
250 * util/getroot.c: Likewise.
251 * util/grub-editenv.c: Likewise.
252 * util/grub-fstest.c: Likewise.
253 * util/grub-mkfont.c: Likewise.
254 * util/grub-mkimage.c: Likewise.
255 * util/grub-mkpasswd-pbkdf2.c: Likewise.
256 * util/grub-pe2elf.c: Likewise.
257 * util/grub-probe.c: Likewise.
258 * util/grub-setup.c: Likewise.
259 * util/ieee1275/ofpath.c: Likewise.
260 * util/misc.c: Likewise.
261 * util/raid.c: Likewise.
262
566f779b
RM
2632011-11-11 Robert Millan <rmh@gnu.org>
264
265 * util/getroot.c (grub_util_get_geom_abstraction): Remove
266 __attribute__((unused)) from `os_dev', which *is* being used.
267
b50787de
VS
2682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
269
270 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
271 forgotten define.
272 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
273 GRUB_IA64_DL_GOT_ALIGN.
274 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
275 GRUB_IA64_DL_TRAMP_ALIGN.
276
119d11c8
VS
2772011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
278
279 Replace grub_fatal with normal errors in i386 linux loader.
280
281 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
282 (allocate_pages): Check find_efi_mmap_size return value.
283 (grub_e820_add_region): Return error.
284 (grub_linux_boot): Check mmap return value.
285
6e0632e2
VS
2862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
287
288 * grub-core/commands/acpihalt.c: Gettextized.
289 * grub-core/commands/cacheinfo.c: Likewise.
290 * grub-core/commands/cmp.c: Likewise.
291 * grub-core/commands/efi/loadbios.c: Likewise.
292 * grub-core/commands/gptsync.c: Likewise.
293 * grub-core/commands/ieee1275/suspend.c: Likewise.
294 * grub-core/commands/legacycfg.c: Likewise.
295 * grub-core/commands/memrw.c: Likewise.
296 * grub-core/commands/minicmd.c: Likewise.
297 * grub-core/commands/parttool.c: Likewise.
298 * grub-core/commands/time.c: Likewise.
299 * grub-core/commands/videoinfo.c: Likewise.
300 * grub-core/disk/geli.c: Likewise.
301 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
302 * grub-core/disk/luks.c: Likewise.
303 * grub-core/disk/lvm.c: Likewise.
304 * grub-core/font/font_cmd.c: Likewise.
305 * grub-core/fs/zfs/zfscrypt.c: Likewise.
306 * grub-core/fs/zfs/zfsinfo.c: Likewise.
307 * grub-core/gfxmenu/view.c: Likewise.
308 * grub-core/kern/emu/hostdisk.c: Likewise.
309 * grub-core/kern/emu/main.c: Likewise.
310 * grub-core/kern/emu/misc.c: Likewise.
311 * grub-core/kern/emu/mm.c: Likewise.
312 * grub-core/kern/mips/arc/init.c: Likewise.
313 * grub-core/kern/mips/loongson/init.c: Likewise.
314 * grub-core/kern/partition.c: Likewise.
315 * grub-core/lib/i386/halt.c: Likewise.
316 * grub-core/lib/mips/arc/reboot.c: Likewise.
317 * grub-core/lib/mips/loongson/reboot.c: Likewise.
318 * grub-core/loader/i386/pc/chainloader.c: Likewise.
319 * grub-core/loader/i386/xnu.c: Likewise.
320 * grub-core/loader/multiboot.c: Likewise.
321 * grub-core/net/bootp.c: Likewise.
322 * grub-core/net/net.c: Likewise.
323 * grub-core/normal/term.c: Likewise.
324 * grub-core/partmap/bsdlabel.c: Likewise.
325 * grub-core/parttool/msdospart.c: Likewise.
326 * grub-core/term/gfxterm.c: Likewise.
327 * grub-core/term/terminfo.c: Likewise.
328 * grub-core/video/i386/pc/vbe.c: Likewise.
329 * util/grub-menulst2cfg.c: Likewise.
330 * util/grub-mkdevicemap.c: Likewise.
331 * util/grub-mklayout.c: Likewise.
332 * util/grub-mkrelpath.c: Likewise.
333 * util/grub-script-check.c: Likewise.
334 * util/ieee1275/grub-ofpathname.c: Likewise.
335 * util/resolve.c: Likewise.
336
073aa7a9
VS
3372011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
338
339 Support %1$d syntax.
340
341 * tests/printf_unit_test.c: New file.
342 * Makefile.util.def (printf_test): New test.
343 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
344
c76b5417
VS
3452011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
346
347 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
348 fix.
349
df067ad1
VS
3502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
353 dprintf.
354 * grub-core/font/font.c (grub_font_load): Likewise.
355
5b289bc5
VS
3562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * util/grub-macho2img.c: Add comment concerning gettext.
359 * grub-core/lib/legacy_parse.c: Likewise.
360
c1860f87
VS
3612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
364 (grub_xvasprintf): Likewise.
365
d35d0d37
VS
3662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
367
368 Add const keyword to grub_env_get and gettextize week days.
369
370 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
371 (grub_read_hook_datetime): Return const char *.
372 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
373 updated.
374 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
375 Mark for gettext.
376 (grub_get_weekday_name): Return const char *. Call gettext.
377 * grub-core/script/argv.c (grub_script_argv_append): Receive const
378 char * and len as the argument. All users updated.
379 (grub_script_argv_split_append): Receive const char *.
380 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
381 * include/grub/env.h (grub_env_get): Likewise.
382 (grub_env_read_hook_t): Return const char *.
383 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
384 (grub_script_argv_split_append): Likewise.
385
9aed8a71
VS
3862011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
389
067fdf00
VS
3902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
393 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
394
a8bd9d39
VS
3952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
396
397 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
398 Fix prototype.
399
f7ce5baf
VS
4002011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
401
402 Fix mips compilation.
403
404 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
405 normal decoder.
406 (hashes): Use in embed decoder as well (for sizes).
407 (dec_stream_header): Fix embed decompressor logic.
408 (dec_stream_footer): Likewise.
409
9bb182f3
VS
4102011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
413 an error and not a fatal on unrecognised relocation types.
414
63a9e6f6
VS
4152011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
418 Issue error rather than printf on unknown arguments.
419
4c458569
VS
4202011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
423 Make buf a const.
424
e2d22baf
VS
4252011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
428 Fix module name.
429
53dc8590
VS
4302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
433 leftover debug printf.
434
6c189294
VS
4352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
438
f7688369
VS
4392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
440
441 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
442 A stylistic fix.
443
11a775a3
VS
4442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
447
33f784e8
SL
4482011-11-10 Shea Levy <slevy@tieronedesign.com>
449
450 Allow all modules to perform serial IO
451
452 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
453 * include/grub/serial.h (grub_serial_port_configure): New inline
454 function.
455 (grub_serial_port_fetch): Likewise.
456 (grub_serial_port_put): Likewise.
457 (grub_serial_port_fini): Likewise.
458 (grub_serial_find): New proto.
459
f6276525
VS
4602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
461
462 Put symlink at the end of the node and fix a potential
463 memory corruption.
464
465 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
466 Make symlink into an array.
467 (set_rockridge): Set have_symlink and alloc_dirents.
468 (grub_iso9660_read_symlink): Use new layout.
469 (grub_iso9660_iterate_dir): Fix memory corruption.
470 Use new layout.
471 (grub_iso9660_dir): Set have_symlink.
472 (grub_iso9660_open): Likewise.
473
c3591189
VS
4742011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
475
476 Remove local keyword.
477
478 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
479 (version_test_gt): Likewise.
480 (version_find_latest): Likewise.
481 (gettext_printf): Likewise.
482 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
483
cb544caa
VS
4842011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
487
45bd824d
VS
4882011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
489
490 Fix ZFS memory and resource leaks.
491
492 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
493 All users updated.
494 Free type on exit.
495 (fill_vdev_info): New parameter inserted. All users updated.
496 (check_pool_label): Likewise.
497 (scan_disk): Likewise.
498 (scan_devices): Close non-inserted disks.
499 (fzap_iterate): Free l.
500 (unmount_device): Free children descripto memory.
501
ad9a2f44
VS
5022011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
505 argument (access out of bounds).
506
6b68db81
VS
5072011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
508
509 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
510 >= 6 drives.
511
28840fda
VS
5122011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
515 Fix declaration.
516
8a5a3a5b
VS
5172011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
518
519 Fix several memory leaks.
520
521 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
522 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
523 (grub_cpio_dir): Likewise.
524 * grub-core/fs/fat.c (grub_fat_label): Likewise.
525 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
526 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
527 (grub_romfs_label): Likewise.
528 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
529 (squash_unmount): New function.
530 (grub_squash_dir): Fix memory leak.
531 (grub_squash_open): Likewise.
532 (grub_squash_read): Likewise.
533 (grub_squash_mtime): Likewise.
534 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
535 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
536 * util/grub-fstest.c (fstest): Likewise.
537
57b01250
VS
5382011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
541 avoid accessing beyond the array.
542
19e81ba7
VS
5432011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
546
52b656c0
VS
5472011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
548
549 Several AFFS fixes.
550
551 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
552 (GRUB_AFFS_FLAG_FFS): Removed.
553 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
554 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
555 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
556 (grub_fshelp_node): Make block 32-bit.
557 Add block_cache and last_block_cache.
558 (grub_affs_read_block): Fill and use block cache.
559 (grub_affs_read_file): Removed.
560 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
561 boot block.
562 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
563 safety.
564 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
565 space.
566 (grub_affs_close): Free block cache.
567 (grub_affs_read): Use grub_fshelp_read_file directly.
568
438a746a
VS
5692011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
572 with no error set.
573
49a45021
VS
5742011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
577 used variable.
578 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
579 Likewise.
580
3ae17eb8
VS
5812011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
582
583 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
584
585 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
586 byteswap when needed.
587
27610c38
VS
5882011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
589
590 Fix FreeBSD compilation.
591
592 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
593 to avoid circular dependency.
594 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
595 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
596 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
597
4a19b601
VS
5982011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Fix ZFS crypto error types.
601
602 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
603 (grub_gcm_decrypt): Likewise.
604 (grub_zfs_load_key_real): Fix error code type. Handle possible error
605 from PBKDF2.
606
958ee221
VS
6072011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
608
609 Illumos support.
610
611 * Makefile.util.def (10_illumos): New script.
612 * configure.ac: Set COND_HOST_ILLUMOS.
613 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
614 Support Illumos calls.
615 (find_partition_start) [__sun__]: Likewise.
616 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
617 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
618 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
619 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
620 device.
621 * util/grub-probe.c (probe) [__sun__]: Do character check.
622 * util/grub.d/10_illumos.in: New file.
623
cac14fb6
VS
6242011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
625
626 Support escaped commas in hostdisk.
627
628 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
629 (find_grub_drive): Use unescape_cmp.
630 (make_device_name): Escape commas.
631
78e08dc3
VS
6322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
633
634 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
635
9f421dd1
VS
6362011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
639 variable.
640
ed64e9e2
VS
6412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
642
643 Support trampoline jumps on powerpc.
644
645 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
646 __ia64__ path.
647 (grub_dl_load_segments): Set mod->sz.
648 (grub_dl_flush_cache): Flush whole space occupied by module, not just
649 segments.
650 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
651 (jump): Likewise.
652 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
653 function.
654 (trampoline): New struct.
655 (trampoline_template): New const.
656 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
657 * include/grub/dl.h (grub_dl): Add sz element.
658 [__powerpc__]: Follow __ia64__.
659 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
660 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
661 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
662 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
663
3084ede4
VS
6642011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
665
666 ZFS crypto support.
667
668 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
669 * grub-core/Makefile.core.def (zfscrypt): New module.
670 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
671 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
672 it. All users updated.
673 (grub_zfs_decrypt): New var.
674 (grub_zfs_load_key): Likewise.
675 (zio_checksum_functions): Add SHA256+MAC.
676 (zio_checksum_verify): Handle incomplete comparison due to MAC.
677 (zio_read): Handle encrypted blocks.
678 (zap_verify): Remove incorrect check.
679 (fzap_iterate): Handle non-standard fzap.
680 (zap_iterate): Likewise.
681 (zap_iterate_u64): New function.
682 (dnode_get_fullpath): Load keys.
683 * grub-core/fs/zfs/zfscrypt.c: New file.
684 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
685 (grub_crypto_ecb_encrypt): Make input const.
686 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
687 (grub_crypto_ecb_encrypt): Make input const.
688 (GRUB_CIPHER_AES): New macro.
689 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
690 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
691 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
692 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
693 prefix. All users updated.
694 (grub_zfs_add_key): New proto.
695 (grub_zfs_decrypt): Likewise.
696 (grub_zfs_load_key): Likewise.
697 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
698 * util/grub-fstest.c (options): Add -K option.
699 (argp_parser): Likewise.
700
b632b404
VS
7012011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
702
703 Support zle compression on ZFS.
704
705 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
706 (decomp_table): Add zle.
707 * include/grub/zfs/zio.h (zio_compress): Add zle.
708
c7ba4f69
VS
7092011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
710
711 Support BtrFS embedding.
712
713 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
714 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
715 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
716 * util/grub-setup.c (setup): Use fs embedding if available.
717 Add additional sanity check.
718
455377d9
VS
7192011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * util/grub-install.in: Fix condition for config_opt.
722
c2fd16ca
VS
7232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Support third redundancy strip on raidz3.
726
727 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
728 Return error on singularity. All users updated.
729 (read_device): Don't stop on 3rd failure on raidz3.
730
8622923b
VS
7312011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
732
733 Support case-insensitive ZFS subvolumes.
734
735 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
736 All users updated.
737 (zap_hash): Likewise.
738 (name_cmp): New function.
739 (zap_leaf_array_equal): New parameter case_insensitive.
740 All users updated.
741 (zap_leaf_lookup): Likewise.
742 (fzap_lookup): Likewise.
743 (zap_lookup): Likewise.
744 (dnode_get_path): New parameter case_insensitive. Retrieve case
745 sensitiviness of a volume. All users updated.
746 (dnode_get_fullpath): New parameter case_insensitive.
747 All users updated.
748 (grub_zfs_dir): Set info.case_insensitiveness.
749
95f2e860
VS
7502011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
751
752 Support second redundancy strip on raidz(2,3).
753
754 * grub-core/fs/zfs/zfs.c (powx): New array.
755 (powx_inv): Likewise.
756 (poly): New const.
757 (xor_out): New function.
758 (gf_mul): Likewise.
759 (recovery): Likewise.
760 (read_device): Use second redundancy strip.
761
11ee4389
VS
7622011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
763
764 Use a power of generator representation of GF(256) multiplication group
765 to save space time and complexity.
766
767 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
768 (raid6_table2): Likewise.
769 (powx): New array.
770 (powx_inv): Likewise.
771 (poly): New const.
772 (grub_raid_block_mul): Replace with ...
773 (grub_raid_block_mulx): ...this.
774 (grub_raid6_init_table): Rewritten.
775 (grub_raid6_recover): Use power of generator representation.
776
09e2763f
VS
7772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
780 for the right device.
781
8bec9a28
VS
7822011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
785 expected by grub-mkimage and it's more clear since there is no implicit
786 padding.
787
dbd3a32e
VS
7882011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
791 disk.
792 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
793
182c872a
PMH
7942011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
795
796 * util/grub-mkrescue.in: Fix handling xorriso option.
797
1e51cabd
VS
7982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
801 NULL.
802
9cc3581d 8032011-11-03 crocket <crockabiscuit@gmail.com>
804
805 * util/grub.d/10_linux.in: Add Slackware initrd naming.
806
158dc1ea
VS
8072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
808
809 XZ CRC64 and SHA256 support.
810
811 * Makefile.util.def (libgrubmods): Add crc64.c.
812 * grub-core/Makefile.core.def (crc64): New module.
813 * grub-core/lib/crc64.c: New file.
814 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
815 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
816 Fix the type.
817 (MAX_HASH_SIZE): New define.
818 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
819 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
820 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
821 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
822 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
823 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
824 Handle non-crc32 hashes.
825 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
826 (dec_stream_header): Handle non-crc32 hashes.
827 (dec_stream_footer): Likewise.
828 (dec_block_header): Likewise.
829 (dec_main): Likewise.
830 (xz_dec_init): Likewise.
831 (xz_dec_reset): Likewise.
832 (xz_dec_end): Likewise.
833 * util/import_gcry.py: Add CRC64 line.
834
9d9b3d2f
VS
8352011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
838 as well.
839
7d0ac931
VS
8402011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
841
842 Make reiserfs label retrieval similar to other *_label functions.
843
844 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
845 (REISERFS_MAX_LABEL_LENGTH): Removed.
846 (REISERFS_LABEL_OFFSET): Likewise.
847 (grub_reiserfs_label): Rewritten.
848
8492011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
852 field.
853
cf5ba824
VS
8542011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
857
17744004
VS
8582011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
861 drive failure on both raidz and raidz2.
862
aca5aefc
VS
8632011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
864
865 Fix RAIDZ(2) for >= 5 devices.
866
867 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
868 asize argument. All users updated.
869
ce8ca56e
VS
8702011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
871
872 Fix RAIDZ(2).
873
874 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
875 (fill_vdev_info_real): Set ashift.
876 (read_device): Rewrite RAIDZ part based on reverse engineering.
877
7c01e783
VS
8782011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
881 don't report potentially unavialiable fields in debug output.
882 (find_path): Fix double-free and memory leak.
883
ce109e84
VS
8842011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Read label on UFS1.
887
888 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
889 (grub_ufs_fs): Always set .label.
890
87661123
VS
8912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Use shifts in UFS.
894
895 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
896 (grub_ufs_data): New field log2_blksz.
897 (grub_ufs_read_file): Use shifts.
898 (grub_ufs_mount): Check block size and logarithm it.
899
46bc1dc2
VS
9002011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
903 long symlinks.
904
19ee2987
VS
9052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Handle symlinks and long names on tar and cpio.
908
909 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
910 (ATTR_FILE): Likewise.
911 (ATTR_DIR): Likewise.
912 (ATTR_LNK): Likewise.
913 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
914 (grub_cpio_find_file): Fill mode, handle linkname field as well as
915 L and K entries.
916 (grub_cpio_mount): Zero-fill data.
917 (handle_symlink): New function.
46bc1dc2
VS
918 (grub_cpio_dir): Handle symlinks.
919 (grub_cpio_open): Likewise.
920 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 921
c83a08d8
VS
9222011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
923
924 Fix iso9660 filename limitations and fix memory leaks.
925
926 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
927 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
928
45cdd3ea
VS
9292011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
930
931 Fix JFS file name length limitations.
932
933 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
934 (grub_jfs_diropen): Fix maximum filename length.
935 (grub_jfs_getent): Fix filename length.
936 (grub_jfs_lookup_symlink): Fix size checks.
937
94ef05c2
VS
9382011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
941 string.
942
785ab8c7
VS
9432011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
944
eb0b6b45
VS
945 Leverage BFS implementation to read AFS.
946
947 * Makefile.util.def (libgrubmods): Add afs.c.
948 * grub-core/Makefile.core.def (afs): New module
949 * grub-core/fs/afs.c: New file.
950 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
951
9522011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
953
954 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 955
c4a1628f
VS
9562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
957
958 * grub-core/fs/bfs.c: Run indent.
959
5825b379
VS
9602011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
961
962 BFS implementation based on the specification.
963
964 * grub-core/fs/bfs.c: New file.
965 * Makefile.util.def (libgrubmods): Add bfs.c.
966 * grub-core/Makefile.core.def (bfs): New module.
967
42b2a706
VS
9682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * util/grub-fstest.c (cmd_cp): Clarify error message.
971 (cmd_cmp): Likewise.
972
61b99bfc
YB
9732011-10-30 Yves Blusseau <blusseau@zetam.org>
974
975 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
976 and befs_be.
977
faba3d16
VS
9782011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
979
980 Remove afs and befs because of copyright problem.
981
982 * grub-core/fs/afs.c: Removed.
983 * grub-core/fs/afs_be.c: Removed.
984 * grub-core/fs/befs.c: Removed.
985 * grub-core/fs/befs_be.c: Removed.
986 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
987 * grub-core/Makefile.core.def (afs): Removed.
988 (afs_be): Likewise.
989 (befs): Likewise.
990 (befs_be): Likewise.
991
c39224b0
VS
9922011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Prefer rockridge over Joliet.
995
996 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
997 to ...
998 (set_rockridge): ... here.
999 (grub_iso9660_mount): Check rockridge on the primary label when
1000 discovering. Ignore Joliet if Rockridge is present.
1001
e551115a
VS
10022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 Use shifts in nilfs2.
1005
1006 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
1007 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
1008 (grub_nilfs2_palloc_entries_per_group): Replace with ...
1009 (grub_nilfs2_log_palloc_entries_per_group): ... this.
1010 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
1011 (grub_nilfs2_entries_per_block): Replaced with ...
1012 (grub_nilfs2_log_entries_per_block_log): ... this.
1013 (grub_nilfs2_blocks_per_group): Replaced with ...
1014 (grub_nilfs2_blocks_per_group_log): ... this.
1015 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
1016 (grub_nilfs2_blocks_per_desc_block_log): ... this.
1017 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
1018 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
1019 (grub_nilfs2_palloc_entry_offset): Replaced ...
1020 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
1021 (grub_nilfs2_dat_translate): Use shifts.
1022 (grub_nilfs2_read_inode): Likewise.
1023 (GRUB_MOD_INIT): Ensure that logs are correct.
1024
564dd58c
VS
10252011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Use shifts in minix filesystem.
1028
1029 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
1030 (GRUB_MINIX_ZONE2SECT): Likewise.
1031 (grub_minix_data): Replace block_size with log_block_size.
1032 (grub_minix_read_file): Use shifts.
1033 (grub_minix_mount): Check block size and take a logarithm.
1034
ed9ba06d
VS
10352011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 Use shifts in squash4.
1038
1039 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
1040 (squash_mount): Check block size and take logarithm.
1041 (direct_read): Use shifts.
1042
ad03fe76
VS
10432011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 Correct befs block counting logic.
1046
1047 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
1048 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
1049 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
1050 (grub_afs_read_inode): Use block_shift.
1051 (RANGE_SHIFT): New definition.
1052 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
1053 unexpected conditions, use shifts and appropriate types.
1054 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
1055
6563f63d
VS
10562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * grub-core/disk/raid.c (scan_devices): Check partition.
1059 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1060
5b1ae25f
VS
10612011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 Support BFS (befs) UUID.
1064
1065 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
1066 (grub_afs_small_data_element_header): New struct.
1067 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
1068 (grub_afs_read_attribute) [MODE_BFS]: New function.
1069 (grub_afs_iterate_dir): Allocate for complete inode.
1070 (grub_afs_mount): Likewise.
1071 (grub_afs_uuid) [MODE_BFS]: New function.
1072 (grub_afs_fs) [MODE_BFS]: Add .uuid.
1073
f8d82408
VS
10742011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
1077 (zfs_unmount): Fix memory leak.
1078
5773fb64
VS
10792011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 Support NTFS reparse points.
1082
1083 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
1084 (symlink_descriptor): New struct.
1085 (grub_ntfs_read_symlink): New function.
1086 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
1087 (grub_ntfs_open): Likewise.
1088
91c3fdde
VS
10892011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
1092
3be82e10
VS
10932011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 fstest xnu_uuid subcommand.
1096
1097 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
1098 grub-core/commands/xnu_uuid.c.
1099 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
1100 (fstest): Handle xnu_uuid.
1101 (options): Document xnu_uuid.
1102 (argp_parser): Parse xnu_uuid.
1103
8e32442e
VS
11042011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
1107 -l argument. Add newline at the end if printing.
1108 (GRUB_MOD_INIT): Document -l.
1109
52a05075
VS
11102011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1111
1112 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
1113
1869edb5
VS
11142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 ZFS multi-device and version 33 support.
1117
1118 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
1119 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
1120 (grub_zfs_data): Add multidev-ice-related fields.
1121 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
1122 (dva_get_offset): Make dva const.
1123 (zfs_fetch_nvlist): New function.
1124 (fill_vdev_info_real): Likewise.
1125 (fill_vdev_info): Likewise.
1126 (check_pool_label): Likewise.
1127 (scan_disk): Likewise.
1128 (scan_devices): Likewise.
1129 (read_device): Likewise.
1130 (read_dva): Likewise.
1131 (zio_read_gang): Use read_dva.
1132 (zio_read_data): Likewise.
1133 (zap_leaf_lookup): Add missing endian conversion.
1134 (zap_verify): Add missing endian conversion. All users updated.
1135 (fzap_lookup): Likewise.
1136 (fzap_iterate): Likewise.
1137 (dnode_get_path): Handle SA bonus.
1138 (nvlist_find_value): Make input const. All users updated.
1139 (unmount_device): New function.
1140 (zfs_unmount): Use unmount_device.
1141 (zfs_mount): Use scan_disk.
1142 (zfs_mtime): New function.
1143 (grub_zfs_open): Handle system attributes.
1144 (fill_fs_info): Likewise.
1145 (grub_zfs_dir): Likewise.
1146 (grub_zfs_fs): Add mtime.
1147 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
1148 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
1149 (SA_MTIME_OFFSET): Likewise.
1150 (SA_SYMLINK_OFFSET): Likewise.
1151 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
1152 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
1153 (fstest): Support zfsinfo.
1154 (argp_parser): Likewise.
1155
186b4028
VS
11562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
1159 error.
1160
11612011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
1162
1163 ZFS fixes.
1164
1165 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
1166 sharing the same block. Iterate over correct number of indices.
1167 (dnode_get_path): Handle symlinks correctly.
1168
c0584900
VS
11692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
1172
67e2bd71
VS
11732011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 Read label on HFS+.
1176
1177 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
1178 (grub_hfsplus_btree_search): Fix types.
1179 (grub_hfsplus_label): Implement.
1180
e9cc6b7b
VS
11812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
1184
19832ddb
VS
11852011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
1188
66b40850
VS
11892011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 Fix symlink handling on iso9660.
1192
1193 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
1194 All users updated.
1195 (grub_iso9660_susp_iterate): Accept zero-size iterate.
1196 (grub_iso9660_read_symlink): Moved most of code ...
1197 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
1198
db821363
VS
11992011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1202 Use union to avoid breaking strict-aliasing rules.
1203
e1211949
VS
12042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 Support multi-extent iso files.
1207
1208 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
1209 Add node.
1210 (grub_fshelp_node): Revamp. All users updated.
1211 (FLAG_*): New enum.
1212 (read_node): New function.
1213 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
1214 All users updated.
1215 (grub_iso9660_mount): Don't attempt to read sua when there is none.
1216 (get_node_size): New function.
1217 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
1218 entries.
1219 Fix memory leak on . and ..
1220 (grub_iso9660_read): Use read_node.
1221 (grub_iso9660_close): Free node.
1222
d4888031
VS
12232011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Fix tar 4G limit and handle paths containing dot.
1226
1227 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
1228 (canonicalize): New function.
1229 (grub_cpio_find_file): Use canonicalize. Store offs in
1230 grub_disk_addr_t.
1231 (grub_cpio_dir): Use grub_disk_addr_t.
1232 (grub_cpio_open): Likewise.
1233
9f12e664
VS
12342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Fix handling of uncompressed blocks on squashfs and break 4G limit.
1237
1238 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
1239 unused flags.
1240 (grub_squash_inode): Add long_file and block_size.
1241 (grub_squash_cache_inode): New struct.
1242 (grub_squash_dirent): Make types into enum.
1243 (SQUASH_TYPE_LONG_REGULAR): New type.
1244 (grub_squash_frag_desc): Add field size.
1245 (SQUASH_BLOCK_FLAGS): New enum.
1246 (grub_squash_data): Use grub_squash_cache_inode.
1247 (grub_fshelp_node): Make ino_chunk 64-bit.
1248 (read_chunk): Minor argument change. All users updated.
1249 (squash_mount): Use correct le_to_cpu.
1250 (grub_squash_open): Handle LONG_REGULAR.
1251 (direct_read): New function.
1252 (grub_squash_read_data): Handle blocks correctly.
1253
9f326fba
VS
12542011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
1257
f4d9b64b
VS
12582011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
1261
5bbd28b8
VS
12622011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1263
1264 Fix 2G limit on ZFS.
1265
1266 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
1267 types.
1268 (uberblock_verify): Likewise.
1269 (dmu_read): Likewise.
1270 (grub_zfs_read): Likewise. Remove invalid cast.
1271
68c72069
VS
12722011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1273
1274 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
1275 (grub_jfs_blkno): Fix incorrect shift.
1276 (grub_jfs_read_file): Use more appropriate types.
1277
6e536dc8
VS
12782011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Support triple indirect on minix2 and minix3.
1281
1282 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
1283 Declare triple_indir_zone.
1284 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
1285 indirect.
1286
e0864e7a
VS
12872011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Minix FS fixes.
1290
1291 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
1292 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
1293 Rename ctime to mtime. All users updated.
1294 (grub_minix_get_file_block): Fix types and double indirect computations.
1295
89481cab
VS
12962011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
1299 if no label is found.
1300 (grub_fat_iterate_dir): Fix file size type.
1301 (grub_fat_iterate_dir): Likewise.
1302
f646e143
VS
13032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
1306 save some space.
1307 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1308 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1309
534d769e
VS
13102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
1313
e084ba18
VS
13142011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1315
1316 * util/import_gcry.py: Accept space between # and include.
1317
3471ecdf
VS
13182011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
1321
124df5f6
VS
13222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 Fine grainely disable warnings on lexer. Remove Wno-error on it.
1325
1326 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
1327 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
1328 yylex_strncpy.
1329 * grub-core/script/yylex.l: Add fine-grained #pragma.
1330
4defb8d5
VS
13312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
1334 New inline function.
1335 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
1336 Likewise.
1337 (memset) [GRUB_UTIL]: Likewise.
1338 (memcmp) [GRUB_UTIL]: Likewise.
1339
4e94ae65
VS
13402011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
1343 inline function rather than a define.
1344
18c575e5
VS
13452011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * util/grub-setup.c: Add missing include.
1348
f8bc22a8
VS
13492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * util/ieee1275/grub-ofpathname.c: Add missing include.
1352
3ce69fc9
VS
13532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
1356 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
1357 Likewise.
1358
d1e293bb
VS
13592011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
1362 grub_memcmp usage.
1363
7a5c54a4
VS
13642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * util/grub-install.in: Add datarootdir as per automake manual
1367 suggestion.
1368 * util/grub-mknetdir.in: Likewise.
1369
13702011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
1371
1372 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
1373 suggestion.
1374 * util/grub.d/10_kfreebsd.in: Likewise.
1375 * util/grub.d/10_linux.in: Likewise.
1376 * util/grub.d/10_netbsd.in: Likewise.
1377 * util/grub.d/10_windows.in: Likewise.
1378 * util/grub.d/20_linux_xen.in: Likewise.
1379
766f7d08
VS
13802011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1381
1382 Remove redundant grub_kernel_image_size.
1383
1384 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
1385 _edata and _start.
1386 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
1387 the small code. It moves it only by few bytes but simplifies the code.
1388 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
1389 _start.
1390 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
1391 (grub_kernel_image_size): Removed.
1392 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
1393 (grub_kernel_image_size): Removed.
1394 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
1395 compiled with Apple toolchain.
1396 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
1397 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
1398 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
1399 (grub_total_module_size): Likewise.
1400 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
1401 Removed.
1402 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
1403 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
1404 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1405 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
1406 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
1407 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
1408 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
1409 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
1410 Removed.
1411 (grub_total_module_size): Removed.
1412 * util/grub-mkimage.c (image_target_desc): Remove image_size.
1413 (image_targets): Likewise.
1414 Set .compressed_size to no field on sparc.
1415 (generate_image): Remove kernel_image_size handling.
1416
fcf1d672
SJ
14172011-10-19 Szymon Janc <szymon@janc.net.pl>
1418
1419 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
1420 NULL pointer dereference.
1421
de9c615e
VS
14222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
1425 done with a dedicated section.
1426
1427 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
1428 Ensure the correct position of boot_path.
1429 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
1430 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
1431 other fields.
1432 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
1433 * include/grub/boot.h: Removed. All references removed.
1434 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1435 Removed.
1436 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
1437
e55599dc
VS
14382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
1441 name.
1442
36dd20ad
VS
14432011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
1446
f8f72eb8
VS
14472011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1450 Don't add the bogus brackets.
1451
a374751b
VS
14522011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 ExFAT support.
1455
1456 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
1457 * grub-core/Makefile.core.def (exfat): New module.
1458 * grub-core/fs/exfat.c: New file.
1459 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
1460 (GRUB_FAT_ATTR_*): Make into an enum.
1461 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
1462 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
1463 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
1464 (GRUB_FAT_MAXFILE): Removed.
1465 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
1466 (grub_current_fat_bpb_t): New type.
1467 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
1468 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
1469 (grub_fat_dir_node_t): New type.
1470 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
1471 (fat_log2) [MODE_EXFAT]: Removed.
1472 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
1473 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
1474 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
1475 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
1476 (grub_fat_label) [MODE_EXFAT]: New function.
1477 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
1478 reserved_first_sector to 0.
1479
544c2487
VS
14802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 Move grub_reboot out of the kernel.
1483
1484 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
1485 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
1486 * grub-core/lib/efi/reboot.c: ... here.
1487 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
1488 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1489 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
1490 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
1491 * grub-core/lib/i386/reboot_trampoline.S: ... here.
1492 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
1493 * grub-core/lib/ieee1275/reboot.c: ... here.
1494 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
1495 * grub-core/lib/mips/arc/reboot.c: ... here.
1496 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
1497 * grub-core/lib/mips/loongson/reboot.c: ...here.
1498 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
1499 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
1500 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1501 * include/grub/i386/reboot.h: New file.
1502 * include/grub/mips/loongson/ec.h: Fix includes.
1503 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1504 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1505 * grub-core/lib/i386/reboot.c: New file.
1506
a97501d2
VS
15072011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 Make grub_prefix into module to fix the arbitrary limit and save
1510 some space.
1511
1512 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1513 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1514 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1515 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1516 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1517 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1518 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1519 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1520 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1521 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1522 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1523 * include/grub/ia64/efi/kernel.h: Removed.
1524 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1525 (grub_prefix): Removed.
1526 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1527 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1528 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1529 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1530 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1531 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1532 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1533 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1534 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1535 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1536 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1537 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1538 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1539 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1540 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1541 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1542 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1543 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1544 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1545 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1546 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1547 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1548 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1549 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1550 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1551 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1552 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1553 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1554 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1555 from module.
1556 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1557 prefix_end.
1558 (image_targets): Likewise.
1559 (generate_image): Put prefix as a module.
1560
39705fad
VS
15612011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 Replace grub_module_iterate with FOR_MODULES.
1564
1565 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1566 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1567 (grub_efi_modules_addr): ...this.
1568 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1569 (grub_efi_init): Set grub_modbase.
1570 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1571 (grub_modbase): New variable.
1572 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1573 (grub_modbase): New variable.
1574 (grub_machine_init): Set grub_modbase.
1575 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1576 (grub_modbase): New variable.
1577 (grub_machine_init): Set grub_modbase.
1578 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1579 (grub_modbase): New variable.
1580 (grub_machine_init): Set grub_modbase.
1581 * grub-core/kern/main.c (grub_module_iterate): Remove.
1582 (grub_modules_get_end): Use grub_modbase.
1583 (grub_load_modules): Use FOR_MODULES.
1584 (grub_load_config): Likewise.
1585 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1586 (grub_modbase): New variable.
1587 (grub_machine_init): Set grub_modbase.
1588 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1589 (grub_modbase): New variable.
1590 (grub_machine_init): Set grub_modbase.
1591 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1592 Removed.
1593 (grub_modbase): New variable.
1594 (grub_machine_init): Set grub_modbase.
1595 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1596 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1597 (grub_module_iterate): Likewise.
1598 (grub_modbase): New variable declaration.
1599 (FOR_MODULES): New macro.
1600
2afb7f6c
VS
16012011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1604 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1605
366e34fa
VS
16062011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Fix few obvious type discrepancies.
1609
1610 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1611 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1612 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1613 variable.
1614 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1615 and connected types.
1616 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1617 offset.
1618 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1619 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1620 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1621 and connected types.
1622
177b960e
VS
16232011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 Fix python 3.x incompatibilities.
1626
1627 * gentpl.py: Put brackets around print strings.
1628 * util/import_gcry.py: Open explicitly as utf-8.
1629 Use in instead of has_key.
1630
3b619ae1
VS
16312011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1634 (GRUB_XFS_INO_AGBITS): Make into inline function.
1635 (GRUB_XFS_INO_INOINAG): Likewise.
1636 (GRUB_XFS_INO_AG): Likewise.
1637 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1638 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1639 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1640 (GRUB_XFS_EXTENT_SIZE): Likewise.
1641 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1642 (GRUB_XFS_NEXT_DIRENT): Likewise.
1643 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1644 (grub_xfs_read_file): Fix offset type.
1645
8bcebcb8
RM
16462011-10-15 Robert Millan <rmh@gnu.org>
1647
1648 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1649
0017e5ef
RM
16502011-10-15 Robert Millan <rmh@gnu.org>
1651
1652 Fix build problem on FreeBSD and GNU/kFreeBSD.
1653
1654 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1655
d8919552
VS
16562011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1659
1660 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1661 types.
1662 (grub_hfsplus_btree_recoffset): Likewise.
1663 (grub_hfsplus_btree_recptr): Likewise.
1664 (grub_hfsplus_find_block): Likewise.
1665 (grub_hfsplus_btree_search): Likewise.
1666 (grub_hfsplus_read_block): Likewise.
1667 (grub_hfsplus_read_file): Likewise.
1668 (grub_hfsplus_mount): Likewise.
1669 (grub_hfsplus_btree_iterate_node): Likewise.
1670 (grub_hfsplus_btree_search): Likewise.
1671 (grub_hfsplus_iterate_dir): Likewise.
1672 (grub_hfsplus_read): A small code simplification.
1673
c81296b6
VS
16742011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1675
1676 * grub-core/kern/emu/hostdisk.c
1677 (convert_system_partition_to_system_disk): Don't assume that children
1678 of mapper nodes are mapper nodes.
1679
0eb8ffb1
VS
16802011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1683 * include/grub/misc.h (grub_isxdigit): New function.
1684 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1685 switched to grub_isxdigit.
1686 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1687 number starting with a letter.
1688
a98f4a08
RM
16892011-10-09 Robert Millan <rmh@gnu.org>
1690
1691 LVM support for FreeBSD and GNU/kFreeBSD.
1692
1693 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1694 GNU/kFreeBSD.
1695 (LVM_DEV_MAPPER_STRING): Move from here ...
1696 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1697 * util/getroot.c: Include `<grub/util/lvm.h>'.
1698 (grub_util_get_dev_abstraction): Enable
1699 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1700 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1701 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1702 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1703 support it.
1704 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1705 GNU/kFreeBSD.
1706 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1707 when LVM abstraction is required for ${GRUB_DEVICE}.
1708
050e8e90
SJ
17092011-10-06 Szymon Janc <szymon@janc.net.pl>
1710
1711 Add support for LZO compression in GRUB:
1712 - import of minilzo library,
1713 - LZO decompression for btrfs,
1714 - lzop files decompression.
1715
1716 * grub-core/io/lzopio.c: New file.
1717 * grub-core/lib/adler32.c: Likewise.
1718 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1719 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1720 * grub-core/lib/minilzo/minilzo.c: Likewise.
1721 * grub-core/lib/minilzo/minilzo.h: Likewise.
1722 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1723 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1724 grub-core/lib/minilzo/minilzo.c to common.
1725 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1726 cflags in cppflags.
1727 * grub-core/Makefile.core.def (btrfs): Likewise.
1728 * grub-core/Makefile.core.def (lzopio): New module.
1729 (adler32): Likewise.
1730 * grub-core/fs/btrfs.c: Include minilzo.h.
1731 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1732 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1733 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1734 (grub_btrfs_lzo_decompress): New function.
1735 (grub_btrfs_extent_read): Add support for LZO compression type.
1736 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1737 (GRUB_USHRT_MAX): Likewise.
1738 (GRUB_UINT_MAX): Likewise.
1739 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1740 (UINT_MAX): Likewise.
1741 (CHAR_BIT): Likewise.
1742 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1743 grub-core/lib/posix_wrap/limits.h
1744 (UCHAR_MAX): Likewise.
1745 * include/grub/file.h (grub_file_filter_id): New compression filter
1746 GRUB_FILE_FILTER_LZOPIO.
1747 * include/grub/file.h (grub_file_filter_id): Set
1748 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1749 * include/grub/types.h (grub_get_unaligned16): New function.
1750 (grub_get_unaligned32): Likewise.
1751 (grub_get_unaligned64): Likewise.
1752 * util/import_gcry.py (cryptolist): Add adler32.
1753
0eb8ffb1
VS
17542011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1757 in perspective decreases the complexity of build system and fixes
1758 compilation right now.
1759
ce79cc99 17602011-10-01 Ales Nesrsta <starous@volny.cz>
1761
1762 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1763 (fixed problem related to using UHCI with coreboot).
1764
8667a314
BC
17652011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1766
1767 * gentpl.py: Use Autogen macros so that the output template file
1768 (Makefile.tpl) size is reduced.
1769
fc5efcc0
MK
17702011-09-29 Mads Kiilerich <mads@kiilerich.com>
1771
1772 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1773 extra_dist.
1774
d1ab689d
ML
17752011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1776
1777 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1778 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1779
c05de032
ML
17802011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1781
1782 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1783 _fullpath.
1784
cca7ccd8
ML
17852011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1786
1787 Remove extra declaration of sleep for mingw32.
1788
1789 * util/misc.c (sleep) [__MINGW32__]: Removed.
1790 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1791
e0b0dc83
GS
17922011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1793
1794 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1795 type and packname.
1796 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1797 Resurrected.
1798 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1799 (grub_netbsd_btinfo_bootwedge): New struct.
1800 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1801 New function.
1802 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1803
91a1a164
TH
18042011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1805
1806 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1807 loader.
1808
2ded951e
AB
18092011-09-28 Andreas Born <futur.andy@googlemail.com>
1810
1811 Fix incorrect identifiers in bash-completion.
1812
1813 * util/bash-completion.d/grub-completion.bash.in
1814 (_grub_mkpasswd-pbkdf2): Rename to ...
1815 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1816 (_grub_script-check): Rename to ...
1817 (_grub_script_check): ... this. All users updated.
1818
69915030
VS
18192011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1822 Return 0 if disk isn't biosdisk.
1823
20fd15f9
GS
18242011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1825
1826 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1827 on NetBSD.
1828 * Makefile.util.def (grub-fstest): Likewise.
1829
1a7d7db9
GS
18302011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1831
1832 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1833 Get sector size from disk label.
1834
2221ab6c
CW
18352011-09-05 Colin Watson <cjwatson@ubuntu.com>
1836
1837 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1838 */README* as well as README*.
1839 Reported by: Axel Beckert.
1840
ca51c4a0
VS
18412011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1844 case of less than 256 MiB of RAM.
1845
ab80f326
VS
18462011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1847
1848 * grub-core/commands/wildcard.c (make_regex): Handle @.
1849
4155e697
VS
18502011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1853
ab178c08
SJ
18542011-08-21 Szymon Janc <szymon@janc.net.pl>
1855
1856 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1857 AC_LANG_CONFTEST macros.
1858
7dc3c686
SJ
18592011-08-20 Szymon Janc <szymon@janc.net.pl>
1860
1861 Add grub-fstest option to uncompress data for commands.
1862
1863 * util/grub-fstest.c (uncompress): New var.
1864 (options): New option -u.
1865
fe8d4a7b
SJ
18662011-08-20 Szymon Janc <szymon@janc.net.pl>
1867
1868 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1869 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1870
a5219af1
SJ
18712011-08-20 Szymon Janc <szymon@janc.net.pl>
1872
1873 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1874 file type was not recognized correctly (not gzip or corrupted).
1875
f87abff5
VS
18762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1879 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1880
d94497ea
VS
18812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1884 loongson.
1885 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1886 video_radeon_fuloong2e.
1887 * grub-core/video/radeon_fuloong2e.c: New file.
1888 * include/grub/video.h (grub_video_id_t): Add new ID
1889 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1890
0d1fd011
VS
18912011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1894 define.
1895 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1896 that PRID matches the detected subplatform and reset the subplatform
1897 if it doesn't.
1898
84beb0ee
VS
18992011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1902
1227c133
VS
19032011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Fix PCI iterating on functions >= 4.
1906
1907 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1908 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1909 Removed.
1910 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1911 (grub_pci_read): Fix bitmask.
1912 (grub_pci_read_word): Likewise.
1913 (grub_pci_read_byte): Likewise.
1914 (grub_pci_write): Likewise.
1915 (grub_pci_write_word): Likewise.
1916 (grub_pci_write_byte): Likewise.
1917
9594c689
VS
19182011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1921 can still be specified in TARGET_CFLAGS)
1922
14a2562c
VS
19232011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1926
1927 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1928 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1929 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1930 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1931 (FULOONG): Rename to ...
1932 (FULOONG2F): ... this. All users updated.
1933 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1934 (machtype_fuloong2f_str): ... this.
1935 (machtype_fuloong2e_str): New string.
1936 Check for machtype_fuloong2e_str.
1937 * grub-core/loader/mips/linux.c (loongson_machtypes)
1938 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1939 * grub-core/term/serial.c (loongson_defserial)
1940 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1941 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1942 loongson_defserial.
1943 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1944 Rename to ...
1945 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1946 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1947 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1948 to IMAGE_FULOONG2F_FLASH. All users updated.
1949 (image_targets): Rename images.
1950 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1951
b526cbb6
SJ
19522011-08-19 Szymon Janc <szymon@janc.net.pl>
1953
1954 Make enable of disk cache statistics code configurable.
1955
1956 * configure.ac: --enable-cache-stats added.
1957 * config.h.in (DISK_CACHE_STATS): New define.
1958 * grub-core/Makefile.core.def (cacheinfo): New command.
1959 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1960 * grub-core/commands/cacheinfo.c: New file.
1961 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1962 moved to cacheinfo.c.
1963 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1964 debug code.
1965 * include/grub/disk.h: Likewise.
1966
fb739ccd
SJ
19672011-08-19 Szymon Janc <szymon@janc.net.pl>
1968
1969 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1970 * grub-core/Makefile.am: Likewise.
1971
2bba8cfd
VS
19722011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1975 non-zero pull.
1976
43526629
VS
19772011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1980 All users updated.
1981 (grub_jfs_lookup_symlink): Use correct starting inode.
1982
5c144cc8
VS
19832011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * util/grub-setup.c (main): Add missing gcry initialisation.
1986
b1257f65
VS
19872011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Don't accept text modes on EFI when booting Linux.
1990
1991 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1992 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1993
828bc390
ML
19942011-08-15 Mario Limonciello <mario_limonciello@dell.com>
19952011-08-15 Colin Watson <cjwatson@ubuntu.com>
1996
1997 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1998 use of "/path/.." as in grub-install for EFI as well as handling
1999 symlinks correctly.
2000 Fixes Debian bug #637768.
2001
5f60ccac
CW
20022011-08-15 Colin Watson <cjwatson@ubuntu.com>
2003
2004 * util/grub-probe.c: Remove duplicate #include.
2005
6dc212f9
RM
20062011-08-10 Robert Millan <rmh@gnu.org>
2007
2008 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
2009
2010 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
2011 function.
2012 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
2013 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
2014
66816d85
RM
20152011-08-03 Robert Millan <rmh@gnu.org>
2016
2017 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
2018 la_array as packed.
2019 Reported by: Zachary Bedell
2020
20168fca
CW
20212011-07-26 Colin Watson <cjwatson@ubuntu.com>
2022
2023 * configure.ac: The Loongson port requires grub-mkfont due to its
2024 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
2025 be built.
2026
303b6246
CW
20272011-07-26 Colin Watson <cjwatson@ubuntu.com>
2028
2029 * util/grub-install.in: Don't source grub-mkconfig_lib until after
2030 processing arguments (otherwise help2man fails when GRUB has not yet
2031 been installed).
2032
6795300e
VS
20332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2034
41aa28ea
VS
2035 New script grub-mkstandalone.
2036
2037 * Makefile.util.def (grub-mkstandalone): New script.
2038 * docs/man/grub-mkstandalone.h2m: New file.
2039 * util/grub-mkstandalone.in: Likewise.
2040
20412011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 Support ATA disks with 4K sectors.
6795300e
VS
2044
2045 * include/grub/ata.h (grub_ata): New member log_sector_size.
2046 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
2047 (grub_ata_identify): Read sector size.
2048 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
2049
92227597
VS
20502011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * util/grub-install.in: Don't use uhci outside of x86.
2053
c77069f5
VS
20542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 * util/grub-mkrescue.in: Add missing quotes.
2057
20582011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
2059
2060 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
2061 dereference.
2062
583168a2
VS
20632011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
2066
6be1c01f
VS
20672011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * include/grub/video.h: add missing EXPORT_FUND on
2070 grub_video_edid_checksum and grub_video_edid_preferred_mode.
2071
a1167439
VS
20722011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * include/grub/mips/kernel.h: Fix define conflict.
2075
bf66054f
VS
20762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
2077
2078 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
2079 all four ways.
2080
8fc4fa45
CW
20812011-07-21 Colin Watson <cjwatson@ubuntu.com>
2082
2083 Preferred resolution detection for VBE.
2084
2085 * grub-core/video/video.c (grub_video_edid_checksum): New function.
2086 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
2087 the Flat Panel extension, in line with the X.org VESA driver.
2088 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
2089 New function.
2090 (grub_vbe_bios_get_ddc_capabilities): Likewise.
2091 (grub_vbe_bios_read_edid): Likewise.
2092 (grub_vbe_get_preferred_mode): Likewise.
2093 (grub_video_vbe_setup): When the mode is "auto", try to get the
2094 preferred mode from VBE, and use the largest mode that is no larger
2095 than the preferred mode (some BIOSes expose a preferred mode that is
2096 not in their mode list!). If this fails, fall back to 640x480 as a
2097 safe conservative choice.
2098 (grub_video_vbe_get_edid): New function.
2099 (grub_video_vbe_adapter): Add get_edid.
2100 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
2101 (struct grub_video_adapter): Add get_edid.
2102 (grub_video_edid_checksum): Add prototype.
2103 (grub_video_edid_preferred_mode): Likewise.
2104 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
2105 structure.
2106
2107 * grub-core/commands/videoinfo.c (print_edid): New function.
2108 (grub_cmd_videoinfo): Print EDID if available.
2109
2110 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
2111 is more appropriate on a wider range of platforms than 640x480.
2112 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
2113 documentation.
2114
ca5572a9
VS
21152011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
2118
e4bcf625
VS
21192011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * po/POTFILES.in: Regenerate.
2122
c4edd548
VS
21232011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
2126 incorrect memory usage.
2127
16a2bab0
VS
21282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 * util/grub-install.in: Source grub-mkconfig_lib.
2131
2e418de6
VS
21322011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 Remove getroot.c from core on emu platform.
2135
2136 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
2137 kern/emu/raid.c.
2138 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
2139 useless.
2140 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
2141 * util/getroot.c (get_win32_path): ... here.
2142 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
2143 * util/getroot.c (fini_libzfs): ... here.
2144 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
2145 * util/getroot.c (grub_get_libzfs_handle): ... here.
2146 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
2147 Moved from here...
2148 * util/getroot.c (grub_find_zpool_from_dir): ... here.
2149 * grub-core/kern/emu/misc.c
2150 (grub_make_system_path_relative_to_its_root): Moved from here...
2151 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
2152 * grub-core/kern/emu/getroot.c: Moved from here ...
2153 * util/getroot.c: ... here. All users updated.
2154 * grub-core/kern/emu/raid.c: Moved from here ...
2155 * util/raid.c: ... here. All users updated.
2156
def9832a
VS
21572011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * po/POTFILES.in: Regenerate.
2160
cd8fe79a
VS
21612011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Fix compilation on GNU/Linux.
2164
2165 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
2166 Disable geli.
2167 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
2168 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
2169 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
2170
a251b719
VS
21712011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
21722011-07-07 Michael Gorven <michael@gorven.za.net>
21732011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
2174
2175 LUKS and GELI support.
2176
2177 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
2178 grub-core/disk/luks.c, grub-core/disk/geli.c,
2179 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
2180 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
2181 grub-core/lib/arg.c.
2182 (libgrubmods.a): Remove gcrypts cflags and cppflags.
2183 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
2184 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
2185 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
2186 (grub-bin2h): Add libgcry.a.
2187 (grub-mkimage): Likewise.
2188 (grub-mkrelpath): Likewise.
2189 (grub-script-check): Likewise.
2190 (grub-editenv): Likewise.
2191 (grub-mkpasswd-pbkdf2): Likewise.
2192 (grub-pe2elf): Likewise.
2193 (grub-fstest): Likewise.
2194 (grub-mkfont): Likewise.
2195 (grub-mkdevicemap): Likewise.
2196 (grub-probe): Likewise.
2197 (grub-ofpath): Likewise.
2198 (grub-mklayout): Likewise.
2199 (example_unit_test): Likewise.
2200 (grub-menulst2cfg): Likewise.
2201 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
2202 * grub-core/Makefile.core.def (cryptodisk): New module.
2203 (luks): Likewise.
2204 (geli): Likewise.
2205 * grub-core/disk/AFSplitter.c: New file.
2206 * grub-core/disk/cryptodisk.c: Likewise.
2207 * grub-core/disk/geli.c: Likewise.
2208 * grub-core/disk/luks.c: Likewise.
2209 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
2210 grub_util_is_lvm.
2211 (grub_util_get_dm_abstraction): New function.
2212 (grub_util_follow_gpart_up): Likewise.
2213 (grub_util_get_geom_abstraction): Likewise.
2214 (grub_util_get_dev_abstraction): Use new functions.
2215 (grub_util_pull_device): Pull GELI and LUKS.
2216 (grub_util_get_grub_dev): Handle LUKS and GELI.
2217 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
2218 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
2219 (follow_geom_up): Removed.
2220 (grub_util_fd_seek): New function.
2221 (open_device): Use grub_util_fd_seek.
2222 (nread): Rename to ..
2223 (grub_util_fd_read): ... this. All users updated.
2224 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
2225 (grub_crypto_cbc_decrypt): Likewise.
2226 (grub_crypto_hmac_write): Likewise.
2227 (grub_crypto_hmac_buffer): Likewise.
2228 (grub_password_get): Extend to util.
2229 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
2230 New member modname.
2231 (gcry_md_spec) [GRUB_UTIL]: Likewise.
2232 * include/grub/cryptodisk.h: New file.
2233 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
2234 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
2235 LUKS and GELI.
2236 (grub_util_follow_gpart_up): New proto.
2237 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
2238 (grub_util_fd_read): Likewise.
2239 (grub_cryptodisk_cheat_mount): Likewise.
2240 (grub_util_cryptodisk_print_uuid): Likewise.
2241 (grub_util_get_fd_sectors): Likewise.
2242 * util/grub-fstest.c (mount_crypt): New var.
2243 (fstest): Mount crypto if requested.
2244 (options): New option -C.
2245 (argp_parser): Parse -C.
2246 (main): Init and fini gcry.
2247 * util/grub-install.in: Support cryptodisk install.
2248 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
2249 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
2250 cryptodisk.
2251 (prepare_grub_to_access_device): Likewise.
2252 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
2253 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
2254 (probe_cryptodisk_uuid): New function.
2255 (probe_abstraction): Likewise.
2256 (probe): Use new functions.
2257 * util/import_gcry.py: Create Makefile.utilgcry.def.
2258 Add modname member.
2259
9bfdcbbc
VS
22602011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 Lazy device scanning.
2263
2264 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
2265 (grub-setup): Remove util/raid.c.
2266 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
2267 * grub-core/disk/lvm.c (scan_depth): New variable.
2268 (grub_lvm_iterate): Rescan if necessary.
2269 (find_lv): New function based on grub_lvm_open.
2270 (grub_lvm_open): Use find_lv. Rescan on error.
2271 (is_node_readable): New function.
2272 (is_lv_readable): Likewise.
2273 (grub_lvm_scan_device): Skip already found disks.
2274 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
2275 Stop if searched device is found and readable.
2276 * grub-core/disk/raid.c (inscnt): New variable.
2277 (scan_depth): Likewise.
2278 (scan_devices): New function based on grub_raid_register. Abort if
2279 looked for device is found.
2280 (grub_raid_iterate): Rescan if needed.
2281 (find_array): NEw function based on -grub_raid_open.
2282 (grub_raid_open): Use find_array and rescan.
2283 (insert_array): Set became_readable_at.
2284 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
2285 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
2286 New function.
2287 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
2288 (grub_util_pull_device): New function.
2289 (grub_util_get_grub_dev): Call grub_util_pull_device.
2290 * util/raid.c: Moved to ..
2291 * grub-core/kern/emu/raid.c: ... here.
2292 (grub_util_raid_getmembers): New parameter "bootable".
2293 All users updated. Support 1.x.
2294 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
2295 All users updated.
2296 * include/grub/disk.h (grub_disk_pull_t): New enum.
2297 (grub_disk_dev): Change iterate prototype.
2298 All users updated.
2299 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
2300 New proto.
2301 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
2302 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
2303 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
2304 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
2305 All users updated.
2306 * include/grub/util/raid.h: Removed.
2307
1c358e59
VS
23082011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2309
2310 * po/POTFILES.in: Regenerate.
2311
abee94ed
VS
23122011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 Unify sparc init with other ieee1275.
2315
2316 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
2317 instead of kern/sparc64/ieee1275/init.c.
2318 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
2319 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
2320 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
2321 grub/machine/kernel.h.
2322 (grub_ieee1275_original_stack) [__sparc__]: New variable.
2323 (grub_claim_heap) [__sparc__]: Use sparc version.
2324 (grub_machine_init): Moved args parsing to
2325 (grub_parse_cmdline): ...this.
2326 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
2327 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
2328 New definition.
2329 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
2330
2331 Move BOOTP to separate file.
2332
2333 * grub-core/Makefile.core.def (net): Add net/bootp.c.
2334 * grub-core/net/net.c: Move all BOOTP functions to
2335 * grub-core/net/bootp.c: ... here.
2336
2337 Use frame interface on PXE.
2338
2339 * grub-core/Makefile.core.def (pxecmd): Removed.
2340 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
2341 * grub-core/commands/i386/pc/pxecmd.c: Removed.
2342 * grub-core/i386/pc/pxe.c: Moved from here ...
2343 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
2344 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
2345 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
2346
2347 EFI network support.
2348
2349 * grub-core/Makefile.core.def (efinet): New module.
2350 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
2351 here...
2352 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
2353 All users updated.
2354 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
2355 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
2356 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
2357 * grub-core/net/drivers/efi/efinet.c: New file.
2358 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
2359 (grub_efi_net_config): New extern var.
2360
2361 Various cleanups and bugfixes.
2362
2363 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
2364 error.
2365 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
2366 disk declared as partition.
2367 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
2368 leak on failure.
2369 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
2370 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
2371 (grub_debug_zalloc): Likewise.
2372 (grub_debug_realloc): Likewise.
2373 (grub_debug_memalign): Likewise.
2374 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
2375 Check that target is IPv4.
2376 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
2377 local-mac-address as fallback.
2378 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
2379 memory leak.
2380 * grub-core/net/ip.c (ipchksum): Rename to ...
2381 (grub_net_ip_chksum): ... this. All users updated.
2382 (grub_net_recv_ip_packets): Special handling for DHCP.
2383 * util/grub-mkimage.c (generate_image): Zero-out aout header.
2384
2385 Unify prefix handling
2386
2387 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
2388 (grub_machine_get_bootlocation): ... this.
2389 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
2390 (grub_machine_get_bootlocation): ... this.
2391 (grub_prefix): New variable.
2392 (prefix): Removed.
2393 (root_dev): New variable.
2394 (dir): Likewise.
2395 (main): Use new variables.
2396 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
2397 Revamped into ...
2398 (grub_machine_get_bootlocation): ... this.
2399 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
2400 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
2401 (grub_machine_get_bootlocation): ... this.
2402 (grub_machine_set_prefix): Removed.
2403 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
2404 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
2405 Revamped into ...
2406 (grub_machine_get_bootlocation): ... this.
2407 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
2408 (grub_set_prefix_and_root): ... this. All users updated.
2409 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
2410 Revamped into ...
2411 (grub_machine_get_bootlocation): ... this.
2412 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
2413 (grub_machine_get_bootlocation): New proto.
2414 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
2415
2416 Less intrusive and more reliable seek on network implementation.
2417
2418 * grub-core/kern/file.c (grub_file_net_seek): Removed.
2419 (grub_file_seek): Don't call grub_file_net_seek.
2420 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
2421 (grub_net_fs_read_real): .. this.
2422 (grub_net_seek_real): Use net->offset.
2423 (grub_net_fs_read): Seek if necessary.
2424
2425 Unify IEEE1275 netwotk config with the other platforms.
2426
2427 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
2428 New variable.
2429 (grub_machine_get_bootlocation): Support network.
2430 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2431 Support type and device parsing.
2432 (grub_ieee1275_get_device_type): New function.
2433 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
2434 into ...
2435 (grub_ieee1275_net_config_real): ... this.
2436 (grub_ofnet_probecards): Removed.
2437 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
2438 * include/grub/ieee1275/ofnet.h: Removed.
2439 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
2440 extern var.
2441 (grub_ieee1275_get_device_type): New function.
2442
2443 Unify network device closing across platforms and make more robust.
2444
2445 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
2446 grub_grubnet_fini.
2447 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
2448 already.
2449 * grub-core/net/net.c (grub_net_network_level_interface_register):
2450 Update num_ifaces.
2451 (grub_net_card_unregister): Close all interfaces.
2452 (receive_packets): Don't poll if no iterfaces are registered.
2453 Open if necessary.
2454 (grub_net_fini_hw): New function.
2455 (grub_net_restore_hw): Likewise.
2456 (fini_hnd): New variable.
2457 (GRUB_MOD_INIT): Register preboot hook.
2458 (GRUB_MOD_FINI): Run and unregister preboot hook.
2459
2460 Poll network cards when idle.
2461
2462 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
2463 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
2464 * grub-core/net/net.c (receive_packets): Save last poll time.
2465 (grub_net_poll_cards_idle_real): New function.
2466 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
2467 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
2468 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
2469
2470 Rename ofnet interfaces.
2471
2472 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
2473 (grub_ofnet_findcards): Use ofnet_%s names.
2474
2475 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
2476
2477 Cleanup socket opening.
2478
2479 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
2480 (grub_net_fs_close): Likewise.
2481 (grub_net_fs_read_real): Use eof member.
2482 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
2483 (+grub_net_udp_close): New inline function.
2484
2485 * include/grub/net/tftp.h: Moved to the top of ...
2486 * grub-core/net/tftp.c: ... here.
2487 * include/grub/net/ip.h: Moved mostly to the top of ...
2488 * grub-core/net/ip.c: ... here.
2489 * include/grub/net/ethernet.h: Moved mostly to the top of ...
2490 * grub-core/net/ethernet.c: ... here.
2491
2492 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
2493
2494 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
2495 FS name.
2496
2497 * include/grub/net/ip.h (ipv4_ini): Removed.
2498 (ipv4_fini): Likewise.
2499
2500 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2501 (grub_net_send_ip_packets): Likewise.
2502
cf1337aa
VS
25032011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2506 grub_read_cmos prototype.
2507
93c06ff9
VS
25082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 VGA text support in qemu-mips
2511
2512 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2513 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2514 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2515 text.
2516 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2517 * grub-core/kern/vga_init.c: ... this.
2518 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2519 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2520 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2521 Adjust.
2522 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2523 GRUB_MACHINE_PCI_IO_BASE.
2524
748ccabe
VS
25252011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2526
2527 MIPS qemu flash support.
2528
2529 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2530 magic.
2531 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2532 (grub_machine_init): Probe memory if its size isn't known.
2533 * util/grub-mkimage.c (image_targets): Add flash targets.
2534 (generate_image): Handle flash targets.
2535
d7345994
VS
25362011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 MIPS qemu at_keyboard support.
2539
2540 * gentpl.py (videoinkernel): Add qemu-mips.
2541 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2542 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2543 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2544 modules.
2545 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2546 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2547 * grub-core/term/serial.c (grub_serial_register)
2548 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2549
a07a81b3
VS
25502011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 CMOS support on sparc.
2553
2554 * gentpl.py (cmos): Add powerpc and sparc.
2555 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2556 powerpc and sparc.
2557 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2558 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2559 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2560 grub_set_datetime_cmos.
2561 * grub-core/lib/ieee1275/cmos.c: New file.
2562 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2563 (find_rtc): Set no_ieee1275_rtc on error.
2564 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2565 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2566 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2567 fail. Move value to argument. All users updated
2568 (grub_cmos_write): Likewise.
2569 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2570 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2571 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2572 grub_get_datetime_cmos and grub_set_datetime_cmos.
2573
77546584
GS
25742011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2575
2576 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2577 sourcing grub-mkconfig_lib.
2578 * util/update-grub_lib.in: Likewise.
2579 * util/grub.d/00_header.in: Likewise.
2580 * util/grub.d/10_hurd.in: Likewise.
2581 * util/grub.d/10_kfreebsd.in: Likewise.
2582 * util/grub.d/10_linux.in: Likewise.
2583 * util/grub.d/10_netbsd.in: Likewise.
2584 * util/grub.d/10_windows.in: Likewise.
2585 * util/grub.d/20_linux_xen.in: Likewise.
2586 * util/grub.d/30_os-prober.in: Likewise.
2587
54894791
CW
25882011-06-28 Colin Watson <cjwatson@ubuntu.com>
2589
2590 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2591 default_bg_color rather than black.
2592 (grub_gfxterm_fullscreen): Likewise.
2593 (grub_gfxterm_background_color_cmd): Save new background color in
2594 default_bg_color.
2595
8d5d8444
VS
25962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2599
5afeb5bd
VS
26002011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2603 mismerge.
2604
ba7df45e
VS
26052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 Chainloading on coreboot support.
2608
2609 * grub-core/Makefile.core.def (chain): Add coreboot.
2610 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2611
d0b526b2
VS
26122011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2615 if it happens.
2616
5ff1d945
VS
26172011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 Implement time command.
2620
2621 * grub-core/Makefile.core.def (time): New module.
2622 * grub-core/commands/time.c: New file.
2623 * grub-core/script/parser.y: Remove "time" keyword.
2624 * grub-core/script/yylex.l: Likewise.
2625
5ebaad7e
VS
26262011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2629
bdea3798
VS
26302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2633 when handling leftovers.
2634
b28c5655
VS
26352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2638 so that help2man doesn't fail.
2639
b6f945dc
VS
26402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2641
2642 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2643 type in pointers on sparc64.
2644 (get_card_packet): Likewise.
2645
f9b75e8a
CW
26462011-06-27 Colin Watson <cjwatson@ubuntu.com>
2647
2648 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2649 with `*'.
2650 (grub_cmd_videoinfo): Fetch current video mode.
2651
1e3d9b86
VS
26522011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2655 because of underlying system restrictions.
2656
efff4b1c
VS
26572011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2660 necessary.
2661
9fc9ce37
VS
26622011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2663
2664 Coreboot video support.
2665
2666 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2667 (vbe): Likewise.
2668 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2669 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2670 here ...
2671 * grub-core/kern/i386/int.S: ... here.
2672 * grub-core/video/i386/pc/vbe.c: Updated includes.
2673 * grub-core/video/i386/pc/vga.c: Likewise.
2674 * include/grub/i386/coreboot/memory.h
2675 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2676 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2677 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2678 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2679 Disable interrupts.
2680 * include/grub/i386/pc/vga.h: Removed. All users updated.
2681
41bec7fe
VS
26822011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2685 definitions for dprintf.
2686 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2687
ca80309d
VS
26882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2691 prototype.
2692 (get_card_packet): Likewise.
2693
9e322ce8
YB
26942011-06-26 Yves Blusseau <blusseau@zetam.org>
2695
2696 Display the path of the file when file is not found
2697
2698 * grub-core/fs/fat.c: Display the filename when file is not found.
2699 * grub-core/fs/fshelp.c: Likewise.
2700 * grub-core/fs/hfs.c: Likewise.
2701 * grub-core/fs/jfs.c: Likewise.
2702 * grub-core/fs/minix.c: Likewise.
2703 * grub-core/fs/ufs.c: Likewise.
2704 * grub-core/fs/btrfs.c: Likewise.
2705 * grub-core/commands/i386/pc/play.c: Likewise.
2706
cbf597af
SJ
27072011-06-26 Szymon Janc <szymon@janc.net.pl>
2708
2709 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2710 pointer checks before calling grub_free().
2711 * grub-core/commands/wildcard.c (match_devices): Likewise.
2712 * grub-core/commands/wildcard.c (match_files): Likewise.
2713 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2714 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2715 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2716 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2717 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2718 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2719 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2720 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2721 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2722
6295b32f
P
27232011-06-25 Patrick <p55@mailinator.com>
2724
2725 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2726
77c0840b
VS
27272011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2730 (grub_pxe_send): Likewise.
2731 (GRUB_MOD_INIT): Fix types.
2732
40ea05de
SJ
27332011-06-24 Szymon Janc <szymon@janc.net.pl>
2734
2735 * grub-core/io/xzio.c: Fix code style issues
2736
90162423
MRA
27372011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
27382011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
2739
2740 Network infrastructure.
2741 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2742
2743 * include/grub/net/arp.h: New file.
90162423
MRA
2744 * include/grub/net/device.h: Likewise.
2745 * include/grub/net/ethernet.h: Likewise.
2746 * include/grub/net/ip.h: Likewise.
2747 * include/grub/net/netbuff.h: Likewise.
2748 * include/grub/net/tftp.h: Likewise.
2749 * include/grub/net/udp.h: Likewise.
2750 * include/grub/ieee1275/ofnet.h: Likewise.
2751 * include/grub/emu/export.h: Likewise.
2752 * include/grub/net.h: Likewise.
2753 * grub-core/net/arp.c: Likewise.
2754 * grub-core/net/ethernet.c: Likewise.
2755 * grub-core/net/ip.c: Likewise.
2756 * grub-core/net/udp.c: Likewise.
2757 * grub-core/net/tftp.c: Likewise.
2758 * grub-core/net/netbuff.c: Likewise.
2759 * grub-core/net/net.c: Likewise.
2760 * grub-core/net/drivers/emu/emunet.c: Likewise.
2761 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2762 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2763 export.h.
2764 * grub-core/Makefile.core.def (net): New module.
2765 (tftp): Likewise.
2766 (ofnet): Likewise.
2767 (emunet): Likewise.
2768 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2769 network protocols.
2770 * grub-core/kern/device.c (grub_net_open) : New variable.
2771 (grub_device_open): Handle network device.
2772 (grub_device_close): Likewise.
2773 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2774 (grub_grubnet_fini): Likewise.
2775 (grub_file_seek): Seek in network device.
2776 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2777 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2778 network root.
2779 (grub_machine_fini): Call grub_grubnet_fini.
2780 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2781 network.
2782 (grub_ieee1275_get_aliasdevname): New function.
2783 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2784 Add unofficial Solaris network info.
2785 (grub_multiboot_make_mbi): Likewise.
2786 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2787 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2788 * include/grub/device.h (grub_fs): Removed.
2789 * include/grub/err.h (grub_err_t): Add network-related values.
2790 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2791 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2792 (grub_ieee1275_get_aliasdevname): New proto.
2793 * include/grub/net.h: Rewritten.
423a1849 2794
031f22a0
VS
27952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2798 names.
2799
4388ca72
VS
28002011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2801
2802 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2803 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2804 it truncates the output.
2805 Reported by: Ximin Luo.
2806
98e2f506
VS
28072011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2810
2a5e94d8
VS
28112011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2814 partmap before abstraction.
2815
535c1910
AK
28162011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2817
2818 * util/grub-mkconfig_lib.in: Add missing quotes.
2819
bc09e1a2
VS
28202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2823 old method if mountinfo would return /dev/root and /dev/root doesn't
2824 exist.
2825
290766fb
VS
28262011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 ZFS zlib support
2829
2830 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2831 (decomp_table): Add zlib entries.
2832 (zio_read): USe 8 bits for compression function rather than 3.
2833 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2834
28352011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * grub-core/disk/ahci.c: Add missing license statements.
2838 * grub-core/fs/romfs.c: Likewise.
2839 * grub-core/lib/ia64/setjmp.S: Likewise.
2840 * grub-core/loader/i386/pc/freedos.c: Likewise.
2841 * grub-core/loader/ia64/efi/linux.c: Likewise.
2842 * grub-core/video/colors.c: Likewise.
2843 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2844
5ab3f48a
VS
28452011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 AHCI support.
2848
2849 * grub-core/Makefile.core.def (ata_pthru): Removed.
2850 (ahci): New module.
2851 (pata): Likewise.
2852 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2853 on unload.
2854 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2855 readwrite.
2856 (grub_hdparm_do_check_powermode_cmd): Likewise.
2857 (grub_hdparm_do_smart_cmd): Likewise.
2858 (grub_hdparm_set_val_cmd): Likewise.
2859 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2860 * grub-core/disk/ahci.c: New file.
2861 * grub-core/disk/ata.c: Factor out the low-level part into ...
2862 * grub-core/disk/pata.c: ... here.
2863 * grub-core/disk/ata_pthru.c: Contents moved to ...
2864 * grub-core/disk/pata.c: ... here.
2865 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2866 (grub_scsi_iterate): Use grub_scsi_names.
2867 (grub_scsi_open): Likewise.
2868 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2869 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2870 (grub_ata_regs_t): New struct.
2871 (grub_disk_ata_pass_through_parms): Likewise.
2872 (grub_ata_device): Renamed to ...
2873 (grub_ata): ... this.
2874 (grub_ata_dev): New struct.
2875 Removed all low-level inline functions.
2876 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2877 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2878 iterate hooks and open. All users updated.
2879 * util/grub-install.in: Handle AHCI disk module.
2880
c31dc5f5
SJ
28812011-06-23 Szymon Janc <szymon@janc.net.pl>
2882
2883 Add support for DRI and RSTn markers in JPEG files.
2884
2885 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2886 (JPEG_MARKER_RST0): Likewise.
2887 (JPEG_MARKER_RST1): Likewise.
2888 (JPEG_MARKER_RST2): Likewise.
2889 (JPEG_MARKER_RST3): Likewise.
2890 (JPEG_MARKER_RST4): Likewise.
2891 (JPEG_MARKER_RST5): Likewise.
2892 (JPEG_MARKER_RST6): Likewise.
2893 (JPEG_MARKER_RST7): Likewise.
2894 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2895 (grub_jpeg_decode_dri): New function.
2896 (grub_jpeg_decode_sos): Move image data related part into
2897 grub_jpeg_decode_data function.
2898 (grub_jpeg_decode_data): New function.
2899 (grub_jpeg_reset): New function.
2900 (grub_jpeg_decode_jpeg): Handle new markers.
2901
fe12fd5b
VS
29022011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * util/ieee1275/ofpath.c (check_sas): Close fd.
2905 (main): Free of_path.
2906 Reported by: David Volgyes <dvolgyes>.
2907
03147f46
VS
29082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2911 Reported by: David Volgyes <dvolgyes>.
2912
cad3237f
VS
29132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2916 file after stat.
2917 Reported by: David Volgyes <dvolgyes>.
2918
13548d26
VS
29192011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2922
2923 Reported by: David Volgyes <dvolgyes>.
2924
e061a1b5
VS
29252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2928 Prevent memory leak.
2929
1abe47dc
VS
29302011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2933 (main): Close file.
e061a1b5 2934 Reported by: David Volgyes <dvolgyes>.
1abe47dc 2935
fbc62666
VS
29362011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2939 to continue if allocation is failed.
2940
2941 Reported by: David Volgyes <dvolgyes>.
2942
e98c83e9
DV
29432011-06-23 David Volgyes <dvolgyes>
2944
2945 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2946 dereference.
2947
a199a8cd
VS
29482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2949
2950 Fix spurious warning.
2951
2952 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2953 (acorn_partition_map_find): Use .bin member.
2954
e2d1dba0
VS
29552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2958 /dev/root as a valid device.
2959
8a5d6919
JM
29602011-06-23 Jim Meyering <meyering@redhat.com>
2961
e2d1dba0
VS
2962 Avoid NULL deref in grub_device_open.
2963
8a5d6919
JM
2964 * grub-core/kern/device.c (grub_device_open): Don't dereference
2965 a NULL pointer upon failed grub_env_get.
2966
f7db6f4a
VS
29672011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 Support non-512B sectors and agglomerate reads.
2970
2971 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2972 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2973 (disk_io_guid): Removed.
2974 (make_devices): Locate solely by BlockIO.
2975 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2976 (grub_efidisk_read): Use read_blocks.
2977 (grub_efidisk_write): Use write_blocks.
2978 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2979 log_sector_size.
2980 (get_safe_sectors): Handle non-512B sectors.
2981 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2982 sectors.
2983 (grub_biosdisk_write): Handle non-512B sectors.
2984 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2985 (grub_scsi_read): Remove special non-512B block handling (now handled
2986 one level up).
2987 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2988 and do sanity checks.
2989 (grub_disk_adjust_range): Handle non-512B sectors.
2990 (transform_sector): New function.
2991 (grub_disk_read_small): Likewise.
2992 (grub_disk_read): Rewritten.
2993 (grub_disk_write): Handle non-512B sectors.
2994 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2995 log_sector_size.
2996 (open_device): Use log_sector_size.
2997 (grub_util_biosdisk_read): Likewise.
2998 (grub_util_biosdisk_write): Likewise.
2999 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
3000 non-512B sectors.
3001 (pc_partition_map_embed): Likewise.
3002 * include/grub/disk.h (grub_disk): New field log_sector_size.
3003 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
3004 (GRUB_DISK_CACHE_BITS): Increased to 6.
3005 * util/grub-fstest.c (fstest): New command testload.
3006 (argp_parser): Likewise.
3007
881ac815
RM
30082011-06-16 Robert Millan <rmh@gnu.org>
3009
3010 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
3011 `ata' driver on kernel of FreeBSD 9.
3012
3013 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
3014 (get_ataraid_disk_name): New functions.
3015 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
3016 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
3017 get_ataraid_disk_name() and get_ada_disk_name().
3018
1e9aef7d
CW
30192011-06-13 Colin Watson <cjwatson@ubuntu.com>
3020
3021 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
3022 input format.
3023
351c7c8a
CW
30242011-05-29 Colin Watson <cjwatson@ubuntu.com>
3025
3026 * docs/grub.texi (Obtaining and Building GRUB): Substitute
3027 `ftp.gnu.org' for `alpha.gnu.org'.
3028
6b4e6430
CW
30292011-05-27 Colin Watson <cjwatson@ubuntu.com>
3030
3031 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
3032 partitions under /dev/disk/by-id/.
3033
c64db050
CW
30342011-05-27 Colin Watson <cjwatson@ubuntu.com>
3035
3036 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
3037 after ten consecutive open failures. Scanning all the way up to
3038 10000 is excessive and can cause serious performance problems in
3039 some configurations.
3040 Fixes Ubuntu bug #787461.
3041
245f4aba
VS
30422011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
3045 opening new one.
3046
f767c929
VS
30472011-05-21 Colin Watson <cjwatson@ubuntu.com>
30482011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
3049
3050 Don't stat devices unless we have to.
3051
3052 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
3053 dir == /dev/mapper.
3054 (grub_guess_root_device): Use already known os_dev if possible.
3055 * grub-core/kern/emu/hostdisk.c
3056 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
3057 if device is known to be a dm one.
3058
f35fa3a6
CW
30592011-05-20 Colin Watson <cjwatson@ubuntu.com>
3060
3061 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
3062 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
3063 Reported by: Pawel Tecza.
3064
9a79fcf2
VS
30652011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
3066
3067 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
3068 (lsefisystab): Likewise.
3069 (lssal): Likewise.
3070 (lsefimmap): Likewise.
3071 (hdparm): Enable on qemu-mips.
3072 (setjmp): Add ia64 nodist.
3073 (serial): Simplify tags.
3074
63e3eea9
CW
30752011-05-18 Colin Watson <cjwatson@ubuntu.com>
3076
3077 * Makefile.util.def (grub-ofpathname): Install manual page.
3078
09728256
CW
30792011-05-18 Colin Watson <cjwatson@ubuntu.com>
3080
3081 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
3082
8b63a142
CW
30832011-05-18 Colin Watson <cjwatson@ubuntu.com>
3084
3085 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
3086
e775d8ed
VS
30872011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
3090 into dprintf.
3091
bf947d36
VS
30922011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Use full 64-bit division.
3095
3096 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
3097 (grub_divmod64): ... this.
3098 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
3099 version.
3100
b84f26c5
CW
31012011-05-18 Colin Watson <cjwatson@ubuntu.com>
3102
3103 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
3104 `source'.
3105
5626056f
CW
31062011-05-18 Colin Watson <cjwatson@ubuntu.com>
3107
3108 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
3109 to avoid accidents when debugging with 'sh -x'.
3110 * grub-core/gensyminfo.sh.in: Likewise.
3111 * tests/example_scripted_test.in: Likewise.
3112 * tests/grub_cmd_regexp.in: Likewise.
3113 * tests/grub_script_blanklines.in: Likewise.
3114 * tests/grub_script_dollar.in: Likewise.
3115 * tests/grub_script_expansion.in: Likewise.
3116 * tests/grub_script_final_semicolon.in: Likewise.
3117 * tests/partmap_test.in: Likewise.
3118 * tests/util/grub-shell-tester.in: Likewise.
3119 * tests/util/grub-shell.in: Likewise.
3120
e2965f4a
CW
31212011-05-18 Colin Watson <cjwatson@ubuntu.com>
3122
3123 Move gfxmenu color handling to video, so that gfxterm can use it
3124 too.
3125
3126 * grub-core/gfxmenu/named_colors.c: Move to ...
3127 * grub-core/video/colors.c: ... here. Rename
3128 grub_gui_get_named_color to grub_video_get_named_color.
3129 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
3130 * grub-core/video/colors.c (my_isxdigit): ... here.
3131 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
3132 Move to ...
3133 * grub-core/video/colors.c (parse_hex_color_component): ... here.
3134 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
3135 to ...
3136 * grub-core/video/colors.c (grub_video_parse_color): ... here.
3137
3138 * include/grub/gui.h (grub_gui_color_t): Move to ...
3139 * include/grub/video.h (grub_video_rgba_color_t): ... here.
3140 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
3141 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
3142 * include/grub/gui.h (grub_gui_map_color): Move to ...
3143 * include/grub/video.h (grub_video_map_rgba_color): ... here.
3144 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
3145 to ...
3146 * include/grub/video.h (grub_video_get_named_color): ... here.
3147 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
3148 * include/grub/video.h (grub_video_parse_color): ... here.
3149
3150 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
3151 video/colors.c.
3152 (gfxmenu): Remove gfxmenu/named_colors.c.
3153 (video) [videomodules]: Add video/colors.c.
3154
3155 Add a background_color command.
3156
3157 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
3158 function.
3159 (GRUB_MOD_INIT): Register background_color command.
3160 (GRUB_MOD_FINI): Unregister background_color command.
3161 (redraw_screen_rect): Allow blend/replace of text layer to be
3162 controlled independently from whether there is a background bitmap.
3163 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
3164 changing bitmap.
3165
1e4b4390
VS
31662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3167
26618ff0
VS
3168 Patch BPB in ntldr and chainloader --bpb.
3169
1e4b4390
VS
3170 * grub-core/fs/fat.c: Include grub/fat.h.
3171 (grub_fat_bpb): Moved to ...
3172 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
3173 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
3174 grub/ntfs.h.
3175 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
3176 Moved from here...
3177 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
3178 here.
3179 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
3180 New function.
3181 (grub_chainloader_cmd): Patch BPB if --bpb is given.
3182 (GRUB_MOD_INIT): Show --bpb.
3183 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
3184 * grub-core/normal/main.c (features): New variable.
3185 (GRUB_MOD_INIT): Set feature_* variables.
3186 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
3187 proto.
3188 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
3189
cf02731e
VS
31902011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
3193 for cleanness.
3194
e3a1073f
VS
31952011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 FreeDOS direct loading support.
3198
3199 * docs/grub.texi (Supported OS): Add FreeDOS.
3200 * grub-core/Makefile.core.def (freedos): New module.
3201 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
3202 variable.
3203 (grub_relocator16_boot): Handle %ebx.
3204 * grub-core/lib/i386/relocator16.S: Likewise.
3205 * grub-core/loader/i386/pc/freedos.c: New file.
3206
05caa461
VS
32072011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 Long Linux command line support.
3210
3211 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3212 (maximal_cmdline_size): New variable.
3213 (allocate_pages): Use maximal_cmdline_size.
3214 (grub_cmd_linux): Set and use maximal_cmdline_size.
3215 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3216 (allocate_pages): Use maximal_cmdline_size.
3217 (grub_cmd_linux): Set and use maximal_cmdline_size.
3218 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
3219 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
3220 and cmdline_size.
3221
a2491e23
VS
32222011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
32232011-05-18 Colin Watson <cjwatson@ubuntu.com>
3224
3225 Improve devmapper support
3226
3227 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
3228 (grub_util_is_lvm): New function.
3229 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
3230 than lvm if not dmraid.
3231 Handle mapped md nodes.
3232 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
3233 (grub_util_device_is_mapped): ... this. Make always available. All users
3234 updated.
3235 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
3236 (convert_system_partition_to_system_disk): Handle lvm, mpath and
3237 dmraid nodes.
3238 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
3239
6ad6223e
VS
32402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
3243
3244 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
3245 * grub-core/modinfo.sh.in: New file.
3246 * grub-core/Makefile.core.def (modinfo.sh): New script.
3247 * util/grub-mknetdir.in: Use modinfo.sh.
3248 * util/grub-mkrescue.in: Likewise.
3249
543a8f6e
VS
32502011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3251
3252 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3253 Fix potential usage of Elf32 instead of Elf64 when compiling on
3254 32-bit architecture. Add endianness macros while on it.
3255
4959e111
VS
32562011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3257
3258 Use mipsel- rather than mips- in directories involving mipsel ports to
3259 allow both endiannesses coexist.
3260
3261 * configure.ac: proparate target_cpu=mipsel rather than resetting to
3262 mips. All conditions adjusted.
3263 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
3264 variable.
3265 * util/grub-install.in: Adjust conditions to take renaming into account.
3266 * util/grub-mkimage.c (image_targets): Likewise. New target
3267 mips-qemu_mips-elf for bigendian mips.
3268
35341bbc
VS
32692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 Avoid unnecessary copying on MIPS.
3272
3273 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
3274 early if src == dest.
3275 * util/grub-mkimage.c (generate_image): Arange for src == dest if
3276 compression is none.
3277
b772baed
VS
32782011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 Reduce memory footprint on SGI by putting modules before the kernel
3281 as opposed to after.
3282
3283 * grub-core/Makefile.core.def (kernel): Increase linking address.
3284 (none_decompress): Likewise.
3285 (xz_decompress): Likewise.
3286 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
3287 address.
3288 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
3289 layout change.
3290 (grub_arch_modules_addr): New function.
3291 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
3292 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
3293 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
3294 here.
3295 * grub-core/kern/mips/startup.S (total_size): Rename to ...
3296 (grub_total_modules_size): ... this. Make global.
3297 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
3298 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
3299 New definition.
3300 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
3301 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
3302 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
3303 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
3304 * util/grub-mkimage.c (image_target_desc): New flag
3305 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
3306 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
3307 (generate_image): Handle images with modules before kernel.
3308
566a1917
VS
33092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Prevent potential loss of memory map by overwrite on qemu-mips.
3312
3313 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3314 Save ram size in $s4.
3315 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
3316 All users changed to grub_arch_memsize.
3317 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
3318 Loongson.
3319 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
3320 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
3321 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
3322 external variable.
3323
5d420cd9
CW
33242011-05-17 Colin Watson <cjwatson@ubuntu.com>
3325
3326 * .bzrignore: Remove grub-dumpbios.
3327
d064b830
CW
33282011-05-17 Colin Watson <cjwatson@ubuntu.com>
3329
3330 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
3331 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
3332 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
3333 existing options which append).
3334 * docs/grub.texi (Simple configuration): Document new options.
3335 Reported by: Ian Jackson. Fixes Debian bug #617538.
3336
3ca2b466
CW
33372011-05-17 Colin Watson <cjwatson@ubuntu.com>
3338
3339 * util/grub-fstest.c (cmd_cat): New function.
3340 (fstest): Handle CMD_CAT.
3341 (options): Add cat.
3342 (argp_parser): Handle cat.
3343
24c9143a
CW
33442011-05-17 Colin Watson <cjwatson@ubuntu.com>
3345
3346 * Makefile.util.def (grub-bin2h): Don't install.
3347 * docs/man/grub-bin2h.h2m: Remove.
3348
90f7ac19
VS
33492011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
3352 place.
3353
8d4a5178
VS
33542011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3355
3356 Reenable qemu-mips port.
3357
3358 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
3359 Fix small arc bug while on it.
3360 * gentpl.py: Handle qemu_mips.
3361 * grub-core/Makefile.am: Likewise.
3362 * grub-core/Makefile.core.def: Likewise.
3363 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
3364 inappropriate includes.
3365 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
3366 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
3367 * grub-core/kern/main.c (grub_modules_get_end)
3368 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
3369 * grub-core/kern/mips/qemu-mips: Moved to ..
3370 * grub-core/kern/mips/qemu_mips: ... this.
3371 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
3372 (grub_machine_init): Call terminfo_init and serial_init.
3373 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
3374 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3375 New variable.
3376 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
3377 parameter passing.
3378 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
3379 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
3380 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3381 * include/grub/mips/qemu_mips/cmos.h: New file.
3382 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
3383 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
3384 Removed.
3385 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
3386 Use correct mips-style address.
3387 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
3388 (GRUB_TICKS_PER_SECOND): Removed.
3389 (grub_get_rtc): Likewise.
3390 (grub_cpu_idle): Likewise.
3391 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
3392 New definition.
3393 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
3394 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
3395 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
3396 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
3397 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3398 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3399 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
3400 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
3401
400b9371
VS
34022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 SGI ARCS port.
3405
3406 * Makefile.util.def (libgrubmods.a): Add dvh.c.
3407 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
3408 platforms.
3409 * configure.ac: New target mips-arc.
3410 * gentpl.py: Likewise.
3411 * grub-core/Makefile.am: Likewise.
3412 * grub-core/Makefile.core.def: Likewise.
3413 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
3414 (none_decompress): Likewise.
3415 (lsdev): New module.
3416 (datetime): Use lib/arc/datetime.c on ARC.
3417 (part_dvh): New module.
3418 * grub-core/commands/arc/lsdev.c: New file.
3419 * grub-core/disk/arc/arcdisk.c: Likewise.
3420 * grub-core/kern/mips/arc/init.c: Likewise.
3421 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
3422 aligned addresses.
3423 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
3424 support.
3425 (grub_arch_dl_relocate_symbols): Likewise.
3426 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
3427 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
3428 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
3429 platforms.
3430 * grub-core/lib/arc/datetime.c: New file.
3431 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
3432 pci.h on non-loongson.
3433 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
3434 (grub_linux_boot): Set unused registers to 0.
3435 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
3436 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
3437 * grub-core/mmap/mips/uppermem.c: ...here.
3438 * grub-core/partmap/dvh.c: New file.
3439 * grub-core/term/arc/console.c: Likewise.
3440 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
3441 (grub_terminfo_set_current): Add terminal "arc".
3442 (grub_terminfo_readkey): Support ARC sequences.
3443 * include/grub/arc/arc.h: New file.
3444 * include/grub/arc/console.h: Likewise.
3445 * include/grub/disk.h (grub_disk_dev_id): Add
3446 GRUB_DISK_DEVICE_ARCDISK_ID.
3447 * include/grub/mips/arc/kernel.h: New file.
3448 * include/grub/mips/arc/memory.h: Likewise.
3449 * include/grub/mips/arc/time.h: Likewise.
3450 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
3451 * include/grub/mips/kernel.h (grub_halt): ... here.
3452 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
3453 here...
3454 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
3455 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
3456 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
3457 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
3458 proto.
3459 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
3460 from here ...
3461 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
3462 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
3463 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
3464 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
3465 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
3466 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
3467 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
3468 (grub_phys_addr_t): Moved from here ...
3469 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
3470 (grub_vtop): Moved from here ...
3471 * include/grub/mips/memory.h (grub_vtop): ... here.
3472 (grub_map_memory): Moved from here ...
3473 * include/grub/mips/memory.h (grub_map_memory): ... here.
3474 (grub_unmap_memory): Moved from here ...
3475 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
3476 (grub_machine_mmap_iterate): Moved from here ...
3477 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
3478 (grub_mmap_get_lower): Moved from here ...
3479 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
3480 (grub_mmap_get_upper): Moved from here ...
3481 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
3482 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3483 here ...
3484 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3485 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
3486 here ...
3487 * include/grub/mips/time.h (grub_get_rtc): ... here.
3488 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3489 here ...
3490 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3491 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
3492 here ...
3493 * include/grub/mips/time.h (grub_cpu_idle): ... here.
3494 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
3495 definition.
3496 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
3497 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
3498 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
3499 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
3500 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3501 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3502 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3503 (GRUB_MACHINE_LINK_ADDR): Likewise.
3504 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3505 to 6.
3506 * util/grub-install.in: Run dvhtool on ARC.
3507 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 3508 (generate_image): Handle ECOFF output for mips-arc.
400b9371 3509
c8ecc840
VS
35102011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3513 blocks.
3514
153a4b55
VS
35152011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3518 after enabling port.
3519
ff44d107
VS
35202011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 Skip incorrect USB devices.
3523
3524 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3525 configcnt == 0.
3526 * include/grub/usb.h (grub_usb_err_t): New enum value
3527 GRUB_USB_ERR_BADDEVICE.
3528
638dbe4f
VS
35292011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3530
3531 Fuloong video init support.
3532
3533 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3534 well.
3535 (grub_vga_read_arx): New function.
3536 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3537 definition.
3538 (framebuffer): New members io, mmioptr and mmiobase.
3539 (read_sis_cmd): New function.
3540 (write_sis_cmd): Likewise.
3541 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3542 rather than 640x400.
3543 * grub-core/video/sis315_init.c: New file.
3544
c3fc520c
VS
35452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3546
3547 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3548 non-loongson.
3549 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3550 to grub_dl_register_symbol.
3551
67b1e5c9
VS
35522011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 Fix compilation errors.
3555
3556 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3557 potentially unused.
3558 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3559 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3560 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3561 to loongson machines.
3562
b756f75f
VS
35632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 Several FS mtime support.
3566
3567 * grub-core/fs/affs.c (grub_affs_time): New struct.
3568 (grub_affs_file): New field mtime.
3569 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3570 type. Removed 'size'. New field 'di'. All users updated.
3571 (grub_affs_mount): Simplify checsum checking.
3572 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3573 (grub_affs_dir): Handle mtime.
3574 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3575 (grub_cpio_dir): Likewise.
3576 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3577 (grub_hfs_filerec): New field mtime.
3578 (grub_hfs_dir): Handle mtime.
3579 (grub_hfs_mtime): New function.
3580 (grub_hfs_fs): Register grub_hfs_mtime.
3581 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3582 (grub_iso9660_dir): New field mtime.
3583 (grub_fshelp_node): New field dirent.
3584 (iso9660_to_unixtime): New function.
3585 (iso9660_to_unixtime2): Likewise.
3586 (grub_iso9660_read_symlink): Use node->dirent.
3587 (grub_iso9660_iterate_dir): Likewise.
3588 (grub_iso9660_dir): Set mtime.
3589 (grub_iso9660_mtime): New function.
3590 (grub_iso9660_fs): Register grub_iso9660_mtime.
3591 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3592 (grub_jfs_inode): New fields atime, ctime and mtime.
3593 (grub_jfs_dir): Set mtime.
3594 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3595 * grub-core/fs/ntfs.c (list_file): Set mtime.
3596 (grub_ntfs_dir): Likewise.
3597 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3598 (grub_reiserfs_iterate_dir): Set mtime.
3599 (grub_reiserfs_dir): Likewise.
3600 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3601 (grub_fshelp_node): Likewise.
3602 (grub_sfs_iterate_dir): Set mtime.
3603 (grub_sfs_dir): Likewise.
3604 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3605 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3606 (grub_xfs_inode): New fields atime, mtime, ctime.
3607 (grub_xfs_dir): Set mtime.
3608 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3609 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3610 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3611
3612 Support UDF symlinks.
3613
3614 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3615 (grub_ufs_read_symlink): New function. All users updated.
3616
3617 Check amiga partmap checksum.
3618
3619 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3620 (grub_amiga_partition): Likewise.
3621 (amiga_partition_map_checksum): New function.
3622 (amiga_partition_map_iterate): Check checksum.
3623
5470225d
VS
36242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 ROMFS support.
3627
3628 * Makefile.util.def (libgrubmods.a): Add romfs.
3629 * grub-core/Makefile.core.def (romfs): New module.
3630 * grub-core/fs/romfs.c: New file.
3631
d4680a35
VS
36322011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Squashfs v4 support.
3635
3636 * Makefile.util.def (libgrubmods.a): Add squash4.
3637 * grub-core/Makefile.core.def (squash4): New module.
3638 * grub-core/fs/squash4.c: New file.
3639 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3640 disk_input_start, disk_input.
3641 (get_byte): Handle disk_input.
3642 (grub_zlib_disk_read): New function.
3643 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3644
bcb18e74
FZ
36452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
36462011-05-15 Feiran Zheng <famcool@gmail.com>
3647
3648 * Makefile.util.def (libgrubmods.a): Add minix3.
3649 * grub-core/Makefile.core.def (minix3): New module.
3650 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3651 (GRUB_MINIX_BSIZE): Removed.
3652 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3653 (grub_minix_ino_t): New type.
3654 (grub_minix_le_to_cpu_ino): New macro.
3655 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3656 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3657 (grub_minix_data): New field block_size.
3658 (grub_minix_read_file): Handle 64-bit correctly.
3659 * grub-core/fs/minix3.c: New file.
3660
32297d5f
TG
36612011-05-15 Tristan Gingold <gingold@free.fr>
36622011-05-15 Robert Millan <rmh.grub@aybabtu.com>
36632011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3664
3665 IA64 support.
3666
3667 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3668 * configure.ac: Add ia64-efi target.
3669 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3670 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3671 * gentpl.py: Add ia64_efi platform.
3672 Rename x86_efi to efi and Add ia64-efi. All users updated.
3673 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3674 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3675 Remove kern/generic/rtc_get_time_ms.c on EFI.
3676 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3677 kern/ia64/dl_helper.c on ia64-efi.
3678 Add kern/emu/cache.c on emu.
3679 (linux): Use on loader/ia64/efi/linux.c on ia64.
3680 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3681 whether symbol is a function.
3682 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3683 (grub_symbol): New field 'isfunc'.
3684 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3685 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3686 (grub_dl_load_segments): Place all sections into the same region.
3687 [__ia64__]: Create trampolines and got.
3688 [GRUB_MACHINE_EMU]: Call mprotect.
3689 (grub_dl_resolve_symbols): Resolve symbol type as well.
3690 [__ia64__]: Create function descriptors.
3691 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3692 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3693 (grub_get_rtc): New function.
3694 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3695 * grub-core/kern/emu/cache.S: Renamed to ...
3696 * grub-core/kern/emu/cache_s.S: ... this.
3697 [__ia64__]: Add a nop.
3698 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3699 [__ia64__]: New function.
3700 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3701 * grub-core/kern/ia64/dl.c: New file.
3702 * grub-core/kern/ia64/dl_helper.c: Likewise.
3703 * grub-core/kern/ia64/efi/init.c: New file.
3704 * grub-core/kern/ia64/efi/startup.S: Likewise.
3705 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3706 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3707 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3708 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3709 * grub-core/loader/ia64/efi/linux.c: New file.
3710 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3711 (GRUB_MOD_DEP): Likewise.
3712 (grub_dl) [__ia64__]: New fields got and tramp.
3713 (grub_dl): New field 'base'.
3714 (grub_dl_register_symbol): New argument isfunc. All users updated.
3715 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3716 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3717 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3718 (grub_ia64_dl_get_tramp_got_size): New proto.
3719 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3720 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3721 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3722 * include/grub/efi/api.h: Skip call wrappers on ia64.
3723 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3724 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3725 * include/grub/elf.h (ELF_ST_INFO): New definition.
3726 * include/grub/ia64/efi/kernel.h: New file.
3727 * include/grub/ia64/efi/memory.h: Likewise.
3728 * include/grub/ia64/efi/time.h: Likewise.
3729 * include/grub/ia64/kernel.h: Likewise.
3730 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3731 * include/grub/ia64/time.h: New file.
3732 * include/grub/ia64/types.h: Likewise.
3733 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3734 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3735 New protos.
3736 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3737 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3738 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3739 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3740 All users updated.
3741 (EFI64_HEADER_SIZE): New definition. All users updated.
3742 (image_targets): Add ia64-efi.
3743 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3744 jumpers_addr. All users updated.
3745 Create function descriptors.
3746 (count_funcs): New function.
3747 (unaligned_uint32): New struct.
3748 (MASK20): New definition.
3749 (MASK19): Likewise.
3750 (MASKF21): Likewise.
3751 (add_value_to_slot_20b): New function.
3752 (add_value_to_slot_21_real): Likewise.
3753 (add_value_to_slot_21): Likewise.
3754 (ia64_kernel_trampoline): New struct.
3755 (nopm): New variable.
3756 (jump): Likewise.
3757 (make_trampoline): New function.
3758 (relocate_addresses): Handle ia64.
3759 (make_reloc_section): Likewise.
3760 (load_image): Likewise.
3761
983b414d
VS
37622011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3765 warning. Move variables before code while on it.
3766
5d063cdc
VS
37672011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 Fuloong support.
3770
3771 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3772 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3773 * grub-core/boot/mips/loongson/fuloong.S: New file.
3774 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3775 Explicitly init CS5536.
3776 [FULOONG]: Don't use serial until CS5536 is available.
3777 Set GPIO based on dumps.
3778 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3779 [FULOONG]: Handle GPIO and memory controller differences.
3780 Parse machine type in $a2.
3781 * grub-core/boot/mips/startup_raw.S: Determine and save the
3782 architecture.
3783 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3784 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3785 init on architecture type.
3786 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3787 SIS315E. Don't init at_keyboard on fuloong.
3788 (grub_halt): Support Fuloong.
3789 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3790 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3791 (loongson_machtypes): New array.
3792 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3793 type.
3794 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3795 config. All users updated. Handle CS5536 serial.
3796 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3797 default port on machine type. Register serial as inactive.
3798 * grub-core/video/sis315pro.c: New file.
3799 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3800 definition.
3801 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3802 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3803 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3804 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3805 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3806 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3807 to ...
3808 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3809 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3810 definition.
3811 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3812 (grub_arch_machine): New extern var.
3813 * include/grub/mips/loongson/serial.h
3814 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3815 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3816 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3817 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3818 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3819 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3820 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3821 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3822 * include/grub/term.h (grub_term_register_input_inactive): New inline
3823 function.
3824 (grub_term_register_output_inactive): Likewise.
3825 * include/grub/video.h (grub_video_driver_id): New value
3826 GRUB_VIDEO_DRIVER_SIS315PRO.
3827 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3828 New field "names". All users updated.
3829 New field value IMAGE_FULOONG_FLASH.
3830 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3831
6ada82d1
JU
38322011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3833
3834 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3835 and add some clarification.
3836
90c571a4
VS
38372011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3840 platforms if kernel is compressed.
3841
de04eecf
VS
38422011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3845 unused modules since currently referrence counter isn't reliable and
3846 there isn't much memory to recover there anyway.
3847
57688121
VS
38482011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3851 rather than resetting it to allow modules to reference themselves
3852 in init.
3853
3d2c7e35
VS
38542011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3857 counter on dependencies since grub_dl_unref already handles this.
3858
b25db218
VS
38592011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3862 on error if not already done.
3863
25a45338
VS
38642011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3865
3866 Fix few potential memory misusage.
3867
3868 * grub-core/font/font.c (load_font_index): Don't free char_index to
3869 avoid double free.
b25db218
VS
3870 (grub_font_load): Zero-fill font at alloc for safety.
3871 Close file on error.
3872 (free_font): Free bmp_idx.
25a45338 3873
0cac83df
VS
38742011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * docs/grub.texi (Installation): Fix several outdated claims.
3877
2217a143
VS
38782011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Handle module_license on windows.
3881
3882 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3883 sections shifted.
3884 (insert_string): Make argument const char * instead of char *.
3885 (write_section_data): Handle long section names.
3886 Handle module_license.
3887
d4de6b01
VS
38882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3891 handle class-free menuentries.
3892 (grub_normal_add_menu_entry): Add a check to be sure.
3893
4c2a3b43
VS
38942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3895
3896 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3897 PgUp and PgDown.
3898
85c6210f
VS
38992011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * configure.ac: Bump version to 1.99.
3902
36084912
VS
39032011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 Give ATA device a bit more time on first try in order to allow disks
3906 to spin up.
3907
3908 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3909 if dev->present is 1. Reset dev->present on failure.
3910 (grub_ata_device_initialize): Set dev->present to 1.
3911 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3912 (grub_ata_device): New member 'present'.
3913
bda0e219
VS
39142011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3915
3916 * util/grub-mkimage.c (generate_image): Update hash.
3917
19e1c41b
VS
39182011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Flush caches on DMA memory.
3921
3922 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3923 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3924 (grub_dma_free): Likewise.
3925 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3926
91bbcc0c
VS
39272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3930 to avoid asm treating ld and sd as macros.
3931
60ddfad3
VS
39322011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3935 decompressor.
3936
a298aa04
VS
39372011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3938
3939 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3940 grub_decompress_core since later would fail if grub_decompress_core
3941 is too far.
3942
9b44feca
VS
39432011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3946 R_MIPS_JALR since it's used by newer compiler.
3947
56dbe7b4
VS
39482011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3951
52856af2
VS
39522011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3953
3954 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3955 file_path to 0 for surety.
3956 (grub_chainloader_boot): Set exit_data to NULL.
3957 Unset the loader once done.
3958 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3959
9c9bfc6d
VS
39602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3963 unknown key into a dprintf.
3964
dd94a3df
VS
39652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3968 on first non-existant partition.
3969
fa68d99c
VS
39702011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3973 openning fails.
3974 Reported by: Mark Korenberg.
3975
157effb7
VS
39762011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3979 overflow.
3980
ea75312f
VS
39812011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3984 before closing to ensure that it will be readable by grub-setup.
3985
072b5d31
VS
39862011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3989 (devpath_1): Use MAKE_PIWG_PATH.
3990 (devpath_2): Likewise.
3991 (devpath_3): Likewise.
3992 (devpath_4): Likewise.
3993 (devpath_5): Likewise.
3994 (devpath_6): Likewise.
3995
3996 The appleldr.mod was checked that to be binary identical to previous
3997 version.
3998
7fae0051
Z
39992011-05-05 Zach <mikezackles>
4000
4001 Support 2010 Macbooks.
4002
4003 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
4004 (devs): Add devpath_6.
4005
7c515bee
VS
40062011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
4009 /dev/random. /dev/urandom is good enough for our purposes (salting).
4010
ed660bd8
VS
40112011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4012
4013 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
4014
ee5614b7
VS
40152011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
4018 hexadecimal.
4019
664889a6
VS
40202011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
4023 and not 0 on failure.
4024
bd405bbc
CW
40252011-05-03 Colin Watson <cjwatson@ubuntu.com>
4026
4027 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
4028 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
4029 disk; otherwise grub_fs_probe will not fall back to the next
4030 filesystem.
4031 (grub_pxefs_open): Likewise, for consistency.
4032 Reported and tested by: Ezekiel Grave.
4033
4ebff753
CW
40342011-05-03 Colin Watson <cjwatson@ubuntu.com>
4035
4036 * tests/partmap_test.in: Don't hardcode path to parted.
4037 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
4038
8f942553
CW
40392011-05-01 Colin Watson <cjwatson@ubuntu.com>
4040
4041 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
4042 of `ls' to find out which devices are available.
4043
3c62402d
VS
40442011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
4047 than source address for efi mmap buffer.
4048
723f63f2
VS
40492011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
4052 wrong action on non-detecting the magic.
4053
68797f92
VS
40542011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
4057 already supplied by another part of the module (fixes compilation on
4058 FreeBSD).
4059
6be8715d
VS
40602011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
4063 match the one used by mdadm.
4064
e91dba5b
CW
40652011-04-21 Colin Watson <cjwatson@ubuntu.com>
4066
4067 * po/README: Add instructions for creating po/LINGUAS.
4068
c85140b3
CW
40692011-04-21 Colin Watson <cjwatson@ubuntu.com>
4070
4071 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
4072 #551428.
4073
4074 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
4075 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
4076 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
4077 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
4078 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
4079 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
4080 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
4081 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
4082 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
4083 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
4084 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
4085 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
4086 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
4087 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
4088 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
4089 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
4090 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
4091 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
4092 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
4093 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
4094 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
4095 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
4096
92051871
CW
40972011-04-21 Colin Watson <cjwatson@ubuntu.com>
4098
4099 * grub-core/kern/emu/getroot.c
4100 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
4101 test that was incorrectly reintroduced in r3214.
4102 Reported by: Ian Dall. Fixes Savannah bug #33133.
4103
b13f79a4
CW
41042011-04-21 Colin Watson <cjwatson@ubuntu.com>
4105
4106 Fix stack pointer handling in 16-bit relocator.
4107
4108 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
4109 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
4110 Fixes Ubuntu bug #683904.
4111
9b710a88
VS
41122011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4113
4114 * configure.ac: Bump version to 1.99~rc2.
4115
d97e7b59
VS
41162011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
4119 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
4120 * grub-core/lib/x86_64/setjmp.S: Likewise.
4121 * grub-core/lib/mips/setjmp.S: Likewise.
4122 * grub-core/lib/powerpc/setjmp.S: Likewise.
4123 * grub-core/lib/sparc64/setjmp.S: Likewise.
4124
0624551c
VS
41252011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
4128 * grub-core/lib/efi/datetime.c: Likewise.
4129
e8f28d4c
VS
41302011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
4133 New function.
4134 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
4135 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
4136 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
4137
bba79a15
VS
41382011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
4141 bitmap.
4142 (grub_gfxterm_term_init): Likewise.
4143
abc474ef
VS
41442011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 Take into account the decorations the computing menu entry width.
4147
4148 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
4149 (grub_gfxmenu_create_box): Register get_border_width.
4150 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
4151 if available.
4152 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
4153 get_border_width.
4154
e74b3947
EP
41552011-04-18 Endres Puschner <code@e7p.de>
4156
4157 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
4158 Don't skip first class.
4159
34faa595
VS
41602011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
4163 chunks.
4164 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
4165
93a777e3
VS
41662011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 Complete 64-bit division support.
4169
4170 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
4171 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
4172 * include/grub/misc.h (grub_divmod64): Rename to ...
4173 (grub_divmod64_full): ... this.
4174 (grub_divmod64): New inline function.
4175
a5102d94
VS
41762011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * util/grub-mkimage.c (generate_image): Add forgotten comma.
4179
f3fb7b36
VS
41802011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
4183 performing the necessary test.
4184
9ac718b0
VS
41852011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
4188 (kfreebsd.elf): Likewise.
4189 (pc-chainloader.elf): Likewise.
4190 (ntldr.elf): Likewise.
4191
50d2cc5a
VS
41922011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 Identify RAID by its UUID rather than (guessed) name.
4195
4196 * grub-core/disk/raid.c (ascii2hex): New function.
4197 (grub_raid_open): Accept mduuid/%s specification.
4198 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
4199 (get_mdadm_uuid): ... this.
4200 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
4201
e03f7bea
VS
42022011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
4205 to negative size.
4206
e74c3112
CW
42072011-04-13 Colin Watson <cjwatson@ubuntu.com>
4208
4209 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
4210 btrfs subvolume.
4211 * util/grub.d/20_linux_xen.in: Likewise.
4212
78fa584f
CW
42132011-04-13 Colin Watson <cjwatson@ubuntu.com>
4214
4215 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
4216 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
4217
4218 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4219 Build a list of relevant visible mounts using the mnt_id and
4220 parent_mnt_id fields, and then scan that list at the end.
4221
9d5f8162
CW
42222011-04-12 Colin Watson <cjwatson@ubuntu.com>
4223
4224 * docs/grub.texi (normal): New section.
4225 (normal_exit): New section.
4226 (Embedded configuration): Add reference to normal.
4227 (GRUB only offers a rescue shell): Likewise.
4228 * docs/grub-dev.texi (Error Handling): Fix typo.
4229
09a9d66f
CW
42302011-04-12 Colin Watson <cjwatson@ubuntu.com>
4231
4232 * NEWS: Drop obsolete entry about probe-only btrfs support.
4233
0c676933
CW
42342011-04-12 Colin Watson <cjwatson@ubuntu.com>
4235
4236 * util/import_gcry.py: Fix typo.
4237
ec9f5e0d
VS
42382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 * NEWS: Add btrfs support.
4241
fe6b2cba
VS
42422011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
42432011-04-11 Colin Watson <cjwatson@ubuntu.com>
4244
4245 BtrFS support. Written by me (Vladimir) with important bugfixes and
4246 even more important testing by Colin.
4247
4248 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
4249 * grub-core/Makefile.core.def (btrfs): Add crc.c.
4250 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
4251 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
4252 mem_input_off and mem_input. All users updated to accept in-RAM input.
4253 (gzio_seek): New function.
4254 (test_zlib_header): Likewise.
4255 (grub_gzio_read): Likewise.
4256 (grub_zlib_decompress): Likewise.
4257 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
4258 Accept partial and non-virtual mounts.
4259 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
4260 avoid receiving /dev/dm-X as device.
4261 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
4262 Handle bind and partial mounts.
4263 * grub-core/lib/crc.c: New file.
4264 * include/grub/deflate.h: Likewise.
4265 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
4266 proto.
4267 * include/grub/lib/crc.h: New file.
4268
e745cf0c
VS
42692011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 Implement automatic module license checking according to new GNU
4272 guidelines.
4273
4274 * grub-core/kern/dl.c (grub_dl_check_license): New function.
4275 (grub_dl_load_core): Use grub_dl_check_license.
4276 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
4277 (GRUB_MOD_LICENSE): Likewise.
4278 (GRUB_MOD_DUAL_LICENSE): Likewise.
4279 All modules updated.
4280
2a9bc016
CW
42812011-04-11 Colin Watson <cjwatson@ubuntu.com>
4282
4283 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
4284 reserved_first_sector to 1. btrfs reserves plenty of space for boot
4285 loaders.
4286 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
4287
8a3bc88e
VS
42882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
4291
af869a4a
VS
42922011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * util/grub-fstest.c (read_file): Report GRUB error if file opening
4295 failed.
4296
9ee8d94f
VS
42972011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * grub-core/kern/file.c (grub_file_open): Don't take into account the
4300 parenthesis in the middle of the filename.
4301
b01abe3e
VS
43022011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
4305 rather than trying to put initrd way too high.
4306 Reported by: Ryan Lortie <desrt@desrt.ca>
4307
335bda1e
VS
43082011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
4311 improperly removed string.
4312
5ca1a64d
VS
43132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4314
4315 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
4316 is_disk.
4317 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
4318 (open_device) Likewise.
4319 (grub_util_biosdisk_close): Likewise.
d8ce9995 4320 Reported by: Mark Korenberg.
5ca1a64d 4321
cbac5b1e
AK
43222011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
4323
4324 * util/grub-mkconfig_lib.in: Add missing quotes.
4325
088cdb65
CW
43262011-04-10 Colin Watson <cjwatson@ubuntu.com>
4327
4328 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
4329 is NULL.
4330
8b8a81fa
VS
43312011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 Dynamically count the number of lines for the lower banner.
4334
4335 * grub-core/normal/menu_entry.c (per_term_screen): New member
4336 num_entries.
4337 (print_down): Use num_entries.
4338 (update_screen): Likewise.
4339 (grub_menu_entry_run): Set num_entries.
4340 * grub-core/normal/menu_text.c (menu_viewer_data): New member
4341 num_entries.
4342 (grub_print_message_indented): Move real part to ...
4343 (grub_print_message_indented_real): ... here. Additional argument
4344 dry_run.
4345 (draw_border): Additional argument num_entries.
4346 (print_message): Additional argument dry_run.
4347 (print_entries): Receive menu viewer data.
4348 (grub_menu_init_page): New argment num_entries.
4349 (menu_text_set_chosen_entry): Use num_entries.
4350 (grub_menu_try_text): Likewise.
4351 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
4352 All users updated.
4353 (grub_ucs4_count_lines): New function.
4354 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
4355 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
4356 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
4357 (grub_term_border_height): Likewise.
4358 (grub_term_num_entries): Likewise.
4359
277f955b
VS
43602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
4363 Remove now unused string.
4364
536ce85a
CW
43652011-04-09 Colin Watson <cjwatson@ubuntu.com>
4366
4367 * docs/grub-dev.texi (Finding your way around): Update for 1.99
4368 build system.
4369 (Getting started): GRUB is developed in Bazaar now, not Subversion.
4370
4371 (Comment): Fix typo.
4372 (Getting started): General copy-editing.
4373 (Typical Development Experience): Likewise.
4374 (Error Handling): Likewise.
4375 (Video API): Likewise.
4376
2cf09e32
CW
43772011-04-09 Colin Watson <cjwatson@ubuntu.com>
4378
4379 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
4380 throughout.
4381
1ec652f4
VS
43822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 * util/grub-mkimage.c (main): Handle special naming of yeeloong
4385 directory.
4386
2c583728
CW
43872011-04-08 Colin Watson <cjwatson@ubuntu.com>
4388
4389 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
4390 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
4391 "development".
4392
d7a565e9
VS
43932011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
4396 grub_strcpy since the lines aren't necessarily 0-terminated.
4397
7c2e4909
VS
43982011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
4401 root on legacy.
4402
34c09785
VS
44032011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * grub-core/commands/probe.c (options): Argument to set isn't optional.
4406 (GRUB_MOD_INIT): DEVICE isn't optional.
4407
6a6f8058
VS
44082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
4411 word on new line if it's too long anyway. Fixes a hang.
4412
2e335e90
VS
44132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4414
4415 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
4416 const.
4417 * util/grub-setup.c (main): Reuse md device name if available.
4418 * util/raid.c (grub_util_raid_getmembers): Receive device name and
4419 not GRUB name as argument.
4420 Based on patch by: Florian Wagner <fwagner>.
4421
10a7a867
VS
44222011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4425 Place mbi on low memory for better compatibility.
4426
7a3d6cd9
VS
44272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
4430
18dd6b47
VS
44312011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
44322011-04-08 Colin Watson <cjwatson@ubuntu.com>
4433
4434 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 4435 * conf/Makefile.common: Likewise.
18dd6b47 4436
3c0e3f14
VS
44372011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4438
f7148863
VS
4439 * grub-core/normal/menu.c: Add missing include.
4440
44412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 4444
6d1fa41f
MZ
44452011-04-08 Martin Zuther <mzuther@mzuther.de>
4446
4447 * util/grub-mkconfig.in: Ignore emacsen backup.
4448
478182a8
VS
44492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4450
4451 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
4452 on open.
4453 (grub_util_biosdisk_close): Likewise.
4454
72a89a54
VS
44552011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
4458 const attribute and use grub_isdigit.
4459
b5ebecfa
A
44602011-04-06 Andrey <dev_null@ukr.net>
4461
4462 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
4463 gcc warning.
4464
7755f66e
VS
44652011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4468 useful grub_dprintf's.
4469
461121ff
VS
44702011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
4473
2a961775
VS
44742011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4475
4476 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
4477
adf594cc
VS
44782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Output errors if theme loading failed.
4481
4482 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
4483 grub_gfxterm_fullscreen on error paths to ...
4484 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
4485 theme loading error.
4486
665900a3
VS
44872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
4490 space for older compilers.
4491 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4492
a562b479
VS
44932011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
4496 and report them as not RAID members since they are useless for GRUB.
4497 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4498
850e9373
VS
44992011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4500
4501 Increase LVM implementation robustness in order not to crash on
4502 configurations like pvmove. Previously code assumed that in some places
4503 only lvs or only pvs are used whereas it seems that they are used
4504 interchangeably.
4505
4506 * grub-core/disk/lvm.c (read_node): New function.
4507 (read_lv): Use read_node.
4508 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4509 Match volumes only at the end when all lvs are found. Take both
4510 pvs (first) and lvs (second) into account.
4511 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4512 mirror_* into node_*. All users updated.
4513 (grub_lvm_stripe): Merge this ...
4514 (grub_lvm_mirror): ... and this ...
4515 (grub_lvm_node): ... into this. All users updated.
4516
6f332153
VS
45172011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4520 of function to allow further scanning for LVMs.
4521
829ea451
VS
45222011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4523
4524 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4525 on failed seek as it breaks open fd reusage.
4526
09ceb9a5
VS
45272011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * util/grub-install.in: Add a recommendation to use --recheck before
4530 reporting bugs.
4531
67e11623
VS
45322011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4535 are obtained.
4536
caee5efd
VS
45372011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4538
4539 GRUB developper manual based on existing Internals section and
4540 contributions by the various authors with active copyright assignment.
4541
4542 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4543 * docs/font_char_metrics.png: New file.
4544 * docs/font_char_metrics.txt: Likewise.
4545 * docs/grub-dev.texi: Likewise.
4546 * docs/grub.texi (Internals): Move from here ...
4547 * docs/grub-dev.texi: ... here.
4548
2cccc747
CW
45492011-04-01 Colin Watson <cjwatson@ubuntu.com>
4550
4551 Store the loopback device as data on loopback grub_disk structures,
4552 rather than the file it points to. This fixes use of freed memory
4553 if an existing loopback device is replaced.
4554
4555 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4556 disk->data, not dev->file.
4557 (grub_loopback_read): Adjust file assignment to match.
4558 Fixes Ubuntu bug #742967.
4559
186ae367
CW
45602011-04-01 Colin Watson <cjwatson@ubuntu.com>
4561
4562 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4563 when replacing an existing device.
4564
cfed2ad0
VS
45652011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4568 memory corruptions.
4569
4570 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4571 unsigned.
4572 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4573 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4574 (grub_jfs_read_inode): Likewise.
4575 (grub_jfs_opendir): Likewise. Remove now useless casts.
4576 (grub_jfs_getent): Likewise.
4577 Make ino a grub_uint32_t rather than int.
4578 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4579 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4580 division and module with bit operations.
4581 (grub_jfs_find_file): Make ino a grub_uint32_t.
4582 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4583
05d2ed32
CW
45842011-04-01 Colin Watson <cjwatson@ubuntu.com>
4585
4586 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4587 warning. (This was in fact always initialised before use, but GCC
4588 wasn't smart enough to prove that.)
4589 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4590
91dc6073
VS
45912011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4594 stack alignment.
4595 (efi_wrap_1): Likewise.
4596 (efi_wrap_2): Likewise.
4597 (efi_wrap_3): Likewise.
4598 (efi_wrap_4): Likewise.
4599 (efi_wrap_5): Likewise.
4600 (efi_wrap_6): Likewise.
4601 (efi_wrap_10): Likewise.
4602 Based on information by: Red Hat/Peter Jones.
4603
a8afc1d1
CW
46042011-03-31 Colin Watson <cjwatson@ubuntu.com>
4605
4606 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4607 set-but-not-used variable.
4608
a826cc7d
CW
46092011-03-31 Colin Watson <cjwatson@ubuntu.com>
4610
4611 * docs/grub.texi (Simple configuration): Be more explicit about
4612 GRUB_DEFAULT, and add an example.
4613 Reported by: Leslie Rhorer.
4614
875b67ba
CW
46152011-03-30 Colin Watson <cjwatson@ubuntu.com>
4616
4617 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4618 shell".
4619
fd7cd914
AS
46202011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4621
4622 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4623 * util/grub.d/20_linux_xen.in: Likewise.
4624
090b1b6a
VS
46252011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 * util/grub.d/10_linux.in: Try alternative config filenames where
4628 we parse config file.
4629 * util/grub.d/20_linux_xen.in: Likewise.
4630
baad885c
AS
46312011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4632
4633 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4634 * util/grub.d/20_linux_xen.in: Likewise.
4635
241e41f5
VS
46362011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/disk/raid.c (insert_array): Add few potentially
4639 useful grub_util_info.
4640 (grub_raid_register): Likewise.
4641
56445fb2
VS
46422011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4645 Preserve partition number in mdadm code path.
4646
c871b1c6
VS
46472011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4648
4649 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4650 few potentially useful grub_util_info.
4651
5e631b4f
CW
46522011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4653
4654 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4655
2d5d0333
CW
46562011-03-30 Colin Watson <cjwatson@ubuntu.com>
4657
4658 * docs/grub.texi (default): Use @example rather than nested
4659 itemized lists to avoid breaking gendocs.
4660
3d7ed04e
CW
46612011-03-30 Colin Watson <cjwatson@ubuntu.com>
4662
4663 * docs/grub.texi (Future): Update.
4664
abf04200 46652011-03-30 Colin Watson <cjwatson@ubuntu.com>
4666
4667 * docs/grub.texi (Environment): New chapter.
4668 (Changes from GRUB Legacy): Link to "Environment block" section for
4669 details of limitations.
4670 (Simple configuration): Likewise. Link to documentation of gfxmode
4671 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4672 respectively.
4673 (Shell-like scripting): Note that normal variables are stored in the
4674 environment.
4675 (gettext): Link to documentation of lang and locale_dir.
4676 (list_env): New section.
4677 (load_env): New section.
4678 (save_env): New section.
4679
4680 (Reporting bugs): Fix typo.
4681
e1ad0edd
VS
46822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4685 the example.
4686
5d803174
VS
46872011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/term/at_keyboard.c (set_scancodes)
4690 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4691
2a2da1d0
CW
46922011-03-30 Colin Watson <cjwatson@ubuntu.com>
4693
4694 * docs/grub.texi (Menu-specific commands): Remove some semantics
4695 that were true in GRUB Legacy but not in GRUB 2.
4696 (submenu): New section.
4697 (false): New section.
4698 (read): New section.
4699 (true): New section.
4700
a7527639
CW
47012011-03-30 Colin Watson <cjwatson@ubuntu.com>
4702
4703 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4704
47052011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
4706
4707 * docs/grub.texi (Simple configuration): Explain some of the
4708 current limitations of grub-mkconfig.
8a748df2 4709 Reported by: Leslie Rhorer.
e30af029 4710
fc858482
VS
47112011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 Old macs search for boot.efi rather than for bootia32.efi.
4714
4715 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4716 * util/grub-mkrescue.in: Likewise.
4717 Suggested by: Peter Jones.
4718
e1eb511d
VS
47192011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4722
70e75364
VS
47232011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4726 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4727 (grub_lvm_mirror): New struct.
4728 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4729 (grub_lvm_iterate): Iterate only visible volumes.
4730 (grub_lvm_read): Factor out to ..
4731 (read_lv): ... this. Support mirrors.
4732 (grub_lvm_read): New wrapper function.
4733 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4734 stripped or mirrored.
4735
fc18f6a3
VS
47362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4739
5c650f4c
CW
47402011-03-29 Colin Watson <cjwatson@ubuntu.com>
4741
4742 * docs/grub.texi (loopback): New section.
4743
61d7156b
CW
47442011-03-29 Colin Watson <cjwatson@ubuntu.com>
4745
4746 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4747 removed -p option.
4748
994b8264
CW
47492011-03-29 Colin Watson <cjwatson@ubuntu.com>
4750
4751 * docs/grub.texi (BIOS installation): New section, partly based on
4752 previous text in other sections.
4753 (Installing GRUB using grub-install): Replace BIOS discussion with a
4754 cross-reference.
4755 (Images): Likewise.
4756
9e4d19e0
VS
47572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4760 [HAVE_DIOCGDINFO]: Add safety checks.
4761
a307c0b2
VS
47622011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4765 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4766
b4db4f39
CW
47672011-03-29 Colin Watson <cjwatson@ubuntu.com>
4768
4769 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4770 real_sb->size is zero (e.g. RAID-0), get the disk size from
4771 real_sb->data_size instead.
4772 Fixes Ubuntu bug #743136.
4773
35e5f84c
VS
47742011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4777 printf clauses for printing size and start.
4778
d2e29d81
VS
47792011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4782 Reported and tested by: Timothy Nikkel.
4783
ed5587af
VS
47842011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4787 (dirty_region_add_real): ... this.
4788 (dirty_region_add): Don't discard margin refresh when performing
4789 scheduled repaint.
4790
a1dc717c
VS
47912011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4792
4793 * grub-core/lib/relocator.c (allocate_regstart)
4794 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4795 terminals are capabple of malloc-free operation.
4796 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4797 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4798
9f3677d3
VS
47992011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4800
4801 * util/grub-setup.c: Copy the partition table zone if floppy support
4802 is disabled, even if no partition table is found.
4803
4804 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4805 during POST if an invalid partition table is contained in the PBR
4806 of the active partition when GRUB is installed to a partition.
4807
24148725
CW
48082011-03-28 Colin Watson <cjwatson@debian.org>
4809
4810 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4811 comment.
4812
f329eda7
CW
48132011-03-28 Colin Watson <cjwatson@debian.org>
4814
4815 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4816 to be specific about what kind of RAID device we're scanning for.
4817
c482ad98
SG
48182011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4819
4820 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4821 return freed string.
4822
5ee04984
VS
48232011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4824
4825 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4826
f4727da9
VS
48272011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4828
4829 Use libgeom on FreeBSD to detect partitions.
4830
4831 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4832 (grub-mkrelpath): Likewise.
4833 (grub-script-check): Likewise.
4834 (grub-editenv): Likewise.
4835 (grub-mkpasswd-pbkdf2): Likewise.
4836 (grub-fstest): Likewise.
4837 (grub-mkfont): Likewise.
4838 (grub-mkdevicemap): Likewise.
4839 (grub-probe): Likewise.
4840 (grub-setup): Likewise.
4841 (grub-ofpathname): Likewise.
4842 (grub-mklayout): Likewise.
4843 (example_unit_test): Likewise.
4844 (grub-menulst2cfg): Likewise.
4845 * grub-core/Makefile.core.def (grub-emu): Likewise.
4846 (grub-emu-lite): Likewise.
4847 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4848 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4849 define HAVE_DIOCGDINFO.
4850 (follow_geom_up) [FreeBSD]: New function.
4851 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4852 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4853 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4854 unconditionally of HAVE_DIOCGDINFO.
4855
82fe6c75
VS
48562011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 Fix FreeBSD compilation problem.
4859
4860 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4861 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4862
4c6c9431
CW
48632011-03-24 Colin Watson <cjwatson@ubuntu.com>
4864
4865 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4866 Switch back to page zero before loading a kernel, since some kernel
4867 drivers expect that.
4868 Thanks to: Felix Kuehling.
4869
c7064d94
VS
48702011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4871
4872 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4873 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4874 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4875
3f71cded
VS
48762011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4879 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4880
ef6de21a
VS
48812011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4882
4883 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4884 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4885 malloc is disabled.
4886
8bc66a2c
VS
48872011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4890 for modules headers when counting the needed allocation size.
4891
5657722c
VS
48922011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4895 if no ASCII character is found to prevent crash.
4896
41a85f55
AK
48972011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4898
4899 * grub-core/video/bitmap.c (match_extension): Ignore case.
4900
59e1e5f1
VS
49012011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4904
bd4d051a
VS
49052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/script/parser.y: Declare "time" as valid argument.
4908
bae7fcc1
PJ
49092011-03-23 Peter Jones <pjones@redhat.com>
4910
4911 Fix incorrect assert failure reporting.
4912
4913 * grub-core/tests/example_functional_test.c (example_test): Add
4914 a failure comment.
4915 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4916 (failure_start): ...this. Check that malloc succeeded.
4917 Don't call xvasprintf. Return failure struct.
4918 (failure_append_vtext): New function.
4919 (failure_append_text): Likewise.
4920 (add_failure): Likewise.
4921 (grub_test_assert_helper): Likewise.
4922 * include/grub/test.h (grub_test_assert_helper): New declaration.
4923 (grub_test_assert): Macro rewritten.
4924
537dc9be
VS
49252011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4928
fa3e01bf
VS
49292011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4932
b1d28404
VS
49332011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4936 into GRUB-style one.
4937
2e3e2e09
VS
49382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4941 error and not grub_errno.
4942 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4943
ed57e557
VS
49442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4947 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4948
d1611f01
VS
49492011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * grub-core/efiemu/i386/pc/cfgtables.c
4952 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4953 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4954 (grub_xnu_unlock): Likewise.
4955 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4956
7d4e39d6
VS
49572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4960 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4961 * grub-core/commands/hashsum.c (aliases): Likewise.
4962 * grub-core/commands/setpci.c (pci_registers): Likewise.
4963 * grub-core/disk/usbms.c (attach_hook): Likewise.
4964 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4965 (zio_checksum_table): Likewise.
4966 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4967 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4968 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4969 * grub-core/lib/relocator.c (leftovers): Likewise.
4970 (extra_blocks): Likewise.
4971 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4972 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4973 (modules_last): Likewise.
4974 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4975 (devices): Likewise.
4976 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4977 (modules_last): Likewise.
4978 * grub-core/normal/auth.c (users): Likewise.
4979 * grub-core/normal/context.c (initial_menu): Likewise.
4980 (current_menu): Likewise.
4981 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4982 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4983 (grub_serial_terminfo_input_template): Likewise.
4984 (grub_serial_terminfo_output_template): Likewise.
4985 (grub_serial_terminfo_input): Likewise.
4986 (grub_serial_terminfo_output): Likewise.
4987 (registered): Likewise.
4988 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4989
40fc4659
VS
49902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4993 grub_video_mode_type_t.
4994 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4995 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4996 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4997
2da48d28
VS
49982011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 * util/grub-install.in: Correct the x86-64 name as x86_64.
5001
9b43bf39
CW
50022011-03-11 Colin Watson <cjwatson@ubuntu.com>
5003
5004 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
5005 initial chunk read from the kernel always includes GRUB's multiboot
5006 header, which is now outside the first sector.
5007
be1a7ce0
CW
50082011-03-09 Colin Watson <cjwatson@ubuntu.com>
5009
5010 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
5011 cached mmap_size, so that this works correctly when called multiple
5012 times.
5013 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
5014
83a3c48d
CW
50152011-03-09 Colin Watson <cjwatson@ubuntu.com>
5016
5017 * docs/grub.texi (Simple configuration): Tidy up formatting.
5018
57d75699
SJ
50192011-03-07 Szymon Janc <szymon@janc.net.pl>
5020
5021 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
5022 Set-but-not-used variable removed.
5023
028501a0
VS
50242011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 Workaround yet another IEEE1275 bug.
5027
5028 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
5029 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
5030 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
5031 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
5032 is set.
5033 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
5034 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
5035
d998657d
VS
50362011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
5039 error.
5040
fee7cdd4
CW
50412011-02-11 Colin Watson <cjwatson@ubuntu.com>
5042
5043 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
5044 empty, since in that case we can only generate either nothing or a
5045 syntactically invalid configuration file.
5046 Reported by: Michal Suchanek. Fixes Debian bug #612898.
5047
97286eb5
CW
50482011-02-09 Colin Watson <cjwatson@ubuntu.com>
5049
5050 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
5051 (Making a GRUB bootable CD-ROM): Likewise.
5052 (Invoking grub-mkrescue): New section.
5053 Reported by: Yann Dirson. Fixes Debian bug #612585.
5054
22b28eb3
CW
50552011-02-09 Colin Watson <cjwatson@ubuntu.com>
5056
5057 * util/grub-install.in: Remove unnecessary brackets from tr
5058 arguments.
5059 * util/grub.d/10_hurd.in: Likewise.
5060 * util/grub.d/10_kfreebsd.in: Likewise.
5061 * util/grub.d/10_linux.in: Likewise.
5062 * util/grub.d/20_linux_xen.in: Likewise.
5063 Reported by: Jamie Heilman. Fixes Debian bug #612564.
5064
7e735e43
CW
50652011-02-08 Colin Watson <cjwatson@ubuntu.com>
5066
5067 * include/grub/file.h (not_easly_seekable): Rename to ...
5068 (not_easily_seekable): ... this. Update all users.
5069
800f1881
CW
50702011-01-28 Colin Watson <cjwatson@ubuntu.com>
5071
5072 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
5073 grub-mkrescue.
5074
3281d3d6
VS
50752011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * util/grub-mkimage.c (generate_image): Refuse to create the images
5078 bigger than the actual flash (512K) in Loongson machines. 512K is also
5079 the biggest chip supported by them.
5080
3533413c
VS
50812011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
5084
73ae4f4f
VS
50852011-01-22 Anthony DeRobertis <anthony@derobert.net>
5086
5087 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
5088 super_offset field.
5089
37f4f608
VS
50902011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5091
5092 * util/grub-install.in: Ignore install device on platforms
5093 where it doesn't make sense. Always use UUIDs except on pc, efi and
5094 sparc64.
5095 Reported by: Daniel Kahn Gillmor.
5096
03a4ccb5
VS
50972011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
5100
ffc8f4d8
VS
51012011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
5104 (iterate_real): Don't rely on partition being non-NULL.
5105
80f23be7
VS
51062011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
5109 supported platforms. Put a compile time assert for this rather than
5110 generate a warning with 32-bit shift.
5111
5d4f4dd5
VS
51122011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
5115 logical expression more readable.
5116
e489601a
VS
51172011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
5118
5119 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
5120 even if some elements have a name.
5121 Reported by: Alexander GQ Gerasiov.
5122
96e0a6ea
CW
51232011-01-22 Colin Watson <cjwatson@ubuntu.com>
5124
5125 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
5126 path unreadable if `grub-probe -t abstraction' fails, for example if
5127 memberlist fails on an LVM volume group.
5128 Reported by: Darius Jahandarie.
5129
81431e2b
CW
51302011-01-22 Colin Watson <cjwatson@ubuntu.com>
5131
5132 * docs/grub.texi (Simple configuration): Document
5133 GRUB_PRELOAD_MODULES.
5134
5e79d66a
CW
51352011-01-17 Colin Watson <cjwatson@ubuntu.com>
5136
5137 * .bzrignore: Remove nonexistent grub-pbkdf2.
5138
646ada34
VS
51392011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * configure.ac: Bump version to 1.99~rc1.
5142
04360337
VS
51432011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
5146 for safety.
5147
46c9db88
VS
51482011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
5151 module.
5152
51532011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
5154
5155 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
5156
4fbf1852
VS
51572011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
5160 diskdevid.
5161
f1632d4d
VS
51622011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 Fix compilation on cygwin.
5165
5166 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
5167 -R .drectve on cygwin.
5168 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
5169 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
5170 (COND_CYGWIN): New condition.
5171 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
5172 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
5173 not @TARGET_OBJ2ELF@.
5174 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
5175 type to determine whether aux is to be used.
5176
0b5e127b
VS
51772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
5180 realpath'ed device string.
5181 Handle floppy (somewhat).
5182 Issue error in unknown case rather than garbage.
5183 Reported by: Axel Beckert.
5184
173b71e9
VS
51852011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5186
5187 * util/grub.d/00_header.in (load_video): Handle the case when no video
5188 drivers available.
5189 Thanks to: Axel Beckert.
5190
f8f479db
VS
51912011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
5194 variable. Fixes problem on big endian platforms.
5195
8fc0a245
VS
51962011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
5199 It doesn't work well there.
5200
b8494fbe
VS
52012011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
5204 warning.
5205 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
5206 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
5207 counter.
5208
b44a558c
VS
52092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5210
5211 Use alias->path rather than buggy "canon".
5212
5213 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
5214 (ofdisk_hash_add): New argument curcan. All users updated.
5215
51fa856c
CW
52162011-01-11 Colin Watson <cjwatson@ubuntu.com>
5217
5218 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
5219
9da068a5
VS
52202011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
5223 loadmask before doing any calculations. Use correct type for offset.
5224 (grub_linux_load64): Likewise.
5225
86205c94
CW
52262011-01-11 Colin Watson <cjwatson@ubuntu.com>
5227
5228 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
5229 with NULL.
5230 (console_grub_equivalences_unshift): Likewise.
5231 Reported by: Daniel Dehennin.
5232
4531a206
VS
52332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
5236 (set_env_limn_ro): Likewise.
5237 (GRUB_MOD_INIT): Likewise.
5238 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
5239 ARRAY_SIZE while on it.
5240 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
5241 * grub-core/normal/context.c (grub_env_export): Move from here ...
5242 * grub-core/kern/env.c (grub_env_export): ... here.
5243 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
5244 prefix.
5245 * grub-core/kern/main.c (grub_main): Export root and prefix.
5246 * include/grub/env.h (grub_env_export): Export.
5247 Reported by: Seth Goldberg.
5248
45146057
VS
52492011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5252 Take into account space used by ELF sections and multiboot palette.
5253 Reported by: Grégoire Sutre.
5254
f093110b
VS
52552011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5256
5257 * BUGS: New file.
5258
3395fe52
VS
52592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Pass more appropriate video id to Linux.
5262
5263 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
5264 grub_video_get_driver_id and variable gfxpayloadforcelfb to
5265 fill have_vga.
5266 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
5267 shift params->lfb_size.
5268 * include/grub/i386/linux.h: Make an enume out of have_vga values.
5269
c2fa6cbb
VS
52702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * util/grub-menulst2cfg.c: Add missing include of misc.h.
5273
b3ff6ff0
VS
52742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5275
5276 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
5277 separator and pass bootpath/devid even if only one of them is available.
5278 Reported by: Seth Goldberg.
5279
ae67942e
VS
52802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5281
5282 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
5283 implementations bug on them.
5284
5285 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
5286 memory.
5287 (filter_memory_map): Likewise.
5288
d570097a
VS
52892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
5292 Reported by: nebuchadnezzar.
5293
a508e776
VS
52942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
5297 Reported by: nebuchadnezzar.
5298
dcb883b1
VS
52992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5300
5301 Submenu default support.
5302
5303 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
5304 auto_boot. All users updated.
5305 Declared static.
5306 Handle chosen and default with submenus.
5307 (grub_menu_execute_with_fallback): Declared static.
5308 Don't notify failure if autobooted. Upper level does it.
5309 (menuentry_eq): New function.
5310 (get_entry_number): Use menuentry_eq.
5311 (show_menu): New parameter "autobooted". All users updated.
5312 (grub_show_menu): Likewise.
5313 * include/grub/normal.h (grub_show_menu): Likewise.
5314 * include/grub/menu.h (grub_menu_execute_entry): Removed.
5315 (grub_menu_execute_with_fallback): Likewise.
5316
6fef99b4
VS
53172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5318
5319 * util/grub-mklayout.c (usage): Update help text.
5320
47a77af5
VS
53212011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
5324
ce6bb3ee
VS
53252011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * util/grub-menulst2cfg.c (main): Trim the line.
5328
db87be2a
VS
53292011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
5332 (grub_machine_init): Don't check amount of low memory as reportedly
5333 INT 12h can be broken and if low memory is too low we wouldn't have
5334 gotten into grub_machine_init anyway.
5335
c49849cc
VS
53362011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
5339 (grub_machine_mmap_iterate): Take low memory into account
5340
b1969b30
VS
53412011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5342
5343 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
5344 badfs.
5345 Reported by: TiCPU.
5346
cf0eaf13
VS
53472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
5350 members errors.
5351
1f060f39
GS
53522011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5353
5354 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
5355 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
5356
a21e5672
GS
53572011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5358
5359 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
5360 openbsd and netbsd types being in part_bsd module.
5361
c88172fa
VS
53622011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5363
5364 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
5365 (_FILE_OFFSET_BITS): Likewise.
5366 Reported by: Seth Goldberg.
5367
53798c4b
GS
53682011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5369
5370 * configure.ac: Check for libdevmapper header.
5371
e7121b69
VS
53722011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5373
5374 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
5375 avoid aliasing.
5376 (fzap_lookup): Likewise.
5377 (dnode_get): Likewise.
5378 (make_mdn): Likewise.
5379 (zfs_mount): Likewise.
5380 (fzap_iterate): Use temporary pointer to avoid aliasing.
5381 (grub_zfs_read): Likewise.
5382 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
5383 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
5384 pointers to avoid aliasing.
5385 (grub_cmd_xnu_kernel64): Likewise.
5386 (grub_xnu_load_driver): Likewise.
5387
fc836af9
VS
53882011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5389
5390 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
5391 aliasing warning.
5392 (grub_cmd_terminal_output): Likewise.
5393 Reported and tested by: Grégoire Sutre.
5394
f9f37648
VS
53952011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
5398 warning.
5399 Reported and tested by: Grégoire Sutre.
5400
ec1dfd63
VS
54012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * configure.ac: Do CPU substitution even if it's specified explicitly.
5404 Reported and tested by: Alain Greppin.
5405
9462775a
VS
54062011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
5409 Reported and tested by: Alain Greppin.
5410
0fd48e35
VS
54112011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 Satisfy some bison versions need for inttypes.h.
5414
5415 * grub-core/lib/posix_wrap/inttypes.h: New file.
5416 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
5417 (int16_t): Likewise.
5418 (int32_t): Likewise.
5419 (int64_t): Likewise.
5420 Reported and tested by: Alain Greppin.
5421
43f1bc83
VS
54222011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
5425 Silence spurious warning.
5426 Reported and tested by: Alain Greppin.
5427
64d1f041
SJ
54282011-01-07 Szymon Janc <szymon@janc.net.pl>
5429
5430 * docs/grub.texi (Support automatic decompression): Update with xz
5431 decompression support.
5432
25953e10
SJ
54332011-01-07 Szymon Janc <szymon@janc.net.pl>
5434
5435 Improve loaders' kernel command line handling.
5436
5437 * grub-core/lib/cmdline.c: New file.
5438 * include/grub/lib/cmdline.h: Likewise.
5439 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
5440 grub_create_loader_cmdline to create kernel command line.
5441 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5442 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
5443 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
5444 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
5445 (linux): Add lib/cmdline.c on common.
5446
e72d259f
VS
54472011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
5450 inopos might be unaligned.
5451
c0cf26da
VS
54522011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5455 endian transformations.
5456 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5457 Based on report by: Doug Nazar.
5458
0ca09e6c
DN
54592011-01-07 Doug Nazar <nazard.michi@gmail.com>
5460
5461 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
5462 array->members[i].start_sector.
5463 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5464
014b6806
VS
54652011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
5468 Reported and tested by: Grégoire Sutre.
5469
415502c2
CW
54702011-01-06 Colin Watson <cjwatson@ubuntu.com>
5471
5472 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
5473 avoid causing test failures by clearing the screen.
5474
71b6a2b7
CW
54752011-01-06 Colin Watson <cjwatson@ubuntu.com>
5476
5477 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5478 Fix prefix check to handle the case where dir ends with a slash
5479 (most significantly, "/" itself).
5480 Reported by: Michael Vogt.
5481
b3f8d28a
VS
54822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5483
5484 Run terminfo_cls on initing terminfo output to clear the screen and
5485 move the cursor to (0,0).
5486
5487 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
5488 Call grub_terminfo_output_init.
5489 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
5490 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
5491 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
5492
4c3e4f37
VS
54932011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
5496 only when needed.
5497
488f71f1
VS
54982011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5501 CTRL.
5502
18a38098
VS
55032011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 The E820 type 5 is BADRAM, not EXEC_CODE.
5506
5507 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5508 (GRUB_E820_BADRAM): New define.
5509 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5510 into reserved. Propagate BADRAM.
5511 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5512 (GRUB_E820_BADRAM): New define.
5513
9eae2084
VS
55142011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5517 Ignore the memory post-4G.
5518 (grub_relocator_firmware_alloc_region): Additional debug statement.
5519
ebc71d28
VS
55202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5523 names.
5524 Reported by: David Pravec.
5525
446fa400
VS
55262011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5527
5528 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5529 BIOSes.
5530
a0159f37
VS
55312011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5532
5533 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5534 Prevent overflow.
5535 (grub_reed_solomon_recover): Likewise.
5536
e5146ca1
VS
55372011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5540
55412011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
5542
5543 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5544 variable.
5545
5b1bdf12
CW
55462011-01-04 Colin Watson <cjwatson@ubuntu.com>
5547
5548 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5549 descriptions of extract_legacy_entries_source and
5550 extract_legacy_entries_configfile.
5551 Reported by: Seung Soo, Ha.
5552
99d925aa
CW
55532011-01-03 Colin Watson <cjwatson@ubuntu.com>
5554
5555 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5556 on devices that do not implement function 0.
5557
4af0504b
DV
55582011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5559
5560 * grub-core/fs/hfsplus.c: Make parent unsigned.
5561 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5562 overflows.
5563 (grub_hfsplus_cmp_extkey): Likewise
5564
469ee10a
VS
55652011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * util/grub-install.in: Correctly use bootloader_id and not
5568 GRUB_DISTRIBUTOR on efibootmgr line.
5569
323a8e9c
VS
55702011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5573
1b394975
IC
55742010-12-31 Ian Campbell <ijc@hellion.org.uk>
5575
5576 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5577 Xen and reorder menu item wording to make it clearer that this entry
5578 will launch Xen. Print separate messages when loading Xen and
5579 Linux.
5580
275bff5f
VS
55812010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5582
5583 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5584 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5585 loop in case of incorrect amiga partmap.
5586
307806cb
VS
55872010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5590 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5591 Reported by:EHeM.
5592
b12b923e
VS
55932010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5596 spurious warning.
5597 Reported by: crocket
5598
14b48a19
VS
55992010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5602 Preload EFIemu.
5603 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5604
693db2df
VS
56052010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5608 is loaded
5609 (grub_cmd_xnu_kextdir): Likewise.
5610 (grub_cmd_xnu_splash): Likewise.
5611
c7638645
VS
56122010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 Avoid using Reed-Solomon with 0 redundancy.
5615
5616 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5617 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5618 or 0 redundancy.
5619 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5620 (grub_reed_solomon_recover): Likewise.
5621
25dd4780
VS
56222010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 Don't use disk subsystem in freebsd_boot.
5625
5626 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5627 (freebsd_biosdev): Likewise.
5628 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5629 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5630
0b2db943
VS
56312010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5632
5633 Handling of files of unknown size is currently limited. They can't be
5634 used e.g. for initrd or modules. Moreover gzip handling of not
5635 easily seekable files is buggy. Disable unknown file size for now. May
5636 be inefficient but works.
5637
5638 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5639 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5640
5c408d0f
MP
56412010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5642
5643 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5644 floppy probe.
5645
190a011a
JD
56462010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5647
5648 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5649
022d01b8
SL
56502010-12-25 Shea Levy <shlevy>
5651
5652 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5653
c4855fdc
VS
56542010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5657 Windows Server 2008.
5658 Reported by: Devin Giddings.
5659
0354b867
VS
56602010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5663 writing an error message because of async power management.
5664 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5665 (grub_reboot): Likewise.
5666
ab66c69f
JU
56672010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5668
5669 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5670 keep unit tests from failing when they shouldn't.
5671
1426ef35
CW
56722010-12-21 Colin Watson <cjwatson@ubuntu.com>
5673
5674 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5675 previous patch increased the size of the RS code by 20 bytes (at
5676 least with gcc-4.4), so increase this by 20 bytes to match.
5677 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5678
20641b6b
CW
56792010-12-21 Colin Watson <cjwatson@ubuntu.com>
5680
5681 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5682 scratch area. Make sure to initialise chosen in standalone mode as
5683 well as non-standalone.
5684 Reported by: Robert Hooker and Andy Whitcroft.
5685 Tested by: Andy Whitcroft.
5686
d060ad60
CW
56872010-12-21 Colin Watson <cjwatson@ubuntu.com>
5688
5689 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5690 constructing a new unescaped string and passing it to grub_xputs in
5691 one go, rather than passing characters to grub_printf one at a time.
5692
b889cfad
CW
56932010-12-21 Colin Watson <cjwatson@ubuntu.com>
5694
5695 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5696 initialising utf16.
5697
4e01b6c8
CW
56982010-12-21 Colin Watson <cjwatson@ubuntu.com>
5699
5700 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5701 comment. Add an extra layer of quotation, requiring the output of
5702 this function to be used in a printf format string.
5703 (gettext_printf): New function.
5704 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5705 Extract translatable strings from here-documents and use a temporary
5706 variable instead, so that xgettext can find them.
5707 * util/grub.d/10_kfreebsd.in: Likewise.
5708 * util/grub.d/10_linux.in: Likewise.
5709 * util/grub.d/20_linux_xen.in: Likewise.
5710
5711 * po/grub.d.sed: New file.
5712 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5713 arguments. Set c-format flags on all strings extracted from
5714 util/grub.d/ (xgettext refuses to include these itself for strings
5715 it extracted from a shell file, but these really are c-format).
5716
5318fe98
VS
57172010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5718
5719 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5720 Avoid next pointing to nowhere.
5721
6c85b743
VS
57222010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5725 rather than assuming than rootblock is exactly in the middle.
5726 (grub_affs_label): Likewise.
5727
a2a08a35
VS
57282010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5729
5730 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5731 reserved_first_sector to 0.
5732 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5733 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5734 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5735
7059d1ec
VS
57362010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 Fix handling of UTF-16 UDF labels.
5739
5740 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5741 (read_string): .. here.
5742 (grub_udf_label): Use read_string.
5743
30aff4cb
BC
57442010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5745
5746 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5747 editor under argument scope.
5748 Reported by: Jordan Uggla
5749
5cf86f4b
VS
57502010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5753
32570200
CW
57542010-12-18 Colin Watson <cjwatson@ubuntu.com>
5755
5756 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5757 line, and other keys scroll an entire page (previous handling was
5758 for \r and \n to scroll a page and other keys to scroll two lines).
5759
e1dffcf2
VS
57602010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5763 Set ptrdest to correct get_physical_target_address rather than
5764 incorrect get_virtual_current_address.
5765
b04298cf 57662010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5767
5768 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5769 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5770
5367ecd3
CW
57712010-12-10 Colin Watson <cjwatson@ubuntu.com>
5772
5773 * .bzrignore: Ignore grub-core/rs_decoder.S.
5774
1fb430f8
CW
57752010-12-10 Colin Watson <cjwatson@ubuntu.com>
5776
5777 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5778 .mo/.mo.gz opening sequence to ...
5779 (grub_mofile_open_lang): ... here.
5780 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5781 * util/grub.d/00_header.in (grub_lang): Include country part of
5782 locale.
5783 Reported by: Mario Limonciello.
5784
a94a6671
RM
57852010-12-09 Robert Millan <rmh@gnu.org>
5786
5787 * NEWS: Document addition of ZFS support.
5788
24b7938b
CW
57892010-12-04 Colin Watson <cjwatson@ubuntu.com>
5790
5791 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5792 rather than `/ 2', as the latter requires -Wa,--divide which would
5793 require bumping our minimum binutils version.
5794
bddc3ef6
BC
57952010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5796
5797 * util/grub-script-check.c (main): Print script line number on
5798 error.
5799
bf78d5b2
RM
58002010-12-01 Robert Millan <rmh@gnu.org>
5801
5802 * grub-core/fs/zfs/zfs.c: New file.
5803 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5804 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5805 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5806 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5807
5808 * include/grub/zfs/dmu.h: Likewise.
5809 * include/grub/zfs/dmu_objset.h: Likewise.
5810 * include/grub/zfs/dnode.h: Likewise.
5811 * include/grub/zfs/dsl_dataset.h: Likewise.
5812 * include/grub/zfs/dsl_dir.h: Likewise.
5813 * include/grub/zfs/sa_impl.h: Likewise.
5814 * include/grub/zfs/spa.h: Likewise.
5815 * include/grub/zfs/uberblock_impl.h: Likewise.
5816 * include/grub/zfs/vdev_impl.h: Likewise.
5817 * include/grub/zfs/zap_impl.h: Likewise.
5818 * include/grub/zfs/zap_leaf.h: Likewise.
5819 * include/grub/zfs/zfs.h: Likewise.
5820 * include/grub/zfs/zfs_acl.h: Likewise.
5821 * include/grub/zfs/zfs_znode.h: Likewise.
5822 * include/grub/zfs/zil.h: Likewise.
5823 * include/grub/zfs/zio.h: Likewise.
5824 * include/grub/zfs/zio_checksum.h: Likewise.
5825
5826 * Makefile.util.def: Build ZFS into libgrubmods.
5827 * grub-core/Makefile.core.def: Build zfs.mod.
5828
3f0f3831
SJ
58292010-11-30 Szymon Janc <szymon@janc.net.pl>
5830
5831 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5832 variable.
5833 * grub-core/commands/wildcard.c (match_files): Likewise.
5834
3a4253b2
RM
58352010-11-30 Robert Millan <rmh@gnu.org>
5836
5837 * grub-core/loader/i386/bsd.c
5838 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5839 whether kernel is loaded using grub_loader_is_loaded(), rather
5840 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5841 certain error conditions.
5842
8c317b27
RM
58432010-11-30 Robert Millan <rmh@gnu.org>
5844
c5c9cd3e
RM
5845 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5846 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 5847
49d3ab46
VS
58482010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 Avoid using tricks for initialising endian variables.
5851
5852 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5853 Make const.
5854 (GRUB_MOD_INIT): Don't byte-swap.
5855 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5856 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5857 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5858 (grub_swap_bytes32_compile_time): Likewise.
5859 (grub_cpu_to_le32_compile_time): Likewise.
5860 (grub_cpu_to_le16_compile_time): Likewise.
5861
f420a804
VS
58622010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * util/grub-setup.c (setup): Stop recommending --force. People who
5865 understand the dangers of blocklists are able to find this option
5866 anyway and the ones who don't shouldn't use it anyway.
5867
4e7db17b
RM
58682010-11-26 Robert Millan <rmh@gnu.org>
5869
5870 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5871 Update all users.
5872
9be57a0d
CW
58732010-11-26 Colin Watson <cjwatson@ubuntu.com>
5874
5875 Fix LVM-on-RAID probing.
5876
5877 * util/grub-probe.c (probe): Remember which disk was detected as
5878 RAID (perhaps an LVM physical volume). Use that disk's raidname
5879 rather than that of the top-level disk.
5880
2c7859b3 58812010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 5882
d7647bb6
BC
5883 Fix cmdline argument quotes for setparams command of menuentry
5884 definitions.
7e623b0d
BC
5885
5886 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5887 quotes for arguments.
f866fe80 5888 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 5889 grub_strchrsub function instead.
f866fe80 5890
7955bea0 5891 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 5892
74f72a64
CW
58932010-11-24 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5896 effort by skipping "." and ".." entries up-front.
5897 Suggested by: Michael Lazarev.
5898
5a407278
CW
58992010-11-24 Colin Watson <cjwatson@ubuntu.com>
5900
5901 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5902 ldflags to ldadd, to fix link line ordering.
5903 (none_decompress): Likewise.
5904
3030d8ec
CW
59052010-11-24 Colin Watson <cjwatson@ubuntu.com>
5906
5907 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5908 platforms.
5909 (grub-emu-lite): Remove kern/emu/cache.S.
5910
b7fbac12
CW
59112010-11-23 Colin Watson <cjwatson@ubuntu.com>
5912
5913 * util/deviceiter.c (compare_devices): If the by-id link for a
5914 device couldn't be resolved, fall back to sorting by the by-id link
5915 rather than segfaulting.
5916 Reported and tested by: Daniel Mierswa.
5917
5225f328
CW
59182010-11-23 Colin Watson <cjwatson@ubuntu.com>
5919
5920 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5921 ldflags, to fix link line ordering.
5922
038b3ce8
CW
59232010-11-23 Colin Watson <cjwatson@ubuntu.com>
5924
5925 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5926 linkers are picky about this.
5927
bf16e98e
CW
59282010-11-23 Colin Watson <cjwatson@ubuntu.com>
5929
5930 * grub-core/Makefile.am (command.lst): Adjust sed expression
5931 ordering so that extended and priority commands aren't treated as
5932 ordinary commands.
5933
7242bab6
CW
59342010-11-23 Colin Watson <cjwatson@ubuntu.com>
5935
5936 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5937 Remove byte-swapping function calls, which are not valid in
5938 structure initialisers.
5939 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5940 non-const.
5941 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5942 grub_gpt_partition_type_bios_boot.
5943
14e8b279
CW
59442010-11-22 Colin Watson <cjwatson@ubuntu.com>
5945
5946 Fix test program build on GNU/kFreeBSD.
5947
5948 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5949 $(LIBNVPAIR)' library dependencies.
5950
e6f63338 59512010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
5952
5953 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5954
cf8ffc38
CW
59552010-11-22 Colin Watson <cjwatson@ubuntu.com>
5956
5957 * util/grub-install.in: Remove excessive quoting that broke
5958 installations to RAID devices.
5959
7f8b0fd7
VS
59602010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5963 bootloader version instead of 0.
5964
dfd240b1
VS
59652010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5968 warning.
5969
7b61e609
VS
59702010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5973 retrieve the metadat sector if size isn't known.
5974 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5975
9dfe92d0
RM
59762010-11-18 Robert Millan <rmh@gnu.org>
5977
5978 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5979 with grub_memcmp().
5980
41cc919e
VS
59812010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5984 arrow.
5985 Reported by: Jordan Uggla.
5986
1afcc914
VS
59872010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 Make better UTF compliant.
5990
5991 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5992 sequences as incorrect.
5993 (grub_is_valid_utf8): Likewise.
5994 (grub_utf8_to_ucs4): Likewise.
5995 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5996 (grub_ucs4_to_utf8_alloc): Likewise.
5997 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5998
f1808884
VS
59992010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 Make legacy_source behave like source.
6002
6003 * grub-core/commands/legacycfg.c (legacy_file): Don't call
6004 grub_show_menu.
6005 (grub_cmd_legacy_source): Call grub_show_menu if needed.
6006
24ec575b
CW
60072010-11-16 Colin Watson <cjwatson@debian.org>
6008
6009 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
6010 (-Wunused implies -Wunused-parameter, but not vice versa).
6011
72b7c7aa
CW
60122010-11-16 Colin Watson <cjwatson@ubuntu.com>
6013
6014 * configure.ac: Make error messages less confusing by testing for
6015 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
6016 accepted, but produces a diagnostic if something else is wrong).
6017
e98937aa
VS
60182010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
6021 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
6022 (now unused).
6023 (grub_keyboard_controller_init)
6024 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
6025 read the initial state since controller isn't inited yet.
6026
f6bbabc3
VS
60272010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
6030 allocate_regbeg may need to create new chunk header.
6031
22e7dbb2
VS
60322010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6033
6034 Fix quoting in legacy parser.
6035
6036 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
6037 single quotes.
6038 (grub_legacy_parse): Likewise.
6039 Reported by: Jordan Uggla.
6040 Tested by: Jordan Uggla.
6041
03f80960
VS
60422010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 Don't add -lgcc on i386 and x86_64.
6045
6046 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
6047 * conf/Makefile.common (LDADD_KERNEL): Likewise.
6048 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
6049
779dc15b
VS
60502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * configure.ac: Add -Wno-trampolines when supported.
6053
d20a3b37
MV
60542010-11-14 Modestas Vainius <modax@debian.org>
6055
6056 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
6057 fakeraid.
6058
e5360933
GC
60592010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6060
6061 Add generic logical block size support for UDF.
6062
6063 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
6064 (GRUB_UDF_BLKSZ): Removed.
6065 (struct grub_udf_data): New field "lbshift" to hold the logical block
6066 size of the file system in log2 format. All users updated.
6067 (sblocklist): Change type to unsigned.
6068 (grub_udf_mount): Change type of "sblklist" to unsigned.
6069 Move AVDP search before VRS recognition, because the latter requires
6070 knowledge of the logical block size, which is detected during the
6071 former.
6072 Detect and validate logical block size during AVDP search, adding
6073 support for block sizes 512, 1024 and 4096.
6074 Make VRS recognition independent of block size.
6075
cb0229c5
GC
60762010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6077
6078 Properly handle deleted files on UDF.
6079
6080 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
6081 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
6082 set.
6083
406858a8
GC
60842010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
6085
6086 Support reading files larger than 2 GiB.
6087
6088 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
6089 "offset" to grub_off_t.
6090 (grub_udf_read_file): Likewise for parameter "pos".
6091
130da6a7
VS
60922010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6093
6094 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
6095 unavailable.
6096 (Simple configuration): Refer to Changes from GRUB Legacy about
6097 save_env availability.
6098
65e93f6b
VS
60992010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * util/grub-install.in: Ignore empty partition table detection
6102 instead of trying to include part_ module.
6103
1fd08bf1
VS
61042010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
6107 LVM on RAID support.
6108
de1a024f
VS
61092010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
6110
6111 Properly define WORDS_BIGENDIAN in wrapped environments.
6112
6113 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
6114 definition.
6115 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
6116
6117 Reported by: Manoel Rebelo Abranches.
6118 Tested by: Manoel Rebelo Abranches.
6119
bc5dd0b9
VS
61202010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * util/grub-mkconfig.in: Fix quoting.
6123
58c184be
VS
61242010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6125
6126 Support big ext2 files.
6127
6128 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
6129 (grub_ext2_read_block): Support triple indirect blocks.
6130 (grub_ext2_read_file): Use 64-bit types and read size_high.
6131 (grub_ext2_open): Read size_high.
6132 Reported by: Ximin Luo.
6133 Tested by: Manoel Rebelo Abranches.
6134
5f0c02b3
VS
61352010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6136
6137 * util/grub-install.in: Handle filenames containing spaces.
6138 Reported by: Jordan Uggla.
6139 Tested by: Jordan Uggla.
6140
4417aae6
VS
61412010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * util/grub-mkconfig.in (grub_script_check): New variable.
6144 Use grub_script_check instead of grub-script-check.
6145 Reported by: Barry Jackson.
6146
7625a68e
VS
61472010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * docs/grub.texi (menu): Correct the order.
6150 Reported by: D. Hugh Redelmeier.
6151
10001ac5
VS
61522010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
6155 jump.
6156
9c4cf53b
MRA
61572010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
6158
10001ac5
VS
6159 * include/grub/elfload.h (grub_elf32_size): New parameter.
6160 All users updated.
9c4cf53b
MRA
6161 Return maximum segments alignment.
6162 (grub_elf64_size): Likewise.
6163 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
6164 Return maximum segments alignment.
6165 (grub_elf64_size): Likewise.
6166 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
6167 (grub_linux_claimmap_iterate): New function. Uses the
6168 "available" property in the "memory" node for memory allocation
6169 for kernel in the PowerPC loader.
9c4cf53b
MRA
6170 (grub_linux_load32): Correctly find linux entry point offset.
6171 (grub_linux_load64): Likewise.
6172
d2bf06bf
RM
61732010-11-07 Robert Millan <rmh@gnu.org>
6174
6175 On mips-yeeloong, build with -march=loongson2f when this flag is
6176 available (GCC >= 4.4).
6177 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
6178 `-march=mips3'.
6179 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
6180 or otherwise add -march=mips3.
6181
898c99a2
BC
61822010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
6183
87220a68
BC
6184 Suppress shell expansion on echo '*' and echo "*" like cases.
6185 Reported by: Jordan Uggla.
898c99a2
BC
6186
6187 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
6188 string arguments before shell expansion.
6189 * tests/grub_cmd_echo.in: New testcases.
6190
4f9b406a
RM
61912010-11-07 Robert Millan <rmh@gnu.org>
6192
6193 * conf/mips-qemu-mips.rmk: Remove stale file from previous
6194 transition.
6195
80c6d25e
VS
61962010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * grub-core/kern/emu/hostdisk.c
6199 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
6200
4a1a0153
VS
62012010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
6204 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
6205 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
6206
34706ddc
VS
62072010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
6210
6972dea9
VS
62112010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * util/grub-install.in: Replace useless recomendation to pass
6214 --modules with a recomendation to report a bug.
6215
9c693bd6
VS
62162010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 Properly register serial terminfo.
6219 Reported by: Jordan Uggla
6220
6221 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
6222 const.
6223 (grub_serial_terminfo_output_template): Likewise.
6224 (grub_cmd_serial): Register "serial" with terminfo.
6225 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
6226 grub_serial_terminfo_output.
6227
6c9e4c0c
RM
62282010-11-05 Robert Millan <rmh@gnu.org>
6229
6230 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
6231 needed).
6232
b9b3839f
RM
62332010-11-05 Robert Millan <rmh@gnu.org>
6234
6235 On Yeeloong, pass machine type information to Linux.
6236
6237 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
6238 (LOONGSON_MACHTYPE): New macro, set to
6239 "machtype=lemote-yeeloong-2f-8.9inches".
6240 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
6241 additional argument to Linux.
6242
1a3aaff4
RM
62432010-11-04 Robert Millan <rmh@gnu.org>
6244
6245 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
6246 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
6247 (its SATA disks are detected as slaveless IDE master drives on
6248 kFreeBSD).
6249 Reported by Carsten Aulbert.
6250
a75f4f62
CW
62512010-11-02 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * util/bin2h.c (main): Fix spelling error in generated output.
6254
33b4b0c6
GS
62552010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
6256
6257 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
6258
2b36fbf4
VS
62592010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
6262 vga= option is supplied.
6263
74aaf558
VS
62642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
6267 * util/grub.d/10_kfreebsd.in: Likewise.
6268 * util/grub.d/10_linux.in: Likewise.
6269 * util/grub.d/20_linux_xen.in: Likewise.
6270
6428dec3
VS
62712010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
6274 argument as an argument to no-argument option.
6275
f8729d98
VS
62762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * util/grub.d/10_linux.in: Add missing load_video with explicit
6279 GRUB_GFXPAYLOAD_LINUX.
6280
89d68fa6
VS
62812010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6282
6283 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
6284
3a1197cd
VS
62852010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
6288 elements with invlid index.
6289 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6290 * grub-core/disk/raid.c (insert_array): Automatically reallocate
6291 members.
6292 * include/grub/raid.h (grub_raid_member): New struct.
6293 (grub_raid_array): Transform devices and start_sector into usage of
6294 grub_raid_member. All users updated
6295 (allocated_devs): New member.
6296
71574288
VS
62972010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
6300 is modified
6301
8d40ec65
BC
63022010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
6303
6304 NetBSD build fix for getline function conflict from gnulib.
6305
6306 * Makefile.util.def (libgrubkern.a): New library for grub kernel
6307 components that depend on gnulib headers.
6308 (libgrubmods.a): Renamed from earlier libgrub.a.
6309 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
6310
95b9257e
VS
63112010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
6314 install rather than creating a broken install.
6315
26c53dc6
VS
63162010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6317
6318 * util/grub-setup.c (argp): Remove misleading example of installing to
6319 a partition.
6320
4171b3c5
VS
63212010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * util/grub-setup.c (setup): Clarify the error message.
6324
18568d18
VS
63252010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
6328
4f6a2e21
VS
63292010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * grub-core/kern/emu/misc.c
6332 (grub_make_system_path_relative_to_its_root)
6333 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
6334
63352010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
6336
6337 * grub-core/kern/emu/misc.c
6338 (grub_make_system_path_relative_to_its_root): Revert r2882.
6339
e138c458
VS
63402010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
6341
6342 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
6343 useless field head. All users updated.
6344 (free_subchunk): Correct handling of IN_REGION subchunk.
6345
0cbcdf0e
CW
63462010-10-22 Colin Watson <cjwatson@ubuntu.com>
6347
6348 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
6349 (Supported kernels): Likewise.
6350
b65ea155
GS
63512010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6352
6353 Make mktemp invocations portable.
6354
6355 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
6356 exit if mktemp fails.
6357 * tests/grub_script_blockarg.in: Likewise.
6358 * tests/partmap_test.in: Likewise.
6359 * tests/util/grub-shell-tester.in: Likewise.
6360 * tests/util/grub-shell.in: Likewise.
6361 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6362 * Makefile.am: Likewise, and chain shell commands with `&&'
6363 instead of ';'.
6364 * util/grub-mkrescue.in: Use the same explicit template as above, and
6365 exit if mktemp fails.
6366
05f43cdd
BC
63672010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
6368
6369 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
6370 Linux kernel, reported by Dennis Schridde.
6371
800e6a9b
SJ
63722010-10-17 Szymon Janc <szymon@janc.net.pl>
6373
6374 * grub-core/normal/auth.c (grub_auth_check_authentication):
6375 Set-but-not-used variable removed.
6376
d82df574
VS
63772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 * docs/grub.texi (GNU/Linux): Document APM unavailability with
6380 32-bit linux protocol.
6381
7bced458
VS
63822010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
6385 cursor shape for sanity.
6386
5b027690
VS
63872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * docs/grub.texi (Installation): Document buggy BIOS install.
6390
ba5f65cf
VS
63912010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * docs/grub.texi (Installation): Indent.
6394
fdf2ec9c
VS
63952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * util/grub-setup.c (setup): New parameter allow_floppy.
6398 (arguments): New member allow_floppy.
6399 (argp_parser): Handle --allow-floppy.
6400 (main): Pass allow_floppy.
6401 * util/grub-install.in: New option --allow-floppy passed though to
6402 grub-setup.
6403
861dfd4c
VS
64042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * util/grub-install.in: Handle partitionless disks.
6407
f77a8c24
VS
64082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * util/grub-setup.c (setup): Don't clean blocklists before readability
6411 verfification.
6412
27d9ee32
VS
64132010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * docs/grub.texi (Installation): Document embedding zone. Remove
6416 obsolete grub-install example.
6417
6bdda8f8
SJ
64182010-10-16 Szymon Janc <szymon@janc.net.pl>
6419
6420 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6421 Set-but-not-used variable ifdef'ed.
6422 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
6423 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
6424 variable removed.
6425 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
6426 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
6427 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6428 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
6429 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
6430 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6431 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
6432 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
6433 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6434 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
6435 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
6436 Likewise.
6437
e19b016b
VS
64382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
6441 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
6442 enum value.
6443
6c8d3002
VS
64442010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
6447 synonym to _S5_. Needed for some DSDTs.
6448
c32b51c9
VS
64492010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Userspace ACPI parser debugging.
6452
6453 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
6454 headers and add relevant defines. Don't include standard headers.
6455 (main) [GRUB_DSDT_TEST]: New function.
6456 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
6457 Don't declare functions.
6458
fbfbeb39
VS
64592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 Remove dead grub_efi_mm_fini.
6462
6463 * grub-core/kern/efi/mm.c (allocated_page): Removed.
6464 (ALLOCATED_PAGES_SIZE): Likewise.
6465 (MAX_ALLOCATED_PAGES): Likewise.
6466 (allocated_pages): Likewise.
6467 (grub_efi_allocate_pages): Don't record allocated pages.
6468 (grub_efi_free_pages): Likewise.
6469 (grub_efi_mm_init): Likewise.
6470 (grub_efi_mm_fini): Removed.
6471
65f7ed7c
VS
64722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
6475 (grub_efi_mm_init): Take into account the memory map size increase.
6476
24977b44
VS
64772010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
6480 (serial_hw_put): Wait based on real time rather than port reads. Don't
6481 roken ports.
6482 * include/grub/serial.h (grub_serial_port): New field broken.
6483
1eb01cd2
RM
64842010-10-16 Robert Millan <rmh@gnu.org>
6485
6486 * grub-core/kern/emu/misc.c
6487 (grub_make_system_path_relative_to_its_root): Fix premature return
6488 when processing non-root ZFS filesystems.
5f8b440b 6489 Reported by Sergio Talens-Oliag.
1eb01cd2 6490
2d5fed60
RM
64912010-10-15 Robert Millan <rmh@gnu.org>
6492
6493 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
6494 guarantee compressed ones are processed first.
6495
d0f4c1ea
VS
64962010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
6499 grub_efiemu_autocore.
6500
d87c681f
VS
65012010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6504 rather than 0x1b.
6505 (grub_console_getkey): Use correct jae opcode rather than ja.
6506
219b3564
RM
65072010-10-12 Robert Millan <rmh@gnu.org>
6508
6509 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6510 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6511 variable. All references updated.
6512
6513 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6514
20c6bb7e
VS
65152010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6516
6517 Correctly distinguish mdraid flavours.
6518
6519 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6520 (insert_array): New argument raid.
6521 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6522 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6523 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6524
74baff84
VS
65252010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6528 handling of special keys.
6529
3ef068df 65302010-10-02 Aleš Nesrsta <starous@volny.cz>
6531
c7980ad9
VS
6532 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6533 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 6534
a9455194 65352010-10-02 Aleš Nesrsta <starous@volny.cz>
6536
c7980ad9
VS
6537 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6538 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6539 users updated.
a9455194 6540 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 6541 Use right endpoint when querying descriptor.
a9455194 6542
441cfe65
VS
65432010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 Clear out 0x80 color bit on EFI.
6546 Tested by: decoder
6547 Reported by: decoder and meta tech.
6548
6549 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6550 (grub_console_setcolorstate): Clear out 0x80 bit.
6551 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6552 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6553 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6554
bf26bcc4
VS
65552010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6558 Set to "auto".
6559
6e3c515d
VS
65602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6563 mo_file after freeing.
6564
e6d983ba
VS
65652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6568
74ccb5b5
VS
65692010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6572 flags.
6573
17821956
VS
65742010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6575
6576 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6577 usage.
6578
ee74fa48
VS
65792010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6582
6583 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6584 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6585 and terminfo.h when needed.
6586 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6587 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6588 (terminfo): Enable only on terminfokernel.
6589 (extcmd): Likewise.
6590 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6591 * include/grub/lib/arg.h: Likewise.
6592 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6593 incorrect usage of ->.
6594
aa438e68
VS
65952010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6596
6597 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6598 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6599
57994012
VS
66002010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 Fix coreboot compilation.
6603
6604 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6605 Take VBE info into account even if only text is supported.
6606 (fill_vbe_info): Take into account the case when only VGA text
6607 is supported.
6608 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6609 on coreboot, multiboot and qemu.
6610
2a406611
VS
66112010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6614 debug messages.
6615 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6616
d33613fc
VS
66172010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6618
6619 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6620 parameters.
6621
44a1b432
VS
66222010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6625 if they were BSD-style.
6626
edde54e6
VS
66272010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/boot/i386/pc/lnxboot.S: Replace
6630 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6631 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6632
b65830fa
VS
66332010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 Write embedding zone using Reed-Solomon.
6636
6637 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6638 * grub-core/Makefile.am (rs_decoder.S): New target.
6639 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6640 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6641 (multiboot): Move to RS part.
6642 (post_reed_solomon): New label.
6643 (grub_boot_drive): Move to non-RS part since it's modified in memory
6644 on boot.
6645 Include rs_decoder.S.
6646 * grub-core/lib/reed_solomon.c: New file.
6647 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6648 New definition.
6649 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6650 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6651 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6652 * include/grub/partition.h (grub_partition_map): Change prototype of
6653 embed to allow returning additional sectors.
6654 * include/grub/reed_solomon.h: New file.
6655 * util/grub-setup.c (setup): Handle Reed-Solomon.
6656
0b4b227f
CW
66572010-09-28 Colin Watson <cjwatson@ubuntu.com>
6658
6659 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6660 i386 and x86-64 definedness tests.
6661
f772623b
YB
66622010-09-27 Yves Blusseau <blusseau@zetam.org>
6663
6664 Fix generation of kernel_syms.lst
6665
6666 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6667 ASM_PREFIX
6668
8e57a6ca
RM
66692010-09-26 Robert Millan <rmh@gnu.org>
6670
6671 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6672
6673 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6674 the pool is an array of devices, iterate through it and return the
6675 first device that passes a stat() test (instead of blindly returning
6676 the first one).
6677
f9130836
RM
66782010-09-26 Robert Millan <rmh@gnu.org>
6679
6680 Build fixes for GNU/kFreeBSD.
6681
6682 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6683 to programs that require ZFS conversion.
6684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6685 kernels that don't have FLOPPY_MAJOR.
6686
96510faf
BC
66872010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6688
6689 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6690
449333eb
BC
66912010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6692
6693 Fix grub-emu build.
6694
6695 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6696 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6697 mdraid09 and mdraid1x.
6698
e1fd1939
CW
66992010-09-24 Colin Watson <cjwatson@ubuntu.com>
6700
6701 Re-enable grub-extras.
6702
6703 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6704 avoid confusing Automake. Run autogen only twice, once for the top
6705 level and once for grub-core. Add Makefile.util.def and
6706 Makefile.core.def from extra modules to the appropriate autogen
6707 invocations. If Makefile.common exists in an extra module, include
6708 it in both Makefile.util.am and grub-core/Makefile.core.am;
6709 similarly, include any Makefile.util.common file in Makefile.util.am
6710 and any Makefile.core.common file in grub-core/Makefile.core.am.
6711 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6712 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6713 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6714 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6715
6716 * gentpl.py (gvar_add): Turn GVARS into a set.
6717 (global_variable_initializers): Sort global variables on output.
6718 (vars_init): New function.
6719 (first_time): Likewise.
6720 (library): Ensure that non-global variable initialisations are
6721 emitted before the first time we emit code for a library block.
6722 Append to variables rather than setting them. Only emit
6723 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6724 each conditional path.
6725 (program): installdir() emits an Autogen macro, so must be passed to
6726 var_add rather than gvar_add.
6727 (data): Likewise.
6728 (script): Likewise.
6729 (rules): New function, centralising handling for different target
6730 types. Set up Guile association lists for first_time and vars_init,
6731 and send most output to a diversion so that variable initialisations
6732 can be emitted first.
6733 (module_rules): Use new rules function.
6734 (kernel_rules): Likewise.
6735 (image_rules): Likewise.
6736 (library_rules): Likewise.
6737 (program_rules): Likewise.
6738 (script_rules): Likewise.
6739 (data_rules): Likewise.
6740
6741 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6742
6743 * .bzrignore: Add contrib and grub-core/contrib. Remove
6744 grub-core/Makefile.gcry.am.
6745
1d12cf29
YB
67462010-09-24 Yves Blusseau <blusseau@zetam.org>
6747
6748 * grub-core/lib/LzFind.c: Add missing include.
6749 * grub-core/lib/LzmaEnc.c: Likewise.
6750 * grub-core/script/lexer.c: Likewise.
6751 * grub-core/script/yylex.l: Likewise.
6752 * util/grub-macho2img.c: Likewise.
6753 * util/grub-menulst2cfg.c: Likewise.
6754 * util/grub-mklayout.c: Likewise.
6755 * util/grub-mkpasswd-pbkdf2.c
6756 * util/grub-mkrelpath.c: Likewise.
6757 * util/resolve.c: Likewise.
6758
dd363028
BC
67592010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6760
6761 * Makefile.util.def (example_unit_test): Add
6762 grub-core/gnulib/libgnu.a.
6763
f5a109e2
GS
67642010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6765
6766 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6767
6d0fa83c
VS
67682010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 Support xz compression on yeeloong.
6771
6772 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6773 * configure.ac: Check for LZMA.
6774 * grub-core/Makefile.core.def (xz_decompress): New target.
6775 (none_decompress): Likewise.
6776 * grub-core/boot/decompressor/minilib.c: New file.
6777 * grub-core/boot/decompressor/none.c: Likewise.
6778 * grub-core/boot/decompressor/xz.c: Likewise.
6779 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6780 * grub-core/kern/mips/cache_flush.S: Likewise.
6781 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6782 * grub-core/kern/mips/startup.S: Move first stage to ...
6783 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6784 nomacro.
6785 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6786 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6787 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6788 Allocate statically.
6789 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6790 Allocate statically or use scratch. Don't check CRC32.
6791 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6792 Allocate statically. Don't check CRC32.
6793 * include/grub/decompressor.h: New file.
6794 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6795 Removed.
6796 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6797 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6798 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6799 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6800 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6801 * util/grub-mkimage.c (grub_compression_t): New type.
6802 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6803 (image_target_desc): New field default_compression.
6804 (image_targets): Adjust yeeloong targets.
6805 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6806 (compress_kernel): New parameter comp.
6807 (generate_image): Likewise. Handle new compression case.
6808 (options): New option --compression
6809 (help): Likewise.
6810 (main): Handle new option.
6811
1b655af6
GS
68122010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6813
6814 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6815
8f03f0b5
CW
68162010-09-22 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6819 typo in __i386__ conditional.
6820
7835dfd3
VS
68212010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6824 include.
6825
e255597e
VS
68262010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6827
6d0fa83c 6828 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
6829
6830 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6831 new tags as supported.
6832 (acpiv2_size): New function.
6833 (grub_multiboot_get_mbi_size): Take new tags into account.
6834 (grub_multiboot_make_mbi): Add new tags.
6835 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 6836
6cc14051 68372010-09-21 Aleš Nesrsta <starous@volny.cz>
6838
6839 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6840 Added missing configuration of USB device.
6841
df7769d8
CW
68422010-09-21 Colin Watson <cjwatson@ubuntu.com>
6843
6844 * grub-core/normal/menu_entry.c (run): Make sure we always return
6845 a value.
6846
b031012d
CW
68472010-09-21 Colin Watson <cjwatson@ubuntu.com>
6848
6849 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6850 NumberOfPages is UINT64 according to the UEFI specification, not
6851 UINTN. Fix printf format.
6852
174de8f3
CW
68532010-09-21 Colin Watson <cjwatson@ubuntu.com>
6854
6855 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6856 `err' to grub_usb_err_t.
6857 Reported and tested by: KESHAV P.R.
6858
d7dbe923
CW
68592010-09-21 Colin Watson <cjwatson@ubuntu.com>
6860
6861 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6862 tpart non-const, so that we can assign to it. (Since this is a
6863 typedef, the constness refers to the pointer rather than what it
6864 points to.)
6865
8d5e2af3
CW
68662010-09-21 Colin Watson <cjwatson@ubuntu.com>
6867
6868 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6869 $(top_srcdir)/grub-core/gnulib as well as
6870 $(top_builddir)/grub-core/gnulib.
6871 Reported by: KESHAV P.R.
6872
5c527783
CW
68732010-09-21 Colin Watson <cjwatson@ubuntu.com>
6874
6875 * util/grub-install.in: Fix the bootloader ID option to be
6876 consistently --bootloader-id, not --bootloader_id.
6877 Reported by: KESHAV P.R.
6878
d309a16e
CW
68792010-09-21 Colin Watson <cjwatson@ubuntu.com>
6880
6881 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6882 check hash checksum." consistently translatable.
6883
b830cd16
YB
68842010-09-21 Yves Blusseau <blusseau@zetam.org>
6885
6886 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6887 $(top_builddir).
6888
c4fe27a8
CW
68892010-09-21 Colin Watson <cjwatson@ubuntu.com>
6890
6891 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6892 (GRUB_MOD_INIT): Register sha1sum command.
6893 (GRUB_MOD_FINI): Unregister sha1sum command.
6894
a4c1d277
YB
68952010-09-21 Yves Blusseau <blusseau@zetam.org>
6896
6897 Keep boot and grub directory names in sync with utils scripts
6898
6899 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6900 * config.h.in: Add previous macros.
6901 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6902 * util/grub-install.in: Use $bootdir and $grubdir variables.
6903
4eff79d2
CW
69042010-09-21 Colin Watson <cjwatson@ubuntu.com>
6905
6906 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6907 convert partition names to disk names if the new `convert' parameter
6908 is set.
6909 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6910 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6911 disk in its own right. This can happen with Xen disk images.
6912
934d7e44
YB
69132010-09-21 Yves Blusseau <blusseau@zetam.org>
6914
6915 * util/grub-editenv.c: Update strings to avoid warnings when generating
6916 grub.pot file.
6917 * util/grub-setup.c: Likewise.
934d7e44 6918
df3367cc
VS
69192010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * configure.ac: Change version to 1.99~beta0.
6922
77a94e98
VS
69232010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6926 Add BADRAM.
6927 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6928 Likewise.
6929 * include/multiboot.h: Resynced with specification.
6930 * include/multiboot2.h: Likewise.
6931
269004c1
CW
69322010-09-21 Colin Watson <cjwatson@ubuntu.com>
6933
6934 Fix po directory handling.
6935
6936 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6937 * grub-core/gnulib/Makefile.am: Import gettext module.
6938 * m4/gnulib-cache.m4: Likewise.
6939 * m4/gnulib-comp.m4: Likewise.
6940 * m4/gettext.m4: New file, from gnulib.
6941 * m4/glibc2.m4: Likewise.
6942 * m4/iconv.m4: Likewise.
6943 * m4/intdiv0.m4: Likewise.
6944 * m4/intl.m4: Likewise.
6945 * m4/intldir.m4: Likewise.
6946 * m4/intlmacosx.m4: Likewise.
6947 * m4/intmax.m4: Likewise.
6948 * m4/inttypes-pri.m4: Likewise.
6949 * m4/lcmessage.m4: Likewise.
6950 * m4/lib-ld.m4: Likewise.
6951 * m4/lib-link.m4: Likewise.
6952 * m4/lib-prefix.m4: Likewise.
6953 * m4/lock.m4: Likewise.
6954 * m4/nls.m4: Likewise.
6955 * m4/po.m4: Likewise.
6956 * m4/printf-posix.m4: Likewise.
6957 * m4/progtest.m4: Likewise.
6958 * m4/threadlib.m4: Likewise.
6959 * m4/uintmax_t.m4: Likewise.
6960 * m4/visibility.m4: Likewise.
6961 * po/Makefile.am: Remove.
6962 * po/Makefile.in.in: New file, from gettext.
6963 ($(DOMAIN).pot-update): Support POTFILES-shell.
6964 * po/Makevars: New file.
6965 * po/POTFILES-shell: Rename to ...
6966 * po/POTFILES-shell.in: ... this. Update.
6967 * po/POTFILES: Rename to ...
6968 * po/POTFILES.in: ... this. Update.
6969 * po/Rules-quot: New file, from gettext.
6970 * po/boldquot.sed: Likewise.
6971 * po/en@boldquot.header: Likewise.
6972 * po/en@quot.header: Likewise.
6973 * po/insert-header.sin: Likewise.
6974 * po/quot.sed: Likewise.
6975 * po/remove-potcdate.sin: Likewise.
6976
3e0fa5d0
VS
69772010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6980
ade9bd66
VS
69812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 * util/grub.d/20_linux_xen.in: Use submenus.
6984
fc55cc4c
VS
69852010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Support submenus.
6988
6989 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6990 parameter submenu. All users updated.
6991 * grub-core/normal/main.c (free_menu): Rename to ...
6992 (grub_normal_free_menu): ... this. Made global.
6993 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6994 if requested.
6995 * grub-core/normal/menu_entry.c (screen): New field submenu.
6996 (make_screen): Set submenu.
6997 (run): Open new context if requested.
6998 * include/grub/menu.h (grub_menu_entry): New field submenu.
6999 * include/grub/normal.h (grub_normal_free_menu): New proto.
7000
600cedf7
VS
70012010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 Menu entries extractor.
7004
7005 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
7006 variants.
7007 (GRUB_MOD_INIT): Register new variants.
7008 (GRUB_MOD_FINI): Unregister new variants.
7009 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
7010 into grub_cmd_legacy_source.
7011 (grub_cmd_legacy_source): Implement extractor variants.
7012 (GRUB_MOD_INIT): Register new variants.
7013 (GRUB_MOD_FINI): Unregister new variants.
7014 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
7015 as an extractor.
7016 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
7017 search as an extractor.
7018 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
7019 test as an extractor.
7020 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
7021 as an extractor.
7022 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
7023 (grub_env_new_context): New function.
7024 (grub_env_context_open): Likewise.
7025 (grub_env_extractor_open): Likewise.
7026 (grub_env_extractor_close): Likewise.
7027 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7028 grub_extractor_level.
7029 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
7030 * include/grub/env.h (grub_env_extractor_open): New proto.
7031 (grub_env_extractor_close): Likewise.
7032 * include/grub/normal.h (grub_extractor_level): New external variable.
7033
7bda3a87
VS
70342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 Make cutmem accept a region specification.
7037 Suggested by: Samuel Thibault
7038
7039 * grub-core/mmap/mmap.c (parsemem): New function.
7040 (grub_cmd_cutmem): Handle new arguments.
7041
2ea57f88
VS
70422010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7043
7044 New command cutmem.
7045
7046 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
7047 (GRUB_MOD_INIT): Register new command.
7048 (GRUB_MOD_FINI): Unregister new command.
7049
74342e31
VS
70502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7051
7052 Support some annoying BSD and Minix subpartitions.
7053
7054 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
7055 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
7056 Properly handle concatenation.
7057 * grub-core/kern/device.c (grub_device_iterate): Likewise.
7058 * grub-core/normal/completion.c (iterate_partition): Likewise.
7059 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
7060 contain partition. All users updated.
7061 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
7062 struct.
7063 (grub_openbsdlabel_partition_map): Likewise.
7064 (bsdlabel_partition_map_iterate): Rename to ..
7065 (iterate_real): ... this. New arguments sector, freebsd and pmap.
7066 (bsdlabel_partition_map_iterate): New function.
7067 (netopenbsdlabel_partition_map_iterate): Likewise.
7068 (netbsdlabel_partition_map_iterate): Likewise.
7069 (openbsdlabel_partition_map_iterate): Likewise.
7070 (GRUB_MOD_INIT): Register new partmaps.
7071 (GRUB_MOD_FINI): Unregister new partmaps.
7072 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
7073 (grub_partition_msdos_iterate): ... this. All users updated.
7074 Don't support embedding other than in a minix partition.
7075 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
7076 proto.
7077 * include/grub/partition.h (grub_partition): New field msdostype.
7078 * util/grub-install.in: Handle openbsd and netbsd types being in
7079 part_bsd module.
7080
1e8d555b
VS
70812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
7084
7085 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
7086 * grub-core/Makefile.core.def (mdraid): Renamed to ...
7087 (mdraid09): ... this.
7088 (mdraid1x): New module.
7089 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
7090 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
7091
899d8af4
VS
70922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7093
7094 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
7095 vsprintf.
7096
40901acd
CW
70972010-09-20 Colin Watson <cjwatson@ubuntu.com>
7098
7099 * grub-core/commands/efi/lsefimmap.c: Correct header.
7100 * NEWS: Update.
7101
dfe3b247
CW
71022010-09-20 Colin Watson <cjwatson@ubuntu.com>
7103
7104 * util/grub-editenv.c (argp_parser): Don't pass translated strings
7105 as printf format strings; the translations might contain '%' which
7106 could cause a crash.
7107 (main): Likewise.
7108 * util/grub-fstest.c (argp_parser): Likewise.
7109 * util/grub-setup.c (argp_parser): Likewise.
7110 (main): Likewise.
7111
3286a4b4
VS
71122010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Use argp in grub-fstest.
7115
7116 * util/grub-fstest.c: Don't include getopt.h.
7117 Include argp.h.
7118 (root): New variable.
7119 (args_count): Likewise.
7120 (nparm): Likewise.
7121 (num_disks): Likewise.
7122 (images): Likewise.
7123 (cmd): Likewise.
7124 (debug_str): Likewise.
7125 (args): Likewise.
7126 (options): Transformed to argp.
7127 (usage): Removed.
7128 (main): Split argument parsing into ...
7129 (argp_parser): ... this. Changed to argp format.
7130 (argp): New variable.
7131 (main): Use argp_parse.
7132
3dccbe4b
TG
71332010-09-20 Tristan Gingold <gingold@free.fr>
71342010-09-20 Robert Millan <rmh.grub@aybabtu.com>
71352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7136
7137 * grub-core/commands/efi/lsefimmap.c: New file.
7138 * grub-core/Makefile.core.def (lsefimmap): New module.
7139 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
7140
38c259a7
VS
71412010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 Pause the execution (10s max) if any errors are displayed so the user
7144 has a chance to see them.
7145
7146 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
7147 (grub_print_error): Increment grub_err_printed_errors.
7148 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
7149 execution if any errors were displayed.
7150 (show_menu): Remove old code for pause.
7151 * grub-core/normal/menu_entry.c (run): Likewise.
7152 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
7153 users updated.
7154 (grub_normal_get_char_counter): Likewise.
7155 * include/grub/err.h (grub_err_printed_errors): New external variable.
7156 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
7157
f218b09c
VS
71582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 Support multiboot VBE info.
7161
7162 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7163 Take VBE info into account.
7164 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
7165 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7166 Call fill_vbe_info when appropriate.
7167 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
7168 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
7169 as supported.
7170 (grub_multiboot_get_mbi_size): Take new tags into account.
7171 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
7172 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
7173 Call fill_vbe_tag when appropriate.
7174 (grub_multiboot_make_mbi): Properly align tags.
7175 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
7176 function.
7177 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
7178 proto.
7179 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
7180
a9cc5438
VS
71812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 Suport manual terminal geometry specification.
7184
7185 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
7186 Save state in grub_ofconsole_terminfo_output.
7187 (grub_ofconsole_term): Use grub_terminfo_getwh.
7188 (grub_ofconsole_getwh): Removed.
7189 * grub-core/term/serial.c (grub_serial_getwh): Removed.
7190 (grub_serial_term): Use grub_terminfo_getwh.
7191 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
7192 (options): New struct.
7193 (OPTION_*): New enum.
7194 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
7195 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
7196 width and height.
7197 (grub_terminfo_getwh): New proto.
7198 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
7199
1a8fed20
VS
72002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Handle legacy "terminal" command.
7203
7204 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
7205 and FLAG_TERMINAL.
7206 (legacy_commands): Add terminal and title.
7207 (grub_legacy_parse): Handle terminal. Simplify title handling.
7208
41e9c57d
VS
72092010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
7212 parameters overflow.
7213
61c874c5
CW
72142010-09-20 Colin Watson <cjwatson@ubuntu.com>
7215
7216 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
7217 widthspec.h.
7218
7219 * docs/grub.texi (Shell-like scripting): Document `!'.
7220 (Network): Simplify using new i386-pc-pxe format. Mention
7221 grub-mknetdir.
7222
7223 * NEWS: Update.
7224
943682b4
CW
72252010-09-20 Colin Watson <cjwatson@ubuntu.com>
7226
7227 * Makefile.am (SUBDIRS): Restore "."; it's important to force
7228 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
7229 when needed.
7230
6d3d698d
CW
72312010-09-20 Colin Watson <cjwatson@ubuntu.com>
7232
7233 * grub-core/commands/efi/lsefisystab.c: Correct header.
7234 * grub-core/commands/efi/lssal.c: Likewise.
7235 * grub-core/commands/testload.c: Likewise.
7236
c982589f
CW
72372010-09-20 Colin Watson <cjwatson@ubuntu.com>
7238
7239 * util/grub-mkrescue.in: Add explicit root argument to --set to
7240 prevent the UUID being interpreted as an argument to --set (matches
7241 previous change to prepare_grub_to_access_device).
7242
a63c31b6
CW
72432010-09-20 Colin Watson <cjwatson@ubuntu.com>
7244
7245 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
7246 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
7247 the verbosity of later #ifs.
7248 (find_partition_start): Define this function on FreeBSD too.
7249 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
7250 function.
7251 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
7252 on FreeBSD.
7253
6439b8ee
YB
72542010-09-20 Yves Blusseau <blusseau@zetam.org>
7255
7256 * util/grub-editenv.c: Use argp instead of getopt.
7257
c5930ec8
YB
72582010-09-20 Yves Blusseau <blusseau@zetam.org>
7259
7260 * util/grub-setup.c: Use argp instead of getopt.
7261
15c69261
YB
72622010-09-20 Yves Blusseau <blusseau@zetam.org>
7263
7264 Use gnulib-tool to create gnulib source files.
7265
7266 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
7267 grub-core/gnulib directories
7268 * .bzignore: Add **/.deps and autogenerated gnulib files
7269 * configure.ac: Assign auxiliary directory to build-aux, add invocation
7270 of gnulib macros, add grub-core/gnulib/Makefile
7271 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
7272 include m4 directory to aclocal.
7273 * Makefile.util.def: Remove direct compilation of gnulib source files
7274 and use the new grub-core/gnulib/libgnu.a.
7275 * build-aux/config.rpath: move config.rpath from top directory to
7276 build-aux
7277 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
7278 in gnulib headers
7279 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
7280 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
7281 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
7282 header.
7283 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
7284 string.
7285
e511c9f5
YB
72862010-09-20 Yves Blusseau <blusseau@zetam.org>
7287
7288 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
7289 grub-core/genmod.sh and grub-core/gensyminfo.sh
7290
c2dede05
BC
72912010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
7292
7293 Add a test for echo command options.
7294
7295 * tests/grub_cmd_echo.in: New test.
7296 * Makefile.util.def: Rules for new test.
7297
c55f5018
SJ
72982010-09-20 Szymon Janc <szymon@janc.net.pl>
7299
7300 Remove crc.mod and move crc command to hashsum.mod.
7301 Remove lib/crc.c - users updated to use gcrypt implementation.
7302
7303 * grub-core/commands/crc.c: Removed.
7304 * grub-core/Makefile.core.def (crc): Module removed.
7305 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
7306 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
7307 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
7308 * grub-core/lib/crc.c: Removed.
7309 * include/grub/lib/crc.h: Removed.
7310 * Makefile.util.def (crc): Remove lib/crc.c
7311 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
7312 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
7313 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
7314 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
7315 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
7316 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
7317
e0337366
VS
73182010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7319
7320 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
7321
742f9232
VS
73222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 Split config.h for util and core.
7325
7326 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
7327 (ADDR32): Likewise.
7328 (DATA32): Likewise.
7329 (BSS_START_SYMBOL): Likewise.
7330 (END_SYMBOL): Likewise.
7331 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
7332 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
7333 * config.h.in: New file.
7334 * configure.ac: Use config-util.h as config define file.
7335 Rename MACHINE into GRUB_MACHINE. All users updated.
7336 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
7337 updated.
7338 (NESTED_FUNC_ATTR): Likewise.
7339 Substitue new variables.
7340 (COND_HAVE_ASM_USCORE): New conditional.
7341 * grub-core/Makefile.am (ASM_PREFIX): New variable.
7342 (kernel_syms.lst): Use ASM_PREFIX.
7343 * grub-core/kern/emu/console.c: Include config-util.h.
7344 * grub-core/kern/emu/misc.c: Likewise.
7345 * grub-core/kern/emu/mm.c: Likewise.
7346 * include/grub/emu/misc.h: Likewise.
7347 * include/grub/libgcc.h: Likewise.
7348
39feb0e8
VS
73492010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
7352 constants usage.
7353 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
7354 Fix GRUB_TERM_KEY_* constants usage.
7355 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
7356
9af6dac3
VS
73572010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
7360 print pointer.
7361 * grub-core/bus/usb/uhci.c: Remove empty define.
7362 (grub_uhci_check_transfer): Add missing cast.
7363 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
7364 print pointer.
7365 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
7366 PRIuGRUB_SIZE.
7367 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
7368
d6d94820
VS
73692010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/Makefile.core.def (legacycfg): Add
7372 lib/i386/pc/vesa_modes_table.c on emu.
7373
3572f2b6
BC
73742010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7375
7376 Reduce number of temporary files generated by build system.
7377
7378 * grub-core/gencmdlist.sh: Removed.
7379 * grub-core/genfslist.sh: Removed.
7380 * grub-core/genhandlerlist.sh: Removed.
7381 * grub-core/genmodsrc.sh: Removed.
7382 * grub-core/genpartmaplist.sh: Removed.
7383 * grub-core/genparttoollist.sh: Removed.
7384 * grub-core/gentermiinallist.sh: Removed.
7385 * grub-core/genvideolist.sh: Removed.
7386
7387 * grub-core/genmod.sh.in: New file.
7388 * grub-core/gensyminfo.sh.in: New file.
7389
7390 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
7391 * conf/Makefile.extra-dist: Update with new files.
7392 * gentpl.py: Remove rules related to unnecessary temporary files.
7393 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
7394 and und-* files.
7395 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
7396 genmod.sh scripts.
7397 * grub-core/bus/usb/uhci.c: Remove empty #define.
7398 * grub-core/genmoddep.awk: Updated with new syminfo format.
7399 * util/bash-completion.d/Makefile.am: Add config.log to
7400 CLEANFILES.
7401
c836b030
YB
74022010-09-19 Yves Blusseau <blusseau@zetam.org>
7403
7404 * Makefile.util.def: Add forgotten $(LIBINTL) library.
7405
2f4e8053
BC
74062010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7407
7408 * util/grub-mkconfig.in: Check the config script for syntax errors
7409 before saving.
7410
75831c34
CW
74112010-09-19 Colin Watson <cjwatson@ubuntu.com>
74122010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7413
7414 * Makefile.util.def (grub-install): Use util/grub-install.in on all
7415 platforms.
7416 * util/grub-install.in: Add EFI and IEEE1275 support.
7417 * util/i386/efi/grub-install.in: Removed.
7418 * util/ieee1275/grub-install.in: Likewise.
7419
eaf41b25
VS
74202010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7421
7422 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
7423 (grub_cmd_cmosclean): Likewise.
7424 (GRUB_MOD_INIT): Register command cmosclean.
7425 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
7426 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
7427
1a9130dd
CPE
74282010-09-18 Carles Pina i Estany <carles@pina.cat>
74292010-09-18 Aleš Nesrsta <starous@volny.cz>
74302010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7431
7432 Add keyboard layouts support.
7433
7434 * Makefile.util.def (grub-mklayout): New file.
7435 (grub-kbdcomp): New script.
7436 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
7437 Add keyboard_layouts.h.
7438 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
7439 commands/boot.c on yeeloong.
7440 (keylayouts): New module.
7441 * grub-core/bus/usb/ohci.c
7442 * grub-core/bus/usb/uhci.c
7443 * grub-core/bus/usb/usbhub.c (rescan): New variable.
7444 (grub_usb_add_hub): Poll interrupt pipe for device handling.
7445 (attach_root_port): Likewise.
7446 (poll_nonroot_hub): Likewise.
7447 (grub_usb_poll_devices): Likewise.
7448 (detach_device): Close transfer.
7449 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
7450 function.
7451 (grub_usb_bulk_setup_readwrite): Likewise.
7452 (grub_usb_bulk_finish_readwrite): Likewise.
7453 * grub-core/commands/keylayouts.c: New file.
7454 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
7455 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
7456 aliases.
7457 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
7458 support scancode 2.
7459 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
7460 * include/grub/keyboard_layouts.h: New file.
7461 * util/grub-mklayout.c: New file.
7462 * util/grub-kbdcomp.in: Likewise.
7463
a1d84a5e
VS
74642010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7465
7466 Unify memory types.
7467
7468 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
7469 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
7470 types.
7471 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
7472 (grub_upper_mem): Likewise.
7473 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
7474 * include/grub/memory.h (grub_memory_type_t): New enum.
7475 All users updated.
7476
9696382e
VS
74772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/Makefile.core.def (lsapm): New module.
7480 * grub-core/commands/i386/pc/lsapm.c: New file.
7481 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
7482 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
7483 Likewise.
7484 * include/grub/i386/pc/apm.h: New file.
7485 * include/multiboot.h (multiboot_apm_info): New struct.
7486
74872010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 GRUB-legacy configuration file support.
7490
7491 * Makefile.util.def (grub-menulst2cfg): New util.
7492 * docs/man/grub-menulst2cfg.h2m: New file.
7493 * grub-core/Makefile.core.def (legacycfg): New module.
7494 * grub-core/commands/legacycfg.c: New file.
7495 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
7496 (grub_normal_add_menu_entry): ... this.
7497 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
7498 (grub_normal_set_password): ...this.
7499 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
7500 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7501 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7502 * grub-core/lib/legacy_parse.c: New file.
7503 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7504 * include/grub/i386/pc/vesa_modes_table.h: New file.
7505 * include/grub/legacy_parse.h: Likewise.
7506 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7507 * util/grub-menulst2cfg.c: New file.
7508
bf8d1338
CW
75092010-09-17 Colin Watson <cjwatson@ubuntu.com>
7510
7511 * grub-core/kern/emu/hostdisk.c
7512 (convert_system_partition_to_system_disk): Initialise node.
7513
9c0bad2e
CW
75142010-09-17 Colin Watson <cjwatson@ubuntu.com>
7515
7516 * grub-core/kern/emu/hostdisk.c
7517 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7518 leak.
7519 Reported and based on patch by: Modestas Vainius.
7520
a939d135
CW
75212010-09-17 Colin Watson <cjwatson@ubuntu.com>
7522
7523 Fix DM-RAID probing with recent versions of device-mapper udev
7524 rules.
7525
7526 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7527 canonicalise device paths under /dev/mapper/.
7528 (convert_system_partition_to_system_disk): Compare the
7529 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7530 path, since device nodes under /dev/mapper/ are often symlinks.
7531
0f7ee3c9
YB
75322010-09-17 Yves Blusseau <blusseau@zetam.org>
7533
7534 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7535
10854d0d
YB
75362010-09-16 Yves Blusseau <blusseau@zetam.org>
7537
7538 * configure.ac: Avoid some annoying error messages if freetype-config
7539 program is not found.
7540
108538d8
CW
75412010-09-16 Colin Watson <cjwatson@ubuntu.com>
7542
7543 Support RAID on virtio devices, and others.
7544
7545 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7546 Rename to ...
7547 [__MINGW32__] (grub_find_device): ... this.
7548 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7549 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7550 reasonable default if dir is NULL.
7551 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7552 ...
7553 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7554 (grub_guess_root_device): Update callers.
7555 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7556
7557 * util/raid.c (grub_util_getdiskname): Remove.
7558 (grub_util_raid_getmembers): Use grub_find_device rather than
7559 grub_util_getdiskname.
7560
e5bfc130
CW
75612010-09-16 Colin Watson <cjwatson@ubuntu.com>
7562
7563 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7564 needing to be compiled with serial support.
7565 (ls): Indicate that multiple files are accepted.
7566 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7567 indicate that multiple files are accepted.
7568
be458ae2
CW
75692010-09-16 Colin Watson <cjwatson@ubuntu.com>
7570
7571 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7572 libgrub_a_init.c, and util/bash-completion.d/grub.
7573
cb731b5e
VS
75742010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * util/grub-setup.c (setup): Fix incorrect container semantics.
7577
35139e8a
VS
75782010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7581 misusage.
7582 Reported by: J. Nick Terry
7583
e50fca4a
VS
75842010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 Move embedding routines to partmap sources files.
7587
7588 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7589 [GRUB_UTIL]: New variable.
7590 (gpt_partition_map_iterate): Set part.parent.
7591 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7592 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7593 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7594 New function.
7595 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7596 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7597 (grub_partition_map) [GRUB_UTIL]: New field embed.
7598 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7599 (setup): Use ->embed.
7600
f00478b7
VS
76012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7604 function.
7605 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7606 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7607
2b94e3ff
YB
76082010-09-15 Yves Blusseau <blusseau@zetam.org>
7609
7610 Add function to get completions from usage.
7611
7612 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7613 completions from usage. Use LC_ALL=C to get options properly.
7614
2e04a006
VS
76152010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 * grub-core/gnulib/basename-lgpl.c: Imported.
7618 * grub-core/gnulib/basename.c: Likewise.
7619 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7620 * grub-core/gnulib/dirname.c: Likewise.
7621 * grub-core/gnulib/dirname.h: Likewise.
7622 * grub-core/gnulib/stripslash.c: Likewise.
7623
5dcdf93a
VS
76242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/gnulib/error.c: Resynced.
7627 * grub-core/gnulib/getopt.c: Likewise.
7628 * grub-core/gnulib/getopt_int.h: Likewise.
7629 * grub-core/gnulib/regex.h: Likewise.
7630 * grub-core/gnulib/regex_internal.c: Likewise.
7631 * grub-core/gnulib/regex_internal.h: Likewise.
7632
014f47b7
SJ
76332010-09-15 Szymon Janc <szymon@janc.net.pl>
7634
7635 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7636 CRC calculations and validity checks.
7637 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7638 calculations.
7639
dd521a4a
SJ
76402010-09-15 Szymon Janc <szymon@janc.net.pl>
7641
7642 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7643
79c4eeb9
VS
76442010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 Fix incorrect echo options handling.
7647 Reported by: Yves Blusseau.
7648
7649 * include/grub/command.h (grub_command_flags_t): New flags
7650 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7651 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7652 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7653
ed80f7d5
VS
76542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7657 users updated.
7658 (GRUB_COMMAND_FLAG_MENU): Likewise.
7659 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7660 (GRUB_COMMAND_FLAG_TITLE): Removed.
7661 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7662 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7663 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7664 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7665 (grub_command_flags_t): New enum. All users updated.
7666
5fe7620a
SG
76672010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7668
7669 Fix solaris compilation.
7670
7671 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7672 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7673 (grub-emu-list): Likewise.
7674
545b752f
VS
76752010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 Remove deprecated root command.
7678
7679 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7680 updated.
7681
6c1a338c
VS
76822010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * util/i386/pc/grub-setup.c: Merge this ...
7685 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7686 * util/grub-setup.c: ... into this.
7687 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7688 New struct.
7689
76902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7693 possible.
7694
d2ea4551
VS
76952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7698 allocate p.
7699
3c3b5040
VS
77002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7703 explicit root argument to set to prevent UUID to be interpreted as
7704 argument to set.
7705
b71c3fae
VS
77062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7709
275433e6
VS
77102010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Don't export grub_gate_a20.
7713
7714 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7715 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7716 to ...
7717 (grub_gate_a20): ... this. All users updated.
7718 * include/grub/i386/pc/init.h: Removed. All users updated.
7719
a5dbb1f1
VS
77202010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 Create euro.pf2 which supports most European languages.
7723
7724 * Makefile.am (grubdata_DATA): Add euro.pf2.
7725 (euro.pf2): New target.
7726 (CLEANFILES): Add euro.pf2.
7727
62a747cb
VS
77282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * configure.ac: Disable emu-usb by default to prevent inadvertent
7731 device takeover.
7732
608e43b1
VS
77332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 Disable usbserial on grub-emu since our libusb code isn't good enough
7736 yet.
7737
7738 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7739 (usbserial_pl2303): Likewise.
7740 (usbserial_ftdi): Likewise.
7741
94564f81
VS
77422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7743
7744 * include/grub/disk.h (grub_disk): Remove has_partitions.
7745 All users updated.
7746 * disk/loopback.c (grub_loopback): Remove has_partitions.
7747 All users updated.
7748 (options): Remove partitions. All users updated.
7749 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7750 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7751 actual partition table is found.
7752
3352800b
VS
77532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 Remove readability checks (too many false negatives).
7756
7757 * util/grub-install.in: Remove readability checks.
7758 * util/grub-mkconfig.in: Likewise.
7759 * util/grub.d/10_hurd.in: Likewise.
7760 * util/grub.d/10_kfreebsd.in: Likewise.
7761 * util/grub.d/10_linux.in: Likewise.
7762 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7763 way.
7764
2419f17a
VS
77652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7766
7767 Enable acpi shutdown on all ACPI platforms.
7768
7769 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7770 on coreboo, multiboot and EFI.
7771 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7772 (grub_acpi_halt): Likewise.
7773 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7774 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7775 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7776 * grub-core/lib/i386/halt.c (grub_halt)
7777 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7778
0575c7c3
VS
77792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7780
7781 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7782 context.
7783
54ac3cd1
VS
77842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7787 * grub-core/video/efi_uga.c: Likewise.
7788
b2a30ac5
VS
77892010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7790
7791 Filter devaliases and never open same device twice.
7792
7793 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7794 (last_ihandle): Likewise.
7795 (ofdisk_hash_ent): New member shortest.
7796 (ofdisk_hash_add): Add canonical path too.
7797 (scan): New function.
7798 (grub_ofdisk_iterate): Iterate over hashed entries.
7799 (compute_dev_path): Don't add :0.
7800 (grub_ofdisk_open): Don't really open the disk.
7801 (grub_ofdisk_close): Avoid closing unrelated disk.
7802 (grub_ofdisk_read): Implement reopen logic.
7803 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7804 New function.
7805 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7806 New proto.
7807
fb53b340
VS
78082010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 Fix sparc64.
7811
7812 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7813 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7814 right address. Add sparc64_ieee1275_ldflags.
7815 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7816 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7817 to grub_host_to_target_addr
7818 (load_image): Likewise.
7819
f452b040
VS
78202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/normal/completion.c (complete_file): Handle device
7823 containing slash.
7824 Fix based on patch by Doug Nazar.
7825
9b5b2541
VS
78262010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7827
7828 grub-mknetdir script.
7829
7830 * Makefile.util.def (grub-mknetdir): New module.
7831 * tests/util/grub-shell.in: Support boot=net
7832 * util/grub-mknetdir.in: New file.
7833
9d2be652
VS
78342010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 videoinfo on non-vbe.
7837
7838 * grub-core/Makefile.core.def (vbeinfo): Removed.
7839 (vbetest): Removed.
7840 (videoinfo): New module.
7841 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7842 * grub-core/commands/i386/pc/vbetest.c: Removed.
7843 * grub-core/commands/videoinfo.c: New file.
7844 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7845 specification.
7846 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7847 as vbetest.
7848 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7849 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7850 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7851 mode_number. New parameter mode. All users updated.
7852 (grub_video_gop_iterate): New function.
7853 (grub_video_efi_gop): New member iterate.
7854 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7855 (grub_vbe_set_video_mode): Remove setting useless fields.
7856 (vbe2videoinfo): New function.
7857 (grub_video_vbe_iterate): Likewise.
7858 (grub_video_vbe_setup): Use vbe2videoinfo.
7859 (grub_video_vbe_print_adapter_specific_info): New function.
7860 (grub_video_vbe_adapter): New fields iterate and
7861 print_adapter_specific_info.
7862 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7863 All users updated.
7864 (grub_video_mode_info): New field mode_number.
7865 (grub_video_adapter): New fields iterate and
7866 print_adapter_specific_info.
7867
179503f5
TG
78682010-09-13 Tristan Gingold <gingold@free.fr>
78692010-09-13 Robert Millan <rmh.grub@aybabtu.com>
78702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 * grub-core/commands/efi/lsefisystab.c: New file.
7873 * grub-core/commands/efi/lssal.c: Likewise.
7874 * grub-core/Makefile.core.def (lsacpi): New module.
7875 (lsefisystab): Likewise.
7876 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7877 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7878 (grub_efi_sal_system_table): New struct.
7879 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7880 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7881 (grub_efi_sal_system_table_platform_features): Likewise.
7882 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7883 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7884 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7885 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7886
cf9827de
VS
78872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 Support explicit user claim that a device is BIOS-visible.
7890
7891 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7892 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7893 * grub-core/kern/emu/hostdisk.c
7894 (convert_system_partition_to_system_disk): Support mdX.
7895 (find_system_device): New parameter add. All users updated.
7896 (grub_util_biosdisk_is_present): New function.
7897 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7898 proto.
7899
53f0eb1f
VS
79002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Search hints support.
7903
7904 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7905 All users updated.
7906
b23ffd70
YB
79072010-09-13 Yves Blusseau <blusseau@zetam.org>
7908
7909 Bash completion script for util commands
7910
7911 * Makefile.am: Add util/bash-completion.d directory
7912 * configure.ac: Likewise.
7913 * util/bash-completion.d/Makefile.am: New file.
7914 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7915
d547dc28
VS
79162010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7919 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7920 Reported by: Yves Blusseau.
7921
2fc8ccb9
VS
79222010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7923
7924 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7925 partition size and offset.
7926
d8a84076
VS
79272010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7930
84fb3b3d
VS
79312010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7932
7933 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7934
768ec2e2
VS
79352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7938 (grub_xvasprintf): Likewise.
7939
4870900f
VS
79402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7941
7942 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7943
faca6bec
VS
79442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7947 args ending with NULL.
7948
79492010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
7950
7951 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7952 pointer.
7953
3c70f225
SJ
79542010-09-11 Szymon Janc <szymon@janc.net.pl>
7955
7956 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7957
4df7996d
VS
79582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 Shutdown using ACPI.
7961
7962 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7963 * grub-core/commands/acpihalt.c: New file.
7964 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7965 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7966 (grub_acpi_halt): New proto.
7967 (GRUB_ACPI_SLP_EN): New const.
7968 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7969 (GRUB_ACPI_OPCODE_*): New enum.
7970 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7971
126b4c32
TG
79722010-09-11 Tristan Gingold <gingold@free.fr>
79732010-09-11 Robert Millan <rmh.grub@aybabtu.com>
79742010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * commands/lsacpi.c: New file.
7977 * grub-core/Makefile.core.def (lsacpi): New module.
7978 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7979 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7980 (grub_acpi_madt_entry_header): New struct.
7981 (grub_acpi_madt): Likewise.
7982 (grub_acpi_madt_entry_interrupt_override): Likewise.
7983 (grub_acpi_madt_entry_sapic): Likewise.
7984 (grub_acpi_madt_entry_lsapic): Likewise.
7985 (grub_acpi_madt_entry_platform_int_source): Likewise.
7986 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7987 (PRIuGRUB_UINT32_T): Likewise.
7988 (PRIxGRUB_UINT64_T): Likewise.
7989
1aa4fe88
VS
79902010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 Implement loading palette on ieee1275_fb.
7993
7994 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7995 (have_setcolors): Likewise.
7996 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7997 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7998 (grub_video_ieee1275_set_palette): Implement.
7999
25761e13
VS
80002010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
80012010-09-11 Colin Watson <cjwatson@ubuntu.com>
8002
8003 * util/grub-install.in (grub_partition): New variable.
8004 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
8005 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
8006 Fixes a bug reported by Yves Blusseau.
8007
050abaea
VS
80082010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 Fix emu on mipsel.
8011
8012 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
8013 =grub_cpu_flush_cache on all mips and not only yeeloong.
8014 * configure.ac (COND_mips): New conditional.
8015 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
8016 platforms.
8017 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
8018 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
8019 [GRUB_LINKER_HAVE_INIT]: New function.
8020 (grub_emu_post_init): Likewise.
8021 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
8022 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
8023 * include/grub/cache.h (_mips): Include mips/cache.h.
8024 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
8025 LVM and RAID prototypes.
8026 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
8027 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
8028 function.
8029
5ed7d816
CW
80302010-09-10 Colin Watson <cjwatson@ubuntu.com>
8031
8032 * util/grub-install.in: Don't try to verify core.img until after
8033 running grub-mkimage to create it.
8034
90367e04
RM
80352010-09-10 Robert Millan <rmh@gnu.org>
8036
8037 * util/grub.d/10_hurd.in: Add misc readability checks.
8038 * util/grub.d/10_kfreebsd.in: Likewise.
8039 * util/grub.d/10_linux.in: Likewise.
8040
c452fa66
CW
80412010-09-10 Colin Watson <cjwatson@ubuntu.com>
8042
8043 * util/grub-install.in: ${imgext} won't be defined here until the
8044 install branch is merged. For the meantime, only verify core.img on
8045 i386-pc and sparc64-ieee1275 platforms.
8046
c38fe9f4
RM
80472010-09-10 Robert Millan <rmh@gnu.org>
8048
8049 Solaris support in grub_find_zpool_from_dir(). Thanks
8050 Seth Goldberg for referring to getextmntent() facility.
8051
8052 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
8053 `sys/mkdev.h'.
8054 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
8055 `<sys/mnttab.h>'.
8056 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
8057 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
8058 method for finding zpool name.
8059
905f7773
CW
80602010-09-10 Colin Watson <cjwatson@ubuntu.com>
8061
8062 grub-fstest needs the host and hostfs modules while other utilities
8063 actively require those modules to be absent, so grub-fstest needs
8064 its own initialisation and finalisation code.
8065
8066 * Makefile.am (grub_fstest.pp): New target.
8067 (grub_fstest_init.lst): Likewise.
8068 (grub_fstest_init.c): Likewise.
8069 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
8070
fb90b546
RM
80712010-09-10 Robert Millan <rmh@gnu.org>
8072
8073 * configure.ac: Check for `struct statfs.f_fstypename' and
8074 `struct statfs.f_mntfromname'.
8075
8076 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
8077 kFreeBSD-specific code.
8078
66d4bea5
RM
80792010-09-10 Robert Millan <rmh@gnu.org>
8080
8081 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
8082 on ZFS. Now non-main filesystems are supported as / too.
8083
b6a690ee
CW
80842010-09-09 Colin Watson <cjwatson@ubuntu.com>
8085
8086 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
8087 and grub-core/disk/host.c to ...
8088 (grub-fstest): ... here. Having the host disk implementation
8089 present confuses grub-probe and other utility programs.
8090
8091 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
8092 when writing to a file, not when writing to stdout.
8093
8901b00c 80942010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
8095
8096 * tests/partmap_test.in: New test for partitions.
8097 * Makefile.util.def: Rules for new test.
8098
7bf45fdd
RM
80992010-09-09 Robert Millan <rmh@gnu.org>
8100
8101 * util/grub-probe.c (probe): Fix a pair of unhandled error
8102 conditions.
8103
4dfbc574
RM
81042010-09-09 Robert Millan <rmh@gnu.org>
8105
8106 Basic Btrfs support (detection and UUID).
8107
8108 * grub-core/fs/btrfs.c: New file.
8109 * Makefile.util.def (library): Register btrfs.c.
8110 * grub-core/Makefile.core.def: Likewise.
8111
6b8e78ae
RM
81122010-09-08 Robert Millan <rmh@gnu.org>
8113
8114 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
8115 with (optional) parameters to specify device and relative path.
8116 * util/grub-install.in: Use is_path_readable_by_grub() to
8117 verify readability of a few critical files.
8118 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
8119 verify readability of grub.cfg.new.
8120
27f21a8b
VS
81212010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8122
8123 Split minix.mod into minix.mod and minix2.mod.
8124
8125 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
8126 * grub-core/Makefile.core.def (minix2): New module.
8127 * grub-core/fs/minix.c: Use definitions instead of runtime version
8128 checking.
8129 * grub-core/fs/minix2.c: New file.
8130
c0e53ea5
YB
81312010-09-08 Yves Blusseau <blusseau@zetam.org>
8132
8133 Add new --boot-directory option to replace --root-directory
8134
8135 * util/grub-install.in: Add new --boot-directory option
8136 * util/grub-reboot.in: Likewise.
8137 * util/grub-set-default.in: Likewise.
8138
b9fe6ea2
YB
81392010-09-08 Yves Blusseau <blusseau@zetam.org>
8140
8141 * util/grub-mkconfig.in: Use new variable.
8142
d87aedff
YB
81432010-09-08 Yves Blusseau <blusseau@zetam.org>
8144
8145 * configure.ac: Define some useful variables.
8146
e55e8495
VS
81472010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
8148
8149 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8150 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
8151 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
8152 Use terminfo and don't use cursor-on/cursor-off unless it's known
8153 to work.
8154 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
8155 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
8156
6fa6d675
CW
81572010-09-08 Colin Watson <cjwatson@ubuntu.com>
8158
8159 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
8160 starts with "(,", fill the drive containing the loaded image in
8161 between those two characters, but expect that a full partition
8162 specification including partition map names will follow.
8163
92f2aef0
RM
81642010-09-08 Robert Millan <rmh@gnu.org>
8165
8166 * configure.ac: Remove `--enable-grub-fstest' option.
8167 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
8168
8169 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
8170 `grub-fstest' instead of `grub-probe' for readability verification.
8171 * util/grub-probe.c (probe): Remove readability verification kludge.
8172
99fd620d
RM
81732010-09-08 Robert Millan <rmh@gnu.org>
8174
8175 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
8176 initializing `GRUB_FS'.
8177
058e30ac 81782010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
8179
8180 Not command (!) support to GRUB script.
8181
8182 * tests/grub_script_not.in: New test.
8183 * Makefile.util.def: Rules for new test.
8184
8185 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8186 ! command as a special case.
8187 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
8188
b61d05ed 81892010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8190
058e30ac 8191 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
8192 grub_free.
b61d05ed 8193
4d69c786 81942010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8195
8196 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
8197
aa3119c4 81982010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
8199
8200 * docs/grub.texi (Shell-like scripting): Documentation for break,
8201 continue, shift and return commands.
8202
db0f7e3d
VS
82032010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 Rename CD-ROM to cd on BIOS.
8206
8207 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
8208 "cd".
8209 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
8210
88b87c93
VS
82112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
8214 * util/grub-probe.c (main): Likewise.
8215 * util/i386/pc/grub-setup.c (main): Likewise.
8216 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8217 Reported and debugged by: alexxy
8218
294f324d
VS
82192010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
8222 diagnostic info.
8223
d7ee3441
JS
82242010-09-05 Jo Shields <directhex@apebox.org>
8225
8226 * util/grub.d/30_os-prober.in: Add missing classes.
8227
d7e06c1f
VS
82282010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8229
8230 * docs/grub.texi (Theme file format): Document new position format.
8231
fc157e53
VS
82322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8233
8234 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
8235 a table. Use @code instead of @verbatim.
8236
506e9a1c
CB
82372010-09-05 Colin D Bennett <colin@gibibit.com>
8238
8239 Gfxmenu documentation.
8240
8241 * docs/grub.texi (Theme file format): New chapter.
8242
f0aff67c
SJ
82432010-09-05 Szymon Janc <szymon@janc.net.pl>
8244
8245 * grub-core/Makefile.core.def (xzio): New module.
8246 * grub-core/io/xzio.c: New file.
8247 * grub-core/lib/xzembed/xz.h: New file (from xembed).
8248 * grub-core/lib/xzembed/xz_config.h: Likewise.
8249 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
8250 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
8251 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
8252 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
8253 * grub-core/lib/xzembed/xz_private.h: Likewise.
8254 * grub-core/lib/xzembed/xz_stream.h: Likewise.
8255 * include/grub/file.h (grub_file_filter_id): New compression filter
8256 GRUB_FILE_FILTER_XZIO.
8257
82a85062
VS
82582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
8261 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
8262 size.
8263
3579415d
VS
82642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8265
8266 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
8267 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
8268
5124ae6d
VS
82692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8270
8271 Uncompressed checksum support.
8272
8273 * grub-core/commands/hashsum.c (options): Add option --uncompress.
8274 (check_list): New parameter uncompress.
8275 (grub_cmd_hashsum): Handle --uncompress.
8276
9aadb3d1
VS
82772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8278
8279 Reintroduce testload.
8280
8281 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
8282 from here ...
8283 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
8284 (GRUB_MOD_INIT): New function.
8285 (GRUB_MOD_FINI): Likewise.
8286 * grub-core/Makefile.core.def (testload): New module.
8287
a17792c3
SJ
82882010-09-05 Szymon Janc <szymon@janc.net.pl>
8289
8290 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
8291 (uint8_t): New type.
8292 (uint16_t): Likewise.
8293 (uint32_t): Likewise.
8294 (uint64_t): Likewise.
8295
b81e40a3
SJ
82962010-09-05 Szymon Janc <szymon@janc.net.pl>
8297
8298 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
8299
fc2ef117
VS
83002010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
8303 Made static.
8304 (grub_gzfile_open): Removed. All users updated.
8305 (GRUB_MOD_INIT): New function.
8306 (GRUB_MOD_FINI): Likewise.
8307 * grub-core/kern/file.c (grub_file_filters_all): New variable.
8308 (grub_file_filters_enabled): Likewise.
8309 (grub_file_open): Handle filters.
8310 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
8311 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
8312 * include/grub/file.h (grub_file_filter_id_t): New type.
8313 (grub_file_filter_t): Likewise.
8314 (grub_file_filters_all): New extern variable.
8315 (grub_file_filters_enabled): Likewise.
8316 (grub_file_filter_register): New inline function.
8317 (grub_file_filter_unregister): Likewise.
8318 (grub_file_filter_disable): Likewise.
8319 (grub_file_filter_disable_compression): Likewise.
8320 * include/grub/gzio.h: Removed.
8321
35ee15e0
BC
83222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8323
8324 Filename expansion support for wildcards in GRUB script.
8325
8326 * tests/grub_script_expansion.in: New test.
8327 * Makefile.util.def: Rule for new test.
8328
8329 * grub-core/commands/wildcard.c: New file, implements filename
8330 expansion support for GRUB script.
8331 * grub-core/Makefile.core.def: Rule update for regexp.mod.
8332 * grub-core/script/argv.c: Cosmetic changes.
8333 * grub-core/script/execute.c (grub_script_arglist_to_argv):
8334 Refactored to perform wildcard expansion on arguments.
8335 * include/grub/script_sh.h (grub_script_wildcard_translator): New
8336 struct.
8337
8338 * tests/util/grub-shell.in: Fix quoting for read input.
8339
5f0c4aca
BC
83402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8341
8342 Support for updating environment variables with matched substrings
8343 of regexp.
8344
8345 * tests/grub_cmd_regexp.in: New test.
8346 * Makefile.util.def: Rule for new test.
8347
8348 * grub-core/commands/regexp.c: New option -s to update environment
8349 variables with regexp matches.
8350
3759a35f
SJ
83512010-09-04 Szymon Janc <szymon@janc.net.pl>
8352
8353 * include/grub/file.h (grub_file): New member not_easly_seekable.
8354 (grub_file_seekable): New inline function.
8355 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
8356 easily seekable.
8357 (grub_gzio_open): Set not_easly_seekable.
8358 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
8359 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
8360
ed8c6dec
BC
83612010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8362
8363 Support for options to appear multiple times on cmdline.
8364
8365 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
8366 * grub-core/commands/extcmd.c: Support for repeatable option.
8367 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
8368 repeatable option support.
8369
8370 Refactor menuentry into a regular command.
8371
8372 * grub-core/commands/menuentry.c: New file, menuentry command
8373 implementation.
8374 * grub-core/Makefile.core.def: Rule update for normal.mod.
8375 * grub-core/normal/main.c: Moved menuentry creation to
8376 grub-core/commands/menuentry.c.
8377 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
8378 (grub_menu_execute_entry_real): Removed.
8379 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
8380 function.
8381 (grub_script_execute_menuentry): Removed.
8382 * grub-core/script/parser.y (menuentry): Removed.
8383 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
8384 * grub-core/script/yylex.l (menuentry): Removed.
8385 * include/grub/menu.h (grub_menu_init): New prototype.
8386 (grub_menu_fini): New prototype.
8387 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
8388 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
8389 (grub_script_execute_sourcecode): New prototype.
8390
dacd0cf0
BC
83912010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8392
8393 "return" command for GRUB script functions.
8394
8395 * tests/grub_script_return.in: New test.
8396 * Makefile.util.def: Rules for new test.
8397
8398 * grub-core/script/execute.c (grub_script_return): New function.
8399 * grub-core/script/main.c: Register/unregister return commaond.
8400 * include/grub/script_sh.h (grub_script_return): New prototype.
8401
52e72f9d
BC
84022010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8403
8404 "setparams" command to update positional parameters.
8405
8406 * tests/grub_script_setparams.in: New test.
8407 * Makefile.util.def: Rules for new test.
8408
8409 * grub-core/script/argv.c (grub_script_argv_make): New function.
8410 * grub-core/script/execute.c (replace_scope): New function.
8411 (grub_script_setparams): New function.
8412 * grub-core/script/lexer.c: Remove unused variables.
8413 * grub-core/script/main.c: Register/unregister setparams command.
8414 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
8415 (grub_script_setparams): New prototype.
8416
25b60c91
BC
84172010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8418
8419 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
8420 grub_free order.
8421
37e7bf68
BC
84222010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8423
8424 Support for passing block of commands as an argument to extcmds.
8425
8426 * Makefile.util.def: Rules for new test.
8427 * tests/grub_script_blockarg.in: New test.
8428 * grub-core/tests/test_blockarg.c: New file, block argument
8429 command used in the test.
8430
8431 * include/grub/extcmd.h (grub_extcmd_context): New struct.
8432 (grub_register_extcmd_prio): New function prototype.
8433 (grub_extcmd_dispatcher): New function prototype.
8434 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
8435 type.
8436 * include/grub/script_sh.h (struct grub_script): New members
8437 `children', `next_siblings' and `refcnt' for block arguments and
8438 reference counting.
8439 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
8440 (grub_script_arg): New member `script' for block argument.
8441 (grub_script_argv): New member `script' for block argument.
8442 (grub_parser_param): New member `scripts' for block argument.
8443 (grub_script_mem_free): New extern function prototype.
8444 (grub_script_ref): New function prototype.
8445 (grub_script_unref): New function prototype.
8446
8447 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
8448 extcmd form to support block arguments.
8449 * grub-core/script/argv.c: Block arguments support.
8450 * grub-core/script/execute.c: Likewise.
8451 * grub-core/script/lexer.c: Likewise.
8452 * grub-core/script/main.c: Likewise.
8453 * grub-core/script/script.c: Likewise.
8454 * grub-core/script/parser.y: Likewise. New `block' and `block0'
8455 non-terminals.
8456
8457 * grub-core/commands/acpi.c: Update extcmd implementations with
8458 grub_extcmd_context_t.
8459 * grub-core/commands/cat.c: Likewise.
8460 * grub-core/commands/echo.c: Likewise.
8461 * grub-core/commands/extcmd.c: Likewise.
8462 * grub-core/commands/hashsum.c: Likewise.
8463 * grub-core/commands/hdparm.c: Likewise.
8464 * grub-core/commands/help.c: Likewise.
8465 * grub-core/commands/hexdump.c: Likewise.
8466 * grub-core/commands/i386/cpuid.c: Likewise.
8467 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8468 * grub-core/commands/i386/pc/halt.c: Likewise.
8469 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8470 * grub-core/commands/iorw.c: Likewise.
8471 * grub-core/commands/keystatus.c: Likewise.
8472 * grub-core/commands/loadenv.c: Likewise.
8473 * grub-core/commands/ls.c: Likewise.
8474 * grub-core/commands/lspci.c: Likewise.
8475 * grub-core/commands/memrw.c: Likewise.
8476 * grub-core/commands/probe.c: Likewise.
8477 * grub-core/commands/search_wrap.c: Likewise.
8478 * grub-core/commands/setpci.c: Likewise.
8479 * grub-core/commands/sleep.c: Likewise.
8480 * grub-core/disk/loopback.c: Likewise.
8481 * grub-core/hello/hello.c: Likewise.
8482 * grub-core/loader/i386/bsd.c: Likewise.
8483 * grub-core/loader/xnu.c: Likewise.
8484 * grub-core/term/gfxterm.c: Likewise.
8485 * grub-core/term/serial.c: Likewise.
8486 * grub-core/tests/lib/functional_test.c: Likewise.
8487
888d1500
BC
84882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8489
8490 Multi-line quoted strings support.
8491
8492 * grub-core/script/lexer.c (append_newline): Removed.
8493 (grub_script_lexer_yywrap): Refactored.
8494 (grub_script_lexer_init): Refactored.
8495 * grub-core/script/yylex.l (yywrap): New function.
8496 (grub_lexer_resplit): New function.
8497 (grub_lexer_unput): New function.
8498 * include/grub/script_sh.h (grub_lexer_param): New members, unput
8499 and resplit.
8500 * tests/grub_script_echo1.in: Added few more testcases.
8501
dda060dd
VS
85022010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8503
8504 * grub-core/kern/misc.c: Don't add abort alias in utils.
8505 Reported by: echoline.
8506
6556eba9
BC
85072010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8508
8509 Add missing files into "make dist" tarball for other platforms.
8510
8511 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8512 * conf/Makefile.common (dist_noinst_DATA): New variable.
8513 * conf/Makefile.extra-dist: Added missing make dist files.
8514 * grub-core/Makefile.core.def: Likewise.
8515
c8e7bf5f
VS
85162010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Compress grub_prefix.
8519
8520 * grub-core/boot/i386/pc/lnxboot.S: Use
8521 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8522 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8523 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8524 GRUB_MACHINE_PREFIX_END. All users updated.
8525 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8526 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8527 + 0x40.
8528 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8529 * util/grub-mkimage.c (image_target_desc): Change data_end to
8530 prefix_end. All users updated.
8531
a7c00cdb
VS
85322010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8535 value.
8536 (grub_openbsd_boot): Likewise.
8537 (grub_netbsd_boot): Likewise.
8538 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8539 (grub_xnu_boot): Likewise.
8540
9f915872
VS
85412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * configure.ac: Clean LIBS variable after tests.
8544
efa1bee7
CW
85452010-09-02 Colin Watson <cjwatson@ubuntu.com>
8546
8547 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8548
61d720e5
VS
85492010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8552 echo if libdevmapper will be used.
8553
ef8e0ec8
IT
85542010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8555
8556 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8557 constant for the same file.
8558
03e261d8
VS
85592010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8562
c2a4eba6
CW
85632010-09-02 Colin Watson <cjwatson@ubuntu.com>
8564
8565 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8566 grub-core/*.pp.
8567
9056cbf3
CW
85682010-09-02 Colin Watson <cjwatson@ubuntu.com>
8569
8570 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8571 required by the boot protocol.
8572
8573 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8574 ebp and edi members.
8575 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8576 state.ebp and state.edi.
8577 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8578 %ebp and %edi according to grub_relocator32_ebp and
8579 grub_relocator32_edi respectively.
8580 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8581 and state.edi.
8582
529cc99a
VS
85832010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 Add i386-pc-pxe image target.
8586
8587 * util/grub-mkimage.c (image_target_desc): New enum value
8588 IMAGE_I386_PC_PXE.
8589 (image_targets): New target i386-pc-pxe.
8590 (generate_image): Handle i386-pc-pxe image.
8591
9a093920
VS
85922010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 Fix grub_pxe_scan.
8595
8596 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8597 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8598 All users updated.
8599 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8600 (grub_pxe_pxenv): Correct type.
8601
f9cefc4e
CW
86022010-09-01 Colin Watson <cjwatson@ubuntu.com>
8603
8604 * NEWS: Document most of the important changes since 1.98.
8605
4066f57f
CW
86062010-09-01 Colin Watson <cjwatson@ubuntu.com>
8607
8608 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8609 generated manual page) a little.
8610
da2891f9
CW
86112010-09-01 Colin Watson <cjwatson@ubuntu.com>
8612
8613 * docs/grub.texi: Add myself as an author.
8614
ad717fae
VS
86152010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * Makefile.util.def (libgrub.a): Add missing sunpc.
8618 Reported by: Seth Goldberg.
8619
eefe8abd
VS
86202010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 Interrupt wrapping and code simplifications.
8623
9494ef9a
VS
8624 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8625 x86_noieee1275 which are functionaly equivalent in this case.
8626 (grub-install): Make source on each platform explicit. Enable on
8627 all noemu.
8628 * gentpl.py (x86_efi_pc): Removed group.
8629 (x86_noefi): Likewise.
8630 (i386_noefi): Likewise.
8631 (x86_noieee1275): Likewise.
8632 (i386_noieee1275): Likewise.
8633 (i386_noefi_noieee1275): Likewise.
8634 (i386_pc_qemu_coreboot): Likewise.
8635 (i386_coreboot_multiboot): Likewise.
8636 (i386_pc_coreboot_multiboot_qemu): Likewise.
8637 (x86_noefi_mips): Likewise.
8638 (noieee1275): Likewise.
8639 (ieee1275_mips): Likewise.
8640 (noemu_noieee1275): Likewise.
8641 (cmos): New group.
8642 (usb): Likewise.
8643 (videoinkernel): Likewise.
8644 (videomodules): Likewise.
eefe8abd 8645 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
8646 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8647 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8648 include/grub/loader.h, include/grub/msdos_partition.h,
8649 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8650 include/grub/machine/console.h, include/grub/machine/vga.h,
8651 include/grub/machine/vbe.h, include/grub/machine/init.h,
8652 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8653 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 8654 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
8655 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8656 * grub-core/Makefile.core.def (kernel): Explicit the source for
8657 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8658 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8659 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8660 Use videoinkernel tag.
8661 (usb): Enable on all usb.
8662 (usbserial_common): Likewise.
8663 (usbserial_pl2303): Likewise.
8664 (usbserial_ftdi): Likewise.
8665 (uhci): Enable on all x86.
8666 (ohci): Enable on all pci.
8667 (cmostest): Enable on all CMOS.
8668 (acpi): Include commands/acpi.c on all platforms.
8669 (halt): Add relevant lib/*/halt.c.
8670 (hdparm): Enable on all pci.
8671 (lspci): Likewise.
8672 (usbtest): Enable on all usb.
8673 (ata): Enable on all pci.
8674 (ata_pthru): Likewise.
8675 (usbms): Enable on all usb.
8676 (usb_keyboard): Likewise.
8677 (font): Use tag videomodules.
8678 (bufio): Likewise.
8679 (datetime): Use tag cmos. Enable on all noemu.
8680 (mmap): Use tags common and x86.
8681 (gfxterm): Use tag videomodules.
8682 (bitmap): Likewise.
8683 (bitmap_scale): Likewise.
8684 (video_fb): Likewise.
8685 (video): Likewise.
8686 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8687 adjust padding accordingly. All users updated.
8688 (grub_ohci_transaction): Fix bad format specification.
8689 (GRUB_MOD_INIT): Add asserts for struct size.
8690 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8691 (grub_alloc_td): Likewise.
8692 (grub_free_queue): Likewise.
8693 (grub_uhci_transfer): Likewise.
8694 (grub_uhci_transaction): Fix bad format specification.
8695 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8696 (grub_usb_bulk_readwrite): Likewise.
8697 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8698 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8699 Made static.
8700 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8701 Made static.
8702 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8703 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8704 Transformed into C.
8705 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8706 Moved from here ...
8707 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8708 ... here. Transformed into C. Made static.
8709 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8710 Moved from here ...
8711 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8712 ... here. Transformed into C. Made static.
8713 * grub-core/kern/i386/pc/startup.S
8714 (grub_biosdisk_check_int13_extensions): Moved from here ...
8715 * grub-core/disk/i386/pc/biosdisk.c
8716 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8717 Made static.
8718 * grub-core/kern/i386/pc/startup.S
8719 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8720 * grub-core/disk/i386/pc/biosdisk.c
8721 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8722 Transformed into C. Made static.
8723 * grub-core/kern/i386/pc/startup.S
8724 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8725 * grub-core/disk/i386/pc/biosdisk.c
8726 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8727 Transformed into C. Made static.
8728 * grub-core/kern/i386/pc/startup.S
8729 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8730 * grub-core/disk/i386/pc/biosdisk.c
8731 (grub_biosdisk_get_diskinfo_standard): ... here.
8732 Transformed into C. Made static.
8733 * grub-core/kern/i386/pc/startup.S
8734 (grub_biosdisk_get_num_floppies): Moved from here ...
8735 * grub-core/disk/i386/pc/biosdisk.c
8736 (grub_biosdisk_get_num_floppies): ... here.
8737 Transformed into C. Made static.
8738 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8739 New function.
8740 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8741 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8742 Transformed into C. Made static.
8743 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8744 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8745 Transformed into C. Made static.
8746 * grub-core/kern/i386/ieee1275/init.c: Removed.
8747 * grub-core/kern/i386/misc.S: Likewise.
8748 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8749 Splitted from here ...
8750 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8751 Transformed into C. Made static. All users updated.
8752 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8753 Transformed into C. Made static. All users updated.
8754 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8755 Moved from here...
8756 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8757 Transformed into C. Made static. All users updated.
8758 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8759 Moved from here...
8760 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8761 Transformed into C. Made static. All users updated.
8762 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8763 Removed (replaced by C version).
8764 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8765 Moved from here...
8766 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8767 Transformed into C. Made static.
8768 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8769 Moved from here...
8770 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8771 ... here. Transformed into C.
8772 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8773 Moved from here...
8774 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8775 ... here. Transformed into C.
8776 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8777 Moved from here...
8778 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8779 ... here. Transformed into C. Made static.
8780 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8781 Moved from here...
8782 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8783 ... here. Transformed into C.
21ed554b
VS
8784 * grub-core/kern/i386/pc/startup.S
8785 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8786 * grub-core/video/i386/pc/vbe.c
8787 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
8788 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8789 Moved from here...
8790 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8791 ... here. Transformed into C.
8792 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8793 Moved from here...
8794 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8795 ... here. Transformed into C.
8796 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8797 Moved from here...
8798 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8799 ... here. Transformed into C.
8800 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8801 Moved from here...
8802 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8803 ... here. Transformed into C.
8804 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8805 Moved from here...
8806 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8807 ... here. Transformed into C. Made static.
8808 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8809 Moved from here...
8810 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8811 ... here. Transformed into C. Made static.
8812 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8813 Moved from here...
8814 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8815 ... here. Transformed into C. Made static.
8816 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8817 pxe_rm_entry as third argument.
8818 (grub_bios_interrupt): New function.
8819 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8820 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8821 of calling grub_stop.
8822 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8823 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8824 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8825 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8826 * grub-core/lib/i386/halt.c: Moved from here ...
8827 * grub-core/lib/i386/halt.c: ... here.
8828 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8829 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8830 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8831 grub_stop_floppy.
8832 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8833 * include/grub/i386/coreboot/init.h: Removed.
8834 * include/grub/i386/multiboot/init.h: Likewise.
8835 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8836 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8837 * include/grub/i386/pc/int.h: New file.
8838 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8839 (grub_pxe_scan): Removed.
8840 (grub_pxe_call): Update prototype.
8841 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8842 prototypes.
8843 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8844 * include/grub/i386/qemu/init.h: Removed.
8845 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8846 noreturn.
8847 (grub_halt): Likewise.
8848 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8849 (grub_reboot): Likewise.
8850 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8851 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
8852 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8853
215dd471
RM
88542010-08-30 Robert Millan <rmh@gnu.org>
8855
8856 * NEWS: Document addition of ZFS support in `grub-install' and
8857 `grub-mkconfig'.
8858
ebd65b82
BC
88592010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8860
8861 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8862 dprintf output.
8863
11721d19
VS
88642010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 Remove leftover embedding of font objects.
8867
8868 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8869 * util/grub-install.in (font): Removed.
8870 * util/grub-mkimage.c (generate_image): Remove font support. All users
8871 updated.
8872
37837d4e
VS
88732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 Remove leftover embedding of font objects.
8876
8877 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8878 * util/grub-install.in (font): Removed.
8879 * util/grub-mkimage.c (generate_image): Remove font support. All users
8880 updated.
8881
b4c1aae0
VS
88822010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 8885 Reported by: Ian Turner
b4c1aae0 8886
8920a08d
VS
88872010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8890 timeout to avoid indefinite boot stalling.
8891
f21db033
VS
88922010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8893
8894 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8895 (grub_env_write_color_highlight): Likewise.
8896
9a9de209
VS
88972010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * grub-core/normal/term.c (print_more): Return to normal and not
8900 to standard state after printing "---MORE---".
8901
3dca01d7
VS
89022010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8903
8904 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8905 Mask out the bit 0x80 since it has other meaning that specifiing color.
8906
0b986c40
VS
89072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8908
8909 New relocator. Allows for more kernel support and more straightforward
8910 loader writing.
8911
8912 * Makefile.am (BOOTTARGET): New variable.
8913 (QEMU32): Likewise.
8914 (linux.init.x86_64): New target.
8915 (linux.init.i386): Likewise.
8916 (multiboot.elf): Likewise.
8917 (kfreebsd.elf): Likewise.
8918 (kfreebsd.aout): Likewise.
8919 (pc-chainloader.elf): Likewise.
8920 (pc-chainloader.bin): Likewise.
8921 (ntldr.elf): Likewise.
8922 (ntldr.bin): Likewise.
8923 (multiboot2.elf): Likewise.
8924 (kfreebsd.init.x86_64): Likewise.
8925 (kfreebsd.init.i386): Likewise.
8926 (knetbsd.init.i386): Likewise.
8927 (kopenbsd.init.i386): Likewise.
8928 (knetbsd.init.x86_64): Likewise.
8929 (kopenbsd.init.x86_64): Likewise.
8930 (linux-initramfs.i386): Likewise.
8931 (linux-initramfs.x86_64): Likewise.
8932 (kfreebsd-mfsroot.i386.img): Likewise.
8933 (knetbsd.image.i386): Likewise.
8934 (kopenbsd.image.i386): Likewise.
8935 (kopenbsd.image.x86_64): Likewise.
8936 (knetbsd.miniroot-image.i386.img): Likewise.
8937 (kfreebsd-mfsroot.x86_64.img): Likewise.
8938 (knetbsd.image.x86_64): Likewise.
8939 (knetbsd.miniroot-image.x86_64.img): Likewise.
8940 (kfreebsd-mfsroot.i386.gz): Likewise.
8941 (bootcheck-kfreebsd-i386): Likewise.
8942 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8943 (bootcheck-kfreebsd-x86_64): Likewise.
8944 (knetbsd.miniroot-image.i386.gz): Likewise.
8945 (bootcheck-knetbsd-i386): Likewise.
8946 (bootcheck-kopenbsd-i386): Likewise.
8947 (bootcheck-kopenbsd-x86_64): Likewise.
8948 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8949 (bootcheck-knetbsd-x86_64): Likewise.
8950 (bootcheck-linux-i386): Likewise.
8951 (bootcheck-linux-x86_64): Likewise.
8952 (bootcheck-linux16-i386): Likewise.
8953 (bootcheck-linux16-x86_64): Likewise.
8954 (bootcheck-multiboot): Likewise.
8955 (bootcheck-multiboot2): Likewise.
8956 (bootcheck-kfreebsd-aout): Likewise.
8957 (bootcheck-pc-chainloader): Likewise.
8958 (bootcheck-ntldr): Likewise.
8959 (CLEANFILES): Add new targets.
8960 (BOOTCHECKS): New variable.
8961 (.PHONY): Add bootchecks.
8962 (SUCCESSFUL_BOOT_STRING): New variable.
8963 (BOOTCHECK_TIMEOUT): Likewise.
8964 (bootcheck): New target
8965 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8966 * configure.ac: Correct efiemu excuse.
8967 * docs/grub.texi (Supported kernels): New chapter.
8968 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8969 include/grub/mm_private.h. Simplify inclusion of
8970 include/grub/boot.h, include/grub/loader.h
8971 and include/grub/msdos_partition.h
8972 (KERNEL_HEADER_FILES) [i386_coreboot]:
8973 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8974 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8975 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8976 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8977 include/grub/machine/loader.h.
8978 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8979 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8980 extra_dist.
8981 (pci.mod): Enable on i386-multiboot.
8982 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8983 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8984 i386-qemu.
8985 (relocator.mod): Rewritten.
8986 (aout.mod): Enable on all x86.
8987 (bsd.mod): Likewise.
8988 (ntldr.mod): New module.
8989 (linux.mod): Use loader/i386/linux.c on all x86.
8990 (xnu.mod): Enable on all x86.
8991 (vga_text.mod): disable on EFI and QEMU.
8992 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8993 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8994 * grub-core/efiemu/loadcore.c: Likewise.
8995 * grub-core/efiemu/main.c: Likewise.
8996 (grub_efiemu_exit_boot_services): Removed.
8997 (grub_efiemu_finish_boot_services): Likewise.
8998 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8999 function.
9000 * grub-core/efiemu/i386/nocfgtables.c: New file.
9001 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
9002 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
9003 (grub_efi_finish_boot_services): Moved from here ...
9004 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
9005 Fille finish memory map and related data.
9006 (finish_mmap_buf): New variable.
9007 (grub_efi_uintn_t finish_mmap_size): Likewise.
9008 (grub_efi_uintn_t finish_key): Likewise.
9009 (grub_efi_uintn_t finish_desc_size): Likewise.
9010 (grub_efi_uint32_t finish_desc_version): Likewise.
9011 (grub_efi_is_finished): Likewise.
9012 (grub_efi_get_memory_map): Use saved memory map if EFI is already
9013 finished.
9014 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
9015 (grub_elf64_phdr_iterate): Likewise.
9016 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
9017 (grub_os_area_size): Likewise.
9018 (grub_machine_init): Don't reserve os area.
9019 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
9020 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9021 * grub-core/kern/i386/loader.S: Removed.
9022 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
9023 (grub_os_area_size): Likewise.
9024 (grub_machine_init): Don't reserve os area.
9025 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
9026 Don't call grub_dl_unload_all.
9027 Don't include loader.S.
9028 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
9029 Declare the memory after _end as available.
9030 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 9031 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 9032 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
9033 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
9034 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
9035 * include/grub/mm_private.h (grub_mm_header): ... here.
9036 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
9037 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
9038 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
9039 (grub_mm_region): ..here. Removed addr. Added pre_size.
9040 All users updated.
9041 * grub-core/kern/mm.c (base): Renamed to ...
9042 (grub_mm_base): ... this. Made global.
9043 (grub_real_malloc): Alloc from end of region.
9044 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
9045 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
9046 * grub-core/kern/powerpc/cache_flush.S: ... here.
9047 * grub-core/lib/efi/relocator.c: New file.
9048 * grub-core/lib/i386/relocator.c: Rewritten.
9049 * grub-core/lib/i386/relocator16.S: New file.
9050 * grub-core/lib/i386/relocator32.S: Likewise.
9051 * grub-core/lib/i386/relocator64.S: Likewise.
9052 * grub-core/lib/i386/relocator_asm.S: Rewritten.
9053 * grub-core/lib/i386/relocator_common.S: New file.
9054 * grub-core/lib/ieee1275/relocator.c: Likewise.
9055 * grub-core/lib/mips/relocator.c: Rewritten.
9056 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
9057 stylistic adjustments.
9058 * grub-core/lib/powerpc/relocator.c: New file.
9059 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
9060 * grub-core/lib/relocator.c: Rewritten.
9061 * grub-core/lib/x86_64/relocator_asm.S: New file.
9062 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
9063 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
9064 (bsd_tag): New struct.
9065 (tags): New variable.
9066 (tags_last): Likewise.
9067 (netbsd_module): New struct.
9068 (netbsd_mods): New variable.
9069 (netbsd_mods_last): Likewise.
9070 (openbsd_opts): New parameter "serial".
9071 (OPENBSD_SERIAL_ARG): New definition.
9072 (netbsd_opts): New parameter "serial".
9073 (NETBSD_SERIAL_ARG): New definition.
9074 (grub_freebsd_add_meta): Reorganised into ...
9075 (grub_bsd_add_meta): ...this. All users updated.
9076 (grub_freebsd_add_mmap): Reorganised into ...
9077 (generate_e820_mmap): ...this...
9078 (grub_bsd_add_mmap): ...and this. All users updated.
9079 (grub_freebsd_list_modules): Use tags.
9080 (grub_netbsd_add_meta_module): New function.
9081 (grub_netbsd_list_modules): Likewise.
9082 (grub_freebsd_boot): Use relocator and finish EFI.
9083 (grub_openbsd_boot): Likewise.
9084 (grub_netbsd_setup_video): New function.
9085 (grub_netbsd_add_modules): Likewise.
9086 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
9087 and finish EFI.
9088 (grub_bsd_unload): Unload tags.
9089 (grub_bsd_load_aout): Use relocator.
9090 (grub_bsd_elf32_size_hook): New function.
9091 (grub_bsd_elf32_hook): Use relocator.
9092 (grub_bsd_elf64_size_hook): New function.
9093 (grub_bsd_elf64_hook): Use relocator.
9094 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
9095 (grub_bsd_load): Zero-out openbsd_ramdisk.
9096 (grub_bsd_load): Use relocator.
9097 (grub_cmd_openbsd): Support serial.
9098 (grub_cmd_netbsd): Support modules.
9099 (grub_cmd_freebsd_module): Use relocator.
9100 (grub_netbsd_module_load): New function.
9101 (grub_cmd_netbsd_module): Likewise.
9102 (grub_cmd_openbsd_ramdisk): Likewise.
9103 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
9104 kopenbsd_ramdisk.
9105 (GRUB_MOD_FINI): Unregister new commands.
9106 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
9107 (grub_freebsd_load_elfmodule_obj): Use relocator.
9108 (grub_freebsd_load_elfmodule): Likewise.
9109 (grub_freebsd_load_elf_meta): Likewise.
9110 (grub_netbsd_load_elf_meta): New function.
9111 (grub_openbsd_find_ramdisk): Likewise.
9112 * grub-core/loader/i386/bsd_helper.S: Removed.
9113 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
9114 * grub-core/loader/i386/bsd_trampoline.S: Removed.
9115 * grub-core/loader/i386/efi/linux.c: Likewise.
9116 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
9117 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
9118 (DEFAULT_VIDEO_MODE): Likewise.
9119 (real_mode_target): New variable.
9120 (prot_mode_target): Likewise.
9121 (initrd_mem_target): Likewise.
9122 (relocator): Likewise.
9123 (efi_mmap_buf): Likewise.
9124 (efi_mmap_size): Likewise.
9125 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
9126 (free_pages): Use relocator.
9127 (allocate_pages): Account for efi_mmap and use relocator. Return error.
9128 (grub_linux_setup_video): Return error.
9129 (grub_linux_trampoline_start): Removed.
9130 (grub_linux_trampoline_end): Likewise.
9131 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
9132 andd video parameters depending on firmware.
9133 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
9134 [GRUB_MACHINE_EFI]: Pass EFI parameters.
9135 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
9136 (grub_cmd_initrd): Use relocator.
9137 * grub-core/loader/i386/linux_trampoline.S: Removed.
9138 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
9139 (elf_sec_entsize): Likewise.
9140 (elf_sec_shstrndx): Likewise.
9141 (elf_sections): Likewise.
9142 (grub_multiboot_load): Use relocator.
9143 (grub_multiboot_get_mbi_size): Account for sections.
9144 (grub_multiboot_make_mbi): Use relocator and support sections.
9145 (grub_multiboot_add_elfsyms): New function.
9146 (grub_multiboot_free_mbi): Free sections.
9147 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
9148 (grub_linux_real_target): Likewise.
9149 (grub_linux_real_chunk): Likewise.
9150 (grub_linux16_prot_size): Likewise.
9151 (grub_linux16_boot): Use relocator.
9152 (grub_linux_unload): Unload relocator.
9153 (grub_cmd_linux): Use relocator.
9154 (grub_cmd_initrd): Likewise.
9155 * grub-core/loader/i386/pc/ntldr.c: New file.
9156 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
9157 Don't try to guess CPU frequency.
9158 (grub_xnu_set_video): Stretch bitmap.
9159 (grub_xnu_boot): Use relocator.
9160 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
9161 (grub_linux_unload): Free relocator.
9162 (grub_linux_load32): Use relocator.
9163 (grub_linux_load64): Likewise.
9164 (grub_cmd_initrd): Likewise.
9165 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
9166 (grub_multiboot_unload): Unload relocator.
9167 (grub_cmd_multiboot): Use relocator.
9168 (grub_cmd_module): Likewise.
9169 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
9170 Use relocator and support sections.
9171 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
9172 (elf_sec_entsize): Likewise.
9173 (elf_sec_shstrndx): Likewise.
9174 (elf_sections): Likewise.
9175 (grub_multiboot_load): Use relocator.
9176 (grub_multiboot_get_mbi_size): Account for sections.
9177 (grub_multiboot_make_mbi): Use relocator and support sections.
9178 (grub_multiboot_add_elfsyms): New function.
9179 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
9180 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
9181 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
9182 Prototype changed. All users updated.
9183 (grub_xnu_align_heap): Simplified.
9184 (grub_xnu_writetree_toheap): Likewise.
9185 (grub_xnu_unload): Unload relocator.
9186 (grub_cmd_xnu_kernel): Use relocator.
9187 (grub_cmd_xnu_kernel64): Likewise.
9188 (grub_xnu_register_memory): Simplified.
9189 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
9190 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
9191 EFI is finished.
9192 (grub_console_checkkey): Likewise.
9193 (grub_console_getkey): Likewise.
9194 (grub_console_getwh): Likewise.
9195 (grub_console_getxy): Likewise.
9196 (grub_console_gotoxy): Likewise.
9197 (grub_console_cls): Likewise.
9198 (grub_console_setcolorstate): Likewise.
9199 (grub_console_setcursor): Likewise.
9200 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
9201 * grub-core/tests/boot/kbsd.init-i386.S: New file.
9202 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
9203 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
9204 * grub-core/tests/boot/kernel-8086.S: Likewise.
9205 * grub-core/tests/boot/kernel-i386.S: Likewise.
9206 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
9207 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
9208 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
9209 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
9210 * grub-core/tests/boot/knetbsd.cfg: Likewise.
9211 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
9212 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
9213 * grub-core/tests/boot/linux.cfg: Likewise.
9214 * grub-core/tests/boot/linux.init-i386.S: Likewise.
9215 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
9216 * grub-core/tests/boot/linux16.cfg: Likewise.
9217 * grub-core/tests/boot/multiboot.cfg: Likewise.
9218 * grub-core/tests/boot/multiboot2.cfg: Likewise.
9219 * grub-core/tests/boot/ntldr.cfg: Likewise.
9220 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
9221 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
9222 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
9223 New definition.
9224 * include/grub/dl.h (grub_dl_unload_all): Removed.
9225 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
9226 (grub_efi_finish_boot_services): Change prototype.
9227 (grub_efi_is_finished): New variable.
9228 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
9229 Changed prototype.
9230 (grub_efiemu_finish_boot_services): Removed.
9231 (grub_machine_efiemu_init_tables): New prototype.
9232 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
9233 (grub_elf64_phdr_iterate): Likewise.
9234 * include/grub/i386/bsd.h: Include relocator.h.
9235 (freebsd_tag_header): New struct.
9236 (grub_openbsd_bios_mmap): Removed.
9237 (grub_unix_real_boot): Removed.
9238 (grub_freebsd_load_elfmodule32): Changed prototype.
9239 (grub_freebsd_load_elfmodule_obj64): Likewise.
9240 (grub_freebsd_load_elf_meta32): Likewise.
9241 (grub_freebsd_load_elf_meta64): Likewise.
9242 (grub_freebsd_add_meta): Removed.
9243 (grub_netbsd_load_elf_meta32): New prototype.
9244 (grub_netbsd_load_elf_meta64): Likewise.
9245 (grub_bsd_add_meta): Likewise.
9246 (grub_openbsd_ramdisk_descriptor): New struct.
9247 (grub_openbsd_find_ramdisk32): New prototype.
9248 (grub_openbsd_find_ramdisk64): Likewise.
9249 * include/grub/i386/coreboot/loader.h: Removed.
9250 * include/grub/i386/efi/loader.h: Likewise.
9251 * include/grub/i386/ieee1275/loader.h: Likewise.
9252 * include/grub/i386/linux.h (linux_kernel_header): Change void *
9253 to grub_uint32_t.
9254 * include/grub/i386/loader.h: Removed.
9255 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
9256 value.
9257 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
9258 (grub_phys_addr_t): New type.
9259 (grub_vtop): New inline function.
9260 (grub_map_memory): Likewise.
9261 (grub_unmap_memory): Likewise.
9262 * include/grub/i386/multiboot/loader.h: Removed.
9263 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
9264 (NETBSD_BTINFO_CONSOLE): New definition.
9265 (NETBSD_BTINFO_SYMTAB): Likewise.
9266 (NETBSD_BTINFO_MODULES): Likewise.
9267 (NETBSD_BTINFO_FRAMEBUF): Likewise.
9268 (grub_netbsd_bootinfo): New struct.
9269 (grub_netbsd_btinfo_common): Use explicit bitsize.
9270 (grub_netbsd_btinfo_mmap_entry): Removed.
9271 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
9272 (grub_netbsd_btinfo_bootdisk): New struct.
9273 (grub_netbsd_btinfo_symtab): Likewise.
9274 (grub_netbsd_btinfo_serial): Likewise.
9275 (grub_netbsd_btinfo_modules): Likewise.
9276 (grub_netbsd_btinfo_framebuf): Likewise.
9277 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
9278 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
9279 Likewise.
9280 (grub_openbsd_bootargs): Use explicit bitsize.
9281 (grub_openbsd_bootarg_console): New struct.
9282 (GRUB_OPENBSD_COM_MAJOR): New definition.
9283 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
9284 * include/grub/i386/pc/efiemu.h: Removed.
9285 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
9286 * include/grub/i386/qemu/loader.h: Removed.
9287 * include/grub/i386/relocator.h: Rewritten.
9288 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
9289 * include/grub/mips/memory.h: New file.
9290 * include/grub/mips/multiboot.h: Rewritten.
9291 * include/grub/mips/relocator.h: Rewritten.
9292 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
9293 (grub_vtop): New function.
9294 (grub_map_memory): Likewise.
9295 (grub_unmap_memory): Likewise.
9296 * include/grub/misc.h (ALIGN_DOWN): New definition.
9297 * include/grub/mm.h (grub_mm_check_real): New proto.
9298 (GRUB_MM_CHECK): New definition.
9299 * include/grub/mm_private.h: New file.
9300 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
9301 (grub_multiboot_get_mbi_size): Removed.
9302 (grub_multiboot_make_mbi): Change prottype.
9303 (grub_multiboot_set_accepts_video): New proto.
9304 (grub_multiboot_add_elfsyms): Likewise.
9305 (grub_multiboot_payload_eip): New variable.
9306 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
9307 New prototype.
9308 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
9309 New definition.
9310 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
9311 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
9312 * include/grub/powerpc/ieee1275/loader.h: Removed.
9313 * include/grub/powerpc/memory.h: New file.
9314 * include/grub/powerpc/relocator.h: Likewise.
9315 * include/grub/relocator.h: Likewise.
9316 * include/grub/relocator_private.h: Likewise.
9317 * include/grub/sparc64/ieee1275/loader.h: Removed.
9318 * include/grub/x86_64/memory.h: New file.
9319 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
9320 (grub_xnu_heap_malloc): Likewise.
9321 (grub_xnu_heap_real_start): Removed.
9322 (grub_xnu_heap_start): Likewise.
9323 (grub_xnu_relocator): New variable.
9324 (grub_xnu_heap_target_start): Likewise.
9325 * tests/util/grub-shell.in: Support non-pc.
9326 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 9327
5303b85d
VS
93282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9329
9330 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
9331 on malloc error.
9332 (grub_bidi_logical_to_visual): Check that malloc succeded.
9333 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
9334 puts.
9335 (grub_xputs_normal): Likewise.
9336
d768d159
VS
93372010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
9340 extra_dist.
9341
93422010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 * grub-core/efiemu/runtime/efiemu.sh: Removed.
9345
5bf84df4
VS
93462010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9347
9348 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
9349
3626810e
VS
93502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
9353 dprintf.
9354
a7363f53
BC
93552010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
9356
9357 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
9358
902f75f6
VS
93592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * grub-core/normal/term.c (print_more): Fix a memory leak.
9362 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
9363 (grub_xputs_normal): Likewise.
9364
3c707967
VS
93652010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
9368 the begining of the string
9369
2053cc07
VS
93702010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/script/script.c (grub_script_parse): Free parsed on
9373 failure.
9374
46422ebf
VS
93752010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9376
9377 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
9378 on failure.
9379
9e0fa3f6
VS
93802010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
9383 return.
9384
3393cf16
VS
93852010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
9388 (scroll_up): Fix a memory leak.
9389
b17540cb
VS
93902010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
9393 errors.
9394
67140446
VS
93952010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 Handle USB pendrives exposed as floppies.
9398
9399 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
9400 floppy.
9401 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9402 Check for partitions on all devices.
9403
e35e46fc
VS
94042010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
9407 (readkey): Likewise.
9408
d24c6190
BC
94092010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9410
9411 Multiple variable names support to "export" command.
9412
9413 * normal/context.c (grub_cmd_export): "export" command supports
9414 multiple variable names.
9415
04ddcc6a
ST
94162010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
9417
9418 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
9419 --target=drive output to Mach device name.
9420
0c8b61d8
BC
94212010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9422
9423 New Automake based build system for GRUB.
9424
9425 * ABOUT-NLS: New file.
9426 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
9427 in Makefile.util.def file.
9428 * Makefile.util.def: New file. Autogen build definitions file for
9429 GRUB host utils.
9430 * conf/Makefile.common: New file. Common variables for GRUB host
9431 utils and target modules.
9432 * conf/Makefile.extra-dist: New file. Extra files for make dist.
9433 * docs/Makefile.am: New file. Automake file for docs.
9434 * gentpl.py: New file. Python script to generate Autogen
9435 template.
9436 * grub-core/Makefile.am: New file. GRUB target modules' rules
9437 that doesn't fit in Makefile.core.def file.
9438 * grub-core/Makefile.core.def: New file. Autogen build
9439 definitions file for GRUB target modules.
9440 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
9441 specific setjmp.S file.
9442 * po/Makefile.am: New file.
9443
9444 * .bzrignore: New ignores.
9445 * INSTALL: New requirements, without Ruby.
9446 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
9447 * autogen.sh: Updated to invoke autogen as necessary.
9448 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
9449 and defines for Automake conditionals.
9450 * geninit.sh: Refactoring.
9451
9452 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
9453 necessary.
9454 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
9455 New prototype.
9456
9457 * include/grub/test.h: Fix functional test modules' naming.
9458 * grub-core/tests/example_functional_test.c: Fix test module name.
9459
9460 * util/misc.c: Hosted versions' of grub functions for libgrub.a
9461 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
9462 * util/grub-editenv.c: Likewise.
9463 * util/grub-fstest.c: Likewise.
9464 * util/grub-mkdevicemap.c: Likewise.
9465 * util/grub-mkfont.c: Likewise.
9466 * util/grub-mkimage.c: Likewise.
9467 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9468 * util/grub-probe.c: Likewise.
9469 * util/grub-script-check.c: Likewise.
9470 * util/i386/pc/grub-setup.c: Likewise.
9471 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9472
9473 * tests/util/grub-shell.in: Fix override directory path.
9474 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
9475 * util/import_gcry.py: Create Makefile.gcry.def file instead.
9476
9477 * util/lvm.c: Update #includes.
9478 * util/raid.c: Likewise.
9479 * util/resolve.c: Likewise.
9480 * grub-core/bus/emu/pci.c: Likewise.
9481 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
9482 * grub-core/lib/posix_wrap/string.h: Likewise.
9483 * grub-core/kern/emu/main.c: Likewise.
9484
9485 * grub-core/gensymlist.sh: New file. Script for generating kernel
9486 symbols file.
9487 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
9488
9489 * grub-core/gentrigtables.c: Fix unused variable warnings.
9490
9491 * Makefile.in: Removed.
9492 * conf/any-emu.rmk: Removed.
9493 * conf/common.rmk: Removed.
9494 * conf/i386-coreboot.rmk: Removed.
9495 * conf/i386-efi.rmk: Removed.
9496 * conf/i386-ieee1275.rmk: Removed.
9497 * conf/i386-multiboot.rmk: Removed.
9498 * conf/i386-pc.rmk: Removed.
9499 * conf/i386-qemu.rmk: Removed.
9500 * conf/i386.rmk: Removed.
9501 * conf/mips-yeeloong.rmk: Removed.
9502 * conf/mips.rmk: Removed.
9503 * conf/powerpc-ieee1275.rmk: Removed.
9504 * conf/sparc64-ieee1275.rmk: Removed.
9505 * conf/tests.rmk: Removed.
9506 * conf/x86-efi.rmk: Removed.
9507 * conf/x86_64-efi.rmk: Removed.
9508 * gendistlist.sh: Removed.
9509 * geninitheader.sh: Removed.
9510 * genkernsyms.sh.in: Removed.
9511 * genmk.rb: Removed.
9512 * gensymlist.sh.in: Removed.
9513 * mkinstalldirs: Removed.
9514 * boot: Moved ...
9515 * grub-core/boot: ... to here.
9516 * bus: Moved ...
9517 * grub-core/bus: ... to here.
9518 * commands: Moved ...
9519 * grub-core/commands: ... to here.
9520 * disk: Moved ...
9521 * grub-core/disk: ... to here.
9522 * efiemu: Moved ...
9523 * grub-core/efiemu: ... to here.
9524 * font: Moved ...
9525 * grub-core/font: ... to here.
9526 * fs: Moved ...
9527 * grub-core/fs: ... to here.
9528 * gencmdlist.sh: Moved ...
9529 * grub-core/gencmdlist.sh: ... to here.
9530 * genemuinit.sh: Moved ...
9531 * grub-core/genemuinit.sh: ... to here.
9532 * genemuinitheader.sh: Moved ...
9533 * grub-core/genemuinitheader.sh: ... to here.
9534 * genfslist.sh: Moved ...
9535 * grub-core/genfslist.sh: ... to here.
9536 * genhandlerlist.sh: Moved ...
9537 * grub-core/genhandlerlist.sh: ... to here.
9538 * genmoddep.awk: Moved ...
9539 * grub-core/genmoddep.awk: ... to here.
9540 * genmodsrc.sh: Moved ...
9541 * grub-core/genmodsrc.sh: ... to here.
9542 * genpartmaplist.sh: Moved ...
9543 * grub-core/genpartmaplist.sh: ... to here.
9544 * genparttoollist.sh: Moved ...
9545 * grub-core/genparttoollist.sh: ... to here.
9546 * genterminallist.sh: Moved ...
9547 * grub-core/genterminallist.sh: ... to here.
9548 * gentrigtables.c: Moved ...
9549 * grub-core/gentrigtables.c: ... to here.
9550 * genvideolist.sh: Moved ...
9551 * grub-core/genvideolist.sh: ... to here.
9552 * gettext: Moved ...
9553 * grub-core/gettext: ... to here.
9554 * gfxmenu: Moved ...
9555 * grub-core/gfxmenu: ... to here.
9556 * gnulib: Moved ...
9557 * grub-core/gnulib: ... to here.
9558 * hello: Moved ...
9559 * grub-core/hello: ... to here.
9560 * hook: Moved ...
9561 * grub-core/hook: ... to here.
9562 * io: Moved ...
9563 * grub-core/io: ... to here.
9564 * kern: Moved ...
9565 * grub-core/kern: ... to here.
9566 * lib: Moved ...
9567 * grub-core/lib: ... to here.
9568 * loader: Moved ...
9569 * grub-core/loader: ... to here.
9570 * mmap: Moved ...
9571 * grub-core/mmap: ... to here.
9572 * normal: Moved ...
9573 * grub-core/normal: ... to here.
9574 * partmap: Moved ...
9575 * grub-core/partmap: ... to here.
9576 * parttool: Moved ...
9577 * grub-core/parttool: ... to here.
9578 * script: Moved ...
9579 * grub-core/script: ... to here.
9580 * term: Moved ...
9581 * grub-core/term: ... to here
9582 * tests/example_functional_test.c: Moved ...
9583 * grub-core/tests/example_functional_test.c: ... to here.
9584 * tests/lib/functional_test.c: Moved ...
9585 * grub-core/tests/lib/functional_test.c: ... to here.
9586 * tests/lib/test.c: Moved ...
9587 * grub-core/tests/lib/test.c: ... to here.
9588 * video: Moved ...
9589 * grub-core/video: ... to here.
9590
645586e6
BC
95912010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9592
9593 Replace --enable-grub-emu-modules with grub-emu-lite.
9594
9595 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9596 cache.S.
9597
9598 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9599 * kern/emu/full.c: New file. For grub-emu specific initialization.
9600 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9601 * kern/emu/main.c: Call initialization function grub_emu_init.
9602
9603 * Makefile.in: Include grub-emu-lite in install.
9604 * commands/parttool.c: Use grub_no_autoload to differentiate
9605 between grub-emu and grub-emu-lite.
9606 * include/grub/misc.h: New variable grub_no_autoload.
9607
9608 * conf/any-emu.rmk: New rules for grub-emu-lite.
9609 * configure.ac: Remove --enable-grub-emu-modules.
9610 * genmk.rb: Cleanup unnecessary rules.
9611 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9612
9613 * normal/main.c: Don't load list files on grub-emu-lite.
9614 * util/misc.c (grub_arch_sync_caches): Removed.
9615
f86a4030
CW
96162010-08-23 Colin Watson <cjwatson@ubuntu.com>
9617
9618 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9619 grub-mkimage rather than grub-mkelfimage.
9620 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9621
06776944
VS
96222010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9625 a key after CapsLock or NumLock. It's just a qemu bug.
9626
df262419
VS
96272010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9630 needed by libusb wrapper.
9631
b40ea81b
ST
96322010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9633
9634 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9635
dee50575
VS
96362010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9639 --nounzip is passed.
9640
fb1d7b79
VS
96412010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9642
9643 USB hotunplugging and USB serial support.
9644
9645 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9646 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9647 (grub_uhci_transfer): Respect timeout and set *actual.
9648 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9649 non-standard length.
9650 (grub_usb_device_attach): Autoload modules.
9651 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9652 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9653 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9654 users updated.
9655 (grub_usb_add_hub): Fill nports and children.
9656 (attach_root_port): Receive hub instead of controller.
9657 All users updated. Fill hub->devices.
9658 (grub_usb_root_hub): Allocate hub->devices.
9659 (detach_device): New function.
9660 (poll_nonroot_hub): Fill children and detach devices.
9661 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9662 actual arguments. All users updated.
9663 (grub_usb_bulk_read_extended): New function.
9664 * bus/usb/serial/common.c: New file.
9665 * bus/usb/serial/ftdi.c: Likewise.
9666 * bus/usb/serial/pl2303.c: Likewise.
9667 * commands/terminal.c (handle_command): Support wildcard.
9668 * commands/usbtest.c: Output "Unknown" instead of empty string.
9669 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9670 (usbserial_common_mod_SOURCES): New variable.
9671 (usbserial_common_mod_CFLAGS): Likewise.
9672 (usbserial_common_mod_LDFLAGS): Likewise.
9673 (pkglib_MODULES): Add usbserial_pl2303.mod.
9674 (usbserial_pl2303_mod_SOURCES): New variable.
9675 (usbserial_pl2303_mod_CFLAGS): Likewise.
9676 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9677 (pkglib_MODULES): Add usbserial_ftdi.mod.
9678 (usbserial_ftdi_mod_SOURCES): New variable.
9679 (usbserial_ftdi_mod_CFLAGS): Likewise.
9680 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9681 (pkglib_MODULES): Add serial.mod.
9682 (serial_mod_SOURCES): New variable.
9683 (serial_mod_CFLAGS): Likewise.
9684 (serial_mod_LDFLAGS): Likewise.
9685 * conf/i386-pc.rmk: Likewise.
9686 * conf/mips-yeeloong.rmk: Likewise.
9687 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9688 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9689 * disk/usbms.c (first_available_slot): New variable.
9690 (grub_usbms_attach): Don't reuse free slots due to potential cache
9691 problems.
9692 * include/grub/serial.h: Moved to ..
9693 * include/grub/ns8250.h: ...this.
9694 * include/grub/serial.h: New file.
9695 * include/grub/term.h (grub_term_poll_usb): New variable.
9696 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9697 readkey. All users updated.
9698 (grub_terminfo_output_state): Pass term to put.
9699 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9700 (grub_usb_controller_dev): Add timeout and actual arguments to
9701 transfer. All users updated.
9702 (grub_usb_interface): New field detach_data.
9703 (grub_usb_device): New fields children and nports.
9704 (grub_usb_ep_type_t): New type.
9705 (grub_usb_get_ep_type): New function.
9706 (grub_usb_bulk_read_extended): Likewise.
9707 * include/grub/usbdesc.h (grub_usb_desc): New type.
9708 * include/grub/usbserial.h: New file.
9709 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9710 * kern/term.c (grub_term_poll_usb): New variable.
9711 (grub_getkey): Call grub_term_poll_usb if set.
9712 (grub_checkkey): Likewise.
9713 (grub_getkeystatus): Likewise.
9714 * term/serial.c: Moved controller-specific parts to ...
9715 * term/ns8250.c: ... here.
9716 * term/serial.c: Mostly rewritten.
9717 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9718 according to spec.
9719
21a313de
RM
97202010-08-20 Robert Millan <rmh@gnu.org>
9721
9722 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9723 a separate module and maybe other interesting combinations.
9724
9725 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9726 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9727 (kfreebsd_entry): Add generic filesystem module load routine.
9728 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9729
63c734a6
CW
97302010-08-20 Colin Watson <cjwatson@ubuntu.com>
9731
9732 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9733 "numcenter" (I misunderstood the purpose of this entry).
9734 * docs/grub.texi (sendkey): Likewise.
9735
c4d16542
CW
97362010-08-20 Colin Watson <cjwatson@ubuntu.com>
9737
9738 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9739 status flag options; simply omitting the option is equivalent and
9740 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9741 (keysym_table): Rename "num5numlock" to "numlock".
9742 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9743 can uniformly say that only the last of multiple `sendkey'
9744 invocations has any effect.
9745 * docs/grub.texi (sendkey): New section.
9746
93541d66
CW
97472010-08-19 Colin Watson <cjwatson@ubuntu.com>
9748
9749 * commands/i386/pc/sendkey.c (options): Fix three typos.
9750
b4ece5e1
VS
97512010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 Implement sendkey support.
9754
9755 * commands/i386/pc/sendkey.c: New file.
9756 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9757 (sendkey_mod_SOURCES): New variable.
9758 (sendkey_mod_CFLAGS): Likewise.
9759 (sendkey_mod_LDFLAGS): Likewise.
9760
51f1f5af
CW
97612010-08-18 Colin Watson <cjwatson@ubuntu.com>
9762
9763 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9764 fix warnings from Autoconf.
9765
9da94e05
CW
97662010-08-18 Colin Watson <cjwatson@ubuntu.com>
9767
9768 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9769 to avoid false positives with some assemblers that output things
9770 like "someprefix_func" as part of their output.
9771
729a0f2e
RM
97722010-08-15 Robert Millan <rmh@gnu.org>
9773
9774 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9775 errors.
9776 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9777 grub_get_libzfs_handle() errors.
9778
f3710e08
RM
97792010-08-14 Robert Millan <rmh@gnu.org>
9780
9781 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9782 filesystem is not ZFS.
9783
7a3c13de
BC
97842010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9785
9786 Fix for misspelled color names defaulting to black/black (bug
9787 reported by Doug Nazar)
9788
9789 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9790 status to prototype.
9791 * normal/color.c (grub_parse_color_name_pair): Return failure
9792 status.
9793 (grub_env_write_color_normal): Ignore bad color names.
9794 (grub_env_write_color_highlight): Likewise.
9795 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9796
ab8ba50d
BC
97972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9798
9799 "shift" command support to GRUB script.
9800
9801 * include/grub/script_sh.h (grub_script_shift): New prototype.
9802 * script/execute.c (grub_script_shift): New function.
9803 * script/main.c (grub_script_init): Register shift command.
9804 (grub_script_fini): Unregister shift command.
9805 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9806
9807 * tests/grub_script_shift.in: New testcase.
9808 * conf/tests.rmk: Rules for new testcase.
9809
4d61999e
BC
98102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9811
9812 "continue" command support to GRUB script.
9813
9814 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9815 (grub_script_break): Continue support.
9816 * script/main.c (grub_script_init): Register continue command.
9817 (grub_script_fini): Unregister continue command.
9818
9819 * tests/grub_script_continue.in: New testcase.
9820 * conf/tests.rmk: Rules for new testcase.
9821
4df51e00
BC
98222010-08-12 BVK Chaitanya <bvk@dbook>
9823
9824 "break" command support to GRUB script.
9825
9826 * conf/common.rmk: Rule updates to grub-script-check.
9827 * include/grub/misc.h (grub_min): New function.
9828 * include/grub/script_sh.h (grub_script_init): New prototype.
9829 (grub_script_fini): New prototype.
9830 (grub_script_break): New prototype.
9831 * script/main.c (grub_script_init): New function.
9832 (grub_script_fini): New function.
9833 * script/execute.c (grub_script_break): New function.
9834 * normal/main.c: Calls to grub_script_{init,fini}.
9835 * util/grub-script-check.c (grub_script_break): New function.
9836
9837 * tests/grub_script_break.in: New testcase.
9838 * conf/tests.rmk: Rules for new test case.
9839
f12c8420
BC
98402010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9841
9842 Function parameters support to GRUB script.
9843
9844 * script/yylex.l (VARIABLE): Regular expression update.
9845 * script/function.c (grub_script_function_call): Moved ...
9846 * script/execute.c (grub_script_function_call): ... to here.
9847 (grub_script_execute_arglist_to_argv): Removed.
9848 (grub_script_arglist_to_argv): New function.
9849 * script/argv.c: New file.
9850 (grub_script_argv_free): New function.
9851 (grub_script_argv_next): Likewise.
9852 (grub_script_argv_append): Likewise.
9853 (grub_script_argv_split_append): Likewise.
9854 * include/grub/script_sh.h (grub_script_argv): New struct.
9855 (grub_script_argv_free): New function.
9856 (grub_script_argv_next): Likewise.
9857 (grub_script_argv_append): Likewise.
9858 (grub_script_argv_split_append): Likewise.
9859
9860 * conf/common.rmk (normal.mod): New source script/argv.c.
9861
9862 * tests/grub_script_echo1.in: More tests.
9863 * tests/grub_script_vars1.in: Likewise.
9864 * tests/grub_script_functions.in: New test case.
9865 * conf/tests.rmk: Rules for new testcase.
9866
8022b748
BC
98672010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9868
9869 Remove grub_script_cmdblock struct.
9870
9871 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9872 * script/parser.y: Likewise.
9873 * script/execute.c: Rename cmdblock suffix to cmdlist.
9874 * script/script.c: Likewise.
9875 * util/grub-script-check.c: Likewise.
9876
79a6ba61
YB
98772010-08-11 Yves Blusseau <blusseau@zetam.org>
9878
9879 * .bzrignore: add grub-macho2img
9880
d04b9414
VS
98812010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9884
f947ab49
VS
98852010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 Remove the dump of sm712 initialisation sequence.
9888
9889 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9890 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9891 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9892 (GRUB_VGA_CR_*): Added many registers.
9893 (GRUB_VGA_SR_*): Likewise.
9894 (GRUB_VGA_GR_*): Likewise.
9895 (grub_vga_write_arx): New function.
9896 (grub_video_hw_config): New struct.
9897 (grub_vga_set_geometry): New function.
9898 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9899 GRUB_PCI_CLASS_SUBCLASS_VGA.
9900 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9901 * video/sm712.c (grub_sm712_write_reg): New function
9902 (grub_sm712_read_reg): Likewise.
9903 (grub_sm712_sr_write): Likewise.
9904 (grub_sm712_gr_write): Likewise.
9905 (grub_sm712_cr_write): Likewise.
9906 (grub_sm712_write_arx): Likewise.
9907 (grub_sm712_cr_shadow_write): Likewise.
9908 (grub_sm712_write_dda_lookup): Likewise.
9909 (grub_video_sm712_setup): Initialise the video rather then
9910 blindly replay the dump.
9911 (main) [TEST]: Add a routine to be able to compile as standalone for
9912 tests.
9913 * video/sm712_init.c (sm712_init): Removed.
9914 (sm712_sr_seq1): New array.
9915 (sm712_sr_seq2): Likewise.
9916
f0206638
VS
99172010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9918
9919 * include/grub/vga.h: Add missing grub/pci.h include.
9920
2764da3b
YB
99212010-08-10 Yves Blusseau <blusseau@zetam.org>
9922
9923 * util/grub-macho2img.c (main): fix typo
9924
cf0c775e
VS
99252010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9928 (grub_vga_gr_read): Likewise.
9929 (grub_vga_cr_write): Likewise.
9930 (grub_vga_cr_read): Likewise.
9931 (grub_vga_sr_write): Likewise.
9932 (grub_vga_sr_read): Likewise.
9933 (grub_vga_palette_read): Likewise.
9934 (grub_vga_palette_write): Likewise.
9935 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9936 (grub_sm712_sr_read): New function.
9937 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9938 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9939
07f360e9
RM
99402010-08-09 Robert Millan <rmh@gnu.org>
9941
9942 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9943 out unused variables on non-ZFS build.
9944
346c2072
RM
99452010-08-08 Robert Millan <rmh@gnu.org>
9946
9947 Fix path generation for sub-filesystems in ZFS.
9948
9949 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9950 missing slash.
9951
71175420
RM
99522010-08-08 Robert Millan <rmh@gnu.org>
9953
9954 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9955
0d8286f3
RM
99562010-08-08 Robert Millan <rmh@gnu.org>
9957
9958 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9959 exist, issue a proper error message (rely on `ls' for translated
9960 strings).
9961
55dd2924
RM
99622010-08-08 Robert Millan <rmh@gnu.org>
9963
9964 Fix grub-probe invocation.
9965
9966 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9967
d3dd9e80
RM
99682010-08-04 Robert Millan <rmh@gnu.org>
9969
9970 * configure.ac: Remove checks for getfsstat() and getmntany().
9971 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9972 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9973 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9974 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9975 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9976 function.
9977 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9978 via find_mount_point_from_dir() and getfsstat() / getmntany().
9979
0de22aa9
RM
99802010-08-04 Robert Millan <rmh@gnu.org>
9981
9982 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9983 (grub_find_zpool_from_mount_point): Merge into ...
9984 (grub_find_zpool_from_dir): ... this.
9985 * kern/emu/misc.c: Likewise.
9986
9987 * kern/emu/misc.c
9988 (grub_make_system_path_relative_to_its_root): Replace
9989 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9990 with grub_find_zpool_from_dir().
9991 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9992
62858144
RM
99932010-08-04 Robert Millan <rmh@gnu.org>
9994
9995 Support OpenSolaris in ZFS device resolution.
9996
9997 * configure.ac: Check for getmntany().
9998 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9999 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
10000 support.
10001
9dd6fd50
RM
100022010-08-03 Robert Millan <rmh@gnu.org>
10003
10004 Fix grub-emu build.
10005
10006 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
10007 * include/grub/emu/misc.h: ... here.
10008
10009 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
10010 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
10011
10012 * util/misc.c: Remove `<grub/util/libzfs.h>'.
10013 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
10014 (grub_get_libzfs_handle): Move to ...
10015 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
10016 (grub_get_libzfs_handle): ... here.
10017
c9f7ff97
BC
100182010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
10019
10020 * script/execute.c (grub_script_execute_cmdline): Check for NULL
10021 as command name case.
10022
a870a783
CW
100232010-08-02 Colin Watson <cjwatson@ubuntu.com>
10024
10025 * disk/raid.c (insert_array): Select unique numbers for named arrays
10026 as well, for use as keys in the disk cache.
10027
c7db243b
RM
100282010-08-01 Robert Millan <rmh@gnu.org>
10029
10030 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
10031 kFreeBSD device name, except on ZFS where the filesystem label is
10032 used.
10033 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
10034 `/boot/zfs/zpool.cache'.
10035 Set mountfrom kernel variable using ${kfreebsd_device}.
10036
f7abdefb
RM
100372010-08-01 Robert Millan <rmh@gnu.org>
10038
10039 Make it even harder to use uninitialized `libzfs_handle' (and
10040 make the interface a bit simpler).
10041
10042 * include/grub/util/misc.h (grub_util_init_libzfs)
10043 (libzfs_handle): Remove.
10044 (grub_get_libzfs_handle): New prototype.
10045
10046 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
10047 attribute.
10048 (grub_util_init_libzfs): Remove.
10049 (grub_get_libzfs_handle): New function.
10050
10051 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
10052 grub_get_libzfs_handle() to obtain a libzfs handle instead of
10053 accessing `libzfs_handle' directly.
10054
c882acc0
RM
100552010-08-01 Robert Millan <rmh@gnu.org>
10056
10057 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10058 (grub_find_zpool_from_mount_point): New function prototypes.
10059
10060 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10061 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10062
10063 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10064 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10065 `static' attribute.
10066
10067 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10068 finding zpool from mount point into ...
10069 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10070
10071 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10072 requested path is part of a ZFS pool, use
10073 grub_find_zpool_from_mount_point() to detect its filesystem name,
10074 and generate a path with `/fsname@path' syntax.
10075
8bfe31d8
CW
100762010-08-01 Colin Watson <cjwatson@ubuntu.com>
10077
10078 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
10079 (void) rather than () so that this is a proper prototype.
10080
553df63d
VS
100812010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10082
10083 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
10084
8687cf07
VS
100852010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
10086
10087 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
10088 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
10089
ea9be8ea
CW
100902010-08-01 Colin Watson <cjwatson@ubuntu.com>
10091
10092 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
10093
6eea041a
CW
100942010-08-01 Colin Watson <cjwatson@ubuntu.com>
10095
10096 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
10097
2cfb45df
CW
100982010-08-01 Colin Watson <cjwatson@ubuntu.com>
10099
10100 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
10101 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
10102 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
10103 disable gfxpayload.
10104 (Shell-like scripting): Add real content.
10105 (Serial terminal): Suggest `terminal_input serial; terminal_output
10106 serial' rather than putting the two commands on separate lines,
10107 since console input will be inoperative after the first command.
10108 (menuentry): Document --class, --users, and --hotkey options.
10109 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
10110 Vladimir Serbinenko).
10111
7decd202
VS
101122010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
101132010-08-01 Colin Watson <cjwatson@ubuntu.com>
10114
10115 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
10116
c882acc0
RM
101172010-08-01 Robert Millan <rmh@gnu.org>
10118
10119 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10120 (grub_find_zpool_from_mount_point): New function prototypes.
10121
10122 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
10123 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
10124
10125 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
10126 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
10127 `static' attribute.
10128
10129 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
10130 finding zpool from mount point into ...
10131 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
10132
10133 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
10134 requested path is part of a ZFS pool, use
10135 grub_find_zpool_from_mount_point() to detect its filesystem name,
10136 and generate a path with `/fsname@path' syntax.
10137
deb0caa3
RM
101382010-08-01 Robert Millan <rmh@gnu.org>
10139
10140 Prevent accidental use of uninitialized libzfs_handle.
10141
10142 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
10143 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
10144 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
10145
ce04ef47
CW
101462010-08-01 Colin Watson <cjwatson@ubuntu.com>
10147
10148 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
10149 util/grub.d/10_linux.in). Fixes Debian bug #591093.
10150
ebf53056
RM
101512010-08-01 Robert Millan <rmh@gnu.org>
10152
10153 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 10154
3710bb6b
RM
101552010-07-31 Robert Millan <rmh@gnu.org>
10156
10157 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
10158
8072efeb
RM
101592010-07-31 Robert Millan <rmh@gnu.org>
10160
10161 * kern/emu/misc.c: Add missing license header.
10162
3169f4c7
RM
101632010-07-31 Robert Millan <rmh@gnu.org>
10164
10165 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
10166
10167 * include/grub/util/libnvpair.h: Include `<config.h>'.
10168 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
10169 declaring libnvpair prototypes ourselves.
10170 * include/grub/util/libzfs.h: Include `<config.h>'.
10171 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
10172 declaring libzfs prototypes ourselves.
10173
10174 (libzfs_handle): Moved to ...
10175 * include/grub/util/misc.h (libzfs_handle): ... here.
10176 Include `<grub/util/libzfs.h>'.
10177
c9a00aee
RM
101782010-07-30 Robert Millan <rmh@gnu.org>
10179
10180 * include/grub/emu/misc.h: Add missing license header.
10181
a184f9c8
RM
101822010-07-30 Robert Millan <rmh@gnu.org>
10183
10184 Enable `grub-probe -t device' resolution on ZFS.
10185
10186 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
10187 * include/grub/util/libnvpair.h: New file.
10188 * include/grub/util/libzfs.h: New file.
10189
10190 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
10191 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
10192 `<grub/util/libnvpair.h>'.
10193 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
10194
10195 (find_mount_point_from_dir): New static function.
10196 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
10197 function.
10198 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
10199 find_root_device_from_libzfs() before ressorting to find_root_device().
10200
10201 * include/grub/util/misc.h (grub_util_init_libzfs): New function
10202 prototype.
10203 * util/misc.c: Include `<grub/util/libzfs.h>'.
10204 (grub_util_init_libzfs): New function.
10205 [HAVE_LIBZFS] (libzfs_handle): New global variable.
10206 [HAVE_LIBZFS] (fini_libzfs): New static function.
10207 (grub_util_init_libzfs): New function.
10208 * util/grub-probe.c (main): Call grub_util_init_libzfs().
10209
f7790cdd
RM
102102010-07-30 Robert Millan <rmh@gnu.org>
10211
10212 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
10213 (xmalloc, xrealloc, xstrdup, xasprintf): Add
10214 `warn_unused_result' attribute.
10215 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
10216 (grub_xasprintf, grub_xvasprintf): Likewise.
10217 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
10218
0806b63c
RM
102192010-07-29 Robert Millan <rmh@gnu.org>
10220
10221 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
10222 (probe): Handle `PRINT_FS_LABEL'.
10223 (main): Handle `-t fs_label'.
10224
9f841f5c
RM
102252010-07-29 Robert Millan <rmh@gnu.org>
10226
10227 * configure.ac: Remove grub-mkisofs checks.
10228
46371121
VS
102292010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * util/ieee1275/grub-install.in: Don't use empty grub_device.
10232 Reported by: Lennart Sorensen.
10233
102342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
10237 prior to terminal_input/terminal_output separation. It's been over 1.5
10238 years and those versions weren't widely deployed.
10239
a9600892
CW
102402010-07-22 Colin Watson <cjwatson@ubuntu.com>
10241
10242 * disk/raid.c (insert_array): Don't count named arrays when looking
10243 for unused array numbers.
697e053c 10244 Reported and tested by: Michael Guntsche.
a9600892 10245
c03507df
CW
102462010-07-20 Colin Watson <cjwatson@ubuntu.com>
10247
10248 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
10249 implementation of this so that grub-emu links again, with a note
10250 that this should support hotplugging in the future.
10251
b26f1c11
CW
102522010-07-20 Colin Watson <cjwatson@ubuntu.com>
10253
10254 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10255
efc9d7f1
CW
102562010-07-20 Colin Watson <cjwatson@ubuntu.com>
10257
10258 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
10259 handle on failure.
10260 (grub_loopback_close): Remove empty function.
10261 (grub_loopback_dev): Remove close method.
10262
dd8ff5c9
CW
102632010-07-20 Colin Watson <cjwatson@ubuntu.com>
10264
10265 Disable EFI cursor when the EFI console becomes inactive.
10266
10267 * term/efi/console.c (grub_efi_console_init): New function.
10268 (grub_efi_console_fini): New function.
10269 (grub_console_term_output): Register init and fini methods.
10270
5e3bec67
VS
102712010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10272
10273 * tests/util/grub-shell-tester.in: Remove bashism and declare as
10274 sh script.
10275
afaec079
VS
102762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10277
10278 * disk/loopback.c (grub_loopback): Replace filename with file.
10279 (delete_loopback): Handle new semantics.
10280 (grub_cmd_loopback): Likewise.
10281 (grub_loopback_iterate): Likewise.
10282 (grub_loopback_close): Likewise.
10283
a6a11f3c
VS
102842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10285
10286 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
10287 with -p "".
10288 Reported by: Tito Keitel.
10289
64a638b0
VS
102902010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * docs/grub.texi (Naming convention): Document new naming convention.
10293
ab8ba957
VS
102942010-07-20 Vadim Solomin <vadic052@gmail.com>
102952010-07-20 Colin Watson <cjwatson@ubuntu.com>
10296
10297 Generate device.map in something closer to the old ordering.
10298
10299 * util/deviceiter.c (struct device): New declaration.
10300 (compare_file_names): Rename to ...
10301 (compare_devices): ... this. Sort by kernel name in preference to
10302 the stable by-id name, but keep the latter as a fallback comparison.
10303 Update header comment.
10304 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
10305 of `struct device' rather than of plain file names.
10306
a29d6a4b
TF
103072010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
10308
10309 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
10310 on i386.
10311
39d824e8
VS
103122010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 * commands/acpi.c (setup_common_tables): Use sizeof instead of
10315 hardcoding size.
10316 (setv1table): Likewise.
10317
f058276b
FZ
103182010-07-20 Colin Watson <cjwatson@ubuntu.com>
10319
10320 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
10321 removing the homehost if present.
10322 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
10323 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
10324 removing the homehost if present.
10325 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
10326 if possible.
10327 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
10328
10329 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
10330 parameter. Set its pointer target to 0.
10331 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
10332 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
10333 `data_offset' value from the superblock for 1.x metadata.
10334 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
10335 data on the device.
10336 (insert_array): Record the start sector of data on the device.
10337 (grub_raid_register): Pass start_sector parameters to
10338 grub_raid_list->detect and insert_array.
10339 * include/grub/raid.h (struct grub_raid_array): Add start_sector
10340 member.
10341 (struct grub_raid): Add start_sector parameter to `detect'.
10342
10343 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
10344 __attribute__ ((packed)), leaving a comment.
10345 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
10346 (grub_mdraid_detect_09): ... here and ...
10347 (grub_mdraid_detect_1x): ... here.
10348
103492010-07-20 Peter Henn <peter.henn@web.de>
10350
10351 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
10352 chunk size and disk size, which are already given as sector counts
10353 as distinct from the 0.90 units. Fetch the correct device number
10354 from the role table instead of using the table index.
10355
103562010-07-20 Felix Zielcke <fzielcke@z-51.de>
10357
10358 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
10359 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
10360 (WriteMostly1): New macro.
10361 Set array->name to NULL for metadata format 0.90. Add support for
10362 metadata 1.x. Fix some comments.
10363 * disk/raid.c (): Add support for name based RAID arrays. Fix a
10364 few comments.
10365 * util/getroot.c (grub_util_get_grub_dev): Add support for
10366 /dev/md/name style devices.
10367
4b761da9
CW
103682010-07-20 Colin Watson <cjwatson@ubuntu.com>
10369
10370 * .bzrignore: Ignore 20_linux_xen.
10371
5771289a
CW
103722010-07-17 Colin Watson <cjwatson@ubuntu.com>
10373
10374 * util/import_unicode.py: Remove unnecessary imports.
10375
5dab68df
AN
103762010-07-17 Aleš Nesrsta <starous@volny.cz>
10377
10378 Hotplugging and USB hub support.
10379
10380 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
10381 (grub_ohci): Likewise.
10382 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
10383 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
10384 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
10385 (GRUB_OHCI_CTRL_EDS): Likewise.
10386 (GRUB_OHCI_BULK_EDS): Likewise.
10387 (GRUB_OHCI_TDS): Likewise.
10388 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
10389 (grub_ohci_ed_phys2virt): New function.
10390 (grub_ohci_virt_to_phys): Likewise.
10391 (grub_ohci_td_phys2virt): Likewise.
10392 (grub_ohci_td_virt2phys): Likewise.
10393 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
10394 attachment.
10395 (grub_ohci_find_ed): New function.
10396 (grub_ohci_alloc_td): Likewise.
10397 (grub_ohci_free_td): Likewise.
10398 (grub_ohci_free_tds): Likewise.
10399 (grub_ohci_transfer): Use previously allocated memory.
10400 (grub_ohci_portstatus): Reset status changed bit.
10401 (grub_ohci_detect_dev): Supply status changed.
10402 (grub_ohci_fini_hw): Free memory.
10403 (grub_ohci_restore_hw): Reallocate memory.
10404 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
10405 Reset status change.
10406 (grub_uhci_detect_dev): Supply status_change.
10407 * bus/usb/usb.c (attach_hooks): New var.
10408 (grub_usb_device_attach): New function.
10409 (grub_usb_register_attach_hook_class): Likewise.
10410 (grub_usb_unregister_attach_hook_class): Likewise.
10411 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
10412 (grub_usb_add_hub): Reset connection changed bit.
10413 (attach_root_port): New function.
10414 (grub_usb_root_hub): Likewise.
10415 (poll_nonroot_hub): Likewise.
10416 (grub_usb_poll_devices): Likewise.
10417 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
10418 * disk/usbms.c (grub_usbms_open): Use device hooks.
10419 (grub_usbms_iterate) :Poll devices.
10420 (grub_usbms_finddevs): Split into ...
10421 (grub_usbms_attach): ... this ...
10422 (grub_usbms_attach): ... and this.
10423 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
10424 in detect_dev.
10425 (grub_usb_interface): New fields attached and detach_hook.
10426 (grub_usb_attach_hook_class): New type.
10427 (grub_usb_attach_desc): New struct.
10428 (grub_usb_register_attach_hook_class): New function.
10429 (grub_usb_unregister_attach_hook_class): Likewise.
10430 (grub_usb_poll_devices): Likewise.
10431 (grub_usb_device_attach): Likewise.
10432 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
10433 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
10434
3222efaf
VS
104352010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
10438 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
10439 delta determination style. Works with most NetBSD partitions too.
10440
139b714a
VS
104412010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
10444 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
10445
986aad56
VS
104462010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
10449
99be513c
AB
104502010-07-14 Anton Blanchard <anton@samba.org>
10451
10452 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
10453 ET_DYN files.
10454
18075f62
GS
104552010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10456
10457 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
10458
8d9a5b15
GS
104592010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10460
10461 * kern/partition.c (grub_partition_check_containment): New function to
10462 check that a partition is physically contained in a parent. Since
10463 offsets are relative (and non-negative), this reduces to checking that
10464 the partition ends before its parent.
10465 (grub_partition_map_probe): Discard out-of-range sub-partitions.
10466 (grub_partition_iterate): Likewise.
10467 * include/grub/partition.h (grub_partition_map): Slightly more detailed
10468 comments.
10469 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
10470 partitions that start before their parent, and add debug printfs.
10471
19563c25
CW
104722010-07-13 Colin Watson <cjwatson@ubuntu.com>
10473
10474 * Makefile.in (.SUFFIX): Spell correctly, as ...
10475 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
10476 bare module name without `.mod', e.g. `test') tried to invoke a
10477 Modula-2 compiler.
10478
1a1f1e67
CW
104792010-07-13 Colin Watson <cjwatson@ubuntu.com>
10480
10481 * README: Point to the Info manual.
10482
811b0dca
JS
104832010-07-13 Jiro SEKIBA <jir@unicus.jp>
10484
10485 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
10486 2nd superblock position from partition size.
10487
e4f4eafc
CW
104882010-07-10 Colin Watson <cjwatson@ubuntu.com>
10489
10490 * Makefile.in (MAINTAINER_CLEANFILES): Remove
10491 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
10492 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
10493 outputs.
10494
4274c30f
VS
104952010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10496
10497 Restructure SCSI .id handling.
10498 Reported and tested by: Aleš Nesrsta.
10499
10500 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10501 (grub_atapi_dev): Changed .name to "ata". New field .id.
10502 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10503 (grub_usbms_dev): New field .id.
10504 * disk/scsi.c (grub_scsi_iterate): Generate name.
10505 (grub_scsi_open): Parse name.
10506 * include/grub/scsi.h (grub_make_scsi_id): New function.
10507 (grub_scsi_dev): Change iterate and open to number instead of naming
10508 busses. All users updated.
10509 (grub_scsi): Remove name. Add .bus.
10510
5bc24388
VS
105112010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * commands/help.c (grub_cmd_help): Fix a typo.
10514
249975ba
VS
105152010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10518 Reported and tested by: Colin Watson.
10519
3eaac1a1
VS
105202010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10523 in this context.
10524
becce1b1
VS
105252010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10528
f7bf0918
CW
105292010-07-07 Colin Watson <cjwatson@ubuntu.com>
10530
10531 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10532 indentation.
10533
0b0f9620
CW
105342010-07-06 Colin Watson <cjwatson@ubuntu.com>
10535
10536 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10537 and disk/raid6_recover.c.
10538 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10539 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10540
1e545469
CW
105412010-07-06 Colin Watson <cjwatson@ubuntu.com>
10542
10543 * term/gfxterm.c (repaint_schedulded): Rename to ...
10544 (repaint_scheduled): ... this. Update all callers.
10545 (repaint_was_schedulded): Rename to ...
10546 (repaint_was_scheduled): ... this. Update all callers.
10547
5357687a
CW
105482010-07-06 Colin Watson <cjwatson@ubuntu.com>
10549
10550 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10551 which we expect to be handled by upper layers.
10552
29d7e783
BC
105532010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10554
10555 * bus/usb/usbhub.c: #include time.h header.
10556
37582066
CW
105572010-07-06 Colin Watson <cjwatson@ubuntu.com>
10558
10559 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10560 entry_name also for entries without stat blocks (e.g. ".."); fixes
10561 corruption of the first entry in a directory.
10562
c8c06953
CW
105632010-07-06 Colin Watson <cjwatson@ubuntu.com>
10564
10565 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10566 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10567 doesn't work otherwise.
10568
e75056f1
CW
105692010-07-05 Colin Watson <cjwatson@ubuntu.com>
10570
10571 * docs/grub.texi (Features): Update list of supported file systems.
10572 (GNU/Linux): Update for GRUB 2.
10573 (Serial terminal): Remove mention of --disable-serial, which was a
10574 GRUB Legacy configure option. Update instructions to use
10575 `terminal_input' and `terminal_output' rather than `terminal'.
10576 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10577 configuration' and `Installing GRUB using grub-install'.
10578 (Menu entry editor): Update for GRUB 2.
10579 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10580 Document new -a, -u, and -v options.
10581 (initrd): New section.
10582 (initrd16): New section.
10583 (linux): New section.
10584 (linux16): New section.
10585 (search): The `var' argument to `--set' is optional.
10586 (GRUB only offers a rescue shell): Go into a little more detail on
10587 drive ordering.
10588
5cf69151
CW
105892010-07-05 Colin Watson <cjwatson@ubuntu.com>
10590
10591 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10592
e3f90044
CW
105932010-07-05 Colin Watson <cjwatson@ubuntu.com>
10594
10595 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10596 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10597
38d8f4f3
CW
105982010-07-05 Colin Watson <cjwatson@ubuntu.com>
10599
10600 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10601 install_prefix, in line with install_dos_part and install_bsd_part.
10602 Add new prefix variable, which is copied to install_prefix after
10603 comparing core.img in memory with the one read from disk in the
10604 no-embedding case, and use that rather than overwriting
10605 install_prefix immediately when installing to a partition.
10606 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10607 Bicakci.
10608
57ebd41e
GS
106092010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10610
10611 * configure.ac: Avoid == in test command, it's not portable.
10612 * util/grub.d/30_os-prober.in: Likewise.
10613
cb7f64b2
CW
106142010-07-04 Colin Watson <cjwatson@ubuntu.com>
10615
10616 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10617
6b654bb0
GS
106182010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10619
10620 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10621 multiple (top-level) partmaps.
10622
72a2026d
VS
106232010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 10626 Reported by: Tino Keitel.
72a2026d 10627
df3eb88f
VS
106282010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 Bidi and diacritics support.
10631
10632 * Makefile.in (widthspec.bin): New target.
10633 (widthspec.h): Likewise.
10634 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10635 * autogen.sh: Generate unidata.c.
10636 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10637 * commands/ls.c (grub_ls_list_devices): Likewise.
10638 (grub_ls_list_files): Likewise.
10639 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10640 (grub_mini_cmd_lsmod): Likewise.
10641 * commands/read.c: Likewise.
10642 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10643 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10644 * lib/arg.c (grub_arg_show_help): Likewise.
10645 * lib/crypto.c (grub_password_get): Likewise.
10646 * normal/auth.c (grub_username_get): Likewise.
10647 * normal/misc.c (grub_normal_print_device_info): Likewise.
10648 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10649 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10650 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10651 (normal/charset.c_DEPENDENCIES): New variable.
10652 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10653 (pkglib_MODULES): Remove charset.mod.
10654 (charset_mod_SOURCES): Removed.
10655 (charset_mod_CFLAGS): Likewise.
10656 (charset_mod_LDFLAGS): Likewise.
10657 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10658 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10659 and term/tparm.c.
10660 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10661 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10662 (kernel_img_HEADERS): Add terminfo.h.
10663 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10664 Fill ->font. Reverse ascii bitmaps.
10665 (grub_font_get_xheight): New function.
10666 * font/font.c (grub_font_get_string_width): Moved from here ...
10667 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10668 * font/font.c (grub_font_draw_string): Moved from here ...
10669 * gfxmenu/font.c (grub_font_draw_string): ... here.
10670 * font/font.c (grub_font_dup_glyph): New function.
10671 (grub_font_blit_glyph): Likewise.
10672 (grub_font_blit_glyph_mirror): Likewise.
10673 (blit_comb): Likewise.
10674 (grub_font_construct_dry_run): Likewise.
10675 (grub_font_get_constructed_device_width): Likewise.
10676 (grub_font_construct_glyph): Likewise.
10677 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10678 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10679 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10680 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10681 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10682 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10683 (grub_font_get_xheight): New proto.
10684 (grub_font_get_constructed_device_width): Likewise.
10685 (grub_font_construct_glyph): Likewise.
10686 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10687 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10688 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10689 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10690 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10691 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10692 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10693 (grub_console_getcharwidth): Likewise.
10694 * include/grub/misc.h (grub_xputs): New proto.
10695 (grub_puts): Inlined.
10696 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10697 (grub_normal_get_line_counter): Removed.
10698 (grub_install_newline_hook): Likewise.
10699 (grub_normal_get_char_counter): New proto.
10700 (grub_normal_reset_more): Likewise.
10701 (grub_xputs_normal): Likewise.
10702 * include/grub/powerpc/ieee1275/console.h: Removed.
10703 * include/grub/sparc64/ieee1275/console.h: Likewise.
10704 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10705 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10706 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10707 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10708 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10709 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10710 (grub_term_input): Pass reference to self. All users updated.
10711 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10712 Pass reference to self. New fields normal_color, highlight_color and
10713 data. All users updated.
10714 (grub_putchar): Removed.
10715 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10716 (grub_unicode_estimate_width): New function.
10717 (grub_term_getcharwidth): Add defaults.
10718 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10719 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10720 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10721 (grub_cls): Remove EXPORT_FUNC.
10722 (grub_setcolorstate): Inline.
10723 (grub_newline_hook): Removed.
10724 * include/grub/terminfo.h: Rewritten. All users updated.
10725 * include/grub/unicode.h: New file.
10726 * include/grub/video.h (grub_video_signed_rect): New type.
10727 * kern/emu/console.c (grub_console_highlight_color): Removed.
10728 (grub_console_normal_color): Likewise.
10729 (grub_console_standard_color): Made static.
10730 (grub_ncurses_putchar): Remove mapping.
10731 (grub_ncurses_getcharwidth): Removed.
10732 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10733 (grub_ncurses_setcolor): Removed.
10734 (grub_ncurses_getcolor): Likewise.
10735 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10736 (grub_console_putchar): ... this.
10737 (grub_console_putchar): Handle argument difference.
10738 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10739 console_init_early and console_init_lately.
10740 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10741 * kern/misc.c (grub_puts): Removed.
10742 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10743 (grub_vsnprintf_real): Remove str = NULL support.
10744 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10745 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10746 * kern/term.c (grub_putcode): Renamed to ...
10747 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10748 (grub_putchar): Removed.
10749 (grub_xputs_dumb): New function.
10750 (grub_xputs): New variable.
10751 * lib/charset.c: Move from here ...
10752 * normal/charset.c: ... to here.
10753 (grub_ucs4_to_utf8): New function.
10754 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10755 (join_types): New variable.
10756 (unpack_join): New function.
10757 (bidi_types): New variable.
10758 (unpack_bidi): New function.
10759 (get_bidi_type): Likewise.
10760 (get_join_type): Likewise.
10761 (is_mirrored): Likewise.
10762 (grub_unicode_get_comb_type): Likewise.
10763 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10764 (is_type_after): Likewise.
10765 (grub_unicode_aglomerate_comb): Likewise.
10766 (bidi_line_wrap): Likewise.
10767 (grub_bidi_line_logical_to_visual): Likewise.
10768 (grub_bidi_logical_to_visual): Likewise.
10769 (grub_unicode_mirror_code): Likewise.
10770 (grub_unicode_shape_code): Likewise.
10771 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10772 Don't use grub_putchar.
10773 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10774 (grub_normal_reader_init): Likewise.
10775 (grub_xputs_saved): New variable.
10776 (GRUB_MOD_INIT): Set grub_xputs.
10777 (GRUB_MOD_FINI): Restore grub_xputs.
10778 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10779 (menu_init): Avoid printing gfxmenu error.
10780 (show_menu): Use grub_normal_get_char_counter.
10781 * normal/menu_entry.c (update_screen): Fix out-of-array.
10782 (complete): Avoid NULL dereferencing.
10783 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10784 * normal/menu_text.c (print_spaces): Removed.
10785 (grub_print_ucs4): Likewise.
10786 (grub_print_message_indented): Use grub_print_ucs4.
10787 (print_message): Use grub_putcode.
10788 (print_entry): Hanlde diacritics.
10789 * normal/term.c (term_state): New type.
10790 (grub_more_lines): Removed.
10791 (term_states): New variable.
10792 (grub_normal_line_counter): Renamed to ..
10793 (grub_normal_char_counter): ...this. All users updated.
10794 (grub_normal_get_line_counter): Renamed to ...
10795 (grub_normal_get_char_counter): ... this.
10796 (grub_normal_reset_more): New function.
10797 (process_newline): Removed.
10798 (print_more): New function.
10799 (grub_install_newline_hook): Removed.
10800 (map_code): New function.
10801 (grub_puts_terminal): Use grub_print_ucs4.
10802 (putglyph): New function.
10803 (putcode_real): Likewise.
10804 (grub_putcode): Use putcode_real.
10805 (get_maxwidth): New function.
10806 (get_startwidth): Likewise.
10807 (print_ucs4_terminal): Likewise.
10808 (find_term_state): Likewise.
10809 (put_glyphs_terminal): Likewise.
10810 (print_backlog): Likewise.
10811 (print_ucs4_real): Likewise.
10812 (grub_print_ucs4): Likewise.
10813 (grub_xputs_normal): Likewise.
10814 * term/efi/console.c (grub_console_putchar): Output diacritics.
10815 (grub_console_getcharwidth): Removed.
10816 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10817 * term/gfxterm.c (clear_char): Free chars.
10818 (scroll_up): Avoid leaking memory.
10819 (grub_gfxterm_putchar): Support diacritics.
10820 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10821 * term/i386/pc/console.c (grub_console_term_output): Declare as
10822 GRUB_TERM_CODE_TYPE_VGA.
10823 * term/i386/pc/vga.c (grub_vga_term): Declare as
10824 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10825 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10826 GRUB_TERM_CODE_TYPE_VGA.
10827 * term/i386/vga_common.c (map_char): Removed.
10828 (grub_console_putchar): Likewise.
10829 (grub_console_getcharwidth): Likewise.
10830 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10831 (colors): Reordered to match terminfo.
10832 (grub_ofconsole_normal_color): Removed.
10833 (grub_ofconsole_writeesc): Likewise.
10834 (grub_ofconsole_highlight_color): Likewise.
10835 (grub_ofconsole_getcharwidth): Likewise.
10836 (grub_ofconsole_setcolorstate): Likewise.
10837 (grub_ofconsole_setcolor): Likewise.
10838 (grub_ofconsole_getcolor): Likewise.
10839 (grub_ofconsole_readkey): Renamed to ...
10840 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10841 key.
10842 (grub_ofconsole_checkkey): Removed.
10843 (grub_ofconsole_getkey): Likewise.
10844 (grub_ofconsole_getxy): Likewise.
10845 (grub_ofconsole_gotoxy): Likewise.
10846 (grub_ofconsole_cls): Likewise.
10847 (grub_ofconsole_refresh): Likewise.
10848 (grub_ofconsole_terminfo_input): New struct.
10849 (grub_ofconsole_terminfo_output): Likewise.
10850 (grub_ofconsole_term_input): Use terminfo.
10851 (grub_ofconsole_term_output): Likewise.
10852 (grub_console_init): Split into ...
10853 (grub_console_init_early): ...this and ...
10854 (grub_console_init_lately): ...this. Use terminfo.
10855 (grub_ofconsole_putchar): Renamed to ...
10856 (put): ... this. Remove mapping.
10857 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10858 * term/serial.c: Simplify using terminfo.
10859 (xpos): Removed.
10860 (ypos): Likewise.
10861 (keep_track): Likewise.
10862 (registered): Likewise.
10863 (input_buf): Likewise.
10864 (npending): Likewise.
10865 (serial_translate_key_sequence): Likewise.
10866 (fill_input_buf): Likewise.
10867 (grub_serial_checkkey): Likewise.
10868 (grub_serial_getkey): Likewise.
10869 (grub_serial_getxy): Likewise.
10870 (grub_serial_gotoxy): Likewise.
10871 (grub_serial_putchar): Likewise.
10872 (grub_serial_cls): Likewise.
10873 (grub_serial_setcolorstate): Likewise.
10874 (grub_serial_setcursor): Likewise.
10875 (serial_hw_init): Use serial_hw_fetch.
10876 (grub_serial_terminfo_input): New variable.
10877 (grub_serial_terminfo_output): Likewise.
10878 (grub_serial_term_input): Use terminfo.
10879 (grub_serial_term_output): Likewise.
10880 * term/terminfo.c (putstr): Use put.
10881 (grub_terminfo_all_free): New function
10882 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10883 (grub_terminfo_output_register): New function.
10884 (grub_terminfo_output_unregister): Likewise.
10885 (grub_terminfo_getxy): Likewise.
10886 (grub_terminfo_readkey): Likewise.
10887 (grub_terminfo_checkkey): Likewise.
10888 (grub_terminfo_getkey): Likewise.
10889 (grub_terminfo_input_init): Likewise.
10890 (print_terminfo): Likewise.
10891 (grub_cmd_terminfo): Handle encoding.
10892 (grub_terminfo_gotoxy): Track position.
10893 (grub_terminfo_cls): Likewise.
10894 (grub_terminfo_putchar): Likewise.
10895 (grub_terminfo_setcolorstate): Handle colors
10896 (grub_terminfo_cursor_on): This ...
10897 (grub_terminfo_cursor_off): ... and this merged into ...
10898 (grub_terminfo_setcursor): ... this.
10899 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10900 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10901 * unicode/BidiMirroring.txt: Likewise.
10902 * unicode/UnicodeData.txt: Likewise.
10903 * unicode/COPYING: Likewise.
10904 * util/grub-editenv.c (grub_putchar): Removed.
10905 (grub_xputs_real): New function.
10906 (grub_xputs): New variable.
10907 * util/grub-fstest.c (grub_putchar): Removed.
10908 (grub_xputs_real): New function.
10909 (grub_xputs): New variable.
10910 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10911 (grub_xputs_real): New function.
10912 (grub_xputs): New variable.
10913 * util/grub-probe.c (grub_putchar): Removed.
10914 (grub_xputs_real): New function.
10915 (grub_xputs): New variable.
10916 * util/grub-script-check.c (grub_putchar): Removed.
10917 (grub_xputs_real): New function.
10918 (grub_xputs): New variable.
10919 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10920 (grub_xputs_real): New function.
10921 (grub_xputs): New variable.
10922 * util/import_unicode.py: New file.
10923 * util/grub-mkfont.c (ft_errmsgs): New array.
10924 (grub_glyph_info): Make bitmap a pointer.
10925 (file_formats): New type WIDTH_SPEC.
10926 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10927 (options): Add width-spec.
10928 (help): Likewise.
10929 (add_char): Renamed to ...
10930 (add_glyph): ... this.
10931 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10932 (glyph_replace): New type.
10933 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10934 (add_char): New function.
10935 (add_subst): Likewise.
10936 (process_cursive): Likewise.
10937 (add_font): Handle GSUB.
10938 (write_font_width_spec): New function.
10939 (main): Sort glyphs.
10940 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10941 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10942 * kern/term.c (grub_cls): Moved from here...
10943 * normal/term.c (grub_cls): ... here.
10944
50f0bcda
CW
109452010-07-02 Colin Watson <cjwatson@ubuntu.com>
10946
10947 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10948 suitable for using within the format argument of printf when
10949 converting grub_size_t.
10950 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10951 "x" to convert grub_size_t arguments.
10952
40372103
VS
109532010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10954
10955 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10956 too long captions.
10957 (list_get_minimal_size): Take selection box into account.
10958
942a10c7
VS
109592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10960
10961 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10962 NULL font.
10963
2bdb2892
CW
109642010-07-02 Colin Watson <cjwatson@ubuntu.com>
10965
10966 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10967 devices when iterating over /dev/disk/by-id; they will be handled
10968 later if appropriate, which they aren't always (e.g. LVM).
10969
e03ed6c1
CW
109702010-07-02 Colin Watson <cjwatson@ubuntu.com>
10971
10972 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10973 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10974 fails.
10975 (grub_halt): Likewise.
10976 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10977 reset-all fails.
10978 (grub_halt): Don't return, even if all of shut-down, power-off, and
10979 poweroff fail.
10980
47695765
CW
109812010-07-02 Colin Watson <cjwatson@ubuntu.com>
10982
10983 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10984 arguments, not three.
10985
507736c8
CW
109862010-07-02 Colin Watson <cjwatson@ubuntu.com>
10987
10988 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10989 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10990 LVM-on-RAID is handled correctly.
10991
e3c8cd37
CW
109922010-07-02 Colin Watson <cjwatson@ubuntu.com>
10993
10994 * docs/grub.texi (Changes from GRUB Legacy): New section.
10995 (Future): Fix typo.
10996
8d4a2fec
CW
109972010-07-02 Colin Watson <cjwatson@ubuntu.com>
10998
10999 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
11000 grub.d/README accidentally ends up executable for one reason or
11001 another. Ignore it.
11002
1c4827be
VS
110032010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
11006 (gpt_partition_map_iterate): Support non-512B sectors.
11007
d9a0c941
VS
110082010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * kern/efi/init.c (grub_efi_init): Disable watchdog.
11011 Tested by: Seth Goldberg.
11012
48f27e87
VS
110132010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
11016 Properly align mbi.
11017 Reported by: Seth Goldberg.
11018
b0c4f956
VS
110192010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11020
11021 * util/grub-mkrescue.in: Avoid module duplication.
11022
105a2e8c
SF
110232010-07-01 Sean Finney <seanius@seanius.net>
11024
11025 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
11026
5944958c
SF
110272010-07-01 Sean Finney <seanius@seanius.net>
11028
11029 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
11030
110312010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * disk/lvm.c (grub_lvm_checkvalue): New function.
11034 (grub_lvm_check_flag): Likewise.
11035
b79889ba
RM
110362010-07-01 Robert Millan <rmh@gnu.org>
11037
11038 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
11039 Support 'p' as partition separator on kernel of FreeBSD (used
11040 with GPT labels).
11041 (grub_util_biosdisk_get_grub_dev): Likewise.
11042
ec1d04f1
VS
110432010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
11044
11045 Yeeloong firmware port.
11046
11047 * boot/mips/yeeloong/fwstart.S: New file.
11048 * bus/cs5536.c (gpiodump): New const.
11049 (set_io_space): New function.
11050 (set_iod): Likewise.
11051 (set_p2d): Likewise.
11052 (grub_cs5536_init_geode): Likewise.
11053 * commands/mips/yeeloong/lsspd.c: New file.
11054 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
11055 (serial_mod_SOURCES): New variable.
11056 (serial_mod_CFLAGS): Likewise.
11057 (serial_mod_LDFLAGS): Likewise.
11058 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
11059 term/terminfo.c and term/tparm.c.
11060 (pkglib_IMAGES): Add fwstart.img.
11061 (fwstart_img_SOURCES): New variable.
11062 (fwstart_img_CFLAGS): Likewise.
11063 (fwstart_img_ASFLAGS): Likewise.
11064 (fwstart_img_LDFLAGS): Likewise.
11065 (fwstart_img_FORMAT): Likewise.
11066 (pkglib_MODULES): Add lsspd.mod.
11067 (lsspd_mod_SOURCES): New variable.
11068 (lsspd_mod_CFLAGS): Likewise.
11069 (lsspd_mod_LDFLAGS): Likewise.
11070 (pkglib_MODULES): Add halt.mod.
11071 (halt_mod_SOURCES): New variable.
11072 (halt_mod_CFLAGS): Likewise.
11073 (halt_mod_LDFLAGS): Likewise.
11074 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
11075 (serial_mod_SOURCES): Removed.
11076 (serial_mod_CFLAGS): Likewise.
11077 (serial_mod_LDFLAGS): Likewise.
11078 * disk/ata.c (check_device): New function.
11079 (grub_ata_device_initialize): Use check_device.
11080 (grub_ata_iterate): Recheck devices.
11081 (grub_ata_open): Likewise.
11082 (grub_atapi_iterate): Likewise.
11083 (grub_atapi_open): Likewise.
11084 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
11085 (GRUB_ATA_CH1_PORT1): Likewise.
11086 (GRUB_ATA_CH0_PORT2): Likewise.
11087 (GRUB_ATA_CH1_PORT2): Likewise.
11088 * include/grub/mips/loongson.h: New file.
11089 * include/grub/mips/yeeloong/ec.h: Likewise.
11090 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
11091 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
11092 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
11093 * include/grub/misc.h (grub_halt): Declare as noreturn.
11094 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
11095 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
11096 (UART_ENABLE_FIFO_TRIGGER1): New definition.
11097 (UART_ENABLE_DTRRTS): Likewise.
11098 (UART_ENABLE_MODEM): Removed.
11099 (UART_ENABLE_OUT2): New const.
11100 * include/grub/term.h (grub_term_register_input_active): New function.
11101 (grub_term_register_output_active): Likewise.
11102 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
11103 argument.
11104 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
11105 (init_pci): New function.
11106 (grub_machine_init): Execute platform init when firmware. Init serial.
11107 (grub_halt): Implement.
11108 (grub_exit): Likewise.
11109 (grub_reboot): Likewise.
11110 * term/serial.c (serial_hw_init): Update macros.
11111 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
11112 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
11113 (image_targets): New target mipsel-yeeloong-flash.
11114 (generate_image): Support IMAGE_YEELOONG_FLASH.
11115 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
11116 (grub_video_sm712_setup): Init card.
11117 (grub_video_sm712_set_palette): Removed.
11118 * video/sm712_init.c: New file.
11119
ff4a70d2
CW
111202010-06-30 Colin Watson <cjwatson@ubuntu.com>
11121
11122 * Makefile.in (install-local): Temporarily prepend $(builddir) to
11123 PATH when running help2man and then run it on the unadorned
11124 executable names, rather than passing $(builddir)/* paths to
11125 help2man. This avoids the build directory ending up in generated
11126 manual pages.
11127
1246efeb
CW
111282010-06-29 Colin Watson <cjwatson@ubuntu.com>
11129
11130 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
11131 to avoid accidents when debugging with 'sh -x'.
11132 * util/grub-mkrescue.in: Likewise.
11133 * util/grub.d/00_header.in: Likewise.
11134 * util/grub.d/10_hurd.in: Likewise.
11135 * util/grub.d/10_kfreebsd.in: Likewise.
11136 * util/grub.d/10_linux.in: Likewise.
11137 * util/grub.d/10_netbsd.in: Likewise.
11138 * util/grub.d/10_windows.in: Likewise.
11139 * util/grub.d/20_linux_xen.in: Likewise.
11140 * util/grub.d/30_os-prober.in: Likewise.
11141 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11142
1ba9b889
CW
111432010-06-29 Colin Watson <cjwatson@ubuntu.com>
11144
11145 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
11146 last character in the buffer.
11147 Reported by: Vladimir Serbinenko.
11148
dccaf99d
RM
111492010-06-29 Robert Millan <rmh@gnu.org>
11150
11151 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
11152 (Command-line and menu entry commands): Document `badram' command.
11153
d500ed12
RM
111542010-06-28 Robert Millan <rmh@gnu.org>
11155
11156 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
11157 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
11158 command using ${GRUB_BADRAM} as parameter.
11159
20bc84a6
CW
111602010-06-28 Colin Watson <cjwatson@ubuntu.com>
11161
11162 * docs/grub.texi (Device map): New section.
11163 (Themes): New section (stub).
11164 * Makefile.in (docs/grub.info): The info documentation now builds
11165 without errors. Make sure it stays that way.
11166
4045dee1
VS
111672010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 Use normal parser for menu entries.
11170 Reported by: Thomas Frauendorfer
11171
11172 * include/grub/parser.h (grub_parser_execute): Don't export.
11173 * normal/menu.c (grub_menu_execute_entry_real): New function.
11174 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
11175
bca58c7b
CW
111762010-06-28 Colin Watson <cjwatson@ubuntu.com>
11177
11178 * docs/grub.texi (Embedded configuration): New section (replacing
11179 old "Preset Menu" stub).
11180 (Images): New section.
11181 (configfile): Note that any menu entries defined in `file' are shown
11182 immediately.
11183
dec53e63
JT
111842010-06-28 Josh Triplett <josh@joshtriplett.org>
11185
11186 * mmap/i386/pc/mmap_helper.S: Set CF on return.
11187
c06e40f7
CW
111882010-06-28 Colin Watson <cjwatson@ubuntu.com>
11189
11190 * util/grub-install.in: Add --debug-image= option.
11191
cb88052b
CW
111922010-06-28 Colin Watson <cjwatson@ubuntu.com>
11193
11194 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
11195 possible on Linux.
11196
11197 * util/deviceiter.c (check_device): Rename to ...
11198 (check_device_readable_unique): ... this. Update all callers.
11199 Maintain and check a list of which devices (by canonicalized name)
11200 have already been seen.
11201 (clear_seen_devices): New function.
11202 (compare_file_names) [__linux__]: New function.
11203 (grub_util_iterate_devices): Clear the list of seen devices on exit
11204 and (just in case) on entry.
11205 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
11206 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
11207 seen-devices list, superseded by general code in check_device.
11208
bbe34652
CW
112092010-06-28 Colin Watson <cjwatson@ubuntu.com>
11210
11211 * commands/cat.c (options): New variable.
11212 (grub_cmd_cat): Parse options. If the --dos option is given, print
11213 DOS-style "\r\n" line endings as simple newlines (Debian bug
11214 #586358).
11215 (GRUB_MOD_INIT): Use extcmd.
11216 (GRUB_MOD_FINI): Likewise.
11217 * docs/grub.texi (cat): Document --dos.
11218
412e09f3
VS
112192010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 XEN with Linux grub-mkconfig support.
11222
11223 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
11224 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
11225 GRUB_CMDLINE_XEN_DEFAULT.
11226 * util/grub.d/20_linux_xen.in: New file.
11227
53f3ef38 112282010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
11229
11230 Initialise VGA video on qemu ourselves.
11231
11232 * boot/i386/qemu/boot.S: Don't call 0xc000.
11233 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
11234 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
11235 (kernel_img_HEADERS): Add pci.h.
11236 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
11237 * configure.ac: Force unifont on qemu and yeeloong.
11238 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
11239 (grub_vga_palette_write): Use correct register.
11240 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
11241 Call grub_qemu_init_cirrus.
11242 * kern/i386/qemu/init.c: New file.
11243 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
11244
11245 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
11246
c75be4fb
PR
112472010-06-26 Pavel Roskin <proski@gnu.org>
11248
11249 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
11250 13.
11251
d8034603
CW
112522010-06-26 Colin Watson <cjwatson@ubuntu.com>
11253
11254 * docs/grub.texi (Simple configuration): Explain that
11255 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
11256 set to `true' to disable their respective recovery entries, not
11257 merely set.
11258
3fa06487
CW
112592010-06-26 Colin Watson <cjwatson@ubuntu.com>
11260
11261 Make the `source' command slightly faster.
11262
11263 * normal/main.c (grub_normal_execute): Don't re-read list files when
11264 nested.
11265
e9b29642
CW
112662010-06-23 Colin Watson <cjwatson@ubuntu.com>
11267
11268 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
11269 field position and mask size to red fields from mode_info, not
11270 green.
11271 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
11272 Remove redundant tag->common.framebuffer_type assignment.
11273 Reported by: Seth Goldberg.
11274
e726542f
CW
112752010-06-23 Colin Watson <cjwatson@ubuntu.com>
11276
11277 Sync up other versions of the Linux loader with Robert Millan's
11278 change of 2010-01-09, "Make loader output a bit more user-friendly".
11279
11280 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
11281 grub_dprintf().
11282 (grub_cmd_linux): Likewise.
11283 (grub_cmd_initrd): Likewise.
11284 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
11285 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11286
d6e98a17
CW
112872010-06-21 Colin Watson <cjwatson@ubuntu.com>
11288
11289 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
11290 larger than MEMORY_MAP_SIZE.
11291
14d3f08e
BC
112922010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
11293
11294 Fix parallel build.
11295
11296 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
11297 dependency.
11298 * script/parser.y: #include grub_script.tab.h header.
11299
4f9613a3
VS
113002010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 Support >3GiB and <16MiB RAM in i386-qemu.
11303
11304 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
11305 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
11306 (grub_lower_mem): Removed.
11307 (grub_upper_mem): Likewise.
11308 (mem_size): Made static.
11309 (above_4g): New variable.
11310 (grub_machine_mmap_init): Detect small mem_size and above_4g.
11311 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
11312 support.
11313
05e51879
VS
113142010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11315
11316 Cirrus 5446 and Bochs video cards support.
11317
11318 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
11319 video_bochs.mod
11320 (video_cirrus_mod_SOURCES): New variable.
11321 (video_cirrus_mod_CFLAGS): Likewise.
11322 (video_cirrus_mod_LDFLAGS): Likewise.
11323 (video_bochs_mod_SOURCES): Likewise.
11324 (video_bochs_mod_CFLAGS): Likewise.
11325 (video_bochs_mod_LDFLAGS): Likewise.
11326 * include/grub/vga.h: New file.
11327 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
11328 (grub_video_fb_set_page_t): New type.
11329 (grub_video_fb_setup): New prototype.
11330 (grub_video_fb_swap_buffers): Likewise.
11331 (grub_video_fb_get_info_and_fini): Likewise.
11332 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
11333 (CRTC_DATA_PORT): Likewise.
11334 (CRTC_CURSOR): Likewise.
11335 (CRTC_CURSOR_ADDR_HIGH): Likewise.
11336 (CRTC_CURSOR_ADDR_LOW): Likewise.
11337 (CRTC_CURSOR_DISABLE): Likewise.
11338 (update_cursor): Use grub_vga_cr_write.
11339 (grub_vga_text_setcursor): Likewise.
11340 * video/bochs.c: New file.
11341 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
11342 (palette): Likewise.
11343 (palette_size): Likewise.
11344 (framebuffer): New variable.
11345 (grub_video_fb_init): Use 'framebuffer'.
11346 (grub_video_fb_fini): Likewise.
11347 (grub_video_fb_get_info): Likewise.
11348 (grub_video_fb_get_palette): Likewise.
11349 (grub_video_fb_set_palette): Likewise.
11350 (grub_video_fb_set_viewport): Likewise.
11351 (grub_video_fb_get_viewport): Likewise.
11352 (grub_video_fb_map_color): Likewise.
11353 (grub_video_fb_map_rgb): Likewise.
11354 (grub_video_fb_map_rgba): Likewise.
11355 (grub_video_fb_unmap_color): Likewise.
11356 (grub_video_fb_unmap_color_int): Likewise.
11357 (grub_video_fb_fill_rect): Likewise.
11358 (grub_video_fb_blit_bitmap): Likewise.
11359 (grub_video_fb_blit_render_target): Likewise.
11360 (grub_video_fb_scroll): Likewise.
11361 (grub_video_fb_create_render_target): Likewise.
11362 (grub_video_fb_doublebuf_blit_init): Likewise.
11363 (grub_video_fb_set_active_render_target): Handle doublebuffering.
11364 (doublebuf_pageflipping_update_screen): New function.
11365 (doublebuf_pageflipping_init): Likewise.
11366 (grub_video_fb_setup): Likewise.
11367 (grub_video_fb_swap_buffers): Likewise.
11368 (grub_video_fb_get_info_and_fini): Likewise.
11369 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
11370 All users updated.
11371 (doublebuf_pageflipping_commit): Restructured into ...
11372 (doublebuf_pageflipping_set_page): ... this.
11373 (doublebuf_pageflipping_update_screen): Removed.
11374 (doublebuf_pageflipping_init): Likewise.
11375 (double_buffering_init): Likewise.
11376 (grub_video_vbe_setup): Use grub_video_fb_setup.
11377 (grub_video_vbe_swap_buffers): Removed.
11378 (grub_video_vbe_set_active_render_target): Likewise.
11379 (grub_video_vbe_get_active_render_target): Likewise.
11380 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
11381 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
11382 grub_video_fb_set_active_render_target and
11383 grub_video_fb_get_active_render_target.
11384 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
11385 (SEQUENCER_DATA_PORT): Likewise.
11386 (MAP_MASK_REGISTER): Likewise.
11387 (CRTC_ADDR_PORT): Likewise.
11388 (CRTC_DATA_PORT): Likewise.
11389 (START_ADDR_HIGH_REGISTER): Likewise.
11390 (START_ADDR_LOW_REGISTER): Likewise.
11391 (GRAPHICS_ADDR_PORT): Likewise.
11392 (GRAPHICS_DATA_PORT): Likewise.
11393 (READ_MAP_REGISTER): Likewise.
11394 (INPUT_STATUS1_REGISTER): Likewise.
11395 (INPUT_STATUS1_VERTR_BIT): Likewise.
11396 (get_map_mask): Use grub_vga_sr_read.
11397 (set_map_mask): Use grub_vga_sr_write.
11398 (set_read_map): Use grub_vga_gr_write.
11399 (set_start_address): Use grub_vga_cr_write.
11400 * video/sm712.c (framebuffer): Remove leftover fields.
11401
4321c64a
CW
114022010-06-20 Colin Watson <cjwatson@ubuntu.com>
11403
11404 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
11405 setting GRUB_VIDEO_BACKEND. Make it available as a user override
11406 instead. Replace the gfxterm backend check with a check that
11407 ${GRUB_PREFIX}/video.lst is non-empty.
11408 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
11409 again.
11410 (load_video): New generated function. Call it before loading
11411 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11412 * util/grub.d/10_linux.in (linux_entry): Call load_video.
11413 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
11414 * docs/grub.texi (Simple configuration): Document
11415 GRUB_VIDEO_BACKEND.
11416
114172010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11418
11419 Use video functions in linux and xnu loaders.
11420
11421 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
11422 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
11423 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
11424 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
11425 loader/i386/pc/linux.c.
11426 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
11427 (find_line_len): Removed.
11428 (find_framebuf): Likewise.
11429 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
11430 * loader/i386/efi/xnu.c: Removed.
11431 * loader/i386/pc/xnu.c: Moved from here...
11432 * loader/i386/xnu.c: ...here.
11433
11434 Enable priorities in video drivers.
11435
11436 * include/grub/video.h (grub_video_adapter_prio_t): New type.
11437 (grub_video_adapter): New field prio.
11438 (grub_video_register): Respect prio when inserting.
11439 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
11440 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
11441 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
11442 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
11443 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
11444 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
11445 * video/sm712.c (grub_video_sm712_adapter): Likewise.
11446
11447 Fix SDL driver ID.
11448
11449 * include/grub/video.h (grub_video_driver_id_t): New value
11450 GRUB_VIDEO_DRIVER_SDL.
11451 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
11452
7d24e434
CW
114532010-06-17 Colin Watson <cjwatson@ubuntu.com>
11454
11455 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
11456 argument to printf.
11457 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11458
c88a83f6
CW
114592010-06-17 Colin Watson <cjwatson@ubuntu.com>
11460
11461 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
11462 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11463
094dfb69
CW
114642010-06-17 Colin Watson <cjwatson@ubuntu.com>
11465
11466 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
11467 directly, and recommend grub-install instead.
11468 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11469
2164da6b
CW
114702010-06-17 Colin Watson <cjwatson@ubuntu.com>
11471
11472 Fix i386-pc prefix handling with nested partitions (Debian bug
11473 #585068). Note that the case where the core image is booted using
11474 multiboot and relocated from its original location still requires
11475 more work.
11476
11477 * kern/i386/pc/init.c (make_install_device): If the prefix starts
11478 with "(,", fill the boot drive in between those two characters, but
11479 expect that a full partition specification including partition map
11480 names will follow.
11481 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
11482 specified, write a prefix without the drive name but including a
11483 full partition specification.
11484
044e2e60
CW
114852010-06-16 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * util/grub-mkconfig.in: Ignore non-option arguments, for
11488 compatibility with older versions (before 2010-06-12) which did the
11489 same. In particular, this makes it easier to ship an update-grub
11490 wrapper which is compatible with that used with GRUB Legacy (Debian
11491 bug #586056).
11492
5591324f
GS
114932010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11494
11495 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
11496 for manual page generation.
11497
662e24d5
GS
114982010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11499
11500 * po/POTFILES: Remove leftover commands/handler.c.
11501
8d70754e
CW
115022010-06-14 Colin Watson <cjwatson@ubuntu.com>
11503
11504 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11505 left this script non-functional.
11506
41160e2e
CW
115072010-06-14 Colin Watson <cjwatson@ubuntu.com>
11508
11509 * docs/man/grub-emu.h2m: New file.
11510
b5309cc1
CW
115112010-06-13 Colin Watson <cjwatson@ubuntu.com>
11512
11513 * docs/grub.texi (Commands): Document reduced command set in rescue
11514 mode.
11515 (cpuid): New section.
11516
fcb2d090
GS
115172010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11518
11519 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11520 new partition naming style.
11521 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11522
96e5c556
BC
115232010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11524
11525 Add "-o grub.iso" like cmdline options support.
11526
11527 * util/grub-install.in: Improve cmdline option parsing.
11528 * util/grub-mkconfig.in: Likewise.
11529 * util/grub-mkrescue.in: Likewise.
11530 * util/grub-reboot.in: Likewise.
11531 * util/grub-set-default.in: Likewise.
11532 * util/i386/efi/grub-install.in: Likewise.
11533 * util/ieee1275/grub-install.in: Likewise.
11534 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11535
c16be99b
CW
115362010-06-12 Colin Watson <cjwatson@ubuntu.com>
11537
11538 * .bzrignore: Ignore 41_custom.
11539
ce08a9fb
TS
115402010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11541
11542 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11543
7beac90c
CW
115442010-06-12 Colin Watson <cjwatson@ubuntu.com>
11545
11546 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11547 prototype declarations.
11548
11549 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11550 generating fs, partmap, and video lists.
11551 * include/grub/fs.h (grub_fs_register): Omit prototype if
11552 GRUB_LST_GENERATOR is defined.
11553 * include/grub/partition.h (grub_partition_map_register): Likewise.
11554 * include/grub/video.h (grub_video_register): Likewise.
11555
1c8f0f8d
JM
115562010-06-12 Javier Martín <lordhabbit@gmail.com>
11557
11558 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11559
a6085973
TS
115602010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11561
11562 * util/grub-mkrescue.in: Support --xorriso argument.
11563
25c56d29
VS
115642010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11567 Suggested by: Thomas Schmitt.
11568
e03e4b24
VS
115692010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11570
11571 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11572 Suggested by: Thomas Schmitt.
11573
57711df6
VS
115742010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 custom.cfg support.
11577
11578 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11579 * util/grub.d/41_custom.in: New file.
11580
ee62c427
CW
115812010-06-12 Colin Watson <cjwatson@ubuntu.com>
11582
11583 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11584 been merged back into normal.
11585
283af07a
CW
115862010-06-11 Colin Watson <cjwatson@ubuntu.com>
11587
11588 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11589 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11590
56a0d956
CW
115912010-06-11 Colin Watson <cjwatson@ubuntu.com>
11592
11593 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11594 when generating manual pages.
11595 * docs/man/grub-bin2h.h2m: New file.
11596 * docs/man/grub-editenv.h2m: New file.
11597 * docs/man/grub-fstest.h2m: New file.
11598 * docs/man/grub-install.h2m: New file.
11599 * docs/man/grub-macho2img.h2m: New file.
11600 * docs/man/grub-mkconfig.h2m: New file.
11601 * docs/man/grub-mkdevicemap.h2m: New file.
11602 * docs/man/grub-mkfont.h2m: New file.
11603 * docs/man/grub-mkimage.h2m: New file.
11604 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11605 * docs/man/grub-mkrelpath.h2m: New file.
11606 * docs/man/grub-mkrescue.h2m: New file.
11607 * docs/man/grub-ofpathname.h2m: New file.
11608 * docs/man/grub-pe2elf.h2m: New file.
11609 * docs/man/grub-probe.h2m: New file.
11610 * docs/man/grub-reboot.h2m: New file.
11611 * docs/man/grub-script-check.h2m: New file.
11612 * docs/man/grub-set-default.h2m: New file.
11613 * docs/man/grub-setup.h2m: New file.
11614
3a37e322
VS
116152010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 Use FOR_* macros instead of *_iterate whenever possible.
11618
11619 * commands/handler.c: Removed.
11620 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11621 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11622 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11623 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11624 (grub_probe_SOURCES): Remove kern/parser.c.
11625 (util/grub-script-check.c_DEPENDENCIES): Removed.
11626 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11627 and grub_script_check_init.c.
11628 (grub_script_check_init.lst): Removed.
11629 (grub_script_check_init.h): Likewise.
11630 (grub_script_check_init.c): Likewise.
11631 (pkglib_MODULES): Remove handler.mod and sh.mod.
11632 (handler_mod_SOURCES): Removed.
11633 (handler_mod_CFLAGS): Likewise.
11634 (handler_mod_LDFLAGS): Likewise.
11635 (normal_mod_SOURCES): Remove normal/handler.c.
11636 Add script/main.c, script/script.c, script/execute.c,
11637 script/function.c, script/lexer.c, grub_script.tab.c
11638 and grub_script.yy.c.
11639 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11640 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11641 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11642 (grub_setup_SOURCES): Remove kern/parser.c.
11643 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11644 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11645 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11646 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11647 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11648 (grub_setup_SOURCES): Remove kern/parser.c.
11649 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11650 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11651 * include/grub/command.h (grub_command_iterate): Removed.
11652 (FOR_COMMANDS): New macro.
11653 * include/grub/dl.h (grub_dl): New member next.
11654 (grub_dl_iterate): Removed.
11655 (grub_dl_head): New variable declaration.
11656 (FOR_DL_MODULES): New macro.
11657 * include/grub/fs.h: Include list.h.
11658 (grub_fs): Make next first element.
11659 (grub_fs_list): New variable declaration.
11660 (grub_fs_register): Make inline.
11661 (grub_fs_unregister): Likewise.
11662 (grub_fs_iterate): Removed.
11663 (FOR_FILESYSTEMS): New macro.
11664 * include/grub/handler.h: Removed.
11665 * include/grub/list.h (grub_list_hook_t): Removed.
11666 (grub_list_test_t): Likewise.
11667 (grub_list_pop): Likewise.
11668 (grub_list_iterate): Likewise.
11669 (grub_list_insert): Likewise.
11670 (FOR_LIST_ELEMENTS): New macro.
11671 * include/grub/parser.h (grub_parser_class): Removed.
11672 (grub_parser_register): Likewise.
11673 (grub_parser_unregister): Likewise.
11674 (grub_parser_get_current): Likewise.
11675 (grub_parser_set_current): Likewise.
11676 (grub_register_rescue_parser): Likewise.
11677 (grub_rescue_parse_line): New function.
11678 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11679 * include/grub/script_sh.h (grub_script_function_list): New variable
11680 declaration.
11681 (FOR_SCRIPT_FUNCTIONS): New macro.
11682 (grub_script_function_iterate): Removed.
11683 (grub_normal_parse_line): New prototype.
11684 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11685 (FOR_DISABLED_TERM_INPUTS): Likewise.
11686 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11687 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11688 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11689 element.
11690 (grub_video_register): Inline.
11691 (grub_video_unregister): Likewise.
11692 (grub_video_adapter_list): New variable declaration.
11693 (grub_video_iterate): Removed.
11694 (FOR_VIDEO_ADAPTERS): New macro.
11695 * kern/dl.c (grub_dl_list): Removed. All users updated.
11696 (grub_dl_iterate): Removed.
11697 * kern/fs.c (grub_fs_list): Make global.
11698 (grub_fs_register): Removed.
11699 (grub_fs_unregister): Likewise.
11700 (grub_fs_iterate): Likewise.
11701 * kern/handler.c: Removed.
11702 * kern/list.c (grub_list_pop): Removed.
11703 (grub_list_iterate): Likewise.
11704 (grub_list_insert): Likewise.
11705 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11706 (grub_prio_list_insert): Don't use grub_list_insert.
11707 * kern/main.c (grub_register_rescue_parser): Don't call
11708 grub_register_rescue_parser.
11709 * kern/parser.c (grub_parser_class): Removed.
11710 (grub_parser_execute): Use grub_rescue_parse_line.
11711 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11712 (grub_rescue_parser): Removed.
11713 (grub_register_rescue_parser): Likewise.
11714 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11715 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11716 (grub_auth_check_authentication): Likewise.
11717 * normal/completion.c (iterate_command): Removed.
11718 (grub_normal_do_completion): Use FOR_COMMANDS.
11719 * normal/handler.c: Removed.
11720 * normal/main.c (read_config_file): Remove parser changing.
11721 (grub_normal_execute): Don't call read_handler_list.
11722 (grub_normal_read_line_real): Statically allocate prompt.
11723 (grub_cmdline_run): Use grub_normal_parse_line.
11724 (GRUB_MOD_FINI): Don't call free_handler_list.
11725 * normal/menu_entry.c (run): Likewise.
11726 * script/function.c (grub_script_function_list): Make global.
11727 (grub_script_function_iterate): Removed.
11728 * script/main.c (grub_normal_parse_line): Make global.
11729 (grub_sh_parser): Removed.
11730 (GRUB_MOD_INIT): Likewise.
11731 (GRUB_MOD_FINI): Likewise.
11732 * tests/lib/functional_test.c (grub_functional_test): Use
11733 FOR_LIST_ELEMENTS.
11734 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11735 (grub_test_run): Use FOR_LIST_ELEMENTS.
11736 * tests/lib/unit_test.c (main): Likewise.
11737 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11738 grub_list_pop.
11739 * util/grub-fstest.c (grub_term_input_class): Removed.
11740 (grub_term_output_class): Likewise.
11741 * util/grub-probe.c: Likewise.
11742 * util/i386/pc/grub-setup.c: Likewise.
11743 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11744 * util/grub-script-check.c (main): Don't call grub_init_all and
11745 grub_fini_all.
11746 * video/video.c (grub_video_adapter_list): Make global.
11747 (grub_video_register): Removed.
11748 (grub_video_unregister): Likewise.
11749 (grub_video_iterate): Likewise.
11750
6289c3a7
VS
117512010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11752
11753 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11754 reported by Henrique Ferreiro.
11755
91460247
RM
117562010-06-09 Robert Millan <rmh@gnu.org>
11757
11758 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11759 ones, when both are available.
11760
0ea7c4f9
GS
117612010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11762
11763 Make --version uniform and avoid hard-coded program name.
11764
11765 * util/grub-mkimage.c (main): Use `program_name' instead of
11766 hard-coded string.
11767 * util/i386/pc/grub-setup.c (main): Likewise.
11768 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11769 * util/grub-install.in: Save the basename of $0 in $self, and use the
11770 latter in informational messages. Use the same format for --version
11771 as the binary programs.
11772 * util/grub-mkconfig.in: Likewise.
11773 * util/grub-mkrescue.in: Likewise.
11774 * util/grub-reboot.in: Likewise.
11775 * util/grub-set-default.in: Likewise.
11776 * util/i386/efi/grub-install.in: Likewise.
11777 * util/ieee1275/grub-install.in: Likewise.
11778 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11779
e8a6f3b6
GS
117802010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11781
11782 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11783 embedding area. Use <= instead of == when checking for non-emptiness.
11784
f4d095d7
GS
117852010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11786
11787 * configure.ac: Add `.' to the directories searched for unifont.
11788
50e532ca
CW
117892010-06-08 Colin Watson <cjwatson@ubuntu.com>
11790
11791 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11792 grub_script.yy.h.
11793
d39f3dec
CW
117942010-06-08 Colin Watson <cjwatson@ubuntu.com>
11795
11796 * docs/grub.texi (History): Expand to cover GRUB 2.
11797 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11798 commands, not `terminal'.
11799 (serial): Likewise.
11800 (terminal_input): New section.
11801 (terminal_output): New section.
11802 (uppermem): New section (stub).
11803 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11804
6ef0ddb4
CW
118052010-06-08 Colin Watson <cjwatson@ubuntu.com>
11806
11807 * docs/grub.texi (Security): Menu entries are unrestricted by
11808 default, not restricted to superusers as I had previously thought.
11809 Reword to account for this.
11810
e0f4c438
CW
118112010-06-07 Colin Watson <cjwatson@ubuntu.com>
11812
11813 * kern/emu/misc.c (device_mapper_null_log): New function.
11814 (grub_device_mapper_supported): New function.
11815 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11816 prototype.
11817 * kern/emu/hostdisk.c (find_partition_start): Check whether
11818 device-mapper is supported before trying to use it.
11819 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11820
da908200
CW
118212010-06-07 Colin Watson <cjwatson@ubuntu.com>
11822
11823 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11824 (File name syntax): Likewise.
11825 (help): --all is no longer supported in GRUB 2. Be more precise
11826 about pattern matching.
11827
fb55c3ac
CW
118282010-06-07 Colin Watson <cjwatson@ubuntu.com>
11829
11830 * normal/completion.c (grub_normal_do_completion): When completing
11831 arguments to "set" and the current word contains an equals sign,
11832 skip to after the equals sign before starting completion.
11833
258c2573
CW
118342010-06-07 Colin Watson <cjwatson@ubuntu.com>
11835
11836 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11837
ee75515e
CW
118382010-06-07 Colin Watson <cjwatson@ubuntu.com>
11839
11840 * docs/grub.texi (Network): New section.
11841 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11842 `(nd)' as in GRUB Legacy.
11843 (pxe_unload): New section.
11844
a6a700aa
CW
118452010-06-07 Colin Watson <cjwatson@ubuntu.com>
11846
11847 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11848 in the rescue shell, so recommend using `set' instead. Thanks,
11849 Jordan Uggla.
11850
4003dd38
CW
118512010-06-07 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11854 (password): New section.
11855 (password_pbkdf2): New section.
11856 (search): New section.
11857 (Security): New section.
11858 (Troubleshooting): New section, currently very incomplete.
11859 (Invoking grub-mkpasswd-pbkdf2): New section.
11860 (Internals): New section, currently very incomplete.
11861
e1cbcc40
CW
118622010-06-07 Colin Watson <cjwatson@ubuntu.com>
11863
11864 * util/grub.d/00_header.in: Add some more quoting (of
11865 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11866 work again.
11867 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11868
db8fa1ad
CW
118692010-06-07 Colin Watson <cjwatson@ubuntu.com>
11870
11871 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11872 to `count', fixing variable shadowing that broke the -c option.
11873
118742010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
11875
11876 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11877 in case they contain spaces.
11878
f28a9212
CW
118792010-06-04 Colin Watson <cjwatson@ubuntu.com>
11880
11881 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11882 "part_" to partmap module names, in line with grub-install.
11883 Reported by: Jindřich Makovička (Debian bug #584426).
11884
9cdfe32f
CW
118852010-06-04 Colin Watson <cjwatson@ubuntu.com>
11886
11887 * util/grub-mkimage.c: Make target-related error messages slightly
11888 more helpful; -O talks about "format". Explicitly point to the use
11889 of -O if no target is specified.
11890 Reported by: Didier Raboud (Debian bug #584415).
11891
795b593a
CW
118922010-06-03 Colin Watson <cjwatson@ubuntu.com>
11893
11894 * INSTALL: Document several build requirements for optional features
11895 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11896
9d9b5833
GS
118972010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11898
11899 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11900 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11901 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11902
0819fec8
CW
119032010-06-02 Colin Watson <cjwatson@ubuntu.com>
11904
11905 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11906 Thanks to Jordan Uggla for spotting this.
11907
49396b4f
VS
119082010-06-02 Aleš Nesrsta <starous@volny.cz>
11909
11910 Finally make USB usable.
11911
11912 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11913 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11914 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11915 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11916 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11917 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11918 (GRUB_OHCI_FSMPS): Likewise.
11919 (GRUB_OHCI_PERIODIC_START): Likewise.
11920 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11921 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11922 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11923 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11924 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11925 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11926 (grub_ohci_transaction): Likewise.
11927 (grub_ohci_transfer): Improve condition detection algorithms.
11928 Handle toggle property. Program the transactions correctly.
11929 Improve error handling. Various important fixups.
11930 (grub_ohci_portstatus): Put register writes in right order.
11931 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11932 (grub_uhci_transfer): Don't show "failed" message on success.
11933 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11934 array.
11935 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11936 determine its size.
11937 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11938 before initialization is completed. Use IN direction for empty
11939 transfers. Use last_trans and compute toggle.
11940 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11941 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11942 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11943 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11944 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11945 (grub_usb_device): Increase toggle to 256.
11946 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11947 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11948 GRUB_USBMS_SUBCLASS_SFF8070.
11949 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11950 (grub_scsi_inquiry): New member page and alloc_length.
11951 (grub_scsi_request_sense): New structure.
11952 (grub_scsi_request_sense_data): Likewise.
11953 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11954 control.
11955 * disk/scsi.c (grub_scsi_request_sense): New function.
11956 (grub_scsi_test_unit_ready): Likewise.
11957 (grub_scsi_inquiry): Fill new fields.
11958 (grub_scsi_read_capacity): Likewise.
11959 (grub_scsi_read10): Add request sense at the end.
11960 (grub_scsi_read12): Likewise.
11961 (grub_scsi_write10): Likewise.
11962 (grub_scsi_write12): Likewise.
11963 (grub_scsi_open): Add Test Unit Ready.
11964 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11965 Support additional subclasses. Con't clear halt yet. Activate the
11966 proper config. Calculate LUNs correctly.
11967 (grub_usbms_transfer): Various important fixups.
11968
119692010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11970
11971 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11972 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11973 (grub_ohci_fini_hw): New function.
11974 (grub_ohci_restore_hw): Likewise.
11975 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11976 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11977 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11978
119792010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 Dedicated DMA allocations.
11982
11983 * bus/pci.c (grub_memalign_dma32): New function
11984 (grub_dma_free): Likewise.
11985 (grub_dma_get_virt): Likewise.
11986 (grub_dma_get_phys): Likewise.
11987 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11988 (grub_ohci_pci_iter): Use dma32_alloc.
11989 (grub_ohci_transfer): Likewise.
11990 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11991 (grub_usb_bulk_readwrite): Likewise.
11992 * include/grub/pci.h: Add declarations.
11993
119942010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 CS5536 support.
11997
11998 * bus/cs5536.c: New file.
11999 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
12000 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
12001 (cs5536_mod_SOURCES): New variable.
12002 (cs5536_mod_CFLAGS): Likewise.
12003 (cs5536_mod_LDFLAGS): Likewise.
12004 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
12005 machine/pci.h.
12006 (kernel_img_SOURCES): Add bus/cs5536.c.
12007 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
12008 usb_keyboard.mod.
12009 (usb_mod_SOURCES): New variable.
12010 (usb_mod_CFLAGS): New variable.
12011 (usb_mod_LDFLAGS): New variable.
12012 (usbtest_mod_SOURCES): New variable.
12013 (usbtest_mod_CFLAGS): New variable.
12014 (usbtest_mod_LDFLAGS): New variable.
12015 (ohci_mod_SOURCES): New variable.
12016 (ohci_mod_CFLAGS): New variable.
12017 (ohci_mod_LDFLAGS): New variable.
12018 (usbms_mod_SOURCES): New variable.
12019 (usbms_mod_CFLAGS): New variable.
12020 (usbms_mod_LDFLAGS): New variable.
12021 (usb_keyboard_mod_SOURCES): New variable.
12022 (usb_keyboard_mod_CFLAGS): New variable.
12023 (usb_keyboard_mod_LDFLAGS): New variable.
12024 * include/grub/smbus.h: New file.
12025 * include/grub/cs5536.h: New file.
12026
0b35b2a9
CW
120272010-06-02 Colin Watson <cjwatson@ubuntu.com>
12028
12029 * util/grub.d/00_header.in: Add safety check to make sure that
12030 ${locale_dir} exists before trying to probe it.
12031
ca0afd5b
CW
120322010-06-02 Colin Watson <cjwatson@ubuntu.com>
12033
12034 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
12035 per the GNU Coding Standards; this is now too obscure to be worth
12036 documenting.
12037 (QNX): Likewise.
12038 (chainloader): Remove cross-reference to `SCO UnixWare'.
12039
1c41aa78
CW
120402010-06-02 Colin Watson <cjwatson@ubuntu.com>
12041
12042 * docs/grub.texi (Chain-loading): New section.
12043 (DOS/Windows): New section, borrowed from GRUB Legacy with details
12044 adjusted for GRUB 2.
12045 (SCO UnixWare): Likewise.
12046 (QNX): Likewise.
12047 (chainloader): Add reference to `Block list syntax'.
12048 (drivemap): New section.
12049 (parttool): New section.
12050
bb8ea0f5
CW
120512010-06-02 Colin Watson <cjwatson@ubuntu.com>
12052
12053 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
12054 the grub shell'.
12055 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
12056 (Installing GRUB using grub-install): Remove reference to the grub
12057 shell; mention `grub-mkimage' and `grub-setup' instead.
12058 (Invoking grub-install): Likewise.
12059 (Interface): Add reference to `Menu entry editor'.
12060 (serial): Remove `--device' option.
12061
288dd6ed
CW
120622010-06-02 Colin Watson <cjwatson@ubuntu.com>
12063
12064 * docs/grub.texi (Configuration): New section, documenting
12065 configuration file generation using grub-mkconfig. I've left a slot
12066 for documenting the full shell scripting format but have not yet
12067 started on writing that up.
12068 (Invoking grub-mkconfig): New section.
12069
34c9f0e9
CW
120702010-06-02 Colin Watson <cjwatson@ubuntu.com>
12071
12072 * docs/grub.texi (direntry): Remove grub-terminfo reference.
12073 (GNU GRUB manual): Likewise.
12074 (General commands): Update description of `terminfo' for GRUB 2.
12075
9121567e
CW
120762010-06-02 Colin Watson <cjwatson@ubuntu.com>
12077
12078 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
12079 (GRUB_MOD_INIT): Fix capitalisation.
12080 * docs/grub.texi (Command-line and menu entry commands): Document
12081 gettext and gptsync commands.
12082
ab631611
CW
120832010-06-02 Colin Watson <cjwatson@ubuntu.com>
12084
12085 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
12086 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
12087
bde4a9ac
CW
120882010-06-01 Colin Watson <cjwatson@ubuntu.com>
12089
12090 Add btrfs probing support, currently only in the single-device case.
12091
12092 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
12093 function.
12094 (grub_guess_root_device): Call find_root_device_from_mountinfo
12095 before looking in /dev.
12096
b1d17e10
VS
120972010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12098
12099 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
12100 GRUB_DISK_SIZE_UNKNOWN.
12101 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
12102
dfbfe004
JS
121032010-05-31 Jiro SEKIBA <jir@unicus.jp>
12104
12105 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
12106 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
12107 corrupted or not synced properly.
12108
c2ffc8e9
VS
121092010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12110
12111 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
12112 Reported by: Seth Goldberg.
12113
56293166
VS
121142010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12115
12116 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
12117 addition of dest.
12118 Reported by: Seth Goldberg.
12119
7620e7de
VS
121202010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12121
12122 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
12123 Reported by: Seth Goldberg.
12124
c837af3f
VS
121252010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
12128 64-bit address as signed on MIPS.
12129
c7c75cf4
CW
121302010-05-28 Colin Watson <cjwatson@ubuntu.com>
12131
12132 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
12133 to the empty string.
12134
fa4b8490
BC
121352010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
12136
12137 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
12138
12139 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
12140 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
12141 * kern/misc.c (__enable_execute_stack): Disable on
12142 GRUB_MACHINE_EMU.
12143
a33075b9
CW
121442010-05-28 Colin Watson <cjwatson@ubuntu.com>
12145
12146 Make grub-probe work with symbolic links under /dev/mapper as well
12147 as with real block devices. The Linux world seems to be (at best)
12148 in transition here, and GRUB shouldn't get caught in the middle.
12149
12150 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
12151 /dev/mapper.
12152
d8708134
CW
121532010-05-27 Colin Watson <cjwatson@ubuntu.com>
12154
12155 * util/grub-script-check.c (main): Ensure defined behaviour on empty
12156 input files (in which case exit zero).
12157
db2102a0
CW
121582010-05-27 Colin Watson <cjwatson@ubuntu.com>
12159
12160 * kern/emu/misc.c (canonicalize_file_name): realpath can still
12161 return NULL for various reasons even if it has a maximum-length
12162 buffer: for example, there might be a symlink loop, or the path
12163 might exceed PATH_MAX. If this happens, return NULL.
12164
5fdba519
RM
121652010-05-27 Robert Millan <rmh@gnu.org>
12166
12167 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
12168 partmap module to handle cross-partmap setups.
12169 Reported by Orestes Mas. Gràcies!
12170
d1d368e4
CW
121712010-05-27 Colin Watson <cjwatson@ubuntu.com>
12172
12173 * util/grub-mkrescue.in: Initialise override_dir rather than
12174 assuming that it's unset or empty in the environment.
12175
95ac3c73
GS
121762010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
12177
12178 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
12179 variable index into p_index to suppress a warning with -Wshadow.
12180
7d8c0213
BC
121812010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
12182
12183 * INSTALL: Added flex >= 2.5.35 requirement.
12184
db4d5813
VS
121852010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12186
12187 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
12188
f24f4300
VS
121892010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 cmostest support.
12192
12193 * commands/i386/cmostest.c: New file.
12194 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
12195 (cmostest_mod_SOURCES): New variable.
12196 (cmostest_mod_CFLAGS): Likewise.
12197 (cmostest_mod_LDFLAGS): Likewise.
12198 * conf/i386-pc.rmk: Likewise.
12199 * docs/grub.texi (Vendor power-on keys): New section.
12200 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
12201 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
12202 and GRUB_BUTTON_CMOS_ADDRESS.
12203 * util/grub.d/00_header.in: Handle powering-on by separate button.
12204
ad603f61
VS
122052010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12206
12207 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
12208 Removed drawing_scrollbar argument. All users updated
12209 Fixes #29792.
12210 Reported by Jo Shields
12211
3ecb080a
VS
122122010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12213
12214 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
12215 buffer since gfxterm handles double repaint.
12216
5f2316c1
VS
122172010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12218
12219 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
12220 * term/gfxterm.c (real_scroll): Likewise.
12221
9a25f885
VS
122222010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12223
12224 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
12225 before calling BIOS.
12226
39fbb79a
VS
122272010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * include/grub/i18n.h: Always enable grub_gettext.
12230
228cfa97
VS
122312010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
12234 partition naming style.
12235
21717c8f
CW
122362010-05-21 Colin Watson <cjwatson@ubuntu.com>
12237
12238 * util/grub-mkconfig.in: Fix handling of -o so that it works when
12239 not the first option.
12240
c0f48e65
CW
122412010-05-20 Colin Watson <cjwatson@ubuntu.com>
12242
12243 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
12244
96779aec
CW
122452010-05-20 Colin Watson <cjwatson@ubuntu.com>
12246
12247 * util/misc.c: Move inclusion of <limits.h> to ...
12248 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
12249
fa9d256e
GS
122502010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
12251
12252 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
12253 Fix merge error in NetBSD code.
12254 (find_partition_start) [__NetBSD__]: Likewise.
12255
123b7a85
BC
122562010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
12257
12258 Fix grub-mkrescue usage unit testing.
12259
12260 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
12261
74276c0d
CF
122622010-05-18 Christian Franke <franke@computer.org>
12263
12264 * util/grub.d/10_windows.in: Use path names instead of
12265 drive letters to prevent warning from Cygwin 1.7.
12266 Add drivemap command to menuentry if needed.
12267
c4f7b523
ST
122682010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
12269
12270 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
12271 gnumach and gnumach.gz.
12272
95b97950
VS
122732010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12274
12275 * include/grub/i18n.h (gettext): Inline instead of using #define.
12276 (grub_gettext): Likewise.
12277 (_): Likewise.
12278
01b8d2d7
VS
122792010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12280
12281 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
12282 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
12283 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
12284 (main): Add a slash after pkglibdirroot.
12285
654e1d1e
VS
122862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12287
12288 * util/grub-install.in: Add missing "in" keyword.
12289
26966aeb
VS
122902010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
12293 Reported by: Seth Goldberg.
12294
75006747
VS
122952010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12296
12297 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
12298
74cbf5bd
CW
122992010-05-18 Colin Watson <cjwatson@ubuntu.com>
12300
12301 * configure.ac: Check for Linux device-mapper support.
12302
12303 * util/hostdisk.c (device_is_mapped): New function.
12304 (find_partition_start): New function, partly broken out from
12305 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
12306 device-mapper support added.
12307 (linux_find_partition): Use find_partition_start.
12308 (convert_system_partition_to_system_disk): Add `st' argument.
12309 Support Linux /dev/mapper/* devices if device-mapper support is
12310 available; only DM-RAID devices are understood at present.
12311 (find_system_device): Add `st' argument. Pass it to
12312 convert_system_partition_to_system_disk.
12313 (grub_util_biosdisk_get_grub_dev): Pass stat result to
12314 find_system_device and convert_system_partition_to_system_disk. Use
12315 find_partition_start.
12316
12317 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
12318 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
12319 * util/deviceiter.c [__linux__]: Define MINOR.
12320 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
12321 * util/mkdevicemap.c (grub_putchar): New function.
12322 (grub_getkey): New function.
12323 (grub_refresh): New function.
12324 (main): Set debug=all if -v -v is used.
12325
355b51e9
CW
123262010-05-18 Colin Watson <cjwatson@ubuntu.com>
12327
12328 Fix build with non-GNU libcs.
12329
12330 * util/misc.c (canonicalize_file_name): Move to ...
12331 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
12332 grub_make_system_path_relative_to_its_root.
12333
7fb5c25f
CW
123342010-05-18 Colin Watson <cjwatson@ubuntu.com>
12335
12336 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
12337 we handle finding grub-mkimage. Default to finding grub-mkimage in
12338 ${bindir} with program_transform_name applied, and provide a
12339 --grub-mkimage option to override this.
12340
1d3293d6
VS
123412010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12342
12343 Remove grub-mkisofs.
12344
12345 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
12346 (grub_mkisofs_SOURCES): Removed.
12347 (grub_mkisofs_CFLAGS): Removed.
12348 * util/mkisofs/defaults.h: Removed.
12349 * util/mkisofs/eltorito.c: Likewise.
12350 * util/mkisofs/exclude.h: Likewise.
12351 * util/mkisofs/hash.c: Likewise.
12352 * util/mkisofs/include/: Likewise.
12353 * util/mkisofs/include/fctldefs.h: Likewise.
12354 * util/mkisofs/include/mconfig.h: Likewise.
12355 * util/mkisofs/include/prototyp.h: Likewise.
12356 * util/mkisofs/include/statdefs.h: Likewise.
12357 * util/mkisofs/iso9660.h: Likewise.
12358 * util/mkisofs/joliet.c: Likewise.
12359 * util/mkisofs/match.c: Likewise.
12360 * util/mkisofs/match.h: Likewise.
12361 * util/mkisofs/mkisofs.c: Likewise.
12362 * util/mkisofs/mkisofs.h: Likewise.
12363 * util/mkisofs/msdos_partition.h: Likewise.
12364 * util/mkisofs/multi.c: Likewise.
12365 * util/mkisofs/name.c: Likewise.
12366 * util/mkisofs/rock.c: Likewise.
12367 * util/mkisofs/tree.c: Likewise.
12368 * util/mkisofs/write.c: Likewise.
12369
5dde9afe
VS
123702010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12371
12372 Unify grub-mkimage accross platforms.
12373
12374 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
12375 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
12376 (grub_mkelfimage_SOURCES): Removed.
12377 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
12378 (util/grub-mkimage.c_DEPENDENCIES): .. this.
12379 (bin_UTILITIES): Add grub-mkimage.
12380 (grub_mkimage_SOURCES): New variable.
12381 (kernel_img_HEADERS): Remove machine/kernel.h.
12382 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
12383 (pkglib_PROGRAMS): Add kernel.img.
12384 (kernel_img_HEADERS): Add machine/kernel.h.
12385 (kernel_img_FORMAT): Removed.
12386 (bin_UTILITIES): Remove grub-mkimage.
12387 (grub_mkimage_SOURCES): Removed.
12388 (grub_mkimage_CFLAGS): Likewise.
12389 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12390 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
12391 (pkglib_PROGRAMS): Add kernel.img.
12392 (bin_UTILITIES): Remove grub-mkimage.
12393 (grub_mkimage_SOURCES): Removed.
12394 (grub_mkimage_CFLAGS): Likewise.
12395 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12396 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
12397 (pkglib_PROGRAMS): Add kernel.img.
12398 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
12399 (pkglib_PROGRAMS): Add kernel.img.
12400 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
12401 (grub_mkimage_SOURCES): Removed.
12402 (grub_mkimage_CFLAGS): Likewise.
12403 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12404 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
12405 (pkglib_PROGRAMS): Add kernel.img.
12406 (bin_UTILITIES): Remove grub-mkimage.
12407 (grub_mkimage_SOURCES): Removed.
12408 (grub_mkimage_CFLAGS): Likewise.
12409 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12410 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
12411 (grub_mkimage_SOURCES): Removed.
12412 (grub_mkimage_CFLAGS): Likewise.
12413 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12414 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
12415 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
12416 (grub_pe32_optional_header): ... this.
12417 (grub_pe64_optional_header): ... and this. All users updated.
12418 (GRUB_PE32_PE32_MAGIC): Split into ..
12419 (GRUB_PE32_PE32_MAGIC): .. this.
12420 (GRUB_PE32_PE64_MAGIC): .. and this.
12421 (GRUB_PE32_SIGNATURE_SIZE): New definition.
12422 * include/grub/elf.h (PT_GNU_STACK): New definition.
12423 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
12424 * include/grub/i386/efi/kernel.h: Likewise.
12425 * include/grub/i386/kernel.h: Likewise.
12426 * include/grub/i386/pc/kernel.h: Likewise.
12427 * include/grub/i386/qemu/boot.h: Likewise.
12428 * include/grub/mips/kernel.h: Likewise.
12429 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12430 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12431 * include/grub/powerpc/kernel.h: Likewise.
12432 * include/grub/sparc64/ieee1275/boot.h: Likewise.
12433 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12434 * include/grub/sparc64/kernel.h: Likewise.
12435 * include/grub/x86_64/efi/kernel.h: Likewise.
12436 * include/grub/x86_64/kernel.h: Likewise.
12437 * include/grub/offsets.h: New file.
12438 * include/grub/kernel.h (grub_module_info): Split into ...
12439 (grub_module_info32): ... this.
12440 (grub_module_info64): ... and this.
12441 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
12442 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
12443 (grub_boot_blocklist): Moved from here ...
12444 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
12445 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
12446 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
12447 * include/grub/types.h (grub_target_to_host16): Removed.
12448 (grub_target_to_host32): Likewise.
12449 (grub_target_to_host64): Likewise.
12450 (grub_host_to_target16): Likewise.
12451 (grub_host_to_target32): Likewise.
12452 (grub_host_to_target64): Likewise.
12453 (grub_host_to_target_addr): Likewise.
12454
12455 Support grub-mkrescue for efi, coreboot and qemu.
12456
12457 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
12458 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
12459 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
12460 * util/grub-mkrawimage.c: Moved from here ...
12461 * util/grub-mkimage.c: ... here. All users updated.
12462 (ALIGN_ADDR): Use image_target.
12463 (TARGET_NO_FIELD): New const.
12464 (image_target_desc): New type.
12465 (image_targets): New array.
12466 (grub_target_to_host64): Use image_target.
12467 (grub_target_to_host32): Likewise.
12468 (grub_target_to_host16): Likewise.
12469 (grub_host_to_target64): Likewise.
12470 (grub_host_to_target32): Likewise.
12471 (grub_host_to_target16): Likewise.
12472 (grub_host_to_target_addr): Likewise.
12473 (generate_image): Handle multiimage.
12474 (main): Require -O parameter. All users updated.
12475 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
12476 util/efi/grub-mkimage.c
12477 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
12478 New option --rom-directory.
12479 Use xorriso.
12480 * util/i386/efi/grub-mkimage.c: Removed.
12481 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
12482 (grub_target_to_host32): Likewise.
12483 (grub_target_to_host64): Likewise.
12484 (grub_host_to_target16): Likewise.
12485 (grub_host_to_target32): Likewise.
12486 (grub_host_to_target64): Likewise.
12487 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
12488 (grub_target_to_host32): Likewise.
12489 (grub_target_to_host64): Likewise.
12490 (grub_host_to_target16): Likewise.
12491 (grub_host_to_target32): Likewise.
12492 (grub_host_to_target64): Likewise.
12493
f4fc97d0
BC
124942010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
12495
12496 Source tree is reorganized for emu build.
12497
12498 * include/grub/util/console.h: Move from here...
12499 * include/grub/emu/console.h: ...to here.
12500 * include/grub/util/getroot.h: Move from here...
12501 * include/grub/emu/getroot.h: ...to here.
12502 * include/grub/util/hostdisk.h: Move from here...
12503 * include/grub/emu/hostdisk.h: ...to here.
12504 * util/console.c: Move from here...
12505 * kern/emu/console.c: ...to here.
12506 * util/getroot.c: Move from here...
12507 * kern/emu/getroot.c: ...to here.
12508 * util/grub-emu.c: Move from here...
12509 * kern/emu/main.c: ...to here.
12510 * util/hostdisk.c: Move from here...
12511 * kern/emu/hostdisk.c: ...to here.
12512 * util/hostfs.c: Move from here...
12513 * kern/emu/hostfs.c: ...to here.
12514 * util/mm.c: Move from here...
12515 * kern/emu/mm.c: ...to here.
12516 * util/pci.c: Move from here...
12517 * bus/emu/pci.c: ...to here.
12518 * util/sdl.c: Move from here...
12519 * video/emu/sdl.c: ...to here.
12520 * util/time.c: Move from here...
12521 * kern/emu/time.c: ...to here.
12522 * util/usb.c: Move from here...
12523 * bus/usb/emu/usb.c: ...to here.
12524
12525 * include/grub/emu/misc.h: New header for grub-emu functions.
12526 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12527
12528 * conf/any-emu.rmk: Rule updates for above renames.
12529 * conf/common.rmk: Likewise.
12530 * conf/i386-pc.rmk: Likewise.
12531 * conf/i386-qemu.rmk: Likewise.
12532 * conf/mips.rmk: Likewise.
12533 * conf/sparc64-ieee1275.rmk: Likewise.
12534 * conf/x86-efi.rmk: Likewise.
12535
12536 * disk/lvm.h: #include updates for above renames.
12537 * util/grub-mkrelpath.c: Likewise.
12538 * util/grub-probe.c: Likewise.
12539 * util/i386/pc/grub-setup.c: Likewise.
12540 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12541 * kern/emu/console.c: Likewise.
12542 * kern/emu/getroot.c: Likewise.
12543 * kern/emu/hostdisk.c: Likewise.
12544 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12545
12546 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12547 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12548 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12549 * util/misc.c: Remove grub-emu functions.
12550
cced9145
VS
125512010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12552
12553 Fix gfxmenu crash.
12554 Reported by: Thorsten Grützmacher.
12555
12556 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12557 timeout hook.
12558 (circprog_set_property): Register and unregister timeout hook.
12559 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12560 (label_destroy): Free template. and unregister hook.
12561 (label_set_state): New function.
12562 (label_set_property): Handle templates and hooks.
12563 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12564 timeout hook.
12565 (progress_bar_set_property): Register and unregister timeout hook.
12566 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12567 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12568 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12569 (update_timeout_visit): Removed.
12570 (update_timeouts): New function.
12571 (redraw_timeouts): Likewise.
12572 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12573 (grub_gfxmenu_clear_timeout): Likewise.
12574 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12575 (grub_gfxmenu_timeout_notify): Likewise.
12576 (grub_gfxmenu_timeout_notifications): New external variable.
12577 (grub_gfxmenu_timeout_register): New function.
12578 (grub_gfxmenu_timeout_unregister): Likewise.
12579
c6e5caab
VS
125802010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 Transform (broken) vga terminal into (working) vga video driver.
12583
12584 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12585 video/i386/pc/vga.c.
12586 * include/grub/video.h (grub_video_driver_id):
12587 Add GRUB_VIDEO_DRIVER_VGA.
12588 * term/i386/pc/vga.c: Renamed to ...
12589 * video/i386/pc/vga.c: ...this
12590 (DEBUG_VGA): Removed.
12591 (CHAR_WIDTH): Likewise.
12592 (CHAR_HEIGHT): Likewise.
12593 (TEXT_WIDTH): Likewise.
12594 (TEXT_HEIGHT): Likewise.
12595 (DEFAULT_FG_COLOR): Likewise.
12596 (DEFAULT_BG_COLOR): Likewise.
12597 (colored_char): Likewise.
12598 (xpos): Likewise.
12599 (ypos): Likewise.
12600 (cursor_state): Likewise.
12601 (fg_color): Likewise.
12602 (bg_color): Likewise.
12603 (text_buf): Likewise.
12604 (page): Likewise.
12605 (font): Likewise.
12606 (framebuffer): New variable.
12607 (set_read_map): Disabled.
12608 (setup): New variable.
12609 (is_target): Likewise.
12610 (grub_vga_mod_init): Likewise.
12611 (grub_vga_mod_fini): Likewise.
12612 (check_vga_mem): Likewise.
12613 (write_char): Likewise.
12614 (write_cursor): Likewise.
12615 (scroll_up): Likewise.
12616 (grub_vga_putchar): Likewise.
12617 (grub_vga_getcharwidth): Likewise.
12618 (grub_vga_getwh): Likewise.
12619 (grub_vga_getxy): Likewise.
12620 (grub_vga_gotoxy): Likewise.
12621 (grub_vga_cls): Likewise.
12622 (grub_vga_setcolorstate): Likewise.
12623 (grub_vga_setcursor): Likewise.
12624 (grub_video_vga_init): New function.
12625 (grub_video_vga_setup): Likewise.
12626 (grub_video_vga_fini): Likewise.
12627 (update_target): Likewise.
12628 (grub_video_vga_blit_bitmap): Likewise.
12629 (grub_video_vga_blit_render_target): Likewise.
12630 (grub_video_vga_set_active_render_target): Likewise.
12631 (grub_video_vga_get_active_render_target): Likewise.
12632 (grub_video_vga_swap_buffers): Likewise.
12633 (grub_video_vga_set_palette): Likewise.
12634 (grub_video_vga_get_info_and_fini): Likewise.
12635 (grub_vga_term): Removed.
12636 (grub_video_vga_adapter): New variable.
12637 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12638 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12639
2bf61a98
VS
126402010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * video/readers/jpeg.c: Indented.
12643
09ddcd11
VS
126442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12645
12646 Various jpeg cleanups.
12647
12648 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12649 (grub_jpeg_decode_quan_table): Use sizeof.
12650 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12651
e5507505
PH
126522010-05-05 Peter Hurley <No e-mail available> (tiny change)
12653
12654 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12655 tables. Ignore non-last ac bit.
12656 (grub_jpeg_decode_quan_table): Likewise.
12657
7e720a9b
VS
126582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12661 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12662 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12663 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12664 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12665 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12666
a7fc080b
VS
126672010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12668
12669 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12670 error.
12671
2bf6012d
VS
126722010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12673
12674 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12675
265d68cd
VS
126762010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12679 condition.
12680
126812010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
12682
12683 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12684 part.
12685
265d68cd 126862010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
12687
12688 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12689 pointers.
12690
265d68cd 126912010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
12692
12693 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12694
d1b61374
CF
126952010-05-01 Christian Franke <franke@computer.org>
12696
12697 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12698 Remove broken Cygwin path conversion.
12699 * util/misc.c: [__CYGWIN__] Add include and define.
12700 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12701 for Cygwin 1.7.
12702 (make_system_path_relative_to_its_root): Simplify loop, replace early
12703 return by break.
12704 [__CYGWIN__] Add conversion to win32 path.
12705 Include "/" case in trailing slash removal.
12706
3558c6e9
VS
127072010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12710 Reported by: Seth Goldberg
12711
f5f3ff93
VS
127122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12713
12714 * commands/help.c (grub_cmd_help): Fix a typo.
12715 Reported by: Seth Goldberg
12716
d8b5cd40
VS
127172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12718
12719 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12720 name and add N_.
12721 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12722 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12723 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12724 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12725 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12726 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12727 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12728 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12729 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12730 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12731 * normal/context.c (GRUB_MOD_INIT): Likewise.
12732 * normal/main.c (GRUB_MOD_INIT): Likewise.
12733 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12734 * term/serial.c (GRUB_MOD_INIT): Likewise.
12735 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12736
88c14915
VS
127372010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12738
12739 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12740 extra == 0.
12741
165134bc
VS
127422010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12743
12744 * commands/iorw.c: New file.
12745 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12746 (iorw_mod_SOURCES): New variable.
12747 (iorw_mod_CFLAGS): Likewise.
12748 (iorw_mod_LDFLAGS): Likewise.
12749
c5ac9b32
VS
127502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 Hotkey support
12753
12754 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12755 * normal/main.c (hotkey_aliases): New variable.
12756 (grub_normal_add_menu_entry): Parse "--hotkey".
12757 * normal/menu_text.c (run_menu): Handle hotkeys.
12758
ce60689c
VS
127592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * kern/i386/coreboot/init.c (grub_machine_init): Call
12762 grub_machine_mmap_init on qemu.
12763
0359d006
VS
127642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * boot/i386/qemu/boot.S: Add a missing .code16.
12767
7819a456
VS
127682010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12769
12770 Use LBIO on coreboot.
12771
12772 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12773 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12774 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12775 New declaration.
12776 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12777 grub_machine_mmap_init on coreboot.
12778 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12779 GRUB_LINUXBIOS_MEMBER_LINK.
12780 (grub_machine_mmap_iterate): Fix declaration.
12781 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12782
7210dca9
VS
127832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 Split coreboot and multiboot ports.
12786
12787 * conf/i386-multiboot.rmk: New file.
12788 * configure.ac: Add multiboot port.
12789 * include/grub/i386/multiboot/boot.h: New file.
12790 * include/grub/i386/multiboot/console.h: Likewise.
12791 * include/grub/i386/multiboot/init.h: Likewise.
12792 * include/grub/i386/multiboot/kernel.h: Likewise.
12793 * include/grub/i386/multiboot/loader.h: Likewise.
12794 * include/grub/i386/multiboot/memory.h: Likewise.
12795 * include/grub/i386/multiboot/serial.h: Likewise.
12796 * include/grub/i386/multiboot/time.h: Likewise.
12797 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12798 * loader/multiboot.c: Likewise.
12799 * loader/multiboot_mbi2.c: Likewise.
12800 * util/grub-mkrescue.in: Generate multiboot rescue.
12801
6f8aaf68
VS
128022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12803
3080f7a7
VS
12804 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12805
128062010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12807
12808 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
12809
12810 * commands/terminal.c (abstract_terminal): New struct.
12811 (handle_command): New function. Based on grub_cmd_terminal_input.
12812 (grub_cmd_terminal_input): Use handle_command.
12813 (grub_cmd_terminal_output): Use handle_command.
12814
a8ebb841
BC
128152010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12816
12817 Fix comment handling.
12818
12819 * tests/grub_script_comments.in: New testcase.
12820 * conf/tests.rmk: Rules for new testcase.
12821 * script/yylex.l: Updated flex rules.
12822
bb06ba08
ST
128232010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12824
12825 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
12826 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12827 if argc is 1.
bb06ba08 12828
cc9d2425
VS
128292010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12830
12831 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12832 autogen issues.
12833
460d8402
CF
128342010-04-26 Christian Franke <franke@computer.org>
12835
12836 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12837 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12838 (grub_get_prefix): Remove function.
12839 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12840 make_system_path_relative_to_its_root ().
12841 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12842
553c01f9
CF
128432010-04-24 Christian Franke <franke@computer.org>
12844
12845 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12846 (kernel_img_LDFLAGS): Remove -static-libgcc.
12847
2aec1692
CF
128482010-04-24 Christian Franke <franke@computer.org>
12849
12850 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12851 and CHECK_END_SYMBOL if grub-emu is built.
12852 Unset TARGET_OBJ2ELF if grub-emu is built
12853 without module support.
12854
f67dc308
JS
128552010-04-24 Jiro SEKIBA <jir@unicus.jp>
12856
12857 Nilfs2 support.
12858
12859 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12860 (grub_fstest_SOURCES): Likewise.
12861 (pkglib_MODULES): Add nilfs2.mod.
12862 (nilfs2_mod_SOURCES): New variable.
12863 (nilfs2_mod_CFLAGS): Likewise.
12864 (nilfs2_mod_LDFLAGS): Likewise.
12865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12866 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12867 * fs/nilfs2.c: New file.
12868
4ba8d354
VS
128692010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12870
12871 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12872 is not supported.
12873
0d2c20c6
GS
128742010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12875
12876 Add grub-mkconfig support for NetBSD.
12877
12878 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12879 * util/grub-mkconfig.in: export new NetBSD specific variables.
12880 * po/POTFILES-shell: added 10_netbsd.in.
12881 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12882
bc4a2d83
BC
128832010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12884
12885 Fix emu build with grub-emu-pci and grub-emu-modules.
12886
12887 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12888 functions.
12889 * include/grub/libpciaccess.h: New file.
12890 * conf/any-emu.rmk: Update kernel headers for emu build.
12891
f48c87aa
VS
128922010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12895
18959385
VS
128962010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12899
0037de3f
VS
129002010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12903 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12904 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12905 util/ieee1275/ofpath.c.
12906 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12907 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12908 * include/grub/sparc64/ieee1275/boot.h
12909 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12910 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12911 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12912 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12913 const char *.
12914 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12915 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12916 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12917 install.
12918
38e55e90
GS
129192010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12920
12921 * util/grub-mkconfig.in: Corrected two == equality tests.
12922 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12923 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12924 expect a number appended to it.
12925 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12926 expects a number appended to it.
12927
a9e6ff28
VS
129282010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12929
12930 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12931
0b830b8f
VS
129322010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * util/hostdisk.c (make_device_name): Change to new partition naming.
12935
0973daeb
VS
129362010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12937
12938 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12939
460d8402 129402010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
12941
12942 * Makefile.in: Add missing localedir setting.
12943
0b456309
CW
129442010-04-14 Colin Watson <cjwatson@ubuntu.com>
12945
12946 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12947 mistake in r2156. Noticed by Anthony Fok.
12948
12949 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12950 @localedir@.
12951 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12952
08f46d62
BC
129532010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12954
12955 Fix a spurious, uninitialized variable warning.
12956
12957 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12958 Initialize variable, shdr.
12959 (grub_freebsd_load_elfmodule): Likewise.
12960 (grub_freebsd_load_elf_meta): Likewise.
12961
8c4a72d4
BC
129622010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12963
12964 Fix for escaped dollar in double quoted strings.
12965
12966 * script/yylex.l: Updated flex rules.
12967 * conf/tests.rmk: Rule for new testcase.
12968 * tests/grub_script_dollar.in: New testcase.
12969
ce44826e
CPE
129702010-04-13 Carles Pina i Estany <carles@pina.cat>
129712010-04-13 Colin Watson <cjwatson@ubuntu.com>
12972
12973 Enclose all translated strings in grub.cfg in single quotes, and
12974 escape them appropriately (Ubuntu bug #552921).
12975
12976 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12977 * util/grub.d/10_hurd.in: Use it.
12978 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12979 * util/grub.d/10_linux.in (linux_entry): Likewise.
12980
4b0cd8f8
VS
129812010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12982
12983 Fix cygwin compilation.
12984
12985 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12986 * include/grub/misc.h (__register_frame_info)
12987 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12988 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12989 * kern/misc.c (__register_frame_info)
12990 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12991 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12992
01fcf061
VS
129932010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12994
12995 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12996
5d04b11e
VS
129972010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 Unify libgcc processing.
13000
13001 * Makefile.in (kernel_img_LDFLAGS): New variable.
13002 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
13003 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
13004 overwriting.
13005 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
13006 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
13007 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
13008 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
13009 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
13010 overwriting. Remove -lgcc and -static-libgcc
13011 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
13012 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
13013 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
13014 (kernel_img_LDFLAGS): Append instead of overwriting.
13015 Remove -lgcc and -static-libgcc
13016 * conf/sparc64-ieee1275.rmk: Likewise.
13017 * include/grub/powerpc/libgcc.h: Move to ...
13018 * include/grub/libgcc.h: .. this.
13019 * include/grub/libgcc.h: Don't export most of the function on x86.
13020 (__bswapsi2): New export.
13021 (__bswapdi2): Likewise.
13022 * include/grub/mips/libgcc.h: Removed.
13023 * include/grub/sparc64/libgcc.h: Likewise.
13024
b7f3ac29
VS
130252010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
13028 disk_info_msg (conflicts with gettexting into languages with cases).
13029
2c7031b1
GS
130302010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
13031
13032 Add grub-probe support for NetBSD.
13033
13034 * util/getroot.c (find_root_device): Convert block device to
13035 character device on NetBSD.
13036 * util/probe.c (probe): Require character device on NetBSD.
13037 * util/hostdisk.c: NetBSD specific headers.
13038 (configure_device_driver): new function to tune device driver
13039 parameters (currently only for NetBSD floppy driver).
13040 (grub_util_biosdisk_open): NetBSD specific code (get disk size
13041 via disklabel ioctl).
13042 (open_device): call configure_device_driver on NetBSD.
13043 (convert_system_partition_to_system_disk): NetBSD specific code.
13044 (device_is_wholedisk): Likewise.
13045 (grub_util_biosdisk_get_grub_dev): Likewise.
13046 (make_device_name): Fixed a typo in bsd_part_str.
13047 * configure.ac: check for opendisk() and getrawpartition() on
13048 NetBSD and set LIBUTIL.
13049 * Makefile.in: add LIBUTIL to LIBS.
13050
f516290c
BC
130512010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
13052
13053 Documentation fix.
13054
13055 * util/grub-script-check.c: Better help message.
13056
d8dcc0df
BC
130572010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
13058
13059 Fix FreeBSD build.
13060
13061 * configure.ac: Flex version check.
13062 * conf/common.rmk: Add -Wno-error to sh.mod.
13063 * script/yylex.l: Remove all #pragma.
13064
6734334a
VS
130652010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13066
13067 * include/grub/util/misc.h (canonicalise_file_name): Add missing
13068 prototype.
13069 Reported by: Seth Goldberg.
13070
daea6abd
VS
130712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13072
13073 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
13074 Rename "module" to "module2".
13075 Reported by: Seth Goldberg.
13076
f2fd9d2b
VS
130772010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13078
13079 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
13080 EXPORT_FUNC.
13081 Reported by: Seth Goldberg.
13082
be124579
VS
130832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 * lib/posix_wrap/locale.h: Add missing file.
13086 Reported by: Seth Goldberg.
13087
ef5da797
VS
130882010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
13089
13090 grub-emu module load support.
13091
13092 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
13093 NO_DYNAMIC_MODULES switched to this.
13094 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
13095 (CFLAGS): Likewise.
13096 * conf/any-emu.rmk: Generate symlist.
13097 (kernel_img_HEADERS): Add util/datetime.h.
13098 (kernel_img_HEADERS) [sdl]: Add sdl.h.
13099 (kernel_img_HEADERS) [libusb]: Add libusb.h.
13100 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
13101 kern/$(target_cpu)/cache.S.
13102 * configure.ac (grub-emu-modules): New option.
13103 * genmk.rb: Handle multiple source lists.
13104 * include/grub/sdl.h: New file.
13105 * include/grub/libusb.h: Likewise.
13106 * util/grub-emu.c (main): Hanle (host) root.
13107 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
13108 GRUB_ERR_UNKNOWN_DEVICE.
13109 * util/misc.c: Move mm functions to ...
13110 * util/mm.c: ... here. All users updated.
13111
47822096
VS
131122010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13113
13114 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
13115 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
13116 missing files.
13117 (maintainer-clean): Remove libgcrypt-grub.
13118
5d7e7445
VS
131192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
13122
25f4e252
EC
131232010-04-09 EFI Coder <eficoder@hotmail.com>
13124
13125 * normal/menu_text.c (print_message): Clean up the message and show
13126 the Fn information when on EFI
13127 * term/efi/console.c (grub_console_checkkey): Add F4 support.
13128
027de555
VS
131292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13130
13131 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
13132 All users updated.
13133 * normal/crypto.c (read_crypto_list): Likewise.
13134 * normal/dyncmd.c (read_command_list): Likewise.
13135 * normal/term.c (read_terminal_list): Likewise.
13136 * normal/main.c (read_lists): Use explicit prefix.
13137 (read_lists_hook): Use read_lists.
13138 (grub_normal_execute): Likewise.
13139
47779711
VS
131402010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13141
13142 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
13143 Reported by: Thomas Schmitt.
13144 Add -no-emul-boot to grub-mkisofs parameters.
13145
1118c32e
VS
131462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * font/font.c: Indented.
13149
7d652447
BC
131502010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13151
13152 Elif support to GRUB script (by Deepak Vankadaru).
13153
13154 * tests/grub_script_if.in: New testcase.
13155 * conf/tests.rmk: Rule for new testcase.
13156 * script/parser.y: Grammar rules for elif.
13157
34bb22df
BC
131582010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
13159
13160 While and until loops support to GRUB script.
13161
13162 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
13163 (grub_script_create_cmdwhile): New function prototype.
13164 (grub_script_execute_cmdwhile): New function prototype.
13165 * script/execute.c (grub_script_execute_cmdwhile): New function.
13166 * script/parser.y (command): New commands.
13167 (whilecmd): New grammar rule.
13168 (untilcmd): New grammar rule.
13169 * script/script.c (grub_script_create_cmdwhile): New function.
13170 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
13171 function.
13172
13173 * tests/grub_script_while1.in: New testcase.
13174 * conf/tests.rmk: Rule for new testcase.
13175
e215d8e0
VS
131762010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
13179 as *.jpg.
13180
d7c43ba1
MV
131812010-04-09 Mario Vazquez <mariovazq@gmail.com>
13182
13183 GRUB_BACKGROUND support.
13184
13185 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
13186 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
13187
d64795c0
VS
131882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 13191 Idea by: Mario Vazquez
d64795c0
VS
13192
13193 * util/grub.d/00_header.in: Load pf2 and image modules.
13194
f267f83a
VS
131952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13196
13197 grub-mkconfig multiple terminal support.
13198
13199 * util/grub-mkconfig.in: Handle multiple terminals correctly.
13200 * util/grub.d/00_header.in: Likewise.
13201
b7841ceb
VS
132022010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 * Makefile.in: Specify files explicitly instead of using $< and $@ since
13205 we use cd $(srcdir).
13206
df60998c
CW
132072010-04-08 Colin Watson <cjwatson@ubuntu.com>
13208
13209 * util/grub.d/10_linux.in: Only use the first word of
13210 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
13211 spaces in GRUB_DISTRIBUTOR.
13212 * util/grub.d/10_kfreebsd.in: Likewise.
13213 * util/grub.d/10_hurd.in: Likewise.
13214
fa09c82e
BC
132152010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
13216
14e18ae3 13217 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
13218
13219 * tests/util/grub-shell.in: Remove -serial stdio option.
13220
daf892b3
BC
132212010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13222
13223 POSIX header file wrappers.
13224
13225 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
13226 equivalents.
13227 * lib/posix_wrap/ctype.h: Likewise.
13228 * lib/posix_wrap/errno.h: Likewise.
13229 * lib/posix_wrap/langinfo.h: Likewise.
13230 * lib/posix_wrap/limits.h: Likewise.
13231 * lib/posix_wrap/localcharset.h: Likewise.
13232 * lib/posix_wrap/stdint.h: Likewise.
13233 * lib/posix_wrap/stdio.h: Likewise.
13234 * lib/posix_wrap/stdlib.h: Likewise.
13235 * lib/posix_wrap/string.h: Likewise.
13236 * lib/posix_wrap/sys/types.h: Likewise.
13237 * lib/posix_wrap/unistd.h: Likewise.
13238 * lib/posix_wrap/wchar.h: Likewise.
13239 * lib/posix_wrap/wctype.h: Likewise.
13240 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
13241 (grub_script.yy.h): Likewise.
13242 * script/yylex.l: Remove POSIX emulation #defines.
13243 * Makefile.in (POSIX_CFLAGS): New variable.
13244 (GNULIB_UTIL_CFLAGS): Likewise.
13245
13246 Regexp support.
13247
13248 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
13249 (regexp_mod_SOURCES): New variable.
13250 (regexp_mod_CFLAGS): Likewise.
13251 (regexp_mod_LDFLAGS): Likewise.
13252 * commands/regexp.c: New file.
13253 * gnulib/regcomp.c: New file. Imported from gnulib.
13254 * gnulib/regex.c: Likewise.
13255 * gnulib/regex_internal.c: Likewise.
13256 * gnulib/regex_internal.h: Likewise.
13257 * gnulib/regexec.c: Likewise.
13258 * gnulib/regex.h: Likewise.
13259
974ac4f7
VS
132602010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13261
13262 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
13263 unsupported video mode types.
13264
2622c3ff
VS
132652010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13266
13267 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
13268
064cb524
VS
132692010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
13272 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
13273
a8c3b552
VS
132742010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 Remove unused grub_vga_get_font.
13277
13278 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
13279 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
13280
187bbe3d
GS
132812010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13282
13283 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
13284 * include/grub/misc.h: Likewise.
13285
b9396631
GS
132862010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13287
13288 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
13289 for which failure is fatal.
13290
50479feb
GS
132912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13292
13293 * util/grub-install.in: Use mkdir -p to create grub directory.
13294 * util/i386/efi/grub-install.in: Likewise.
13295 * util/ieee1275/grub-install.in: Likewise.
13296
b1654fdf
GS
132972010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13298
13299 * Makefile.in (LEX): new variable.
13300
bd5a6415
GS
133012010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13302
13303 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
13304 `=' and added double quotes on operands of this equality test.
13305
3db3a82b
VS
133062010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * Makefile.in (uninstall): Remove a leftover debug echo.
13309 Reported by: Grégoire Sutre
13310
38023412
VS
133112010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13312
13313 MIPS multiboot2 support.
13314
13315 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
13316 (multiboot2_mod_SOURCES): New variable.
13317 (multiboot2_mod_CFLAGS): Likewise.
13318 (multiboot2_mod_LDFLAGS): Likewise.
13319 (multiboot2_mod_ASFLAGS): Likewise.
13320 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
13321 definition.
13322 (MULTIBOOT_ENTRY_REGISTER): Likewise.
13323 (MULTIBOOT_MBI_REGISTER): Likewise.
13324 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
13325 (MULTIBOOT_ELF32_MACHINE): Likewise.
13326 (MULTIBOOT_ELF64_MACHINE): Likewise.
13327 * include/grub/mips/multiboot.h: New file.
13328 * include/grub/video.h (grub_video_driver_id): New type
13329 GRUB_VIDEO_DRIVER_SM712.
13330 (grub_video_get_info_and_fini): Export.
13331 (grub_video_get_palette): Likewise.
13332 (grub_video_get_driver_id): Likewise.
13333 * include/multiboot2.h: Resynced with spec.
13334 * loader/i386/multiboot.c: Moved from here ...
13335 * loader/multiboot.c: ... here. All users updated.
13336 (grub_multiboot_boot): Use platform-specific macros.
13337 * loader/i386/multiboot_elfxx.c: Moved from here ...
13338 * loader/multiboot_elfxx.c: ... here. All users updated.
13339 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
13340 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
13341 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
13342
47674667
VS
133432010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 Import gnulib argp module.
13346
13347 * gnulib/argp-ba.c: New file.
13348 * gnulib/argp-eexst.c: Likewise.
13349 * gnulib/argp-fmtstream.c: Likewise.
13350 * gnulib/argp-fmtstream.h: Likewise.
13351 * gnulib/argp-fs-xinl.c: Likewise.
13352 * gnulib/argp-help.c: Likewise.
13353 * gnulib/argp-namefrob.h: Likewise.
13354 * gnulib/argp-parse.c: Likewise.
13355 * gnulib/argp-pin.c: Likewise.
13356 * gnulib/argp-pv.c: Likewise.
13357 * gnulib/argp-pvh.c: Likewise.
13358 * gnulib/argp-version-etc.c: Likewise.
13359 * gnulib/argp-version-etc.h: Likewise.
13360 * gnulib/argp-xinl.c: Likewise.
13361 * gnulib/argp.h: Likewise.
13362
495442ed
VS
133632010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13364
13365 * kern/device.c (grub_device_iterate): Clear errors after failed
13366 opening device.
13367
f9fd65df
VS
133682010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13369
13370 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
13371 returned by firmware.
13372
af09641e
VS
133732010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13374
13375 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
13376 compilation on coreboot and qemu
13377
016883a5
VS
133782010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * include/multiboot2.h: Resync with spec.
13381
f97e1f7d
VS
133822010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13383
13384 Multiboot2 tag support
13385
13386 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
13387 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
13388 Remove loader/multiboot_loader.c.
13389 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
13390 (grub_multiboot2_real_boot): Likewise.
13391 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
13392 (grub_get_multiboot_mmap_count): New proto.
13393 (grub_fill_multiboot_mmap): Likewise.
13394 (grub_multiboot_set_video_mode): Likewise.
13395 (grub_multiboot_set_console): Likewise.
13396 (grub_multiboot_load): Likewise.
13397 (grub_multiboot_load_elf): Likewise.
13398 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
13399 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
13400 * include/multiboot.h: Resynced with specification.
13401 * include/multiboot2.h: Resynced with specification.
13402 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
13403 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
13404 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
13405 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
13406 users updated.
13407 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
13408 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
13409 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
13410 Removed.
13411 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
13412 Moved from here...
13413 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
13414 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13415 Moved from here...
13416 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
13417 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
13418 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
13419 All users updated.
13420 * loader/i386/multiboot_mbi2.c: New file.
13421
3506b90b
VS
134222010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13423
13424 Resync with gnulib.
13425
13426 * Makefile.in (GNULIB_CFLAGS): New variable.
13427 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
13428 (grub_script_check_CFLAGS): New variable.
13429 * gnulib/alloca.h: Resync with gnulib.
13430 * gnulib/error.c: Likewise.
13431 * gnulib/error.h: Likewise.
13432 * gnulib/fnmatch.c: Likewise.
13433 * gnulib/fnmatch_loop.c: Likewise.
13434 * gnulib/getdelim.c: Likewise.
13435 * gnulib/getline.c: Likewise.
13436 * gnulib/getopt.c: Likewise.
13437 * gnulib/getopt1.c: Likewise.
13438 * gnulib/getopt_int.h: Likewise.
13439 * gnulib/gettext.h: Likewise.
13440 * gnulib/progname.c: Likewise.
13441 * gnulib/progname.h: Likewise.
13442
394a3120
GS
134432010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
13444
13445 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
13446 which is the case with --disabled-nls.
13447
13448 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
13449 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
13450 * util/misc.c: Likewise.
13451 * util/mkisofs/mkisofs.c: Likewise.
13452 * util/mkisofs/mkisofs.h: Likewise.
13453
969d1c78
VS
134542010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13455
13456 Simplify Apple CC support.
13457
13458 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
13459 Add 0 byte at the end not to have a symbol with empty target.
13460 * mmap/i386/pc/mmap_helper.S: Likewise.
13461 * genmk.rb: Ignore errors 2030 and 2050.
13462 * kern/i386/pc/startup.S: Use LOCAL when possible.
13463
8d2977bb
BC
134642010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
13465
13466 Testcase and the fix for final semicolon on cmdline.
13467
13468 * tests/grub_script_final_semicolon.in: New testcase.
13469 * conf/tests.rmk: Rules for the new testcase.
13470 * script/parser.y: Grammar fix.
13471
a7bd6915
BC
134722010-03-26 BVK Chaitanya <bvk@localhost>
13473
13474 Blank lines testcase for GRUB script.
13475
13476 * tests/grub_script_blanklines.in: New testcase.
13477 * conf/tests.rmk: Rules for the new testcase.
13478
e4ff6628
VS
134792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13480
13481 Don't use __FILE__.
13482
13483 * genmk.rb: Add -DGRUB_FILE to all C targets.
13484 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
13485 * include/grub/list.h: Likewise.
13486 * include/grub/misc.h: Likewise.
13487 * include/grub/mm.h: Likewise.
13488 * include/grub/test.h: Likewise.
13489 * kern/mm.c: Likewise.
13490 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13491
6a5cf6b6
VS
134922010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 Sunpc partitions support.
13495
13496 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
13497 (grub_fstest_SOURCES): Likewise.
13498 (pkglib_MODULES): Add part_sunpc.mod.
13499 (part_sunpc_mod_SOURCES): New variable.
13500 (part_sunpc_mod_CFLAGS): Likewise.
13501 (part_sunpc_mod_LDFLAGS): Likewise.
13502 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13503 * partmap/sunpc.c: New file.
13504
746d9045
BC
135052010-03-26 BVK Chaitanya <bvk@localhost>
13506
13507 For loop support to GRUB script.
13508
13509 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13510 (grub_script_create_cmdfor): New function prototype.
13511 (grub_script_execute_cmdfor): New function prototype.
13512 * script/execute.c (grub_script_execute_cmdfor): New function.
13513 * script/parser.y (command): New for command.
13514 (forcmd): New grammar rule.
13515 * script/script.c (grub_script_create_cmdfor): New function.
13516 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13517 function.
13518 * tests/grub_script_for1.in: New testcase.
13519 * conf/tests.rmk: Rules for new testcase.
13520
18486b18
VS
135212010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13522
13523 Nested partitions
13524
13525 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13526 'partition' is NULL, grub_partition_get_start already does that.
13527 * commands/loadenv.c (check_blocklists): Likewise.
13528 (write_blocklists): Likewise.
13529 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13530 (grub_fstest_SOURCES): Likewise.
13531 (pkglib_MODULES): Add part_bsd.mod.
13532 (part_bsd_mod_SOURCES): New variable.
13533 (part_bsd_mod_CFLAGS): Likewise.
13534 (part_bsd_mod_LDFLAGS): Likewise.
13535 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13536 (grub_emu_SOURCES): Likewise.
13537 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13538 * include/grub/bsdlabel.h: New file.
13539 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13540 'get_name'.
13541 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13542 (grub_partition_map_list): New variable.
13543 (grub_partition_map_register): Inline.
13544 (grub_partition_map_unregister): Likewise.
13545 (FOR_PARTITION_MAPS): New macro.
13546 (grub_partition_map_iterate): Removed.
13547 (grub_partition_get_start): Handle nested partitions.
13548 * include/grub/msdos_partition.h: Remove bsd-related entries.
13549 (grub_pc_partition): Remove.
13550 * kern/disk.c (grub_disk_close): Free partition data.
13551 (grub_disk_adjust_range): Handle nested partitions.
13552 * kern/partition.c (grub_partition_map_probe): New function.
13553 (grub_partition_probe): Parse name to number, handle subpartitions.
13554 (get_partmap): New function.
13555 (grub_partition_iterate): Handle subpartitions.
13556 (grub_partition_get_name): Likewise.
13557 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13558 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13559 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13560 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13561 Set 'number'.
13562 (acorn_partition_map_probe): Remove.
13563 (acorn_partition_map_get_name): Likewise.
13564 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13565 Set 'number'.
13566 Set 'index' to 0 since there can be only one partition entry per sector.
13567 (amiga_partition_map_probe): Remove.
13568 (amiga_partition_map_get_name): Likewise.
13569 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13570 Set 'number'.
13571 Set 'offset' and 'index' to real positions of partitions.
13572 (apple_partition_map_probe): Remove.
13573 (apple_partition_map_get_name): Likewise.
13574 * partmap/bsdlabel.c: New file.
13575 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13576 Set 'number'.
13577 Allocate 'data' so it can be correctly freed.
13578 Set 'index' to offset inside sector.
13579 (gpt_partition_map_probe): Remove.
13580 (gpt_partition_map_get_name): Likewise.
13581 * partmap/msdos.c (grub_partition_parse): Remove.
13582 (pc_partition_map_iterate): Don't force raw access.
13583 Set 'number'.
13584 Make 'ext_offset' a local variable.
13585 (pc_partition_map_probe): Remove.
13586 (pc_partition_map_get_name): Remove.
13587 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13588 Set 'number'.
13589 (sun_partition_map_probe): Remove.
13590 (sun_partition_map_get_name): Likewise.
13591 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13592 (grub_pcpart_type): Likewise.
13593 * util/hostdisk.c (open_device): Handle new numbering scheme.
13594 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13595 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13596 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13597 * util/grub-install.in: Insert all subpartition modules.
13598 * util/ieee1275/grub-install.in: Likewise.
13599
a3940f88
AG
136002010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13601
13602 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13603 grammar.
13604
21b99926 136052010-03-24 Colin Watson <cjwatson@ubuntu.com>
13606
13607 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13608
bed1d352
CW
136092010-03-21 Colin Watson <cjwatson@ubuntu.com>
13610
13611 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13612 match where 'make install' puts them.
13613 * util/i386/efi/grub-install.in: Likewise.
13614
c9f58427
CW
136152010-03-19 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * .bzrignore: Add gentrigtables, grub-script-check,
13618 grub_script_check_init.c, grub_script_check_init.h, and
13619 trigtables.c.
13620
f84afb27
VS
136212010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13622
13623 * kern/parser.c: Indented.
13624
ed0e3d30
VS
136252010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13626
13627 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13628
0ea81d98
VS
136292010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13630
13631 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13632 alpha_mask_size == 0 case.
13633
0cdc2a09
BC
136342010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13635
13636 GRUB shell lexer and parser improvements.
13637
13638 * conf/any-emu.rmk: Build rule updates.
13639 * conf/common.rmk: Likewise.
13640 * conf/i386-coreboot.rmk: Likewise.
13641 * conf/i386-efi.rmk: Likewise.
13642 * conf/i386-ieee1275.rmk: Likewise.
13643 * conf/i386-pc.rmk: Likewise.
13644 * conf/powerpc-ieee1275.rmk: Likewise.
13645 * conf/x86_64-efi.rmk: Likewise.
13646
13647 * configure.ac: Configure check for flex.
13648
13649 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13650 types.
13651 (grub_lexer_param): Struct member updates.
13652 (grub_parser_param): Likewise.
13653 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13654 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13655 (grub_script_lexer_init): Prototype update.
13656 (grub_script_lexer_record_start): Likewise.
13657 (grub_script_lexer_record_stop): Likewise.
13658 (grub_script_lexer_yywrap): New function prototype.
13659 (grub_script_lexer_fini): Likewise.
13660 (grub_script_execute_argument_to_string): Removed by...
13661 (grub_script_execute_argument_to_argv): ...better version.
13662
13663 * script/execute.c (ROUND_UPTO): New macro.
13664 (grub_script_execute_cmdline): Out of memory fixes.
13665 (grub_script_execute_menuentry): Likewise.
13666 (grub_script_execute_argument_to_string): Removed. Update all
13667 users by...
13668 (grub_script_execute_argument_to_argv): ...better version.
13669 * script/function.c (grub_script_function_create): Use
13670 grub_script_execute_argument_to_argv instead of
13671 grub_script_execute_argument_to_string.
13672
13673 * script/lexer.c (check_varstate): Removed.
13674 (check_textstate): Removed.
13675 (grub_script_lexer_record_start): Likewise.
13676 (grub_script_lexer_record_stop): Likewise.
13677 (recordchar): Replaced with...
13678 (grub_script_lexer_record): ...new function.
13679 (nextchar): Removed.
13680 (grub_script_lexer_init): Rewritten.
13681 (grub_script_yylex): Rewritten.
13682 (append_newline): New function.
13683 (grub_script_lexer_yywrap): New function.
13684 (grub_script_lexer_fini): New function.
13685 (grub_script_yyerror): Sets error flag.
13686
13687 * script/yylex.l: New file.
13688 (grub_lexer_yyfree): Wrapper for flex yyffre.
13689 (grub_lexer_yyalloc): Likewise.
13690 (grub_lexer_yyrealloc): Likewise.
13691 * script/parser.y: Refactored.
13692
13693 * script/script.c (grub_script_arg_add): Out of memory fixes.
13694 (grub_script_add_arglist): Likewise.
13695 (grub_script_create_cmdline): Likewise.
13696 (grub_script_create_cmdmenu): Likewise.
13697 (grub_script_add_cmd): Likewise.
13698 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13699 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13700 unnecessary code.
13701
13702 * tests/grub_script_echo1.in: New testcase.
13703 * tests/grub_script_vars1.in: New testcase.
13704 * tests/grub_script_echo_keywords.in: New testcase.
13705
1d63a066
VS
137062010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Remove some redundancy in build system.
13709
13710 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13711 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13712 (TARGET_LDFLAGS): Add -nostdlib.
13713 (TARGET_IMG_LDFLAGS): Likewise.
13714 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13715 anything since mmap isn't available.
13716 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13717 Add util/time.c.
13718 (pkglib_MODULES): Remove reboot.mod.
13719 (reboot_mod_SOURCES): Removed.
13720 (reboot_mod_CFLAGS): Likewise.
13721 (reboot_mod_LDFLAGS): Likewise.
13722 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13723 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13724 (DEFSYMFILES): Add kernel_syms.lst.
13725 (kernel_img_HEADERS): Add common headers.
13726 (symlist.c): New target.
13727 (kernel_syms.lst): Likewise.
13728 (pkglib_MODULES): Add memdisk.mod.
13729 (memdisk_mod_SOURCES): New variable.
13730 (memdisk_mod_CFLAGS): Likewise.
13731 (memdisk_mod_LDFLAGS): Likewise.
13732 (pkglib_MODULES): Add reboot.mod.
13733 (reboot_mod_SOURCES): New variable.
13734 (reboot_mod_CFLAGS): Likewise.
13735 (reboot_mod_LDFLAGS): Likewise.
13736 (pkglib_MODULES): Add date.mod.
13737 (date_mod_SOURCES): New variable.
13738 (date_mod_CFLAGS): Likewise.
13739 (date_mod_LDFLAGS): Likewise.
13740 (pkglib_MODULES): Add datehook.mod.
13741 (datehook_mod_SOURCES): New variable.
13742 (datehook_mod_CFLAGS): Likewise.
13743 (datehook_mod_LDFLAGS): Likewise.
13744 (pkglib_MODULES): Add lsmmap.mod.
13745 (lsmmap_mod_SOURCES): New variable.
13746 (lsmmap_mod_CFLAGS): Likewise.
13747 (lsmmap_mod_LDFLAGS): Likewise.
13748 (pkglib_MODULES): Add boot.mod.
13749 (boot_mod_SOURCES): New variable.
13750 (boot_mod_CFLAGS): Likewise.
13751 (boot_mod_LDFLAGS): Likewise.
13752 * conf/i386-coreboot.rmk: Removed redundant parts.
13753 * conf/i386-ieee1275.rmk: Likewise.
13754 * conf/i386-pc.rmk: Likewise.
13755 * conf/mips-yeeloong.rmk: Likewise.
13756 * conf/mips.rmk: Likewise.
13757 * conf/powerpc-ieee1275.rmk: Likewise.
13758 * conf/sparc64-ieee1275.rmk: Likewise.
13759 * conf/x86_64-efi.rmk: Likewise.
13760 * conf/i386-coreboot.rmk: Moved qemu parts ..
13761 * conf/i386-qemu.rmk: ... here
13762 * conf/i386-efi.rmk: Moved common parts to...
13763 * conf/x86-efi.rmk: ... here.
13764 * conf/i386.rmk: Added modules common to all x86 variants.
13765 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13766 * disk/memdisk.c: Remove grub/machine/kernel.h.
13767 * gensymlist.sh.in: Include symbol.h.
13768 * hook/datehook.c: Correct module name.
13769 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13770 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13771 * include/grub/i386/efi/serial.h: New file.
13772 * include/grub/x86_64/efi/serial.h: Likewise.
13773 * util/time.c: Likewise.
13774 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13775
463ac55f
CK
137762010-03-14 Colin King <colin.king@ubuntu.com>
137772010-03-14 Colin Watson <cjwatson@ubuntu.com>
13778
13779 Shrink the pre-partition-table part of boot.img by eight bytes.
13780
13781 * boot/i386/pc/boot.S (ERR): New macro.
13782 (chs_mode): Use ERR.
13783 (geometry_error): Likewise.
13784 (hd_probe_error): Remove. This is only used once, so we wrwite
13785 it inline instead.
13786 (read_error): Instead of printing read_error_string, just set up
13787 %si and fall through to ...
13788 (error_message): ... this new function, also used by ERR.
13789
08e46ede
CW
137902010-03-14 Colin Watson <cjwatson@ubuntu.com>
13791
13792 Speed up consecutive hostdisk operations on the same device.
13793
13794 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13795 (grub_util_biosdisk_open): Initialise disk->data.
13796 (struct linux_partition_cache): New structure.
13797 (linux_find_partition): Cache partition start positions; these are
13798 expensive to compute on every read and write.
13799 (open_device): Cache open file descriptor in disk->data, so that we
13800 don't have to reopen it and flush the buffer cache for consecutive
13801 operations on the same device.
13802 (grub_util_biosdisk_close): New function.
13803 (grub_util_biosdisk_dev): Set `close' member.
13804
13805 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13806 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13807 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13808 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13809 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13810
4a6d2d06
VS
138112010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13812
13813 Compile parts of grub-emu as modules.
13814
13815 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13816 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13817 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13818 (all-local): Add $(GRUB_EMU).
13819 (install-local): Install $(GRUB_EMU).
13820 (uninstall): Uninstall $(GRUB_EMU).
13821 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13822 * kern/dl.c: Likewise.
13823 * commands/sleep.c: Not include machine/time.h.
13824 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13825 (COMMON_CFLAGS): Likewise.
13826 (sbin_UTILITIES): Remove grub-emu.
13827 (grub_emu_SOURCES): Removed.
13828 (kernel_img_RELOCATABLE): New variable.
13829 (pkglib_PROGRAMS): Add kernel.img.
13830 (kernel_img_SOURCES): New variable
13831 (kernel_img_CFLAGS): Likewise.
13832 (kernel_img_LDFLAGS): Likewise.
13833 (TARGET_NO_STRIP): Likewise.
13834 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13835 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13836 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13837 (grub-emu): New target.
13838 (GRUB_EMU): New variable.
13839 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13840 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13841 * loader/xnu.c: Likewise.
13842 * include/grub/pci.h: Likewise.
13843 * genemuinit.sh: New file.
13844 * genemuinitheader.sh: Likewise.
13845 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13846 Support TARGET_NO_DYNAMIC_MODULES.
13847 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13848 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13849 * disk/loopback.c: Likewise.
13850 * font/font_cmd.c: Likewise.
13851 * partmap/acorn.c: Likewise.
13852 * partmap/amiga.c: Likewise.
13853 * partmap/apple.c: Likewise.
13854 * partmap/gpt.c: Likewise.
13855 * partmap/msdos.c: Likewise.
13856 * partmap/sun.c: Likewise.
13857 * parttool/msdospart.c: Likewise.
13858 * term/gfxterm.c: Likewise.
13859 * video/bitmap.c: Likewise.
13860 * video/readers/jpeg.c: Likewise.
13861 * video/readers/png.c: Likewise.
13862 * video/readers/tga.c: Likewise.
13863 * video/video.c: Likewise.
13864 * util/grub-emu.c (read_command_list): Removed.
13865 (main): Don't call util_init_nls.
13866 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13867 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13868
91fdd2ed
VS
138692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13870
13871 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13872 date.mod, datehook.mod.
13873 (datetime_mod_SOURCES): New variable.
13874 (datetime_mod_CFLAGS): Likewise.
13875 (datetime_mod_LDFLAGS): Likewise.
13876 (date_mod_SOURCES): Likewise.
13877 (date_mod_CFLAGS): Likewise.
13878 (date_mod_LDFLAGS): Likewise.
13879 (datehook_mod_SOURCES): Likewise.
13880 (datehook_mod_CFLAGS): Likewise.
13881 (datehook_mod_LDFLAGS): Likewise.
13882 * conf/sparc64-ieee1275.rmk: Likewise.
13883 * lib/ieee1275/datetime.c: New file.
13884
873ccae6
VS
138852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13888 (ieee1275_fb_mod_SOURCES): New variable.
13889 (ieee1275_fb_mod_CFLAGS): Likewise.
13890 (ieee1275_fb_mod_LDFLAGS): Likewise.
13891 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13892 New proto.
13893 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13894 (HEAP_MAX_ADDR): Likewise.
13895 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13896 type.
13897 Correct stop condition.
13898 (grub_ieee1275_devices_iterate): New function.
13899 * video/ieee1275.c: New file.
13900
601c97c0
VS
139012010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13902
13903 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13904
13905 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13906 as scratch.
13907 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13908 SCRATCH_PAD_DISKBOOT as scratch.
13909 (bootit): Pass Openfirmware pointer in %o4.
13910 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13911 of 0x200000.
13912 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13913 with util/grub-mkrawimage.c.
13914 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13915 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13916 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13917 (grub_aout_load) [GRUB_UTIL]: Likewise.
13918 * include/grub/kernel.h (grub_modules_get_end): New proto.
13919 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13920 (SCRATCH_PAD_BOOT): New definition.
13921 (SCRATCH_PAD_DISKBOOT): Likewise.
13922 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13923 * include/grub/sparc64/ieee1275/ieee1275.h
13924 (grub_ieee1275_original_stack): New variable
13925 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13926 New definition
13927 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13928 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13929 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13930 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13931 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13932 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13933 (grub_platform_image_format_t): New type.
13934 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13935 * kern/main.c (grub_modules_get_end)
13936 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13937 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13938 (codestart): Switch stacks.
13939 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13940 variable.
13941 (grub_heap_init): Use grub_modules_get_end.
13942 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13943 stack.
13944 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13945 (main): Likewise.
13946 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13947
d68b491e
TG
139482010-03-14 Thorsten Glaser <tg@mirbsd.org>
13949
13950 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13951
4e02ed50
MK
139522010-03-08 Matt Kraai <kraai@ftbfs.org>
13953
13954 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13955 bug #559005).
13956
1f15fc1e
VS
139572010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * genmoddep.awk: Output all missing symbols and not only first.
13960
fce5d8ff
VS
139612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13962
13963 * NEWS: Put the date of 1.98 release.
13964
d1e8a02f
VS
139652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13966
13967 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13968 ft2build.h.
13969
696fd607
VS
139702010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13971
13972 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13973 completition in the middle of string.
13974
33e2e6f3
VS
139752010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 * util/grub-mkrescue.in: Use mktemp with explicit template.
13978
b1f6d291
VS
139792010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13980
13981 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13982
2ac227c7
VS
139832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13986 right pointer.
13987
8f9a632b
VS
139882010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 Fix FreeBSD compilation.
13991
13992 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13993 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13994
60b03859
VS
139952010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13998
48a5a769
VS
139992010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
14002
3ab4bd77
VS
140032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
14006
d116e0d8
RM
140072010-03-04 Robert Millan <rmh.grub@aybabtu.com>
14008
14009 Support relative image path in theme file.
14010
14011 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
14012 (image_set_property): Handle theme_dir and relative path.
14013
c7ef54aa
VS
140142010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * configure.ac: Alias amd64 to x86_64.
14017
fcee14ed
VS
140182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14019
14020 * NEWS: mention multiboot on EFI.
14021
d0780363
VS
140222010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14023
14024 * kern/main.c (grub_load_modules): Handle errors from init functions of
14025 embeded modules.
14026
41168ea4
VS
140272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14028
14029 * normal/autofs.c (autoload_fs_module): Handle errors.
14030
b54d93ac
VS
140312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 Disable linux.mod on qemu-mips since it's not functional and leads
14034 to compilation failure.
14035
14036 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
14037 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
14038 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
14039 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
14040 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
14041 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
14042 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
14043 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
14044 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
14045 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
14046 Reported by: BVK Chaitanya
14047
fc8345da
JU
140482010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
14049
14050 * INSTALL: Add gettext as a dependency and add qemu to a new section
14051 "Prerequisites for make-check".
14052
4760f979
CF
140532010-03-04 Christian Franke <franke@computer.org>
14054
14055 * util/grub-pe2elf.c: Add missing include "progname.h".
14056
f209b5b2
VS
140572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * normal/crypto.c (read_crypto_list): Fix a typo.
14060 Reported by: Seth Goldberg.
14061
b4b7be98
VS
140622010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 14065 Reported by: Seth Goldberg.
b4b7be98 14066
c0ee0385
VS
140672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
14070 ascii.bitmaps.
14071
a8efbf64
VS
140722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14073
14074 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 14075 Reported by: Seth Goldberg.
a8efbf64 14076
08dcd913
VS
140772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * util/i386/efi/grub-install.in: Copy gettext files.
14080
c4d0b332
VS
140812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
14084
c6f2fe52
VS
140852010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 Wait for user entry basing on presence of output rather than on errors.
14088
14089 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
14090 (grub_install_newline_hook): Likewise.
14091 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
14092 * normal/menu.c (show_menu): Check line_counter to determine presence
14093 of output.
14094 * normal/term.c (grub_normal_line_counter): New variable.
14095 (grub_normal_get_line_counter): New function.
14096 (grub_install_newline_hook): Likewise.
14097
5382b1e4
VS
140982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
14101
5519963b
VS
141022010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * configure.ac: Update version to 1.98.
14105
72b28631
VS
141062010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
14107
14108 * util/grub.d/10_linux.in (linux_entry): Don't default to
14109 gfxpayload=keep if Linux doesn't support video handover.
14110
c140a180
VS
141112010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
14112
14113 Don't compile video modules on yeeloong since video subsystem is part
14114 of kernel.
14115
14116 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
14117 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
14118 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
14119 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
14120 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
14121 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
14122 * include/grub/bitmap_scale.h: Likewise.
14123 * include/grub/bufio.h: Likewise.
14124 * include/grub/font.h: Likewise.
14125 * include/grub/gfxterm.h: Likewise.
14126 * include/grub/video.h: Likewise.
14127 * include/grub/vbe.h: Don't include video_fb.h.
14128 * video/i386/pc/vbe.c: Include video_fb.h.
14129 * commands/i386/pc/vbetest.c: Include video.h.
14130
a0ca21c2
CW
141312010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
14132
14133 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
14134 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
14135 default entry if GRUB_SAVEDEFAULT=true. This allows using
14136 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
14137 saving a new default on every boot.
14138
4a8a763c
VS
141392010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * normal/crypto.c (read_crypto_list): Fix a memory leak.
14142 * normal/term.c (read_terminal_list): Likewise.
14143 * normal/main.c (grub_normal_init_page): Likewise.
14144 (grub_normal_read_line_real): Likewise.
14145
607ffde2
VS
141462010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
14149 memory leak.
14150 Reported by: Seth Goldberg.
14151
2b8fa975
CW
141522010-02-24 Joey Korkames <joey+lists@kidfixit.com>
14153
14154 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
14155 duplicate declaration of `start'.
14156
618307dd
VS
141572010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
14160 filename.
14161 Reported by: Georgy Buranov
14162
7dd05b96 141632010-02-20 Carles Pina i Estany <carles@pina.cat>
14164
14165 * util/grub-mkrawimage.c (usage): Change string formatting to
14166 improve gettext.
14167
d1484a42
MRA
141682010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14169
14170 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
14171 backspace keys.
14172
42b1d186
VS
141732010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
14174
14175 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
14176 Reported by: Michael Suchanek.
14177
141782010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
14179
14180 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
14181 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
14182
d9f31a41
VS
141832010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 Remove any reference to non-free fonts.
14186
14187 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
14188 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
14189 uses non-free components.
14190 * font/font.c (grub_font_get_name): Remove example name.
14191 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
14192 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14193 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
14194 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
14195
2793c71e
GB
141962010-02-16 Georgy Buranov <gburanov@gmail.com>
14197
14198 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
14199
402e3779
VS
142002010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14201
14202 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
14203 Double divisor.
14204 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
14205 features.
14206 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
14207
0dd1e0dd
VS
142082010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * gensymlist.sh.in: Use TARGET_CC instead of CC.
14211
6fa7cfce
ST
142122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14213
14214 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
14215 * docs/grub.texi (Command-line and menu entry commands): Document play
14216 command.
14217
37c8483b
ST
142182010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14219
14220 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
14221 parse arguments as inline tempo and notes. Move code for playing notes
14222 to...
14223 (play): ... new function.
14224
14da0fb7
ST
142252010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14226
14227 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
14228 grub_uint16_t instead of short.
14229 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
14230 disk from little endian to cpu endianness.
14231
04459e70
ST
142322010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
14233
14234 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
14235 GRUB_TICKS_PER_SECOND instead of 120.
14236
a0876943
VS
142372010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14238
14239 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
14240 escape sequence after \e.
14241
e29f95dc
VS
142422010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14243
14244 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
14245 non-ASCII characters.
14246
d27859b2
VS
142472010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14248
14249 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
14250 set root in single quotes to prevent \, from being unescaped.
14251
bc028f2f
VS
142522010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14253
14254 Prevent unknown commands from stopping menuentry execution.
14255
14256 * script/execute.c (grub_script_execute_cmdline): Print error after
14257 unknown command.
14258
095f5f82
VS
142592010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
14262 Reported by: Pavel Pisa.
14263
8c717950
VS
142642010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
14267
904935c3
VS
142682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 Merge grub_ieee1275_map_physical into grub_map and rename to
14271 grub_ieee1275_map
14272
14273 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
14274 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
14275 Remove.
14276 * kern/ieee1275/openfw.c (grub_map): Rename to ...
14277 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
14278 necessary.
14279 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
14280
5b59a4e3
VS
142812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14282
14283 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
14284 opening and not after.
14285
69e137e8
VS
142862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
14289 constants.
14290
2c0fcc36
VS
142912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
14294 (alloc_phys): Use ALIGN_UP instead of align_addr.
14295
8c6052ce
VS
142962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
14299
17cec782
VS
143002010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14301
14302 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
14303
e0128bbd
VS
143042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14305
14306 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
14307 verbose dprintf.
14308
ca62070b
VS
143092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Fix over-4GiB seek on sparc64.
14312
14313 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
14314 Replace pos_i and pos_lo with pos. All users updated.
14315 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14316 New constant.
14317 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14318 Likewise.
14319 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
14320 and pos_lo.
14321
bdca2607
VS
143222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * util/grub-mkrawimage.c (main): Call set_program_name.
14325
da278c4d
VS
143262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 Properly align 64-bit targets.
14329
14330 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
14331 (generate_image): Use ALIGN_ADDR.
14332
b274d734
VS
143332010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14334
14335 Properly create cross-endian images.
14336
14337 * include/grub/types.h (grub_host_to_target_addr): New macro
14338 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
14339
82da2062
VS
143402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14341
14342 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
14343
7cae4377
VS
143442010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
14347
14348 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
14349 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
14350 (grub_linux_boot): Divide by 64K when on VESA.
14351
65a533e7
VS
143522010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 Support GRUB_GFXPAYLOAD_LINUX.
14355
14356 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
14357 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
14358
dd01d397
VS
143592010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
14362 to show messages instead of discarding them.
14363 Process errors after executing command and not before. Keep old method
14364 too as precaution.
14365
660960d6
VS
143662010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
14367
14368 * configure.ac: Check for ft2build.h.
14369
62509f04
VS
143702010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
14373
473df63d
VS
143742010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14375
14376 * genkernsyms.sh.in: Use TARGET_CC.
14377
c98d2a13
CW
143782010-02-07 Colin Watson <cjwatson@ubuntu.com>
14379
14380 * NEWS: Update.
14381
6e14234c
VS
143822010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14383
14384 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
14385 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
14386 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 14387
b255e9cf
YB
143882010-02-07 Yves Blusseau <blusseau@zetam.org>
14389
6e14234c 14390 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 14391
98e6959d
VS
143922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 Fix warnings in grub-emu when compiling with maximum warning options.
14395
14396 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
14397 (grub_arch_modules_addr): Return 0 and not NULL.
14398 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 14399 (xstrdup): Use newstr instead of dup.
f88d801b
VS
14400 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
14401 of disk to dsk to avoid shadowing.
74e4934e
VS
14402 (find_free_slot): Fix prototype.
14403 * util/getroot.c (grub_util_is_dmraid): Make static.
14404 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
14405 Add missing prototype.
14406 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 14407
74e31b5c
VS
144082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14409
14410 * loader/i386/linux.c (grub_linux_setup_video): Handle error
14411 appropriately.
14412
6b2ad14b
VS
144132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
14416 code out.
14417
8f891adc
VS
144182010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
14421 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
14422 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
14423 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
14424 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
14425 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
14426
74b45184
VS
144272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * include/grub/err.h (grub_err_printf): Don't export.
14430
a4bced77
VS
144312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14432
14433 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
14434
007d0695
VS
144352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * include/grub/i18n.h (grub_gettext_dummy): Removed.
14438 * kern/misc.c (grub_gettext_dummy): Make static.
14439
b6c0d9c2
VS
144402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
14443 by non-valid ones.
14444 * kern/term.c (grub_putchar): Likewise.
14445
f51a90d0
VS
144462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
14449 buggy hook call and memory leak.
14450
6846cec5
VS
144512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
14454
468d69fe
VS
144552010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14456
14457 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
14458
51906b8c
VS
144592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14460
14461 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
14462 modevar.
14463 Return grub_errno on allocation error.
14464
09706ce5
VS
144652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14466
14467 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
14468
911df80c
YB
144692010-02-06 Yves Blusseau <blusseau@zetam.org>
14470
14471 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
14472 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
14473
3746a6bc
VS
144742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14475
14476 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
14477 non-pxe disk.
14478 (grub_pxefs_open): Likewise.
14479
09706ce5
VS
144802010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14481
14482 * util/grub.d/10_hurd.in: Add --class information to menuentries.
14483 * util/grub.d/10_kfreebsd.in: Likewise.
14484 * util/grub.d/10_linux.in: Likewise.
14485
7cc192d9
VS
144862010-02-06 Colin D Bennett <colin@gibibit.com>
14487
14488 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
14489 (gfxmenu_mod_SOURCES): New variable.
14490 (gfxmenu_mod_CFLAGS): Likewise.
14491 (gfxmenu_mod_LDFLAGS): Likewise.
14492 * include/grub/term.h (grub_term_set_current_output): Declare
14493 argument as const.
14494 * docs/gfxmenu-theme-example.txt: New file.
14495 * gfxmenu/gfxmenu.c: Likewise.
14496 * gfxmenu/gui_box.c: Likewise.
14497 * gfxmenu/gui_canvas.c: Likewise.
14498 * gfxmenu/gui_circular_progress.c: Likewise.
14499 * gfxmenu/gui_image.c: Likewise.
14500 * gfxmenu/gui_label.c: Likewise.
14501 * gfxmenu/gui_list.c: Likewise.
14502 * gfxmenu/gui_progress_bar.c: Likewise.
14503 * gfxmenu/gui_string_util.c: Likewise.
14504 * gfxmenu/gui_util.c: Likewise.
14505 * gfxmenu/icon_manager.c: Likewise.
14506 * gfxmenu/model.c: Likewise.
14507 * gfxmenu/named_colors.c: Likewise.
14508 * gfxmenu/theme_loader.c: Likewise.
14509 * gfxmenu/view.c: Likewise.
14510 * gfxmenu/widget-box.c: Likewise.
14511 * include/grub/gfxmenu_model.h: Likewise.
14512 * include/grub/gfxmenu_view.h: Likewise.
14513 * include/grub/gfxwidgets.h: Likewise.
14514 * include/grub/gui.h: Likewise.
14515 * include/grub/gui_string_util.h: Likewise.
14516 * include/grub/icon_manager.h: Likewise.
14517
145182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14519
14520 Agglomerate scrolling in gfxterm.
14521
14522 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14523 (grub_virtual_screen_setup): Initialise 'total_screen'.
14524 (write_char): Split to ...
14525 (paint_char): ... this ...
14526 (write_char): ... and this.
14527 (paint_char): Handle delayed scrolling.
14528 (draw_cursor): Likewise.
14529 (scroll_up): Split to ...
14530 (real_scroll): ... this ...
14531 (scroll_up): ... and this.
14532 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14533 characters.
14534 (grub_gfxterm_refresh): Call real_scroll.
14535
145362010-02-06 Colin D Bennett <colin@gibibit.com>
14537
14538 * include/grub/misc.h (grub_iscntrl): New inline function.
14539 (grub_isalnum): Likewise.
14540 (grub_strtol): Likewise.
14541
145422010-02-06 Colin D Bennett <colin@gibibit.com>
14543
14544 * normal/menu_text.c (get_entry_number): Move from here ...
14545 * normal/menu.c (get_entry_number): ... moved here.
14546 * include/grub/menu.h (grub_menu_get_default_entry_index):
14547 New prototype.
14548 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14549 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14550 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14551 (grub_menu_viewer_should_return): Likewise.
14552 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14553 * normal/menu_text.c (run_menu): Enable menu switching.
14554 * normal/menu_viewer.c (should_return): New variable.
14555 (menu_viewer_changed): Likewise.
14556 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14557 (grub_menu_viewer_should_return): New function.
14558 (menuviewer_write_hook): Likewise.
14559 (grub_menu_viewer_init): Likewise.
14560
145612010-02-06 Colin D Bennet <colin@gibibit.com>
145622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14563
14564 Support for gfxterm in a window.
14565
14566 * include/grub/gfxterm.h: New file.
14567 * include/grub/video.h (struct grub_video_rect): New declaration.
14568 (grub_video_rect_t): Likewise.
14569 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14570 (refcount): New variable.
14571 (render_target): Likewise.
14572 (window): Likewise.
14573 (repaint_callback): Likewise.
14574 (grub_virtual_screen_setup): Use 'render_target'.
14575 (init_window): New function.
14576 (grub_gfxterm_init_window): Likewise.
14577 (grub_gfxterm_init): Check reference counter.
14578 Use init_window.
14579 (destroy_window): New function.
14580 (grub_gfxterm_destroy_window): Likewise.
14581 (grub_gfxterm_fini): Check reference counter.
14582 Use destroy_window.
14583 (redraw_screen_rect): Restore viewport.
14584 Use 'render_target' and 'window'.
14585 Call 'repaint_callback'.
14586 (write_char): Use 'render_target'.
14587 (draw_cursor): Likewise.
14588 (scroll_up): Restore viewport.
14589 Use 'render_target' and 'window'.
14590 Call 'repaint_callback'.
14591 (grub_gfxterm_cls): Likewise.
14592 (grub_gfxterm_refresh): Use 'window'.
14593 (grub_gfxterm_set_repaint_callback): New function.
14594 (grub_gfxterm_background_image_cmd): Use 'window'.
14595 (grub_gfxterm_get_term): New function.
14596 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14597
145982010-02-06 Colin D Bennett <colin@gibibit.com>
14599
14600 Bitmap scaling support.
14601
14602 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14603 (bitmap_scale_mod_SOURCES): New variable.
14604 (bitmap_scale_mod_CFLAGS): Likewise.
14605 (bitmap_scale_mod_LDFLAGS): Likewise.
14606 * include/grub/bitmap_scale.h: New file.
14607 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14608 (background_image_cmd_options): New variable.
14609 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14610 (cmd): Rename and change type to ...
14611 (background_image_cmd_handle): ... this. All users updated.
14612 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14613 * video/bitmap_scale.c: New file.
14614
146152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 SDL support.
14618
14619 * Makefile.in (LIBSDL): New variable.
14620 (enable_grub_emu_sdl): Likewise.
14621 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14622 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14623 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14624 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14625 * util/sdl.c: New file.
14626
146272010-02-06 Colin D Bennett <colin@gibibit.com>
146282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 Double buffering support.
14631
14632 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14633 * include/grub/video.h: Update comment.
14634 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14635 New type.
14636 (grub_video_fb_doublebuf_blit_init): New prototype.
14637 * term/gfxterm.c (scroll_up): Support double buffering.
14638 (grub_gfxterm_refresh): Likewise.
14639 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14640 (grub_video_fb_doublebuf_blit_init): Likewise.
14641 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14642 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14643 'displayed_page', 'render_page' and 'update_screen'.
14644 (grub_video_vbe_fini): Free offscreen buffer.
14645 (doublebuf_pageflipping_commit): New function.
14646 (doublebuf_pageflipping_update_screen): Likewise.
14647 (doublebuf_pageflipping_init): Likewise.
14648 (double_buffering_init): Likewise.
14649 (grub_video_vbe_setup): Enable doublebuffering.
14650 (grub_video_vbe_swap_buffers): Implement.
14651 (grub_video_vbe_set_active_render_target): Handle double buffering.
14652 (grub_video_vbe_get_active_render_target): Likewise.
14653 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14654 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14655 (grub_video_vbe_enable_double_buffering): Likewise.
14656 (grub_video_vbe_swap_buffers): Use update_screen.
14657 (grub_video_set_mode): Use double buffering.
14658
146592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14660
14661 * maintainance/gentrigtables.py: Remove.
14662 * lib/trig.c: Likewise.
14663
14664 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14665
14666 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14667 `trigtables.c'.
14668 (trigtables.c): New rule.
14669 (gentrigtables): Likewise.
14670 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14671
146722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14673
14674 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14675 integer constants.
14676
146772010-02-06 Colin D Bennet <colin@gibibit.com>
14678
14679 Trigonometry support.
14680
14681 * include/grub/trig.h: New file.
14682 * lib/trig.c: Likewise.
14683 * maintainance/gentrigtables.py: Likewise.
14684 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14685 (trig_mod_SOURCES): New variable.
14686 (trig_mod_CFLAGS): Likewise.
14687 (trig_mod_LDFLAGS): Likewise.
14688
5562834e
VS
146892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14690
14691 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14692 disk devices.
14693
4f8528fc
VS
146942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14695
14696 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14697 error.
14698
2b4068e9
VS
146992010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14700
14701 * util/hostdisk.c (open_device): Don't use partition device when reading
14702 before the partition.
14703 (grub_util_biosdisk_read): Don't read from partition and before the
14704 partition in single operation.
14705 (grub_util_biosdisk_write): Don't write to partition and before the
14706 partition in single operation.
14707
399f6e4d
TL
147082010-02-03 Torsten Landschoff <torsten@debian.org>
14709
14710 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14711 last sectors.
14712
996649b0
VS
147132010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14716 CDROM reads.
14717 (grub_biosdisk_write): Refuse to write to CDROM.
14718
3b205d4d
VS
147192010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14722
61e89d9d
VS
147232010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14724
14725 * font/font.c (find_glyph): Check that bmp_idx is available before
14726 using it.
14727 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14728 with (font == NULL).
14729
bf7fcba2
CS
147302010-01-28 Christian Schmitt <chris@ilovelinux.de>
14731
14732 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14733
f45d2663
BC
147342010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14735
14736 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14737 * util/grub-script-check.c (getline): Fix empty lines case.
14738
ec1444e6
RM
147392010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14740
14741 * Makefile.in (check): Exit with fail status when one of the tests
14742 fails.
14743 * tests/example_functional_test.c (example_test): Fix reversed assert.
14744 * tests/example_unit_test.c (example_test): Likewise.
14745
2e1cb9bb
CW
147462010-01-28 Colin Watson <cjwatson@ubuntu.com>
14747
14748 * util/grub.d/10_linux.in: This script does not use any of the
14749 contents of gettext.sh, only the external command `gettext', so stop
14750 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14751 the same prefix as GRUB.)
14752 * util/grub.d/10_kfreebsd.in: Likewise.
14753
63533ab0
VS
147542010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14757 of the line.
14758
989e1f93
VS
147592010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14762 last sectors.
14763
e709ebe2
VS
147642010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14765
14766 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14767 having a 4KiB and not 32KiB buffer size.
14768
27dea7ed
RM
147692010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14770
14771 * util/hostfs.c: Include `<errno.h>'.
14772 (grub_hostfs_read): Handle errors from fseeko() and fread().
14773
67667b9c
RM
147742010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14775
14776 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14777 loop when using read hooks on files whose size isn't sector-aligned.
14778
c294d9d8
RM
147792010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14780
14781 Remove unused parameter.
14782
14783 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14784 (grub_iso9660_open): Remove initialization of `data->length'.
14785
af75a9f1
RM
147862010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14787
14788 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14789 memleak conditions.
14790
254e2ce5 147912010-01-27 Carles Pina i Estany <carles@pina.cat>
14792
14793 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14794 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14795
b510928c 147962010-01-26 Carles Pina i Estany <carles@pina.cat>
14797
14798 * util/bin2h.c (usage): Fix warning (space after backslash).
14799
aa2f9dd2 148002010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 14801
14802 * font/font.c: Include `grub/fontformat.h.
14803 Remove font file format constants.
14804 (grub_font_load): Use the new macros.
14805 * include/grub/fontformat.h: New file.
14806 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14807 (write_font_pf2): Use the new macros.
14808
94e7e712
RM
148092010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14810
14811 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14812 does.
14813
3973a59a
RM
148142010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14815
14816 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14817
14818 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14819 (_start): Macroify `0x7F'.
14820
14821 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14822 (make_install_device): Use "(pxe)" as fallback prefix when booting
14823 via PXE.
14824
42e0cba3
GS
148252010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14826
14827 * configure.ac: Reset LIBS after check for libgcc symbols.
14828
847effd8
CW
148292010-01-25 Colin Watson <cjwatson@ubuntu.com>
14830
14831 * util/hostdisk.c (open_device): Add trailing newline to debug
14832 message.
14833
ea4a7e35
GS
148342010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14835
14836 * configure.ac: Check for `limits.h'.
14837 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14838
67951a53
RM
148392010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14840
14841 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14842 capitalize error strings.
14843
c273d4ce
ST
148442010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14845
14846 * util/grub.d/10_hurd.in: Add a recovery mode.
14847
69be5b74
VS
148482010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14849
14850 * configure.ac: Check for libgcc symbols with -nostdlib.
14851
fc9e5810
BC
148522010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14853
14854 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14855
4b358c0a
VS
148562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14857
14858 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14859 stack since heap may be unavailable at that point.
14860 (grub_ofconsole_gotoxy): Likewise.
14861
454fcd1c
VS
148622010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14863
14864 * configure.ac: Check for _restgpr_14_x.
14865 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14866 and _savegpr_* prototypes.
14867
566863ca
RM
148682010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14869
14870 Use generic grub_reboot() for i386-efi.
14871
14872 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14873 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14874 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14875
bf86e59a
VS
148762010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14879 presence of "prefix" variable as it breaks when normal.mod is
14880 embedded.
14881
d645e0f8
VS
148822010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14885 stack since heap is unavailable at that point.
14886
f9ab2e25
VS
148872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14890 (grub_freebsd_bootinfo): Rewritten.
14891 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14892
01fc7054
VS
148932010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14896
caab4fd6
RM
148972010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14898
14899 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14900 domain now.
14901
67eb1427
FZ
149022010-01-20 Felix Zielcke <fzielcke@z-51.de>
14903
14904 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14905 around for handling "/" to the correct fix. Fix a memory leak. Use
14906 xstrdup instead of strdup.
14907
a9ed4ff3
VS
149082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14911
149122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
14913
14914 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14915
14916 * font/font.c (struct grub_font): New member 'bmp_idx'.
14917 (font_init): Initialise 'bmp_idx'.
14918 (load_font_index): Fill 'bmp_idx'.
14919 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14920
48209f4f
VS
149212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14922
14923 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14924 unnecessary calls.
14925
9f0a4bb7
VS
149262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 Move context handling out of the kernel.
14929
14930 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14931 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14932 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14933 * conf/i386-efi.rmk: Likewise.
14934 * conf/i386-ieee1275.rmk: Likewise.
14935 * conf/i386-pc.rmk: Likewise.
14936 * conf/powerpc-ieee1275.rmk: Likewise.
14937 * conf/sparc64-ieee1275.rmk: Likewise.
14938 * conf/x86_64-efi.rmk: Likewise.
14939 * include/grub/env.h: Include grub/menu.h.
14940 (grub_env_var_type): Removed.
14941 (grub_env_var): Replaced field 'type' with 'global'.
14942 (grub_env_find): New prototype.
14943 (grub_env_context_open): Remove EXPORT_FUNC.
14944 (grub_env_context_close): Likewise.
14945 (grub_env_export): Likewise.
14946 (grub_env_set_data_slot): Removed.
14947 (grub_env_get_data_slot): Likewise.
14948 (grub_env_unset_data_slot): Likewise.
14949 (grub_env_unset_menu): New prototype.
14950 (grub_env_set_menu): Likewise.
14951 (grub_env_get_menu): Likewise.
14952 * include/grub/env_private.h: New file.
14953 * include/grub/normal.h (grub_context_init): New prototype.
14954 (grub_context_fini): Likewise.
14955 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14956 * normal/context.c (grub_cmd_export): ... to here.
14957 * kern/env.c: Include env_private.h.
14958 (HASHSZ): Moved to include/grub/env_private.h.
14959 (grub_env_context): Likewise.
14960 (grub_env_sorted_var): Likewise.
14961 (current_context): Renamed from this ...
14962 (grub_current_context): ...to this. 'static' removed. All users updated.
14963 (grub_env_find): Removed 'static'.
14964 (grub_env_context_open): Moved to normal/context.c.
14965 (grub_env_context_close): Likewise.
14966 (grub_env_export): Likewise.
14967 (mangle_data_slot_name): Removed.
14968 (grub_env_set_data_slot): Likewise.
14969 (grub_env_get_data_slot): Likewise.
14970 (grub_env_unset_data_slot): Likewise.
14971 * kern/main.c (grub_set_root_dev): Don't export root.
14972 It will be done later.
14973 (grub_main): Don't export prefix.
14974 It will be done later.
14975 * normal/context.c: New file.
14976 * normal/main.c (free_menu): Use grub_env_unset_menu.
14977 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14978 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14979 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14980 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14981
8dd35b8c
VS
149822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14983
14984 setpci support.
14985
14986 * commands/setpci.c: New file.
14987 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14988 (setpci_mod_SOURCES): New variable.
14989 (setpci_mod_CFLAGS): Likewise.
14990 (setpci_mod_LDFLAGS): Likewise.
14991
449193d5
VS
149922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 Byte-addressable PCI configuration space.
14995
14996 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14997 dword address.
14998 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14999 GRUB_PCI_REG_CACHELINE.
15000 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
15001 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
15002 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
15003 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
15004 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
15005 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
15006 grub_pci_make_address.
15007 (lock_rom_area): Likewise.
15008 * commands/lspci.c (grub_lspci_iter): Use macroses
15009 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
15010 of grub_pci_make_address.
15011 * disk/ata.c (grub_ata_pciinit): Likewise.
15012 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
15013 (GRUB_PCI_REG_VENDOR): Likewise.
15014 (GRUB_PCI_REG_DEVICE): Likewise.
15015 (GRUB_PCI_REG_COMMAND): Likewise.
15016 (GRUB_PCI_REG_STATUS): Likewise.
15017 (GRUB_PCI_REG_REVISION): Likewise.
15018 (GRUB_PCI_REG_CLASS): Likewise.
15019 (GRUB_PCI_REG_CACHELINE): Likewise.
15020 (GRUB_PCI_REG_LAT_TIMER): Likewise.
15021 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
15022 (GRUB_PCI_REG_BIST): Likewise.
15023 (GRUB_PCI_REG_ADDRESSES): Likewise.
15024 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15025 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15026 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15027 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15028 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15029 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
15030 (GRUB_PCI_REG_CIS_POINTER): Likewise.
15031 (GRUB_PCI_REG_SUBVENDOR): Likewise.
15032 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
15033 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
15034 (GRUB_PCI_REG_CAP_POINTER): Likewise.
15035 (GRUB_PCI_REG_IRQ_LINE): Likewise.
15036 (GRUB_PCI_REG_IRQ_PIN): Likewise.
15037 (GRUB_PCI_REG_MIN_GNT): Likewise.
15038 (GRUB_PCI_REG_MAX_LAT): Likewise.
15039 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
15040 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
15041 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 15042 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
15043 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
15044 space.
15045
96d73208
RM
150462010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15047
15048 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
15049 can be reliably determined to be supported.
15050
d4484482
RM
150512010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15052
15053 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
15054 that VESA is supported.
15055 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
15056 supported.
15057
00308ecf
VS
150582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
15061
f66924a4
RM
150622010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15063
15064 * util/misc.c (make_system_path_relative_to_its_root): Work around
15065 special-casing of "/", as previous incarnation of this routine did.
15066
cbca0ada
VS
150672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 Fix any-emu compilation.
15070
15071 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
15072 * grub_bin2h_SOURCES: New variable.
15073
34a66d99
RM
150742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15075
15076 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
15077
94fabf58
RM
150782010-01-20 Robert Millan <rmh.grub@aybabtu.com>
15079
15080 * util/grub.d/00_header.in: Fix handling of locale_dir.
15081
02cf98ca
VS
150822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
15085 as possible unifont location (Gentoo).
15086 Reported by: Alexander Brüning
15087
327dbcd7
VS
150882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 Don't try to generate lists for kernel.img.
15091
15092 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
15093 (pkglib_MODULES): Remove kernel.img.
15094 (kernel_img_EXPORTS): Removed.
15095 (kernel_img_RELOCATABLE): New variable.
15096 * conf/x86_64-efi.rmk: Likewise.
15097 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
15098
ca467290
VS
150992010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15100
15101 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
15102 grub_xasprintf or grub_snprintf.
15103 (grub_vsprintf): Likewise.
15104 (grub_snprintf): New proto.
15105 (grub_vsnprintf): Likewise.
15106 (grub_xasprintf): Likewise.
15107 (grub_xvasprintf): Likewise.
15108 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
15109 (grub_sprintf): Removed.
15110 (grub_vsnprintf): New function.
15111 (grub_snprintf): Likewise.
15112 (grub_xvasprintf): Likewise.
15113 (grub_xasprintf): Likewise.
15114 (grub_vsprintf): Renamed to ...
15115 (grub_vsnprintf_real): ...this. New argument max_len.
15116
aca655fd
BC
151172010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
15118
15119 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
15120 fix grub-script-check warning.
15121
7ee92c32
VS
151222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * include/grub/font.h (grub_font_load): Fix prototype.
15125
f80927ca
VS
151262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15127
15128 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
15129
119c50ea
VS
151302010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15131
15132 * include/grub/x86_64/at_keyboard.h: New file.
15133
47d5f3c1
VS
151342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * loader/mips/linux.c: Include missing grub/i18n.h.
15137
55ff5266
RM
151382009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15139
15140 * normal/menu.c (notify_execution_failure): Clarify error message.
15141
c893cc87
RM
151422009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15143
15144 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
15145 return value (and revert all return statements). Update users.
15146
917dd370
CW
151472010-01-20 Dan Merillat <debian@dan.merillat.org>
15148
15149 * kern/device.c (grub_device_iterate): Allocate new part_ent
15150 structure based on sizeof (*p) rather than sizeof (p->next), to
15151 account for structure padding.
15152
15153 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
15154 disk is NULL, which might happen for LVM physical volumes with no
15155 LVM signature.
15156
d4a4ee57
RM
151572009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15158
15159 * loader/mips/linux.c (grub_cmd_initrd)
15160 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
15161
151622009-12-20 Robert Millan <rmh.grub@aybabtu.com>
15163
15164 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
15165 (grub_video_video_init, grub_video_bitmap_init)
15166 (grub_font_manager_init, grub_term_gfxterm_init)
15167 (grub_at_keyboard_init): New extern declarations.
15168 (grub_machine_init): Initialize gfxterm and at_keyboard.
15169
15170 * kern/main.c (grub_main): Revert grub_printf delay kludge.
15171
15172 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
15173 `gfxterm.mod' into core image.
15174
15175 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15176 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15177 (kernel_img_FORMAT): Copy to ...
15178
15179 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15180 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15181 (kernel_img_FORMAT): ... here, and ...
15182
15183 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
15184 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
15185 (kernel_img_FORMAT): ... here.
15186
15187 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
15188 and input (at_keyboard) terminals in kernel.
15189 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
15190
15191 (pkglib_MODULES): Remove `pci.mod'.
15192 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
15193 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
15194 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
15195 (at_keyboard_mod_LDFLAGS): Remove variables.
15196
151972010-01-11 Felix Zielcke <fzielcke@z-51.de>
15198
15199 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
15200
152012009-12-10 Robert Millan <rmh.grub@aybabtu.com>
15202
15203 * include/grub/mips/libgcc.h: Only export symbols for functions
15204 that libgcc provides.
15205
152062009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 MIPS support.
15209
15210 * bus/bonito.c: New file.
15211 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
15212 GRUB_PCI_NUM_DEVICES.
15213 * term/i386/pc/serial.c: Move to ...
15214 * term/serial.c: ... here. All users updated.
15215 * util/i386/pc/grub-mkimage.c: Move to ...
15216 * util/grub-mkrawimage.c: ... here. All users updated.
15217 * term/i386/pc/at_keyboard.c: Move to ...
15218 * term/at_keyboard.c: ... here. All users updated.
15219 * conf/mips-qemu-mips.rmk: New file.
15220 * conf/mips-yeeloong.rmk: Likewise.
15221 * conf/mips.rmk: Likewise.
15222 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
15223 mipsel-qemu-mips.
15224 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
15225 to port addresses.
15226 (grub_ata_pciinit): Support CS5536.
15227 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
15228 * font/font_cmd.c (loadfont_command): Open file before passing it to
15229 grub_font_load.
15230 (pseudo_file_read): New function.
15231 (pseudo_file_close): Likewise.
15232 (pseudo_fs): New structure.
15233 (load_font_module): New function.
15234 (GRUB_MOD_INIT(font_manager)): Load embedded font.
15235 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
15236 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
15237 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
15238 * include/grub/i386/at_keyboard.h: Split into ...
15239 * include/grub/at_keyboard.h: ... this ...
15240 * include/grub/i386/at_keyboard.h: ... and this.
15241 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
15242 New prototype.
15243 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
15244 updated.
15245 (grub_elf64_size): Likewise.
15246 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
15247 filename.
15248 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
15249 * include/grub/i386/coreboot/serial.h: Rewritten.
15250 * include/grub/i386/ieee1275/serial.h: Include
15251 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
15252 * include/grub/i386/pc/serial.h: Moved from here ...
15253 * include/grub/serial.h: ... to here. All users updated.
15254 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
15255 (GRUB_PCI_NUM_BUS): Likewise.
15256 (GRUB_PCI_NUM_DEVICES): Likewise.
15257 (grub_pci_device_map_range): Add missing volatile keyword.
15258 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
15259 * include/grub/mips/at_keyboard.h: New file.
15260 * include/grub/mips/cache.h: Likewise.
15261 * include/grub/mips/io.h: Likewise.
15262 * include/grub/mips/kernel.h: Likewise.
15263 * include/grub/mips/libgcc.h: Likewise.
15264 * include/grub/mips/pci.h: Likewise.
15265 * include/grub/mips/qemu-mips/boot.h: Likewise.
15266 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15267 * include/grub/mips/qemu-mips/loader.h: Likewise.
15268 * include/grub/mips/qemu-mips/memory.h: Likewise.
15269 * include/grub/mips/qemu-mips/serial.h: Likewise.
15270 * include/grub/mips/qemu-mips/time.h: Likewise.
15271 * include/grub/mips/relocator.h: Likewise.
15272 * include/grub/mips/time.h: Likewise.
15273 * include/grub/mips/types.h: Likewise.
15274 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
15275 * include/grub/mips/yeeloong/boot.h: Likewise.
15276 * include/grub/mips/yeeloong/kernel.h: Likewise.
15277 * include/grub/mips/yeeloong/loader.h: Likewise.
15278 * include/grub/mips/yeeloong/memory.h: Likewise.
15279 * include/grub/mips/yeeloong/pci.h: Likewise.
15280 * include/grub/mips/yeeloong/serial.h: Likewise.
15281 * include/grub/mips/yeeloong/time.h: Likewise.
15282 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
15283 * kern/elf.c (grub_elf32_size): New parameter. All users
15284 updated.
15285 (grub_elf64_size): Likewise.
15286 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
15287 Load modules before saying "Welcome to GRUB!".
15288 Call grub_refresh after saying "Welcome to GRUB!".
15289 * kern/mips/cache.S: New file.
15290 * kern/mips/cache_flush.S: Likewise.
15291 * kern/mips/dl.c: Likewise.
15292 * kern/mips/init.c: Likewise.
15293 * kern/mips/qemu-mips/init.c: Likewise.
15294 * kern/mips/startup.S: Likewise.
15295 * kern/mips/yeeloong/init.c: Likewise.
15296 * kern/term.c (grub_putcode): Handle NULL terminal.
15297 (grub_getcharwidth): Likewise.
15298 (grub_getkey): Likewise.
15299 (grub_checkkey): Likewise.
15300 (grub_getkeystatus): Likewise.
15301 (grub_getxy): Likewise.
15302 (grub_getwh): Likewise.
15303 (grub_gotoxy): Likewise.
15304 (grub_cls): Likewise.
15305 (grub_setcolorstate): Likewise.
15306 (grub_setcolor): Likewise.
15307 (grub_getcolor): Likewise.
15308 (grub_refresh): Likewise.
15309 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
15310 (write_jump): Add hatch nop.
15311 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
15312 * lib/mips/setjmp.S: New file.
15313 * loader/mips/linux.c: Likewise.
15314 * term/i386/pc/at_keyboard.c: Move from here ...
15315 * term/at_keyboard.c: ... to here.
15316 * term/i386/pc/serial.c: Moved from here ...
15317 * term/serial.c: ... to here. All users updated.
15318 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
15319 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
15320 (serial_translate_key_sequence): Avoid deadlock.
15321 (grub_serial_getkey): Handle backspace.
15322 (grub_serial_putchar): Fix newline handling.
15323 * util/i386/pc/grub-mkimage.c: Move from here ...
15324 * util/grub-mkrawimage.c: ... to here. All users updated.
15325 (generate_image): New parameters 'font_path' and 'format'.
15326 Support embedding font.
15327 Use grub_host_to_target* instead of grub_cpu_to_le*.
15328 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
15329 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
15330 (options): New option "--font".
15331 (usage): Likewise.
15332 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
15333 (main): Handle "--font".
15334 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
15335 (grub_virtual_screen_setup): Set bg_color_display.
15336 (redraw_screen_rect): Use bg_color_display instead of incorrect
15337 bg_color.
15338 (grub_gfxterm_cls): Likewise.
15339 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
15340 Support embedding config file.
15341 (add_segments): Likewise.
15342 (options): New option "--config".
15343 (main): Handle "--config".
15344 * video/sm712.c: New file.
15345
25c2b5b3
RM
153462010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15347
15348 Fix parallel builds.
15349
15350 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
15351 font.c depend on ascii.h).
15352
153532010-01-12 Carles Pina i Estany <carles@pina.cat>
15354
15355 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
15356
153572010-01-11 Carles Pina i Estany <carles@pina.cat>
15358
15359 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
15360 By default: disabled.
15361 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
15362 parameter.
15363
153642010-01-10 Carles Pina i Estany <carles@pina.cat>
15365
15366 * font/font.c: Update copyright years.
15367 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
15368
153692010-01-10 Carles Pina i Estany <carles@pina.cat>
15370
15371 * font/font.c: Include `ascii.h'.
15372 (ASCII_BITMAP_SIZE): New macro.
15373 (ascii_font_glyph): Define.
15374 (ascii_glyph_lookup): New function.
15375 (grub_font_get_string_width): Change comment. If glyph not found, use
15376 ascii_glyph_lookup.
15377 (grub_font_get_glyph_with_fallback): If glyph not available returns
15378 ascii_glyph_lookup.
15379 * util/grub-mkfont.c (file_formats): New enum.
15380 (options): Add `ascii-bitmaps' new option.
15381 (usage): Add `asii-bitmaps' new option.
15382 (write_font_ascii_bitmap): New function.
15383 (write_font): Rename to ...
15384 (write_font_p2): ... this. Remove print_glyphs call.
15385 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
15386 used. Call print_glyphs.
15387 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
15388
153892010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15390
15391 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
15392 (grub_bin2h_SOURCES): New variable.
15393 * util/bin2h.c: New file.
15394
915fc1b8
VS
153952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * include/multiboot.h: Resynced with spec.
15398 * include/multiboot2.h: Likewise.
15399 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
15400 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
15401
9444b678
RM
154022010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15403
15404 * include/grub/term.h (grub_term_register_input,
15405 grub_term_register_output): Check return of terminal init()
15406 routines, and abort if errors are raised.
15407
15408 * commands/terminal.c: Update copyright year.
15409
cba98e8d
RM
154102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15411
15412 * commands/terminal.c (grub_cmd_terminal_input)
15413 (grub_cmd_terminal_output): Check return of terminal init()
15414 routines, and abort if errors are raised.
15415
6f7db5d6
VS
154162010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15417
15418 * include/grub/i386/bsd.h: Fix include pathes.
15419
262bff8d
VS
154202010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 Add missing *BSD copyright headers.
15423
15424 * include/grub/aout.h: Add BSD licence.
15425 * include/grub/i386/bsd.h: Parts under different licences moved to ...
15426 * include/grub/i386/freebsd_linker.h: ... here,
15427 * include/grub/i386/freebsd_reboot.h: ... here,
15428 * include/grub/i386/netbsd_bootinfo.h: ... here,
15429 * include/grub/i386/netbsd_reboot.h: ... here,
15430 * include/grub/i386/openbsd_bootarg.h: ... here,
15431 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
15432 licence to each file.
15433
b2cab848
RM
154342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15435
15436 * acinclude.m4: Remove `nop' assembly instruction; it's not
15437 implemented by all architectures.
15438
2cb6be4b
RM
154392010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15440
15441 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
15442 ELILO. This is no longer necessary.
15443
a2eaee15
BC
154442010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
15445
15446 Added new tool, grub-scrit-check to verify grub.cfg syntax.
15447
15448 * util/grub-script-check.c: grub-script-check tool.
15449 * conf/common.rmk: Make rules for grub-script-check.
15450
88d17012
RM
154512010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15452
15453 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
15454 spotting it back in 2008. Shame on me for forgetting he did.
15455
15456 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
15457
8040619d
RM
154582010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15459
15460 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
15461 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
15462 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
15463 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
15464 (GRUB_VIDEO_TYPE_EFI): Rename to ...
15465 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
15466
a0c2a0f6
RM
154672010-01-17 Robert Millan <rmh.grub@aybabtu.com>
15468
15469 * include/grub/test.h: Add license header.
15470 * tests/example_functional_test.c: Likewise.
15471 * tests/example_unit_test.c: Likewise.
15472 * tests/lib/functional_test.c: Likewise.
15473 * tests/lib/test.c: Likewise.
15474 * tests/lib/unit_test.c: Likewise.
15475
b0b13907
VS
154762010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 Use flag-based instead of hook-based video mode selection and "auto"
15479 keyword.
15480
15481 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
15482 (grub_video_set_mode): Changed prototype. All users updated.
15483 (grub_video_check_mode_flag): New inline function.
15484 * video/video.c (parse_modespec): New function.
15485 (grub_video_set_mode): Parse flags and keywords.
15486
ea379330 154872010-01-17 Carles Pina i Estany <carles@pina.cat>
15488
15489 * util/misc.c (grub_util_info): Fix the order of the parameters in a
15490 fprintf call.
15491
e15c215e
FZ
154922010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
15493
15494 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
15495
409ae1c9 154962010-01-16 Carles Pina i Estany <carles@pina.cat>
15497
15498 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
15499 string.
15500 * util/grub-emu.c (usage): Likewise.
15501 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15502 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15503 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15504 * util/i386/pc/grub-setup.c (usage): Likewise.
15505
70a14d3d 155062010-01-16 Carles Pina i Estany <carles@pina.cat>
15507
15508 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15509 the message.
15510 (grub_util_info): Likewise.
15511 (grub_util_error): Likewise.
15512 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15513 and/or new lines in `grub_util_warna', `grub_util_info',
15514 `grub_util_error' calls.
15515 * util/getroot.c: Likewise.
15516 * util/grub-editenv.c: Likewise.
15517 * util/grub-emu.c: Likewise.
15518 * util/grub-fstest.c: Likewise.
15519 * util/grub-mkdevicemap.c: Likewise.
15520 * util/grub-mkfont.c: Likewise.
15521 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15522 * util/grub-mkrelpath.c: Likewise.
15523 * util/grub-pe2elf.c: Likewise.
15524 * util/grub-probe.c: Likewise.
15525 * util/hostdisk.c: Likewise.
15526 * util/i386/efi/grub-mkimage.c: Likewise.
15527 * util/i386/pc/grub-mkimage.c: Likewise.
15528 * util/i386/pc/grub-setup.c: Likewise.
15529 * util/ieee1275/ofpath.c: Likewise.
15530 * util/mkisofs/eltorito.c: Likewise.
15531 * util/mkisofs/rock.c: Likewise.
15532 * util/mkisofs/write.c: Likewise.
15533 * util/raid.c: Likewise.
15534 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15535 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15536
a0b766fc
VS
155372010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 Enable multiboot on non-pc.
15540
15541 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15542 multiboot.mod and multiboot2.mod to ...
15543 * conf/i386.rmk (pkglib_MODULES): ... here.
15544 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15545 Moved to ...
15546 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15547 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15548 Moved to ...
15549 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15550 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15551 Moved to ...
15552 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15553 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15554 Moved to ...
15555 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15556 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15557 relocator.mod.
15558 (ata_mod_SOURCES): Removed.
15559 (ata_mod_CFLAGS): Likewise.
15560 (ata_mod_LDFLAGS): Likewise.
15561 (relocator_mod_SOURCES): Removed.
15562 (relocator_mod_CFLAGS): Likewise.
15563 (relocator_mod_ASFLAGS): Likewise.
15564 (relocator_mod_LDFLAGS): Likewise.
15565 Include i386.mk.
15566 * include/grub/x86_64/multiboot.h: New file.
15567 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15568 Terminate EFI.
15569
884ade56
VS
155702010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 Video multiboot support.
15573
15574 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15575 New prototype.
15576 * include/multiboot.h: Resynced with multiboot specification.
15577 * include/multiboot2.h: Likewise.
15578 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15579 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15580 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15581 (HAS_VGA_TEXT): Likewise.
15582 (accepts_video): New variable.
15583 (grub_multiboot_set_accepts_video): New function.
15584 (grub_multiboot_get_mbi_size): Account for video structures.
15585 (set_video_mode): New function.
15586 (retrieve_video_parameters): Likewise.
15587 (grub_multiboot_make_mbi): Fill video fields.
15588
0d90e8a6
VS
155892010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15590
15591 Video driver ids.
15592
15593 * include/grub/video.h (grub_video_driver_id): New type.
15594 (grub_video_adapter): New member 'id'. All users updated.
15595 (grub_video_get_driver_id): New proto.
15596 * video/video.c (grub_video_get_driver_id): New function.
15597
5c71db1b 155982010-01-14 Carles Pina i Estany <carles@pina.cat>
15599
15600 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15601 `var=val'.
15602
cca15b52 156032010-01-14 Carles Pina i Estany <carles@pina.cat>
15604
15605 * normal/cmdline.c (print_completion): Gettextizze.
15606
c586fbb2 156072001-01-14 Carles Pina i Estany <carles@pina.cat>
15608
15609 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15610
ba2f6848 156112010-01-14 Carles Pina i Estany <carles@pina.cat>
15612
15613 * gettext/gettext.c (grub_gettext_translate): Push and pop
15614 grub_errno.
15615 (grub_gettext_delete_list): Change comment style.
15616 * kern/err.c (grub_error): Gettextizze.
15617 (grub_fatal): Gettextizze.
15618
0a46429a
RM
156192010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15620
15621 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15622 (grub_linux16_real_boot): ... this.
15623 * kern/i386/loader.S: Likewise.
15624 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15625 (grub_linux16_boot): New function. Switches to text mode and calls
15626 grub_linux16_real_boot().
15627
15628 * loader/i386/bsd.c: Include `<grub/video.h>'.
15629 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15630 text mode before calling grub_unix_real_boot().
15631
15632 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15633 (grub_multiboot_boot): Switch to text mode before calling
15634 grub_relocator32_boot().
15635
15636 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15637 (grub_chainloader_boot): Switch to text mode before calling
15638 grub_chainloader_real_boot().
15639
d6f93a66
RM
156402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
156412010-01-05 Colin Watson <cjwatson@ubuntu.com>
15642
15643 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15644 non-empty value.
15645
156462010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
156472010-01-05 Colin Watson <cjwatson@ubuntu.com>
15648
15649 * util/grub.d/00_header.in: Define a "savedefault" function for use
15650 in menu entries.
15651 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15652
156532010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
156542010-01-05 Colin Watson <cjwatson@ubuntu.com>
15655
15656 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15657 saved_entry if boot_once is unset.
15658 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15659 previous saved entry (i.e. grub-reboot).
15660
156612009-12-08 Colin Watson <cjwatson@ubuntu.com>
15662
15663 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15664
156652009-12-08 Colin Watson <cjwatson@ubuntu.com>
15666
15667 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15668 `var=val'.
15669 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15670
156712009-12-08 Colin Watson <cjwatson@ubuntu.com>
15672
15673 * util/grub-reboot.in: Fix --version output.
15674 * util/grub-set-default.in: Likewise.
15675
156762009-12-08 Colin Watson <cjwatson@ubuntu.com>
15677
15678 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15679 blocks.
15680
156812009-12-08 Colin Watson <cjwatson@ubuntu.com>
15682
15683 * util/grub.d/00_header.in: Quote the value assigned to `default',
15684 in case it contains spaces.
15685
156862009-12-08 Colin Watson <cjwatson@ubuntu.com>
15687
15688 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15689 `save_default_entry' call from the macosx case to the linux case.
15690
156912009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
156922009-10-25 Colin Watson <cjwatson@ubuntu.com>
15693
15694 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15695 in `chosen' environment variable.
15696 * normal/menu_text.c (get_entry_number): Check if the variable
15697 matches the title of a menu entry.
15698 (run_menu): Pass menu to get_entry_number.
15699
15700 * util/grub-reboot.in: New file.
15701 * util/grub-set-default.in: New file.
15702 * conf/common.rmk (grub-reboot): New utility.
15703 (grub-set-default): New utility.
15704
15705 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15706 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15707 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15708 move it to `saved_entry' for the next boot. Load environment on
15709 initialisation.
15710 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15711 * util/grub.d/10_hurd.in: Likewise.
15712 * util/grub.d/10_linux.in (linux_entry): Likewise.
15713 * util/grub.d/10_windows.in: Likewise.
15714 * util/grub.d/30_os-prober.in: Likewise.
15715
15716 * util/grub-install.in: Create environment block.
15717 * util/i386/efi/grub-install.in: Likewise.
15718 * util/ieee1275/grub-install.in: Likewise.
15719 * util/sparc64/ieee1275/grub-install.in: Likewise.
15720
0934d184
BC
157212010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15722
15723 Unit testing framework for GRUB.
15724
15725 * Makefile.in: Test framework build rules for 'make check'.
15726 * conf/tests.rmk: Build rules for individual tests and framework.
15727
15728 * include/grub/test.h: Header file for whitebox tests.
15729 * tests/lib/functional_test.c: Framework support for whitebox
15730 functional tests.
15731 * tests/lib/test.c: Common whitebox testing code for unit and
15732 functional tests.
15733 * tests/lib/unit_test.c: Framework support for whitebox unit
15734 tests.
15735
15736 * tests/util/grub-shell-tester.in: Support utility for grub-script
15737 tests.
15738 * tests/util/grub-shell.in: Utility to execute grub-script
15739 commands in a Qemu instance.
15740
15741 * tests/example_functional_test.c: Example whitebox functional
15742 test.
15743 * tests/example_grub_script_test.in: Example grub-script test.
15744 * tests/example_scripted_test.in: Example scripted test.
15745 * tests/example_unit_test.c: Example whitebox unit test.
15746
9c4ffeeb
VS
157472010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15750 Add loader/i386/multiboot_mbi.c.
15751 (multiboot2_mod_SOURCES): Likewise.
15752 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15753 (multiboot2_mod_SOURCES): Likewise.
15754 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15755 (grub_multiboot_make_mbi): Likewise.
15756 (grub_multiboot_free_mbi): Likewise.
15757 (grub_multiboot_init_mbi): Likewise.
15758 (grub_multiboot_add_module): Likewise.
15759 (grub_multiboot_set_bootdev): Likewise.
15760 * loader/i386/multiboot.c (mbi): Removed.
15761 (mbi_dest): Likewise.
15762 (alloc_mbi): New variable.
15763 (grub_multiboot_payload_size): Removed. All users updated.
15764 (grub_multiboot_pure_size): New variable.
15765 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15766 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15767 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15768 (grub_fill_multiboot_mmap): Likewise.
15769 (grub_multiboot_get_bootdev): Likewise.
15770 (grub_multiboot): Use multiboot_mbi functions.
15771 * loader/i386/multiboot_mbi.c: New file.
15772
17383dfe
VS
157732010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15776 it would result in module crash.
15777
c1f28820
VS
157782010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15779
15780 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15781 (grub_ofconsole_getwh): Split to ...
15782 (grub_ofconsole_getwh): ... this.
15783 (grub_ofconsole_dimensions): ...and this.
15784 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15785
58655a16
RM
157862010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15787
15788 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15789
10891398
VS
157902010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * loader/i386/pc/multiboot2.c: Removed stalled file.
15793
0b8a223c
VS
157942010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15797 Reported by: Grégoire Sutre
15798
92ab12b0
RM
157992010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15800
15801 * util/misc.c (canonicalize_file_name): New function.
15802 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15803 instead of realpath().
15804
a788afb6
CW
158052010-01-11 Colin Watson <cjwatson@ubuntu.com>
15806
15807 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15808 and make it clearer that it's optional. Based on confusion
15809 witnessed on IRC.
15810
ffa8e3d2
VS
158112010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15814 in premature implicit newline.
15815
e9060a9d
VS
158162010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15819 which resulted in garbled command line at the end of screen.
15820
f0d0c0b7
RM
158212010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15822
15823 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15824 initialization with similar approach as with other Linux loaders.
15825
0e60bae7
RM
158262010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15827
15828 Fix i386-ieee1275 build.
15829
15830 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15831 and grub_term_height() for video_{width,height} initialization.
15832
158332010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
15834
15835 Fix grub-emu build.
15836
15837 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15838
cdb3f378
RM
158392010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
158402010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15841
15842 Support for multiple terminals.
15843
15844 * Makefile.in (pkglib_DATA): terminal.lst.
15845 (terminal.lst): New target.
15846 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15847 (GRUB_MOD_INIT(handler)): Likewise.
15848 (GRUB_MOD_FINI(handler)): Likewise.
15849 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15850 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15851 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15852 (grub_cmd_sleep): Use grub_term_save_pos.
15853 * commands/terminal.c: New file.
15854 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15855 commands/terminal.c and lib/charset.c.
15856 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15857 (pkglib_MODULES): Add terminal.mod.
15858 (terminal_mod_SOURCES): New variable.
15859 (terminal_mod_CFLAGS): Likewise.
15860 (terminal_mod_LDFLAGS): Likewise.
15861 * genhandlerlist.sh: Don't handle terminals.
15862 * genmk.rb: Generate terminal-*.lst.
15863 * genterminallist.sh: New file.
15864 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15865 (grub_is_valid_utf8): Likewise.
15866 (grub_utf8_to_ucs4_alloc): Likewise.
15867 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15868 (grub_menu_register_viewer): Changed argument.
15869 (grub_menu_try_text): New proto.
15870 (grub_gfxmenu_try_hook): New declaration.
15871 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15872 (grub_menu_init_page): Additional argument term.
15873 (grub_normal_init_page): Likewise.
15874 (grub_cmdline_get): Arguments simplified.
15875 (grub_utf8_to_ucs4_alloc): Removed.
15876 (grub_print_ucs4): Additional argument term.
15877 (grub_getstringwidth): Likewise.
15878 (grub_print_message_indented): Likewise.
15879 (grub_menu_text_register_instances): New proto.
15880 (grub_show_menu): Likewise.
15881 (read_terminal_list): Likewise.
15882 (grub_set_more): Likewise.
15883 * include/grub/parser.h: Include handler.h.
15884 * include/grub/reader.h: Rewritten.
15885 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15886 (GRUB_TERM_WIDTH): Changed to function.
15887 (GRUB_TERM_HEIGHT): Likewise.
15888 (GRUB_TERM_BORDER_WIDTH): Likewise.
15889 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15890 (GRUB_TERM_NUM_ENTRIES): Likewise.
15891 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15892 (GRUB_TERM_CURSOR_X): Likewise.
15893 (grub_term_input_class): Likewise.
15894 (grub_term_output_class): Likewise.
15895 (grub_term_outputs_disabled): New declaration.
15896 (grub_term_inputs_disabled): Likewise.
15897 (grub_term_outputs): Likewise.
15898 (grub_term_inputs): Likewise.
15899 (grub_term_register_input): Rewritten.
15900 (grub_term_register_output): Likewise.
15901 (grub_term_unregister_input): Likewise.
15902 (grub_term_unregister_output): Likewise.
15903 (FOR_ACTIVE_TERM_INPUTS): New macro.
15904 (FOR_DISABLED_TERM_INPUTS): Likewise.
15905 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15906 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15907 * include/grub/terminfo.h: Add oterm argument to all protypes.
15908 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15909 Use grub_rescue_run.
15910 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15911 All users updated.
15912 * kern/reader.c: Removed. All users updated.
15913 * kern/rescue_reader.c (grub_rescue_init): Removed.
15914 (grub_rescue_reader): Likewise.
15915 (grub_register_rescue_reader): Likewise.
15916 (grub_rescue_run): New function based on kern/reader.c.
15917 * kern/term.c: Adapted for multiterm.
15918 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15919 (grub_is_valid_utf8): Likewise.
15920 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15921 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15922 right terminal.
15923 * loader/i386/linux.c (grub_linux_boot): Likewise.
15924 * normal/auth.c (grub_username_get): New function.
15925 (grub_auth_check_authentication): Use grub_username_get.
15926 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15927 * normal/color.c: Adapt for multiterm.
15928 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15929 (grub_normal_init_page): Additional argument term.
15930 (read_lists): Call read_terminal_lists.
15931 (grub_enter_normal_mode): Call grub_cmdline_run.
15932 Handle grub_normal_exit_level.
15933 (grub_cmd_normal): Make reentrant.
15934 (grub_cmd_normal_exit): New function.
15935 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15936 * normal/menu.c: Adapt for multiterm.
15937 * normal/menu_entry.c: Likewise.
15938 * normal/menu_text.c: Likewise.
15939 * normal/menu_viewer.c: Removed. All users updated.
15940 * normal/term.c: New file.
15941 * util/console.c: Change order of includes to workaround a bug in
15942 ncurses headers.
15943 * term/terminfo.c: New argument oterm on all exported functions.
15944 All users updated.
15945 * util/grub-editenv.c (grub_term_input_class): Removed.
15946 (grub_term_output_class): Likewise.
15947
1a064917
RM
159482010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15949
15950 Make loader output a bit more user-friendly.
15951
15952 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15953 is being loaded. Likewise for the Hurd.
15954
15955 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15956 that kernel of FreeBSD ${version} is being loaded.
15957
15958 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15959 grub_dprintf().
15960 (grub_cmd_initrd): Likewise.
15961 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15962 that Linux ${version} is being loaded. Likewise for initrd.
15963
5ce0a83a 159642010-01-09 Carles Pina i Estany <carles@pina.cat>
15965
15966 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15967
809bbfeb 159682010-01-08 Carles Pina i Estany <carles@pina.cat>
15969
15970 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15971 (GRUB_MOD_INIT): Gettextizze.
15972 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15973 (GRUB_MOD_INIT): Gettextizze.
15974 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15975 (grub_cmd_linux): Capitalise Linux.
15976 (GRUB_MOD_INIT): Gettextizze.
15977 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15978 (grub_cmd_linux): Capitalise Linux.
15979 (GRUB_MOD_INIT): Gettextizze.
15980 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15981 (grub_cmd_linux): Capitalise Linux.
15982 (GRUB_MOD_INIT): Gettextizze.
15983 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15984 (GRUB_MOD_INIT): Gettextizze.
15985 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15986 (grub_cmd_linux): Capitalise Linux.
15987 (GRUB_MOD_INIT): Gettextizze.
15988 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15989 (grub_cpu_xnu_init): Gettextizze.
15990 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15991 (GRUB_MOD_INIT): Gettextizze.
15992 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15993 (GRUB_MOD_INIT): Gettextizze.
15994 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15995 (grub_linux_load64): Capitalise Linux.
15996 (GRUB_MOD_INIT): Gettextizze.
15997 * loader/xnu.c: Include `<grub/i18n.h>'.
15998 (GRUB_MOD_INIT): Gettextizze.
15999 * po/POTFILES: Add `loader/efi/appleloader.c',
16000 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
16001 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
16002 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
16003 `loader/i386/xnu.c', `loader/multiboot_loader.c',
16004 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
16005 and `loader/xnu.c'.
16006
b394b2ca
RM
160072010-01-08 Robert Millan <rmh.grub@aybabtu.com>
16008
16009 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
16010
160112010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
16012
16013 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
16014 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
16015 * util/mkisofs/mkisofs.c (main): Readjust --version output.
16016
bc8b32b3
RM
160172010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16018
16019 Reset Multiboot 2 support. New loader implements the draft in
16020 /branches/multiboot2 and shares as much code as possible with the
16021 production Multiboot 1 implementation.
16022
16023 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
16024 * loader/multiboot2.c: Likewise.
16025 * loader/i386/multiboot_helper.S: Likewise.
16026 * include/multiboot2.h: Replace with latest version from the draft
16027 in /branches/multiboot2.
16028
16029 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
16030 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
16031 and `loader/multiboot2.c'.
16032 (pkglib_MODULES): Add `multiboot2.mod'.
16033 (multiboot2_mod_SOURCES): New variable.
16034 (multiboot2_mod_LDFLAGS): Likewise.
16035 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
16036
16037 * conf/i386-pc.rmk: Likewise.
16038
16039 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
16040 (multiboot_mod_SOURCES): Remove variable.
16041 (multiboot_mod_LDFLAGS): Likewise.
16042 (multiboot_mod_CFLAGS): Likewise.
16043
16044 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
16045 `<multiboot2.h>' instead of `<multiboot.h>'.
16046 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
16047 (MULTIBOOT_HEADER_MAGIC): New macros.
16048
16049 * loader/multiboot_loader.c (module_version_status): Remove variable.
16050 (find_multi_boot2_header): Remove function.
16051 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
16052 logic. Always check for the Multiboot version we're compiling for.
16053 (grub_cmd_module_loader): Likewise.
16054 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
16055 command instead of `multiboot'.
16056
5d2c52b8
RM
160572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16058
16059 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
16060 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
16061 all users.
16062
53108d92
RM
160632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
160642010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 Fix breakage introduced with previous commit.
16067
16068 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
16069 commands.
16070 * normal/handler.c (read_handler_list): Revert part of previous commit
16071 affecting this file.
16072 * normal/main.c (read_lists): Move read_handler_list() call back to ...
16073 (grub_normal_execute): ... here.
16074
e2e936b2
RM
160752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
16076
16077 Merge prefix-redefinition-fix branch.
16078
16079 * normal/autofs.c (read_fs_list): Make function capable of being
16080 run multiple times, gracefuly replacing the previous data
16081 structures.
16082 * normal/dyncmd.c (read_command_list): Likewise.
16083 * normal/handler.c (read_handler_list): Likewise.
16084 * normal/main.c (read_lists): New function. Calls all the
16085 list reading functions.
16086 (grub_normal_execute): Use read_lists() instead of calling all
16087 list reading functions explicitly. Register read_lists() as a
16088 variable hook attached to ${prefix}.
16089
607a3701
VS
160902010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 Merge crypto branch.
16093
16094 * Makefile.in (pkglib_DATA): Add crypto.lst.
16095 (crypto.lst): New target.
16096 * commands/hashsum.c: New file.
16097 * commands/password.c (check_password): Use grub_crypto_memcmp.
16098 * commands/password_pbkdf2.c: New file.
16099 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
16100 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
16101 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
16102 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
16103 -I$(srcdir)/lib/libgcrypt_wrap.
16104 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
16105 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
16106 password_pbkdf2.mod.
16107 (crypto_mod_SOURCES): New variable.
16108 (crypto_mod_CFLAGS): Likewise.
16109 (crypto_mod_LDFLAGS): Likewise.
16110 (hashsum_mod_SOURCES): New variable.
16111 (hashsum_mod_CFLAGS): Likewise.
16112 (hashsum_mod_LDFLAGS): Likewise.
16113 (pbkdf2_mod_SOURCES): New variable.
16114 (pbkdf2_mod_CFLAGS): Likewise.
16115 (pbkdf2_mod_LDFLAGS): Likewise.
16116 (password_pbkdf2_mod_SOURCES): New variable.
16117 (password_pbkdf2_mod_CFLAGS): Likewise.
16118 (password_pbkdf2_mod_LDFLAGS): Likewise.
16119 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
16120 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
16121 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
16122 Include conf/gcry.rmk.
16123 * include/grub/auth.h: Rewritten.
16124 * include/grub/crypto.h: New file.
16125 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
16126 * include/grub/normal.h (read_crypto_list): New prototype.
16127 * lib/crypto.c: New file.
16128 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16129 * lib/pbkdf2.c: Likewise.
16130 * normal/auth.c (grub_auth_strcmp): Removed.
16131 (grub_iswordseparator): Likewise.
16132 (grub_auth_strword): Likewise.
16133 (is_authenticated): Use grub_strword.
16134 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
16135 and grub_strword. Pass entered password to authentication callback.
16136 * normal/crypto.c: New file.
16137 * normal/main.c: Call read_crypto_list.
16138 * util/grub-mkpasswd-pbkdf2.c: New file.
16139 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
16140
42841caa
VS
161412010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 Fix descent and ascent calculation.
16144
16145 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
16146 (options): New option "asce".
16147 (usage): Likewise.
16148 (add_char): Ignore invalid glyphs for descent calculation.
16149 Calculate ascent from actual content.
16150 (print_glyphs): Use 'asce'.
16151 (write_font): Likewise. Allow ascent override.
16152 (main): Handle "asce" option.
16153
e7730de7 161542010-01-06 Carles Pina i Estany <carles@pina.cat>
16155
16156 * kern/err.c: Include `<grub/i18n.h>'.
16157 (grub_print_error): Add full stop. Gettextizze.
16158 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
16159 (grub_bsd_load_elf): Capitalise ELF.
16160 (grub_cmd_freebsd_loadenv): Add `s' in error string.
16161 (grub_cmd_freebsd_module): Likewise.
16162 (grub_cmd_freebsd_module_elf): Likewise.
16163 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
16164
40e3a41f 161652010-01-06 Carles Pina i Estany <carles@pina.cat>
16166
16167 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
16168 * commands/search_file.c (HELP_MESSAGE): New macro.
16169 * commands/search_label.c (HELP_MESSAGE): Likewise.
16170 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
16171 * po/POTFILES: Add `commands/search_file.c',
16172 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
16173 `commands/search.c'.
16174
83507e68
RM
161752010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16176
16177 * config.rpath: Update from Gnulib.
16178
465c787b
YB
161792010-01-05 Yves Blusseau <blusseau@zetam.org>
16180
16181 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
16182
6581dd3a
YB
161832010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
16184
16185 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
16186
3bff18c5
CW
161872010-01-05 Colin Watson <cjwatson@ubuntu.com>
16188
16189 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
16190 arguments to fread so that we get a return value in bytes, rather
16191 than something that will normally be rounded down to 0.
16192 Adjust error handling to avoid producing garbage when size_t is not
16193 the same size as long long.
16194
a1368118
CW
161952010-01-05 Colin Watson <cjwatson@ubuntu.com>
16196
16197 * util/mkisofs/write.c (padblock_write): Check return value of
16198 fread.
16199
7c302978
RM
162002010-01-05 Robert Millan <rmh.grub@aybabtu.com>
16201
16202 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
16203 floppy images now.
16204
16205 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
16206
e33ace06
RM
162072010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16208
16209 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
16210 instead of manual alignment.
16211 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
16212 verbose). Avoid attempts to read past end of the device
16213 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
16214 but GRUB_DISK_CACHE_SIZE may exceed that).
16215
4b856776
RM
162162010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16217
16218 * commands/crc.c (grub_cmd_crc): Abort on read errors.
16219 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
16220 it to upper layer.
16221
52c2d97f
VS
162222010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
16225 New constant.
16226 (grub_efi_piwg_device_path): New structure
16227 (grub_efi_piwg_device_path_t): New type.
16228 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
16229 (devpath_1): Transform to a structure. All users updated.
16230 (devpath_2): Likewise.
16231 (devpath_3): Likewise.
16232 (devpath_4): Likewise.
16233 (devpath_5): Likewise.
16234
98ff6a54
VS
162352010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16236
16237 * loader/efi/appleloader.c: Restored. Update all users.
16238
3a73dcb6
RM
162392010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16240
16241 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
16242
16243 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
16244 (struct boot_blocklist): Move from here ...
16245 * include/grub/i386/pc/boot.h [ASM_FILE]
16246 (struct grub_boot_blocklist): ... to here. Update all users.
16247 (setup): Only initialize `start' member of `first_block'
16248 structure. Add assert() calls to verify the other members.
16249
16250 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
16251 (generate_image): Fix broken blocklist length initialization.
16252 Add assert() call to verify blocklist `segment' field.
16253
ab0eeb0c
RM
162542010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16255
16256 * loader/efi/appleloader.c: Remove. Update all users.
16257
58bc8bd5
RM
162582010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16259
16260 * boot/i386/pc/boot.S: Update copyright year.
16261 * boot/i386/pc/cdboot.S: Likewise.
16262 * boot/i386/pc/diskboot.S: Likewise.
16263 * boot/i386/pc/lnxboot.S: Likewise.
16264 * boot/i386/pc/pxeboot.S: Likewise.
16265 * bus/pci.c: Likewise.
16266 * commands/cmp.c: Likewise.
16267 * commands/help.c: Likewise.
16268 * commands/hexdump.c: Likewise.
16269 * commands/i386/pc/halt.c: Likewise.
16270 * commands/i386/pc/play.c: Likewise.
16271 * commands/i386/pc/vbeinfo.c: Likewise.
16272 * commands/ls.c: Likewise.
16273 * commands/test.c: Likewise.
16274 * disk/dmraid_nvidia.c: Likewise.
16275 * disk/i386/pc/biosdisk.c: Likewise.
16276 * disk/ieee1275/nand.c: Likewise.
16277 * disk/ieee1275/ofdisk.c: Likewise.
16278 * disk/lvm.c: Likewise.
16279 * disk/raid.c: Likewise.
16280 * disk/raid6_recover.c: Likewise.
16281 * disk/scsi.c: Likewise.
16282 * fs/affs.c: Likewise.
16283 * fs/cpio.c: Likewise.
16284 * fs/ext2.c: Likewise.
16285 * fs/hfs.c: Likewise.
16286 * fs/iso9660.c: Likewise.
16287 * fs/ntfs.c: Likewise.
16288 * fs/sfs.c: Likewise.
16289 * fs/udf.c: Likewise.
16290 * fs/ufs.c: Likewise.
16291 * fs/xfs.c: Likewise.
16292 * gencmdlist.sh: Likewise.
16293 * genmk.rb: Likewise.
16294 * include/grub/disk.h: Likewise.
16295 * include/grub/efi/api.h: Likewise.
16296 * include/grub/efi/efi.h: Likewise.
16297 * include/grub/efi/pe32.h: Likewise.
16298 * include/grub/elf.h: Likewise.
16299 * include/grub/fs.h: Likewise.
16300 * include/grub/i386/at_keyboard.h: Likewise.
16301 * include/grub/i386/pc/memory.h: Likewise.
16302 * include/grub/i386/pc/vbe.h: Likewise.
16303 * include/grub/i386/pci.h: Likewise.
16304 * include/grub/i386/tsc.h: Likewise.
16305 * include/grub/ieee1275/ieee1275.h: Likewise.
16306 * include/grub/ntfs.h: Likewise.
16307 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16308 * include/grub/sparc64/libgcc.h: Likewise.
16309 * include/grub/symbol.h: Likewise.
16310 * include/grub/types.h: Likewise.
16311 * include/multiboot2.h: Likewise.
16312 * io/gzio.c: Likewise.
16313 * kern/device.c: Likewise.
16314 * kern/disk.c: Likewise.
16315 * kern/efi/efi.c: Likewise.
16316 * kern/efi/mm.c: Likewise.
16317 * kern/elf.c: Likewise.
16318 * kern/file.c: Likewise.
16319 * kern/i386/dl.c: Likewise.
16320 * kern/i386/pc/init.c: Likewise.
16321 * kern/i386/pc/startup.S: Likewise.
16322 * kern/ieee1275/ieee1275.c: Likewise.
16323 * kern/ieee1275/init.c: Likewise.
16324 * kern/main.c: Likewise.
16325 * kern/mm.c: Likewise.
16326 * kern/powerpc/dl.c: Likewise.
16327 * kern/sparc64/dl.c: Likewise.
16328 * kern/x86_64/dl.c: Likewise.
16329 * lib/hexdump.c: Likewise.
16330 * loader/efi/appleloader.c: Likewise.
16331 * loader/i386/ieee1275/linux.c: Likewise.
16332 * loader/i386/pc/chainloader.c: Likewise.
16333 * loader/i386/pc/linux.c: Likewise.
16334 * loader/i386/pc/multiboot2.c: Likewise.
16335 * loader/ieee1275/multiboot2.c: Likewise.
16336 * loader/multiboot2.c: Likewise.
16337 * loader/multiboot_loader.c: Likewise.
16338 * loader/powerpc/ieee1275/linux.c: Likewise.
16339 * normal/completion.c: Likewise.
16340 * normal/menu_entry.c: Likewise.
16341 * partmap/apple.c: Likewise.
16342 * util/grub.d/10_hurd.in: Likewise.
16343 * util/hostfs.c: Likewise.
16344 * video/readers/png.c: Likewise.
16345
e2d70b5c
CW
163462010-01-03 Colin Watson <cjwatson@ubuntu.com>
16347
16348 * include/grub/misc.h (GNUC_PREREQ): New macro.
16349 (ATTRIBUTE_ERROR): New macro.
16350 * include/grub/list.h (grub_bad_type_cast_real): Use
16351 ATTRIBUTE_ERROR.
16352
a173283f 163532010-01-03 Carles Pina i Estany <carles@pina.cat>
16354
16355 * normal/menu_text.c (print_message): Change messages.
16356
7fa7ff74 163572010-01-03 Carles Pina i Estany <carles@pina.cat>
16358
16359 * normal/menu_entry.c (store_completion): Gettextizze.
16360
136d24f6 163612010-01-03 Carles Pina i Estany <carles@pina.cat>
16362
16363 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
16364
f936862e 163652010-01-03 Carles Pina i Estany <carles@pina.cat>
16366
16367 * po/POTFILES: Sort correctly.
16368
29c44ad1 163692010-01-03 Carles Pina i Estany <carles@pina.cat>
16370
16371 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
16372 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
16373 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
16374 full stop.
16375 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
16376 summary. Gettextizze the strings.
16377 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
16378 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
16379 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
16380 full stop.
16381 (GRUB_MOD_INIT): Remove command name from summary.
16382 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
16383 summary.
16384 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
16385 * term/i386/pc/serial.c (options): Add full stops.
16386 (GRUB_MOD_INIT): Remove command name from the summary.
16387
77a79592 163882010-01-03 Carles Pina i Estany <carles@pina.cat>
16389
16390 * commands/acpi.c: Gettextizze help strings and/or options. Include
16391 `grub/i18n.h' if needed.
16392 * commands/blocklist.c: Likewise.
16393 * commands/boot.c: Likewise.
16394 * commands/cat.c: Likewise.
16395 * commands/cmp.c: Likewise.
16396 * commands/configfile.c: Likewise.
16397 * commands/crc.c: Likewise.
16398 * commands/date.c: Likewise.
16399 * commands/echo.c: Likewise.
16400 * commands/efi/fixvideo.c: Likewise.
16401 * commands/efi/loadbios.c: Likewise.
16402 * commands/gptsync.c: Likewise.
16403 * commands/halt.c: Likewise.
16404 * commands/handler.c: Likewise.
16405 * commands/hdparm.c: Likewise.
16406 * commands/hexdump.c: Likewise.
16407 * commands/i386/cpuid.c: Likewise.
16408 * commands/i386/pc/drivemap.c: Likewise.
16409 * commands/i386/pc/halt.c: Likewise.
16410 * commands/i386/pc/pxecmd.c: Likewise.
16411 * commands/i386/pc/vbeinfo.c: Likewise.
16412 * commands/i386/pc/vbetest.c: Likewise.
16413 * commands/ieee1275/suspend.c: Likewise.
16414 * commands/keystatus.c: Likewise.
16415 * commands/loadenv.c: Likewise.
16416 * commands/ls.c: Likewise.
16417 * commands/lsmmap.c: Likewise.
16418 * commands/lspci.c: Likewise.
16419 * commands/memrw.c: Likewise.
16420 * commands/minicmd.c: Likewise.
16421 * commands/parttool.c: Likewise.
16422 * commands/password.c: Likewise.
16423 * commands/probe.c: Likewise.
16424 * commands/read.c: Likewise.
16425 * commands/reboot.c: Likewise.
16426 * commands/search.c: Likewise.
16427 * commands/sleep.c: Likewise.
16428 * commands/test.c: Likewise.
16429 * commands/true.c: Likewise.
16430 * commands/usbtest.c: Likewise.
16431 * commands/videotest.c: Likewise.
16432 * commands/xnu_uuid.c: Likewise.
16433 * disk/loopback.c: Likewise.
16434 * hello/hello.c: Likewise.
16435 * loader/i386/bsd.c: Likewise.
16436 * term/i386/pc/serial.c: Likewise.
16437 * po/POTFILES: Add new files.
16438
da8d5c53
CW
164392010-01-02 Colin Watson <cjwatson@ubuntu.com>
16440
16441 * term/i386/pc/at_keyboard.c
16442 (keyboard_controller_wait_untill_ready): Rename to ...
16443 (keyboard_controller_wait_until_ready): ... this. Update all users.
16444
33937904 164452010-01-01 Carles Pina i Estany <carles@pina.cat>
16446
16447 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
16448 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
16449 string using string width.
16450 * normal/menu_text.c (grub_print_message_indented): Use
16451 grub_print_spaces and not print_spaces.
16452 (print_timeout): Likewise.
16453 (print_spaces): Move to...
16454 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
16455
3fd3b8d8
RM
164562010-01-01 Robert Millan <rmh.grub@aybabtu.com>
16457
16458 Import from Gnulib.
16459
16460 * gnulib/getdelim.c: New file.
16461 * gnulib/getline.c: Likewise.
16462
33433555
VS
164632009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
16464
16465 * include/grub/list.h (grub_assert_fail): Removed.
16466 (grub_bad_type_cast_real): New function.
16467 (grub_bad_type_cast): New macro.
16468 (GRUB_AS_LIST): Use grub_bad_type_cast.
16469 (GRUB_AS_LIST_P): Likewise.
e44721e8 16470 (GRUB_AS_NAMED_LIST): Likewise.
33433555 16471 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 16472 (GRUB_AS_PRIO_LIST): Likewise.
33433555 16473 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 16474 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 16475
f5a51306
VS
164762009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
16477
16478 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
16479 Fix syntax error.
16480
90d1e879
RM
164812009-12-29 Robert Millan <rmh.grub@aybabtu.com>
16482
16483 * configure.ac: Check for TARGET_CFLAGS initialization before we
16484 initialize it ourselves (sigh).
16485 Move a few modifications to TARGET_CFLAGS to be unconditional
16486 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
16487 eh_frame)
16488
16489 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
16490 * term/i386/pc/at_keyboard.c
16491 (keyboard_controller_wait_untill_ready): Likewise.
16492 (keyboard_controller_led): Rename `led_status' paramter to avoid
16493 name conflict.
16494
465b5a81 164952009-12-28 Carles Pina i Estany <carles@pina.cat>
16496
16497 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
16498 quotes.
16499
c181849b
VS
165002009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16503
9c8739a4
VS
165042009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16505
16506 * normal/menu_text.c (grub_print_message_indented): Prevent
16507 past-the-end-of-array dereference.
16508
3e74249c
VS
165092009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16510
16511 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16512 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16513
64fd18ed 165142009-12-27 Carles Pina i Estany <carles@pina.cat>
16515
16516 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16517 * normal/main.c (grub_normal_read_line): Remove a space from the
16518 default prompt.
16519
714af9b9 165202009-12-27 Carles Pina i Estany <carles@pina.cat>
16521
16522 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16523 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16524 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16525 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16526 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16527 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16528 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16529
82f3e412 165302009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 16531
16532 * video/readers/jpeg.c (cmd): Declare.
16533 (grub_cmd_jpegtest): Use `grub_command_t' type.
16534 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16535 Assign to `cmd'.
16536 (GRUB_MOD_FINI): Use `cmd' to unregister.
16537 * video/readers/png.c (cmd): Declare.
16538 (grub_cmd_pngtest): Use `grub_command_t' type.
16539 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16540 Assign to `cmd'.
16541 (GRUB_MOD_FINI): Use `cmd' to unregister.
16542 * video/readers/tga.c (cmd): Declare.
16543 (grub_cmd_tgatest): Use `grub_command_t' type.
16544 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16545 Assign to `cmd'.
16546 (GRUB_MOD_FINI): Use `cmd' to unregister.
16547
82f3e412 165482009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 16549
16550 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16551 stops.
16552 * kern/corecmd.c (grub_register_core_commands): Likewise.
16553 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16554 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16555 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16556 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16557 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16558 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16559 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16560 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16561 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16562 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16563 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16564 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16565 * normal/handler.c (insert_handler): Likewise.
16566 * normal/main.c (GRUB_MOD_INIT): Likewise.
16567 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16568
fdcdbb66 165692009-12-26 Carles Pina i Estany <carles@pina.cat>
16570
16571 * commands/help.c (grub_cmd_help): Print the command name before the
16572 summary.
16573 (GRUB_MOD_INIT): Remove command name from the summary.
16574 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 16575 string as summary.
fdcdbb66 16576 * lib/arg.c (find_long): Print the command name before the summary.
16577 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16578 summary.
16579 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16580 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16581 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16582 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16583 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16584 * commands/date.c (GRUB_MOD_INIT): Likewise.
16585 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16586 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16587 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16588 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16589 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16590 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16591 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16592 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16593 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16594 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16595 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16596 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16597 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16598 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16599 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16600 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16601 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16602 * commands/password.c (GRUB_MOD_INIT): Likewise.
16603 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16604 * commands/read.c (GRUB_MOD_INIT): Likewise.
16605 * commands/search.c (GRUB_MOD_INIT): Likewise.
16606 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16607 * commands/test.c (GRUB_MOD_INIT): Likewise.
16608 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16609 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16610 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16611 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16612 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16613 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16614 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16615 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16616 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16617 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16618 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16619 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16620 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16621 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16622
9c288be2
VS
166232009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16624
16625 Use search command for preliminar UUID search.
16626
16627 * commands/search.c: Split into ...
16628 * commands/search_wrap.c: ...this
16629 * commands/search.c: ...and this.
16630 * commands/search_file.c: New file.
16631 * commands/search_label.c: New file.
16632 * commands/search_uuid.c: New file.
16633 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16634 Add commands/search_wrap.c, commands/search_file.c,
16635 commands/search_label.c and commands/search_uuid.c.
16636 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16637 (search_mod_SOURCES): Set to commands/search_wrap.c.
16638 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16639 search_label.mod.
16640 (search_fs_file_mod_SOURCES): New variable.
16641 (search_fs_file_mod_CFLAGS): Likewise.
16642 (search_fs_file_mod_LDFLAGS): Likewise.
16643 (search_label_mod_SOURCES): Likewise.
16644 (search_label_mod_CFLAGS): Likewise.
16645 (search_label_mod_LDFLAGS): Likewise.
16646 (search_fs_uuid_mod_SOURCES): New variable.
16647 (search_fs_uuid_mod_CFLAGS): Likewise.
16648 (search_fs_uuid_mod_LDFLAGS): Likewise.
16649 (fs_file_mod_SOURCES): Removed.
16650 (fs_file_mod_CFLAGS): Likewise.
16651 (fs_file_mod_LDFLAGS): Likewise.
16652 (fs_uuid_mod_SOURCES): Removed.
16653 (fs_uuid_mod_CFLAGS): Likewise.
16654 (fs_uuid_mod_LDFLAGS): Likewise.
16655 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16656 Set to util/grub-install.in.
16657 * disk/fs_file.c: Removed.
16658 * disk/fs_uuid.c: Likewise.
16659 * include/grub/search.h: New file.
16660 * util/grub-install.in: Handle sparc64.
16661 Create and use load.cfg.
16662 * util/sparc64/ieee1275/grub-install.in: Removed.
16663
db943399
VS
166642009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16665
16666 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16667 Ignore return status if CF is cleared.
16668 (grub_biosdisk_get_diskinfo_standard): Likewise.
16669
3fdae612
RM
166702009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16671
16672 * term/i386/pc/at_keyboard.c
16673 (keyboard_controller_wait_untill_ready): New function.
16674 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16675 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16676 for keyboard polling, rather than duplicate the same loop. This
16677 saves a few bytes in code size.
16678
7ebaa2b4
VS
166792009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 Support for (pxe[:server[:gateway]]) syntax and
16682 use environment variable for PXE.
16683
16684 * commands/i386/pc/pxecmd.c (options): Removed.
16685 (print_ip): Removed.
16686 (grub_cmd_pxe): Removed
16687 (grub_cmd_pxe_unload): New function.
16688 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16689 (grub_pxe_your_ip): Made static.
16690 (grub_pxe_default_server_ip): Likewise.
16691 (grub_pxe_default_gateway_ip): Likewise.
16692 (grub_pxe_blksize): Likewise.
16693 (parse_ip): New function.
16694 (grub_pxe_open): Support server and gateway specification.
16695 (grub_pxe_close): Free disk->data.
16696 (grub_pxefs_open): Use disk->data.
16697 (grub_pxefs_read): Likewise.
16698 (grub_env_write_readonly): New function.
16699 (set_mac_env): Likewise.
16700 (set_env_limn_ro): Likewise.
16701 (parse_dhcp_vendor): Likewise.
16702 (grub_pxe_detect): Set the environment variables.
16703 (set_ip_env): New function.
16704 (write_ip_env): Likewise.
16705 (grub_env_write_pxe_default_server): Likewise.
16706 (grub_env_write_pxe_default_gateway): Likewise.
16707 (grub_env_write_pxe_blocksize): Likewise.
16708 (GRUB_MOD_INIT(pxe)): Set environment variables.
16709 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16710 (grub_pxe_mac_addr_t): ... this. All users updated.
16711 (grub_pxe_your_ip): Removed.
16712 (grub_pxe_server_ip): Likewise.
16713 (grub_pxe_gateway_ip): Likewise.
16714 (grub_pxe_blksize): Likewise.
16715
ec5f98ab 167162009-12-25 Carles Pina i Estany <carles@pina.cat>
16717
16718 * commands/help.c: Include `<grub/i18n.h>'.
16719 (grub_cmd_help): Gettextizze.
16720 (GRUB_MOD_INIT): Likewise.
16721 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16722 (GRUB_MOD_INIT): Gettextizze.
16723 * commands/search.c: Include `<grub/i18n.h>'.
16724 (options): Gettextizze.
16725 (GRUB_MOD_INIT): Gettextizze.
16726 * lib/arg.c: Include `<grub/i18n.h>'.
16727 (help_options): Gettextizze.
16728 (find_long): Likewise.
16729 (grub_arg_show_help): Likewise.
16730 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16731 (read_command_list): Gettextizze.
16732 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 16733 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 16734
22815526
RM
167352009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16736
16737 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16738 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16739 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16740 (led_status): New variable.
16741 (keyboard_controller_led): New function.
16742 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16743 update led status for caps lock, num lock and scroll lock.
16744
0ad46fd7
FZ
167452009-12-25 Felix Zielcke <fzielcke@z-51.de>
16746
16747 * util/hostdisk.c (open_device): Fix a comment.
16748
d0e158c2
RM
167492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16750
16751 * util/grub-install.in (host_os): New variable.
16752 * util/i386/efi/grub-install.in (host_os): Likewise.
16753
401c0ad6
RM
167542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16755
16756 * util/mkisofs/write.c (padblock_write): Abort when given an
16757 excedingly large embed image, instead of silently truncating it.
16758
d14d3370
RM
167592009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16760
16761 * include/multiboot.h: Indentation fixes.
16762
eeed10b4
RM
167632009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16764
16765 * include/multiboot.h (struct multiboot_aout_symbol_table)
16766 (struct multiboot_elf_section_header_table): New structure
16767 declarations (stolen from GRUB Legacy).
16768 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16769 table information.
16770
16771 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16772 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16773 type aliases.
16774
681c70ab
RM
167752009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16776
16777 * include/multiboot.h: Make comments src2texi-friendly.
16778
e4d47d8d
RM
167792009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16780
16781 For consistency with [multiboot]/docs/boot.S.
16782
16783 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16784 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16785 (MULTIBOOT_MAGIC2): Rename from this ...
16786 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16787
a0b70bda
RM
167882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16789
16790 * include/multiboot.h: Remove `<grub/types.h>'.
16791 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16792 types. Update all users.
16793
61ba42be 167942009-12-25 Carles Pina i Estany <carles@pina.cat>
16795
16796 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16797 `couldn't' and `can not' by `cannot'.
16798 * commands/i386/pc/drivemap.c: Likewise.
16799 * disk/ata.c: Likewise.
16800 * disk/ieee1275/nand.c: Likewise.
16801 * fs/affs.c: Likewise.
16802 * fs/fat.c: Likewise.
16803 * fs/hfs.c: Likewise.
16804 * fs/hfsplus.c: Likewise.
16805 * fs/iso9660.c: Likewise.
16806 * fs/jfs.c: Likewise.
16807 * fs/minix.c: Likewise.
16808 * fs/reiserfs.c: Likewise.
16809 * fs/sfs.c: Likewise.
16810 * fs/udf.c: Likewise.
16811 * fs/ufs.c: Likewise.
16812 * fs/xfs.c: Likewise.
16813 * loader/powerpc/ieee1275/linux.c: Likewise.
16814 * loader/sparc64/ieee1275/linux.c: Likewise.
16815 * util/grub-probe.c: Likewise.
16816 * util/misc.c: Likewise.
16817
7fd0baee 168182009-12-24 Carles Pina i Estany <carles@pina.cat>
16819
16820 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16821 grub_errno calls.
16822 * commands/acpi.c: Likewise.
16823 * commands/blocklist.c: Likewise.
16824 * commands/efi/loadbios.c: Likewise.
16825 * commands/i386/pc/drivemap.c: Likewise.
16826 * commands/loadenv.c: Likewise.
16827 * commands/memrw.c: Likewise.
16828 * commands/password.c: Likewise.
16829 * commands/videotest.c: Likewise.
16830 * disk/ata.c: Likewise.
16831 * disk/ata_pthru.c: Likewise.
16832 * disk/dmraid_nvidia.c: Likewise.
16833 * disk/ieee1275/nand.c: Likewise.
16834 * disk/ieee1275/ofdisk.c: Likewise.
16835 * disk/loopback.c: Likewise.
16836 * disk/lvm.c: Likewise.
16837 * disk/mdraid_linux.c: Likewise.
16838 * disk/raid.c: Likewise.
16839 * disk/raid6_recover.c: Likewise.
16840 * disk/scsi.c: Likewise.
16841 * efiemu/main.c: Likewise.
16842 * efiemu/mm.c: Likewise.
16843 * efiemu/pnvram.c: Likewise.
16844 * efiemu/symbols.c: Likewise.
16845 * font/font.c: Likewise.
16846 * fs/cpio.c: Likewise.
16847 * fs/hfsplus.c: Likewise.
16848 * fs/iso9660.c: Likewise.
16849 * fs/jfs.c: Likewise.
16850 * fs/minix.c: Likewise.
16851 * fs/ntfs.c: Likewise.
16852 * fs/ntfscomp.c: Likewise.
16853 * fs/reiserfs.c: Likewise.
16854 * fs/ufs.c: Likewise.
16855 * fs/xfs.c: Likewise.
16856 * gettext/gettext.c: Likewise.
16857 * include/grub/auth.h: Likewise.
16858 * kern/elf.c: Likewise.
16859 * kern/file.c: Likewise.
16860 * kern/ieee1275/init.c: Likewise.
16861 * kern/ieee1275/mmap.c: Likewise.
16862 * kern/ieee1275/openfw.c: Likewise.
16863 * kern/powerpc/dl.c: Likewise.
16864 * kern/sparc64/dl.c: Likewise.
16865 * lib/arg.c: Likewise.
16866 * loader/i386/bsd.c: Likewise.
16867 * loader/i386/bsdXX.c: Likewise.
16868 * loader/i386/efi/linux.c: Likewise.
16869 * loader/i386/efi/xnu.c: Likewise.
16870 * loader/i386/ieee1275/linux.c: Likewise.
16871 * loader/i386/linux.c: Likewise.
16872 * loader/i386/multiboot.c: Likewise.
16873 * loader/i386/pc/linux.c: Likewise.
16874 * loader/i386/pc/multiboot2.c: Likewise.
16875 * loader/i386/xnu.c: Likewise.
16876 * loader/ieee1275/multiboot2.c: Likewise.
16877 * loader/macho.c: Likewise.
16878 * loader/machoXX.c: Likewise.
16879 * loader/multiboot2.c: Likewise.
16880 * loader/multiboot_loader.c: Likewise.
16881 * loader/powerpc/ieee1275/linux.c: Likewise.
16882 * loader/sparc64/ieee1275/linux.c: Likewise.
16883 * loader/xnu.c: Likewise.
16884 * loader/xnu_resume.c: Likewise.
16885 * mmap/i386/pc/mmap.c: Likewise.
16886 * normal/menu_viewer.c: Likewise.
16887 * partmap/acorn.c: Likewise.
16888 * partmap/amiga.c: Likewise.
16889 * partmap/apple.c: Likewise.
16890 * script/lexer.c: Likewise.
16891 * term/gfxterm.c: Likewise.
16892 * term/i386/pc/serial.c: Likewise.
16893 * term/i386/pc/vga.c: Likewise.
16894 * term/ieee1275/ofconsole.c: Likewise.
16895 * term/terminfo.c: Likewise.
16896 * video/bitmap.c: Likewise.
16897 * video/efi_gop.c: Likewise.
16898 * video/efi_uga.c: Likewise.
16899 * video/fb/video_fb.c: Likewise.
16900 * video/i386/pc/vbe.c: Likewise.
16901 * video/readers/tga.c: Likewise.
16902 * video/video.c: Likewise.
16903
0ad46fd7 169042009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
16905
16906 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16907 * commands/lspci.c: Likewise.
16908 * commands/probe.c: Likewise.
16909 * commands/xnu_uuid.c: Likewise.
16910 * conf/i386-coreboot.rmk: Likewise.
16911 * conf/i386-efi.rmk: Likewise.
16912 * conf/i386-ieee1275.rmk: Likewise.
16913 * conf/i386-pc.rmk: Likewise.
16914 * conf/powerpc-ieee1275.rmk: Likewise.
16915 * conf/sparc64-ieee1275.rmk: Likewise.
16916 * conf/x86_64-efi.rmk: Likewise.
16917 * fs/i386/pc/pxe.c: Likewise.
16918 * gettext/gettext.c: Likewise.
16919 * include/grub/efi/graphics_output.h: Likewise.
16920 * include/grub/i386/pc/memory.h: Likewise.
16921 * kern/env.c: Likewise.
16922 * kern/i386/qemu/startup.S: Likewise.
16923 * lib/i386/pc/biosnum.c: Likewise.
16924 * lib/i386/relocator.c: Likewise.
16925 * lib/i386/relocator_asm.S: Likewise.
16926 * lib/relocator.c: Likewise.
16927 * loader/i386/bsd.c: Likewise.
16928 * loader/i386/multiboot.c: Likewise.
16929 * loader/i386/pc/chainloader.c: Likewise.
16930 * loader/i386/xnu.c: Likewise.
16931 * loader/xnu.c: Likewise.
16932 * normal/main.c: Likewise.
16933 * normal/menu_text.c: Likewise.
16934 * util/getroot.c: Likewise.
16935 * util/grub-mkconfig_lib.in: Likewise.
16936 * util/grub.d/00_header.in: Likewise.
16937 * util/i386/pc/grub-mkimage.c: Likewise.
16938 * util/mkisofs/eltorito.c: Likewise.
16939 * util/mkisofs/exclude.h: Likewise.
16940 * util/mkisofs/hash.c: Likewise.
16941 * util/mkisofs/iso9660.h: Likewise.
16942 * util/mkisofs/joliet.c: Likewise.
16943 * util/mkisofs/mkisofs.c: Likewise.
16944 * util/mkisofs/mkisofs.h: Likewise.
16945 * util/mkisofs/multi.c: Likewise.
16946 * util/mkisofs/name.c: Likewise.
16947 * util/mkisofs/rock.c: Likewise.
16948 * util/mkisofs/tree.c: Likewise.
16949 * util/mkisofs/write.c: Likewise.
16950 * video/efi_gop.c: Likewise.
16951
009ec743
VS
169522009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16955 size counting.
16956
0ad46fd7 169572009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
16958
16959 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16960 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16961
d3d30ea0
VS
169622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16965 (GRUB_MOD_INIT(memrw)): Update help line.
16966
a34f5c70
VS
169672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16970 Use grub_extcmd_t. All users updated.
16971 (options): New variable.
16972 (grub_cmd_read): Restructure for readability. Support "-v" option.
16973 (grub_cmd_write): Restructure for readability.
16974
0ad46fd7 169752009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
16976
16977 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16978
0ad46fd7 169792009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
16980
16981 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16982 with the actual contents of the correspondending make variable.
16983 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16984 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16985 specifying `*.lst' and `efiemu??.o'
16986
0ad46fd7 169872009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
16988
16989 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16990 after function name.
16991 Noticed by Rene Engelhard <rene@debian.org>.
16992
dc77a799
VS
169932009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16994
16995 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16996 (options): New variable.
16997 (iospace): Likewise.
16998 (grub_lspci_iter): List IO spaces if "-i" was given.
16999 (grub_cmd_lspci): Parse options.
17000 (GRUB_MOD_INIT(lspci)): Use extcmd.
17001 (GRUB_MOD_FINI(lspci)): Likewise.
17002
0ad46fd7 170032009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
17004
17005 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
17006 `function' keyword.
17007 Patch by Tony Mancill <tmancill@debian.org>.
17008
b5d5993b
VS
170092009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17010
17011 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
17012 (grub_uhci_portstatus): Likewise.
17013 (grub_uhci_portstatus): Add necessary delay.
11d18281 17014 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 17015
941903f2 170162009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 17017
941903f2 17018 * commands/acpi.c (options): Fix capitalizations and/or full stops.
17019 (GRUB_MOD_INIT): Likewise.
17020 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 17021 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
17022 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 17023 * commands/efi/loadbios.c (enable_rom_area): Likewise.
17024 (enable_rom_area): Likewise.
17025 (GRUB_MOD_INIT): Likewise.
17026 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17027 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
17028 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17029 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
17030 * commands/hexdump.c (options): Likewise.
17031 * commands/i386/cpuid.c (options): Likewise.
17032 (GRUB_MOD_INIT): Likewise.
17033 * commands/i386/pc/drivemap.c (options): Likewise.
17034 (GRUB_MOD_INIT): Likewise.
17035 * commands/i386/pc/halt (options): Likewise.
17036 (GRUB_MOD_INIT): Likewise.
17037 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17038 * commands/i386/pc/pxecmd.c (options): Likewise.
17039 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
17040 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
17041 * commands/keystatus.c (options): Likewise.
17042 (GRUB_MOD_INIT): Likewise.
17043 * commands/loadenv.c (options): Likewise.
17044 * commands/ls.c (options): Likewise.
17045 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17046 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17047 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17048 * commands/parttool.c (helpmsg): Likewise.
17049 * commands/probe.c (options): Likewise.
17050 * commands/read.c (GRUB_MOD_INIT): Likewise.
17051 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
17052 * commands/search.c (options): Likewise.
17053 * commands/sleep.c (options): Likewise.
17054 * commands/test.c (GRUB_MOD_INIT): Likewise.
17055 * commands/true.c (GRUB_MOD_INIT): Likewise.
17056 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
17057 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
17058 * lib/arg.c (help_options): Likewise.
e9bbb4e7 17059 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
17060 `$(XGETTEXT)'.
98a50553 17061 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 17062
0ad46fd7 170632009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 17064
ef3c2c3a 17065 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
17066 instead of specifying them explicit.
17067
7922f68b
RM
170682009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17069
17070 * NEWS: Add grub-probe support for GNU/Hurd.
17071
537ce47f
RM
170722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17073
17074 * NEWS: gettext was added after 1.97.
17075
9b214e3a
RM
170762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17077
17078 * util/mkisofs/msdos_partition.h: New file (based on
17079 include/grub/msdos_partition.h).
17080 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
17081 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
17082 (ld_options, main): Recognize --protective-msdos-label.
17083 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
17084 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
17085 (padblock_write): If `use_protective_msdos_label' is set, patch a
17086 protective DOS-style label in the output image.
17087
17088 * util/grub-mkrescue.in: Use --protective-msdos-label.
17089
e9309813
RM
170902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17091
17092 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
17093 boot.
17094
0ae56929
RM
170952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17096
17097 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
17098 variables.
17099 (ld_options, main): Recognize `--embedded-boot'.
17100 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
17101 declarations.
17102 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
17103 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
17104 (padblock_write): Likewise. Rewrite to support embedded boot image.
17105
17106 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
17107 for BIOS-based disk boot instead of only ElTorito.
17108
b15937b1
RM
171092009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17110
17111 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
17112 build (not needed for bootstrap).
17113
52cc3ce0
RM
171142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17115
17116 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
17117 from i386-pc build (not needed for bootstrap).
17118 Rewrite a pair of strings.
17119
36f5ff04
RM
171202009-12-21 Robert Millan <rmh.grub@aybabtu.com>
17121
17122 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
17123
973c6c85 171242009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
17125
17126 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
17127
05d21547
AB
171282009-12-21 Andreas Born <futur.andy@googlemail.com>
17129
17130 * kern/env.c (grub_env_context_open): Mark exported variable for
17131 reexport.
17132
0175d51f
AB
171332009-12-21 Andreas Born <futur.andy@googlemail.com>
17134
17135 * kern/env.c (grub_env_export): Create nonexistent variables before
17136 exporting.
17137
7f39d92f 171382009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 17139
7f39d92f 17140 * include/grub/auth.h: Include `<grub/i18n.h>'.
17141 (GRUB_GET_PASSWORD): Gettextizze string.
17142 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
17143 menu_text.c.
17144 (grub_utf8_to_ucs4_alloc): Fix indentation.
17145 (grub_print_ucs4): Likewise.
17146 (grub_getstringwidth): Likewise.
17147 (print_message_indented): New declaration.
17148 * normal/auth.c: Include `<grub/i18n.h>'.
17149 (grub_auth_check_authentication): Gettexttize string.
17150 * normal/cmdline.c: Include `<grub/i18n.h>'.
17151 (grub_cmdline_get): Gettextizze.
17152 * normal/color.c: Include `<grub/i18n.h>'.
17153 (grub_parse_color_name_pair): Gettexttize strings.
17154 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
17155 string (use `print_message_indented').
17156 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
17157 `include/grub/normal.h'.
17158 (print_message_indented): Renamed to ...
17159 (grub_print_message_indented): ... this. Remove `static' qualifer (now
17160 used in normal/main.c).
17161 (print_message): Use `grub_print_message_indented' instead of
17162 `print_message_indented'.
17163 (print_timeout): Likewise.
17164 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
17165 (grub_normal_print_device_info): Gettexttize strings.
17166 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
17167
3041d898
VS
171682009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
17171 of arguments. Return number of tokens and not arguments. All users
17172 updated.
17173
de15bf8e
VS
171742009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
17177 non-MSDOS paritions.
17178
e0a6ca52
VS
171792009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
17180
17181 * include/grub/types.h (UNUSED): Removed since it conflicts with
17182 NetBSD headers. All users changed to direct __attribute__ ((unused)).
17183 Reported by Grégoire Sutre.
17184
b99518d1 171852009-12-19 Carles Pina i Estany <carles@pina.cat>
17186
17187 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
17188 (grub_print_ucs4_alloc): Likewise.
17189 (grub_getstringwidth): Likewise.
17190 * normal/main.c (grub_normal_init_page): Gettextize version string.
17191 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
17192 (getstringwidth): Renamed to ...
17193 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
17194 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
17195 (grub_print_ucs4): Remove `static' qualifer (now used in
17196 normal/main.c).
17197 * po/POTFILES: Add normal/main.c.
17198
bfd5e52b 171992009-12-19 Carles Pina i Estany <carles@pina.cat>
17200
17201 * normal/menu_text.c (STANDARD_MARGIN): New macro.
17202 (print_message_indented): Add `margin_left' and `margin_right'
17203 parameters.
17204 (print_message): Update `print_message_indented' calls. Adds '\n' to the
17205 strings.
17206 (print_timeout): Use `print_message_indented' to print the message.
17207 Deletes `second_stage' parameter.
17208 (run_menu): Update `print_timeout' calls.
17209
5a1ad2b9
VS
172102009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17211
17212 Fix console palette on OpenFirmware.
17213
17214 * term/ieee1275/ofconsole.c (MAX): Removed.
17215 (colors): Redone based on VGA palette.
17216 (grub_ofconsole_setcolor): Discard brightness bit since only 8
17217 colors are supported.
17218 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
17219
b045f00a
VS
172202009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17221
17222 Fix potential EfiEmu double prepare.
17223
17224 * efiemu/main.c (prepared): New variable
17225 (grub_efiemu_unload): Set prepare to '0'.
17226 (grub_efiemu_prepare): Return if already prepared. Set prepared.
17227
17228 set_virtual_address_map support.
17229
17230 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
17231 prototype.
17232 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
17233 prototype.
17234 (grub_efiemu_crc32): Likewise.
17235 (grub_efiemu_crc64): Likewise.
17236 (grub_efiemu_set_virtual_address_map): Likewise.
17237 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
17238 New definition.
17239 (grub_autoefi_set_virtual_address_map): Likewise.
17240 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
17241 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
17242 Restructure flow to accomodate it.
17243 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
17244 (grub_efiemu_crc): Recompute CRC32.
17245 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
17246 (efiemu_ptv_relocated): ... this. Made global. All users updated.
17247 * efiemu/symbols.c (relocated_handle): New variable.
17248 (grub_efiemu_free_syms): Free relocated_handle.
17249 (grub_efiemu_alloc_syms): Allocate relocated_handle.
17250 (grub_efiemu_write_sym_markers): New function.
17251 (grub_efiemu_set_virtual_address_map): Likewise.
17252
17253 Newer XNU parameters.
17254
17255 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
17256 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
17257 (grub_xnu_fill_devicetree): New prototype.
17258 (grub_xnu_heap_real_start): New variable.
17259 * loader/xnu.c (get_name_ptr): New function.
17260 (grub_xnu_load_driver): Fill namelen and name.
17261
17262 64-bit xnu support.
17263
17264 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
17265 and 'loader/macho64.c'.
17266 * conf/i386-pc.rmk: Likewise.
17267 * conf/x86_64-efi.rmk: Likewise.
17268 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
17269 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
17270 * include/grub/macho.h (grub_macho_segment64): New structure.
17271 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
17272 (grub_macho_size32): ... to this.
17273 (grub_macho32_get_entry_point): Renamed from ...
17274 (grub_macho_get_entry_point32): ... to this.
17275 (grub_macho_contains_macho64): New prototype.
17276 (grub_macho_size64): Likewise.
17277 (grub_macho_get_entry_point64): Likewise.
17278 (grub_macho32_load): Renamed from ...
17279 (grub_macho_load32): ... to this.
17280 (grub_macho32_filesize): Renamed from ...
17281 (grub_macho_filesize32): ... to this.
17282 (grub_macho32_readfile): Renamed from ...
17283 (grub_macho_readfile32): ... to this.
17284 (grub_macho_filesize64): New prototype.
17285 (grub_macho_readfile64): Likewise.
17286 (grub_macho_parse32): Likewise.
17287 (grub_macho_parse64): Likewise.
17288 * loader/macho.c: Split into ...
17289 * loader/machoXX.c: ... and this. Replace 32 with XX.
17290 * loader/macho32.c: New file.
17291 * loader/macho64.c: Likewise.
17292 * loader/xnu.c (grub_xnu_is_64bit): New variable.
17293 (grub_cmd_xnu_kernel): Make 32-bit only.
17294 (grub_cmd_xnu_kernel64): New function.
17295 (grub_xnu_load_driver): Support Mach-O 64.
17296 (grub_cmd_xnu_mkext): Likewise.
17297 * util/grub.d/30_os-prober.in (osx_entry): New function.
17298 Generate entries for 64-bit boot too.
17299
17300 Eliminate ad-hoc tree format in XNU and EfiEmu.
17301
17302 * efiemu/main.c (grub_efiemu_prepare): Update comment.
17303 * efiemu/pnvram.c: Rewritten to use environment variables.
17304 All users updated.
17305
17306 Inline utf16_to_utf8.
17307
17308 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
17309 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
17310 All users updated.
17311 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
17312
17313 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
17314 * commands/usbtest.c (grub_usb_get_string): ... move here.
17315 (usb_print_str): Fix error handling.
17316 * include/grub/usb.h (grub_usb_get_string): Remove.
17317
17318 UTF-8 to UTF-16 transformation.
17319
17320 * conf/common.rmk (pkglib_MODULES): Add charset.mod
17321 (charset_mod_SOURCES): New variable.
17322 (charset_mod_CFLAGS): Likewise.
17323 (charset_mod_LDFLAGS): Likewise.
17324 * include/grub/utf.h: New file.
17325 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
17326
17327 Support for device properties.
17328
17329 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
17330 (grub_xnu_devprop_device_header): Likewise.
17331 (grub_xnu_devprop_device_descriptor): Likewise.
17332 (grub_xnu_devprop_add_device): New prototype.
17333 (grub_xnu_devprop_remove_device): Likewise.
17334 (grub_xnu_devprop_remove_property): Likewise.
17335 (grub_xnu_devprop_add_property_utf8): Likewise.
17336 (grub_xnu_devprop_add_property_utf16): Likewise.
17337 (grub_cpu_xnu_init): Likewise.
17338 (grub_cpu_xnu_fini): Likewise.
17339 (grub_cpu_xnu_unload): Likewise.
17340 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
17341 (property_descriptor): Likewise.
17342 (devices): New variable.
17343 (grub_xnu_devprop_remove_property): New function.
17344 (grub_xnu_devprop_add_device): Likewise.
17345 (grub_xnu_devprop_remove_device): Likewise.
17346 (grub_xnu_devprop_add_property): Likewise.
17347 (grub_xnu_devprop_add_property_utf8): Likewise.
17348 (grub_xnu_devprop_add_property_utf16): Likewise.
17349 (hextoval): Likewise.
17350 (grub_cpu_xnu_fill_devprop): Likewise.
17351 (grub_cmd_devprop_load): Likewise.
17352 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
17353 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
17354 (cmd_devprop_load): New variable.
17355 (grub_cpu_xnu_init): New function.
17356 (grub_cpu_xnu_fini): Likewise.
17357 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
17358 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
17359 (grub_cmd_xnu_devtree): Likewise.
17360 (hextoval): New function.
17361 (unescape): Likewise.
17362 (grub_xnu_fill_devicetree): Likewise.
17363
17364 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
17365 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
17366
0945f181
VS
173672009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 Workaround for broken ATI VBE.
17370
17371 * video/i386/pc/vbe.c (last_set_mode): New variable.
17372 (grub_vbe_set_video_mode): Set 'last_set_mode'.
17373 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
17374 (grub_video_vbe_setup): Don't check for reserved flag.
17375
0ad46fd7 173762009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
17377
17378 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
17379 the `find' command.
17380
c179ebe4
VS
173812009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
17382
17383 UUID support for HFS.
17384
17385 * fs/hfs.c (grub_hfs_uuid): New function.
17386 (grub_hfs_fs): New value .uuid.
17387 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
17388
0ad46fd7 173892009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
17390
17391 Fix a segfault with parsing unknown long options.
17392
17393 * util/grub-mkrelpath.c (options): Zero terminate it.
17394
c4a3e41a
CPE
173952009-12-13 Carles Pina i Estany <carles@pina.cat>
17396
17397 * include/grub/misc.h (grub_puts): New declaration.
17398 (grub_puts_): Likewise.
a22008a6 17399 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
17400 (grub_puts_): Likewise.
17401
2e8a7602
RM
174022009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17403
17404 * util/grub-probe.c (probe): Improve error message.
17405
b50b77b9
RM
174062009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17407
17408 * loader/i386/multiboot_elfxx.c
17409 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
17410 initialization.
17411
174122009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 Relocator framework
17415
17416 * loader/i386/xnu_helper.S: Removed. All users updated.
17417 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
17418 (relocator_mod_SOURCES): New variable.
17419 (relocator_mod_CFLAGS): Likewise.
17420 (relocator_mod_LDFLAGS): Likewise.
17421 (relocator_mod_ASFLAGS): Likewise.
17422 * conf/x86_64.rmk: Likewise.
17423 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
17424 (grub_multiboot_payload_entry_offset): Likewise.
17425 (grub_multiboot_forward_relocator): Likewise.
17426 (grub_multiboot_forward_relocator_end): Likewise.
17427 (grub_multiboot_backward_relocator): Likewise.
17428 (grub_multiboot_backward_relocator_end): Likewise.
17429 (grub_multiboot_payload_eip): New variable.
17430 (grub_multiboot_payload_orig): Likewise.
17431 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
17432 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
17433 * include/grub/i386/memory.h
17434 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
17435 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
17436 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
17437 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
17438 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
17439 * include/grub/i386/relocator.h: New file.
17440 * include/grub/x86_64/relocator.h: Likewise.
17441 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
17442 (XNU_RELOCATOR): New macro.
17443 (grub_xnu_launcher_start): Remove.
17444 (grub_xnu_launcher_end): Likewise.
17445 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
17446 (grub_xnu_heap_real_start): Remove.
17447 (grub_xnu_heap_start): Change to void *. All users updated.
17448 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
17449 * lib/i386/relocator.c: New file.
17450 * lib/i386/relocator_asm.S: Likewise.
17451 * lib/i386/relocator_backward.S: Likewise.
17452 * lib/mips/relocator.c: Likewise.
17453 * lib/mips/relocator_asm.S: Likewise.
17454 * lib/relocator.c: Likewise.
17455 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
17456 (entry): Removed.
17457 (playground): Likewise.
17458 (grub_multiboot_payload_orig): New variable.
17459 (grub_multiboot_payload_dest): Likewise.
17460 (grub_multiboot_payload_size): Likewise.
17461 (grub_multiboot_payload_eip): Likewise.
17462 (grub_multiboot_payload_esp): Likewise.
17463 (grub_multiboot_boot): Use grub_relocator32_boot.
17464 (grub_multiboot_unload): Free relocators.
17465 (grub_multiboot): Setup stack. Use relocators.
17466 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
17467 (grub_multiboot_load_elfXX): Use relocators.
17468 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
17469 (grub_multiboot_payload_size): Likewise.
17470 (grub_multiboot_payload_dest): Likewise.
17471 (grub_multiboot_payload_entry_offset): Likewise.
17472 (grub_multiboot_forward_relocator): Likewise.
17473 (grub_multiboot_backward_relocator): Likewise.
17474 (grub_multiboot_real_boot): Likewise.
17475 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
17476 (grub_xnu_entry_point): Likewise.
17477 (grub_xnu_arg1): Likewise.
17478 (grub_xnu_stack): Likewise.
17479 (grub_xnu_launch): Removed.
17480 (grub_xnu_boot_resume): New function.
17481 (grub_xnu_boot): Use relocators.
17482 * loader/i386/xnu_helper.S: Removed.
17483 * loader/xnu.c (grub_xnu_heap_start): New variable.
17484 (grub_xnu_heap_size): Likewise.
17485 (grub_xnu_heap_malloc): Use relocators.
17486 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
17487
29eb90c6
VS
174882009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17489
17490 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
17491 anything.
17492
31027430
CPE
174932009-12-13 Carles Pina i Estany <carles@pina.cat>
17494
17495 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
17496 GRUB_ERR_NONE before calling grub_env_set.
17497
dc0c71d9
RM
174982009-12-12 Robert Millan <rmh@aybabtu.com>
17499
17500 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17501 * genmk.rb (video): New variable.
17502 (CLEANFILES, VIDEOFILES): Add #{video}.
17503 (#{video}): New target rule.
17504 * genvideolist.sh: New file.
17505 * Makefile.in (pkglib_DATA): Add video.lst.
17506 (video.lst): New target rule.
17507 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17508 `video.lst'.
17509 * util/grub.d/30_os-prober.in: Replace `vbe' with
17510 ${GRUB_VIDEO_BACKEND}.
17511
2a4bfcf0
RM
175122009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17513
17514 * THANKS: Add David Miller.
17515
2a3aa4d5
RM
175162009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 libpciaccess support.
17519
17520 * Makefile.in (LIBPCIACCESS): New variable.
17521 (enable_grub_emu_pci): Likewise.
17522 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17523 util/pci.c and commands/lspci.c.
17524 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17525 * configure.ac (grub-emu-pci): New option.
17526 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17527 (grub_pci_device_unmap_range): Likewise.
17528 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17529 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17530 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17531 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17532 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17533 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17534 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17535 * include/grub/pciutils.h: New file.
17536 * util/pci.c: Likewise.
17537
0ad46fd7 175382009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
17539
17540 * util/misc.c: Don't include <errno.h> twice.
17541
0ad46fd7 175422009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
17543
17544 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17545 name in an error message.
17546 (grub_biosdisk_rw): Likewise.
17547
2e59983c
VS
175482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17549
17550 Eliminate NTFS 4Gib barrier.
17551
17552 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17553 (read_run_data): Likewise.
17554 (grub_ntfs_read_run_list): Likewise.
17555 (grub_ntfs_read_block): Likewise.
17556 (grub_ntfs_iterate_dir): Likewise.
17557 (read_mft): Likewise.
17558 (read_data): Likewise.
17559 Use COM_LOG_LEN.
17560 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17561 to avoid 64-bit division
17562 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17563 (grub_ntfs_rlst): Use grub_disk_addr_t.
17564
71ee178a
VS
175652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17566
17567 Eliminate grub-fstest 4Gib barrier.
17568
17569 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17570 (read_file): Fix error reporting.
17571
2520d4b8
VS
175722009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 Eliminate hexdump 4Gib barrier.
17575
17576 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17577 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17578
e1f27065
VS
175792009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17580
17581 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17582 Fixes amarsh bug.
17583
1a0f7f45
RM
175842009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17585
17586 Remove miscellaneous files in distclean target.
17587
17588 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17589
c631d9fb
CW
175902009-12-09 Colin Watson <cjwatson@ubuntu.com>
17591
17592 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17593 if they're already set. This resolves the conflict between my
17594 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17595 fixing the --grub-probe option again.
17596 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17597 change on 2009-10-06, so that we now once again source
17598 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17599
7c7b6106
RM
176002009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17601
17602 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17603 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17604 `util/devicemap.c'.
17605
e3069ec1
CPE
176062009-12-08 Carles Pina i Estany <carles@pina.cat>
17607
17608 * include/grub/misc.h (grub_printf_): New declaration.
17609 * kern/misc.c (grub_printf_): New definition.
17610 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17611 instead of `grub_printf' and `_'.
17612 * normal/menu_entry.c (store_completion): Likewise.
17613 (run): Likewise.
17614 (grub_menu_entry_run): Likewise.
17615 * normal/menu_text.c (grub_wait_after_message): Likewise.
17616 (notify_booting): Likewise.
17617 (notify_fallback): Likewise.
17618 (notify_execution_failure): Likewise.
17619
d6ceebf1
CW
176202009-12-07 Colin Watson <cjwatson@ubuntu.com>
17621
17622 * configure.ac: Check for vasprintf.
17623 * util/misc.c (asprintf): Move allocation from here ...
17624 (vasprintf): ... to here. New function.
17625 (xasprintf): New function.
17626 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17627 prototypes.
17628 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17629 * util/grub-mkfont.c (write_font): Likewise.
17630 * util/grub-probe.c (probe): Likewise.
17631 * util/hostdisk.c (make_device_name): Likewise.
17632
de6daa8b
DM
176332009-12-06 David S. Miller <davem@sunset.davemloft.net>
17634
17635 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17636 anything even prefixed with 'cdrom' as a cdrom.
17637
0ad46fd7 176382009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
17639
17640 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17641 mount points.
17642
98d3dc02
CPE
176432009-12-05 Carles Pina i Estany <carles@pina.cat>
17644
17645 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17646 grub_gettext_msg_list.
17647 (grub_gettext_gettranslation_from_position): Return const char *
17648 and not char *.
a2c1332b 17649 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
17650 returns from the list if existing there.
17651 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17652 (grub_gettext_delete_list): Delete the list.
17653 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17654 lang environment variable is changed.
17655 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17656
b283f108
VS
176572009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17658
17659 Rename kernel.mod to kernel.img.
17660
17661 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17662 (kernel_mod_EXPORTS): Rename to ...
17663 (kernel_img_EXPORTS): ... this.
17664 (kernel_mod_SOURCES): Rename to ...
17665 (kernel_img_SOURCES): ... this.
17666 (kernel_mod_HEADERS): Rename to ...
17667 (kernel_img_HEADERS): ... this. All users updated.
17668 (kernel_mod_CFLAGS): Rename to ...
17669 (kernel_img_CFLAGS): ... this.
17670 (kernel_mod_ASFLAGS): Rename to ...
17671 (kernel_img_ASFLAGS): ... this.
17672 (kernel_mod_LDFLAGS): Rename to ...
17673 (kernel_img_LDFLAGS): ... this.
17674 * conf/x86_64-efi.rmk: Likewise.
17675 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17676 (read_kernel_image): ... this. All users updated.
17677 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17678
69055f8a
CPE
176792009-12-05 Carles Pina i Estany <carles@pina.cat>
17680
17681 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17682 (print_spaces): New function.
17683 (grub_print_ucs4): New function.
17684 (getstringwidth): New function.
17685 (print_message_indented): New function.
17686 (print_message): Gettexttize strings using print_message_indented.
17687 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17688 width.
17689 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 17690 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
17691 Gettextize.
17692 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17693 string.
17694 (run): Likewise.
17695 (grub_menu_entry_run): Likewise.
17696 * PO/POTFILES: Add normal/menu_entry.c.
17697
f616f51c
VS
176982009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17701
57bbe3be
CPE
177022009-12-05 Carles Pina i Estany <carles@pina.cat>
17703
17704 * util/grub-install.in: Install gettext .mo files.
17705 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17706
013d67a1
CPE
177072009-12-05 Carles Pina i Estany <carles@pina.cat>
17708
17709 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17710 grub_dprintf.
17711
fb954db0
RM
177122009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17713
17714 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17715 non-firmware-dependant one in realmode.S takes precedence.
17716
6b8474f8
RM
177172009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17718
17719 * commands/halt.c: Replace misc arch-specific headers with
17720 `<grub/misc.h>'.
17721 * commands/reboot.c: Likewise.
17722 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17723 `<grub/misc.h>'.
17724 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17725 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17726 (kernel_img_SOURCES): ... to here.
17727
17728 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17729 * include/grub/i386/pc/init.h: Likewise.
17730 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17731 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17732
17733 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17734
17735 * include/grub/i386/halt.h: Remove.
17736 * include/grub/i386/reboot.h: Likewise.
17737
17738 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17739
4b2e6ca2
DM
177402009-12-03 David S. Miller <davem@sunset.davemloft.net>
17741
17742 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17743 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17744 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17745 "progname.h"
17746 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17747 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17748 (usage): Add missing comma in printf.
17749
5239348f
RM
177502009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17751
17752 Use the same reboot approach on i386 coreboot and qemu as we do on
17753 BIOS.
17754
17755 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17756 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17757 * kern/i386/reboot.c: Remove.
17758 * include/grub/i386/reboot.h (grub_reboot): Export function.
17759 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17760 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17761 0xf000:0xfff0 instead of 0xffff:0x0000.
17762 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17763 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17764
ef34cbd4
RM
177652009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17766
17767 Fix $srcdir != $objdir build.
17768
17769 * Makefile.in (po/%.po): Rewrite as ...
17770 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17771
dc9837ea
ST
177722009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17773
17774 Fix GNU/Hurd grub-install crash.
17775 * util/grub-probe.c (probe): Try to access `path' only when it is not
17776 NULL.
17777
2f857f98
VS
177782009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17779
17780 Correct module naming.
17781
17782 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17783 (GRUB_MOD_INIT(efi_uga)): ... to this
17784 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17785 (GRUB_MOD_FINI(efi_uga)): ... to this
17786 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17787 (GRUB_MOD_INIT(efi_gop)): ... to this
17788 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17789 (GRUB_MOD_FINI(efi_gop)): ... to this
17790
c5448046
RM
177912009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17792
17793 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17794 translatable.
17795 (usage): Translate `arg' strings using gettext().
17796 Thanks to Jordi Mallach for the suggestion.
17797
c85184ad
VS
177982009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 GOP support. Based on patch from Bean
17801 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17802
17803 * video/efi_gop.c: New file.
17804 * include/grub/efi/graphics_output.h: Likewise.
17805 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17806 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17807 variables.
17808 * conf/x86_64-efi.rmk: Likewise.
17809
8a4c48d8
VS
178102009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 Rename efi_fb to efi_uga.
17813
17814 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17815 'efi_uga.mod'.
17816 (efi_fb_mod_SOURCES): Rename this ...
17817 (efi_uga_mod_SOURCES): ... to this.
17818 (efi_fb_mod_CFLAGS): Rename this ...
17819 (efi_uga_mod_CFLAGS): ... to this.
17820 (efi_fb_mod_LDFLAGS): Rename this ...
17821 (efi_uga_mod_LDFLAGS): ... to this.
17822 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17823 'efi_uga.mod'.
17824 (efi_fb_mod_SOURCES): Rename this ...
17825 (efi_uga_mod_SOURCES): ... to this.
17826 (efi_fb_mod_CFLAGS): Rename this ...
17827 (efi_uga_mod_CFLAGS): ... to this.
17828 (efi_fb_mod_LDFLAGS): Rename this ...
17829 (efi_uga_mod_LDFLAGS): ... to this.
17830 * video/efi_fb.c: Move this ...
17831 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17832
fb6c1a7b
RM
178332009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17834
17835 * po/README: New file. Explain our PO file workflow.
17836
3bc7896c
RM
178372009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17838
17839 * po/ChangeLog: Remove. Move relevant entries back to ...
17840 * ChangeLog: ... here.
17841 * po/ca.po: Remove (now handled by TLP).
17842 * po/id.po: Likewise.
17843 * po/zh_CN.po: Likewise.
17844 * Makefile.in (LINGUAS): Initialize in a way that supports
17845 empty set.
17846
9ed4841d
RM
178472009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17848
17849 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17850 reliing on po/LINGUAS.
17851 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17852 (po/%.po): ... this.
17853
0ad46fd7 178542009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
17855
17856 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17857 (main): Use `program_name' instead of nonexistent `progname'.
17858
e30dd392
FZ
178592009-11-26 Felix Zielcke <fzielcke@z-51.de>
17860
17861 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17862 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17863
7656de4f
RM
178642009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17865
17866 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17867 commit.
17868 * conf/i386-efi.rmk: Likewise.
17869 * conf/i386-ieee1275.rmk: Likewise.
17870 * conf/powerpc-ieee1275.rmk: Likewise.
17871 * conf/sparc64-ieee1275.rmk: Likewise.
17872 * conf/x86_64-efi.rmk: Likewise.
17873
db77c4d4
FZ
178742009-11-26 Felix Zielcke <fzielcke@z-51.de>
17875
17876 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17877
a755bb04
FZ
178782009-11-26 Felix Zielcke <fzielcke@z-51.de>
17879
17880 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17881
8a4c07fd
RM
178822009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17883
17884 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17885 (grub_mkdevicemap_SOURCES): New variable.
17886 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17887 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17888 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17889 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17890 (grub_mkdevicemap_SOURCES): Remove.
17891 * conf/i386-efi.rmk: Likewise.
17892 * conf/i386-ieee1275.rmk: Likewise.
17893 * conf/i386-pc.rmk: Likewise.
17894 * conf/powerpc-ieee1275.rmk: Likewise.
17895 * conf/sparc64-ieee1275.rmk: Likewise.
17896 * conf/x86_64-efi.rmk: Likewise.
17897 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17898 (usage): Fix strings to use `program_name'.
17899 (main): Initialize gettext.
17900 * util/grub-editenv.c: Likewise.
17901 * util/grub-emu.c: Likewise.
17902 * util/grub-fstest.c: Likewise.
17903 * util/grub-mkdevicemap.c: Likewise.
17904 * util/grub-mkfont.c: Likewise.
17905 * util/grub-mkrelpath.c: Likewise.
17906 * util/grub-pe2elf.c: Likewise.
17907 * util/grub-probe.c: Likewise.
17908 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17909 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17910 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17911
17912 * util/misc.c: Include `"progname.h"'.
17913 (progname): Remove variable.
17914 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17915
6f61ed55
FZ
179162009-11-25 Felix Zielcke <fzielcke@z-51.de>
17917
17918 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17919 printf and print a newline after the menuentry header line.
17920 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17921
f022876b
FZ
179222009-11-25 Felix Zielcke <fzielcke@z-51.de>
17923
17924 autoconf >= 2.60 support $(localedir).
17925
17926 * INSTALL: Note that autoconf 2.60 is required.
17927 * configure.ac (AC_PREREQ): Bump to 2.60.
17928 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17929 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17930
6717926e
YB
179312009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17932
17933 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17934 aclocal is run.
17935
08806a54
RM
179362009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17937
17938 * normal/main.c (grub_normal_read_line): Fix off-by-one
17939 buffer overflow.
17940
13b33fba
RM
179412009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17942
17943 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17944 "parser.grub" in grub_command_execute() call.
17945
4a8572e9
CPE
179462009-11-24 Carles Pina i Estany <carles@pina.cat>
17947
17948 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17949 * conf/i386-efi.rmk: Likewise.
17950 * conf/i386-ieee1275.rmk: Likewise.
17951 * conf/i386-pc.rmk: Likewise.
17952 * conf/powerpc-ieee1275.rmk: Likewise.
17953 * conf/sparc64-ieee1275.rmk: Likewise.
17954 * conf/x86_64-efi.rmk: Likewise.
17955 * gettext/gettex.c: Include <grub/i18n.h>.
17956 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17957 here ...
17958 * include/grub/i18n.h: ... to here
17959 * include/grub/i18n.h: ... to here.
17960 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 17961 (grub_gettext_dummy): Move above user.
4a8572e9 17962
bee48093
FZ
179632009-11-24 Felix Zielcke <fzielcke@z-51.de>
17964
17965 * util/Makefile.in (install-local): Convert a `for' into a normal
17966 shell expansion.
17967
a031e91c
RM
179682009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17969
17970 * autogen.sh: Add automake call.
17971 * config.guess: Remove.
17972 * config.sub: Likewise.
17973 * install-sh: Likewise.
17974
26bec39d
FZ
179752009-11-24 Felix Zielcke <fzielcke@z-51.de>
17976
17977 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17978
8e2532fd
FZ
179792009-11-24 Felix Zielcke <fzielcke@z-51.de>
17980
17981 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17982 function to a normal shell `for'.
17983
fefa1b7d
FZ
179842009-11-24 Felix Zielcke <fzielcke@z-51.de>
17985
17986 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17987
4501250b
FZ
179882009-11-24 Felix Zielcke <fzielcke@z-51.de>
17989
17990 * util/grub-mkrelpath.c: New file.
17991 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17992 (grub_mkrelpath_SOURCES): New variable.
17993 * include/grub/util/misc.h: New function prototype.
17994 * util/misc.c (make_system_path_relative_to_its_root): New function.
17995
17996 * util/grub-mkconfig_lib.in (bindir): New variable.
17997 (grub_mkrelpath): Likewise.
17998 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17999
18000 * util/probe.c (probe): Make the file path relative to its root.
18001 Change a info message to use the GRUB path. Enable again the
18002 check if we can read the file with GRUB facilities.
18003
18004 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
18005 to its root.
18006
11d9778b
FZ
180072009-11-24 Felix Zielcke <fzielcke@z-51.de>
18008
18009 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
18010 platform.
18011
4465287d
FZ
180122009-11-24 Felix Zielcke <fzielcke@z-51.de>
18013
18014 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
18015 strncmp().
18016
62b47f22
FZ
180172009-11-24 Felix Zielcke <fzielcke@z-51.de>
18018
18019 * util/getroot.c (grub_util_is_dmraid): New function.
18020 (grub_util_get_dev_abstraction): Treat dmraid and multipath
18021 devices as normal ones, not as LVM.
18022
1eafb9b9 180232009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
18024
18025 * conf/common.rmk: Add grub-gettext_lib target and updates
18026 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
18027 LDFLAGS.
18028 * gettext/gettext.c: New file. (Reads mo files).
18029 * include/grub/file.h (grub_file_pread): New prototype.
18030 * include/grub/i18n.h (_): New prototype.
18031 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
18032 prototypes.
18033 * kern/misc.c (grub_gettext_dummy): New function.
18034 * normal/menu_text.c: Include <grub/i18n.h>.
18035 * normal/menu_text.c (print_timeout): Gettexttize string.
18036 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
18037 * po/POTFILES: Add `normal/menu_text.c'.
18038 * po/ca.po: Add new translations.
c3ea6bd4
CPE
18039 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
18040 gettext module and defines locale_dir and lang in grub.cfg.
18041 * NEWS: Add gettext support.
18042
0fdb2568
RM
180432009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18044
18045 * util/hostdisk.c: Include `<grub/i18n.h>'.
18046 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
18047 (make_device_name): Rewrite using asprintf.
18048 (convert_system_partition_to_system_disk): Replace 0 with NULL.
18049 (find_system_device): If a device is not found, generate one just
18050 by reusing the OS path name.
18051 (read_device_map): Make it permissible for device.map not to exist.
18052
f515aa62
RM
180532009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18054
18055 * script/sh/execute.c: Move from here ...
18056 * script/execute.c: ... to here. Update all users.
18057 * script/sh/function.c: Move from here ...
18058 * script/function.c: ... to here. Update all users.
18059 * script/sh/lexer.c: Move from here ...
18060 * script/lexer.c: ... to here. Update all users.
18061 * script/sh/main.c: Move from here ...
18062 * script/main.c: ... to here. Update all users.
18063 * script/sh/parser.y: Move from here ...
18064 * script/parser.y: ... to here. Update all users.
18065 * script/sh/script.c: Move from here ...
18066 * script/script.c: ... to here. Update all users.
18067
f84b481b
RM
180682009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18069
18070 * configure.ac: Detect all `emu' platforms. Define
18071 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
18072 --enable-grub-emu logic. Disable include/grub/machine
18073 symlink on `emu' platforms.
18074
18075 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
18076 * gensymlist.sh.in: Likewise.
18077
18078 * include/grub/i386/coreboot/machine.h: Remove file.
18079 * include/grub/i386/efi/machine.h: Likewise.
18080 * include/grub/i386/ieee1275/machine.h: Likewise.
18081 * include/grub/i386/pc/machine.h: Likewise.
18082 * include/grub/i386/qemu/machine.h: Likewise.
18083 * include/grub/powerpc/ieee1275/machine.h: Likewise.
18084 * include/grub/sparc64/ieee1275/machine.h: Likewise.
18085 * include/grub/x86_64/efi/machine.h: Likewise.
18086
18087 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
18088 * commands/halt.c: Likewise.
18089 * commands/reboot.c: Likewise.
18090 * include/grub/autoefi.h: Likewise.
18091 * include/grub/i386/at_keyboard.h: Likewise.
18092 * include/grub/i386/kernel.h: Likewise.
18093 * include/grub/i386/loader.h: Likewise.
18094 * include/grub/i386/pc/memory.h: Likewise.
18095 * kern/dl.c: Likewise.
18096 * kern/i386/coreboot/init.c: Likewise.
18097 * loader/i386/bsd.c: Likewise.
18098 * loader/i386/linux.c: Likewise.
18099 * loader/multiboot_loader.c: Likewise.
18100 * term/i386/pc/serial.c: Likewise.
18101 * term/usb_keyboard.c: Likewise.
18102
18103 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
18104 `<grub/machine/machine.h>'
18105 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
18106 * util/misc.c: Remove `<grub/machine/machine.h>' and
18107 `<grub/machine/time.h>'.
18108
18109 * Makefile.in (enable_grub_emu): Remove variable.
18110 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
18111
18112 * conf/any-emu.rmk: New file.
18113 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
18114 (grub_emu_init.c): Move from here ...
18115 * conf/any-emu.rmk: ... to here.
18116
18117 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
18118 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
18119 * conf/any-emu.rmk: ... to here.
18120
4efeab03
RM
181212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18122
18123 * include/grub/parser.h (grub_parser_register): Document need
18124 of `name' parameter.
18125 * normal/main.c (grub_normal_read_line): Simplify prompt string.
18126 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
18127 "sh" to "grub".
18128
ea1dd8bf
RM
181292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18130
18131 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
18132 `$(XGETTEXT)'.
18133 * include/grub/i18n.h (N_): New macro.
18134 * util/mkisofs/mkisofs.h: Likewise.
18135 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
18136 around N_().
18137 (usage): Use gettext() to translate help strings when printing them.
18138
0c140626
RM
181392009-11-23 Robert Millan <rmh.grub@aybabtu.com>
18140
18141 Based on patch from Bean
18142 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18143
18144 * video/efi_fb.c: New file.
18145 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
18146 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18147 variables.
18148 * conf/x86_64-efi.rmk: Likewise.
18149
87d58298
RM
181502009-11-22 Robert Millan <rmh.grub@aybabtu.com>
18151
18152 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
18153 * util/i386/pc/grub-setup.c: Likewise.
18154
994cc3a3
ST
181552009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
18156
18157 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
18158 <hurd/fs.h>
18159 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
18160 file_get_storage_info to implement grub_guess_root_device.
18161
26a61d6a
FZ
181622009-11-21 Felix Zielcke <fzielcke@z-51.de>
18163
18164 * Makefile.in (target): Use make's builtin $(shell) function
18165 instead of calling directly $(SHELL) to create the locale directories,
18166 inside the $(foreach) function.
18167
74ff1dd5
FZ
181682009-11-21 Felix Zielcke <fzielcke@z-51.de>
18169
18170 * util/grub-mkrescue.in: Print an error and usage if output option
18171 has not been given.
18172
0b787d0e
FZ
181732009-11-21 Felix Zielcke <fzielcke@z-51.de>
18174
18175 Patch from Loïc Minier <loic.minier@ubuntu.com>.
18176 * util/grub.d/30_os-prober.in: Cope with Linux entries where
18177 root and /boot are on different devices.
18178
1164b270
RM
181792009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18180
18181 Fix build for srcdir != objdir.
18182
18183 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
18184 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
18185 $(srcdir).
18186 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
18187 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
18188 reference for input.
18189
13774a2f
RM
181902009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18191
18192 * util/grub-mkrescue.in: Use source directory direcly (without copiing
18193 or hardlinking it). Remove -J option, Joliet is not compatible with
18194 multiple source directories.
18195
efda854e
RM
181962009-11-21 Carles Pina i Estany <carles@pina.cat>
181972009-11-21 Robert Millan <rmh.grub@aybabtu.com>
18198
18199 * util/grub-mkrescue.in: Recognize `--override-directory' option.
18200 (process_input_dir): New function. Process an arbitrary input
18201 directory.
18202 Misc adjustments to support both "override mode" and system-wide mode.
18203
6c09890c
FZ
182042009-11-20 Felix Zielcke <fzielcke@z-51.de>
18205
18206 * configure.ac (UNIFONT_BDF): Rename to ...
18207 (FONT_SOURCE): ... this. Update all users.
18208
a797824f
FZ
182092009-11-20 Felix Zielcke <fzielcke@z-51.de>
18210
18211 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
18212 to the list of unifont files to look for.
18213
cd4f42b0
RM
182142009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18215
18216 Patch from Joe Auricchio <jauricchio@gmail.com>
18217 * commands/minicmd.c (grub_mini_cmd_clear): New function.
18218 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
18219 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
18220
393c783d
FZ
182212009-11-19 Felix Zielcke <fzielcke@z-51.de>
18222
18223 * Makefile.in (install-local): Add a missing backslash.
18224
b2f1e327
FZ
182252009-11-19 Felix Zielcke <fzielcke@z-51.de>
18226
18227 * include/grub/x86_64/io.h: New file.
18228
f577f7a0
RM
182292009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18230
18231 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
18232 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
18233 Include `"progname.h"'.
18234 (main): Initialize gettext.
18235 * util/i386/pc/grub-setup.c: Gettexttize.
18236 * util/i386/pc/grub-mkimage.c: Likewise.
18237
18238 * Makefile.in (po/*.po): Redefine as ...
18239 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
18240
3bc7896c
RM
18241 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
18242
c37943b6
RM
182432009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18244
18245 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
18246 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
18247 (program_name): Remove.
18248 (main): Initialize gettext support.
6323f705
RM
18249 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
18250 Include `<libintl.h>'.
18251 (_): New macro.
c37943b6
RM
18252
18253 * util/mkisofs/eltorito.c: Gettexttize.
18254 * util/mkisofs/joliet.c: Likewise.
18255 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
18256 * util/mkisofs/multi.c: Likewise.
18257 * util/mkisofs/rock.c: Likewise.
18258 * util/mkisofs/tree.c: Likewise.
18259 * util/mkisofs/write.c: Likewise.
18260
3bc7896c
RM
18261 * po/POTFILES: Update with new files.
18262
5ce77c6e
RM
182632009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18264
18265 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
18266 * util/mkisofs/iso9660.h: Likewise.
18267 * util/mkisofs/joliet.c: Likewise.
18268 * util/mkisofs/mkisofs.c: Likewise.
18269 * util/mkisofs/mkisofs.h: Likewise.
18270 * util/mkisofs/rock.c: Likewise.
18271 * util/mkisofs/tree.c: Likewise.
18272 * util/mkisofs/write.c: Likewise.
18273
18274 * util/mkisofs/eltorito.c (rcsid): Remove.
18275 * util/mkisofs/hash.c: Likewise.
18276 * util/mkisofs/joliet.c: Likewise.
18277 * util/mkisofs/name.c: Likewise.
18278 * util/mkisofs/rock.c: Likewise.
18279 * util/mkisofs/tree.c: Likewise.
18280 * util/mkisofs/write.c: Likewise.
18281
1dabbc77
RM
182822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18283
18284 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
18285 instead of static allocation.
18286 * util/mkisofs/match.h: Likewise.
18287
633877cb
RM
182882009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18289
3bc7896c
RM
18290 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
18291 and `util/grub.d/10_linux.in'.
633877cb
RM
18292 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
18293 translatable Shell files.
18294
af1c0c85
RM
182952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18296
18297 * Makefile.in ($(srcdir)/aclocal.m4): New target.
18298
769ae37b
RM
182992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18300
18301 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 18302 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
18303 * util/grub.d/10_kfreebsd.in (bindir): New variable.
18304 Add gettext initialization.
18305 (kfreebsd_entry): Make menuentry output translatable.
18306
183072009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18308
18309 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
18310 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
18311 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
18312 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
18313 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 18314 * po/LINGUAS: New file.
769ae37b
RM
18315
183162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18317
18318 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
18319 other things).
18320 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
18321 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
18322 bindtextdomain() calls for gettext initialization.
18323
183242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18325
18326 * gnulib/progname.c: New file (imported from Gnulib).
18327 * gnulib/progname.h: Likewise.
18328 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18329 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
18330 (usage): Replace `progname' with `program_name'.
18331 (main): Use set_program_name() for program name initialization.
18332
183332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18334
18335 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
18336 from here ...
18337 * Makefile.in (CPPFLAGS): ... to here.
18338
183392009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18340
18341 * aclocal.m4: Move from here ...
18342 * acinclude.m4: ... to here.
18343 * autogen.sh: Add call to `aclocal'.
18344 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
18345
183462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18347
18348 * Makefile.in (CLEANFILES): Add `po/*.mo'.
18349 (LINGUAS): New variable.
18350 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
18351 (install-local): Install MO files.
18352 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
18353 * include/grub/i18n.h: New file.
3bc7896c
RM
18354 * po/POTFILES: New file.
18355 * po/ca.po: New file.
769ae37b
RM
18356 * util/grub.d/10_linux.in (bindir): New variable.
18357 Add gettext initialization.
18358 (linux_entry): Make menuentry output translatable.
18359 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
18360 (usage): Make --help output translatable.
18361 (main): Initialize gettext.
18362
02c0a6ad
RM
183632009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18364
18365 * import_gcry.py: New file (written by Vladimir with minor
18366 adjustments).
18367 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
18368 ciphers.
18369 * INSTALL: Document that Python is required for bootstrap.
18370
183712009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18372
18373 Import ciphers from libgcrypt 1.4.4.
18374
18375 * lib/libgcrypt/cipher/ChangeLog
18376 * lib/libgcrypt/cipher/ac.c
18377 * lib/libgcrypt/cipher/arcfour.c
18378 * lib/libgcrypt/cipher/bithelp.h
18379 * lib/libgcrypt/cipher/blowfish.c
18380 * lib/libgcrypt/cipher/camellia-glue.c
18381 * lib/libgcrypt/cipher/camellia.c
18382 * lib/libgcrypt/cipher/camellia.h
18383 * lib/libgcrypt/cipher/cast5.c
18384 * lib/libgcrypt/cipher/cipher.c
18385 * lib/libgcrypt/cipher/crc.c
18386 * lib/libgcrypt/cipher/des.c
18387 * lib/libgcrypt/cipher/dsa.c
18388 * lib/libgcrypt/cipher/ecc.c
18389 * lib/libgcrypt/cipher/elgamal.c
18390 * lib/libgcrypt/cipher/hash-common.c
18391 * lib/libgcrypt/cipher/hash-common.h
18392 * lib/libgcrypt/cipher/hmac-tests.c
18393 * lib/libgcrypt/cipher/md.c
18394 * lib/libgcrypt/cipher/md4.c
18395 * lib/libgcrypt/cipher/md5.c
18396 * lib/libgcrypt/cipher/primegen.c
18397 * lib/libgcrypt/cipher/pubkey.c
18398 * lib/libgcrypt/cipher/rfc2268.c
18399 * lib/libgcrypt/cipher/rijndael-tables.h
18400 * lib/libgcrypt/cipher/rijndael.c
18401 * lib/libgcrypt/cipher/rmd.h
18402 * lib/libgcrypt/cipher/rmd160.c
18403 * lib/libgcrypt/cipher/rsa.c
18404 * lib/libgcrypt/cipher/seed.c
18405 * lib/libgcrypt/cipher/serpent.c
18406 * lib/libgcrypt/cipher/sha1.c
18407 * lib/libgcrypt/cipher/sha256.c
18408 * lib/libgcrypt/cipher/sha512.c
18409 * lib/libgcrypt/cipher/tiger.c
18410 * lib/libgcrypt/cipher/twofish.c
18411 * lib/libgcrypt/cipher/whirlpool.c
18412
af2f93ac
RM
184132009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18414
18415 Fix build for systems without error().
18416
18417 * gnulib/error.c: New file (imported from Gnulib).
18418 * gnulib/error.h: Likewise.
18419 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
18420 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
18421 (this variable is now used by error()).
18422
73fb3dd5
FZ
184232009-11-16 Felix Zielcke <fzielcke@z-51.de>
18424
814f5e96
FZ
18425 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
18426 instead of relying that char is signed.
73fb3dd5 18427
a691ca33
VS
184282009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18429
18430 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
18431 blocksize different from specified.
18432 (grub_pxefs_read): Likewise.
18433
2af8f0f4
FZ
184342009-11-16 Felix Zielcke <fzielcke@z-51.de>
18435
18436 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
18437
18438 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
18439 (grub_ata_readwrite): Likewise. Update 2 format strings.
18440 (grub_atapi_read): Likewise.
18441
18442 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
18443 * conf/i386.rmk (pkglib_MODULES): ... to here ...
18444 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
18445 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
18446 (ata_mod_LDFLAGS): Move from here ...
18447 * conf/i386.rmk: ... to here ...
18448 * conf/x86_64-efi.rmk: ... and here.
18449 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
18450 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
18451
83bdecaf
RM
184522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18453
18454 Relicense multiboot.h, with RMS' blessing.
18455
18456 * include/multiboot.h: Change to X11 license.
18457
fd6fd3d7
RM
184582009-11-15 Robert Millan <rmh.grub@aybabtu.com>
18459
18460 Support --version in grub-mkisofs.
18461
18462 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
18463 (OPTION_VERSION): New macro.
18464 (ld_options): Recognize --version.
18465 (usage): Move `program_name' from here ...
18466 (program_name): ... to here. Add `static' qualifier.
18467 (main): Recognize `OPTION_VERSION'.
18468
16a88c49
FZ
184692009-11-15 Felix Zielcke <fzielcke@z-51.de>
18470
18471 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
18472 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
18473
a4158476
RM
184742009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18475
18476 Fix help2man generation for mkisofs.
18477
18478 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
18479 (usage): Send output to stdout (rather than stderr).
18480
fc2208b0
RM
184812009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18482
18483 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
18484 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18485 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
18486 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18487 (bin_SCRIPTS): Add `grub-mkfloppy'.
18488 (grub_mkfloppy_SOURCES): New variable.
18489
18490 * util/grub-mkrescue.in: New file.
18491 * util/i386/pc/grub-mkfloppy.in: New file.
18492
18493 * util/i386/coreboot/grub-mkrescue.in: Remove.
18494 * util/i386/pc/grub-mkrescue.in: Remove.
18495
8d0edf4a
RM
184962009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18497
18498 * include/grub/multiboot.h (struct grub_multiboot_header): Move
18499 from here ...
18500 * include/multiboot.h (struct multiboot_header): ... to here. Update
18501 all users.
18502 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18503 from here ...
18504 * include/multiboot.h (struct multiboot_info): ... to here. Update
18505 all users.
18506 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18507 from here ...
18508 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18509 Update all users.
18510 * include/grub/multiboot.h (struct grub_mod_list): Move
18511 from here ...
18512 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18513 Update all users.
18514
a73f5969
RM
185152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18516
18517 * include/multiboot2.h (multiboot_word): Rename from this ...
18518 (multiboot2_word): ... to this. Update all users.
18519 (multiboot_header): Rename from this ...
18520 (multiboot2_header): ... to this. Update all users.
18521 (multiboot_tag_header): Rename from this ...
18522 (multiboot2_tag_header): ... to this. Update all users.
18523 (multiboot_tag_start): Rename from this ...
18524 (multiboot2_tag_start): ... to this. Update all users.
18525 (multiboot_tag_name): Rename from this ...
18526 (multiboot2_tag_name): ... to this. Update all users.
18527 (multiboot_tag_module): Rename from this ...
18528 (multiboot2_tag_module): ... to this. Update all users.
18529 (multiboot_tag_memory): Rename from this ...
18530 (multiboot2_tag_memory): ... to this. Update all users.
18531 (multiboot_tag_unused): Rename from this ...
18532 (multiboot2_tag_unused): ... to this. Update all users.
18533 (multiboot_tag_end): Rename from this ...
18534 (multiboot2_tag_end): ... to this. Update all users.
18535
1c8927f0
RM
185362009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18537
18538 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18539 this platform we should support Multiboot1 first.
18540
18541 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18542 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18543 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18544
6e1e0d89
RM
185452009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18546
18547 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18548 of write calls (converting them to fwrite() if they aren't already).
18549 (get_torito_desc): Likewise.
18550 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18551
7f2b34d8
RM
185522009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18553
18554 * util/i386/pc/grub-install.in: Move from here ...
18555 * util/grub-install.in: ... to here. Update all users.
18556
c0ef3311
CW
185572009-11-11 Colin Watson <cjwatson@ubuntu.com>
18558
18559 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18560
e1f240ff
RM
185612009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18562
18563 Support for El Torito without floppy emulation.
18564
18565 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18566 (init_boot_catalog): Improve error handling.
18567 (get_torito_desc): Don't use floppy emulation unless requested by
18568 user. Patch boot information table when requested via
18569 `-boot-info-table'.
18570 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18571 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18572 (use_boot_info_table): New variables.
18573 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18574 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18575 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18576 `--eltorito-emul-floppy'.
18577 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18578 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18579 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18580 (use_boot_info_table, get_731): New prototypes.
18581 * util/mkisofs/write.c (get_731): New function.
18582
af7d4de5
FZ
185832009-11-11 Felix Zielcke <fzielcke@z-51.de>
18584
18585 Fix the generation of the man page.
18586
18587 * util/pc/i386/grub-install.in: Source
18588 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18589
2c55dbc0
RM
185902009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18591
18592 Large file support for grub-mkisofs.
18593
18594 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18595 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18596 (session_start): Upgrade type to `uint64_t'. Update all users.
18597 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18598 (struct directory_entry): Upgrade type of `starting_block' and
18599 `size' to `uint64_t'. Update all users.
18600 (struct deferred): Remove unused structure.
18601 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18602 Update all users.
18603 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18604 file is larger than `UINT32_MAX'.
18605 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18606 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18607 return value.
18608 (struct deferred_write): Upgrade type of `extent' and `size' to
18609 `uint64_t'. Update all users.
18610 (last_extent_written): Upgrade type to `uint64_t'. Update all
18611 users.
18612 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18613 Update all users. Upgrade type of `remain' to `int64_t' and
18614 `use' to `size_t'. Use error() to handle fread() errors.
18615 (write_files): Rely on write_one_file() rather than calling
18616 xfwrite() directly.
18617
6a9cead5
FZ
186182009-11-09 Felix Zielcke <fzielcke@z-51.de>
18619
18620 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18621
4825d790
RM
186222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18623
18624 * util/mkisofs/fnmatch.c: Remove.
18625 * util/mkisofs/getopt1.c: Likewise.
18626 * util/mkisofs/getopt.c: Likewise.
18627 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18628 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18629 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18630 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18631 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18632
18633 * configure.ac: Detect `mingw32msvc' host_os.
18634 Check for lstat(), getuid() and getgid().
18635
18636 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18637 instances of `u_char' with `uint8_t'.
18638
18639 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18640 [!HAVE_GETUID] (getuid): New function (stub).
18641 [!HAVE_GETGID] (getgid): Likewise.
18642 [!HAVE_LSTAT] (lstat): Likewise.
18643 [!S_IROTH] (S_IROTH): New macro (dummy).
18644 [!S_IRGRP] (S_IRGRP): Likewise.
18645
84b860d8
RM
186462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18647
18648 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18649 conditional expression).
18650
66e9b712
RM
186512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18652
18653 Import from Gnulib.
18654
18655 * gnulib/fnmatch.c: New file.
18656 * gnulib/fnmatch.h: Likewise.
18657 * gnulib/fnmatch_loop.c: Likewise.
18658 * gnulib/getopt.c: Likewise.
18659 * gnulib/getopt.h: Likewise.
18660 * gnulib/getopt1.c: Likewise.
18661 * gnulib/getopt_int.h: Likewise.
18662 * gnulib/gettext.h: Likewise.
18663
34f4a5b0
RM
186642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18665
18666 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18667 * normal/handler.c (read_handler_list): Likewise.
18668
ac451143
RM
186692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18670
18671 Misc cleanup.
18672
18673 * kern/command.c (grub_register_command_prio): Use
18674 grub_zalloc() instead of explicitly zeroing data.
18675 * kern/list.c: Include `<grub/mm.h>'.
18676 (grub_named_list_find): Replace `0' with `NULL'.
18677 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18678 (fs_module_list): Change type to `grub_named_list_t'. Update all
18679 users.
18680 * normal/dyncmd.c (read_command_list): Add space between function
18681 call and parenthesis.
18682 * normal/handler.c (read_handler_list): Likewise.
18683
4089b167
RM
186842009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18685
18686 * normal/auth.c (punishment_delay): Moved from here ...
18687 (grub_auth_strcmp): ... to here (inside function).
18688
325f5037
RM
186892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18690
18691 * include/grub/list.h (struct grub_named_list): Remove `const'
18692 qualifier from `name'.
18693 (struct grub_prio_list): Likewise.
18694
7aea29a3
RM
186952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18696
18697 * normal/auth.c: Include `<grub/time.h>'.
18698 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18699
3fd6f044
RM
187002009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18701
18702 * normal/auth.c (punishment_delay): New variable.
18703 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18704 (grub_auth_check_authentication): Punish failed login attempts with
18705 an incremental (2^N) delay.
18706
a4cd68e4
RM
187072009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18708
18709 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18710 path with $(srcdir).
18711
7ad12f43
VS
187122009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18715
c1129f03
RM
187162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18717
18718 * util/i386/coreboot/grub-mkrescue.in: New file.
18719 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18720 variables.
18721
18722 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18723 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18724 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18725 requirements.
18726 * util/mkisofs/defaults.h: New file.
18727 * util/mkisofs/eltorito.c: Likewise.
18728 * util/mkisofs/exclude.h: Likewise.
18729 * util/mkisofs/fnmatch.c: Likewise.
18730 * util/mkisofs/getopt.c: Likewise.
18731 * util/mkisofs/getopt1.c: Likewise.
18732 * util/mkisofs/hash.c: Likewise.
18733 * util/mkisofs/include/fctldefs.h: Likewise.
18734 * util/mkisofs/include/mconfig.h: Likewise.
18735 * util/mkisofs/include/prototyp.h: Likewise.
18736 * util/mkisofs/include/statdefs.h: Likewise.
18737 * util/mkisofs/iso9660.h: Likewise.
18738 * util/mkisofs/joliet.c: Likewise.
18739 * util/mkisofs/match.c: Likewise.
18740 * util/mkisofs/match.h: Likewise.
18741 * util/mkisofs/mkisofs.c: Likewise.
18742 * util/mkisofs/mkisofs.h: Likewise.
18743 * util/mkisofs/multi.c: Likewise.
18744 * util/mkisofs/name.c: Likewise.
18745 * util/mkisofs/rock.c: Likewise.
18746 * util/mkisofs/tree.c: Likewise.
18747 * util/mkisofs/write.c: Likewise.
18748
ec8bb77d
VS
187492009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18752 being insecure.
18753
3716b12c
RM
187542009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18755
18756 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18757 `grub-mkimage' (and use $0 when possible).
18758
b97b7b91
RM
187592009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18760
18761 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18762 error message for excessively large memory map.
18763
04114812
RM
187642009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18765
18766 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18767 executable bit.
18768
e4eb2373
RM
187692009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18770
18771 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18772 message for coreboot users.
18773
c926e1d5 187742009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18775
18776 Fix build with GNU gold.
18777
18778 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18779 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18780 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18781 link addresses.
18782 * aclocal.m4: Likewise.
18783
86e5b1db 187842009-11-04 Felix Zielcke <fzielcke@z-51.de>
18785
18786 * configure.ac (AC_PREREQ): Bump to 2.59d.
18787 * INSTALL: Make it more clear when Autoconf and Ruby are
18788 needed and when to run `./autogen.sh'.
18789
246cd78f 187902009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18791
18792 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18793 OSes.
18794
4f9dfb37 187952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18796
18797 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18798
b82bd5e1 187992009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18800
18801 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18802 giving it to GNU Mach.
18803
ff1a9bca 188042009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18805
18806 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18807 GNU partition number to get internal GRUB partition number.
18808
61697d9c 188092009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18810
18811 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18812 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18813
a50569e1 188142009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18815
18816 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18817 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18818 case.
18819
5b153867 188202009-11-01 Felix Zielcke <fzielcke@z-51.de>
18821
18822 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18823
d9e2cd70 188242009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18825
18826 Fix build problem.
18827
18828 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18829 `-isystem=$(srcdir)/include'.
18830
805111a4 188312009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18832
18833 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18834 checked (grub-install doesn't currently rely on it).
18835
fa6e945f 188362009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18837
18838 Revert SVN r2660.
18839
18840 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18841 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18842 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18843 * conf/i386-ieee1275.rmk: Likewise.
18844 * conf/i386-pc.rmk: Likewise.
18845 * conf/powerpc-ieee1275.rmk: Likewise.
18846 * conf/sparc64-ieee1275.rmk: Likewise.
18847 * conf/x86_64-efi.rmk: Likewise.
18848
cee15086 188492009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18850
18851 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18852
95b9239e 188532009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18854
18855 * include/grub/misc.h: Stop checking for APPLE_CC.
18856
2ed19dfd 188572009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18858
18859 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18860 doesn't cause an infinite call loop.
18861
fdcdde19 188622009-10-28 Felix Zielcke <fzielcke@z-51.de>
18863
18864 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18865 strings.
18866
cefabfe1 188672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18868
18869 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18870 variable.
18871 * Makefile.in: Likewise.
18872
ed96ab6d 188732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18874
18875 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18876
0579b753 188772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18878
18879 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18880
478df409 188812009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18882
18883 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18884
083d1679 188852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18886
18887 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18888 from here ...
18889 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18890
5947ae32 188912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18892
18893 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18894 in $(MAKEINFO) invocation. This makes it clear in output that
18895 errors are being ignored.
18896
94180ff6 188972009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18898
18899 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18900 from here ...
18901 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18902 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18903 * conf/i386-ieee1275.rmk: Likewise.
18904 * conf/i386-pc.rmk: Likewise.
18905 * conf/powerpc-ieee1275.rmk: Likewise.
18906 * conf/sparc64-ieee1275.rmk: Likewise.
18907 * conf/x86_64-efi.rmk: Likewise.
18908
9031b03a 189092009-10-26 Colin Watson <cjwatson@ubuntu.com>
18910
18911 * util/grub-editenv.c (main): If only a command is given, use
18912 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18913 (usage): FILENAME is now optional and has a default.
18914
e4f6809b 189152009-10-26 Colin Watson <cjwatson@ubuntu.com>
18916
18917 Improve grub-mkconfig performance when there are several menu
18918 entries on a single filesystem.
18919
18920 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18921 prepare_grub_to_access_device.
18922 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18923 * util/grub.d/30_os-prober.in: Likewise.
18924
67937d4d 189252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18926
18927 * util/grub.d/10_freebsd.in: Remove.
18928 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18929 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18930
ee3756cc 189312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18932
5c35048e 18933 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 18934
4dea1c6f 189352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18936
18937 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18938 grub_util_error() call.
18939
042484d7 189402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18941
18942 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18943 `reserved_first_sector' member.
18944 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18945 `reserved_first_sector' to 1.
18946 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18947 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18948 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18949 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18950 filesystems which begin at first sector.
18951 (options): New option --skip-fs-probe.
18952 (main): Handle --skip-fs-probe and pass it to setup().
18953
d64448a7 189542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18955
18956 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18957 (memset): Fix function prototype.
18958
508d42ec 189592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
189602009-10-25 Vasily Averin <vvs@parallels.com>
18961
18962 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18963 `dirent.direntlen == 0'.
18964
b240e30c 189652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18966
18967 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18968 `cpio'.
18969 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18970
346e7fbe 189712009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18972
18973 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18974 `__trampoline_setup' and `__ucmpdi2'.
18975 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18976 that libgcc provides.
18977
cdb308b0 189782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18979
18980 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18981 * include/grub/sparc64/libgcc.h (memset): Likewise.
18982 * include/grub/misc.h (memset, memcmp): New function prototypes.
18983
fb26abc2 189842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18985
18986 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18987 `cpio'.
18988 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18989
f6693890 189902009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18991
18992 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18993 * docs/grub.cfg: Compensate for recent change in multiboot
18994 loader (since 2009-08-14 it won't pass filename to payload).
18995 * util/grub.d/10_hurd.in: Likewise.
18996
0933cdc0 189972009-10-21 Felix Zielcke <fzielcke@z-51.de>
18998
18999 * config.guess: Update to latest version from config git
19000 repository.
19001 * config.sub: Likewise.
19002
3b2fe8c2 190032009-10-20 Robert Millan <rmh.grub@aybabtu.com>
19004
19005 Fix build on sparc64.
19006
19007 * configure.ac: Perform checks for libgcc symbols before
19008 adding `-nostdlib' to LDFLAGS.
19009
46695a62 190102009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19011
19012 Let user specify OpenBSD root device.
19013
19014 * loader/i386/bsd.c (openbsd_root): New variable.
19015 (openbsd_opts): New option 'root'.
19016 (OPENBSD_ROOT_ARG): New macro.
19017 (grub_openbsd_boot): Use 'openbsd_root'.
19018 (grub_cmd_openbsd): Fill 'openbsd_root'.
19019
d2b6b7fc 190202009-10-16 Robert Millan <rmh.grub@aybabtu.com>
19021
19022 * NEWS: Misc adjustments.
19023
421bd7ac 190242009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
19025
19026 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
19027
f1d29d87 190282009-10-16 Robert Millan <rmh.grub@aybabtu.com>
19029
19030 * configure.ac: Bump version to 1.97.
19031
6f3cd880 190322009-10-16 Colin Watson <cjwatson@ubuntu.com>
19033
19034 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
19035 -mno-3dnow on x86 architectures. Some toolchains enable these
19036 features by default, but they rely on registers that aren't enabled
19037 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
19038
035f7122 190392009-10-15 Robert Millan <rmh.grub@aybabtu.com>
19040
19041 Make entry text a bit more readable.
19042
19043 * util/grub.d/10_linux.in: Add `with' before `Linux'.
19044
44998e58 190452009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
19048
cd2851b3 190492009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19050
19051 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
19052 operations.
19053
c6f3b249 190542009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19055
19056 * configure.ac: Add missing dollar.
19057
6b5886ba 190582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
19059
19060 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
19061
19062 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
19063 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
19064 exports.
19065 * include/grub/sparc64/libgcc.h: Likewise. Use
19066 preprocessor conditionals.
19067
e9d66f6d 190682009-10-14 Robert Millan <rmh.grub@aybabtu.com>
19069
19070 * conf/common.rmk (grub-dumpbios): Remove rule.
19071 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
19072 * util/grub-dumpbios.in: Remove file.
19073
9155bc17 190742009-10-14 Robert Millan <rmh.grub@aybabtu.com>
19075
19076 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
19077 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
19078
19079 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
19080 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
19081 users.
19082
19083 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
19084 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
19085 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
19086 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
19087 users.
19088
bf7f7a18 190892009-10-12 Robert Millan <rmh.grub@aybabtu.com>
19090
19091 * term/tparm.c: Switch to GPLv3.
19092
86564c26 190932009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19094
19095 * include/grub/i386/cpuid.h: Add header protection.
19096
5c936493 190972009-10-09 Robert Millan <rmh.grub@aybabtu.com>
19098
19099 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
19100
19101 * include/grub/i386/cpuid.h: New file.
19102 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
19103 (has_longmode): Rename to ...
19104 (grub_cpuid_has_longmode): ... this. Update all users. Remove
19105 `static' attribute.
19106 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
19107 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
19108 on a CPU that doesn't implement AMD64 instruction set.
19109
186e7cf2 191102009-10-06 Colin Watson <cjwatson@ubuntu.com>
19111
19112 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
19113 that version.texi is rebuilt on version number changes.
19114
83b65c4a 191152009-10-06 Colin Watson <cjwatson@ubuntu.com>
19116
19117 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
19118 Fixes bug #27602.
19119
d244281c 191202009-10-06 Colin Watson <cjwatson@ubuntu.com>
19121
19122 * util/i386/pc/grub-install.in: Source
19123 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
19124 that the --grub-probe option will work.
19125 * util/sparc64/ieee1275/grub-install.in: Likewise.
19126
da25306d 191272009-10-05 Robert Millan <rmh.grub@aybabtu.com>
19128
19129 * configure.ac: Bump version to 1.97~beta4.
19130
e8ee83c0 191312009-10-03 Robert Millan <rmh.grub@aybabtu.com>
19132
19133 Resync grub-mkdevicemap in x86_64-efi.
19134
19135 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
19136 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
19137 `util/devicemap.c'.
19138
50dcabcf 191392009-10-01 Colin Watson <cjwatson@ubuntu.com>
19140
19141 * util/grub-editenv.c (create_envblk_file): Write new block with a
19142 .new suffix and then rename it into place, to ensure atomic
19143 creation.
19144
0e51c3a7 191452009-09-28 Robert Millan <rmh.grub@aybabtu.com>
19146
19147 Do not automatically install headers.
19148
19149 * Makefile.in (include_DATA): Remove. Update all users.
19150
31299a95 191512009-09-26 Robert Millan <rmh.grub@aybabtu.com>
19152
19153 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
19154 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
19155
19156 * util/osdetect.lua: Remove.
19157 * script/lua/lauxlib.c: Likewise.
19158 * script/lua/ldebug.c: Likewise.
19159 * script/lua/grub_main.c: Likewise.
19160 * script/lua/lauxlib.h: Likewise.
19161 * script/lua/ldebug.h: Likewise.
19162 * script/lua/ltablib.c: Likewise.
19163 * script/lua/liolib.c: Likewise.
19164 * script/lua/lstrlib.c: Likewise.
19165 * script/lua/lualib.h: Likewise.
19166 * script/lua/ldo.c: Likewise.
19167 * script/lua/ldump.c: Likewise.
19168 * script/lua/ldo.h: Likewise.
19169 * script/lua/loslib.c: Likewise.
19170 * script/lua/lundump.c: Likewise.
19171 * script/lua/grub_lib.c: Likewise.
19172 * script/lua/ldblib.c: Likewise.
19173 * script/lua/lundump.h: Likewise.
19174 * script/lua/lmem.c: Likewise.
19175 * script/lua/grub_lib.h: Likewise.
19176 * script/lua/lmathlib.c: Likewise.
19177 * script/lua/lstate.c: Likewise.
19178 * script/lua/ltm.c: Likewise.
19179 * script/lua/lvm.c: Likewise.
19180 * script/lua/lmem.h: Likewise.
19181 * script/lua/lstate.h: Likewise.
19182 * script/lua/ltm.h: Likewise.
19183 * script/lua/ltable.c: Likewise.
19184 * script/lua/lvm.h: Likewise.
19185 * script/lua/llex.c: Likewise.
19186 * script/lua/lgc.c: Likewise.
19187 * script/lua/grub_lua.h: Likewise.
19188 * script/lua/loadlib.c: Likewise.
19189 * script/lua/lfunc.c: Likewise.
19190 * script/lua/lopcodes.c: Likewise.
19191 * script/lua/lparser.c: Likewise.
19192 * script/lua/ltable.h: Likewise.
19193 * script/lua/llex.h: Likewise.
19194 * script/lua/lgc.h: Likewise.
19195 * script/lua/lfunc.h: Likewise.
19196 * script/lua/lbaselib.c: Likewise.
19197 * script/lua/lopcodes.h: Likewise.
19198 * script/lua/lparser.h: Likewise.
19199 * script/lua/lzio.c: Likewise.
19200 * script/lua/linit.c: Likewise.
19201 * script/lua/lobject.c: Likewise.
19202 * script/lua/llimits.h: Likewise.
19203 * script/lua/lstring.c: Likewise.
19204 * script/lua/lzio.h: Likewise.
19205 * script/lua/lapi.c: Likewise.
19206 * script/lua/lcode.c: Likewise.
19207 * script/lua/lua.h: Likewise.
19208 * script/lua/lobject.h: Likewise.
19209 * script/lua/lstring.h: Likewise.
19210 * script/lua/lapi.h: Likewise.
19211 * script/lua/lcode.h: Likewise.
19212 * script/lua/luaconf.h: Likewise.
19213
cb8a2c38 192142009-09-26 Colin Watson <cjwatson@ubuntu.com>
19215
19216 * docs/grub.texi (Command-line and menu entry commands): Document
19217 date and echo commands.
19218
6b9b6276 192192009-09-24 Pavel Roskin <proski@gnu.org>
19220
19221 * include/grub/kernel.h (struct grub_module_header): Remove
19222 `grub_module_header_types'. Make `type' unsigned. Make `size'
19223 32-bit on all platforms.
19224 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
19225 8-bit field. Use grub_host_to_target32() for `size'.
19226 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
19227 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
19228 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
19229
4e5a02a7 192302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19231
19232 Fix "lost keypress" bug in at_keyboard.
19233
19234 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
19235 Checks for readyness of input buffer (without flushing it).
19236 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
19237 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
19238
c6dcedf6 192392009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19240
19241 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
19242 size check within GRUB_MACHINE_PCBIOS section.
19243
74c958b1 192442009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19245
19246 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
19247 return value.
19248 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
19249 KEYBOARD_ISREADY check.
19250 (grub_at_keyboard_checkkey): Rename to ...
19251 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
19252 Remove gratuitous cast.
19253
ff420223 192542009-09-23 Colin Watson <cjwatson@ubuntu.com>
19255
19256 * configure.ac: Call AC_PROG_MKDIR_P.
19257 * Makefile.in (docs/stamp-vti): Create docs directory. Create
19258 version.texi in $(builddir) rather than $(srcdir).
19259 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
19260 to makeinfo's @include search path.
19261
d96875df 192622009-09-23 Felix Zielcke <fzielcke@z-51.de>
19263
19264 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
19265
9b3f8365 192662009-09-23 Felix Zielcke <fzielcke@z-51.de>
19267
19268 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
19269 for `*.dpkg-new'.
19270
c44c90db 192712009-09-21 Colin Watson <cjwatson@ubuntu.com>
19272
19273 Build info documentation. Some code borrowed from Automake.
19274
19275 * configure.ac: Check for makeinfo.
19276 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
19277 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
19278 docs/version.texi.
19279 (MOSTLYCLEANFILES): Add vti.tmp.
19280 (docs/version.texi, docs/stamp-vti): Update automatically.
19281 (docs/grub.info): Build info documentation. Use --force and ignore
19282 errors for now.
19283 (all-local): Add $(INFOS).
19284 (install-local): Install info files.
19285 (uninstall): Uninstall info files.
19286 * docs/version.texi: Remove from revision control. This file is
19287 automatically generated on build now.
19288 * gendistlist.sh: Add `*.info'.
19289
e0b37bb5 192902009-09-21 Felix Zielcke <fzielcke@z-51.de>
19291
19292 * kern/term.c: Fix indentation.
19293
5a78865b 192942009-09-21 Felix Zielcke <fzielcke@z-51.de>
19295
19296 * util/hostdisk.c: Fix a comment.
19297
dace7e8a 192982009-09-20 Robert Millan <rmh.grub@aybabtu.com>
19299
19300 Fix regression introduced in r2539.
19301
19302 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
19303 to 0xA1.
19304
a83d079b 193052009-09-19 Colin Watson <cjwatson@ubuntu.com>
19306
19307 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 19308 os-prober. Under normal operation, it does not print anything to
19309 stderr; if it does, we need to debug it, and throwing away stderr
19310 makes that excessively difficult.
a83d079b 19311
be94a509 193122009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
19315
63f745e8 193162009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19317
19318 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
19319 AC_LANG_PROGRAM from autoconf.
19320 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
19321 prototypes (fixes warning).
19322
19323 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
19324 `--disable-werror' was used.
19325
bbb2a70f 193262009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19327
19328 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
19329 uninitialized `lastaddr'.
19330
77c24f1d 193312009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19332
0f0b8c87 19333 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 19334
07197f23 193352009-09-14 Colin Watson <cjwatson@ubuntu.com>
19336
19337 * commands/test.c (get_fileinfo): Return immediately if
19338 grub_fs_probe fails.
19339
dabf1798 193402009-09-14 José Martínez <xosemp@gmail.com>
19341
19342 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
19343
d52109a7 193442009-09-14 Colin Watson <cjwatson@ubuntu.com>
19345
19346 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
19347 output.
19348
56532179 193492009-09-13 Robert Millan <rmh.grub@aybabtu.com>
19350
19351 * configure.ac: Remove --enable-grub-pe2elf. Only build
19352 grub-pe2elf when needed by the build system itself.
19353 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
19354
8ef070f5 193552009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19356
19357 * configure.ac: Bump version to 1.97~beta3.
19358 * docs/version.texi: Likewise.
19359
61229557 193602009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19361
19362 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
19363 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
19364 from here ...
19365 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
19366 (grub_linux_setup_video): ... to here (with some adjustments).
19367
5c9f8d84 193682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19369
19370 Fix memory corruption issue (spotted by Colin Watson).
19371
19372 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
19373 causing returned size to be stored in an incorrect memory location.
19374 Fix use of uninitialized value when storing the returned size.
19375
e8f5d6e9 193762009-09-12 Yves Blusseau <blusseau@zetam.org>
19377
19378 Change clean rules to properly remove files
19379
19380 * genmk.rb: add new clean rules
19381 * Makefile.in (clean): add the new targets
19382 (mostlyclean): likewise
19383
cda2a409 193842009-09-11 Colin Watson <cjwatson@ubuntu.com>
19385
19386 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
19387 to grub_uint64_t.
19388 * fs/ntfs.c (init_file): Understand 64-bit sizes for
19389 non-resident files.
19390
86695375 193912009-09-11 Colin Watson <cjwatson@ubuntu.com>
19392
19393 * configure.ac: Don't look for help2man when cross-compiling. Fixes
19394 part of bug #27349.
19395
8aa1541a 193962009-09-10 Felix Zielcke <fzielcke@z-51.de>
19397
19398 * util/grub-mkconfig.in: Make the created config mode 400 and
19399 print a warning if it fails.
19400
48d9bb0a 194012009-09-10 Robert Millan <rmh.grub@aybabtu.com>
19402
19403 * util/grub.d/40_custom.in: Ask user to type custom entries below
19404 comment, rather than below 'exec tail' line.
19405
3b0521be 194062009-09-10 Colin Watson <cjwatson@ubuntu.com>
19407
19408 * util/grub.d/40_custom.in: Make sure that the explanatory text is
19409 visible in grub.cfg.
19410
50051d55 194112009-09-10 Colin Watson <cjwatson@ubuntu.com>
19412
19413 * util/grub.d/40_custom.in: Make it a little clearer how to use this
19414 file.
19415
c0d34387 194162009-09-10 Felix Zielcke <fzielcke@z-51.de>
19417
19418 * docs/grub.cfg: Add an example menu entry for memtest86+.
19419
80a608f3 194202009-09-09 Felix Zielcke <fzielcke@z-51.de>
19421
a2094832 19422 * config.guess: Update to latest version from config git.
80a608f3 19423 * config.sub: Likewise.
19424
99423078 194252009-09-08 Colin Watson <cjwatson@ubuntu.com>
19426
19427 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
19428 unknown-command case. Fixes bug #27320.
19429
44454e4c 194302009-09-08 Felix Zielcke <fzielcke@z-51.de>
19431
19432 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
19433 `help' if the command exists.
19434
e30d87ad 194352009-09-06 Robert Millan <rmh.grub@aybabtu.com>
19436
19437 * INSTALL: Require GCC 4.1.3 or later.
19438
9a86f1ec 194392009-09-06 Yves Blusseau <blusseau@zetam.org>
19440
19441 * Makefile.in (RMKFILES): add i386-qemu.rmk
19442 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
19443 $(srcdir)/stamp-h.in
19444
7f26d466 194452009-09-05 Robert Millan <rmh.grub@aybabtu.com>
19446
19447 * util/grub-probe.c (probe): Comment out buggy codepath, which
19448 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
19449 should be re-enabled after 1.97.
19450
3a613259 194512009-09-05 Felix Zielcke <fzielcke@z-51.de>
19452
19453 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
19454 find searches for.
19455
197f76c7 194562009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19457
19458 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
19459 unnecessary calls to grub_error.
19460
70ba68ce 194612009-09-04 Colin Watson <cjwatson@ubuntu.com>
19462
19463 * NEWS: Mention `keystatus' and Unicode fonts.
19464
4ff0d7a4 194652009-09-04 Robert Millan <rmh.grub@aybabtu.com>
19466
19467 * configure.ac: Bump version to 1.97~beta2.
19468 * docs/version.texi: Likewise.
19469
77c55a87 194702009-09-03 Colin Watson <cjwatson@ubuntu.com>
19471
19472 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
19473 containing unwind information in some cases where it previously did
19474 not. Use -fno-dwarf2-cfi-asm if available to restore the old
19475 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
19476 discussion.
19477
f79572cd 194782009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
19479
19480 Embedding loadenv module into grub-emu
19481
19482 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
19483 commands/loadenv.c
19484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
19485 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
19486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
19487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
19488 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
19489 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
19490
93a81088 194912009-09-03 Magnus Granberg <zorry@ume.nu>
19492
19493 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
19494 include -fPIE in the default specs.
19495 * configure.ac: Check if pie_possible is yes and add -fno-PIE
19496 to TARGET_CFLAGS.
19497
160034b2 194982009-09-03 Felix Zielcke <fzielcke@z-51.de>
19499
19500 * INSTALL: Note that GNU Bison 2.3 or later is required.
19501
087c07c4 195022009-09-03 Colin Watson <cjwatson@ubuntu.com>
19503
19504 * kern/i386/pc/startup.S: Fix typo.
19505
cbf978c0 195062009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19507
19508 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19509 according to GCS.
19510
195112009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 19512
19513 * docs/grub.texi (Naming convention): Describe one-based partition
19514 numbering.
19515 (Device syntax): Likewise.
19516 (File name syntax): Likewise.
19517 (Block list syntax): Likewise.
19518 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19519 menu.lst.
19520 (File name syntax): Likewise.
19521 (Command-line and menu entry commands): Document acpi, blocklist,
19522 crc, export, insmod, keystatus, ls, set, and unset commands.
19523
f3e8cdfd 195242009-09-02 Colin Watson <cjwatson@ubuntu.com>
19525
19526 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19527 to avoid implying that only one of --shift, --ctrl, or --alt may be
19528 used.
19529
c0bc232b 195302009-09-02 Colin Watson <cjwatson@ubuntu.com>
19531
19532 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19533 rather than comparing against S_IFREG, which will almost never work.
19534
aa0f752d 195352009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19538 (write_blocklists): Likewise.
19539
ecb3166a 195402009-09-01 Colin Watson <cjwatson@ubuntu.com>
19541
19542 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19543 argument to grub_printf.
19544
c403a125 195452009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 19546
19547 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 19548 non GNU test.
31aba781 19549
b5e7312c 195502009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 * kern/file.c (grub_file_read): Spelling fix
19553
fe00f472 195542009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19555
19556 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19557 loading of headers in some cases.
19558
cc55302e 195592009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19560
19561 * configure.ac: Bump version to 1.97~beta1.
19562 * docs/version.texi: Likewise.
19563
5c90cdd2 195642009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 19565
19566 * include/grub/i386/xnu.h: Add license header.
19567 include grub/err.h explicitly.
19568
c90edae4 195692009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19570
19571 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19572 to `ufs' in the vfs.root.mountfrom kernel parameter.
19573
d8888b5c 195742009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19575
19576 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19577
19578 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19579 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19580
19581 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19582 `ARRAY_SIZE' macro.
19583
6f07b921 195842009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19585
19586 * kern/file.c (grub_file_read): Check offset.
19587 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19588 * fs/jfs.c (grub_jfs_read_file): Likewise.
19589 * fs/ntfs.c (grub_ntfs_read): Likewise.
19590 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19591 * fs/minix.c (grub_minix_read_file): Correct offset check.
19592 * fs/ufs.c (grub_ufs_read_file): Likewise.
19593
b4f34077 195942009-08-28 Colin Watson <cjwatson@ubuntu.com>
19595
19596 * term/i386/pc/console.c (bios_data_area): Cast
19597 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19598
e7c69859 195992009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 1-bit optimised blitters.
19602
19603 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19604 prototype.
19605 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19606 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19607 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19608 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19609 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19610 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19611 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19612 function.
19613 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19614 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19615 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19616 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19617 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19618 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19619 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19620 when possible.
19621 * video/video.c (grub_video_get_blit_format): Return
19622 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19623
a57da43f 196242009-08-28 Colin Watson <cjwatson@ubuntu.com>
19625
19626 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19627 the first argument to grub_printf.
19628
4cbe67e5 196292009-08-28 Colin Watson <cjwatson@ubuntu.com>
196302009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19631
19632 Add `getkeystatus' terminal method. Add a new `keystatus' command
19633 to query it.
19634
19635 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19636 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19637 modifier key bitmasks.
19638 (struct grub_term_input): Add `getkeystatus' member.
19639 (grub_getkeystatus): Add prototype.
19640 * kern/term.c (grub_getkeystatus): New function.
19641
19642 * include/grub/i386/pc/memory.h
19643 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19644 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19645 Data Area layout.
19646 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19647 (grub_console_term_input): Set `getkeystatus' member.
19648 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19649 constants.
19650 (grub_usb_keyboard_getreport): Likewise.
19651 (grub_usb_keyboard_checkkey): Likewise.
19652 (grub_usb_keyboard_getkeystatus): New function.
19653 (grub_usb_keyboard_term): Set `getkeystatus' member.
19654
19655 * commands/keystatus.c: New file.
19656 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19657 (keystatus_mod_SOURCES): New variable.
19658 (keystatus_mod_CFLAGS): Likewise.
19659 (keystatus_mod_LDFLAGS): Likewise.
19660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19661 commands/keystatus.c.
19662 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19663 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19664 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19666 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19667 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 19668
6e2a9085 196692009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19670
19671 Split befs.mod and afs.mod into *_be.mod and *.mod
19672
19673 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19674 (grub_fstest_SOURCES): Likewise.
19675 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19676 (afs_be_mod_SOURCES): New variable.
19677 (afs_be_mod_CFLAGS): Likewise.
19678 (afs_be_mod_LDFLAGS): Likewise.
19679 (befs_be_mod_SOURCES): Likewise.
19680 (befs_be_mod_CFLAGS): Likewise.
19681 (befs_be_mod_LDFLAGS): Likewise.
19682 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19683 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19684 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19685 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19686 (grub_emu_SOURCES): Likewise.
19687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19689 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19690 * fs/afs_be.c: New file.
19691 * fs/befs_be.c: New file.
19692 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19693 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19694 (U16): Replaced with ...
19695 (grub_afs_to_cpu16): ...this. All users updated.
19696 (U32): Replaced with ...
19697 (grub_afs_to_cpu32): ...this. All users updated.
19698 (U64): Replaced with ...
19699 (grub_afs_to_cpu64): ...this. All users updated.
19700 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19701 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 19702 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 19703 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19704 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19705 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19706 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19707 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19708 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19709 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19710 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19711
32a71655 197122009-08-26 Bean <bean123ch@gmail.com>
19713
19714 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19715 64-bit number.
19716 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19717 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19718 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19719
552bf6c5 197202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19721
19722 NetBSD memory map support.
19723
19724 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19725 (grub_netbsd_btinfo_mmap_header): New structure.
19726 (grub_netbsd_btinfo_mmap_entry): Likewise.
19727 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19728
1ae2078c 197292009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19730
19731 Enable bsd.mod on coreboot.
19732
19733 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19734 (bsd_mod_SOURCES): New variable.
19735 (bsd_mod_CFLAGS): Likewise.
19736 (bsd_mod_LDFLAGS): Likewise.
19737 (bsd_mod_ASFLAGS): Likewise.
19738 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19739 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19740
beefc598 197412009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19742
19743 Cleanup NetBSD root support.
19744
19745 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19746 grub_bsd_get_device.
19747 Fix typo.
19748
3b76e68b 197492009-08-25 Felix Zielcke <fzielcke@z-51.de>
19750
19751 * util/grub.d/00_header.in: Move check for the video backend of
19752 gfxterm from here ...
19753 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19754 a suitable video backend.
19755
aea664ea 197562009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19757
19758 Fix breakage in grub-setup.
19759
19760 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19761 "msdos_partition_map".
19762
ff747d50 197632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19764
19765 Fix breakage in normal/auth.c.
19766
19767 * normal/auth.c (grub_iswordseparator): New function.
19768
e7e1f93f 197692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19770
19771 Authentication support.
19772
19773 * commands/password.c: New file.
19774 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19775 (password_mod_SOURCES): New variable.
19776 (password_mod_CFLAGS): Likewise.
19777 (password_mod_LDFLAGS): Likewise.
19778 (normal_mod_SOURCES): Add normal/auth.c.
19779 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19780 normal/auth.c.
19781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19782 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19783 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19785 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19786 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19787 * include/grub/auth.h: New file.
19788 * include/grub/err.h (grub_err_t): New enum value
19789 GRUB_ERR_ACCESS_DENIED.
19790 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19791 'users'.
19792 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19793 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19794 users updated.
19795 * normal/auth.c: New file.
19796 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19797 (grub_cmdline_run): Don't allow to go to command line without
19798 authentication.
19799 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19800 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19801 menuentry without superuser rights.
19802 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19803 user isn't a superuser.
19804
70f1161d 198052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19806
19807 Save space by inlining misc.c functions.
19808
19809 * kern/misc.c (grub_iswordseparator): Made static.
19810 * kern/misc.c (grub_strcat): Moved from here ...
19811 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19812 * kern/misc.c (grub_strncat): Moved from here ...
19813 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19814 * kern/misc.c (grub_strcasecmp): Moved from here ...
19815 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19816 * kern/misc.c (grub_strncasecmp): Moved from here ...
19817 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19818 * kern/misc.c (grub_isalpha): Moved from here ...
19819 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19820 * kern/misc.c (grub_isdigit): Moved from here ...
19821 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19822 * kern/misc.c (grub_isgraph): Moved from here ...
19823 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19824 * kern/misc.c (grub_tolower): Moved from here ...
19825 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19826
48e40bff 198272009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * script/sh/function.c (grub_script_function_find): Cut error message
19830 not to flood terminal.
19831 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19832 limit.
19833 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19834
c385bfc3 198352009-08-24 Colin Watson <cjwatson@ubuntu.com>
19836
19837 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19838 `report' grub_uint8_t *.
19839 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19840 Use a 50-millisecond timeout rather than just repeating
19841 grub_usb_keyboard_getreport 50 times.
19842 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19843
2d21e3e8 198442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19845
19846 Rename *_partition_map to part_*
19847
19848 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19849 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19850 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19851 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19852 All users updated.
19853 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19854 All users updated.
19855 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19856 * util/grub-probe.c (probe_partmap): Don't transform partition name
19857 to get module name.
19858
dd103c4e 198592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19860
19861 Fix OpenBSD and NetBSD support.
19862
19863 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19864 memory address conflict.
19865 (OPENBSD_MMAP_ACPI): New definition.
19866 (OPENBSD_MMAP_NVS): Likewise.
19867 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19868 and OPENBSD_MMAP_NVS.
19869 Add memory map terminator
19870 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 19871 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 19872
16c84d74 198732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 Let user specify NetBSD root device.
19876
19877 * loader/i386/bsd.c (netbsd_root): New variable.
19878 (netbsd_opts): New option 'root'.
19879 (NETBSD_ROOT_ARG): New macro.
19880 (grub_netbsd_boot): Use 'netbsd_root'.
19881 (grub_bsd_unload): Free 'netbsd_root'.
19882 (grub_cmd_netbsd): Fill 'netbsd_root'.
19883
adb29902 198842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 Support for 64-bit NetBSD.
19887
19888 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19889 point when booting non-FreeBSD.
19890
f5ae9f74 198912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 Support --no-smp and --no-acpi for NetBSD.
19894
19895 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19896 (NETBSD_AB_NOACPI): Likewise.
19897 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19898 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19899
de74f136 199002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19901
19902 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19903 errors.
19904 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19905 errors. Call grub_error when needed.
19906
e9a925da 199072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19908
19909 * commands/search.c (search_fs): Try searching without autoload first.
19910 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19911 filesystem module explicitly for faster booting.
19912
5174302b 199132009-08-23 Colin Watson <cjwatson@ubuntu.com>
19914
19915 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19916
c8c80635 199172009-08-23 Colin Watson <cjwatson@ubuntu.com>
19918
19919 * util/grub.d/30_os-prober.in: Disable os-prober if
19920 `GRUB_DISABLE_OS_PROBER' was set to true.
19921
71acf5e5 199222009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19923
19924 * partmap/pc.c: Rename to ...
19925 * partmap/msdos.c: ... this. Update all users.
19926 (grub_pc_partition_map): Rename to ...
19927 (grub_msdos_partition_map): ... this. Update all users.
19928
19929 * parttool/pcpart.c: Rename to ...
19930 * parttool/msdospart.c: ... this. Update all users.
19931
19932 * include/grub/pc_partition.h: Rename to ...
19933 * include/grub/msdos_partition.h: ... this. Update all users.
19934 (grub_pc_partition_bsd_entry): Rename to ...
19935 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19936 (grub_pc_partition_disk_label): Rename to ...
19937 (grub_msdos_partition_disk_label): ... this. Update all users.
19938 (grub_pc_partition_entry): Rename to ...
19939 (grub_msdos_partition_entry): ... this. Update all users.
19940 (grub_pc_partition_mbr): Rename to ...
19941 (grub_msdos_partition_mbr): ... this. Update all users.
19942 (grub_pc_partition): Rename to ...
19943 (grub_msdos_partition): ... this. Update all users.
19944 (grub_pc_partition_is_empty): Rename to ...
19945 (grub_msdos_partition_is_empty): ... this. Update all users.
19946 (grub_pc_partition_is_extended): Rename to ...
19947 (grub_msdos_partition_is_extended): ... this. Update all users.
19948 (grub_pc_partition_is_bsd): Rename to ...
19949 (grub_msdos_partition_is_bsd): ... this. Update all users.
19950
19951 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19952 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19953 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19954 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19955 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19956 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19957 (gpt_mod_LDFLAGS): Rename to ...
19958 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19959 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19960 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19961 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19962 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19963 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19964 (part_gpt_mod_LDFLAGS): ... this.
19965 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19966 `pcpart.mod' to `msdospart.mod'.
19967 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19968 to ...
19969 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19970 (msdospart_mod_LDFLAGS): ... this.
19971
c11fded5 199722009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19975 (openbsd_opts): Likewise.
19976 (netbsd_opts): Likewise.
19977 (freebsd_flags): Added 0 terminator.
19978 (openbsd_flags): Likewise.
19979 (netbsd_flags): Likewise.
19980 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19981 (grub_cmd_freebsd): Transformed into extended command.
19982 (grub_cmd_openbsd): Likewise.
19983 (grub_cmd_netbsd): Likewise.
19984 (cmd_freebsd): Changed type to grub_extcmd_t.
19985 (cmd_openbsd): Likewise.
19986 (cmd_netbsd): Likewise.
19987 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19988 grub_cmd_openbsd as extended commands.
19989 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19990 cmd_netbsd and cmd_openbsd
19991
11d1c769 199922009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19993
19994 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19995
7a9094e5 199962009-08-21 Pavel Roskin <proski@gnu.org>
19997
5496c37e 19998 * Makefile.in (install-local): When checking if a file is in the
19999 build directory, use "test -e" to detect symlinks.
20000
7a9094e5 20001 * Makefile.in (install-local): Remove all files in
20002 $(DESTDIR)$(pkglibdir) before installing new files there.
20003
e53cea11 200042009-08-18 Felix Zielcke <fzielcke@z-51.de>
20005
20006 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
20007 grub-mkelfimage.
20008
9aced544 200092009-08-18 Felix Zielcke <fzielcke@z-51.de>
20010
20011 * util/grub-mkconfig.in: Don't use gfxterm by default if not
20012 explicitly specified by the user.
20013
b7da6bab 200142009-08-18 Pavel Roskin <proski@gnu.org>
20015
20016 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
20017 grub_uint8_t pointer for data.
20018 * include/grub/fbutil.h (struct grub_video_fbblit_info):
20019 Likewise.
20020 * video/fb/fbutil.c: Remove unnecessary casts.
20021
19f1b335 200222009-08-17 Michal Suchanek <hramrach@centrum.cz>
20023
20024 VBE cleanup.
20025
20026 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
20027 (grub_vbe_set_video_mode): Save active mode info
20028 only after setting the mode.
20029 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
20030 second argument.
20031
2f467aa9 200322009-08-17 Michal Suchanek <hramrach@centrum.cz>
20033
20034 Rename variables for clarity.
20035
20036 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
20037 (active_vbe_mode_info): ... this. All users updated.
20038 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
20039 All users updated.
20040 (initial_mode): Rename to ...
20041 (initial_vbe_mode): ... this. All users updated.
20042 (mode_in_use): Rename to ..
20043 (vbe_mode_in_use): ... this. All users updated.
20044 (mode_list): Rename to ..
20045 (vbe_mode_list): ... this. All users updated.
20046 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
20047 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
20048 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
20049 'mode_list_size' to 'vbe_mode_list_size'.
20050 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
20051 'best_mode_info' to 'best_vbe_mode_info' and
20052 'best_mode' to 'best_vbe_mode'
20053
6025fcd7 200542009-08-17 Michal Suchanek <hramrach@centrum.cz>
20055
20056 Remove duplicate grub_video_fb_get_video_ptr.
20057
20058 * include/grub/fbutil.h (get_data_ptr): Rename to ...
20059 (grub_video_fb_get_video_ptr): ... this.
20060 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
20061 * video/fb/fbutil.c: Add comment about addressing.
20062 (get_data_ptr): Rename to ...
20063 (grub_video_fb_get_video_ptr): ... this. All users updated.
20064 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
20065
cc8c6faf 200662009-08-17 Robert Millan <rmh.grub@aybabtu.com>
20067
20068 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
20069 grub_dprintf() that was just added.
20070
08aa61f0 200712009-08-17 Robert Millan <rmh.grub@aybabtu.com>
20072
20073 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
20074 (DEFAULT_VIDEO_MODE): Remove macros.
20075 (grub_linux_boot): Remove assumption that Linux has FB support,
20076 and use "text" as default video mode.
20077
7cef4f75 200782009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
20079
20080 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
20081 grub_dprintf.
20082 * fs/fat.c (grub_fat_read_data): Likewise.
20083
e1f39873 200842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20085
20086 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
20087 payload.
20088 (grub_module): Likewise.
20089
c166d79e 200902009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20091
20092 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
20093 mbi->cmdline but free playground.
20094
c60cee8e 200952009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20096
20097 Handle group offset on UFS1.
20098
20099 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
20100 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
20101
c0d8b5d4 201022009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20103
20104 Split ufs.mod into ufs1.mod and ufs2.mod.
20105
20106 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
20107 (grub_fstest_SOURCES): Likewise.
20108 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
20109 (ufs_mod_SOURCES): Remove.
20110 (ufs_mod_CFLAGS): Likewise.
20111 (ufs_mod_LDFLAGS): Likewise.
20112 (ufs1_mod_SOURCES): New variable.
20113 (ufs1_mod_CFLAGS): Likewise.
20114 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 20115 (ufs2_mod_SOURCES): New variable.
20116 (ufs2_mod_CFLAGS): Likewise.
20117 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 20118 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
20119 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20120 Likewise.
20121 (grub_emu_SOURCES): Likewise.
20122 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20123 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20124 (grub_setup_SOURCES): Likewise.
20125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20126 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
20127 (grub_setup_SOURCES): Likewise.
20128 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
20129 Likewise.
20130 * fs/ufs2.c: New file.
20131 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
20132
d3539132 201332009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 Framebuffer split.
20136
20137 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
20138 subsystem at the end.
20139 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
20140 (video_fb_mod_SOURCES): New variable.
20141 (video_fb_mod_CFLAGS): Likewise.
20142 (video_fb_mod_LDFLAGS): Likewise.
20143 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
20144 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
20145 * video/i386/pc/vbeblit.c: Moved from here ...
20146 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
20147 * video/i386/pc/vbefill.c: Moved from here ...
20148 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
20149 * video/i386/pc/vbeutil.c: Moved from here ...
20150 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
20151 * include/grub/i386/pc/vbeblit.h: Moved from here ...
20152 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
20153 * include/grub/i386/pc/vbefill.h: Moved from here ...
20154 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
20155 * include/grub/i386/pc/vbeutil.h: Moved from here ...
20156 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
20157 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
20158 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
20159 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
20160 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
20161 (grub_video_adapter): Added 'get_info_and_fini'.
20162 (grub_video_get_info_and_fini): New prototype.
20163 (grub_video_set_mode): make modestring const char *.
20164 * loader/i386/linux.c (grub_linux_setup_video): Use
20165 grub_video_get_info_and_fini.
20166 (grub_linux_boot): Move modesetting just before booting.
20167 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
20168 grub_video_get_info_and_fini.
20169 * video/i386/pc/vbe.c: Moved framebuffer part ...
20170 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
20171 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
20172 grub_video_fbstd_colors and grub_video_fb_set_palette.
20173 (grub_video_vbe_init): Clear 'framebuffer' variable and use
20174 grub_video_fb_init.
20175 (grub_video_vbe_fini): Use grub_video_fb_fini.
20176 (grub_video_vbe_setup): Use framebuffer.render_target instead of
20177 render_target and use grub_video_fb_set_active_render_target and
20178 grub_video_fb_set_palette.
20179 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
20180 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
20181 (grub_video_vbe_adapter): Use framebuffer.
20182 * video/video.c (grub_video_get_info_and_fini): New function.
20183 (grub_video_set_mode): Make modestring const char *.
20184 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
20185 values are already initialised.
20186
d404ee56 201872009-08-14 Pavel Roskin <proski@gnu.org>
20188
20189 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
20190 ABS and APPLE_CC.
20191 * boot/i386/pc/diskboot.S: Likewise.
20192 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
20193 sectors allow compilation on MacOSX.
20194 * conf/i386-pc.rmk: Enable unconditional compilation of
20195 lnxboot.img.
20196
9a10df16 201972009-08-13 Colin Watson <cjwatson@ubuntu.com>
20198
20199 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
20200 * util/grub.d/00_header.in: Enter interruptible sleep if
20201 GRUB_HIDDEN_TIMEOUT is set.
20202
be3c9ca7 202032009-08-13 Yves Blusseau <blusseau@zetam.org>
20204
20205 * include/grub/symbol.h: Add the LOCAL macro.
20206 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
20207 starting with "L_".
20208
1f9e557e 202092009-08-13 Pavel Roskin <proski@gnu.org>
20210
9ca62843 20211 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
20212 any modern compilers we support.
20213
1f9e557e 20214 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
20215 Use local labels starting with "L_" so that Apple assembler
20216 knows they are local.
20217
81623db6 202182009-08-10 Robert Millan <rmh.grub@aybabtu.com>
20219
20220 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
20221 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
20222 (bsd_kernel_types): ... this enum.
20223
20224 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
20225 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
20226 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
20227
20228 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
20229 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
20230 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
20231 messages.
20232
f5d35e7a 202332009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20234
20235 * util/grub-dumpdevtree: Moved from here ...
20236 * util/i386/efi/grub-dumpdevtree: ... to here.
20237 (hexify): New function. Converts a string to its hex version.
20238 Generate hex versions of "efi" and "device-properties" by calling
20239 hexify() on the ASCII strings rather than by hardcoding numbers.
20240
d1e1d527 202412009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20242
20243 * fs/jfs.c: Update copyright year.
20244
1ebbe064 202452009-08-08 Felix Zielcke <fzielcke@z-51.de>
20246
20247 * util/grub.d/00_header.in: Fix a comment.
20248 * util/grub.d/10_linux.in: Likewise.
20249 * util/grub.d/10_windows.in: Likewise.
20250 * util/grub.d/10_hurd.in: Likewise.
20251
a78c8d24 202522009-08-08 Felix Zielcke <fzielcke@z-51.de>
20253
20254 * util/grub-mkconfig.in: Allow the user to specify the used font
20255 with GRUB_FONT.
20256
29a6b9e8 202572009-08-08 Pavel Roskin <proski@gnu.org>
20258
b5f16cc4 20259 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
20260 available, xfs.mod needs it now.
20261
2f5cb827 20262 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
20263 the "g" modifier in sed when the intention is to strip something
20264 once. This fixes comparison of kernels with multiple dashes.
20265
29a6b9e8 20266 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
20267 on it. Add missing space before closing bracket. Fix
20268 misleading formatting.
20269
892a3d98 202702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20271
20272 * docs/grub.texi: Major overhaul. Remove all sections that are
20273 specific to GRUB Legacy, or mostly composed of Legacy-specific
20274 information.
20275
ed94253f 202762009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20277
20278 * docs/version.texi: New file. Provides version information for
20279 grub.texi.
20280
126d6628 202812009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20282
20283 * docs/grub.texi: Update CVS information to SVN.
20284 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
20285
998b5aa9 202862009-08-07 Felix Zielcke <fzielcke@z-51.de>
20287
20288 * util/grub-mkconfig.in: Remove a wrong `fi'.
20289
818e094a 202902009-08-07 Felix Zielcke <fzielcke@z-51.de>
20291
20292 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
20293 (grub_jfs_uuid): New function.
20294 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
20295
b969c52f 202962009-08-07 Felix Zielcke <fzielcke@z-51.de>
20297
20298 * util/grub-mkconfig_lib.in (font_path): Move the functionality
20299 of it to ...
20300 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
20301 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
20302
7a4894cc 203032009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20304
20305 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
20306 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
20307 Update all users.
20308
20309 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
20310 not just "vmlinu[zx]".
20311 Moved from here ...
20312 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
20313 all users.
20314
20315 * util/grub.d/10_linux.in (find_latest): Moved from here ...
20316 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
20317 all users.
20318
4e2171f8 203192009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20320
20321 * util/grub.d/10_freebsd.in: Use an absolute device path for
20322 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
20323
6dcfcb32 203242009-08-06 Felix Zielcke <fzielcke@z-51.de>
20325
20326 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
20327 handling of multiple abstraction modules.
20328
f56a8756 203292009-08-04 Robert Millan <rmh.grub@aybabtu.com>
20330
20331 Fix a bug resulting in black screen when loading Linux using a
20332 packed video mode.
20333
20334 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
20335 function.
20336
20337 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
20338 (grub_vbe_bios_getset_dac_palette_width): New function.
20339 (grub_vbe_bios_get_dac_palette_width)
20340 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
20341 grub_vbe_bios_getset_dac_palette_width()).
20342
20343 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
20344 check for return status.
20345 (grub_vbe_get_video_mode_info): When getting information for a packed
20346 mode (<= 8 bpp), obtain DAC palette width using
20347 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
20348 {red,green,blue}_mark_size.
20349
222671b2 203502009-08-04 Felix Zielcke <fzielcke@z-51.de>
20351
ecb1a6d9 20352 * commands/search.c (options): Fix help output to match actual code.
222671b2 20353
f84114f5 203542009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
20355
20356 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
20357 of homegrown code.
20358
bd288a20 203592009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 20360
20361 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
20362 on XFS or ReiserFS.
20363
8aab5e25 203642009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20365
20366 Support Apple partition map with sector size different from 512 bytes.
20367
20368 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
20369 (apple_partition_map_iterate): Respect 'aheader.blocksize'
20370 and 'apart.partmap_size'.
20371
6ad6258a 203722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
203732009-08-01 Robert Millan <rmh.grub@aybabtu.com>
20374
20375 Fix cpuid command.
20376
20377 * commands/i386/cpuid.c (options): New variable.
20378 (grub_cmd_cpuid): Return real error.
20379 (GRUB_MOD_INIT(cpuid)): Declare options.
20380
67459bc6 203812009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
20382
20383 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
20384 valid.
20385
fbc6ab54 203862009-07-31 Bean <bean123ch@gmail.com>
20387
20388 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
20389 log2_inode.
20390 (grub_fshelp_node): Move inode field to the end.
20391 (grub_xfs_data): Remove inode field.
20392 (grub_xfs_inode_block): Calculate inode size using sblock.
20393 (grub_xfs_inode_offset): Likewise.
20394 (grub_xfs_read_inode): Calculate inode size using sblock.
20395 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
20396 (grub_xfs_iterate_dir): Calculate inode size using sblock.
20397 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
20398 to match inode size.
20399 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
20400 not accessible when data is null.
20401 (grub_xfs_open): Likewise.
20402
f45d6cfc 204032009-07-31 Bean <bean123ch@gmail.com>
20404
20405 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
20406 Don't change pv->disk if it's already set.
20407
20408 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
20409 (grub_raid_register): ... here.
20410 (grub_raid_rescan): Removed.
20411
20412 * include/grub/raid.h (grub_raid_rescan): Removed.
20413
20414 * util/grub-fstest.c: Remove include file <grub/raid.h>.
20415 (fstest): Replace grub_raid_rescan with module fini function followed
20416 by init function.
20417
20418 * util/grub-probe.c: Add include file <grub/raid.h>.
20419 (probe_raid_level): New function.
20420 (probe): Detect abstraction by walking the disk device, support two
20421 level of abstraction (LVM on RAID) when detecting partition map.
20422
24443b5a 204232009-07-31 Pavel Roskin <proski@gnu.org>
20424
20425 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
20426 to grub_zalloc(), it was erroneous.
20427 Reported by Bean <bean123ch@gmail.com>
20428
a275d9e7 204292009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 20432 embedding zone, not only the first one.
a275d9e7 20433
56c5a47f 204342009-07-29 Joe Auricchio <jauricchio@gmail.com>
20435
20436 * term/gfxterm.c (clear_char): New function.
20437 (grub_virtual_screen_setup): Use clear_char.
20438 (scroll_up): Likewise.
20439 (grub_virtual_screen_cls): Likewise.
20440
67bb323a 204412009-07-29 Felix Zielcke <fzielcke@z-51.de>
20442
20443 * util/deviceiter.c (get_acceleraid_disk_name): New static
20444 function.
20445 (grub_util_iterate_devices): Handle Accelraid devices.
20446 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
20447
388a7c75 204482009-07-28 Robert Millan <rmh.grub@aybabtu.com>
20449
20450 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
20451 separator for the suggested gfxpayload string (';' collides with the
20452 parser and needs escaping).
20453
3bb7abcf 204542009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
20457 Clear direction flag before jumping to OS.
20458 (grub_multiboot2_real_boot): Likewise.
20459
2ddd36d7 204602009-07-28 Felix Zielcke <fzielcke@z-51.de>
20461
20462 * util/i386/pc/grub-install: Fix parsing of --disk-module
20463 option.
20464
c521b62b 204652009-07-28 Felix Zielcke <fzielcke@z-51.de>
20466
20467 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
20468 when embedding.
20469
880e0a0c 204702009-07-26 Felix Zielcke <fzielcke@z-51.de>
20471
20472 * util/grub-mkconfig.in (package_version): New variable.
20473 Use it do display the version.
20474
2366e356 204752009-07-25 Felix Zielcke <fzielcke@z-51.de>
20476
20477 * kern/file.c (grub_file_open): Revert to previous check with
20478 grub_errno.
20479
7ad8c80e 204802009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20481
20482 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
20483 from help line. It's out of sync with code.
20484
72b9658b 204852009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20486
20487 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
20488 entries on failed boot.
20489
77435277 204902009-07-25 Felix Zielcke <fzielcke@z-51.de>
20491
20492 * kern/file.c (grub_file_open): Fix an error check.
20493
fcaa8b21 204942009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
20495
35d16c74 20496 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
20497 partition map couldn't be identified.
fcaa8b21 20498
48904cd1 204992009-07-23 Pavel Roskin <proski@gnu.org>
20500
ef3c317f 20501 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20502 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20503 case of little endian words becomes just an optimization.
20504 Respect const modifier.
ad8ea1f4 20505 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 20506
48904cd1 20507 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20508 to avoid loss of upper bits if align is unsigned and shorter
20509 than addr.
20510
260c9a89 205112009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20512
20513 UUID support for UFS
20514
20515 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20516 (grub_ufs_uuid): New function.
20517 (grub_ufs_fs): add .uuid
20518
f76ce889 205192009-07-21 Pavel Roskin <proski@gnu.org>
20520
20521 * kern/dl.c (grub_dl_check_header): Make static.
20522
6a6cbcaf 205232009-07-21 Felix Zielcke <fzielcke@z-51.de>
20524
20525 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20526 add drivemap for Vista. It breaks Windows 7.
20527
cffcddb2 205282009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20529
20530 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20531 128 bytes
20532
1ef44b80 205332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 Add BFS support
20536
20537 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20538 (grub_fstest_SOURCES): Likewise.
20539 (pkglib_MODULES): Add befs.mod.
20540 (befs_mod_SOURCES): New variable.
20541 (befs_mod_CFLAGS): Likewise.
20542 (befs_mod_LDFLAGS): Likewise.
20543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20544 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20545 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20546 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20547 (grub_setup_SOURCES): Likewise.
20548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20550 (grub_setup_SOURCES): Likewise.
20551 * fs/befs.c: New file.
20552 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20553 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20554 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20555 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20556 (B_KEY_INDEX_ALIGN): New declaration.
20557 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20558 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20559 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20560 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20561 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20562 (grub_afs_mount) [MODE_BFS]: Likewise.
20563 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20564 (grub_afs_fs): Use GRUB_AFS_FSNAME
20565 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20566 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20567 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20568 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20569
4f253044 205702009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20571
20572 * util/getroot.c (find_root_device): Add support for MacOSX.
20573 * util/hostdisk.c: Likewise.
20574
57a55913 205752009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * font/font.c (find_glyph): Check whether a font is present to avoid
20578 segmentation fault.
75421ca9 20579
205802009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 20581
20582 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20583
e98cd0c2 205842009-07-20 Pavel Roskin <proski@gnu.org>
20585
20586 * configure.ac: Trim excessively wordy excuses.
20587
1d2d169a 205882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20589
20590 Add symlink, mtime and label support to AtheFS.
20591
20592 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20593 (grub_afs_iterate_dir): Handle symlinks.
20594 (grub_afs_open): Use grub_afs_read_symlink.
20595 (grub_afs_dir): Likewise.
20596 Pass mtime.
20597 (grub_afs_label): New function.
20598 (grub_afs_fs): Add grub_afs_label.
20599 (grub_afs_read_symlink): New function.
20600
186f3189 206012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20602
20603 Fix AtheFS support.
20604
20605 * fs/afs.c: Fix comments style.
20606 (grub_afs_blockrun): Declare as packed.
20607 (grub_afs_datastream): Likewise.
20608 (grub_afs_bnode): Likewise.
20609 (grub_afs_btree): Likewise.
20610 (grub_afs_sblock): Likewise.
20611 Declare `name' as char.
20612 (grub_afs_inode): Declare as packed.
20613 Change void *vnode to grub_uint32_t unused.
20614 (grub_afs_iterate_dir): Check that key_size is positive.
20615 (grub_afs_mount): Don't read superblock twice.
75421ca9 20616 (grub_afs_dir): Don't free node in case of error,
186f3189 20617 grub_fshelp_find_file already handles this.
20618 (grub_afs_open): Likewise.
20619
5680109e 206202009-07-19 Pavel Roskin <proski@gnu.org>
20621
20622 * Makefile.in: Remove LIBLZO and enable_lzo.
20623 * conf/i386-pc.rmk: Remove lzo support.
20624 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20625 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20626 support.
20627 * kern/i386/pc/lzo1x.S: Remove.
20628 * kern/i386/pc/startup.S: Remove lzo support.
20629 * util/i386/pc/grub-mkimage.c: Likewise.
20630
ac70fa32 206312009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20632
20633 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20634 * fs/xfs.c (grub_xfs_dir): Likewise.
20635 * fs/afs.c (grub_afs_dir): Likewise.
20636 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20637 (grub_iso9660_open): Likewise.
20638 * fs/jfs.c (grub_jfs_open): Likewise.
20639 * fs/ext2.c (grub_ext2_dir): Likewise.
20640 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20641 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 20642
eab58da2 206432009-07-16 Pavel Roskin <proski@gnu.org>
20644
d2838156 20645 * configure.ac: Never add "-c" to CFLAGS.
20646
55c70904 20647 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20648
43e6200c 20649 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20650 grub_cv_cc_efiemu should be used.
20651
ce7a733d 20652 * configure.ac: Typo fixes.
20653
eab58da2 20654 * kern/mm.c (grub_zalloc): New function.
20655 (grub_debug_zalloc): Likewise.
20656 * include/grub/mm.h: Declare grub_zalloc() and
20657 grub_debug_zalloc().
20658 * util/misc.c (grub_zalloc): New function.
20659 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20660 instead of grub_malloc(), remove unneeded initializations.
20661 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20662 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20663 * commands/parttool.c (grub_cmd_parttool): Likewise.
20664 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20665 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20666 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20667 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20668 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20669 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20670 (grub_cmd_efiemu_pnvram): Likewise.
20671 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20672 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20673 (grub_iso9660_iterate_dir): Likewise.
20674 * fs/jfs.c (grub_jfs_opendir): Likewise.
20675 * fs/ntfs.c (list_file): Likewise.
20676 (grub_ntfs_mount): Likewise.
20677 * kern/disk.c (grub_disk_open): Likewise.
20678 * kern/dl.c (grub_dl_load_core): Likewise.
20679 * kern/elf.c (grub_elf_file): Likewise.
20680 * kern/env.c (grub_env_context_open): Likewise.
20681 (grub_env_set): Likewise.
20682 (grub_env_set_data_slot): Likewise.
20683 * kern/file.c (grub_file_open): Likewise.
20684 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20685 * loader/i386/multiboot.c (grub_module): Likewise.
20686 * loader/xnu.c (grub_xnu_create_key): Likewise.
20687 (grub_xnu_create_value): Likewise.
20688 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20689 (read_config_file): Likewise.
20690 * normal/menu_entry.c (make_screen): Likewise.
20691 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20692 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20693 * script/sh/script.c (grub_script_parse): Likewise.
20694 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20695 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20696 * video/readers/png.c (grub_png_output_byte): Likewise.
20697 (grub_video_reader_png): Likewise.
20698
830afef7 206992009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 20700
20701 Enable all targets that can be built by default
20702
830afef7 20703 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 20704 grub-mkfont and grub-fstest if they can be built
20705
ee293aee 207062009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20707
20708 Fix hang and segmentation fault in grub-emu-usb
20709
20710 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20711 * util/usb.c (grub_libusb_devices): likewise
20712 (grub_libusb_init): rename to ...
20713 (GRUB_MOD_INIT (libusb)):...this
20714 (grub_libusb_fini): rename to ..
20715 (GRUB_MOD_FINI (libusb)):...this
20716 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20717 * include/grub/disk.h (grub_raid_init): removed, it's useless
20718 (grub_raid_fini): likewise
20719 (grub_lvm_init): likewise
20720 (grub_lvm_fini): likewise
20721 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20722 by grub_init_all
20723
94414221 207242009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20725
20726 Fix libusb
20727
20728 * Makefile.in (LIBUSB): new macro
20729 * genmk.rb (Utility/print_tail): new method
20730 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20731 (top level): call util.print_tail at the end.
20732
59ade63d 207332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 Make FreeBSD accept zpool.cache
20736
20737 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20738 type is /boot/zfs/zpool.cache
20739
a58da8c7 207402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20741
20742 Fix 64-bit efiemu
20743
20744 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20745 correct wrong typedef
20746 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20747
20591577 207482009-07-15 Pavel Roskin <proski@gnu.org>
20749
560ca572 20750 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20751 * kern/disk.c (struct grub_disk_cache): Likewise.
20752
e8e8e4fd 20753 * commands/probe.c (options): Typo fix.
20754
fde24e10 20755 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20756 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20757 accordingly.
20758 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20759
379c54c1 20760 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20761 the end of "Error" to make the message more readable.
20762
7bd8f5bf 20763 * boot/i386/pc/boot.S (kernel_segment): Remove.
20764 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20765 for destination.
20766
40b132c5 20767 * boot/i386/pc/boot.S (boot_version): Remove.
20768 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20769 Remove.
20770
20591577 20771 * include/grub/i386/pc/boot.h: Sort all offsets.
20772 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20773 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20774 * boot/i386/pc/boot.S: Assert location of every offset listed in
20775 include/grub/i386/pc/boot.h.
20776
2df32b2c 207772009-07-13 Pavel Roskin <proski@gnu.org>
20778
44b5d879 20779 * include/grub/i386/coreboot/machine.h: Rename
20780 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20781 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20782 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20783
17dc3751 20784 * kern/dl.c: Force native word size to suppress warnings when
20785 compiling grub-emu.
20786
2df32b2c 20787 * kern/device.c (grub_device_iterate): Change struct part_ent to
20788 hold the name, not a pointer to it. Use one grub_malloc() per
20789 partition, not two. Free partition_name if grub_malloc() fails.
20790 Set ents to NULL only before grub_partition_iterate() is called.
20791
75c59f59 207922009-07-11 Bean <bean123ch@gmail.com>
20793
20794 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20795 childname.
20796
0ae1bf88 207972009-07-10 Bean <bean123ch@gmail.com>
207982009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20799
20800 * kern/ieee1275/openfw.c (grub_children_iterate)
20801 (grub_devalias_iterate): Fix size evaluation for property or path
20802 strings, which was broken since r2132.
20803
8279cade 208042009-07-07 Pavel Roskin <proski@gnu.org>
20805
7d8a52d3 20806 * commands/search.c (search_file): Merge into ...
20807 (search_fs): ... this. Accept search type as argument.
20808 (grub_cmd_search): Pass search type to search_fs().
20809
25f9a05a 20810 * include/grub/util/console.h: New file.
20811 * util/console.c: Use it instead of grub/machine/console.h.
20812 * util/grub-emu.c: Likewise.
20813
8279cade 20814 * lib/arg.c (find_long_option): Remove.
20815 (find_long): Add `len' argument, make `s' const char *.
20816 (grub_arg_parse): Parse long options in place, not in a
20817 temporary buffer.
20818
4a11b60f 208192009-07-06 Pavel Roskin <proski@gnu.org>
20820
99f68041 20821 * commands/search.c (search_fs): Fix potential NULL pointer
20822 dereference.
20823
4a11b60f 20824 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20825 function pointer.
20826
e110f4de 208272009-07-06 Daniel Mierswa <impulze@impulze.org>
20828
20829 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20830 comparison.
20831
46eeb6a2 208322009-07-05 Pavel Roskin <proski@gnu.org>
20833
bab74958 20834 * include/grub/i386/linux.h (struct linux_kernel_params):
20835 Restore padding3, it's still needed.
20836
46eeb6a2 20837 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20838 FreeBSD.
20839 * util/osdetect.lua: Likewise.
20840
b4a1dc79 208412009-07-05 Bean <bean123ch@gmail.com>
20842
20843 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20844
20845 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20846 (grub_lua_getenv): Likewise.
20847 (grub_lua_setenv): Likewise.
20848 (save_errno): New function.
20849 (push_result): Likewise.
20850 (grub_lua_enum_device): Likewise.
20851 (grub_lua_enum_file): Likewise.
20852 (grub_lua_file_open): Likewise.
20853 (grub_lua_file_close): Likewise.
20854 (grub_lua_file_seek): Likewise.
20855 (grub_lua_file_read): Likewise.
20856 (grub_lua_file_getline): Likewise.
20857 (grub_lua_file_getsize): Likewise.
20858 (grub_lua_file_getpos): Likewise.
20859 (grub_lua_file_eof): Likewise.
20860 (grub_lua_file_exist): Likewise.
20861 (grub_lua_add_menu): Likewise.
20862
20863 * script/lua/grub_lua.h (isupper): New inline function.
20864 (islower): Likewise.
20865 (ispunct): Likewise.
20866 (isxdigit): Likewise.
20867 (strcspn): Change to normal function.
20868 (strpbkr): New function declaration.
20869 (memchr): Likewise.
20870
20871 * script/lua/grub_main.c (scan_str): New function.
20872 (strcspn): Likewise.
20873 (strpbrk): Likewise.
20874 (memchr): Likewise.
20875
20876 * script/lua/linit.c (lualibs): Enable the string library.
20877
20878 * util/osdetect.lua: New file.
20879
2da92295 208802009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20881
20882 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20883 `capabilities' member.
20884
b2582ec9 208852009-07-02 Pavel Roskin <proski@gnu.org>
20886
20887 * genparttoollist.sh: Add missing newline at the end.
20888
32622956 208892009-07-01 Pavel Roskin <proski@gnu.org>
20890
87a7339e 20891 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20892
d23af54e 20893 * util/hostdisk.c (open_device): Remove `const' from
20894 `sysctl_size', as sysctlbyname() can change it (in this case it
20895 doesn't actually happen).
20896
c94b18a9 20897 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20898 using signed long int constants.
20899
c6cd3ef0 20900 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20901 constant to avoid a warning on FreeBSD.
20902
0df63420 20903 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20904 where it's needed.
20905
999577f1 20906 * Makefile.in: Install include/grub/machine symlink.
20907
6f41557f 20908 * Makefile.in: When installing symlinks, use "cp -fR", which
20909 works on FreeBSD and MacOSX.
20910 From Yves Blusseau <cl7m42e02@sneakemail.com>
20911
c8d22988 20912 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20913 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20914
1b96e952 20915 * util/misc.c: Move grub_reboot() and grub_halt() ...
20916 * util/grub-emu.c: ... here. Make main_env static.
20917 * include/grub/util/misc.h: Remove main_env.
20918
2ef0084d 20919 * kern/mm.c: Use correct format to print size_t.
20920
32622956 20921 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20922 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20923 * kern/powerpc/dl.c: Likewise.
20924 * kern/sparc64/dl.c: Likewise.
20925 * kern/x86_64/dl.c: Likewise.
20926
3f7f0cd0 209272009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20928
20929 Fix grub-emu build on sparc64-ieee1275.
20930
75421ca9 20931 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 20932 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20933
211d06b5 209342009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20935
20936 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20937 (grub_reboot, grub_halt): New functions.
20938
20939 * util/i386/pc/misc.c: Delete. Update all users.
20940 * util/sparc64/ieee1275/misc.c: Likewise.
20941 * util/powerpc/ieee1275/misc.c: Likewise.
20942
aaf53e3c 209432009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20944
20945 * conf/i386.rmk (setjmp_mod_SOURCES)
20946 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20947 * conf/common.rmk (setjmp_mod_SOURCES)
20948 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20949 to use $(target_cpu).
20950 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20951 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20952 * conf/powerpc-ieee1275.rmk: Likewise.
20953 * conf/sparc64-ieee1275.rmk: Likewise.
20954
20955 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20956 $(target_cpu) for kern/$(target_cpu)/dl.c.
20957 * conf/i386-efi.rmk: Likewise.
20958 * conf/i386-ieee1275.rmk: Likewise.
20959 * conf/x86_64-efi.rmk: Likewise.
20960 * conf/i386-coreboot.rmk: Likewise.
20961 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20962 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20963 kern/$(target_cpu)/cache.S.
20964 * conf/sparc64-ieee1275.rmk: Likewise.
20965
a337130b 209662009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20967
20968 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20969 type to `grub_uint8_t', and adjust `padding9' accordingly.
20970
c6fe4d53 209712009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20972
b09db61d 20973 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20974
c6fe4d53 20975 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20976 assembly in final jump, using register constraints.
20977
b09db61d 20978 (grub_linux_boot): For text mode, initialize `have_vga' using
20979 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20980
20981 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20982 right before the final jump.
20983
20984 Set `video_mode' to 0x3.
20985
20986 Document initialization of `video_page', `video_mode' and
20987 `video_ega_bx'.
20988
28333ad0 209892009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20990
20991 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20992 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 20993 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 20994
02164e1b 209952009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20996
20997 Fix build on Debian / sparc.
20998
20999 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
21000
18b6c557 210012009-06-28 Pavel Roskin <proski@gnu.org>
21002
85f2aab6 21003 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
21004 fix a warning.
21005
18b6c557 21006 * util/grub.d/10_linux.in: Match SUSE style initrd names.
21007
ad760f81 210082009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21009
21010 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
21011 `err'.
21012
87a4623b 210132009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21014
21015 Revert r2338.
21016
21017 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
21018 file can't be opened. grub_file_open() is already supposed to set
75421ca9 21019 grub_errno / grub_errmsg appropriately.
87a4623b 21020 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21021
8231fb77 210222009-06-27 Pavel Roskin <proski@gnu.org>
210232009-06-27 Robert Millan <rmh.grub@aybabtu.com>
21024
21025 * include/grub/dl.h: Include grub/elf.h.
21026 (struct grub_dl): Add symtab field.
21027 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
21028 GRUB_MODULES_MACHINE_READONLY.
21029 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
21030 of the header for read-only modules.
21031 (grub_dl_unload): Free mod->symtab for read-only modules.
21032 * kern/i386/dl.c: Use mod->symtab.
21033 * kern/powerpc/dl.c: Likewise.
21034 * kern/sparc64/dl.c: Likewise.
21035 * kern/x86_64/dl.c: Likewise.
21036
21037 * conf/i386-qemu.rmk: New file.
21038 * kern/i386/qemu/startup.S: Likewise.
21039 * kern/i386/qemu/mmap.c: Likewise.
21040 * boot/i386/qemu/boot.S: Likewise.
21041 * include/grub/i386/qemu/time.h: Likewise.
21042 * include/grub/i386/qemu/serial.h: Likewise.
21043 * include/grub/i386/qemu/kernel.h: Likewise.
21044 * include/grub/i386/qemu/console.h: Likewise.
21045 * include/grub/i386/qemu/boot.h: Likewise.
21046 * include/grub/i386/qemu/init.h: Likewise.
21047 * include/grub/i386/qemu/machine.h: Likewise.
21048 * include/grub/i386/qemu/loader.h: Likewise.
21049 * include/grub/i386/qemu/memory.h: Likewise.
21050
21051 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
21052 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
21053 [qemu] (pkglib_IMAGES): Add `boot.img'.
21054 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
21055 [qemu] (boot_img_FORMAT): New variables.
21056 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
21057 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
21058 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
21059 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
21060 [qemu] (kernel_img_FORMAT): New variables.
21061
21062 * configure.ac: Recognise `i386-qemu'.
21063
21064 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
21065 (for no compression).
21066 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
21067 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
21068 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
21069 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
21070 ifdefs).
21071
97fe384e 210722009-06-27 Pavel Roskin <proski@gnu.org>
21073
21074 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
21075 read.
21076 * efiemu/prepare32.c: Likewise.
21077 * efiemu/prepare64.c: Likewise.
21078
c402ab17 210792009-06-26 Pavel Roskin <proski@gnu.org>
21080
21081 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
21082 * include/grub/elf.h: Define symbols without "32" or "64" based
21083 on GRUB_TARGET_WORDSIZE.
21084 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
21085 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
21086 ELF definitions.
21087 * efiemu/loadcore64.c: Likewise.
21088 * loader/i386/bsd32.c: Likewise.
21089 * loader/i386/bsd64.c: Likewise.
21090 * kern/dl.c: Remove own ELF definitions.
21091 * util/i386/efi/grub-mkimage.c: Likewise.
21092
9bbdfd4d 210932009-06-23 Robert Millan <rmh.grub@aybabtu.com>
21094
21095 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
21096 segment 0x0 unconditionally, because the reference generated by
21097 GAS is an absolute address.
21098
a42ce6e9 210992009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21100
21101 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
21102 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
21103
c952cf92 211042009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21105
21106 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
21107 indexes. Check for -f explicitly.
cc3752ad 21108 (search_file): Improve error message.
21109 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 21110
132a0a59 211112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21112
21113 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
21114 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
21115
387a140c 211162009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21117
21118 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
21119 * conf/i386-ieee1275.rmk: Likewise.
21120 * conf/i386-coreboot.rmk: Likewise.
21121
21122 * kern/i386/pc/startup.S (grub_stop): Remove function.
21123 * kern/i386/ieee1275/startup.S: Likewise.
21124 * kern/i386/coreboot/startup.S: Likewise.
21125 * kern/i386/misc.S (grub_stop): New function.
21126
41da9665 211272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21128
21129 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
21130 * kern/i386/realmode.S (real_to_prot): ... to here.
21131
bf337234 211322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
21133
21134 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
21135 with `kernel.img'.
21136 (kernel_elf_SOURCES): Rename to ...
21137 (kernel_img_SOURCES): ... this.
21138 (kernel_elf_HEADERS): Rename to ...
21139 (kernel_img_HEADERS): ... this. Update all users.
21140 (kernel_elf_ASFLAGS): Rename to ...
21141 (kernel_img_ASFLAGS): ... this.
21142 (kernel_elf_CFLAGS): Rename to ...
21143 (kernel_img_CFLAGS): ... this.
21144 (kernel_elf_LDFLAGS): Rename to ...
21145 (kernel_img_LDFLAGS): ... this.
21146 * conf/i386-coreboot.rmk: Likewise.
21147 * conf/powerpc-ieee1275.rmk: Likewise.
21148
21149 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
21150 with "kernel.img".
21151
f52196ff 211522009-06-21 Pavel Roskin <proski@gnu.org>
21153
c3cee413 21154 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
21155 to match nested functions.
21156 * loader/sparc64/ieee1275/linux.c: Likewise.
21157
f52196ff 21158 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
21159
58750afc 211602009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21161
21162 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
21163 all i386 platforms.
21164
15355c7d 211652009-06-21 Robert Millan <rmh.grub@aybabtu.com>
21166
21167 Fix asm file handling on ELF, and remove workarounds.
21168
21169 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 21170 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 21171 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
21172 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
21173
3f3ec72b 211742009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
21175
21176 Load BSD ELF modules
21177
21178 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
21179 and loader/i386/bsd64.c
21180 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
21181 (FREEBSD_MODTYPE_ELF_MODULE): New definition
21182 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
21183 (grub_freebsd_load_elfmodule32): New declaration
21184 (grub_freebsd_load_elfmoduleobj64): Likewise
21185 (grub_freebsd_load_elf_meta32): Likewise
21186 (grub_freebsd_load_elf_meta64): Likewise
21187 (grub_freebsd_add_meta): Likewise
21188 (grub_freebsd_add_meta_module): Likewise
21189 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
21190 (grub_freebsd_add_meta_module): Likewise and move module-specific
21191 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
21192 (grub_cmd_freebsd): Add elf-kernel specific parts
21193 based on grub_freebsd_add_meta_module
21194 (grub_cmd_freebsd_module): Add type parsing moved from
21195 grub_freebsd_add_meta_module
21196 (grub_cmd_freebsd_module_elf): New function
21197 (cmd_freebsd_module_elf): New variable
21198 (GRUB_MOD_INIT): Register freebsd_module_elf
21199 * loader/i386/bsd32.c: New file
21200 * loader/i386/bsd64.c: Likewise
21201 * loader/i386/bsdXX.c: Likewise
21202 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
21203 (grub_elf64_load): Likewise
21204 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
21205 All users updated
21206 (grub_elf64_load_hook_t): Likewise
21207
0db15301 212082009-06-21 Colin Watson <cjwatson@ubuntu.com>
21209
21210 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
21211 variable.
21212 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
21213 don't write a menu entry for recovery mode.
21214
546796c1 212152009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21216
21217 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
21218 after it's no longer needed.
21219
cd7310d5 212202009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21221
21222 * include/grub/i386/loader.h (grub_linux_prot_size)
21223 (grub_linux_tmp_addr, grub_linux_real_addr)
21224 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
21225 GRUB_MACHINE_PCBIOS.
21226 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
21227 common grub_util_info() call to ...
21228 (generate_image): ... here.
21229 Fix use of uninitialized memory, comparison of signed with
21230 unsigned integers and memory leak.
21231 Remove bogus module address message.
21232
ab32d3b5 212332009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21234
21235 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
21236 grub_raid_register
21237 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
21238
024ef597 212392009-06-19 Pavel Roskin <proski@gnu.org>
21240
21241 * configure.ac: Remove stray AC_MSG_CHECKING.
21242
3ac72b51 212432009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
21244
21245 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 21246
e14cd814 212472009-06-18 Pavel Roskin <proski@gnu.org>
21248
21249 * conf/common.rmk: Add fs_file.mod.
21250 * disk/fs_file.c: New file.
21251 * include/grub/disk.h (enum grub_disk_dev_id): Add
21252 GRUB_DISK_DEVICE_FILE_ID.
21253
26586d98 212542009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 Fix build with Apple's toolchain. Part 2
21257
21258 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
21259 a fake start
21260
26de2bcd 212612009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21262
21263 Fix build with Apple's toolchain. Part 1
21264
21265 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
21266 for long calls
21267 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 21268 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 21269 Apple's toolchain
21270
09b3490b 212712009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21272
21273 Fix warnings
21274
21275 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
21276 (decomp_block): initialize ch
21277 use grub_memcpy instead of memcpy
21278
c22a006a 212792009-06-17 Pavel Roskin <proski@gnu.org>
21280
d3638678 21281 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
21282 version, use declarations needed to use vga_text as the startup
21283 console.
21284
c22a006a 21285 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
21286 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
21287 the kernel.
21288 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
21289 and grub_at_keyboard_fini(), it's done on module load and
21290 unload.
21291
05b129e0 212922009-06-17 Felix Zielcke <fzielcke@z-51.de>
21293
21294 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
21295 file can't be found.
21296 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21297
cf24ed9e 212982009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21299
21300 Fix newline handling
21301
21302 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 21303 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 21304 (grub_script_yylex): don't segfault on unterminated script
21305 newline terminates command and variable
21306
74aa8e4b 213072009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 avoid double grub_adjust_range call. Bug reported by David Simner
21310
21311 * kern/disk.c (grub_disk_write): change to raw disk access before
21312 calling disk_read
21313
1bd265f3 213142009-06-17 Colin Watson <cjwatson@ubuntu.com>
21315
21316 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
21317 spaces, for the benefit of help2man.
21318 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21319
a2d08c06 213202009-06-16 Pavel Roskin <proski@gnu.org>
21321
21322 * kern/i386/halt.c: Include grub/machine/init.h.
21323 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
21324
b97bcb19 213252009-06-16 Felix Zielcke <fzielcke@z-51.de>
21326
21327 * util/grub.d/30_os-prober.in: Use ${root} in the generated
21328 drivemap menuentry.
21329
0644f96c 213302009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
21331
21332 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
21333 `echo' command.
21334
3ef17a2e 213352009-06-16 Pavel Roskin <proski@gnu.org>
21336
21337 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
21338 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
21339 save %dx, we only need %dl and we never change it.
21340 * boot/i386/pc/cdboot.S: Don't set the root drive.
21341 * boot/i386/pc/pxeboot.S: Likewise.
21342 * include/grub/i386/pc/boot.h: Remove
21343 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
21344 GRUB_BOOT_MACHINE_DRIVE_CHECK.
21345 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
21346 * kern/i386/pc/init.c (make_install_device): Remove references
21347 to grub_root_drive.
21348 * kern/i386/pc/startup.S: Likewise.
21349 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
21350
693fe637 213512009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21352
21353 xnu_uuid command
21354
21355 * commands/xnu_uuid.c: new file
21356 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
21357 (xnu_uuid_mod_SOURCES): new variable
21358 (xnu_uuid_mod_CFLAGS): likewise
21359 (xnu_uuid_mod_LDFLAGS): likewise
21360 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21361 * conf/i386-ieee1275.rmk: likewise
21362 * conf/i386-pc.rmk: likewise
21363 * conf/powerpc-ieee1275.rmk: likewise
21364 * conf/sparc64-ieee1275.rmk: likewise
21365 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
21366
c9da87d0 213672009-06-16 Pavel Roskin <proski@gnu.org>
21368
21369 * configure.ac: Avoid '==' in test command, it's not portable.
21370
9c6f4596 213712009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21372
21373 Probe command
21374
21375 * commands/probe.c: new file
21376 * conf/common.rmk (pkglib_MODULES): add probe.mod
21377 (probe_mod_SOURCES): new variable
21378 (probe_mod_CFLAGS): likewise
21379 (probe_mod_LDFLAGS): likewise
21380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21381 * conf/i386-ieee1275.rmk: likewise
21382 * conf/i386-pc.rmk: likewise
21383 * conf/powerpc-ieee1275.rmk: likewise
21384 * conf/sparc64-ieee1275.rmk: likewise
21385
70b7f9fd 213862009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
21387
21388 Fix handling of string like \"hello\" and "a
21389 b"
21390
21391 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
21392 (grub_script_yylex): fix parsing of quoting, escaping and newline
21393
71c79a6b 213942009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
21395
dd74360c 21396 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 21397 handling
dd74360c 21398
0644f96c 213992009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 21400
21401 * util/grub-mkconfig.in: Fix parsing of --output option.
21402
e40893c3 214032009-06-12 Pavel Roskin <proski@gnu.org>
21404
21405 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
21406 genmk.rb don't need to be generated or installed.
21407
3a1acfe2 214082009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21409
21410 * commands/i386/pc/drivemap_int13h.S: add more comments
21411
3a4575d4 214122009-06-11 Pavel Roskin <proski@gnu.org>
21413
0658e928 21414 * Makefile.in (uninstall): Uninstall manuals.
21415
ca0388f0 21416 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
21417 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
21418 and update-grub_lib in two places.
21419 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
21420
e3b27c39 21421 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
21422 a compiler warning.
21423
3a4575d4 21424 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
21425 `entry_lo' to fix variable shadowing.
21426
af1f4f55 214272009-06-11 Christian Franke <franke@computer.org>
21428
21429 * kern/misc.c (__enable_execute_stack): Add missing return type
21430 to prevent gcc warning.
21431
5225e649 214322009-06-11 Felix Zielcke <fzielcke@z-51.de>
21433
21434 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
21435
7d83bd47 214362009-06-11 Pavel Roskin <proski@gnu.org>
21437
c1cb63ba 21438 * Makefile.in: Don't rely on any scripts being executable.
21439 Always use $(SHELL) to run shell scripts.
21440
7d83bd47 21441 * configure.ac: Always define ___main if using -nostdlib. This
21442 fixes tests on Cygwin.
21443
948f48e7 214442009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
21445
21446 UDF fix
21447
7d83bd47 21448 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 21449 is in bytes and not in blocks
7d83bd47 21450
8ada9bc1 214512009-06-11 Pavel Roskin <proski@gnu.org>
21452
21453 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
21454 warning.
21455
25ad2323 214562009-06-11 Felix Zielcke <fzielcke@z-51.de>
21457
21458 * util/grub.d/30_os-prober.in: Fix a comment. Source
21459 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
21460 to set the root device. Place drivemap command in the generated
21461 chain entry.
21462
e65acb0c 214632009-06-11 Pavel Roskin <proski@gnu.org>
21464
21465 * configure.ac: Remove host_m32. Issues with 64-bit utilities
21466 have long been resolved.
21467
f285fe2d 214682009-06-11 Colin Watson <cjwatson@ubuntu.com>
21469
bd47b0b5 21470 * util/grub.d/10_linux.in: Capitalise "Linux".
21471
f285fe2d 21472 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
21473
a0c62e4e 214742009-06-11 Pavel Roskin <proski@gnu.org>
21475
b6783cb2 21476 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
21477 fix a gcc warning and ensure that the function won't ever exit.
21478
dde032e8 21479 * kern/i386/ieee1275/init.c: Add missing prototype for
21480 grub_stop_floppy().
21481
22cd079d 21482 * loader/ieee1275/multiboot2.c [__i386__]: Include
21483 grub/cpu/multiboot.h.
21484
a0c62e4e 21485 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
21486 casts to short - they are not portable and cause warnings. Fix
21487 use of uninitialized values in input_buf. Use ARRAY_SIZE.
21488
63963d17 214892009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
21490
21491 Drivemap fixes
21492
21493 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
21494 new function
21495 (grub_get_root_biosnumber_saved): new variable
21496 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
21497 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 21498 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 21499 %dx after the call if necessary
21500 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21501 (boot_mod_SOURCES): remove
21502 (boot_mod_CFLAGS): remove
21503 (boot_mod_LDFLAGS): remove
21504 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21505 (boot_mod_SOURCES): new variable
21506 (boot_mod_CFLAGS): likewise
21507 (boot_mod_LDFLAGS): likewise
21508 * conf/i386-efi.rmk: likewise
21509 * conf/i386-ieee1275.rmk: likewise
21510 * conf/i386-pc.rmk: likewise
21511 * conf/powerpc-ieee1275.rmk: likewise
21512 * conf/sparc64-ieee1275.rmk: likewise
21513 * conf/x86_64-efi.rmk: likewise
21514 * include/grub/i386/pc/biosnum.h: new file
21515 * lib/i386/pc/biosnum.c: likewise
21516 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21517 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21518 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 21519
33abf7ae 215202009-06-10 Pavel Roskin <proski@gnu.org>
21521
5ac35b35 21522 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21523 Use separate variables. Read only the file size at the end, but
21524 not the checksum that we don't use.
21525
5c5215d5 21526 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21527 Adjust all callers.
21528
27d5fef7 21529 * kern/ieee1275/openfw.c: Remove libc includes.
21530 * kern/ieee1275/cmain.c: Likewise.
21531 * include/grub/ieee1275/ieee1275.h: Likewise.
21532
33abf7ae 21533 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21534 compiler warnings.
21535
19d50c2b 215362009-06-10 Felix Zielcke <fzielcke@z-51.de>
21537
21538 * Makefile.in: Remove all trailing whitespace.
21539 * conf/i386-pc.rmk: Likewise.
21540 * conf/powerpc-ieee1275.rmk: Likewise.
21541 * conf/sparc64-ieee1275.rmk: Likewise.
21542 * docs/grub.texi: Likewise.
21543 * docs/texinfo.tex: Likewise.
21544 * disk/fs_uuid.c: Likewise.
21545 * disk/lvm.c: Likewise.
21546 * disk/scsi.c: Likewise.
21547 * disk/ata.c: Likewise.
21548 * disk/ieee1275/ofdisk.c: Likewise.
21549 * disk/i386/pc/biosdisk.c: Likewise.
21550 * disk/host.c: Likewise.
21551 * disk/raid.c: Likewise.
21552 * disk/efi/efidisk.c: Likewise.
21553 * disk/usbms.c: Likewise.
21554 * disk/memdisk.c: Likewise.
21555 * disk/loopback.c: Likewise.
21556 * kern/powerpc/dl.c: Likewise.
21557 * kern/device.c: Likewise.
21558 * kern/dl.c: Likewise.
21559 * kern/sparc64/dl.c: Likewise.
21560 * kern/ieee1275/ieee1275.c: Likewise.
21561 * kern/term.c: Likewise.
21562 * kern/fs.c: Likewise.
21563 * kern/i386/dl.c: Likewise.
21564 * kern/i386/pc/startup.S: Likewise.
21565 * kern/i386/pc/init.c: Likewise.
21566 * kern/i386/pc/mmap.c: Likewise.
21567 * kern/i386/pc/lzo1x.S: Likewise.
21568 * kern/i386/ieee1275/init.c: Likewise.
21569 * kern/i386/realmode.S: Likewise.
21570 * kern/i386/tsc.c: Likewise.
21571 * kern/partition.c: Likewise.
21572 * kern/corecmd.c: Likewise.
21573 * kern/file.c: Likewise.
21574 * kern/efi/efi.c: Likewise.
21575 * kern/efi/init.c: Likewise.
21576 * kern/efi/mm.c: Likewise.
21577 * kern/main.c: Likewise.
21578 * kern/err.c: Likewise.
21579 * kern/env.c: Likewise.
21580 * kern/disk.c: Likewise.
21581 * kern/generic/millisleep.c: Likewise.
21582 * kern/generic/rtc_get_time_ms.c: Likewise.
21583 * kern/misc.c: Likewise.
21584 * kern/parser.c: Likewise.
21585 * genmk.rb: Likewise.
21586 * configure.ac: Likewise.
21587 * boot/i386/pc/diskboot.S: Likewise.
21588 * boot/i386/pc/pxeboot.S: Likewise.
21589 * boot/i386/pc/boot.S: Likewise.
21590 * boot/i386/pc/lnxboot.S: Likewise.
21591 * boot/i386/pc/cdboot.S: Likewise.
21592 * parttool/pcpart.c: Likewise.
21593 * video/readers/tga.c: Likewise.
21594 * video/video.c: Likewise.
21595 * video/bitmap.c: Likewise.
21596 * lib/envblk.c: Likewise.
21597 * lib/i386/setjmp.S: Likewise.
21598 * fs/xfs.c: Likewise.
21599 * fs/afs.c: Likewise.
21600 * fs/fat.c: Likewise.
21601 * fs/ntfs.c: Likewise.
21602 * fs/udf.c: Likewise.
21603 * fs/affs.c: Likewise.
21604 * fs/iso9660.c: Likewise.
21605 * fs/hfs.c: Likewise.
21606 * fs/fshelp.c: Likewise.
21607 * fs/ext2.c: Likewise.
21608 * fs/jfs.c: Likewise.
21609 * fs/reiserfs.c: Likewise.
21610 * fs/hfsplus.c: Likewise.
21611 * fs/minix.c: Likewise.
21612 * fs/cpio.c: Likewise.
21613 * fs/sfs.c: Likewise.
21614 * fs/ufs.c: Likewise.
21615 * efiemu/prepare.c: Likewise.
21616 * efiemu/loadcore_common.c: Likewise.
21617 * efiemu/runtime/efiemu.sh: Likewise.
21618 * efiemu/runtime/efiemu.S: Likewise.
21619 * efiemu/runtime/efiemu.c: Likewise.
21620 * efiemu/pnvram.c: Likewise.
21621 * efiemu/main.c: Likewise.
21622 * efiemu/i386/pc/cfgtables.c: Likewise.
21623 * efiemu/i386/loadcore64.c: Likewise.
21624 * efiemu/i386/loadcore32.c: Likewise.
21625 * efiemu/loadcore.c: Likewise.
21626 * efiemu/symbols.c: Likewise.
21627 * efiemu/mm.c: Likewise.
21628 * include/grub/autoefi.h: Likewise.
21629 * include/grub/datetime.h: Likewise.
21630 * include/grub/term.h: Likewise.
21631 * include/grub/hfs.h: Likewise.
21632 * include/grub/lvm.h: Likewise.
21633 * include/grub/i386/tsc.h: Likewise.
21634 * include/grub/i386/linux.h: Likewise.
21635 * include/grub/i386/xnu.h: Likewise.
21636 * include/grub/i386/efiemu.h: Likewise.
21637 * include/grub/i386/pc/biosdisk.h: Likewise.
21638 * include/grub/i386/pc/memory.h: Likewise.
21639 * include/grub/i386/pc/vbe.h: Likewise.
21640 * include/grub/parttool.h: Likewise.
21641 * include/grub/video.h: Likewise.
21642 * include/grub/memory.h: Likewise.
21643 * include/grub/fs.h: Likewise.
21644 * include/grub/partition.h: Likewise.
21645 * include/grub/xnu.h: Likewise.
21646 * include/grub/efi/api.h: Likewise.
21647 * include/grub/efi/pe32.h: Likewise.
21648 * include/grub/efi/memory.h: Likewise.
21649 * include/grub/multiboot.h: Likewise.
21650 * include/grub/usbdesc.h: Likewise.
21651 * include/grub/multiboot2.h: Likewise.
21652 * include/grub/acpi.h: Likewise.
21653 * include/grub/efiemu/efiemu.h: Likewise.
21654 * include/grub/disk.h: Likewise.
21655 * include/grub/ieee1275/ieee1275.h: Likewise.
21656 * include/grub/net.h: Likewise.
21657 * include/grub/machoload.h: Likewise.
21658 * include/grub/macho.h: Likewise.
21659 * include/multiboot.h: Likewise.
21660 * genmoddep.awk: Likewise.
21661 * normal/main.c: Likewise.
21662 * normal/menu_entry.c: Likewise.
21663 * normal/menu_viewer.c: Likewise.
21664 * normal/completion.c: Likewise.
21665 * normal/cmdline.c: Likewise.
21666 * normal/misc.c: Likewise.
21667 * normal/datetime.c: Likewise.
21668 * bus/usb/usbtrans.c: Likewise.
21669 * bus/usb/ohci.c: Likewise.
21670 * bus/usb/uhci.c: Likewise.
21671 * bus/usb/usb.c: Likewise.
21672 * mmap/efi/mmap.c: Likewise.
21673 * mmap/i386/pc/mmap_helper.S: Likewise.
21674 * mmap/i386/pc/mmap.c: Likewise.
21675 * mmap/i386/mmap.c: Likewise.
21676 * mmap/i386/uppermem.c: Likewise.
21677 * mmap/mmap.c: Likewise.
21678 * commands/acpi.c: Likewise.
21679 * commands/echo.c: Likewise.
21680 * commands/blocklist.c: Likewise.
21681 * commands/loadenv.c: Likewise.
21682 * commands/usbtest.c: Likewise.
21683 * commands/boot.c: Likewise.
21684 * commands/parttool.c: Likewise.
21685 * commands/search.c: Likewise.
21686 * commands/cat.c: Likewise.
21687 * commands/i386/pc/play.c: Likewise.
21688 * commands/i386/pc/drivemap.c: Likewise.
21689 * commands/i386/pc/vbeinfo.c: Likewise.
21690 * commands/i386/pc/acpi.c: Likewise.
21691 * commands/i386/pc/vbetest.c: Likewise.
21692 * commands/ls.c: Likewise.
21693 * commands/cmp.c: Likewise.
21694 * commands/test.c: Likewise.
21695 * commands/efi/acpi.c: Likewise.
21696 * commands/gptsync.c: Likewise.
21697 * commands/help.c: Likewise.
21698 * partmap/amiga.c: Likewise.
21699 * partmap/apple.c: Likewise.
21700 * partmap/acorn.c: Likewise.
21701 * partmap/pc.c: Likewise.
21702 * partmap/sun.c: Likewise.
21703 * partmap/gpt.c: Likewise.
21704 * script/sh/lexer.c: Likewise.
21705 * script/sh/function.c: Likewise.
21706 * font/font.c: Likewise.
21707 * font/font_cmd.c: Likewise.
21708 * loader/powerpc/ieee1275/linux.c: Likewise.
21709 * loader/efi/chainloader.c: Likewise.
21710 * loader/multiboot_loader.c: Likewise.
21711 * loader/macho.c: Likewise.
21712 * loader/i386/multiboot.c: Likewise.
21713 * loader/i386/linux.c: Likewise.
21714 * loader/i386/pc/linux.c: Likewise.
21715 * loader/i386/pc/multiboot2.c: Likewise.
21716 * loader/i386/pc/chainloader.c: Likewise.
21717 * loader/i386/pc/xnu.c: Likewise.
21718 * loader/i386/bsd_trampoline.S: Likewise.
21719 * loader/i386/efi/linux.c: Likewise.
21720 * loader/i386/multiboot_elfxx.c: Likewise.
21721 * loader/i386/bsd_helper.S: Likewise.
21722 * loader/i386/bsd.c: Likewise.
21723 * loader/i386/linux_trampoline.S: Likewise.
21724 * loader/i386/xnu_helper.S: Likewise.
21725 * loader/i386/xnu.c: Likewise.
21726 * loader/i386/bsd_pagetable.c: Likewise.
21727 * loader/i386/multiboot_helper.S: Likewise.
21728 * loader/xnu.c: Likewise.
21729 * loader/xnu_resume.c: Likewise.
21730 * io/gzio.c: Likewise.
21731 * term/efi/console.c: Likewise.
21732 * term/terminfo.c: Likewise.
21733 * term/ieee1275/ofconsole.c: Likewise.
21734 * term/i386/pc/serial.c: Likewise.
21735 * term/i386/pc/vesafb.c: Likewise.
21736 * term/i386/pc/vga.c: Likewise.
21737 * term/usb_keyboard.c: Likewise.
21738 * term/gfxterm.c: Likewise.
21739 * aclocal.m4: Likewise.
21740 * util/lvm.c: Likewise.
21741 * util/grub.d/30_os-prober.in: Likewise.
21742 * util/grub.d/10_hurd.in: Likewise.
21743 * util/console.c: Likewise.
21744 * util/grub-macho2img.c: Likewise.
21745 * util/grub-probe.c: Likewise.
21746 * util/hostfs.c: Likewise.
21747 * util/i386/pc/grub-mkimage.c: Likewise.
21748 * util/i386/pc/grub-setup.c: Likewise.
21749 * util/i386/efi/grub-mkimage.c: Likewise.
21750 * util/grub-mkconfig.in: Likewise.
21751 * util/raid.c: Likewise.
21752 * util/resolve.c: Likewise.
21753 * util/grub-mkdevicemap.c: Likewise.
21754 * util/grub-emu.c: Likewise.
21755 * util/getroot.c: Likewise.
21756 * util/hostdisk.c: Likewise.
21757 * util/usb.c: Likewise.
21758 * util/grub-editenv.c: Likewise.
21759 * util/misc.c: Likewise.
21760
d2d49665 217612009-06-10 Felix Zielcke <fzielcke@z-51.de>
21762
21763 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21764 `genparttoollist.sh'.
21765 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21766 Add `*.sh' to the list find searches for and change `mdate.sh'
21767 to `mdate-sh'.
21768
fe052e37 217692009-06-10 Pavel Roskin <proski@gnu.org>
21770
2763ac18 21771 * include/grub/multiboot2.h: Provide compatibility defines for
21772 multiboot2.h.
21773 * include/multiboot2.h: Include stdint.h only if needed, using
21774 angle brackets.
21775 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21776 grub/multiboot2.h.
21777 * loader/ieee1275/multiboot2.c: Likewise.
21778 * loader/multiboot2.c: Likewise.
21779 * loader/multiboot_loader.c: Likewise.
21780
437e6adc 21781 * configure.ac: Use -nostdlib when probing for the target. It
21782 should not be required to have libc for the target.
21783
06a6836c 21784 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21785 they fail without libc headers for the target.
21786 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21787 exports.
21788 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21789 preprocessor conditionals.
21790
fe052e37 21791 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21792 build system doesn't need to be aware of the tar.c internals.
21793
afd22553 217942009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 21795
afd22553 21796 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 21797
6b787c4f 217982009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21799
21800 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21801 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21802
218032009-06-09 Felix Zielcke <fzielcke@z-51.de>
21804
21805 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 21806 aren't available if ata.mod gets used.
6b787c4f 21807
473d1e45 218082009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 21809
473d1e45 21810 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 21811 initialising controller.
473d1e45 21812 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 21813
255a27d4 218142009-06-08 Felix Zielcke <fzielcke@z-51.de>
21815
21816 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21817 to choose between ata and biosdisk module on i386-pc.
21818
473d1e45 218192009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 21820
d55842d8 21821 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21822 Subclass and Programming Interface fields in terms of the 3 byte
21823 Class Code register.
21824 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21825
fa5db0b1 21826 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21827 interface is OHCI. Add grub_dprintf for symmetry with
21828 bus/usb/uhci.c.
21829 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21830 interface is UHCI. Add interf variable for programming
21831 interface. Print interface with class/subclass.
21832
c0947beb 21833 * bus/usb/ohci.c: Set interf with correct field.
21834
69da8877 21835 * bus/usb/uhci.c: Remove unneeded doubled lines.
21836 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21837 Remove whitespace inside comment.
21838
9e172e30 218392009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21840
21841 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21842 as fallback an equivalent option without depth.
21843
de65ee2b 218442009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21845
21846 Not fail if unable to retrieve C/H/S on LBA disks
21847
473d1e45 21848 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 21849 if unable to retrieve C/H/S on LBA disks
21850
b57ea2c9 218512009-06-08 Pavel Roskin <proski@gnu.org>
21852
21853 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21854 about aliasing.
21855
af361263 218562009-06-08 Felix Zielcke <fzielcke@z-51.de>
21857
21858 * Makefile.in (uninstall): Remove all $lib_DATA files.
21859
4c9ec6b3 218602009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21861
21862 Bugfix: install on partitionless device
21863
21864 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21865 is a whole disk
21866
e76fc924 218672009-06-08 Felix Zielcke <fzielcke@z-51.de>
21868
21869 * Makefile.in (uninstall): Remove all $include_DATA files.
21870
ba5a0d05 218712009-06-08 Felix Zielcke <fzielcke@z-51.de>
21872
21873 * commands/true.c: New file. Implement the true and false commands.
21874 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21875 (true_mod_SOURCES): New variable.
21876 (true_mod_CFLAGS): Likewise.
21877 (true_mod_LDFLAGS): Likewise.
21878
c8048e32 218792009-06-05 Colin D Bennett <colin@gibibit.com>
21880
21881 Optimized font character lookup using binary search instead of linear
21882 search. Fonts now are required to have the character index ordered by
21883 code point.
21884
21885 * font/font.c (load_font_index): Verify that fonts have ordered
21886 character indices.
21887 (find_glyph): Use binary search instead of linear search to find a
21888 character in a font.
21889
408305be 218902009-06-05 Michael Scherer <misc@mandriva.org>
21891
21892 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21893 uses case sensitive btree.
21894 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21895 only for case insensitive filesystems.
21896
8ee1e0d9 218972009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21898
21899 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21900 * conf/common.rmk (search_mod_CFLAGS): likewise
21901
a9966eb1 219022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21903
473d1e45 21904 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 21905 compensate a compiler bug
21906
9e7100fb 219072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21908
473d1e45 21909 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 21910 instead of '\b'
473d1e45 21911
ede21d71 219122009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21913
21914 Definitions for creating asm symbols with Apple's CC
21915
21916 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21917 [APPLE_CC] (VARIABLE): likewise
21918
9dbf7653 219192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21920
21921 Disable lnxboot.img when compiled
21922 with Apple's CC
21923
21924 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21925 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21926 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21927 [! APPLE_CC] (CODE_LENG): skip
21928 [! APPLE_CC] (setup_sects): likewise
21929 [! APPLE_CC]: skip filling
473d1e45 21930
e93cdc3d 219312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21932
21933 Address in trampolines based on 32-bit registers when compiled
21934 with Apple's CC
21935
473d1e45 21936 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 21937 for addresses
21938 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21939
6c688477 219402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21941
21942 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21943
21944 * kern/misc.c [APPLE_CC] (memcpy): new function
21945 [APPLE_CC] (memmove): likewise
21946 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 21947 (memcpy): define alias conditionally on !APPLE_CC
6c688477 21948 (memset): likewise
21949 (abort): likewise
21950 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21951 APPLE_CC are defined
21952 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21953 (grub_assert_fail): make prototype conditional
21954
e37ffc5c 219552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21956
21957 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21958
473d1e45 21959 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21960 grub-macho2img
e37ffc5c 21961 (CLEANFILES): add grub-macho2img
21962 (grub_macho2img_SOURCES): new variable
21963 * kern/i386/pc/startup.S (bss_start): new variable
21964 (bss_end): likewise
21965 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21966 * util/grub-macho2img.c: new file
21967
cf00df31 219682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 Use objconv when compiling with Apple's CC
21971
21972 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21973 (efiemu64.o): likewise
21974 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21975 when compiling with Apple's CC
21976 (efiemu64_s.o): likewise
21977 * configure.ac: check for objconv when compiling with Apple's CC
21978 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 21979
d119a20c 219802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21981
21982 Define segment as well as section when compiling with
21983 Apple's CC
21984
21985 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21986 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21987 (efiemu_convert_pointer): likewise
21988 (efiemu_set_virtual_address_map): likewise
21989 (efiemu_convert_pointer): likewise
21990 (efiemu_getcrc32): likewise
21991 (init_crc32_table): likewise
21992 (reflect): likewise
21993 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21994 (GRUB_MOD_DEP): likewise
473d1e45 21995
c8600122 219962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 Allow a compilation without -mcmodel=large
21999
22000 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
22001 when compiled without -mcmodel=large
473d1e45 22002 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 22003 without -mcmodel=large
473d1e45 22004 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 22005 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 22006
e8df1d4e 220072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22008
22009 Remove nested functions in efiemu core
22010
22011 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 22012
cc6c3ac1 220132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22014
22015 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
22016
22017 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
22018 temporary storage
473d1e45 22019 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
22020 using Apple's CC
cc6c3ac1 22021 (grub_cpu_is_tsc_supported): likewise
22022 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 22023
3e325901 220242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22025
22026 Absolute addressing through constant with Apple's cc
22027
22028 * kern/i386/pc/startup.S: Define necessary constants
22029 and address through it when using ABS with Apple's CC
22030 * boot/i386/pc/diskboot.S: likewise
22031 * boot/i386/pc/boot.S: likewise
22032 * boot/i386/pc/lnxboot.S: likewise
22033 * boot/i386/pc/cdboot.S: likewise
22034 * mmap/i386/pc/mmap_helper.S: likewise
22035 * commands/i386/pc/drivemap_int13h.S: likewise
22036
2b167a72 220372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22038
22039 Check if compiler is apple cc
22040
22041 * Makefile.in (ASFLAGS): new variable
22042 (TARGET_ASFLAGS): likewise
22043 (TARGET_MODULE_FORMAT): likewise
22044 (TARGET_APPLE_CC): likewise
22045 (OBJCONV): likewise
22046 (TARGET_IMG_CFLAGS): likewise
22047 (TARGET_CPPFLAGS): add includedir
22048 * configure.ac: call grub_apple_cc and grub_apple_target_cc
22049 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
22050 Check for linker script only if compiler isn't Apple's CC
22051 (TARGET_MODULE_FORMAT): set
22052 (TARGET_APPLE_CC): likewise
22053 (TARGET_ASFLAGS): likewise
22054 (ASFLAGS): likewise
22055 Check for objcopy only if compiler isn't Apple's CC
22056 Check for BSS symbol only if compiler isn't Apple's CC
22057 * genmk.rb: adapt nm options if we use Apple's utils
22058 * aclocal.m4 (grub_apple_cc): new test
22059 (grub_apple_target_cc): likewise
473d1e45 22060
fb14123e 220612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22062
22063 Simplify sed expressions and improve awk
22064
22065 * Makefile.in (install-local): simplify sed expression
22066 * gencmdlist.sh: likewise
22067 * genmoddep.awk: avoid adding module as a dependency of itself
22068
5b889789 220692009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22070
22071 Add missing start symbols
22072
22073 * boot/i386/pc/boot.S: add start
fb14123e 22074 * boot/i386/pc/pxeboot.S: likewise
473d1e45 22075
fd2bf2e3 220762009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 22079
22080 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 22081 (relocate_addresses): consider both r_addend and value at offset
22082 (make_mods_section): zerofill modinfo and header
22083 (convert_elf): write prefix here
473d1e45 22084
5389763d 220852009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22086
22087 Use .asciz instead of .string
22088
22089 * i386/pc/diskboot.S: use .asciz instead of .string
22090 * i386/pc/boot.S: likewise
22091 * include/grub/dl.h (GRUB_MOD_DEP): likewise
22092 (GRUB_MOD_NAME): likewise
473d1e45 22093
3eb5ed4e 220942009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 gfxpayload support
22097
22098 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
22099 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
22100 (grub_video_setup): remove
22101 (grub_video_set_mode): new prototype
22102 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
22103 (vid_mode): remove
22104 (linux_vesafb_res): compile only on PCBIOS
22105 (grub_linux_boot): support gfxpayload
22106 * loader/i386/pc/xnu.c (video_hook): new function
22107 (grub_xnu_set_video): support gfxpayload
22108 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
22109 (DEFAULT_VIDEO_HEIGHT): likewise
22110 (DEFAULT_VIDEO_FLAGS): likewise
22111 (DEFAULT_VIDEO_MODE): new definition
22112 (video_hook): new function
22113 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 22114 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 22115 loading xnu
22116 * video/video.c (grub_video_setup): removed
473d1e45 22117 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 22118 grub_video_setup
22119
4b0e1143 221202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22121
22122 Avoid calling biosdisk in drivemap
22123
22124 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
22125 (revparse_biosdisk): likewise
22126 (list_mappings): derive name from id directly
22127 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 22128
fda6cb98 221292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 Script fixes
22132
22133 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
22134 (grub_lexer_param): add tokenonhold
22135 (grub_script_create_cmdline): remove cmdline. All callers updated
22136 (grub_script_function_create): make functionname
22137 grub_script_arg. All callers updated
22138 (grub_script_execute_argument_to_string): new prototype
22139 * kern/parser.c (state_transitions): reorder
22140 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 22141 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 22142 make global
22143 (grub_script_execute_cmdline): use new format
22144 * script/sh/function.c (grub_script_function_create): make functionname
22145 grub_script_arg. All callers updated
473d1e45 22146 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 22147 (grub_script_yylex): remove
22148 (grub_script_yylex2): renamed to ...
22149 (grub_script_yylex): ...renamed
22150 parse the expressions like a${b}c
22151 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
22152 (GRUB_PARSER_TOKEN_VAR): remove
22153 (GRUB_PARSER_TOKEN_NAME): likewise
22154 ("if"): declare as typeless
22155 ("while"): likewise
22156 ("function"): likewise
22157 ("else"): likewise
22158 ("then"): likewise
22159 ("fi"): likewise
22160 (text): remove
22161 (argument): likewise
22162 (script): accept empty scripts and make exit on error
22163 (arguments): use GRUB_PARSER_TOKEN_ARG
22164 (function): likewise
22165 (command): move error handling to script
22166 (menuentry): move grub_script_lexer_ref before
473d1e45 22167 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 22168 argument. All callers updated
22169
f4448a07 221702009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22171
22172 Prevent GRUB from probing floppies during boot.
22173
22174 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
22175 * commands/search.c (options): Add --no-floppy.
22176 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
22177 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
22178 --no-floppy when searching for UUIDs.
22179
2bf5885a 221802009-06-04 Robert Millan <rmh.grub@aybabtu.com>
22181
22182 Simplify the code duplication in commands/search.c.
22183
22184 * commands/search.c (search_label, search_fs_uuid): Merge into ...
22185 (search_fs): ... this. Update all users.
22186
f6fd460a 221872009-06-03 Felix Zielcke <fzielcke@z-51.de>
22188
22189 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
22190
cbb3c83e 221912009-05-28 Pavel Roskin <proski@gnu.org>
22192
57788cfd 22193 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
22194 Remove the original symlink explicitly.
22195
cbb3c83e 22196 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
22197 just one slash. That's how grub_fshelp_find_file() does it.
22198
cd0d5e30 221992009-05-26 Pavel Roskin <proski@gnu.org>
22200
f0f8bbe2 22201 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
22202 to `str'.
22203
cd0d5e30 22204 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
22205 possibly unused.
22206
8c2cab51 222072009-05-25 Christian Franke <franke@computer.org>
22208
22209 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
22210 register.
22211 (grub_atapi_identify): Add wait after drive select.
22212 (grub_ata_identify): Do more strict status register check before
22213 calling grub_atapi_identify (). Suppress error message if status
22214 register is 0x00 after command failure. Add status register
22215 check after PIO read to avoid bogus identify due to stuck DRQ.
22216 Thanks to Pavel Roskin for testing.
22217 (grub_device_initialize): Remove unsafe status register check.
22218 Thanks to 'phcoder' for problem report and patch.
22219 Prevent sign extension in debug message.
22220
230c0ad6 222212009-05-23 Colin D Bennett <colin@gibibit.com>
22222
22223 Cleaned up `include/grub/normal.h'. Grouped prototypes by
22224 definition file, and functions defined in `normal/menu.c' have had
22225 their prototypes moved to `include/grub/menu.h' for consistency.
22226
22227 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
22228 from normal.h.
22229 (grub_menu_get_entry): Likewise.
22230 (grub_menu_get_timeout): Likewise.
22231 (grub_menu_set_timeout): Likewise.
22232 (grub_menu_execute_entry): Likewise.
22233 (grub_menu_execute_with_fallback): Likewise.
22234 (grub_menu_entry_run): Likewise.
22235
22236 * include/grub/normal.h: Re-ordered and grouped function
22237 prototypes by file that the function is defined in.
22238 (grub_menu_execute_callback): Removed; moved to menu.h.
22239 (grub_menu_get_entry): Likewise.
22240 (grub_menu_get_timeout): Likewise.
22241 (grub_menu_set_timeout): Likewise.
22242 (grub_menu_execute_entry): Likewise.
22243 (grub_menu_execute_with_fallback): Likewise.
22244 (grub_menu_entry_run): Likewise.
22245 (grub_menu_addentry): Renamed from this ...
22246 (grub_normal_add_menu_entry): ... to this.
22247
22248 * normal/main.c (grub_menu_addentry): Renamed from this ...
22249 (grub_normal_add_menu_entry): ... to this.
22250
22251 * script/sh/execute.c (grub_script_execute_menuentry): Update
22252 reference to renamed grub_menu_addentry function.
22253
861f03a5 222542009-05-23 Felix Zielcke <fzielcke@z-51.de>
22255
22256 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
22257
96b1619a 222582009-05-22 Pavel Roskin <proski@gnu.org>
22259
bf6a5fb2 22260 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
22261 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
22262 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
22263 compiling for the i386 targets, but not for the utilities.
22264
96b1619a 22265 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
22266 to grub_uint8_t.
22267 (grub_root_drive): Likewise.
22268 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
22269 remove alignment.
22270 (grub_root_drive): Change size to byte.
22271 (grub_start_addr): Remove.
22272 (grub_end_addr): Likewise.
22273 (grub_apm_bios_info): Likewise.
22274
b729776b 222752009-05-21 Felix Zielcke <fzielcke@z-51.de>
22276
22277 * normal/i386: Remove.
22278 * normal/powerpc: Likewise.
22279 * normal/sparc64: Likewise.
22280 * normal/x86_64: Likewise.
22281
0a15ce80 222822009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
22283
22284 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 22285 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 22286 * loader/i386/xnu_helper.S: Likewise
d6da58e6 22287
33db9015 222882009-05-18 Colin D Bennett <colin@gibibit.com>
22289
d6da58e6 22290 Display error messages when parsing a Lua statement fails.
22291 Previously, executing a syntactically invalid statement like
22292 ")foo" or "bar;" would silently fail.
33db9015 22293
22294 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 22295 (grub_lua_parse_line): Improved reporting of Lua parser and
22296 execution errors.
33db9015 22297
46422c89 222982009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 Remove -Werror which causes build to fail on some systems
22301
22302 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
22303 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
22304 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 22305
22f53a96 223062009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22307
22308 trampoline for linux on 64-bit platform
22309
18f547ad 22310 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
22311 loader/i386/efi/linux_trampoline.S
22312 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 22313 declaration
d6da58e6 22314 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
22315 here
22f53a96 22316 * loader/i386/linux_trampoline.S: moved here
d6da58e6 22317 * loader/i386/efi/linux.c (allocate_pages): reserve space for
22318 trampoline
22f53a96 22319 (jumpvector): removed
22320 (grub_linux_trampoline_start): new declaration
22321 (grub_linux_trampoline_end): likewise
22322 (grub_linux_boot): use trampoline when on 64-bit platform
22323 * loader/i386/linux.c: likewise
22324
cb5a0f40 223252009-05-16 Pavel Roskin <proski@gnu.org>
22326
22327 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
22328 const to avoid a warning.
22329 (grub_lua_setenv): Likewise.
22330 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
22331 lmsg to fix a warning.
22332
334f2c28 223332009-05-16 Felix Zielcke <fzielcke@z-51.de>
22334
22335 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 22336 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22337 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
22338 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22339 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22340 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22341 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22342 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 22343
59e5d3ec 223442009-05-16 Felix Zielcke <fzielcke@z-51.de>
22345
22346 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
22347
9d87a1ba 223482009-05-16 Bean <bean123ch@gmail.com>
22349
22350 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
22351 (lua_mod_SOURCES): New variable.
22352 (lua_mod_CFLAGS): Likewise.
22353 (lua_mod_LDFLAGS): Likewise.
22354
22355 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
22356 (setjmp_mod_SOURCES): New variable.
22357 (setjmp_mod_CFLAGS): Likewise.
22358 (setjmp_LDFLAGS): Likewise.
22359
22360 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
22361 (setjmp_mod_SOURCES): New variable.
22362 (setjmp_mod_CFLAGS): Likewise.
22363 (setjmp_LDFLAGS): Likewise.
22364
22365 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22366 (setjmp_mod_SOURCES): New variable.
22367 (setjmp_mod_CFLAGS): Likewise.
22368 (setjmp_LDFLAGS): Likewise.
22369
22370 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22371 (setjmp_mod_SOURCES): New variable.
22372 (setjmp_mod_CFLAGS): Likewise.
22373 (setjmp_LDFLAGS): Likewise.
22374
22375 * normal/i386/setjmp.S: Moved from here ...
22376 * lib/i386/setjmp.S: ... Moved here
22377 * normal/x86_64/setjmp.S: Moved from here ...
22378 * lib/x86_64/setjmp.S: ... Moved here
22379 * normal/powerpc/setjmp.S: Moved from here ...
22380 * lib/powerpc/setjmp.S: ... Moved here
22381 * normal/sparc64/setjmp.S: Moved from here ...
22382 * lib/sparc64/setjmp.S: ... Moved here
22383
22384 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
22385 returns_twice in mingw.
22386
22387 * script/lua/grub_lib.c: New file.
22388 * script/lua/grub_lib.h: Likewise.
22389 * script/lua/grub_lua.h: Likewise.
22390 * script/lua/grub_main.c: Likewise.
22391 * script/lua/lapi.c: Likewise.
22392 * script/lua/lapi.h: Likewise.
22393 * script/lua/lauxlib.c: Likewise.
22394 * script/lua/lauxlib.h: Likewise.
22395 * script/lua/lbaselib.c: Likewise.
22396 * script/lua/lcode.c: Likewise.
22397 * script/lua/lcode.h: Likewise.
22398 * script/lua/ldblib.c: Likewise.
22399 * script/lua/ldebug.c: Likewise.
22400 * script/lua/ldebug.h: Likewise.
22401 * script/lua/ldo.c: Likewise.
22402 * script/lua/ldo.h: Likewise.
22403 * script/lua/ldump.c: Likewise.
22404 * script/lua/lfunc.c: Likewise.
22405 * script/lua/lfunc.h: Likewise.
22406 * script/lua/lgc.c: Likewise.
22407 * script/lua/lgc.h: Likewise.
22408 * script/lua/linit.c: Likewise.
22409 * script/lua/liolib.c: Likewise.
22410 * script/lua/llex.c: Likewise.
22411 * script/lua/llex.h: Likewise.
22412 * script/lua/llimits.h: Likewise.
22413 * script/lua/lmathlib.c: Likewise.
22414 * script/lua/lmem.c: Likewise.
22415 * script/lua/lmem.h: Likewise.
22416 * script/lua/loadlib.c: Likewise.
22417 * script/lua/lobject.c: Likewise.
22418 * script/lua/lobject.h: Likewise.
22419 * script/lua/lopcodes.c: Likewise.
22420 * script/lua/lopcodes.h: Likewise.
22421 * script/lua/loslib.c: Likewise.
22422 * script/lua/lparser.c: Likewise.
22423 * script/lua/lparser.h: Likewise.
22424 * script/lua/lstate.c: Likewise.
22425 * script/lua/lstate.h: Likewise.
22426 * script/lua/lstring.c: Likewise.
22427 * script/lua/lstring.h: Likewise.
22428 * script/lua/lstrlib.c: Likewise.
22429 * script/lua/ltable.c: Likewise.
22430 * script/lua/ltable.h: Likewise.
22431 * script/lua/ltablib.c: Likewise.
22432 * script/lua/ltm.c: Likewise.
22433 * script/lua/ltm.h: Likewise.
22434 * script/lua/lua.h: Likewise.
22435 * script/lua/luaconf.h: Likewise.
22436 * script/lua/lualib.h: Likewise.
22437 * script/lua/lundump.c: Likewise.
22438 * script/lua/lundump.h: Likewise.
22439 * script/lua/lvm.c: Likewise.
22440 * script/lua/lvm.h: Likewise.
22441 * script/lua/lzio.c: Likewise.
22442 * script/lua/lzio.h: Likewise.
22443
5e898c9d 224442009-05-16 Bean <bean123ch@gmail.com>
22445
22446 * include/grub/kernel.h (grub_module_header_types): Add type
22447 OBJ_TYPE_CONFIG.
22448
22449 * kern/main.c (grub_load_config): New function.
22450 (grub_main): Call grub_load_config to read boot config.
22451
22452 * grub-mkimage (generate_image): New parameter config_path.
22453 (options): New option --config.
22454 (main): Parse --config option, and pass it to generate_image.
22455
cf353a47 224562009-05-14 Christian Franke <franke@computer.org>
22457
22458 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
22459 This fixes build on Cygwin.
22460
3834887f 224612009-05-14 Pavel Roskin <proski@gnu.org>
22462
22463 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
22464 jump. This saves two bytes, so the typical case of 2 swapped
22465 drives would fit 32 bytes.
22466
8090fc01 224672009-05-13 Pavel Roskin <proski@gnu.org>
22468
ac963883 22469 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
22470 grub_uint32_t to avoid a warning.
22471
8090fc01 22472 * loader/i386/linux.c (allocate_pages): When assigning
22473 real_mode_mem, cast through grub_size_t to fix a warning. The
22474 code already makes sure that the value would fit a pointer.
22475 (grub_linux_setup_video): Cast render_target->data to
22476 grub_size_t to fix a warning.
22477
18f547ad 224782009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 22479
22480 * commands/i386/pc/drivemap.c: New file - implement drivemap
22481 command.
22482 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
22483 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
22484
6f6a8b28 224852009-05-13 Pavel Roskin <proski@gnu.org>
22486
22487 * util/i386/pc/grub-setup.c (setup): Remove unused variable
22488 embedding_area_exists.
22489
15fbf4c4 224902009-05-13 Robert Millan <rmh.grub@aybabtu.com>
22491
22492 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
22493 it easier to understand / work with.
59978c8a 22494 Improve warning messages for cases where there's no embedding area,
22495 or when it is too small (or core.img too large).
15fbf4c4 22496
238e871f 224972009-05-13 Pavel Roskin <proski@gnu.org>
22498
0ab3a9a4 22499 * loader/i386/pc/multiboot2.c: Add necessary includes for
22500 grub_multiboot2_real_boot().
22501
a2c8c5f8 22502 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22503 PX record is always little-endian. We only need the lower 2
22504 bytes of the mode.
22505
faec96af 22506 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22507 facilitate code reuse.
22508 (grub_cpio_mount): Use "struct head", not a char buffer. This
22509 fixes a warning reported by gcc 4.4.
22510
238e871f 22511 * kernel/disk.c (grub_disk_read): Use void pointer for the
22512 buffer.
22513 (grub_disk_write): Use const void pointer for the buffer.
22514 Adjust all callers. Remove unnecessary casts.
22515
901d2f0c 225162009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22517
22518 * util/i386/pc/grub-install.in: Update copyright year.
22519
18f547ad 225202009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 22521
22522 gptsync
22523
22524 * commands/gptsync.c: new file
22525 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22526 (gptsync_mod_SOURCES): new variable
22527 (gptsync_mod_CFLAGS): likewise
22528 (gptsync_mod_LDFLAGS): likewise
18f547ad 22529 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 22530 new definition
22531 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22532 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22533 * conf/i386-ieee1275.rmk: likewise
22534 * conf/i386-pc.rmk: likewise
22535 * conf/powerpc-ieee1275.rmk: likewise
22536
b4ba690a 225372009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 Fixed grub-emu
22540
22541 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22542 (grub_dl_ref): likewise
22543
317e1a44 225442009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22545
22546 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22547 split in two functions (one for msdos and one for gpt).
22548
041b8094 225492009-05-08 Pavel Roskin <proski@gnu.org>
22550
752473c2 22551 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22552 not modified.
22553
041b8094 22554 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22555 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22556 Initialize them with -1. Add sanity check for bad1. Eliminate
22557 nerr variable.
22558
172800ce 225592009-05-08 David S. Miller <davem@davemloft.net>
22560
22561 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22562
29aa5e81 225632009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22564
22565 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 22566 existence.
29aa5e81 22567
96613b62 225682009-05-05 Felix Zielcke <fzielcke@z-51.de>
22569
22570 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 22571 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 22572
eef73c8a 225732009-05-05 David S. Miller <davem@davemloft.net>
22574
22575 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22576
119494b5 225772009-05-05 Pavel Roskin <proski@gnu.org>
22578
22579 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22580 of grub_dl_ref() and grub_dl_unref().
22581 * commands/parttool.c: Remove preprocessor conditionals around
22582 grub_dl_ref() and grub_dl_unref().
22583 * fs/affs.c: Likewise.
22584 * fs/afs.c: Likewise.
22585 * fs/cpio.c: Likewise.
22586 * fs/ext2.c: Likewise.
22587 * fs/fat.c: Likewise.
22588 * fs/hfs.c: Likewise.
22589 * fs/hfsplus.c: Likewise.
22590 * fs/iso9660.c: Likewise.
22591 * fs/jfs.c: Likewise.
22592 * fs/minix.c: Likewise.
22593 * fs/ntfs.c: Likewise.
22594 * fs/reiserfs.c: Likewise.
22595 * fs/sfs.c: Likewise.
22596 * fs/udf.c: Likewise.
22597 * fs/ufs.c: Likewise.
22598 * fs/xfs.c: Likewise.
22599 * include/grub/dl.h: Likewise.
22600 * loader/xnu.c: Likewise.
22601
de5fd76e 226022009-05-04 Pavel Roskin <proski@gnu.org>
22603
22604 * commands/acpi.c: Remove unused variable my_mod.
22605 * partmap/amiga.c: Likewise.
22606 * partmap/apple.c: Likewise.
22607 * partmap/gpt.c: Likewise.
22608 * partmap/pc.c: Likewise.
22609 * partmap/sun.c: Likewise.
22610 * term/gfxterm.c: Likewise.
22611 * term/i386/pc/vesafb.c: Likewise.
22612 * term/i386/pc/vga.c: Likewise.
22613
983598ad 226142009-05-04 David S. Miller <davem@davemloft.net>
22615
22616 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22617 pointer args to grub_ieee1275_get_property().
22618
8aadec43 22619 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22620
9554b15e 22621 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22622 devices, and do not traverse down under controller nodes.
22623
67e23c90 22624 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22625 (grub_ofdisk_open): Use it to un-escape "," characters.
22626 * kern/disk.c (find_part_sep): New.
22627 (grub_disk_open): Use it to find the first non-escaped ','
22628 character in the disk name.
22629 * util/ieee1275/devicemap.c (escape_of_path): New.
22630 (grub_util_emit_devicemap_entry): Use it.
22631 * util/sparc64/ieee1275/grub-install.in: Update script to
22632 strip partition specifiers properly by not triggering on
22633 '\' escaped ',' characters.
22634
74bfdd2f 226352009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22636
22637 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22638 to 0x300.
22639 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22640 resolutions.
22641 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22642 on documentation from Wikipedia).
22643
4241d2b1 226442009-05-04 Pavel Roskin <proski@gnu.org>
22645
22646 * disk/ata.c: Spelling fixes.
22647 * disk/raid.c: Likewise.
22648 * disk/usbms.c: Likewise.
22649 * disk/dmraid_nvidia.c: Likewise.
22650 * kern/ieee1275/openfw.c: Likewise.
22651 * kern/ieee1275/init.c: Likewise.
22652 * kern/ieee1275/cmain.c: Likewise.
22653 * boot/i386/pc/cdboot.S: Likewise.
22654 * video/readers/png.c: Likewise.
22655 * video/i386/pc/vbe.c: Likewise.
22656 * fs/udf.c: Likewise.
22657 * fs/hfs.c: Likewise.
22658 * fs/reiserfs.c: Likewise.
22659 * efiemu/runtime/efiemu.c: Likewise.
22660 * efiemu/main.c: Likewise.
22661 * efiemu/mm.c: Likewise.
22662 * include/grub/elf.h: Likewise.
22663 * include/grub/xnu.h: Likewise.
22664 * include/grub/usbdesc.h: Likewise.
22665 * include/grub/usb.h: Likewise.
22666 * include/grub/script_sh.h: Likewise.
22667 * include/grub/lib/LzmaEnc.h: Likewise.
22668 * include/grub/efiemu/efiemu.h: Likewise.
22669 * include/grub/command.h: Likewise.
22670 * normal/menu.c: Likewise.
22671 * normal/main.c: Likewise.
22672 * normal/datetime.c: Likewise.
22673 * bus/usb/uhci.c: Likewise.
22674 * mmap/i386/uppermem.c: Likewise.
22675 * mmap/mmap.c: Likewise.
22676 * commands/acpi.c: Likewise.
22677 * commands/test.c: Likewise.
22678 * partmap/apple.c: Likewise.
22679 * font/font.c: Likewise.
22680 * loader/sparc64/ieee1275/linux.c: Likewise.
22681 * loader/macho.c: Likewise.
22682 * loader/i386/bsd_trampoline.S: Likewise.
22683 * loader/i386/bsd.c: Likewise.
22684 * loader/xnu.c: Likewise.
22685 * term/i386/pc/vesafb.c: Likewise.
22686 * term/usb_keyboard.c: Likewise.
22687 * util/resolve.c: Likewise.
22688 * util/getroot.c: Likewise.
22689
0cfc0083 226902009-05-04 Felix Zielcke <fzielcke@z-51.de>
22691
22692 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22693
7c1d00cd 226942009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22695
22696 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22697 build error.
22698
b01f0548 226992009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22700
22701 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22702 parameter only available on BIOS.
22703
ecc3eb22 227042009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22705
22706 Removed wrong semicolon in declaration
22707
22708 * grub/misc.h (grub_dprintf): remove semicolon
22709
112972a9 227102009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22711
22712 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22713 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22714 is done by grub_cmd_linux() now).
22715 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22716 restore video to text mode.
22717 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22718 indicates lack of "vga=" parameter. "vga=0" is mapped to
22719 `GRUB_LINUX_VID_MODE_NORMAL'.
22720
afd5c115 227212009-05-04 Felix Zielcke <fzielcke@z-51.de>
22722
22723 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22724 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22725 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 22726 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 22727 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22728 `grub_script.tab.c'.
22729
22730 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22731 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22733 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22734 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22735
faa517ce 22736 * Makefile.in: Remove duplicated 2008 in Copyright line.
22737
ae0c0bdc 227382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22739
473d1e45 22740 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 22741 unconditionally.
22742 * include/grub/util/misc.h (grub_util_warn): New declaration.
22743
22744 * util/i386/pc/grub-install.in: Understand --force and pass it down
22745 to grub-setup.
22746
22747 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22748 down to setup().
22749 (setup): Improve error messages and add warnings when requested to
22750 install in odd layouts. Refuse to install using blocklists unless
22751 --force was set.
22752
18f547ad 227532009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 22754
22755 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22756
6d260daa 227572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22758
22759 Updated copyright year
22760
22761 * fs/hfsplus.c: updated copyright year
18f547ad 22762
69f853f8 227632009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 HFS+ UUID
22766
18f547ad 22767 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 22768 in the space previously used by unused3
22769 (grub_hfsplus_uuid): new function
22770 (grub_hfsplus_fs): added uuid field
22771
4c402e73 227722009-05-03 Pavel Roskin <proski@gnu.org>
22773
22774 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22775 suppress warnings. It's no longer needed.
22776 * disk/host.c: Likewise.
22777 * disk/ata_pthru.c: Likewise.
22778 * disk/loopback.c: Likewise.
22779 * hook/datehook.c: Likewise.
22780 * parttool/pcpart.c: Likewise.
22781 * fs/i386/pc/pxe.c: Likewise.
22782 * fs/ntfscomp.c: Likewise.
22783 * efiemu/main.c: Likewise.
22784 * mmap/mmap.c: Likewise.
22785 * commands/crc.c: Likewise.
22786 * commands/hexdump.c: Likewise.
22787 * commands/hdparm.c: Likewise.
22788 * commands/acpi.c: Likewise.
22789 * commands/echo.c: Likewise.
22790 * commands/minicmd.c: Likewise.
22791 * commands/blocklist.c: Likewise.
22792 * commands/memrw.c: Likewise.
22793 * commands/loadenv.c: Likewise.
22794 * commands/usbtest.c: Likewise.
22795 * commands/lsmmap.c: Likewise.
22796 * commands/boot.c: Likewise.
22797 * commands/parttool.c: Likewise.
22798 * commands/configfile.c: Likewise.
22799 * commands/search.c: Likewise.
22800 * commands/ieee1275/suspend.c: Likewise.
22801 * commands/cat.c: Likewise.
22802 * commands/i386/pc/pxecmd.c: Likewise.
22803 * commands/i386/pc/play.c: Likewise.
22804 * commands/i386/pc/halt.c: Likewise.
22805 * commands/i386/pc/vbeinfo.c: Likewise.
22806 * commands/i386/pc/vbetest.c: Likewise.
22807 * commands/lspci.c: Likewise.
22808 * commands/date.c: Likewise.
22809 * commands/handler.c: Likewise.
22810 * commands/ls.c: Likewise.
22811 * commands/test.c: Likewise.
22812 * commands/cmp.c: Likewise.
22813 * commands/efi/loadbios.c: Likewise.
22814 * commands/efi/fixvideo.c: Likewise.
22815 * commands/halt.c: Likewise.
22816 * commands/help.c: Likewise.
22817 * commands/reboot.c: Likewise.
22818 * hello/hello.c: Likewise.
22819 * script/sh/main.c: Likewise.
22820 * loader/xnu.c: Likewise.
22821 * term/terminfo.c: Likewise.
22822 * term/i386/pc/serial.c: Likewise.
22823 * term/usb_keyboard.c: Likewise.
22824
515b5079 228252009-05-03 David S. Miller <davem@davemloft.net>
22826
22827 * normal/menu.c: Include grub/parser.h
22828
dfc31a22 228292009-05-03 Pavel Roskin <proski@gnu.org>
22830
2fee74f1 22831 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22832 not char*.
22833 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22834 Suggested by Javier Martín <lordhabbit@gmail.com>
22835
dfc31a22 22836 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22837 efiemu??.o doesn't exist.
22838 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22839 copying.
22840
18f547ad 228412009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 22842
22843 FreeBSD 64-bit support
22844
18f547ad 22845 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 22846 and loader/i386/bsd_trampoline.S
22847 (bsd_mod_ASFLAGS): new variable
22848 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22849 (FREEBSD_MODTYPE_KERNEL64): likewise
22850 (grub_bsd64_trampoline_start): likewise
22851 (grub_bsd64_trampoline_end): likewise
22852 (grub_bsd64_trampoline_selfjump): likewise
22853 (grub_bsd64_trampoline_gdt): likewise
22854 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22855 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22856 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22857 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 22858 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 22859 of "attrib" member
22860 * loader/i386/bsd_pagetable.c: new file
22861 * loader/i386/bsd_trampoline.S: likewise
22862 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22863 (ALIGN_VAR): likewise
22864 (entry_hi): new variable
22865 (kern_end_mdofs): likewise
22866 (is_64bit): likewise
22867 (grub_freebsd_add_meta): use ALIGN_VAR
22868 (grub_e820_mmap): new declaration
22869 (grub_freebsd_add_mmap): new function
22870 (grub_freebsd_add_meta_module): support 64 bit kernels
22871 (grub_freebsd_list_modules): use ALIGN_VAR
22872 (gdt_descriptor): new declaration
22873 (grub_freebsd_boot): support 64 bit kernels
22874 (grub_bsd_elf64_hook): new function
22875 (grub_bsd_load_elf): support elf64
22876
038c5720 228772009-05-03 Bean <bean123ch@gmail.com>
22878
22879 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22880 after we get the result of if statement.
22881
fc45fb58 228822009-05-03 Bean <bean123ch@gmail.com>
22883
22884 * Makefile.in (enable_efiemu): New variable.
22885
22886 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22887 set.
22888 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22889 path.
22890 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22891 path, add -mno-red-zone option.
22892 (efiemu64_s.o): Likewise.
22893 (efiemu64.o): Use macro $^ for source file.
22894
22895 * configure.ac (--enable-efiemu): New option.
22896
bbee0f2b 228972009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22898
22899 xnu support
22900
22901 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22902 (pkglib_MODULES): add xnu.mod
22903 (xnu_mod_SOURCES): new variable
22904 (xnu_mod_CFLAGS): likewise
22905 (xnu_mod_LDFLAGS): likewise
22906 (xnu_mod_ASFLAGS): likewise
22907 * conf/i386-pc.rmk: likewise
22908 * conf/x86_64-efi.rmk: likewise
7dd4a573 22909 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 22910 new declaration
22911 * include/grub/i386/macho.h: new file
22912 * include/grub/i386/xnu.h: likewise
22913 * include/grub/macho.h: likewise
22914 * include/grub/machoload.h: likewise
22915 * include/grub/x86_64/macho.h: likewise
22916 * include/grub/x86_64/xnu.h: likewise
22917 * include/grub/xnu.h: likewise
22918 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22919 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22920 * loader/i386/efi/xnu.c: new file
22921 * loader/i386/pc/xnu.c: likewise
22922 * loader/i386/xnu.c: likewise
22923 * loader/i386/xnu_helper.S: likewise
22924 * loader/macho.c: likewise
22925 * loader/xnu.c: likewise
22926 * loader/xnu_resume.c: likewise
22927 * util/grub-dumpdevtree: likewise
22928 * include/grub/i386/pit.h: include grub/err.h
22929 (grub_pit_wait): export
22930 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 22931
5caf964d 229322009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22933
22934 Efiemu
7dd4a573 22935
5caf964d 22936 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 22937 _linux_efi, linux_efi.
22938 new files in grub-emu
5caf964d 22939 new targets efiemu32.o and efiemu64.o
22940 * loader/linux_normal_efiemu.c: likewise
22941 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 22942 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 22943 files to copy
22944 * include/grub/autoefi.h: new file
7dd4a573 22945 * include/grub/i386/efiemu.h: likewise
5caf964d 22946 * include/grub/i386/pc/efiemu.h: likewise
22947 * include/grub/efi/api.h: add LL suffix when necessary
22948 new definitions relating to tables
22949 * include/grub/efiemu/efiemu.h: new file
22950 * include/grub/efiemu/runtime.h: likewise
22951 * efiemu/prepare.c: likewise
22952 * efiemu/loadcore_common.c: likewise
22953 * efiemu/loadcore64.c: likewise
22954 * efiemu/runtime/efiemu.sh: likewise
22955 * efiemu/runtime/efiemu.S: likewise
22956 * efiemu/runtime/efiemu.c: likewise
22957 * efiemu/runtime/config.h: likewise
22958 * efiemu/prepare32.c: likewise
22959 * efiemu/main.c: likewise
22960 * efiemu/modules/pnvram.c: likewise
22961 * efiemu/modules/i386: likewise
22962 * efiemu/modules/i386/pc: likewise
22963 * efiemu/modules/acpi.c: likewise
22964 * efiemu/i386/pc/cfgtables.c: likewise
22965 * efiemu/i386/loadcore64.c: likewise
22966 * efiemu/i386/loadcore32.c: likewise
22967 * efiemu/prepare64.c: likewise
22968 * efiemu/loadcore.c: likewise
22969 * efiemu/symbols.c: likewise
22970 * efiemu/mm.c: likewise
22971 * efiemu/loadcore32.c: likewise
7dd4a573 22972
229732009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 22974
22975 ACPI spoofing
22976
22977 * commands/acpi.c: new file
22978 * commands/i386/pc/acpi.c: likewise
22979 * commands/efi/acpi.c: likewise
22980 * include/grub/acpi.h: likewise
22981 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22982 (acpi_mod_SOURCES): new variable
22983 (acpi_mod_CFLAGS): likewise
22984 (acpi_mod_LDFLAGS): likewise
22985 * conf/i386-efi.rmk: likewise
22986 * conf/x86_64-efi.rmk: likewise
22987
7dd4a573 229882009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 22989
22990 Missing part from mmap patch
22991
22992 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22993 (grub_mmap_unregister)
22994 (grub_mmap_free_and_unregister): use grub_mmap_register
22995
7dd4a573 229962009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 22997
22998 Mmap services
22999
23000 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
23001 * loader/i386/linux.c (find_mmap_size): likewise
23002 (allocate_pages): likewise
23003 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
23004 (grub_fill_multiboot_mmap): likewise
23005 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
23006 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
23007 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
23008 (OPENBSD_MMAP_RESERVED): likewise
23009 * include/grub/i386/pc/memory.h: include grub/memory.h
23010 (grub_lower_mem): removed
23011 (grub_upper_mem): likewise
23012 (GRUB_MACHINE_MEMORY_ACPI): new definition
23013 (GRUB_MACHINE_MEMORY_NVS): likewise
23014 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
23015 (GRUB_MACHINE_MEMORY_HOLE): likewise
23016 (grub_machine_mmap_register): likewise
23017 (grub_machine_mmap_unregister): likewise
23018 (grub_machine_get_upper): likewise
23019 (grub_machine_get_lower): likewise
23020 (grub_machine_get_post64): likewise
23021 * include/grub/i386/efi/memory.h: new file
23022 * include/grub/x86_64/efi/memory.h: likewise
23023 * include/grub/efi/memory.h: likewise
23024 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
23025 (mmap_mod_SOURCES): new variable
23026 (mmap_mod_LDFLAGS): likewise
23027 (mmap_mod_ASFLAGS): likewise
23028 * conf/i386-coreboot.rmk: likewise
23029 * conf/i386-ieee1275.rmk: likewise
23030 * conf/i386-efi.rmk: likewise
23031 * conf/x86_64-efi.rmk: likewise
23032 * include/grub/types.h (UINT_TO_PTR): new macro
23033 (PTR_TO_UINT32): likewise
23034 (PTR_TO_UINT64): likewise
23035 * include/grub/memory.h: new file
23036 * mmap/i386/pc/mmap.c: likewise
23037 * mmap/i386/pc/mmap_helper.S: likewise
23038 * mmap/i386/uppermem.c: likewise
23039 * mmap/mmap.c: likewise
23040 * mmap/efi/mmap.c: likewise
7dd4a573 23041 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 23042 grub_upper_mem
23043 * kern/i386/pc/init.c (grub_lower_mem): removed variable
23044 (grub_upper_mem): likewise
23045 (grub_machine_init): don't use grub_upper_mem,
23046 make grub_lower_mem local
23047 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
23048 grub_mmap_iterate and grub_mmap_get_upper
23049 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
23050
d558e6b5 230512009-05-02 Bean <bean123ch@gmail.com>
23052
23053 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
23054 script/sh/parser.y.
23055 (pkglib_MODULES): Add normal.mod and sh.mod.
23056 (normal_SOURCES): New variable.
23057 (normal_mod_CFLAGS): Likewise.
23058 (normal_mod_LDFLAGS): Likewise.
23059 (sh_mod_SOURCES): Likewise.
23060 (sh_mod_CFLAGS): Likewise.
23061 (sh_mod_LDFLAGS): Likewise.
23062
23063 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
23064 script/sh/lexer.c_DEPENDENCIES.
23065 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
23066 kern/rescue_reader.c and kern/rescue_parser.c.
23067 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
23068 (grub_emu_SOURCES): Change source files.
23069 (pkglib_MODULES): Remove normal.mod.
23070 (normal_SOURCES): Removed.
23071 (normal_mod_CFLAGS): Likewise.
23072 (normal_mod_LDFLAGS): Likewise.
23073 * conf/i386-coreboot.rmk: Likewise.
23074 * conf/i386-efi.rmk: Likewise.
23075 * conf/i386-ieee1276.rmk: Likewise.
23076 * conf/powerpc-ieee1275.rmk: Likewise.
23077 * conf/sparc64-ieee1275.rmk: Likewise.
23078 * conf/x86_64-efi.rmk: Likewise.
23079
23080 * include/grub/command.h (grub_command_execute): New inline function.
23081
23082 * include/grub/menu.h (grub_menu_entry): Removed commands field.
23083
23084 * include/grub/normal.h: Remove <grub/setjmp.h>.
23085 (grub_fs_module_list): Moved to normal/autofs.c.
23086 (grub_exit_env): Removed.
23087 (grub_command_execute): Likewise.
23088 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
23089 parameter script.
23090 (read_command_list): New function declaration.
23091 (read_fs_list): Likewise.
23092
23093 * include/parser.h: Include <grub/reader.h>.
23094 (grub_parser_split_cmdline): Change type of getline parameter.
23095 (grub_parser): New structure.
23096 (grub_parser_class): New variable.
23097 (grub_parser_execute): New function declaration.
23098 (grub_register_rescue_parser): Likewise.
23099 (grub_parser_register): New inline function.
23100 (grub_parser_unregister): Likewise.
23101 (grub_parser_get_current): Likewise.
23102 (grub_parser_set_current): Likewise.
23103
23104 * include/grub/reader.h: New file.
23105 * kern/reader.c: Likewise.
23106 * kern/rescue_parser.c: Likewise.
23107 * kern/rescue_reader.c: Likewise.
23108 * normal/autofs.c: Likewise.
23109 * normal/dyncmd.c: Likewise.
23110
23111 * include/grub/rescue.h: Removed.
23112 * normal/command.h: Likewise.
23113
23114 * include/grub/script.h: Moved to ...
23115 * include/grub/script_sh.h: ... Moved here.
23116 * normal/execute.c: Moved to ...
23117 * script/sh/execute.c: ... Moved here.
23118 * normal/function.c: Moved to ...
23119 * script/sh/function.c: ... Moved here.
23120 * normal/lexer.c: Moved to ...
23121 * script/sh/lexer.c: ... Moved here.
23122 * normal/parser.y: Moved to ...
23123 * script/sh/parser.y: ... Moved here.
23124 * normal/script.c: Moved to ...
23125 * script/sh/script.c: ... Moved here.
23126
23127 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
23128 <grub/reader.h>.
23129 (grub_exit_env): Removed.
23130 (fs_module_list): Moved to normal/autofs.c.
23131 (grub_file_getline): Don't handle comment here.
23132 (free_menu): Skip removed field entry->commands.
23133 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
23134 script parameter.
23135 (read_config_file): Removed nested parameter, change getline function.
23136 (grub_enter_normal_mode): Removed.
23137 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
23138 (read_command_list): Likewise.
23139 (autoload_fs_module): Moved to normal/autofs.c.
23140 (read_fs_list): Likewise.
23141 (reader_nested): New variable.
23142 (grub_normal_execute): Run parser.sh to switch to sh parser.
23143 (grub_cmd_rescue): Removed.
23144 (cmd_normal): Removed.
23145 (grub_cmd_normal): Unregister itself at the beginning. Don't register
23146 rescue command.
23147 (grub_cmdline_run): New function.
23148 (grub_normal_reader_init): Likewise.
23149 (grub_normal_read_line): Likewise.
23150 (grub_env_write_pager): Likewise.
23151 (cmdline): New variable.
23152 (grub_normal_reader): Likewise.
23153 (GRUB_MOD_INIT): Register normal reader and set as current, register
23154 pager hook, register normal command with grub_register_command_prio,
23155 so that it won't show up in command.lst.
23156 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
23157 grub_fs_autoload_hook.
23158
23159 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
23160 (grub_menu_execute_entry): Replace grub_script_execute with
23161 grub_parser_execute, change parameter to grub_command_execute.
23162
23163 * normal/menu_text.c: Remove <grub/script.h>.
23164
23165 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
23166 and <grub/parser.h>.
23167 (run): Change editor_getline to use new parser interface. Change
23168 parameter to grub_command_execute.
23169
23170 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
23171 <grub/reader.h> and <grub/parser.h>.
23172 (grub_load_normal_mode): Execute normal command.
23173 (grub_main): Call grub_register_core_commands,
23174 grub_register_rescue_parser and grub_register_rescue_reader, use
23175 grub_reader_loop to enter input loop.
23176
7dd4a573 23177 * kern/parser.c (grub_parser_split_cmdline): Change type of
23178 getline parameter.
d558e6b5 23179 (grub_parser_class): New variable.
23180 (grub_parser_execute): New function.
23181
23182 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
23183 * loader/multiboot2.c: Likewise.
23184 * loader/sparc64/ieee1275/linux.c: Likewise.
23185
23186 * util/grub-emu.c (read_command_list): New dummy function.
23187
18db813d 231882009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23189
23190 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
23191 count to 16 for CCISS and IDA.
23192
6c67de15 231932009-05-02 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 * normal/menu_text.c (grub_wait_after_message): Print a newline
23196 after waiting for user input.
23197
23198 * loader/i386/linux.c: Include `<grub/normal.h>'.
23199 (grub_cmd_linux): Improve the error message about `ask' mode, by
23200 waiting for user input so it's not missed (we can do this, since
23201 user requested interaction).
23202
d9dc87b0 232032009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23204
23205 Added missing lst to grub-mkrescue
23206
23207 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
23208 and ${input_dir}/parttool.lst
23209
ac8a2baa 232102009-04-30 David S. Miller <davem@davemloft.net>
23211
ad22a610 23212 * util/hostdisk.c (device_is_wholedisk): New function.
23213 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
23214 zero only if device_is_wholedisk() returns true.
23215
6966215d 23216 * util/hostdisk.c (convert_system_partition_to_system_disk):
23217 Handle virtual disk devices named /dev/vdiskX as found on sparc
23218 and powerpc.
23219
ac8a2baa 23220 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
23221 lettered partition specifier is found, convert to numbered.
23222
979b4fb4 232232009-04-29 David S. Miller <davem@davemloft.net>
23224
e2bf39b2 23225 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
23226 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23227
3c64e104 23228 * normal/command.c: Add missing newline at end of file.
23229
979b4fb4 23230 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
23231 warnings.
23232 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
23233 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
23234 grub_ofdisk_read): Likewise, and deal similarly with the fact that
23235 ihandles have a 32-bit type but need to be stored in a "void *".
23236
136d9f82 232372009-04-28 Pavel Roskin <proski@gnu.org>
23238
9459c306 23239 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
23240 not disk. Adjust all dependencies.
2e08a26a 23241 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 23242 grub_disk_close().
23243
136d9f82 23244 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
23245 parent's partition, don't copy it by reference, as it gets freed
23246 on close.
23247
7dd4a573 232482009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 23249
23250 Preboot hooks support
23251
23252 * commands/boot.c (struct grub_preboot_t): new declaration
23253 (preboots_head): new variable
23254 (preboots_tail): likewise
23255 (grub_loader_register_preboot_hook): new function
23256 (grub_loader_unregister_preboot_hook): likewise
23257 (grub_loader_set): launch preboot hooks
23258 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
23259 (grub_loader_register_preboot_hook): new declaration
23260 (grub_loader_unregister_preboot_hook): likewise
23261
5af922b5 232622009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23263
23264 Warning fix
23265
7dd4a573 23266 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 23267 calling grub_dprintf
23268
a5562c30 232692009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
23270
23271 Bug and warning fixes
23272
7dd4a573 23273 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 23274 declaration
23275 * commands/test.c (test_parse): fixed bug with file tests and corrected
23276 declaration of find_file
23277
4006f85c 232782009-04-26 Pavel Roskin <proski@gnu.org>
23279
23280 * Makefile.in: Don't install empty manual pages if help2man is
23281 missing. Use help2man option for output, not shell redirection.
23282
5c77c3de 232832009-04-26 David S. Miller <davem@davemloft.net>
23284
23285 * util/grub-mkdevicemap.c (make_device_map): Add missing
23286 NESTED_FUNC_ATTR to process_device().
23287
033b10a8 232882009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23289
23290 Test command
23291
23292 * commands/test.c: rewritten to use bash-like test
23293
e4343593 232942009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23295
23296 Parttool autoloading and improvements
23297
7dd4a573 23298 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 23299 (parttool.lst): new target
23300 * genmk.rb: generate parttool-*
23301 (CLEANFILES): add #{parttool}
23302 (PARTTOOLFILES): new variable
23303 * genparttoollist.sh: new file
7dd4a573 23304 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 23305 (grub_pcpart_type): likewise
23306 * commands/parttool.c (helpmsg): new variable
23307 (grub_cmd_parttool): output help if not enough arguments are supplied
23308 autoload modules
23309 (GRUB_MOD_INIT(parttool)): use helpmsg
23310
0d312500 233112009-04-24 David S. Miller <davem@davemloft.net>
23312
7dd4a573 23313 Avoiding opening same device multiple times in device iterator.
0d312500 23314
23315 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 23316 and use it to build a list of partitions in iterate_disk() and
0d312500 23317 iterate_partition().
23318
ac20caff 23319 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
23320 on disk->data.
23321
0dcf7495 23322 * disk/ieee1275/nand.c (grub_nand_iterate): Return
23323 grub_devalias_iterate() result instead of unconditional 0.
23324 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
23325 Also, capture hook return value, either directly or via
23326 grub_children_iterate(), and propagate to caller.
23327 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
23328 grub_children_iterate): Return value is now 'int' instead of
23329 'grub_err_t'.
23330 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
23331 like a proper iterator, stopping when hooks return non-zero.
23332 (grub_devalias_iterate): Likewise.
23333
c8c08833 233342009-04-23 David S. Miller <davem@davemloft.net>
23335
23336 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
23337
f01005a8 233382009-04-22 David S. Miller <davem@davemloft.net>
23339
23340 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
23341 is larger than address_cells, use that value for address_cells too.
23342
4e8269da 23343 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
23344 IEEE1275_MAX_PATH_LEN): Define.
23345 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
23346 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
23347 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
23348 'devtype'. Explicitly NULL terminate devalias expansion.
23349
a1447506 23350 * util/sparc64/ieee1275/misc.c: New file.
23351 * util/sparc64/ieee1275/grub-setup.c: New file.
23352 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
23353 * util/sparc64/ieee1275/grub-mkimage.c: New file.
23354 * util/sparc64/ieee1275/grub-install.in: New file.
23355 * util/ieee1275/ofpath.c: New file.
23356 * util/ieee1275/devicemap.c: New file.
23357 * util/devicemap.c: New file.
23358 * util/deviceiter.c: New file.
23359 * kern/sparc64/ieee1275/init.c: New file.
23360 * include/grub/util/ofpath.h: New file.
23361 * include/grub/util/deviceiter.h: New file.
23362 * util/grub-mkdevicemap.c: Include deviceiter.h.
23363 Implement using grub_util_emit_devicemap_entry and
23364 grub_util_iterate_devices.
23365 * conf/i386-corebook.rmk: Build util/deviceiter.c and
23366 util/devicemap.c into grub-mkdevicemap
23367 * conf/i386-efi.rmk: Likewise.
23368 * conf/i386-ieee1275.rmk: Likewise.
23369 * conf/i386-pc.rmk: Likewise.
23370 * conf/powerpc-ieee1275.rmk: Likewise.
23371 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
23372 images and installation utilities. Build kernel as image
23373 instead of as elf binary. Use common rules as much as possible.
23374
7dd4a573 233752009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 23376
23377 Correct GPT definition
23378
7dd4a573 23379 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 23380 of "attrib" member
23381
c6c5219f 233822009-04-19 Felix Zielcke <fzielcke@z-51.de>
23383
23384 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
23385
0552ff9f 233862009-04-19 David S. Miller <davem@davemloft.net>
23387
23388 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
23389 (grub_rescue_cmd_linux): Rename to...
23390 (grub_cmd_linux): and fix prototype.
23391 (grub_rescue_cmd_initrd): Rename to...
23392 (grub_cmd_initrd): and fix prototype.
23393 (cmd_linux, cmd_initrd): New.
23394 (GRUB_MOD_INIT(linux)): Use grub_register_command().
23395 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
23396
d1a282fc 233972009-04-17 Pavel Roskin <proski@gnu.org>
23398
07c5039f 23399 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
23400 format.
23401 (grub_ohci_transfer): Likewise.
23402
b012002d 23403 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
23404
1bc09c35 23405 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
23406 return without a value. Fix inconsistent indentation.
23407
e0ff9126 23408 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
23409 match struct grub_fs.
23410
d1a282fc 23411 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
23412 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
23413 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23414 * commands/lspci.c (grub_lspci_iter): Likewise.
23415
a96df3f2 234162009-04-16 Bean <bean123ch@gmail.com>
23417
23418 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
23419 value.
23420
41bb0fe9 234212009-04-15 Pavel Roskin <proski@gnu.org>
23422
23423 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
23424 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
23425 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
23426 definitions.
23427
596c6970 234282009-04-15 Felix Zielcke <fzielcke@z-51.de>
23429
23430 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 23431 that no multiple data or metadata areas are supported and `Unknown
596c6970 23432 metadata header'.
23433
7dd4a573 234342009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 23435
23436 Move loader out of the kernel
23437
23438 * kern/loader.c: moved to ...
23439 * commands/boot.c: ... moved here
23440 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
23441 * commands/boot.c (grub_cmd_boot): moved here. All users updated
23442 * include/grub/kernel.h (grub_machine_fini): export
23443 * include/grub/loader.h (grub_loader_is_loaded): update declaration
23444 (grub_loader_set): likewise
23445 (grub_loader_unset): likewise
23446 (grub_loader_boot): likewise
23447 * conf/common.rmk: new module boot.mod
23448 (pkglib_MODULES): add boot.mod
23449 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
23450 (grub_emu_SOURCES): likewise
23451 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
23452 (grub_emu_SOURCES): likewise
23453 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
23454 (grub_emu_SOURCES): likewise
23455 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
23456 (grub_emu_SOURCES): likewise
23457 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
23458 (grub_emu_SOURCES): likewise
7dd4a573 23459 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
23460 (grub_emu_SOURCES): likewise
0d5d5653 23461 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 23462 (grub_emu_SOURCES): likewise
0d5d5653 23463
7dd4a573 234642009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 23465
23466 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 23467
5999d619 23468 * kern/misc.c (grub_itoa): Removed function
23469 (grub_ltoa): likewise
23470 (grub_vsprintf): use grub_lltoa
23471
7dd4a573 234722009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 23473
23474 Restore grub-emu
23475
23476 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
23477 * conf/i386-coreboot.rmk: likewise
23478 * conf/i386-ieee1275.rmk: likewise
23479 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23480
20318222 234812009-04-15 Felix Zielcke <fzielcke@z-51.de>
23482
23483 * INSTALL: Add that `./autogen.sh' needs to be run before
23484 `./configure.'.
23485
d05f0df3 234862009-04-14 Bean <bean123ch@gmail.com>
23487
23488 * Makefile.in (pkglib_DATA): Add handler.lst.
23489 (handler.lst): New rule.
23490
23491 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
23492 * conf/i386-coreboot.rmk: Likewise.
23493 * conf/i386-ieee1275.rmk: Likewise.
23494 * conf/i386-efi.rmk: Likewise.
23495 * conf/x86_64-efi.rmk: Likewise.
23496 * conf/powerpc-ieee1275.rmk: Likewise.
23497 * conf/sparc64-ieee1275.rmk: Likewise.
23498
23499 * genhandlerlist.sh: New file.
23500
23501 * genmk.rb: Add rules to generate handler.lst.
23502
23503 * include/grub/normal.h (grub_file_getline): New function definition.
23504 (read_handler_list): Likewise.
23505 (free_handler_list): Likewise.
23506
23507 * include/grub/term.h (grub_term_register_input): Add name parameter
23508 for auto generation of handler.lst.
23509 (grub_term_register_output): Likewise.
23510
23511 * normal/handler.c: New file.
23512
23513 * normal/main.c (get_line): Renamed to grub_file_getline.
23514 (read_config_file): Use the newly renamed grub_file_getline.
23515 (read_command_list): Likewise.
23516 (read_fs_list): Likewise.
23517 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23518 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23519
23520 * term/efi/console.c (grub_console_init): Add name parameter for auto
23521 generation of handler.lst.
23522 * term/gfxterm.c: Likewise.
23523 * term/i386/pc/at_keyboard.c: Likewise.
23524 * term/i386/pc/console.c: Likewise.
23525 * term/i386/pc/serial.c: Likewise.
23526 * term/i386/pc/vesafb.c: Likewise.
23527 * term/i386/pc/vga.c: Likewise.
23528 * term/i386/pc/vga_text.c: Likewise.
23529 * term/ieee1275/ofconsole.c: Likewise.
23530 * term/usb_keyboard.c: Likewise.
23531
33c846be 235322009-04-14 Bean <bean123ch@gmail.com>
23533
23534 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23535 properly with null character.
23536
4484e01e 235372009-04-14 Felix Zielcke <fzielcke@z-51.de>
23538
23539 * configure: Remove.
23540 * config.h.in: Likewise.
f93d668e 23541 * stamp-h.in: Likewise.
4484e01e 23542 * DISTLIST: Likewise.
23543 * conf/common.mk: Likewise.
23544 * conf/i386-coreboot.mk: Likewise.
23545 * conf/i386-efi.mk: Likewise.
23546 * conf/i386-ieee1275.mk: Likewise.
23547 * conf/i386.mk: Likewise.
23548 * conf/i386-pc.mk: Likewise.
23549 * conf/powerpc-ieee1275.mk: Likewise.
23550 * conf/sparc64-ieee1275.mk: Likewise.
23551 * conf/x86_64-efi.mk: Likewise.
23552
23553 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23554 develop on GRUB.
23555
7dd4a573 235562009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 23557 David S. Miller <davem@davemloft.net>
23558
23559 * util/hostdisk.c (make_device_name): Fix buffer length
23560 calculations.
23561
e25b5a8c 235622009-04-14 Felix Zielcke <fzielcke@z-51.de>
23563
23564 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23565 <sys/param.h> and <sys/sysctl.h>.
23566 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23567 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23568 opening the device and reset them afterwards.
23569
1f1f580c 235702009-04-13 Pavel Roskin <proski@gnu.org>
23571
23572 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23573 Reported by John Stanley <jpsinthemix@verizon.net>
23574
7ebc2d6b 235752009-04-13 Robert Millan <rmh@aybabtu.com>
23576
23577 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 23578 that name for menuentries when appropriate.
7ebc2d6b 23579
d8ba3667 235802009-04-13 Felix Zielcke <fzielcke@z-51.de>
23581
23582 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23583
cba416eb 235842009-04-13 Robert Millan <rmh@aybabtu.com>
23585
23586 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23587 to Linux, simply abort telling the user it's no longer supported.
23588
a547a745 235892009-04-13 Felix Zielcke <fzielcke@z-51.de>
23590
23591 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 23592 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 23593 `freebsd_loadenv' only when devices.hints exist.
23594
232a769c 235952009-04-13 Pavel Roskin <proski@gnu.org>
23596
23597 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23598
c3012039 235992009-04-13 Felix Zielcke <fzielcke@z-51.de>
23600
23601 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23602 partition number.
23603 (grub_drive): Likewise.
23604
234022fe 236052009-04-13 David S. Miller <davem@davemloft.net>
23606
23607 * kern/sparc64/ieee1275/ieee1275.c: New file.
23608 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23609 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23610 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23611 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23612 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23613 grub_ieee1275_alloc_physmem): Declare new exported functions.
23614
d8e1836c 23615 * include/grub/sparc64/ieee1275/loader.h: New file.
23616 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23617 * include/grub/sparc64/kernel.h: Likewise.
23618 * loader/sparc64/ieee1275/linux.c: Likewise.
23619
96bd81ec 23620 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23621 (grub_fstest_SOURCES): Likewise.
23622
6a4737e5 23623 * util/hostdisk.c (make_device_name): Do not make any assumptions
23624 about the length of drive names.
23625
1d7a72fd 23626 * kern/dl.c (grub_dl_load_file): Close file immediately when
23627 we are done using it.
23628
56bc2471 236292009-04-12 David S. Miller <davem@davemloft.net>
23630
23631 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23632 values. Noticed by Pavel Roskin.
23633
df38d0bb 23634 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23635 target compiler.
7dd4a573 23636
e382e93a 23637 * genmk.rb: Add more flexible image type specification, also
23638 pass --strip-unneeded to objcopy.
23639 * conf/i386-pc.rmk: Use *_FORMAT.
23640 * conf/i386-pc.mk: Rebuilt.
23641
f5dbbca9 23642 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23643 (OFDISK_HASH_SZ): Define.
23644 (ofdisk_hash): New hash table.
23645 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23646 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23647 instead of device phandle which is not unique.
23648
91c88b12 23649 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23650 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23651 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23652 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23653 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23654 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23655 GRUB_KERNEL_MACHINE_DATA_END): Define.
23656 (grub_kernel_image_size, grub_total_module_size): Declare.
23657
5b5d4aa5 236582009-04-12 Pavel Roskin <proski@gnu.org>
23659
7dd4a573 23660 * configure.ac: Change the logic when we check for target tools.
23661 Do it when the target is specified and it's different from the
23662 specified value of the host.
5b5d4aa5 23663
c91e1793 236642009-04-11 Felix Zielcke <fzielcke@z-51.de>
23665
23666 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23667 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23668 GNU/kFreeBSD. Check if a device is a character device. Use
23669 DIOCGMEDIASIZE to get the size.
23670 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23671 support for GNU/kFreeBSD.
23672 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23673 is a character device instead of a block device. Add support for
23674 FreeBSD device names.
23675
23676 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23677 is a character device instead of a block device.
23678
23679 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23680 is a character device instead of a block device.
23681
b1ac8644 236822009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23683
23684 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23685 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23686 FreeBSD. Check if a device is a character device. Use
23687 DIOCGMEDIASIZE to get the size.
23688 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23689 support for FreeBSD.
23690 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23691 is a character device instead of a block device. Add support for
23692 FreeBSD device names.
23693
23694 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23695 a character device instead of a block device.
23696 (grub_util_check_char_device): New function.
23697
23698 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23699 a character device instead of a block device.
23700
23701 * include/grub/util/getroot.h (grub_util_check_char_device): New
23702 prototype.
23703
a3f7515a 237042009-04-11 David S. Miller <davem@davemloft.net>
23705
23706 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23707 static libgcc.
23708 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23709 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23710 function, if present.
23711 (__bswapdi2): Likewise.
23712
0d44993d 23713 * include/grub/sparc64/ieee1275/boot.h: New file.
23714 * boot/sparc64/ieee1275/boot.S: Likewise.
23715 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23716
ed3d2bc2 23717 * kern/misc.c (grub_ltoa): New function.
23718 (grub_vsprintf): Use it to format 'long' integers.
23719
d3bfb59c 237202009-04-10 David S. Miller <davem@davemloft.net>
23721
23722 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23723 slots are of type grub_ieee1275_cell_t.
23724 (grub_nand_read): Likewise.
23725 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23726 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23727 macros are used to compare values in arg/ret block of the call.
23728 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23729 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23730 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23731 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23732 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23733 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23734 grub_ieee1275_close, grub_ieee1275_set_property,
23735 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23736 grub_ieee1275_cell_t.
23737 * kern/ieee1275/openfw.c (grub_map): Likewise.
23738 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23739 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23740
450e2238 23741 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23742 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23743 (grub_devalias_iterate): Likewise.
23744
7dd4a573 237452009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 23746
23747 UFS improvements
23748
23749 * fs/ufs.c (INODE_NBLOCKS): new definition
23750 (struct grub_ufs_dirent): added fields for non-BSD dirents
23751 (grub_ufs_get_file_block): fixed double indirect handling
23752 (grub_ufs_lookup_symlink): use more robust way to determine whether
23753 symlink is inline
23754 (grub_ufs_find_file): support for non-BSD dirents
23755 (grub_ufs_dir): support for non-BSD dirents
23756
e7e6862a 237572009-04-10 Bean <bean123ch@gnail.com>
23758
23759 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23760 attribute, otherwise the size would be wrong for i386 platform.
23761
23762 * include/grub/pci.h (grub_pci_read_word): New inline function.
23763 (grub_pci_read_byte): Likewise.
23764 (grub_pci_write): Likewise.
23765 (grub_pci_write_word): Likewise.
23766 (grub_pci_write_byte): Likewise.
23767
23768 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23769
23770 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23771 (find_framebuf): Scan pci to locate the frame buffer address.
23772
23773 * commands/efi/fixvideo.c: New file.
23774
23775 * commands/efi/loadbios.c: Likewise.
23776
23777 * commands/memrw.c: Likewise.
23778
23779 * util/grub-dumpbios.in: Likewise.
23780
23781 * conf/common.rmk (grub-dumpbios): New utility.
23782 (pkglib_MODULES): New module memrw.mod.
23783 (memrw_mod_SOURCE): New macro.
23784 (memrw_mod_CFLAGS): Likewise.
23785 (memrw_mod_LDFLAGS): Likewise.
23786
7dd4a573 23787 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23788 fixvideo.mod.
23789 (loadbios_mod_SOURCE): New macro.
23790 (loadbios_mod_CFLAGS): Likewise.
23791 (loadbios_mod_LDFLAGS): Likewise.
23792 (fixvideo_mod_SOURCE): Likewise.
23793 (fixvideo_mod_CFLAGS): Likewise.
23794 (fixvideo_mod_LDFLAGS): Likewise.
23795
7dd4a573 23796 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 23797 fixvideo.mod.
23798 (loadbios_mod_SOURCE): New macro.
23799 (loadbios_mod_CFLAGS): Likewise.
23800 (loadbios_mod_LDFLAGS): Likewise.
23801 (fixvideo_mod_SOURCE): Likewise.
23802 (fixvideo_mod_CFLAGS): Likewise.
23803 (fixvideo_mod_LDFLAGS): Likewise.
23804
af63ada2 238052009-04-08 Felix Zielcke <fzielcke@z-51.de>
23806
23807 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23808
c2cdde70 238092009-04-07 David S. Miller <davem@davemloft.net>
23810
23811 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23812 support for R_SPARC_OLO10 relocations. Fix compile warning for
23813 R_SPARC_WDISP30 case.
ea3f72cf 23814 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 23815
761319cf 238162009-04-06 Pavel Roskin <proski@gnu.org>
23817
1007d1f5 23818 * include/grub/misc.h (ARRAY_SIZE): New macro.
23819 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23820 New macro.
23821 * loader/i386/linux.c (allocate_pages): Use free_pages().
23822 (grub_linux_unload): Don't use free_pages().
23823 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23824 wrong index. Treat all other modes as text modes.
23825 (grub_cmd_linux): Initialize vid_mode unconditionally to
23826 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23827
761319cf 23828 * commands/help.c (print_command_help): Use cmd->prio, not
23829 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23830
ea761d40 238312009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 23832
ea761d40 23833 Parttool
23834
23835 * parttool/pcpart.c: new file
23836 * commands/parttool.c: likewise
23837 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23838 (parttool_mod_SOURCES): new variable
23839 (parttool_mod_CFLAGS): likewise
23840 (parttool_mod_LDFLAGS): likewise
23841 (pcpart_mod_SOURCES): likewise
23842 (pcpart_mod_CFLAGS): likewise
23843 (pcpart_mod_LDFLAGS): likewise
7dd4a573 23844 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 23845 and parttool/pcpart.c
23846 * conf/i386-efi.rmk: likewise
23847 * conf/i386-ieee1275.rmk: likewise
23848 * conf/i386-pc.rmk: likewise
23849 * conf/powerpc-ieee1275.rmk: likewise
23850 * conf/sparc64-ieee1275.rmk: likewise
23851 * conf/x86_64-ieee1275.rmk: likewise
23852
05aaebfb 238532009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23854
23855 Support for mtime and further expandability of dir command
23856
23857 * include/grub/lib/datetime.h: moved to ...
7dd4a573 23858 * include/grub/datetime.h: ... moved here and added
05aaebfb 23859 declaration of grub_unixtime2datetime. All users updated
7dd4a573 23860 * include/grub/fs.h: new syntax for dir and mtime functions in
23861 struct grub_fs
05aaebfb 23862 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23863 and GRUB_FSHELP_FLAGS_MASK
23864 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23865 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23866 (grub_ext2_mtime): new function
23867 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23868 (grub_hfsplus_mtime): new function
23869 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23870 (GRUB_UFS_ATTR_FILE): likewise
23871 (GRUB_UFS_ATTR_LNK): likewise
23872 (struct grub_ufs_sblock): new fields mtime
23873 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23874 all users updated
23875 (grub_ufs_dir): mtime support
23876 (grub_ufs_mtime): new function
23877 * fs/affs.c (grub_affs_dir): use new dir syntax
23878 * fs/afs.c (grub_afs_dir): likewise
23879 * fs/cpio.c (grub_cpio_dir): likewise
23880 * fs/fat.c (grub_fat_find_dir): likewise
23881 * fs/hfs.c (grub_hfs_dir): likewise
23882 * fs/iso9660.c (grub_iso9660_dir): likewise
23883 * fs/jfs.c (grub_jfs_dir): likewise
23884 * fs/minix.c (grub_minix_dir): likewise
23885 * fs/ntfs.c (grub_ntfs_dir): likewise
23886 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23887 * fs/sfs.c (grub_sfs_dir): likewise
23888 * fs/xfs.c (grub_xfs_dir): likewise
23889 * util/hostfs.c (grub_hostfs_dir): likewise
23890 * lib/datetime.c: moved to ...
23891 * normal/datetime.c: ... moved here
23892 (grub_unixtime2datetime): new function
23893 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 23894 * normal/completion.c (iterate_dir): use new dir syntax
23895 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 23896 last modification time of a volume
7dd4a573 23897 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 23898 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 23899 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 23900 (normal_mod_SOURCES): likewise
23901 (datetime_mod_SOURCES): Removed lib/datetime.c
23902 * conf/i386-efi.rmk: likewise
7dd4a573 23903 * conf/i386-ieee1275.rmk: likewise
05aaebfb 23904 * conf/i386-pc.rmk: likewise
23905 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 23906 * conf/sparc64-ieee1275.rmk: likewise
23907 * conf/x86_64-efi.rmk: likewise
05aaebfb 23908
8a7e1a14 239092009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23910
23911 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 23912
23913 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 23914 on grub_fat_find_dir
23915 (grub_fat_find_dir): use grub_fat_iterate_dir
23916 (grub_fat_label): likewise
23917
04186a9c 239182009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23919
7dd4a573 23920 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 23921 and command.h
23922 remove extraneous kernel_elf_HEADERS
23923
da4c0bb6 239242009-04-04 Bean <bean123ch@gnail.com>
23925
23926 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23927
23928 * util/misc.c: Likewise.
23929
54ad9555 239302009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23931
23932 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23933 instead of grub_printf.
23934
7a6bf9f2 239352009-04-03 Robert Millan <rmh@aybabtu.com>
23936
23937 * loader/i386/linux.c (grub_linux_setup_video): Fill
23938 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23939 values from `mode info' structure instead of hardcoded
23940 values.
23941
3fcc2083 239422009-04-01 Pavel Roskin <proski@gnu.org>
23943
23944 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23945 unused now.
23946 * genmk.rb: Likewise.
23947 * configure.ac: Likewise.
23948
5ec9740b 239492009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23950
23951 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23952 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23953
5270cec8 239542009-04-01 David S. Miller <davem@davemloft.net>
23955
23956 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 23957 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 23958 (grub_setjmp): Mark with 'returns_twice' attribute.
23959 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23960 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23961 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23962
9c3dd854 239632009-04-01 Robert Millan <rmh@aybabtu.com>
23964
23965 Reapply fix from 2008-07-28 which was accidentally reverted; also
23966 perform the same fix to a similar check in same function.
23967
23968 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23969 with the same number are found, just use issue a warning with
23970 grub_dprintf(), as this error has been reported to be non-fatal.
23971
0d818b7e 239722009-03-31 Pavel Roskin <proski@gnu.org>
23973
23974 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23975 for cross-compilation.
23976
95646d92 239772009-03-30 Robert Millan <rmh@aybabtu.com>
23978
23979 Fix i386-ieee1275 build.
23980
23981 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23982 Remove declaration.
23983
6a003ed1 239842009-03-30 Pavel Roskin <proski@gnu.org>
23985
23986 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23987 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23988 zero-terminated, rely only on the strlen value. Fix comparison
23989 of strings differing in length.
23990
92f33540 239912009-03-30 Robert Millan <rmh@aybabtu.com>
23992
23993 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23994 checking for abi version. Improve error messages on BIOS to notify
23995 user about `linux16' command.
23996
a8c48fd5 239972009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23998
f968172e 23999 Leak fixes
a8c48fd5 24000
f968172e 24001 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
24002 in case of collision
24003 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 24004
9c323f09 240052009-03-29 Robert Millan <rmh@aybabtu.com>
24006
24007 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
24008 set `vid_mode' accordingly.
24009 (grub_linux_boot): Process `vid_mode' and set video mode.
24010
ae68f423 240112009-03-29 Robert Millan <rmh@aybabtu.com>
24012
24013 * util/grub.d/10_linux.in (linux_entry): New function.
24014 Factorize generation of Linux boot entries.
24015
5709cfc4 240162009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
24017
24018 Make the format of Environment Block plain text. The boot loader
24019 part is not tested well yet.
7dd4a573 24020
5709cfc4 24021 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
24022 (buffer): Removed.
24023 (envblk): Likewise.
24024 (usage): Remove "info" and "clear". Add "unset". Update the
24025 description of "set", as this does not delete variables any
24026 longer.
24027 (create_envblk_file): Complete rewrite.
24028 (open_envblk_file): Likewise.
24029 (cmd_info): Removed.
24030 (cmd_list): Likewise.
24031 (cmd_set): Likewise.
24032 (cmd_clear): Likewise.
24033 (list_variables): New function.
24034 (write_envblk): Likewise.
24035 (set_variables): Likewise.
24036 (unset_variables): Likewise.
24037 (main): Complete rewrite.
24038
24039 * commands/loadenv.c (buffer): Removed.
24040 (envblk): Likewise.
24041 (open_envblk_file): New function.
24042 (read_envblk_file): Complete rewrite.
24043 (grub_cmd_load_env): Likewise.
24044 (grub_cmd_list_env): Likewise.
24045 (struct blocklist): New struct.
24046 (free_blocklists): New function.
24047 (check_blocklists): Likewise.
24048 (write_blocklists): Likewise.
24049 (grub_cmd_save_env): Complete rewrite.
24050
24051 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
24052 a plain text signature.
24053 (GRUB_ENVBLK_MAXLEN): Removed.
24054 (struct grub_envblk): Complete rewrite.
24055 (grub_envblk_find): Removed.
24056 (grub_envblk_insert): Likewise.
24057 (grub_envblk_open): New prototype.
24058 (grub_envblk_set): Likewise.
24059 (grub_envblk_delete): Put const to VALUE.
24060 (grub_envblk_iterate): Put const to NAME and VALUE.
24061 (grub_envblk_close): New prototype.
24062 (grub_envblk_buffer): New inline function.
24063 (grub_envblk_size): Likewise.
24064
24065 * lib/envblk.c: Include grub/mm.h.
24066 (grub_env_find): Removed.
24067 (grub_envblk_open): New function.
24068 (grub_envblk_close): Likewise.
24069 (escaped_value_len): Likewise.
24070 (find_next_line): Likewise.
24071 (grub_envblk_insert): Removed.
24072 (grub_envblk_set): New function.
24073 (grub_envblk_delete): Complete rewrite.
24074 (grub_envblk_iterate): Likewise.
24075
a9368fd3 240762009-03-28 Robert Millan <rmh@aybabtu.com>
24077
24078 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
24079 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
24080 variables. Use 16-bit loader.
24081 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
24082 loader.
24083 * kern/i386/loader.S (grub_linux_boot): Rename to ...
24084 (grub_linux16_boot): ... this. Update all users.
24085 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
24086 (grub_linux_boot): ... this. Update all users.
24087
24088 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
24089 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
24090 commands to `linux16' and `initrd16'.
24091 (GRUB_MOD_FINI(linux)): Rename to ...
24092 (GRUB_MOD_FINI(linux16)): ... this.
24093
e4dd5a7e 240942009-03-24 Pavel Roskin <proski@gnu.org>
24095
24096 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
24097 not just for compilation.
24098
c04d6e05 240992009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
24100
24101 Move multiboot helper out of kernel
24102
24103 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
24104 `loader/i386/multiboot_helper.S'.
24105 * conf/i386-coreboot.rmk: Likewise
24106 * conf/i386-ieee1275.rmk: Likewise
24107
24108 * kern/i386/loader.S: Move multiboot helpers from here...
24109 * loader/i386/multiboot_helper.S: ...moved here
24110 * include/grub/i386/loader.h: Move declarations of multiboot
24111 helpers from here...
24112 * include/grub/i386/multiboot.h: ...moved here
24113 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
24114
42a5b3fc 241152009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24116
24117 * kern/env.c (grub_env_context_open): Added an argument to specify
24118 whether a new context inherits exported variables from current
24119 one. This is useful when making a sandbox to interpret a config
24120 file.
24121 All callers updated.
24122
24123 * include/grub/env.h (grub_env_context_open): Updated the prototype.
24124
b28bbc4e 241252009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24126
24127 * kern/env.c (grub_env_context_close): Fix memory leaks.
24128
f04f02e4 241292009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
24130
24131 * normal/main.c (grub_normal_execute): Added an argument
24132 BATCH to specify if an interactive interface should be provided
24133 after reading a config file.
24134 All callers updated.
24135 (read_command_list): Prevent being executed twice.
24136 (read_fs_list): Likewise.
24137
42a5b3fc 24138 * include/grub/normal.h (grub_normal_execute): Updated the
24139 prototype.
f04f02e4 24140
41473ac2 241412009-03-22 Pavel Roskin <proski@gno.org>
24142
fbc00b0c 24143 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
24144 _start.
24145 * kern/i386/pc/startup.S: Likewise.
24146 * kern/i386/efi/startup.S: Likewise.
24147 * kern/i386/ieee1275/startup.S: Likewise.
24148 * kern/i386/coreboot/startup.S: Likewise.
24149 * kern/x86_64/efi/startup.S: Likewise.
24150
41473ac2 24151 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
24152 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
24153 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
24154
2274cc8f 241552009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
24156
24157 Bugfixes in multiboot for bugs uncovered by solaris kernel.
24158
24159 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
24160 limit detection.
24161 Use vaddr of correct segment for entry_point.
24162
b1b797cb 241632009-03-21 Bean <bean123ch@gmail.com>
24164
24165 * commands/blocklist.c: Add include file <grub/command.h>, remove
24166 <grub/normal.h> and <grub/arg.h>.
24167 (grub_cmd_blocklist): Use the new command interface.
24168 (GRUB_MOD_INIT): Likewise.
24169 (GRUB_MOD_FINI): Likewise.
24170 * commands/boot.c: Likewise.
24171 * commands/cat.c: Likewise.
24172 * commands/cmp.c: Likewise.
24173 * commands/configfile.c: Likewise.
24174 * commands/crc.c: Likewise.
24175 * commands/echo.c: Likewise.
24176 * commands/halt.c: Likewise.
24177 * commands/handler.c: Likewise.
24178 * commands/hdparm.c: Likewise.
24179 * commands/help.c: Likewise.
24180 * commands/hexdump.c: Likewise.
24181 * commands/loadenv.c: Likewise.
24182 * commands/ls.c: Likewise.
24183 * commands/lsmmap.c: Likewise.
24184 * commands/lspci.c: Likewise.
24185 * commands/loadenv.c: Likewise.
24186 * commands/read.c: Likewise.
24187 * commands/reboot.c: Likewise.
24188 * commands/search.c: Likewise.
24189 * commands/sleep.c: Likewise.
24190 * commands/test.c: Likewise.
24191 * commands/usbtest.c: Likewise.
24192 * commands/videotest.c: Likewise.
24193 * commands/i386/cpuid.c: Likewise.
24194 * commands/i386/pc/halt.c: Likewise.
24195 * commands/i386/pc/play.c: Likewise.
24196 * commands/i386/pc/pxecmd.c: Likewise.
24197 * commands/i386/pc/vbeinfo.c: Likewise.
24198 * commands/i386/pc/vbetest.c: Likewise.
24199 * commands/ieee1275/suspend.c: Likewise.
24200 * disk/loopback.c: Likewise.
24201 * font/font_cmd.c: Likewise.
24202 * hello/hello.c: Likewise.
24203 * loader/efi/appleloader.c: Likewise.
24204 * loader/efi/chainloader.c: Likewise.
24205 * loader/i386/bsd.c: Likewise.
24206 * loader/i386/efi/linux.c: Likewise.
24207 * loader/i386/ieee1275/linux.c: Likewise.
24208 * loader/i386/linux.c: Likewise.
24209 * loader/i386/pc/chainloader.c: Likewise.
24210 * loader/i386/pc/linux.c: Likewise.
24211 * loader/powerpc/ieee1275/linux.c: Likewise.
24212 * loader/multiboot_loader.c: Likewise.
24213 * term/gfxterm.c: Likewise.
24214 * term/i386/pc/serial.c: Likewise.
24215 * term/terminfo.c: Likewise.
24216
24217 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
24218 * term/i386/pc/vga.c: Likewise.
24219 * video/readers/jpeg.c: Likewise.
24220 * video/readers/png.c: Likewise.
24221 * video/readers/tga.c: Likewise.
24222
24223 * util/grub-fstest (cmd_loopback): Removed.
24224 (cmd_blocklist): Likewise.
24225 (cmd_ls): Likewise.
24226 (grub_register_command): Likewise.
24227 (grub_unregister_command): Likewise.
24228 (execute_command): Use grub_command_find to locate command and execute
24229 it.
24230
24231 * include/grub/efi/chainloader.h: Removed.
24232 * loader/efi/chainloader_normal.c: Likewise.
24233 * loader/i386/bsd_normal.c: Likewise.
24234 * loader/i386/pc/chainloader_normal.c: Likewise.
24235 * loader/i386/pc/multiboot_normal.c: Likewise.
24236 * loader/linux_normal.c: Likewise.
24237 * loader/multiboot_loader_normal.c: Likewise.
24238 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24239
24240 * gencmdlist.sh: Scan new registration command grub_register_extcmd
24241 and grub_register_command_p1.
24242
24243 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
24244 kern/command.c, lib/arg.c and commands/extcmd.c.
24245 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
24246 (minicmd_mod_SOURCES): New variable.
24247 (minicmd_mod_CFLAGS): Likewise.
24248 (minicmd_mod_LDFLAGS): Likewise.
24249 (extcmd_mod_SOURCES): Likewise.
24250 (extcmd_mod_CFLAGS): Likewise.
24251 (extcmd_mod_LDFLAGS): Likewise.
24252 (boot_mod_SOURCES): Removed.
24253 (boot_mod_CFLAGS): Likewise.
24254 (boot_mod_LDFLAGS): Likewise.
24255
24256 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
24257 kern/corecmd.c.
24258 (kernel_img_HEADERS): Add command.h.
24259 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
24260 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
24261 and lib/arg.c.
24262 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
24263 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
24264 remove the corresponding normal mode command.
24265 (normal_mod_SOURCES): Remove normal/arg.c.
24266 * conf/i386-coreboot.rmk: Likewise.
24267 * conf/i386-efi.rmk: Likewise.
24268 * conf/i386-ieee1275.rmk: Likewise.
24269 * conf/powerpc-ieee1275.rmk: Likewise.
24270 * conf/x86_64-efi.rmk: Likewise.
24271
24272 * include/grub/arg.h: Move from here ...
24273 * include/grub/lib/arg.h: ... to here.
24274
24275 * normal/arg.c: Move from here ...
24276 * lib/arg.c: ... to here.
24277
24278 * commands/extcmd.c: New file.
24279 * commands/minicmd.c: Likewise.
24280 * include/grub/command.h: Likewise.
24281 * include/grub/extcmd.h: Likewise.
24282 * kern/command.c: Likewise.
24283 * kern/corecmd.c: Likewise.
24284
24285 * kern/list.c (grub_list_iterate): Return int instead of void.
24286 (grub_list_insert): New function.
24287 (grub_prio_list_insert): Likewise.
24288
24289 * kern/rescue.c (grub_rescue_command): Removed.
24290 (grub_rescue_command_list): Likewise.
24291 (grub_rescue_register_command): Likewise.
24292 (grub_rescue_unregister_command): Likewise.
24293 (grub_rescue_cmd_boot): Move to minicmd.c
24294 (grub_rescue_cmd_help): Likewise.
24295 (grub_rescue_cmd_info): Likewise.
24296 (grub_rescue_cmd_boot): Likewise.
24297 (grub_rescue_cmd_testload): Likewise.
24298 (grub_rescue_cmd_dump): Likewise.
24299 (grub_rescue_cmd_rmmod): Likewise.
24300 (grub_rescue_cmd_lsmod): Likewise.
24301 (grub_rescue_cmd_exit): Likewise.
24302 (grub_rescue_print_devices): Moved to corecmd.c.
24303 (grub_rescue_print_files): Likewise.
24304 (grub_rescue_cmd_ls): Likewise.
24305 (grub_rescue_cmd_insmod): Likewise.
24306 (grub_rescue_cmd_set): Likewise.
24307 (grub_rescue_cmd_unset): Likewise.
7d074e3c 24308 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 24309 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 24310 commands, remove grub_rescue_register_command calls.
b1b797cb 24311
7d074e3c 24312 * normal/command.c (grub_register_command): Removed.
b1b797cb 24313 (grub_unregister_command): Likewise.
24314 (grub_command_find): Likewise.
24315 (grub_iterate_commands): Likewise.
24316 (rescue_command): Likewise.
24317 (export_command): Moved to corecmd.c.
24318 (set_command): Removed.
24319 (unset_command): Likewise.
24320 (insmod_command): Likewise.
24321 (rmmod_command): Likewise.
24322 (lsmod_command): Likewise.
24323 (grub_command_init): Likewise.
24324
24325 * normal/completion.c (iterate_command): Use cmd->prio to check for
24326 active command.
24327 (complete_arguments): Use grub_extcmd_t structure to find options.
24328 (grub_normal_do_completion): Change function grub_iterate_commands to
24329 grub_command_iterate.
24330
24331 * normal/execute.c (grub_script_execute_cmd): No need to parse
24332 argument here.
24333
24334 * normal/main.c (grub_dyncmd_dispatcher): New function.
24335 (read_command_list): Register unload commands as dyncmd.
24336 (grub_cmd_normal): Use new command interface, register rescue,
24337 unregister normal at entry, register normal, unregister rescue at exit.
24338
24339 * include/grub/list.h (grub_list_test_t): New type.
24340 (grub_list_iterate): Return int instead of void.
24341 (grub_list_insert): New function.
24342 (GRUB_AS_NAMED_LIST_P): New macro.
24343 (GRUB_AS_PRIO_LIST): Likewise.
24344 (GRUB_AS_PRIO_LIST_P): Likewise.
24345 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
24346 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
24347 (grub_prio_list): New structure.
24348 (grub_prio_list_insert): New function.
24349 (grub_prio_list_remove): New inline function.
24350
24351 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
24352 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
24353 (GRUB_COMMAND_FLAG_MENU): Likewise.
24354 (GRUB_COMMAND_FLAG_BOTH): Likewise.
24355 (GRUB_COMMAND_FLAG_TITLE): Likewise.
24356 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
24357 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
24358 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
24359 (grub_command): Likewise.
24360 (grub_register_command): Likewise.
24361 (grub_command_find): Likewise.
24362 (grub_iterate_commands): Likewise.
24363 (grub_command_init): Likewise.
24364 (grub_arg_parse): Likewise.
24365 (grub_arg_show_help): Likewise.
24366
24367 * include/grub/rescue.h (grub_rescue_register_command): Removed.
24368 (grub_rescue_unregister_command): Likewise.
24369
24370 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
24371 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
24372 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
24373
24374 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
24375 grub_rescue_cmd_initrd.
24376 * include/grub/i386/loader.h: Likewise.
24377 * include/grub/x86_64/loader.h: Likewise.
24378
24379 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
24380
1f4147aa 243812009-03-21 Bean <bean123ch@gmail.com>
24382
24383 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
24384 instead of stat in mingw environment.
24385
24386 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
24387
24388 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
24389
24390 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
24391 AC_CONFIG_LINKS.
24392
2156d5ba 243932009-03-21 Bean <bean123ch@gmail.com>
24394
24395 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
24396 out of range error.
24397
177b82ca 243982009-03-18 Michel Dänzer <michel@daenzer.net>
24399
24400 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
24401 checking inode flags for EXT4_EXTENTS_FLAG.
24402
14aad807 244032009-03-18 Robert Millan <rmh@aybabtu.com>
24404
24405 * loader/i386/linux.c: Include `<grub/video.h>' and
24406 `<grub/i386/pc/vbe.h>'..
24407 (grub_linux_setup_video): New function. Loosely based on the EFI one.
24408 (grub_linux32_boot): Attempt to configure video settings with
24409 grub_linux_setup_video().
24410 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
24411 to avoid grub_console_fini() which would step out of graphical mode
24412 unconditionally.
24413
8cf83a27 244142009-03-14 Robert Millan <rmh@aybabtu.com>
24415
24416 Fix build on powerpc.
24417 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
24418
40164e75 244192009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
24420
24421 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
24422 background image command.
24423
c58bc32a 244242009-03-12 Colin D Bennett <colin@gibibit.com>
24425
24426 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
24427 (grub_gfxterm_putchar): Extract pairs of identical calls to
24428 draw_cursor out of conditional blocks.
24429
5415144a 244302009-03-11 Pavel Roskin <proski@gnu.org>
24431
24432 * fs/hfs.c (grub_hfs_strncasecmp): New function.
24433 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
24434
6394042e 244352009-03-11 Robert Millan <rmh@aybabtu.com>
24436
24437 * loader/i386/multiboot_elfxx.c
24438 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
24439
b7b50e5f 244402009-03-11 Felix Zielcke <fzielcke@z-51.de>
24441
24442 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
24443 `kern/handler.c'.
24444
1ca7fc96 244452009-03-11 Robert Millan <rmh@aybabtu.com>
24446
24447 * loader/i386/multiboot.c (code_size): New variable.
24448 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 24449 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 24450 4-byte alignment to MBI and others by increasing
7d074e3c 24451 `boot_loader_name_length' appropriately.
1ca7fc96 24452
24453 * loader/i386/multiboot_elfxx.c
24454 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
24455
a83ea1d2 244562009-03-09 Felix Zielcke <fzielcke@z-51.de>
24457
24458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
24459 `fs/ext2.c'.
24460
aa9f3bff 244612009-03-08 Robert Millan <rmh@aybabtu.com>
24462
24463 Make loader/i386/linux.c usable on i386-pc again.
24464
24465 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
24466 memory to heap.
24467 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
24468 `#error' stanza.
24469
d8b3b60e 244702009-03-07 Bean <bean123ch@gmail.com>
24471
24472 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
24473 allocation.
24474
b362c9e9 244752009-03-06 Robert Millan <rmh@aybabtu.com>
24476
24477 Fix display issue on terminals with screen size other than 80x25
24478 (e.g. gfxterm with resolution higher than 640x480).
24479
24480 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 24481 position relative to the center of the terminal instead of relying
b362c9e9 24482 on a hardcoded offset.
24483
9304eef1 244842009-03-04 Robert Millan <rmh@aybabtu.com>
24485
24486 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
24487 installed.
24488
24489 * Makefile.in (host_kernel): New variable.
24490 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
24491 scripts instead of just the windows one.
24492 * configure.ac: Initialize and AC_SUBST `host_kernel'.
24493
eabc95fb 244942009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 24495
24496 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
24497 `kern/handler.c'.
24498 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24499 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24501 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24502 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24503 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24504
ceb1223c 245052009-03-04 Felix Zielcke <fzielcke@z-51.de>
24506
24507 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24508 or if there's no space for the disk label and print the partition number on a
24509 invalid magic.
24510
4910684a 245112009-03-04 Felix Zielcke <fzielcke@z-51.de>
24512
24513 * util/misc.c: Include <time.h>.
24514 (grub_millisleep): New function.
24515
7e9ca17a 245162009-03-04 Bean <bean123ch@gmail.com>
24517
24518 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24519 another option -mno-red-zone.
24520
24521 * commands/handler.c: Change module description.
24522
24523 * kern/handler.c: Add missing space at the end of description line.
24524
24525 * kern/list.c: Likewise.
24526
f501677c 245272009-03-03 Robert Millan <rmh@aybabtu.com>
24528
24529 Move more components to the relocation area, and fix mbi pointer
24530 handling to use the destination rather than the origin (thanks to
24531 Vladimir Serbinenko for spotting).
24532
24533 * loader/i386/multiboot.c (mbi_dest): New variable.
24534 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24535 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24536 relocation area.
24537
9902d047 245382009-03-01 Bean <bean123ch@gmail.com>
24539
50fb7002 24540 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 24541 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24542 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24543 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24544
24545 * loader/i386/efi/linux.c (acpi_guid): New variable.
24546 (acpi_guid): Likewise.
24547 (EBDA_SEG_ADDR): New constant.
24548 (LOW_MEM_ADDR): Likewise.
24549 (FAKE_EBDA_SEG): Likewise.
24550 (fake_bios_data): New function.
24551 (grub_linux_boot): Call fake_bios_data.
24552
71b9f361 245532009-03-01 Bean <bean123ch@gmail.com>
24554
24555 * commands/terminal.c: Removed.
24556
24557 * commands/handler.c: New file.
24558
24559 * include/grub/list.h: Likewise.
24560
24561 * include/grub/handler.h: Likewise.
24562
24563 * kern/list.c: Likewise.
24564
24565 * kern/handler.c: Likewise.
24566
24567 * kern/term.h: Include header file <grub/handler.h>.
24568 (grub_term_input): Move next field to the beginning.
24569 (grub_term_output): Likewise.
24570 (grub_term_input_class): New variable.
24571 (grub_term_output_class): Likewise.
24572 (grub_term_register_input): Changed to inline function.
24573 (grub_term_register_output): Likewise.
24574 (grub_term_unregister_input): Likewise.
24575 (grub_term_unregister_output): Likewise.
24576 (grub_term_set_current_input): Likewise.
24577 (grub_term_set_current_output): Likewise.
24578 (grub_term_get_current_input): Likewise.
24579 (grub_term_get_current_output): Likewise.
24580 (grub_term_iterate_input): Removed.
24581 (grub_term_iterate_output): Likewise.
24582
24583 * kern/term.c (grub_term_list_input): Removed.
24584 (grub_term_list_output): Likewise.
24585 (grub_term_input_class): New variable.
24586 (grub_term_output_class): Likewise.
50fb7002 24587 (grub_cur_term_input): Change variable as macro.
71b9f361 24588 (grub_cur_term_output): Likewise.
24589 (grub_term_register_input): Removed.
24590 (grub_term_register_output): Likewise.
24591 (grub_term_unregister_input): Likewise.
24592 (grub_term_unregister_output): Likewise.
24593 (grub_term_set_current_input): Likewise.
24594 (grub_term_set_current_output): Likewise.
24595 (grub_term_iterate_input): Likewise.
24596 (grub_term_iterate_output): Likewise.
24597 (grub_term_get_current_input): Likewise.
24598 (grub_term_get_current_output): Likewise.
24599
24600 * util/grub-editenv.c: Include header file <grub/handler.h>.
24601 (grub_term_get_current_input): Removed.
24602 (grub_term_get_current_output): Likewise.
24603 (grub_term_input_class): New variable.
50fb7002 24604 (grub_term_output_class): Likewise.
71b9f361 24605
24606 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24607 (grub_term_get_current_output): Likewise.
24608 (grub_term_input_class): New variable.
50fb7002 24609 (grub_term_output_class): Likewise.
71b9f361 24610
24611 * util/grub-probe.c (grub_term_get_current_input): Removed.
24612 (grub_term_get_current_output): Likewise.
24613 (grub_term_input_class): New variable.
50fb7002 24614 (grub_term_output_class): Likewise.
71b9f361 24615
24616 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24617 (grub_term_get_current_output): Likewise.
24618 (grub_term_input_class): New variable.
50fb7002 24619 (grub_term_output_class): Likewise.
71b9f361 24620
24621 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24622 (terminal_mod_SOURCES): Likewise.
24623 (terminal_mod_CFLAGS): Likewise.
24624 (terminal_mod_LDFLAGS): Likewise.
24625
24626 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24627 handler.c.
24628 (kernel_img_SOURCES): Add list.c and handler.c.
24629 (kernel_img_HEADERS): Add list.h and handler.h.
24630
24631 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24632 handler.c.
24633 (kernel_mod_SOURCES): Add list.c and handler.c.
24634 (kernel_mod_HEADERS): Add list.h and handler.h.
24635
24636 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24637 handler.c.
24638 (kernel_elf_SOURCES): Add list.c and handler.c.
24639 (kernel_elf_HEADERS): Add list.h and handler.h.
24640
24641 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24642 handler.c.
24643 (kernel_elf_SOURCES): Add list.c and handler.c.
24644 (kernel_elf_HEADERS): Add list.h and handler.h.
24645
24646 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24647 handler.c.
24648 (kernel_mod_SOURCES): Add list.c and handler.c.
24649 (kernel_mod_HEADERS): Add list.h and handler.h.
24650
24651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24652 handler.c.
24653 (kernel_elf_SOURCES): Add list.c and handler.c.
24654 (kernel_elf_HEADERS): Add list.h and handler.h.
24655
8a31787f 246562009-02-27 Robert Millan <rmh@aybabtu.com>
24657
24658 Factorize elf32 / elf64 code in Multiboot loader. This will
24659 prevent it from getting out of sync again.
24660
24661 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24662 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24663 grub_multiboot_load_elf64): Move from here ...
24664 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24665 grub_multiboot_load_elf): ... to here (new file).
24666
51cd3dfc 246672009-02-27 Robert Millan <rmh@aybabtu.com>
24668
24669 * util/grub.d/10_linux.in: Rename "single-user mode" to
24670 "recovery mode".
24671
6e8c9c3a 246722009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24673
24674 Don't leak in SCSI code.
24675 * disk/scsi.c (grub_scsi_close): free `scsi'.
24676
4b6bf4f9 246772009-02-27 Robert Millan <rmh@aybabtu.com>
24678
24679 * loader/i386/pc/multiboot.c: Move from here ...
24680 * loader/i386/multiboot.c: ... to here. Update all users.
24681
b9413424 246822009-02-27 Robert Millan <rmh@aybabtu.com>
24683
24684 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24685 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24686
50fb7002 246872009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 24688
24689 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24690 b-tree.
24691
8cc50345 246922009-02-27 Robert Millan <rmh@aybabtu.com>
24693
24694 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24695 `0x' qualifier as 0 when base is specified as parameter).
24696
6e09b8b7 246972009-02-24 Bean <bean123ch@gmail.com>
24698
24699 * configure.ac: Check for -mcmodel=large in x86_64 target.
24700
24701 * include/grub/efi/api.h (efi_call_10): New macro.
24702 (efi_wrap_10): New function.
24703
24704 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24705 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24706 (GRUB_PE32_REL_BASED_LOW): Likewise.
24707 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24708 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24709 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24710 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24711 (GRUB_PE32_REL_BASED_REL): Likewise.
24712 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24713 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24714 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24715
24716 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24717 issue.
24718
24719 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24720 (efi_wrap_10): New function.
24721
24722 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24723
24724 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24725 MB/MBP model (NV chipset).
24726 (devdata_devs): Add devpath_5 to the list.
24727
24728 * load/i386/efi/linux.c (video_base): Remove variable.
24729 (RGB_MASK): New macro.
24730 (RGB_MAGIC): Likewise.
24731 (LINE_MIN): Likewise.
24732 (LINE_MAX): Likewise.
24733 (FBTEST_STEP): Likewise.
24734 (FBTEST_COUNT): Likewise.
24735 (fb_list): New variable.
24736 (grub_find_video_card): Remove function.
24737 (find_framebuf): New function.
24738 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24739 line length.
24740
24741 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24742 problem for x86_64.
24743
74b21bee 247442009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24745
24746 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24747
24748 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24749 coding tool name.
24750
a455f472 247512009-02-22 Robert Millan <rmh@aybabtu.com>
24752
24753 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24754 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24755 in our relocation, instead of using it directly from heap. Also
24756 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24757
6374daf3 247582009-02-21 Robert Millan <rmh@aybabtu.com>
24759
24760 Implement USB keyboard support (based on patch by Marco Gerards)
24761
24762 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24763 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24764 (usb_keyboard_mod_LDFLAGS): New variables.
24765
24766 * term/usb_keyboard.c: New file.
24767
8fa4ea70 247682009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24769
24770 Corrected wrong declaration
24771
24772 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24773
353976ac 247742009-02-14 Christian Franke <franke@computer.org>
24775
24776 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24777 (grub_lspci_iter): Print class code and programming interface byte.
24778
6aa1169b 247792009-02-14 Christian Franke <franke@computer.org>
24780
24781 * gendistlist.sh: Ignore `.svn' directories.
24782
265372ca 247832009-02-14 Felix Zielcke <fzielcke@z-51.de>
24784
24785 * fs/fat.c: Add 2009 to Copyright line.
24786
9ff516f3 247872009-02-14 Christian Franke <franke@computer.org>
24788
24789 * commands/hdparm.c: New file. Provides `hdparm' command
24790 which sends ATA commands via grub_disk_ata_pass_through ().
24791
24792 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24793
24794 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24795 and <grub/cpu/io.h> to include/grub/ata.h.
24796 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24797 (GRUB_CDROM_SECTOR_SIZE): Remove.
24798 (GRUB_ATA_*): Move to include/grub/ata.h.
24799 (GRUB_ATAPI_*): Likewise.
24800 (enum grub_ata_commands): Likewise.
24801 (enum grub_ata_timeout_milliseconds): Likewise.
24802 (struct grub_ata_device): Likewise.
24803 (grub_ata_regset): Likewise.
24804 (grub_ata_regget): Likewise.
24805 (grub_ata_regset2): Likewise.
24806 (grub_ata_regget2): Likewise.
24807 (grub_ata_check_ready): Likewise.
24808 (grub_ata_wait_not_busy): Remove static, exported in
24809 include/grub/ata.h.
24810 (grub_ata_wait_drq): Likewise.
24811 (grub_ata_pio_read): Likewise.
24812
24813 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24814 function for hdparm.mod.
24815
24816 * include/grub/ata.h: New file, contains declarations from
24817 disk/ata.c.
24818 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24819
24820 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24821 (grub_disk_ata_pass_through): New exported variable.
24822
24823 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24824
772e23da 248252009-02-13 Colin D Bennett <colin@gibibit.com>
24826
24827 Support multiple fallback entries, and provide an API to support
24828 executing default+fallback menu entries. Renamed the `terminal' menu
24829 viewer to `text'.
24830
24831 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24832 variable declaration.
24833 (grub_menu_execute_callback): New structure declaration.
24834 (grub_menu_execute_callback_t): New typedef.
24835 (grub_menu_execute_with_fallback): New function declaration.
24836 (grub_menu_get_entry): Likewise.
24837 (grub_menu_get_timeout): Likewise.
24838 (grub_menu_set_timeout): Likewise.
24839
24840 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24841
24842 * normal/menu.c (grub_wait_after_message): Moved to
24843 `normal/menu_text.c'.
24844 (draw_border): Likewise.
24845 (print_message): Likewise.
24846 (print_entry): Likewise.
24847 (print_entries): Likewise.
24848 (grub_menu_init_page): Likewise.
24849 (get_entry_number): Likewise.
24850 (print_timeout): Likewise.
24851 (run_menu): Likewise.
24852 (grub_menu_execute_entry): Likewise.
24853 (show_text_menu): Likewise.
24854 (get_and_remove_first_entry_number): New function.
24855 (grub_menu_execute_with_fallback): Likewise.
24856 (get_entry): Renamed to ...
24857 (grub_menu_get_entry): .. this and made it global.
24858 (get_timeout): Renamed to ...
24859 (grub_menu_get_timeout): ... this and made it global.
24860 (set_timeout): Renamed to ...
24861 (grub_menu_set_timeout): ... this and made it global.
24862 (grub_normal_terminal_menu_viewer): Renamed to ...
24863 (grub_normal_text_menu_viewer): ... this.
24864
24865 * normal/menu_text.c: New file. Extracted text-menu-specific code
24866 from normal/menu.c.
24867
24868 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24869 (normal_mod_SOURCES): Likewise.
24870
24871 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24872 (normal_mod_SOURCES): Likewise.
24873
24874 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24875 (normal_mod_SOURCES): Likewise.
24876
24877 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24878 (normal_mod_SOURCES): Likewise.
24879
24880 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24881 (normal_mod_SOURCES): Likewise.
24882
24883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24884 (normal_mod_SOURCES): Likewise.
24885
24886 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24887 (normal_mod_SOURCES): Likewise.
24888
16ac430e 248892009-02-11 Robert Millan <rmh@aybabtu.com>
24890
24891 * util/grub.d/00_header.in: Update old reference to `font' command.
24892
06ff20fc 248932009-02-10 Felix Zielcke <fzielcke@z-51.de>
24894
24895 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24896
24897 Based on patch from Javier Martín.
24898
96da9407 248992009-02-09 Felix Zielcke <fzielcke@z-51.de>
24900
24901 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 24902 to avoid false positives with FAT.
96da9407 24903 (grub_fstest_SOURCES): Likewise.
24904 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24905 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24907 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24909 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24910
6dca6fe4 249112009-02-09 Felix Zielcke <fzielcke@z-51.de>
24912
06ff20fc 24913 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 24914 bpb.version_specific.fat12_or_fat16.fstype and
24915 bpb.version_specific.fat32.fstype.
24916
2550c62f 249172009-02-08 Robert Millan <rmh@aybabtu.com>
24918
be110b30 24919 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 24920
56978920 249212009-02-08 Robert Millan <rmh@aybabtu.com>
24922
24923 * Makefile.in (host_os, host_cpu): New variables.
24924 (target_os): Remove. Update all users.
24925
d64399b5 249262009-02-08 Marco Gerards <marco@gnu.org>
24927
24928 * Makefile.in (enable_grub_emu_usb): New variable.
24929 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24930 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24931 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24932 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24933 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24934 `usbtest.mod' and `usbms.mod'.
24935 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24936 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24937 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24938 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24939 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24940 variables.
24941
24942 * disk/usbms.c: New file.
24943
24944 * include/grub/usb.h: Likewise.
24945
24946 * include/grub/usbtrans.h: Likewise.
24947
24948 * include/grub/usbdesc.h: Likewise.
24949
24950 * bus/usb/usbtrans.c: Likewise.
24951
24952 * bus/usb/ohci.c: Likewise.
24953
24954 * bus/usb/uhci.c: Likewise.
24955
24956 * bus/usb/usbhub.c: Likewise.
24957
24958 * bus/usb/usb.c: Likewise.
24959
24960 * commands/usbtest.c: Likewise.
24961
24962 * util/usb.c: Likewise.
50fb7002 24963
d64399b5 24964 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24965
24966 * configure.ac: Test for libusb presence.
50fb7002 24967
d64399b5 24968 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24969
2b40d6bb 249702009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24971
24972 * kern/mm.c: Add more comments.
24973
73a4ce81 249742009-02-08 Robert Millan <rmh@aybabtu.com>
24975
24976 Patch from Javier Martín.
24977 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24978 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24979
f821ce59 249802009-02-08 Robert Millan <rmh@aybabtu.com>
24981
24982 * fs/cpio.c: Split tar functionality to ...
24983 * fs/tar.c: ... here (new file). Update all users.
24984
aebfc4b0 249852009-02-07 Robert Millan <rmh@aybabtu.com>
24986
24987 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24988 backward-incompatible features.
24989
24990 Based on patch from Javier Martín, with some adjustments.
24991
50fb7002 249922009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 24993
24994 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24995
0bb5115e 249962009-02-07 Robert Millan <rmh@aybabtu.com>
24997
24998 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24999 position of `disk/lvm.c' to ensure grub_init_all() always picks it
25000 after the RAID stuff.
25001
38a0f8e7 250022009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
25003
50fb7002 25004 Fixes problem when running vbetest command as reported by
38a0f8e7 25005 Vladimir Serbinenko <phcoder@gmail.com>.
25006
25007 * (grub_vbe_set_video_mode): Fixed problem with text modes.
25008
3143cc1c 250092009-02-04 Felix Zielcke <fzielcke@z-51.de>
25010
25011 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
25012 /dev/md/NpN style mdraid devices.
25013
9cba6fce 250142009-02-03 Felix Zielcke <fzielcke@z-51.de>
25015
25016 * util/unifont2pff.rb: Remove.
25017
e507a2c1 250182009-02-03 Felix Zielcke <fzielcke@z-51.de>
25019
25020 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
25021 `#'.
25022
d2c2b4cd 250232009-02-03 Felix Zielcke <fzielcke@z-51.de>
25024
25025 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
25026 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25027 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25028 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25030 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25031 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25032
b4315fb0 250332009-02-02 Christian Franke <franke@computer.org>
25034
25035 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
25036
de3aa260 250372009-02-01 Felix Zielcke <fzielcke@z-51.de>
25038
7c3ff286 25039 * INSTALL: Note that we now require at least autoconf 2.59 and
25040 that LZO is optional.
de3aa260 25041
825a182b 250422009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
25043
25044 Base on patch on bug #24154 created by Tomas Tintera
25045 <trosos@seznam.cz>.
25046
25047 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
25048
a69ef770 250492009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
25050
7c3ff286 25051 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 25052 <bero@arklinux.org>.
25053
25054 * normal/parser.y (script_init): Add missing semicolon.
25055
6fa42fa6 250562009-01-31 Colin D Bennett <colin@gibibit.com>
25057
7c3ff286 25058 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 25059 (free_menu_entry_classes): Added.
25060 (grub_normal_menu_addentry): Added class property handling.
25061 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
25062 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
25063
25064 * normal/menu_viewer.c: New file.
25065
25066 * normal/menu.c (run_menu_entry): Renamed to ...
25067 (grub_menu_execute_entry): ... this and made it as global.
25068 (grub_menu_run): Renamed to ...
25069 (show_text_menu): ... this and made it local.
25070 (show_text_menu): Adapt to new function names.
25071 (grub_normal_terminal_menu_viewer): New global variable.
25072
25073 * include/grub/menu.h: New file.
25074
25075 * include/grub/menu_viewer.h: New file.
25076
25077 * include/grub/normal.h: Added include to grub/menu.h.
25078 (grub_menu_entry): Moved to include/grub/menu.h.
25079 (grub_menu_entry_t): Likewise.
25080 (grub_menu): Likewise.
25081 (grub_menu_t): Likewise.
25082 (grub_normal_terminal_menu_viewer): Added.
25083 (grub_menu_execute_entry): Likewise.
25084 (grub_menu_run): Removed.
25085
25086 * DISTLIST: Added include/grub/menu.h.
25087 Added include/grub/menu_viewer.h.
25088 Added normal/menu_viewer.c.
25089
250902009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
25091
25092 * normal/execute.c (grub_script_execute_menuentry): Changed to use
25093 arglist for menutitle arguments.
25094
25095 * normal/main.c (grub_normal_menu_addentry): Likewise.
25096
25097 * normal/parser.y (menuentry): Likewise.
25098
25099 * normal/script.c (grub_script_create_cmdmenu): Likewise.
25100
25101 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
25102 (grub_script_create_cmdmenu): Likewise.
25103
25104 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
25105
25106 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
25107 changes.
25108
25109 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
25110
25111 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
25112
25113 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
25114
25115 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25116
25117 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25118
25119 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
25120
56192c23 251212009-01-30 Christian Franke <franke@computer.org>
25122
25123 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
25124 in option help text.
25125
d72521b3 251262009-01-27 Pavel Roskin <proski@gnu.org>
25127
25128 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
25129
994b5e84 251302009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25131
25132 * commands/lsmmap.c: Add include to grub/machine/memory.h.
25133
25134 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
25135
25136 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
25137 unregister function.
25138
6a7eab2c 251392009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
25140
25141 * disk/scsi.c (grub_scsi_read): Fix sign problem.
25142
25143 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
25144
25145 * util/grub-mkfont.c (usage): Fix typo.
25146
25147 * util/elf/grub-mkimage.c (load_modules): Fix warning.
25148
1806b56e 251492009-01-26 Daniel Mierswa <impulze@impulze.org>
25150
3fb18f09 25151 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
25152
336e1fb9 25153 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
25154
1806b56e 25155 * kern/misc.c (grub_strcasecmp): New function.
25156 (grub_strcasecmp): Use grub_size_t instead of int for length.
25157 Fix return value.
25158 * include/grub/misc.h: Update function prototypes.
25159
580b2a0f 251602009-01-26 Robert Millan <rmh@aybabtu.com>
25161
25162 * configure.ac: Fix cross-compilation check.
ef257b36 25163
d31c24f1 251642009-01-22 Christian Franke <franke@computer.org>
25165
25166 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
25167 (precision) digit string. Allow `.format2' without `format1' (width).
25168 Limit input chars for `%s' output to `format2' if specified. This is
25169 compatible with standard printf ().
25170
3138b44c 251712009-01-22 Christian Franke <franke@computer.org>
25172
25173 * disk/ata.c (grub_ata_wait_status): Replace by ...
25174 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
25175 other status bits may be invalid while BSY is asserted.
25176 (grub_ata_check_ready): New function.
25177 (grub_ata_cmd): Removed.
25178 (grub_ata_wait_drq): New function.
25179 (grub_ata_strncpy): Remove inline.
25180 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
25181 and error check now done by grub_ata_wait_drq ().
25182 (grub_ata_pio_write): Likewise.
25183 (grub_atapi_identify): Set DEV before check for !BSY. Use
25184 grub_ata_wait_drq () to wait for data.
25185 (grub_ata_device_initialize): Add status register check to
25186 detect missing SATA slave devices. Add debug messages.
25187 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
25188 (grub_atapi_packet): Set DEV before check for !BSY. Replace
25189 transfer loop by grub_ata_pio_write ().
25190 (grub_ata_identify): Set DEV before check for !BSY. Use
25191 grub_ata_wait_drq () to wait for data.
ef257b36 25192 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 25193 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
25194 read/write in one loop. Fix invalid command on write. Fix incomplete
25195 command on (size % batch) == 0. Add missing error check after write of
25196 last block. Add debug messages.
25197 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
25198
59a64ef6 251992009-01-19 Christian Franke <franke@computer.org>
25200
25201 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
25202 (GRUB_ATAPI_IREASON_*): Likewise.
25203 (grub_ata_pio_write): Fix timeout error return.
25204 (grub_atapi_identify): Add grub_ata_wait () after cmd.
25205 (grub_atapi_wait_drq): New function.
25206 (grub_atapi_packet): New parameter `size'.
25207 Use grub_atapi_wait_drq () and direct write instead of
25208 grub_ata_pio_write ().
25209 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
25210 reads the number of bytes requested by the device for each DRQ
25211 assertion.
25212 (grub_atapi_write): Remove old implementation, return not
25213 implemented instead.
25214
1cfe20b3 252152009-01-19 Christian Franke <franke@computer.org>
25216
25217 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
25218 of 512 to calculate data size.
25219 (grub_scsi_read12): Likewise.
25220 (grub_scsi_write10): Likewise.
25221 (grub_scsi_write12): Likewise.
25222 (grub_scsi_read): Adjust size according to blocksize.
25223 Add checks for invalid blocksize and unaligned transfer.
25224
bee5fe5d 252252009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
25226
25227 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
25228
ef257b36 25229 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 25230 width glyphs.
25231
3e643f8c 252322009-01-19 Robert Millan <rmh@aybabtu.com>
25233
25234 * config.guess: Update to latest version from config git.
25235 * config.sub: Likewise.
25236
4fa80998 252372009-01-17 Felix Zielcke <fzielcke@z-51.de>
25238
25239 * Makefile.in: Change font compilation to use new grub-mkfont instead
25240 of java version.
25241
25242 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
25243 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
25244 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25245 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25246 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
25247 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
25248 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
25249 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
25250 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25251
7086085b 252522009-01-16 Christian Franke <franke@computer.org>
25253
25254 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
25255 (enum grub_ata_timeout_milliseconds): New enum.
25256 (grub_ata_wait_status): Add parameter milliseconds.
25257 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
25258 recovery from timed-out commands.
25259 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
25260 return grub_errno instead of REG_ERROR.
25261 (grub_ata_pio_write): Add parameter milliseconds.
25262 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
25263 Pass milliseconds to grub_ata_wait_status () and
25264 grub_ata_pio_read ().
25265 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
25266 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
25267 grub_ata_wait_status (). Fix IDENTIFY timeout check.
25268 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
25269 It is not suitable for device detection, because DEV bit is ignored,
25270 the command may run too long, and not all devices set the signature
25271 properly.
25272 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
25273 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
25274 Fix device selection, DEV bit must be set first to address the registers
25275 of the correct device.
25276 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
25277 grub_ata_pio_read/write ().
25278 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
25279 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
25280
4a412913 252812009-01-13 Carles Pina i Estany <carles@pina.cat>
25282
25283 * util/grub-editenv.c (main): Use fseeko(), not fseek().
25284
7795c55e 252852009-01-13 Bean <bean123ch@gmail.com>
d913988c 25286
25287 * util/grub-mkfont.c (write_font): forget to remove some debug code.
25288
7795c55e 252892009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 25290
25291 * Makefile.in: (enable_grub_mkfont): New variable.
25292 (freetype_cflags): Likewise.
25293 (freetype_libs): Likewise.
25294
25295 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
25296 (grub_mkfont_SOURCES): New variable.
25297 (grub_mkfont_CFLAGS): Likewise.
25298 (grub_mkfont_LDFLAGS): Likewise.
25299
25300 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
25301 library if `--enable-grub-mkfont' is requested.
25302 (enable_grub_mkfont): New variable.
25303 (freetype_cflags): Likewise.
25304 (freetype_libs): Likewise.
25305
25306 * util/grub-mkfont.c: New file.
25307
093af1fe 253082009-01-12 Christian Franke <franke@computer.org>
25309
25310 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
25311 mode check. Fix setting of compat_use[].
25312
f36cc108 253132009-01-10 Robert Millan <rmh@aybabtu.com>
25314
25315 Update a few copyright years which we forgot to do in 2008 (only for
25316 files whose changes made in 2008 were copyright-significant)
25317
25318 * Makefile.in: Add 2008 to Copyright line.
25319 * disk/ieee1275/ofdisk.c: Likewise.
25320 * disk/efi/efidisk.c: Likewise.
25321 * kern/dl.c: Likewise.
25322 * kern/sparc64/ieee1275/init.c: Likewise.
25323 * kern/mm.c: Likewise.
25324 * kern/efi/mm.c: Likewise.
25325 * boot/i386/pc/boot.S: Likewise.
25326 * genfslist.sh: Likewise.
25327 * fs/iso9660.c: Likewise.
25328 * fs/hfs.c: Likewise.
25329 * fs/jfs.c: Likewise.
25330 * fs/minix.c: Likewise.
25331 * fs/ufs.c: Likewise.
25332 * gensymlist.sh.in: Likewise.
25333 * genkernsyms.sh.in: Likewise.
25334 * include/grub/misc.h: Likewise.
25335 * include/grub/types.h: Likewise.
25336 * include/grub/symbol.h: Likewise.
25337 * include/grub/elf.h: Likewise.
25338 * include/grub/kernel.h: Likewise.
25339 * include/grub/disk.h: Likewise.
25340 * include/grub/dl.h: Likewise.
25341 * include/grub/i386/linux.h: Likewise.
25342 * include/grub/i386/pc/biosdisk.h: Likewise.
25343 * include/grub/efi/api.h: Likewise.
25344 * include/grub/efi/pe32.h: Likewise.
25345 * include/grub/util/misc.h: Likewise.
25346 * normal/execute.c: Likewise.
25347 * normal/arg.c: Likewise.
25348 * normal/completion.c: Likewise.
25349 * normal/lexer.c: Likewise.
25350 * normal/parser.y: Likewise.
25351 * normal/misc.c: Likewise.
25352 * commands/i386/pc/vbeinfo.c: Likewise.
25353 * commands/hexdump.c: Likewise.
25354 * commands/terminal.c: Likewise.
25355 * commands/ls.c: Likewise.
25356 * commands/help.c: Likewise.
25357 * partmap/pc.c: Likewise.
25358 * loader/efi/chainloader.c: Likewise.
25359 * loader/multiboot_loader.c: Likewise.
25360 * loader/i386/pc/multiboot2.c: Likewise.
25361 * term/efi/console.c: Likewise.
25362 * term/i386/pc/serial.c: Likewise.
25363 * util/lvm.c: Likewise.
25364 * util/console.c: Likewise.
25365 * util/i386/efi/grub-mkimage.c: Likewise.
25366 * util/raid.c: Likewise.
25367
7f02114b 253682009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
25369
25370 * commands/videotest.c: Removed include to grub/machine/memory.h.
25371
25372 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
25373 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
25374 (video_mod_SOURCES): Removed.
25375 (video_mod_CFLAGS): Likewise.
25376 (video_mod_LDFLAGS): Likewise.
25377 (gfxterm_mod_SOURCES): Likewise.
25378 (gfxterm_mod_CFLAGS): Likewise.
25379 (gfxterm_mod_LDFLAGS): Likewise.
25380 (videotest_mod_SOURCES): Likewise.
25381 (videotest_mod_CFLAGS): Likewise.
25382 (videotest_mod_LDFLAGS): Likewise.
25383 (bitmap_mod_SOURCES): Likewise.
25384 (bitmap_mod_CFLAGS): Likewise.
25385 (bitmap_mod_LDFLAGS): Likewise.
25386 (tga_mod_SOURCES): Likewise.
25387 (tga_mod_CFLAGS): Likewise.
25388 (tga_mod_LDFLAGS): Likewise.
25389 (jpeg_mod_SOURCES): Likewise.
25390 (jpeg_mod_CFLAGS): Likewise.
25391 (jpeg_mod_LDFLAGS): Likewise.
25392 (png_mod_SOURCES): Likewise.
25393 (png_mod_CFLAGS): Likewise.
25394 (png_mod_LDFLAGS): Likewise.
25395
25396 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
25397 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
25398 (video_mod_SOURCES): Added.
25399 (video_mod_CFLAGS): Likewise.
25400 (video_mod_LDFLAGS): Likewise.
25401 (videotest_mod_SOURCES): Likewise.
25402 (videotest_mod_CFLAGS): Likewise.
25403 (videotest_mod_LDFLAGS): Likewise.
25404 (bitmap_mod_SOURCES): Likewise.
25405 (bitmap_mod_CFLAGS): Likewise.
25406 (bitmap_mod_LDFLAGS): Likewise.
25407 (tga_mod_SOURCES): Likewise.
25408 (tga_mod_CFLAGS): Likewise.
25409 (tga_mod_LDFLAGS): Likewise.
25410 (jpeg_mod_SOURCES): Likewise.
25411 (jpeg_mod_CFLAGS): Likewise.
25412 (jpeg_mod_LDFLAGS): Likewise.
25413 (png_mod_SOURCES): Likewise.
25414 (png_mod_CFLAGS): Likewise.
25415 (png_mod_LDFLAGS): Likewise.
25416 (gfxterm_mod_SOURCES): Likewise.
25417 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 25418 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 25419
25420 * term/gfxterm.c: Removed include to grub/machine/memory.h,
25421 grub/machine/console.h.
25422
644fff97 254232009-01-04 Jerone Young <jerone@gmail.com>
25424
25425 Make on screen instructions clearer
25426
25427 Based on patch created by Jidanni <jidanni@jidanni.org>
25428
25429 * normal/menu.c: print clearer instructions on the screen
25430
1e901a75 254312009-01-02 Colin D Bennett <colin@gibibit.com>
25432
25433 New font engine.
34c44600 25434
1e901a75 25435 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
25436 build system and fixed gfxterm.c to work with different sized fonts.
25437
25438 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 25439
1e901a75 25440 * configure: Re-generated.
34c44600 25441
1e901a75 25442 * DISTLIST: Removed font/manager.c.
25443 Added font/font.c.
25444 Added font/font_cmd.c.
34c44600 25445
1e901a75 25446 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
25447 compilation.
34c44600 25448
1e901a75 25449 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 25450
25451 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 25452
25453 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 25454
1e901a75 25455 * normal/menu.c: Likewise.
34c44600 25456
1e901a75 25457 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
25458 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 25459
1e901a75 25460 * include/grub/font.h: Replaced with new file.
34c44600 25461
1e901a75 25462 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
25463 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
25464 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
25465 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
25466 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 25467 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 25468 fg_red, fg_green, fg_blue, fg_alpha.
25469 (grub_video_adapter): Removed blit_glyph.
34c44600 25470 (grub_video_blit_glyph): Removed.
25471
1e901a75 25472 * font/manager.c: Removed file.
34c44600 25473
25474 * font/font.c: New file.
25475
1e901a75 25476 * font/font_cmd.c: Likewise.
34c44600 25477
1e901a75 25478 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 25479
1e901a75 25480 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
25481 (grub_video_vbe_map_rgba): Likewise.
25482 (grub_video_vbe_unmap_color_int): Likewise.
25483 (grub_video_vbe_blit_glyph): Removed.
25484 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 25485
1e901a75 25486 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
25487 (get_pixel): Likewise.
34c44600 25488 (set_pixel): Likewise.
25489
1e901a75 25490 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 25491
1e901a75 25492 * term/gfxterm.c: Adapted to new font engine.
34c44600 25493
1e901a75 25494 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 25495
1e901a75 25496 * term/i386/pc/vga.c: Likewise.
34c44600 25497
1e901a75 25498 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 25499
1e901a75 25500 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 25501
1e901a75 25502 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25503
1e901a75 25504 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 25505
1e901a75 25506 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 25507
1e901a75 25508 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 25509
1e901a75 25510 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 25511
1e901a75 25512 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 25513
1e901a75 25514 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25515
25516 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 25517
1e901a75 25518 * util/grub-mkconfig_lib.in: Changed font extension.
25519
278922e8 255202008-12-28 Felix Zielcke <fzielcke@z-51.de>
25521
25522 * util/getroot.c (grub_util_get_grub_dev): Add support for
25523 /dev/md/dNNpNN style partitionable mdraid devices.
25524
3ced05cf 255252008-12-12 Alex Smith <alex@alex-smith.me.uk>
25526
25527 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25528 at a time limit of the PXE TFTP API correctly.
25529 (grub_pxefs_close): Likewise.
25530
7fd0ee30 255312008-11-29 Robert Millan <rmh@aybabtu.com>
25532
34c44600 25533 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 25534 grub_ata_device_initialize() calls.
25535
34c44600 255362008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 25537
25538 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25539 iteration failed.
25540 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25541
89313780 255422008-11-28 Robert Millan <rmh@aybabtu.com>
25543
25544 Fix build on powerpc-ieee1275. Based on patch created by
25545 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25546 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25547 `kern/ieee1275/mmap.c'.
25548 * include/grub/powerpc/ieee1275/memory.h: New file.
25549
15257703 25550 Provide grub-install on coreboot.
25551 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25552 (grub_install_SOURCES): New variable.
25553 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25554 usable on coreboot.
25555
9fc5388a 255562008-11-25 Felix Zielcke <fzielcke@z-51.de>
25557
25558 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25559 to `grub_term_input_t'.
25560 (grub_term_get_current_output): Change return type to
25561 `grub_term_output_t'.
25562
bc3a2f31 255632008-11-22 Robert Millan <rmh@aybabtu.com>
25564
34c44600 25565 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 25566 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25567 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25568 grub_vga_text_cls().
25569
80fc88f2 25570 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 25571 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 25572
cbf36fd3 25573 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25574 to 0x200000 (avoids trouble with some OFW implementations, and matches
25575 with the one in Yaboot).
25576 Reported by Manoel Abranches
25577
73e8e268 255782008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 25579
25580 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25581 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25582
73e8e268 25583 * util/grub-mkconfig_lib.in (grub_warn): New function.
25584 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25585 warnings, to obtain consistent formatting.
25586 * util/grub.d/00_header.in: Likewise.
25587 * util/update-grub_lib.in: Likewise.
25588
e94045a1 25589 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 25590 Move comment text to `#error' stanza.
e94045a1 25591
79d29fd7 25592 Harmonize ieee1275's grub_available_iterate() with the generic
25593 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25594 build problem on i386-ieee1275):
25595 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25596 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25597 parameter `type'. Update all users of this function.
25598 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25599 `kern/ieee1275/mmap.c'.
25600 * kern/ieee1275/init.c
25601 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25602 with ...
25603 (grub_machine_mmap_iterate): ... this.
25604 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25605 return type to `grub_err_t'. Update all implementations of this
25606 function prototype.
25607 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25608 Likewise.
25609
60d6b16e 25610 Add `lsmmap' command (lists firmware-provided memory map):
25611 * commands/lsmmap.c: New file.
25612 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25613 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25614 variables.
25615 * conf/powerpc-ieee1275.rmk: Likewise.
25616 * conf/i386-coreboot.rmk: Likewise.
25617 * conf/i386-ieee1275.rmk: Likewise.
25618
ebaaf49b 256192008-11-19 Robert Millan <rmh@aybabtu.com>
25620
25621 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 25622 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25623 constraints to initrd allocation (based on code from
25624 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25625 for Linux to find it.
ebaaf49b 25626
dfab719f 256272008-11-14 Robert Millan <rmh@aybabtu.com>
25628
25629 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25630 order to cope with duplicate slashes.
25631
10fc3eb9 256322008-11-14 Robert Millan <rmh@aybabtu.com>
25633
25634 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25635 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25636 don't want to mess with lower memory, because it is used in the Linux
25637 loader.
25638
25639 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 25640 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 25641 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25642 is in our heap (probably as a result of it being corrupted during
2f2a3442 25643 decompression). Add #error instance with comment to explain why this
25644 loader isn't currently usable on PC/BIOS.
10fc3eb9 25645
e2e07847 256462008-11-14 Robert Millan <rmh@aybabtu.com>
25647
25648 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 25649 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 25650
fe8e8d69 256512008-11-12 Robert Millan <rmh@aybabtu.com>
25652
25653 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25654
25655 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25656 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25657 from here ...
25658 * include/grub/i386/pc/memory.h: ... to here.
25659
976b07d0 256602008-11-12 Robert Millan <rmh@aybabtu.com>
25661
25662 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25663 split).
25664
25665 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25666 (grub_console_cur_color, grub_console_real_putchar)
25667 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25668 (grub_console_setcolorstate, grub_console_setcolor)
25669 (grub_console_getcolor): Move from here ...
25670 * include/grub/i386/vga_common.h: ... to here (new file).
25671
25672 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25673 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25674 `<grub/i386/io.h>'.
25675 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25676 `<grub/i386/vga_common.h>'.
25677
76679cd3 256782008-11-12 Robert Millan <rmh@aybabtu.com>
25679
25680 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25681 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25682 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25683 variables.
25684 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25685 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25686
25687 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25688 grub_console_init() with call to grub_vga_text_init().
25689 (grub_machine_fini): Replace call to
25690 grub_console_fini() with call to grub_vga_text_fini() and
25691 grub_at_keyboard_fini().
25692
25693 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25694 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25695 (grub_console_setcolorstate, grub_console_setcolor)
25696 (grub_console_getcolor): New function prototypes.
25697
25698 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25699 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25700 (grub_vga_text_setcursor): Static-ize.
25701 (grub_vga_text_term): New structure.
25702 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25703
25704 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25705 (grub_console_cur_color, grub_console_standard_color)
25706 (grub_console_normal_color, grub_console_highlight_color)
25707 (map_char, grub_console_putchar, grub_console_getcharwidth)
25708 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25709 (grub_console_getcolor): Move from here ...
25710 * term/i386/vga_common.c: ... to here (same function names).
25711
95b841d3 257122008-11-12 Robert Millan <rmh@aybabtu.com>
25713
25714 Use newly-added Multiboot support in coreboot.
25715
25716 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25717 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25718
25719 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25720 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25721 (codestart): Store the MBI in `startup_multiboot_info' when we're
25722 being loaded using Multiboot.
25723
25724 * kern/i386/coreboot/init.c (grub_machine_init): Move
25725 grub_at_keyboard_init() call to beginning of function (useful for
25726 debugging). Call grub_machine_mmap_init() before attempting to use
25727 grub_machine_mmap_iterate().
25728 (grub_lower_mem, grub_upper_mem): Move from here ...
25729 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25730 here (new file).
25731
25732 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25733 function prototype.
25734
761ca975 257352008-11-12 Robert Millan <rmh@aybabtu.com>
25736
25737 Fix a regression introduced by the at_keyboard.mod split. Because
25738 some terminals are default on some platforms and non-default on
25739 others, the first terminal being registered determines which is
25740 going to be default.
25741
25742 * kern/term.c (grub_term_register_input): If this is the first
25743 terminal being registered, set it as the current one.
25744 (grub_term_register_output): Likewise.
25745
25746 * term/efi/console.c (grub_console_init): Do not call
25747 grub_term_set_current_output() or grub_term_set_current_input().
25748 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25749 * term/i386/pc/console.c (grub_console_init): Likewise.
25750 (grub_console_fini): Do not call grub_term_set_current_input()
25751 (but leave grub_term_set_current_output() to restore text mode).
25752
6c529df7 257532008-11-10 Robert Millan <rmh@aybabtu.com>
25754
25755 * util/grub.d/00_header.in: Add backward compatibility check for
25756 versions of terminal.mod that don't understand `terminal_input' or
25757 `terminal_output'.
25758
132e4113 257592008-11-09 Robert Millan <rmh@aybabtu.com>
25760
25761 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25762 `terminal_input' / `terminal_output', not `terminal'.
25763
ac293d50 257642008-11-08 Robert Millan <rmh@aybabtu.com>
25765
25766 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 25767 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 25768
0025933a 257692008-11-08 Robert Millan <rmh@aybabtu.com>
25770
25771 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 25772 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 25773 members. Update all users.
25774 * util/console.c (grub_ncurses_term): Split in ...
25775 (grub_ncurses_term_input): ... this, and ...
25776 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 25777 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 25778
37c86336 257792008-11-08 Robert Millan <rmh@aybabtu.com>
25780
25781 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25782 (PKGDATA): Add $(pkgdata_SRCDIR).
25783 (pkglib_BUILDDIR): New variable.
25784 (pkgdata_SRCDIR): New variable.
25785 (build_env.mk): New target.
25786 (include_DATA): New variable.
25787 (install-local): Install $(include_DATA) files in $(includedir).
25788
b6c15a2d 257892008-11-07 Pavel Roskin <proski@gnu.org>
25790
d99d46f1 25791 * gendistlist.sh: Use C locale for sorting to ensure consistent
25792 output on all systems.
25793
b6c15a2d 25794 * util/grub.d/00_header.in: Remove incorrect space before
25795 "serial".
25796
c32ee8c9 257972008-11-07 Robert Millan <rmh@aybabtu.com>
25798
25799 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25800 per specification.
25801 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25802 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25803 (based on find_multi_boot1_header).
25804 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25805 using find_multi_boot2_header(), and abort if neither Multiboot or
25806 Multiboot headers were found.
25807
651c29b7 258082008-11-07 Robert Millan <rmh@aybabtu.com>
25809
25810 Modularize at_keyboard.mod:
25811
25812 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25813 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25814 (at_keyboard_mod_LDFLAGS): New variables.
25815
25816 Actual terminal split:
25817
25818 * include/grub/term.h (struct grub_term): Split in ...
25819 (struct grub_term_input): ... this, and ...
25820 (struct grub_term_output): ... this. Update all users.
25821 (grub_term_set_current): Split in ...
25822 (grub_term_set_current_input): ... this, and ...
25823 (grub_term_set_current_output): ... this.
25824 (grub_term_get_current): Split in ...
25825 (grub_term_get_current_input): ... this, and ...
25826 (grub_term_get_current_output): ... this.
25827 (grub_term_register): Split in ...
25828 (grub_term_register_input): ... this, and ...
25829 (grub_term_register_output): ... this.
25830 (grub_term_unregister): Split in ...
25831 (grub_term_unregister_input): ... this, and ...
25832 (grub_term_unregister_output): ... this.
25833 (grub_term_iterate): Split in ...
25834 (grub_term_iterate_input): ... this, and ...
25835 (grub_term_iterate_output): ... this.
25836
25837 * kern/term.c (grub_term_list): Split in ...
25838 (grub_term_list_input): ... this, and ...
25839 (grub_term_list_output): ... this. Update all users.
25840 (grub_cur_term): Split in ...
25841 (grub_cur_term_input): ... this, and ...
25842 (grub_cur_term_output): ... this. Update all users.
25843 (grub_term_set_current): Split in ...
25844 (grub_term_set_current_input): ... this, and ...
25845 (grub_term_set_current_output): ... this.
25846 (grub_term_get_current): Split in ...
25847 (grub_term_get_current_input): ... this, and ...
25848 (grub_term_get_current_output): ... this.
25849 (grub_term_register): Split in ...
25850 (grub_term_register_input): ... this, and ...
25851 (grub_term_register_output): ... this.
25852 (grub_term_unregister): Split in ...
25853 (grub_term_unregister_input): ... this, and ...
25854 (grub_term_unregister_output): ... this.
25855 (grub_term_iterate): Split in ...
25856 (grub_term_iterate_input): ... this, and ...
25857 (grub_term_iterate_output): ... this.
25858
25859 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25860 a check for input and one for output (and only attempt to get keys
25861 from user when input works).
25862
25863 * util/grub-probe.c (grub_term_get_current): Split in ...
25864 (grub_term_get_current_input): ... this, and ...
25865 (grub_term_get_current_output): ... this.
25866 * util/grub-fstest.c: Likewise.
25867 * util/i386/pc/grub-setup.c: Likewise.
25868 * util/grub-editenv.c: Likewise.
25869
25870 Portability adjustments:
25871
25872 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25873 `term/i386/pc/at_keyboard.c'.
25874 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25875 grub_keyboard_controller_init() (now handled by terminal .init).
25876 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25877 grub_at_keyboard_init().
25878 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25879 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25880 at_keyboard.mod via input terminal interface).
25881 * include/grub/i386/coreboot/console.h: Convert into a stub for
25882 `<grub/i386/pc/console.h>'.
25883
25884 Migrate full terminals to new API:
25885
25886 * term/efi/console.c (grub_console_term): Split into ...
25887 (grub_console_term_input): ... this, and ...
25888 (grub_console_term_output): ... this. Update all users.
25889 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25890 (grub_ofconsole_init): Split into ...
25891 (grub_ofconsole_init_input): ... this, and ...
25892 (grub_ofconsole_init_output): ... this.
25893 (grub_ofconsole_term): Split into ...
25894 (grub_ofconsole_term_input): ... this, and ...
25895 (grub_ofconsole_term_output): ... this. Update all users.
25896 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25897 (grub_serial_term_input): ... this, and ...
25898 (grub_serial_term_output): ... this. Update all users.
25899 * term/i386/pc/console.c (grub_console_term): Split into ...
25900 (grub_console_term_input): ... this, and ...
25901 (grub_console_term_output): ... this. Update all users.
25902 (grub_console_term_input): Only enable it on PC/BIOS platform.
25903 (grub_console_init): Remove grub_keyboard_controller_init() call.
25904
25905 Migrate input terminals to new API:
25906
25907 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25908 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25909 i386-specific anyway).
25910 (grub_console_checkkey): Rename to ...
25911 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25912 users.
25913 (grub_keyboard_controller_orig): New variable.
25914 (grub_console_getkey): Rename to ...
25915 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25916 users.
25917 (grub_keyboard_controller_init): Static-ize. Save original
25918 controller value so that it can be restored ...
25919 (grub_keyboard_controller_fini): ... here (new function).
25920 (grub_at_keyboard_term): New structure.
25921 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25922 functions.
25923
25924 Migrate output terminals to new API:
25925
25926 * term/i386/pc/vga.c (grub_vga_term): Change type to
25927 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25928 members. Update all users.
25929 * term/gfxterm.c (grub_video_term): Change type to
25930 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25931 members. Update all users.
25932 * include/grub/i386/pc/console.h (grub_console_checkkey)
25933 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25934 etc).
25935
25936 Migrate `terminal' command and userland tools to new API:
25937
25938 * commands/terminal.c (grub_cmd_terminal): Split into ...
25939 (grub_cmd_terminal_input): ... this, and ...
25940 (grub_cmd_terminal_output): ... this.
25941 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25942 `terminal_input' and `terminal_output'.
25943 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25944 `terminal_input' / `terminal_output' API.
25945 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25946 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25947 provided ${GRUB_TERMINAL}, convert it).
25948
96e5d876 259492008-11-04 Robert Millan <rmh@aybabtu.com>
25950
25951 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25952 for FreeBSD.
25953 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25954
556f3775 259552008-11-03 Bean <bean123ch@gmail.com>
25956
25957 * kern/elf.c (grub_elf32_load): Revert to previous code.
25958 (grub_elf64_load): Likewise.
25959
25960 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25961
926b9823 259622008-11-01 Robert Millan <rmh@aybabtu.com>
25963
25964 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25965 (TARGET_CPPFLAGS): Likewise.
25966 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25967
1432e958 259682008-11-01 Carles Pina i Estany <carles@pina.cat>
25969
25970 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25971
dba3f844 259722008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 25973
25974 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25975 addition of objects until the code is not going to be able to fail.
25976
dba3f844 259772008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 25978
25979 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25980 (add a missing NULL check, and correct them by moving the pointer
25981 operations after the actual check).
25982
7ab28c21 259832008-10-29 Robert Millan <rmh@aybabtu.com>
25984
25985 * util/i386/pc/grub-install.in: Handle empty string as output from
25986 make_system_path_relative_to_its_root().
25987
1b7748eb 259882008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25989
25990 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25991 circular metadata worst case scenario. If the metadata is circular
25992 then copy the wrap in place.
25993 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25994 project lib/format_text/layout.h
25995 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25996
c9618ab2 259972008-10-03 Felix Zielcke <fzielcke@z-51.de>
25998
7a36edca 25999 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 26000
bf981c62 260012008-10-03 Felix Zielcke <fzielcke@z-51.de>
26002
26003 * util/update-grub_lib.in: Mention filename in warning message.
26004
6d994591 260052008-09-29 Felix Zielcke <fzielcke@z-51.de>
26006
26007 * NEWS: Update for rename of update-grub to grub-mkconfig.
26008
18ade780 260092008-09-29 Felix Zielcke <fzielcke@z-51.de>
26010
26011 * util/update-grub_lib.in: Copy to ...
26012 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 26013 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 26014 * util/update-grub.in: Rename to ...
26015 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
26016 option. Add `--output' option to allow users to specify the generated
26017 configuration file. Default to stdout.
26018 (update_grub_dir): Rename to ...
26019 (grub_mkconfig_dir): ... this.
26020 (grub_cfg): Default to an empty string.
26021 * conf/common.rmk (update-grub): Rename to ...
26022 (grub-mkconfig): ... this.
26023 (update-grub_lib): Copy to ...
26024 (grub-mkconfig_lib): ... this.
26025 (update-grub_SCRIPTS): Copy to ...
26026 (grub-mkconfig_SCRIPTS): ... this. Update all users.
26027 (update-grub_DATA): Rename to ...
26028 (grub-mkconfig_DATA): ... this.
26029
556ce6ac 260302008-09-28 Robert Millan <rmh@aybabtu.com>
26031
26032 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
26033 to `modified'. Add the real `created' field.
26034 (grub_iso9660_uuid): Use `modified' rather than `created' for
26035 constructing the UUID.
26036
260372008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 26038
26039 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
26040 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
26041
92274e85 260422008-09-28 Bean <bean123ch@gmail.com>
26043
26044 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
26045 Thanks to Christian Franke for finding this bug.
26046
add6f17a 260472008-09-25 Robert Millan <rmh@aybabtu.com>
26048
26049 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
26050 instances of grub_util_get_disk_name() (see previous commit).
26051
d2a367b8 260522008-09-25 Robert Millan <rmh@aybabtu.com>
26053
26054 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
26055 `util/i386/get_disk_name.c'.
26056 * conf/i386-efi.rmk: Likewise.
26057 * conf/x86_64-efi.rmk: Likewise.
26058 * conf/i386-coreboot.rmk: Likewise.
26059 * conf/i386-ieee1275.rmk: Likewise.
26060 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
26061 `util/ieee1275/get_disk_name.c'.
26062 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
26063 * util/ieee1275/get_disk_name.c: Remove file.
26064 * util/i386/get_disk_name.c: Remove file.
26065 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
26066 "hd%d" for device.map entries, rather than using
26067 grub_util_get_disk_name().
26068
81a06771 260692008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 26070
26071 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
26072 warning.
26073 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
26074
5a004279 260752008-09-24 Carles Pina i Estany <carles@pina.cat>
26076
26077 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
26078 Changed to 0x5100.
26079 (GRUB_TERM_PPAGE): Changed to 0x4900.
26080
397093d3 260812008-09-24 Robert Millan <rmh@aybabtu.com>
26082
26083 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
26084 macros (they were i386-pc specific).
26085 * include/grub/sparc64/ieee1275/console.h: Likewise.
26086 * include/grub/efi/console.h: Likewise.
26087
a91b6c7c 260882008-09-22 Bean <bean123ch@gmail.com>
26089
26090 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
26091 resident and in attribute list.
26092
26093 * include/grub/ntfs.h (BMP_LEN): Removed.
26094
c40fd116 260952008-09-22 Bean <bean123ch@gmail.com>
26096
81a06771 26097 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 26098 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
26099
26100 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
26101 error occurs, as grub_disk_open will call grub_disk_close, which will
26102 call p->close (scsi).
26103
81a06771 261042008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 26105
26106 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
26107 (AC_PREREQ): Bumped to 2.59.
26108 (AC_TRY_COMPILE): Replace obsolete macro with ...
26109 (AC_COMPILE_IFELSE): ... this.
26110 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
26111 (AC_LINK_IFELSE): ... this.
26112
5dc43410 261132008-09-21 Felix Zielcke <fzielcke@z-51.de>
26114
26115 * autogen.sh: Add a call to `gendistlist.sh'.
26116
9035dce4 261172008-09-19 Christian Franke <franke@computer.org>
26118
26119 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
26120 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
26121 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
26122 Export __enable_execute_stack() to modules.
26123 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
26124 New function.
26125
7fd75377 261262008-09-09 Felix Zielcke <fzielcke@z-51.de>
26127
040030b3 26128 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
26129 Sort the list.
26130
261312008-09-09 Felix Zielcke <fzielcke@z-51.de>
26132
26133 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 26134 #include <grub/util/hostdisk.h>.
26135
89d5ffcf 261362008-09-08 Robert Millan <rmh@aybabtu.com>
26137
26138 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
26139 segments when their filesz is zero (grub_file_read() interprets
81a06771 26140 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 26141 Use `lowest_segment' rather than 0 for calculating the current
26142 segment load address.
26143
40da438f 261442008-09-08 Robert Millan <rmh@aybabtu.com>
26145
26146 * util/hostdisk.c (open_device): Replace a grub_util_info() call
26147 with grub_dprintf("hostdisk", ...), as it was so verbose that it
26148 clobbered useful information.
26149
ddbf5556 261502008-09-08 Robert Millan <rmh@aybabtu.com>
26151
26152 * include/grub/util/biosdisk.h: Move to ...
26153 * include/grub/util/hostdisk.h: ... here. Update all users.
26154 * util/biosdisk.c: Move to ...
26155 * util/hostdisk.c: ... here. Update all users.
26156
783d0f48 261572008-09-07 Robert Millan <rmh@aybabtu.com>
26158
26159 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
26160 variables.
26161 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
26162 and length can be stored directly in the `mbi->mmap_addr' and
26163 `mbi->mmap_length' struct fields.
26164
548e2ea5 261652008-09-07 Robert Millan <rmh@aybabtu.com>
26166
26167 * conf/i386.rmk: New file. Provides declaration for building
26168 `cpuid.mod'.
26169 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
26170 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
26171 variables.
26172 Include `conf/i386.mk'.
26173 * conf/i386-efi.rmk: Likewise.
26174 * conf/x86_64-efi.rmk: Likewise.
26175 * conf/i386-coreboot.rmk: Likewise.
26176 * conf/i386-ieee1275.rmk: Likewise.
26177
0ea85a37 261782008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
26179
26180 Based on patch created by Colin D Bennett <colin@gibibit.com>.
26181 Adds optimization support for BGR based modes.
26182
26183 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
26184 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26185 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26186 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26187 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26188 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26189 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26190 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26191 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26192 (grub_video_i386_vbeblit_index_index): Likewise.
26193 (grub_video_i386_vbeblit_replace_directN): Added.
26194 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26195 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26196 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26197 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26198 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26199 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 26200 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 26201 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26202 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26203 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26204 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26205 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26206 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
26207
26208 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
26209 (grub_video_i386_vbefill_R8G8B8): Likewise.
26210 (grub_video_i386_vbefill_index): Likewise.
26211 (grub_video_i386_vbefill_direct32): Added.
26212 (grub_video_i386_vbefill_direct24): Likewise.
26213 (grub_video_i386_vbefill_direct16): Likewise.
26214 (grub_video_i386_vbefill_direct8): Likewise.
26215
81a06771 26216 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 26217 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
26218 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
26219 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
26220 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
26221 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 26222
0ea85a37 26223 * video/video.c (grub_video_get_blit_format): Updated to use new
26224 blit formats. Added handling for 16 bit color modes.
81a06771 26225
26226 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 26227 fillers.
26228 (common_blitter): Updated to use new blitters.
26229
26230 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
26231 Removed.
26232 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26233 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26234 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26235 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26236 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26237 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26238 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26239 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26240 (grub_video_i386_vbeblit_index_index): Likewise.
26241 (grub_video_i386_vbeblit_replace_directN): Added.
26242 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26243 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26244 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26245 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26246 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26247 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
26248 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
26249 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26250 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26251 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26252 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26253 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26254 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 26255
0ea85a37 26256 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
26257 (grub_video_i386_vbefill_R8G8B8): Likewise.
26258 (grub_video_i386_vbefill_index): Likewise.
26259 (grub_video_i386_vbefill_direct32): Added.
26260 (grub_video_i386_vbefill_direct24): Likewise.
26261 (grub_video_i386_vbefill_direct16): Likewise.
26262 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 26263
0ea85a37 26264 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
26265 types.
81a06771 26266
0ea85a37 26267 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
26268 types.
81a06771 26269
0ea85a37 26270 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
26271 blitter types.
81a06771 26272
0ea85a37 26273 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
26274 types.
26275
e8a83df6 262762008-09-06 Felix Zielcke <fzielcke@z-51.de>
26277
26278 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
26279 RAID level 1.
26280
6bcd8ee5 262812008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 26282
6bcd8ee5 26283 * fs/iso9660.c (grub_iso9660_date): New structure.
26284 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
26285 (grub_iso9660_uuid): New function.
c375ae58 26286
59261157 262872008-09-05 Bean <bean123ch@gmail.com>
26288
26289 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
26290
26291 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
26292 insensitive bit for names in Win32 and Win32 & DOS namespace.
26293
26294 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
26295
26296 * include/grub/types.h (LONG_MAX): Likewise.
26297
58b6645a 262982008-09-04 Felix Zielcke <fzielcke@z-51.de>
26299
4ee55921 26300 * util/getroot.c: Include <config.h>.
26301 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
26302 add support for /dev/md/N devices and handle LVM double dash escaping.
26303
263042008-09-04 Felix Zielcke <fzielcke@z-51.de>
26305
26306 * config.guess: Update to latest version from config git.
26307 * config.sub: Likewise.
58b6645a 26308
9124f65d 263092008-09-03 Robert Millan <rmh@aybabtu.com>
26310
26311 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
26312 `disk->total_sectors'.
26313
81a06771 263142008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 26315
26316 * include/grub/normal.h: Fixed incorrect comment for
26317 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
26318
81a06771 263192008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 26320
26321 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
26322 values with defines.
26323
26324 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
26325 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
26326 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
26327 (GRUB_VBE_MODEATTR_COLOR): Likewise.
26328 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
26329 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
26330 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
26331 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
26332 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
26333 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
26334 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
26335 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
26336 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
26337 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
26338 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
26339 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
26340 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
26341 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
26342 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
26343
93d5cbf8 263442008-08-31 Robert Millan <rmh@aybabtu.com>
26345
26346 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
26347 declaration.
26348 (grub_multiboot): Fix a few warnings.
26349
21751d50 263502008-08-31 Robert Millan <rmh@aybabtu.com>
26351
26352 * loader/i386/pc/multiboot.c: Update comment not to say that
26353 boot_device support is unimplemented.
26354
e27a75c5 263552008-08-31 Robert Millan <rmh@aybabtu.com>
26356
26357 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
26358 or memory map support are unimplemented.
26359
81a06771 263602008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 26361
26362 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
26363
81a06771 263642008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 26365
26366 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
26367 total video memory in 'vbeinfo' output; show color format details for
26368 each video mode.
26369
7c5d8d95 263702008-08-30 Pavel Roskin <proski@gnu.org>
26371
26372 * util/genmoddep.c: Remove for real this time.
26373 * DISTLIST: Remove util/genmoddep.c.
26374
4cebd25a 263752008-08-30 Robert Millan <rmh@aybabtu.com>
26376
26377 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
26378 as required by Multiboot spec (it was already 4-byte aligned, but
26379 only by chance).
26380
b497a269 263812008-08-29 Pavel Roskin <proski@gnu.org>
26382
e3925185 26383 * kern/powerpc/ieee1275/crt0.S: Rename to ...
26384 * kern/powerpc/ieee1275/startup.S: ... this.
26385 * conf/powerpc-ieee1275.rmk: Adjust for the above.
26386 * DISTLIST: Likewise.
26387
b497a269 26388 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
26389 grub/cpu/kernel.h. Add start label for consistency with other
26390 platforms. Add grub_prefix immediately after start. Add jump
26391 to the code after grub_prefix.
26392 * include/grub/powerpc/kernel.h: Provide valid values for
26393 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
26394
6e5a42fe 263952008-08-29 Bean <bean123ch@gmail.com>
26396
26397 * configure.ac: Change host_os to cygwin for mingw.
26398 (asprintf): New check for function.
26399
26400 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
26401 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
26402
26403 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 26404 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 26405 sync, sleep and grub_util_get_disk_size for mingw.
26406
26407 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
26408 to get size in mingw.
26409 (open_device): Use flag O_BINARY if it's defined.
26410 (find_root_device): Add dummy code for mingw.
26411
26412 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
26413 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
26414 (get_scsi_disk_name): Return 0 for mingw.
26415
26416 * util/hostfs.c: #include <grub/util/misc.h>.
26417 (grub_hostfs_open): Use "rb" flag to open file, use
26418 grub_util_get_disk_size to get disk size for mingw.
26419
26420 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
26421 (asprintf): New function if HAVE_ASPRINTF is not set.
26422 (sync): New function for mingw.
26423 (sleep): Likewise.
26424 (grub_util_get_disk_size): Likewise.
26425
ab3f2673 264262008-08-28 Pavel Roskin <proski@gnu.org>
26427
26428 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26429 kern/time.c.
26430
1c282483 264312008-08-28 Robert Millan <rmh@aybabtu.com>
26432
26433 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
26434
678e849c 264352008-08-28 Robert Millan <rmh@aybabtu.com>
26436
26437 Change find_grub_drive() syntax so it doesn't prevent it from
26438 detecting NULL names as errors.
26439
26440 * util/biosdisk.c (find_grub_drive): Move free slot search code
26441 from here ...
26442 (find_free_slot): ... to here.
26443 (read_device_map): Use find_free_slot() to search for free slots.
26444
965c75ca 264452008-08-27 Marco Gerards <marco@gnu.org>
26446
26447 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
26448 (scsi_mod_SOURCES): New variable.
26449 (scsi_mod_CFLAGS): Likewise
26450 (scsi_mod_LDFLAGS): Likewise.
26451
26452 * disk/scsi.c: New file.
26453
26454 * include/grub/scsi.h: Likewise.
26455
26456 * include/grub/scsicmd.h: Likewise.
26457
26458 * disk/ata.c: Include <grub/scsi.h>.
26459 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
26460 instead.
26461 (grub_ata_iterate): Skip ATAPI devices.
26462 (grub_ata_open): Only handle ATAPI devices.
26463 (struct grub_atapi_read): Removed.
26464 (grub_atapi_readsector): Likewise.
26465 (grub_ata_read): No longer handle ATAPI devices.
26466 (grub_ata_write): Likewise.
26467 (grub_atapi_iterate): New function.
26468 (grub_atapi_read): Likewise.
26469 (grub_atapi_write): Likewise.
26470 (grub_atapi_open): Likewise.
26471 (grub_atapi_close): Likewise.
26472 (grub_atapi_dev): New variable.
26473 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
26474 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
26475
26476 * include/grub/disk.h (enum grub_disk_dev_id): Add
26477 `GRUB_DISK_DEVICE_SCSI_ID'.
26478
c07ae501 264792008-08-26 Robert Millan <rmh@aybabtu.com>
26480
26481 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
26482 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
26483 descriptive.
26484
5ed20adc 264852008-08-23 Bean <bean123ch@gmail.com>
26486
26487 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
26488 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26489 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
26490 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
26491 dm_nv.mod.
26492 (raid5rec_mod_SOURCES): New macro.
26493 (raid5rec_mod_CFLAGS): Likewise.
26494 (raid5rec_mod_LDFLAGS): Likewise.
26495 (raid6rec_mod_SOURCES): Likewise.
26496 (raid6rec_mod_CFLAGS): Likewise.
26497 (raid6rec_mod_LDFLAGS): Likewise.
26498 (mdraid_mod_SOURCES): Likewise.
26499 (mdraid_mod_CFLAGS): Likewise.
26500 (mdraid_mod_LDFLAGS): Likewise.
26501 (dm_nv_mod_SOURCES): Likewise.
26502 (dm_nv_mod_CFLAGS): Likewise.
26503 (dm_nv_mod_LDFLAGS): Likewise.
26504
26505 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26506 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26507 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26508
26509 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26510 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26511
26512 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26513
26514 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26515
26516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26517
26518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26519
26520 * disk/raid5_recover.c: New file.
26521
26522 * disk/raid6_recover.c: Likewise.
26523
26524 * disk/mdraid_linux.c: Likewise.
26525
26526 * disk/dmraid_nvidia.c: Likewise.
26527
26528 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26529 ULONG_MAX.
26530
26531 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26532 calculate the size of raid device.
26533 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26534 different layout of raid5.
26535 (grub_raid_scan_device): Remove code specific to mdraid.
26536 (grub_raid_list): New variable.
26537 (free_array): New function.
26538 (grub_raid_register): Likewise.
26539 (grub_raid_unregister): Likewise.
26540 (grub_raid_rescan): Likewise.
26541 (GRUB_MOD_INIT): Don't iterate device here.
26542 (GRUB_MOD_FINI): Use free_array to release resource.
26543
26544 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26545 (grub_raid5_recover_func_t): New function variable type.
26546 (grub_raid6_recover_func_t): Likewise.
26547 (grub_raid5_recover_func): New variable.
26548 (grub_raid6_recover_func): Likewise.
26549 (grub_raid_register): New function.
26550 (grub_raid_unregister): Likewise.
26551 (grub_raid_rescan): Likewise.
26552 (grub_raid_block_xor): Likewise.
26553
26554 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26555 (CMD_CRC): New macro.
26556 (part): Removed.
26557 (read_file): Handle device as well as file.
26558 (cmd_crc): New function.
26559 (fstest): Handle multiple disks.
26560 (options): Remove part, raw and long, add root and diskcount.
26561 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 26562 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 26563 add handling for the new options, support multiple disks.
26564
26565 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26566
29c18915 265672008-08-23 Bean <bean123ch@gmail.com>
26568
26569 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26570
26571 * genfslist.sh: Ignore kernel.mod.
26572
26573 * genpartmaplist.sh: Likewise.
26574
8415f261 265752008-08-23 Robert Millan <rmh@aybabtu.com>
26576
26577 * util/getroot.c (find_root_device): Skip anything that starts with
26578 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26579
d5a7dc5b 265802008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 26581
d5a7dc5b 26582 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26583 * util/grub.d/00_header.in: Allow the administrator to change default
26584 gfxmode via ${GRUB_GFXMODE}.
26585
380cfbb4 265862008-08-21 Felix Zielcke <fzielcke@z-51.de>
26587
26588 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26589
c9baafe7 265902008-08-21 Robert Millan <rmh@aybabtu.com>
26591
26592 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26593 loader.
26594 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26595 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26596
e290bef2 265972008-08-20 Carles Pina i Estany <carles@pina.cat>
26598
26599 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26600 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26601
f9dbfc96 266022008-08-19 Robert Millan <rmh@aybabtu.com>
26603
26604 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26605 (struct grub_virtual_screen): Remove `cursor_color'.
26606 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26607 initialization.
26608 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26609
dd6bd6ab 266102008-08-18 Robert Millan <rmh@aybabtu.com>
26611
26612 Unify (identical) linux_normal.c files.
26613 * loader/i386/efi/linux_normal.c: Move from here ...
26614 * loader/linux_normal.c: ... to here. Update all users.
26615 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26616 * loader/i386/ieee1275/linux_normal.c: Likewise.
26617
7f42f83e 266182008-08-18 Robert Millan <rmh@aybabtu.com>
26619
26620 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26621 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26622 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26623 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26624 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26625 New macros.
26626 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26627 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26628 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26629 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26630 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26631 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26632 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26633 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26634 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26635 portably using grub_getxy().
26636 Replace `-EFI' with `-bzImage' in boot message.
26637
38487ddb 266382008-08-17 Robert Millan <rmh@aybabtu.com>
26639
26640 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26641
deceb3ec 266422008-08-17 Robert Millan <rmh@aybabtu.com>
26643
26644 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26645
26646 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26647 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26648 (grub_machine_mmap_iterate): New function declaration.
26649 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26650 structure.
26651 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26652 macros.
26653
26654 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26655 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26656 Move e820 parsing from here ...
26657 * kern/i386/pc/mmap.c: New file.
26658 (grub_machine_mmap_iterate): ... to here.
26659
26660 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26661 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26662 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26663 (grub_available_iterate): Redeclare to return `void', and redeclare
26664 its hook to use grub_uint64_t as addr and size parameters, and rename
26665 to ...
26666 (grub_machine_mmap_iterate): ... this. Update all users.
26667
26668 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26669 to make it more readable. Rename to ...
26670 (grub_machine_mmap_iterate): ... this.
26671
26672 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26673 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26674 (grub_multiboot): Allocate an extra region after the payload, and fill
26675 it with a Multiboot memory map. Adjust a.out loader to calculate size
26676 with the extra space.
26677 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26678 with the extra space.
26679
f8aa0f43 266802008-08-17 Carles Pina i Estany <carles@pina.cat>
26681
9807deb9 26682 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 26683
605f5bb6 266842008-08-17 Felix Zielcke <fzielcke@z-51.de>
26685
26686 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26687 mdate-sh to the list `find' searches for.
26688 * DISTLIST: Regenerated.
26689
210db6c6 266902008-08-16 Felix Zielcke <fzielcke@z-51.de>
26691
26692 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26693 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 26694 genmoddep.awk, gensymlist.sh.in.
26695 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 26696 * DISTLIST: Regenerated.
48cdbfd4 26697 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 26698
1082b929 266992008-08-16 Robert Millan <rmh@aybabtu.com>
26700
26701 * disk/raid.c (grub_raid_init): Handle/report errors set by
26702 grub_device_iterate().
26703 * disk/lvm.c (grub_lvm_init): Likewise.
26704
42ce5170 267052008-08-15 Bean <bean123ch@gmail.com>
26706
26707 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26708 and datehook.mod.
26709 (datetime_mod_SOURCES): New macro.
26710 (datetime_mod_CFLAGS): Likewise.
26711 (datetime_mod_LDFLAGS): Likewise.
26712 (date_mod_SOURCES): Likewise.
26713 (date_mod_CFLAGS): Likewise.
26714 (date_mod_LDFLAGS): Likewise.
26715 (datehook_mod_SOURCES): Likewise.
26716 (datehook_mod_CFLAGS): Likewise.
26717 (datehook_mod_LDFLAGS): Likewise.
26718
26719 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26720 and datehook.mod.
26721 (datetime_mod_SOURCES): New macro.
26722 (datetime_mod_CFLAGS): Likewise.
26723 (datetime_mod_LDFLAGS): Likewise.
26724 (date_mod_SOURCES): Likewise.
26725 (date_mod_CFLAGS): Likewise.
26726 (date_mod_LDFLAGS): Likewise.
26727 (datehook_mod_SOURCES): Likewise.
26728 (datehook_mod_CFLAGS): Likewise.
26729 (datehook_mod_LDFLAGS): Likewise.
26730
26731 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26732 and datehook.mod.
26733 (datetime_mod_SOURCES): New macro.
26734 (datetime_mod_CFLAGS): Likewise.
26735 (datetime_mod_LDFLAGS): Likewise.
26736 (date_mod_SOURCES): Likewise.
26737 (date_mod_CFLAGS): Likewise.
26738 (date_mod_LDFLAGS): Likewise.
26739 (datehook_mod_SOURCES): Likewise.
26740 (datehook_mod_CFLAGS): Likewise.
26741 (datehook_mod_LDFLAGS): Likewise.
26742
26743 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26744 and datehook.mod.
26745 (datetime_mod_SOURCES): New macro.
26746 (datetime_mod_CFLAGS): Likewise.
26747 (datetime_mod_LDFLAGS): Likewise.
26748 (date_mod_SOURCES): Likewise.
26749 (date_mod_CFLAGS): Likewise.
26750 (date_mod_LDFLAGS): Likewise.
26751 (datehook_mod_SOURCES): Likewise.
26752 (datehook_mod_CFLAGS): Likewise.
26753 (datehook_mod_LDFLAGS): Likewise.
26754
26755 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26756 and datehook.mod.
26757 (datetime_mod_SOURCES): New macro.
26758 (datetime_mod_CFLAGS): Likewise.
26759 (datetime_mod_LDFLAGS): Likewise.
26760 (date_mod_SOURCES): Likewise.
26761 (date_mod_CFLAGS): Likewise.
26762 (date_mod_LDFLAGS): Likewise.
26763 (datehook_mod_SOURCES): Likewise.
26764 (datehook_mod_CFLAGS): Likewise.
26765 (datehook_mod_LDFLAGS): Likewise.
26766
26767 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26768
26769 * commands/date.c: New file.
26770
26771 * hook/datehook.c: Likewise.
26772
26773 * include/grub/lib/datetime.h: Likewise.
26774
26775 * include/grub/i386/cmos.h: Likewise.
26776
26777 * lib/datetime.c: Likewise.
26778
26779 * lib/i386/datetime.c: Likewise.
26780
26781 * lib/efi/datetime.c: Likewise.
26782
0e9242da 267832008-08-14 Robert Millan <rmh@aybabtu.com>
26784
26785 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26786 (grub_mkelfimage_SOURCES): New variable.
26787 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26788
26789 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26790 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26791 * conf/powerpc-ieee1275.rmk: Likewise.
26792 * conf/i386-ieee1275.rmk: Likewise.
26793
26794 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26795 * kern/i386/coreboot/init.c: Likewise.
26796
26797 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26798 with `<grub/cpu/kernel.h>'.
26799 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26800 to ...
26801 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26802 * kern/i386/coreboot/startup.S: Likewise.
26803
26804 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26805 (GRUB_MOD_GAP): Remove.
26806 * include/grub/powerpc/kernel.h: New file.
26807 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26808 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26809 * include/grub/i386/kernel.h: New file.
26810 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26811 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26812 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26813
26814 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26815 `grub-mkelfimage'.
26816 Use --directory when invoking grub_mkimage.
26817
26818 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26819 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26820 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26821 and GRUB_KERNEL_CPU_PREFIX.
26822
b86408f8 268232008-08-14 Felix Zielcke <fzielcke@z-51.de>
26824
d5e619ca 26825 * include/grub/err.h (grub_err_printf): New function prototype.
26826 * util/misc.c (grub_err_printf): New function.
26827 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26828 grub_printf.
26829 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 26830
7161f0e0 268312008-08-13 Robert Millan <rmh@aybabtu.com>
26832
26833 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26834
a1967522 268352008-08-13 Robert Millan <rmh@aybabtu.com>
26836
26837 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26838 boot entry.
26839
371458b5 268402008-08-12 Robert Millan <rmh@aybabtu.com>
26841
26842 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26843 of the relocation code from here ...
26844 (grub_multiboot): ... to here.
26845 (forward_relocator, backward_relocator): Move from here ...
26846 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26847 (grub_multiboot_backward_relocator): ... to here.
26848 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26849 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26850 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26851 (grub_multiboot_forward_relocator_end)
26852 (grub_multiboot_backward_relocator)
26853 (grub_multiboot_backward_relocator_end): New variables.
26854
05f9452b 268552008-08-12 Bean <bean123ch@gmail.com>
26856
26857 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26858
20024ab0 268592008-08-11 Robert Millan <rmh@aybabtu.com>
26860
26861 * kern/i386/linuxbios/startup.S: Move from here ...
26862 * kern/i386/coreboot/startup.S: ... to here.
26863
26864 * kern/i386/linuxbios/init.c: Move from here ...
26865 * kern/i386/coreboot/init.c: ... to here.
26866
26867 * kern/i386/linuxbios/table.c: Move from here ...
26868 * kern/i386/coreboot/mmap.c: ... to here.
26869
26870 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26871
e352e9cd 268722008-08-11 Robert Millan <rmh@aybabtu.com>
26873
26874 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26875 errors. Leave it to the upper layer to handle them.
26876
2d05bc6a 268772008-08-09 Christian Franke <franke@computer.org>
26878
26879 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26880 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26881 Install `grub.d/10_windows' only on Cygwin.
26882 * configure.ac: Add subst of `target_os'.
26883 Check `target_os' also before setting TARGET_OBJ2ELF.
26884 Add `--enable-grub-pe2elf'.
26885
042bd419 268862008-08-08 Robert Millan <rmh@aybabtu.com>
26887
26888 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26889 (grub_last_time): Change type to grub_uint64_t.
26890 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26891 (grub_disk_close): Likewise.
26892
26893 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26894 (run_menu): Migrate code from to using grub_get_time_ms().
26895
26896 * util/misc.c (grub_get_time_ms): New function.
26897
7f280db5 268982008-08-08 Marco Gerards <marco@gnu.org>
26899
26900 * disk/ata.c (grub_ata_regget): Change return type to
26901 `grub_uint8_t'.
26902 (grub_ata_regget2): Likewise.
26903 (grub_ata_wait_status): New function.
26904 (grub_ata_wait_busy): Removed function, updated all users to use
26905 `grub_ata_wait_status'.
26906 (grub_ata_wait_drq): Likewise.
26907 (grub_ata_cmd): New function.
26908 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26909 error handling.
26910 (grub_ata_pio_write): Add error handling.
26911 (grub_atapi_identify): Likewise.
26912 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26913 handling.
26914 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26915 handling. Actually use the detected registers. Reorder the
26916 detection logic such that it is easier to read.
26917 (grub_ata_pciinit): Do not assign the same ID to each controller.
26918 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26919 handling.
26920 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26921
26922 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26923
1fbc5e66 269242008-08-08 Marco Gerards <marco@gnu.org>
26925
26926 * NEWS: Update.
26927
819ce6c0 269282008-08-07 Bean <bean123ch@gmail.com>
26929
26930 * include/grub/x86_64/pci.h: New file.
26931
5c41d44d 269322008-08-07 Christian Franke <franke@computer.org>
26933
26934 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26935 (TIMER2_GATE): Likewise.
26936 (grub_pit_wait): Add enable/disable of the timer2 gate
26937 bit of port 0x61. This fixes a possible infinite loop.
26938
5ebc275d 269392008-08-07 Bean <bean123ch@gmail.com>
26940
26941 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26942 kern/i386/tsc.c and kern/i386/pit.c.
26943
26944 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26945 x86_64 platform.
26946
26947 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26948 <grub/i386/tsc.h>.
26949
26950 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26951
e383b3d0 269522008-08-07 Bean <bean123ch@gmail.com>
26953
26954 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26955
26956 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26957
26958 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26959 multiple inclusion. Add #include <grub/types.h>.
26960
1cbb58ac 269612008-08-06 Christian Franke <franke@computer.org>
26962
26963 * conf/common.rmk: Build and install `10_windows'.
26964 * util/grub.d/10_windows.in: New script.
26965
337f5a1e 269662008-08-06 Pavel Roskin <proski@gnu.org>
26967
26968 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26969
057bc4ac 269702008-08-06 Robert Millan <rmh@aybabtu.com>
26971
26972 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26973 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26974
2b99f123 269752008-08-06 Bean <bean123ch@gmail.com>
26976
26977 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26978 (grub_pxefs_fs_int): Remove dummy definition.
26979 (grub_pxefs_open): Use data->block_size to store the current block
26980 size setting.
26981 (grub_pxefs_read): Use block size stored in data->block_size. As the
26982 value of grub_pxe_blksize can be changed after the file is opened.
26983
9f0234cb 269842008-08-06 Bean <bean123ch@gmail.com>
26985
26986 * fs/i386/pc/pxe.c (curr_file): new variable.
26987 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26988 require the dummy internal file system anymore.
26989 (grub_pxefs_read): Removed.
26990 (grub_pxefs_close): Likewise.
26991 (grub_pxefs_fs_int): Likewise.
26992 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26993 connection when we switch file.
26994 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26995
a55d42e0 269962008-08-06 Robert Millan <rmh@aybabtu.com>
26997
26998 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26999 `halt.mod'.
27000 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
27001 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
27002
27003 * kern/i386/halt.c: New file.
27004 * kern/i386/reboot.c: Likewise.
27005 * include/grub/i386/reboot.h: Likewise.
27006 * include/grub/i386/halt.h: Likewise.
27007
27008 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
27009 Include `<grub/cpu/halt.h>'.
27010 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
27011 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
27012
27013 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
27014 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
27015 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
27016 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
27017 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
27018 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
27019 from here ...
27020 * include/grub/i386/at_keyboard.h: ... to here.
27021
24371d26 270222008-08-05 Robert Millan <rmh@aybabtu.com>
27023
27024 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
27025 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
27026 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
27027 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27028 `kern/generic/millisleep.c'.
27029
27030 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
27031 instead of grub_get_rtc().
27032 (grub_tsc_init): Initialize `tsc_boot_time'.
27033
27034 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
27035 (grub_machine_init): Use grub_tsc_init() rather than
27036 installing an RTC-based handler via grub_install_get_time_ms().
27037
27038 * kern/i386/pit.c: New file.
27039 * include/grub/i386/pit.h: Likewise.
27040
9e7007b3 270412008-08-05 Bean <bean123ch@gmail.com>
27042
27043 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
27044
27045 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
27046 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
27047 (pxe_mod_SOURCES): New macro.
27048 (pxe_mod_CFLAGS): Likewise.
27049 (pxe_mod_LDFLAGS): Likewise.
27050 (pxecmd_mod_SOURCES): Likewise.
27051 (pxecmd_mod_CFLAGS): Likewise.
27052 (pxecmd_mod_LDFLAGS): Likewise.
27053
27054 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
27055 (grub_pxe_call): Likewise.
27056
27057 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
27058
27059 * commands/i386/pc/pxecmd.c: New file.
27060
9f0234cb 27061 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 27062
27063 * include/grub/i386/pc/pxe.h: Likewise.
27064
6977d49f 270652008-08-05 Bean <bean123ch@gmail.com>
27066
27067 * util/console.c (grub_console_cur_color): New variable.
27068 (grub_console_standard_color): Likewise.
27069 (grub_console_normal_color): Likewise.
27070 (grub_console_highlight_color): Likewise.
27071 (color_map): Likewise.
27072 (use_color): Likewise.
27073 (NUM_COLORS): New macro.
27074 (grub_ncurses_setcolorstate): Handle color properly.
27075 (grub_ncurses_setcolor): Don't change color here, just remember the
27076 settings, color will be set in grub_ncurses_setcolorstate.
27077 (grub_ncurses_getcolor): New function.
27078 (grub_ncurses_init): Initialize color pairs.
27079 (grub_ncurses_term): New member grub_ncurses_getcolor.
27080
9c2ff3ee 270812008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 27082
9c2ff3ee 27083 High resolution timer support. Implemented for x86 CPUs using TSC.
27084 Extracted generic grub_millisleep() so it's linked in only as needed.
27085 This requires a Pentium compatible CPU; if the RDTSC instruction is
27086 not supported, then it falls back on the generic grub_get_time_ms()
27087 implementation that uses the machine's RTC.
27088
27089 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
27090 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
27091 `kern/generic/millisleep.c'.
27092
27093 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
27094 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
27095
27096 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
27097 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
27098
27099 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27100
27101 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27102 `kern/generic/millisleep.c'.
27103
27104 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
27105
27106 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
27107
27108 * kern/generic/rtc_get_time_ms.c: New file.
27109
27110 * kern/generic/millisleep.c: New file.
337f5a1e 27111
9c2ff3ee 27112 * kern/misc.c: Don't include
27113 <kern/time.h> anymore.
27114 (grub_millisleep_generic): Removed.
27115
27116 * commands/sleep.c (grub_interruptible_millisleep): Uses
27117 grub_get_time_ms() instead of grub_get_rtc().
27118
27119 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
27120 function.
27121 (grub_cpu_is_cpuid_supported): New inline function.
27122 (grub_cpu_is_tsc_supported): New inline function.
27123 (grub_tsc_init): New function prototype.
27124 (grub_tsc_get_time_ms): New function prototype.
27125
27126 * kern/i386/tsc.c (grub_get_time_ms): New file.
27127
27128 * include/grub/time.h: Include <grub/types.h.
27129 (grub_millisleep_generic): Removed.
27130 (grub_get_time_ms): New prototype.
27131 (grub_install_get_time_ms): New prototype.
27132 (grub_rtc_get_time_ms): New prototype.
27133
27134 * kern/time.c (grub_get_time_ms): New function.
27135 (grub_install_get_time_ms): New function.
27136
27137 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
27138 <grub/time.h> anymore.
27139 (grub_millisleep): Removed.
27140 (grub_machine_init): Call grub_tsc_init.
27141
27142 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
27143 get_time_ms() implementation.
27144
27145 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
27146 (ieee1275_get_time_ms): New function.
27147 (grub_machine_init): Install get_time_ms() implementation.
27148
27149 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
27150 (grub_machine_init): Call grub_tsc_init().
27151 (grub_millisleep): Removed.
bf06a93f 27152
9c2ff3ee 27153 * kern/ieee1275/init.c (grub_millisleep): Removed.
27154 (grub_machine_init): Install ieee1275_get_time_ms()
27155 implementation.
27156 (ieee1275_get_time_ms): New function.
27157 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
27158 real work.
27159
9ec92aaf 271602008-08-05 Marco Gerards <marco@gnu.org>
27161
27162 * disk/ata.c: Include <grub/pci.h>.
27163 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
27164 (grub_ata_initialize): Rewritten.
27165 (grub_ata_device_initialize): New function.
27166
8d23f507 271672008-08-04 Pavel Roskin <proski@gnu.org>
27168
27169 * kern/main.c: Include grub/mm.h.
27170
5e15ee3d 271712008-08-04 Robert Millan <rmh@aybabtu.com>
27172
27173 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
27174 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
27175 corruption problem).
27176
a9053f8f 271772008-08-04 Robert Millan <rmh@aybabtu.com>
27178
27179 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
27180 warnings introduced in my last commit.
27181
dd19c7d7 271822008-08-03 Robert Millan <rmh@aybabtu.com>
27183
27184 Make PCI available on all i386 architectures.
27185
27186 * include/grub/i386/pc/pci.h: Move from here ...
27187 * include/grub/i386/pci.h: ... to here.
27188
27189 * include/grub/i386/pc/pci.h: Remove.
27190 * include/grub/i386/efi/pci.h: Remove.
27191 * include/grub/x86_64/efi/pci.h: Remove.
27192
27193 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
27194 `<grub/cpu/pci.h>'.
27195
27196 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
27197 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
27198 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
27199
27200 * conf/i386-ieee1275.rmk: Likewise.
27201
e14a6184 272022008-08-03 Robert Millan <rmh@aybabtu.com>
27203
27204 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
27205 (grub_console_setcursor): Make it possible to set cursor off.
27206
52768e37 272072008-08-03 Robert Millan <rmh@aybabtu.com>
27208
27209 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
27210 of modules instead of assuming which platform provides what.
27211 * util/update-grub.in: Likewise.
27212
2d52f57f 272132008-08-03 Robert Millan <rmh@aybabtu.com>
27214
27215 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
27216 instead of `grub_install_dos_part' to determine whether a drive needs
27217 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 27218 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 27219
2a5cd121 272202008-08-02 Robert Millan <rmh@aybabtu.com>
27221
27222 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
27223
93808428 272242008-08-02 Robert Millan <rmh@aybabtu.com>
27225
27226 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
27227 of informational grub_dprintf() calls.
27228
3bd0a12a 272292008-08-02 Robert Millan <rmh@aybabtu.com>
27230
27231 * disk/memdisk.c (memdisk_size): Don't initialize.
27232 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
27233
27234 * include/grub/i386/pc/kernel.h
27235 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
27236 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
27237 (grub_memdisk_image_size, grub_arch_memdisk_addr)
27238 (grub_arch_memdisk_size): Remove.
27239
27240 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
27241 field (was only used to transfer a constant). Add `type' field to
27242 support multiple module types.
27243 (grub_module_iterate): New function.
27244
27245 * kern/device.c (grub_device_open): Do not hide error messages
27246 when grub_disk_open() fails. Use grub_print_error() instead.
27247
27248 * kern/i386/pc/init.c (grub_arch_modules_addr)
27249 (grub_arch_memdisk_size): Remove functions.
27250 (grub_arch_modules_addr): Return the module address in high memory
27251 (now that it isn't copied anymore).
27252
27253 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
27254 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
27255 decompression routine (grub_total_module_size already includes that
27256 now). Don't copy modules back to low memory.
27257
27258 * kern/main.c: Include `<grub/mm.h>'.
27259 (grub_load_modules): Split out (and use) ...
27260 (grub_module_iterate): ... this function, which iterates through
27261 module objects and runs a hook.
27262 Comment out grub_mm_init_region() call, as it would cause non-ELF
27263 modules to be overwritten.
27264
27265 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
27266 the memdisk image in its own region, make it part of the module list.
27267 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
27268 (main): Parse --memdisk|-m option, and pass user-provided path as
27269 parameter to generate_image().
27270 (add_segments): Pass `memdisk_path' down to load_modules().
27271 (load_modules): Embed memdisk image in module section when requested.
27272 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
27273 `header.type' instead of `header.offset'.
27274
27275 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
27276 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
27277 (memdisk_mod_LDFLAGS): New variables.
27278 * conf/i386-coreboot.rmk: Likewise.
27279 * conf/i386-ieee1275.rmk: Likewise.
27280
a927cc73 272812008-08-02 Robert Millan <rmh@aybabtu.com>
27282
27283 * loader/i386/pc/multiboot.c (playground, forward_relocator)
27284 (backward_relocator): New variables. Used to allocate and relocate
27285 the payload, respectively.
27286 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 27287 address, install the appropriate relocator code in each bound of
a927cc73 27288 the payload, and set the entry point such that
27289 grub_multiboot_real_boot() will jump to one of them.
27290
27291 * kern/i386/loader.S (grub_multiboot_payload_size)
27292 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27293 (grub_multiboot_payload_entry_offset): New variables.
27294 (grub_multiboot_real_boot): Set cpu context to what the relocator
27295 expects, and jump to the relocator instead of the payload.
27296
27297 * include/grub/i386/loader.h (grub_multiboot_payload_size)
27298 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27299 (grub_multiboot_payload_entry_offset): Export.
27300
b15d8a0c 273012008-08-01 Bean <bean123ch@gmail.com>
27302
27303 * normal/menu_entry.c (editor_getline): Don't return the original
27304 string as result, as it will be released by lexer once it has done
27305 using it.
27306
cdfb3d22 273072008-08-01 Robert Millan <rmh@aybabtu.com>
27308
27309 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
27310 within menuentries, not before them.
27311 util/grub.d/10_hurd.in: Likewise.
27312
9175e93d 273132008-08-01 Bean <bean123ch@gmail.com>
27314
27315 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
27316 (bufio_mod_SOURCES): New macro.
27317 (bufio_mod_CFLAGS): Likewise.
27318 (bufio_mod_LDFLAGS): Likewise.
27319
27320 * include/grub/bufio.h: New file.
27321
27322 * io/bufio.c: Likewise.
27323
27324 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
27325 (grub_video_reader_png): Use grub_buffile_open to open file.
27326
27327 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
27328 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
27329
27330 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
27331 (grub_video_reader_tga): Use grub_buffile_open to open file.
27332
27333 * font/manager.c: Include <grub/bufio.h>.
27334 (add_font): Use grub_buffile_open to open file.
27335
3d8383e7 273362008-07-31 Robert Millan <rmh@aybabtu.com>
27337
27338 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
27339 ELF segments, use a macro for arbitrarily accessing any of them instead
27340 of preparing a pointer that allows access to one at a time.
27341 (grub_multiboot_load_elf64): Likewise.
27342
16e641b6 273432008-07-31 Bean <bean123ch@gmail.com>
27344
27345 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
27346 GRUB_KERNEL_MACHINE_DATA_END.
27347
59198b72 273482008-07-30 Robert Millan <rmh@aybabtu.com>
27349
27350 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
27351 Increase from 0x50 to 0x60.
27352 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
27353 use UUIDs to identify the root drive for them. If that's not
27354 possible, abort.
27355 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
27356 check, for cross-disk installs.
27357
ae88bca3 273582008-07-30 Robert Millan <rmh@aybabtu.com>
27359
27360 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
27361 is non-empty, use it to set the `prefix' environment variable instead
27362 of the usual approach.
27363 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
27364 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
27365 environment variable instead of dummy make_install_device().
27366
27367 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
27368 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 27369 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 27370
27371 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
27372 New variable reference.
27373 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
27374 New macro. Defines offset of `grub_prefix' within startup.S (relative
27375 to `start').
27376 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
27377 section within startup.S (relative to `start').
27378 * include/grub/i386/coreboot/kernel.h: Likewise.
27379
27380 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
27381 Overwrite grub_prefix with its contents, at the beginning of the
27382 first segment.
27383 (main): Understand -p|--prefix.
27384
14f41dd1 273852008-07-30 Robert Millan <rmh@aybabtu.com>
27386
27387 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
27388
4ca049a3 273892008-07-30 Robert Millan <rmh@aybabtu.com>
27390
27391 * term/i386/pc/vga_text.c (grub_console_cls): Use
27392 grub_console_gotoxy() to go back to beginning of the screen.
27393 Found by Patrick Georgi <patrick.georgi@coresystems.de>
27394
2921d337 273952008-07-29 Christian Franke <franke@computer.org>
27396
27397 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27398 Add conversion of emulated mount points on Cygwin.
27399
b609876d 274002008-07-29 Christian Franke <franke@computer.org>
27401
27402 * util/update-grub.in: Add a check for admin
27403 group on Cygwin.
27404 Remove old `grub.cfg.new' before creation.
27405 Add `-f' to `mv' to handle the different filesystem
27406 semantics of Windows.
27407
e93e4679 274082008-07-29 Bean <bean123ch@gmail.com>
27409
27410 * normal/main.c (get_line): Fix buffer overflow bug.
27411
41694fd0 274122008-07-28 Robert Millan <rmh@aybabtu.com>
27413
27414 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
27415 (struct grub_apple_header): New struct. Describes the layout of
27416 the partmap header.
27417 (apple_partition_map_iterate): Check the header magic as well as the
27418 partition magic (which was already being checked).
27419
cfd0b4e6 274202008-07-28 Pavel Roskin <proski@gnu.org>
27421
27422 * genmk.rb: Add a warning to the beginning of the output that
27423 it's a generated file and should not be edited.
27424
93cce016 274252008-07-28 Robert Millan <rmh@aybabtu.com>
27426
27427 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27428 with the same number are found, just use issue a warning with
27429 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 27430
cd1df915 274312008-07-27 Robert Millan <rmh@aybabtu.com>
27432
27433 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
27434 information.
27435
b70a8427 274362008-07-27 Bean <bean123ch@gmail.com>
27437
27438 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
27439 (grub_fat_find_dir): Ignore case when comparing filename.
27440
8f5e379f 274412008-07-27 Bean <bean123ch@gmail.com>
27442
27443 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
27444 smallino, as it's more descriptive, and i8count can be confused with
27445 the other field count.
27446 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
27447 inode type.
27448
a85cd5a0 274492008-07-27 Bean <bean123ch@gmail.com>
27450
27451 * commands/crc.c: New file.
27452
27453 * lib/crc.c: Likewise.
27454
27455 * include/grub/lib/crc.h: Likewise.
27456
27457 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
27458
27459 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
27460 (hexdump): Move this function to ...
27461
27462 * lib/hexdump.c: ... here.
27463
27464 * include/grub/hexdump.h: Renamed to ...
27465
27466 * include/grub/lib/hexdump.h: ... this.
27467
27468 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
27469
27470 * util/grub-editenv.c: Likewise.
27471
27472 * include/envblk.h: Renamed to ...
27473
27474 * include/lib/envblk.h: ... this.
27475
27476 * util/envblk.c: Renamed to ...
27477
27478 * lib/envblk.c: ... this.
27479
27480 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
27481 lib/hexdump.c.
27482 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
27483 (pkglib_MODULES): Add crc.mod.
27484 (hexdump_mod_SOURCES): Add lib/hexdump.c.
27485 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
27486 (crc_mod_SOURCES): New macro.
27487 (crc_mod_CFLAGS): Likewise.
27488 (crc_mod_LDFLAGS): Likewise.
27489
27490 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
27491
27492 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27493
27494 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27495
27496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27497
27498 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27499
c298def0 275002008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 27501
27502 * commands/help.c: Include <grub/term.h>.
27503 (TERM_WIDTH): Removed. Updated all users.
27504
cc349fb3 275052008-07-27 Pavel Roskin <proski@gnu.org>
27506
27507 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27508 spurious warnings about a comment within a comment.
27509
9051607e 275102008-07-25 Robert Millan <rmh@aybabtu.com>
27511
27512 * util/getroot.c (find_root_device): Skip devices that match
27513 /dev/dm-[0-9]. This lets the real device be found for any type of
27514 abstraction (LVM, EVMS, RAID..).
27515 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27516 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27517 device is found first, find_root_device() will now skip it.
27518
01453bfc 275192008-07-24 Pavel Roskin <proski@gnu.org>
27520
27521 * include/grub/types.h: Use __builtin_bswap32() and
27522 __builtin_bswap64() with gcc 4.3 and newer.
27523
6af9849f 275242008-07-24 Christian Franke <franke@computer.org>
27525
3a0fa256 27526 * util/i386/pc/grub-install.in: If `--debug' is specified,
27527 pass `--verbose' to grub-setup.
27528 Abort script if make_system_path_relative_to_its_root() fails.
27529
7810e747 275302008-07-24 Bean <bean123ch@gmail.com>
27531
27532 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27533 variable `target_platform' should be `platform'.
27534
42290e17 275352008-07-24 Bean <bean123ch@gmail.com>
27536
51cc5193 27537 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 27538 (grub_png_init_fixed_block): New function.
27539 (grub_png_decode_image_data): Handle fixed huffman code compression.
27540
2a8a80e4 275412008-07-24 Bean <bean123ch@gmail.com>
27542
27543 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27544 (grub_pe2elf_SOURCES): New macro.
27545 (CLEANFILES): Add grub-pe2elf.
27546
27547 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27548 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27549 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27550 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27551 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27552 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27553 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27554 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27555 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27556 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27557 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27558 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27559 (GRUB_PE32_DT_FUNCTION): Likewise.
27560 (GRUB_PE32_REL_I386_DIR32): Likewise.
27561 (GRUB_PE32_REL_I386_REL32): Likewise.
27562 (grub_pe32_symbol): New structure.
27563 (grub_pe32_reloc): Likewise.
27564
27565 * util/grub-pe2elf.c: New file.
27566
27567 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27568 start symbol in non pc platform.
27569
27570 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27571
27572 The following patches are from Christian Franke.
27573
27574 * include/grub/dl.h: Remove .previous, gas supports this only
27575 for ELF format.
27576
27577 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27578 Remove .type, gas supports this only for ELF format.
27579
27580 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27581 nullbytes in symbol table. This fixes an infinite loop if table is
27582 zero filled.
27583
27584 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27585 TARGET_IMG_LDFLAGS and EXEEXT.
27586
27587 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27588 TARGET_IMG_LDFLAGS_AC.
27589 (grub_CHECK_STACK_ARG_PROBE): New function.
27590
27591 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27592
27593 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27594
27595 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27596 to set TARGET_IMG_LD* accordingly.
27597 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27598 Add call to grub_CHECK_STACK_ARG_PROBE.
27599 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27600
27601 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27602
27603 * genmk.rb: Add EXEEXT to CLEANFILES.
27604
12ccdb75 276052008-07-23 Robert Millan <rmh@aybabtu.com>
27606
27607 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27608 define the codes for arrows and lines used for the menu).
27609 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27610 as well.
27611
27612 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27613 fonts, because the latter are too slow.
27614
18eeaf04 276152008-07-21 Bean <bean123ch@gmail.com>
27616
27617 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27618 a20. Run keyboard test last, as it will cause macbook to halt.
27619
b095e2ad 276202008-07-18 Pavel Roskin <proski@gnu.org>
27621
27622 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27623 load foreign architecture modules correctly anyway. Keep
27624 support for loading host architecture modules, whether we
27625 compile them or not.
27626
737feb35 276272008-07-17 Pavel Roskin <proski@gnu.org>
27628
3f4ce737 27629 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27630 change target_cpu. The compiler default can mismatch target_cpu
27631 in any case.
27632
4ad2d049 27633 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27634 * kern/efi/efi.c: Likewise.
27635
f6130a12 27636 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27637 target compiler is functional.
27638 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27639 are set up.
27640
58393a2d 27641 * configure.ac: Default to efi platform for x86_64-apple. Allow
27642 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27643 adjustments from the rest, only do them if target is not
27644 explicitly given. Merge other adjustments with the final sanity
27645 check. Remove an extraneous check for supported CPU. Be
27646 specific which CPU and which platform is not supported.
27647
737feb35 27648 * configure.ac: Default to pc platform for x86_64.
27649
546f966a 276502008-07-17 Robert Millan <rmh@aybabtu.com>
27651
27652 Partial LinuxBIOS -> Coreboot rename.
27653
27654 * conf/i386-linuxbios.rmk: Renamed to ...
27655 * conf/i386-coreboot.rmk: ... this.
27656 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27657 * configure.ac: Accept "coreboot" as input platform (but maintain
27658 compatibility with "linuxbios").
27659 * include/grub/i386/linuxbios: Renamed to ...
27660 * include/grub/i386/coreboot: ... this.
27661
20011694 276622008-07-17 Bean <bean123ch@gmail.com>
27663
27664 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 27665 (appleldr_mod_SOURCE): New variable.
20011694 27666 (appleldr_mod_CFLAGS): Likewise.
27667 (appleldr_mod_LDFLAGS): Likewise.
27668 (pci_mod_SOURCES): Likewise.
27669 (pci_mod_CFLAGS): Likewise.
27670 (pci_mod_LDFLAGS): Likewise.
27671 (lspci_mod_SOURCES): Likewise.
27672 (lspci_mod_CFLAGS): Likewise.
27673 (lspci_mod_LDFLAGS): Likewise.
27674
27675 * conf/x86_64-efi.rmk: New file.
27676
27677 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27678 macro.
27679 (grub_efidisk_write): Likewise.
27680
27681 * include/efi/api.h (efi_call_0): New macro.
27682 (efi_call_1): Likewise.
27683 (efi_call_2): Likewise.
27684 (efi_call_3): Likewise.
27685 (efi_call_4): Likewise.
27686 (efi_call_5): Likewise.
27687 (efi_call_6): Likewise.
27688
27689 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27690 grub_rescue_cmd_chainloader.
27691
27692 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27693 (grub_pe32_optional_header): Change some fields based on i386 or
27694 x86_64 platform.
27695 (GRUB_PE32_PE32_MAGIC): Likewise.
27696
27697 * include/grub/efi/uga_draw.h: New file.
27698
27699 * include/grub/elf.h (STN_ABS): New constant.
27700 (R_X86_64_NONE): Relocation constant for x86_64.
27701 (R_X86_64_64): Likewise.
27702 (R_X86_64_PC32): Likewise.
27703 (R_X86_64_GOT32): Likewise.
27704 (R_X86_64_PLT32): Likewise.
27705 (R_X86_64_COPY): Likewise.
27706 (R_X86_64_GLOB_DAT): Likewise.
27707 (R_X86_64_JUMP_SLOT): Likewise.
27708 (R_X86_64_RELATIVE): Likewise.
27709 (R_X86_64_GOTPCREL): Likewise.
27710 (R_X86_64_32): Likewise.
27711 (R_X86_64_32S): Likewise.
27712 (R_X86_64_16): Likewise.
27713 (R_X86_64_PC16): Likewise.
27714 (R_X86_64_8): Likewise.
27715 (R_X86_64_PC8): Likewise.
27716
27717 * include/grub/i386/efi/pci.h: New file.
27718
27719 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27720 Change it value based on platform.
27721 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27722 (GRUB_E820_RAM): Likewise.
27723 (GRUB_E820_RESERVED): Likewise.
27724 (GRUB_E820_ACPI): Likewise.
27725 (GRUB_E820_NVS): Likewise.
27726 (GRUB_E820_EXEC_CODE): Likewise.
27727 (GRUB_E820_MAX_ENTRY): Likewise.
27728 (grub_e820_mmap): New structure.
27729 (linux_kernel_header): Change the efi field according to different
27730 kernel version, also field from linux_kernel_header.
27731
27732 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27733
27734 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27735 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27736 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27737 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27738 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27739 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27740 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27741 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27742 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27743 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27744
27745 * include/grub/x86_64/efi/kernel.h: New file.
27746
27747 * include/grub/x86_64/efi/loader.h: Likewise.
27748
27749 * include/grub/x86_64/efi/machine.h: Likewise.
27750
27751 * include/grub/x86_64/efi/pci.h: Likewise.
27752
27753 * include/grub/x86_64/efi/time.h: Likewise.
27754
27755 * include/grub/x86_64/linux.h: Likewise.
27756
27757 * include/grub/x86_64/setjmp.h: Likewise.
27758
27759 * include/grub/x86_64/time.h: Likewise.
27760
27761 * include/grub/x86_64/types.h: Likewise.
27762
27763 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27764 GRUB_TARGET_SIZEOF_VOID_P.
27765
27766 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27767 (grub_efi_locate_handle): Likewise.
27768 (grub_efi_open_protocol): Likewise.
27769 (grub_efi_set_text_mode): Likewise.
27770 (grub_efi_stall): Likewise.
27771 (grub_exit): Likewise.
27772 (grub_reboot): Likewise.
27773 (grub_halt): Likewise.
27774 (grub_efi_exit_boot_services): Likewise.
27775 (grub_get_rtc): Likewise.
27776
27777 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27778 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27779 (grub_efi_allocate_pages): Wrap efi calls.
27780 (grub_efi_free_pages): Wrap efi calls.
27781 (grub_efi_get_memory_map): Wrap efi calls.
27782
27783 * kern/x86_64/dl.c: New file.
27784
27785 * kern/x86_64/efi/callwrap.S: Likewise.
27786
27787 * kern/x86_64/efi/startup.S: Likewise.
27788
27789 * loader/efi/appleloader.c: Likewise.
27790
27791 * loader/efi/chainloader.c (cmdline): New variable.
27792 (grub_chainloader_unload): Wrap efi calls.
27793 (grub_chainloader_boot): Likewise.
27794 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27795 command line.
27796
27797 * loader/efi/chainloader_normal.c (chainloader_command):
27798 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27799 command line.
27800
27801 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27802 method.
27803 (grub_e820_add_region): New function.
27804 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27805 booting.
27806 (grub_find_video_card): New function.
27807 (grub_linux_setup_video): New function.
27808 (grub_rescue_cmd_linux): Probe for video information.
27809
27810 * normal/x86_64/setjmp.S: New file.
27811
27812 * term/efi/console.c (map_char): New function.
27813 (grub_console_putchar): Map unicode char.
27814 (grub_console_checkkey): Wrap efi calls.
27815 (grub_console_getkey): Likewise.
27816 (grub_console_getwh): Likewise.
27817 (grub_console_gotoxy): Likewise.
27818 (grub_console_cls): Likewise.
27819 (grub_console_setcolorstate): Likewise.
27820 (grub_console_setcursor): Likewise.
27821
27822 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27823
59652a20 278242008-07-16 Pavel Roskin <proski@gnu.org>
27825
ef294055 27826 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27827 format strings.
27828
59652a20 27829 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27830 pointer, not an integer. This fixes a warning and prevents
27831 precision loss on 64-bit systems.
27832 (relocate_addresses): Remove unneeded cast.
27833
afc3b5d7 278342008-07-15 Pavel Roskin <proski@gnu.org>
27835
506b2b3e 27836 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27837
62ead89c 27838 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27839
c4cd51d7 27840 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27841 Fix comparison between signed and unsigned.
27842
0d3d8f28 27843 * include/grub/i386/ieee1275/console.h: Declare
27844 grub_console_init() and grub_console_fini().
27845
8804b286 27846 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27847 It's empty and unused.
27848
ee01cf35 27849 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27850 beginning to avoid warnings with some compilers.
27851
afc3b5d7 27852 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27853 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27854
e4e8eaa5 278552008-07-14 Pavel Roskin <proski@gnu.org>
27856
407aceb4 27857 * kern/env.c (grub_register_variable_hook): Don't copy empty
27858 string, it leaks memory. Pass "" to grub_env_set(), it should
27859 handle constant strings.
27860
e4e8eaa5 27861 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27862 * commands/cmp.c (grub_cmd_cmp): Likewise.
27863 * kern/dl.c (grub_dl_flush_cache): Likewise.
27864 (grub_dl_load_core): Likewise.
27865 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27866 (grub_elf64_load_phdrs): Likewise.
27867
d4e2dad3 278682008-07-13 Pavel Roskin <proski@gnu.org>
27869
27870 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27871 between signed and unsigned.
27872 (LzmaEnc_Finish): Fix warning about an unused parameter.
27873
aa24b516 278742008-07-13 Bean <bean123ch@gmail.com>
27875
27876 * Makefile.in (enable_lzo): New rule.
27877
27878 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27879
27880 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27881
27882 * boot/i386/pc/lnxboot.S: #include <config.h>.
27883
27884 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 27885 its value according to the compression algorithm used, lzo or lzma.
aa24b516 27886
27887 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27888 compression algorithm according to configure macro.
27889
27890 * kern/i386/pc/startup.S (codestart): Likewise.
27891
27892 * kern/i386/pc/lzma_decode.S: New file.
27893
27894 * include/grub/lib/LzFind.h: Likewise.
27895
27896 * include/grub/lib/LzHash.h: Likewise.
27897
27898 * include/grub/lib/LzmaDec.h: Likewise.
27899
27900 * include/grub/lib/LzmaEnc.h: Likewise.
27901
27902 * include/grub/lib/LzmaTypes.h: Likewise.
27903
27904 * lib/LzFind.c: Likewise.
27905
27906 * lib/LzmaDec.c: Likewise.
27907
27908 * lib/LzmaEnc.c: Likewise.
27909
4ae821ac 279102008-07-13 Bean <bean123ch@gmail.com>
27911
27912 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27913 (grub_ext4_extent_header): New structure.
27914 (grub_ext4_extent): Likewise.
27915 (grub_ext4_extent_idx): Likewise.
27916 (grub_ext4_find_leaf): New function.
27917 (grub_ext2_read_block): Handle extents.
27918
9a745147 279192008-07-12 Robert Millan <rmh@aybabtu.com>
27920
27921 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27922
d49a4cf6 279232008-07-11 Robert Millan <rmh@aybabtu.com>
27924
27925 * util/grub.d/40_custom.in: New file. Example on how to add custom
27926 entries to /etc/grub.d.
27927 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27928 40_custom (implicitly, by merging all the grub.d rules).
27929
947414b4 279302008-07-11 Pavel Roskin <proski@gnu.org>
27931
0059cf6f 27932 * commands/read.c (grub_getline): Fix invalid memory access.
27933 Don't add newline to the variable value.
27934
947414b4 27935 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27936 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27937 (serial_hw_get_port): Check validity of the port number.
27938 (grub_cmd_serial): Check return value of serial_hw_get_port().
27939
62a02d00 279402008-07-07 Pavel Roskin <proski@gnu.org>
27941
27942 * boot/i386/pc/diskboot.S (notification_string): Replace
27943 "Loading kernel" with just "loading". This is shorter, less
27944 confusing and saves a few bytes for possible future changes.
27945
3e5581b0 279462008-07-05 Pavel Roskin <proski@gnu.org>
27947
ea387a48 27948 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27949 size for ATAPI devices, they are undefined. Output sector
27950 number in decimal form.
27951
3e5581b0 27952 * disk/ata.c: Use named constants for status bits.
27953
fdecb8fd 279542008-07-04 Pavel Roskin <proski@gnu.org>
27955
bcd35b90 27956 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27957 grub_addr_t before casting it to the void pointer to fix a
27958 warning. Non-addressable regions are discarded earlier.
27959 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27960 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27961 (check_signature): Don't shadow table_header.
27962 (grub_linuxbios_table_iterate): Cast numeric constants to
27963 grub_linuxbios_table_header_t.
27964 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27965 grub_stop().
27966
af58ab3d 27967 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27968 prevent warnings.
27969
1759aa57 27970 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27971 pointer, which can cause warnings. Support 64-bit addresses.
27972
fdecb8fd 27973 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27974 of sizeof(long). This fixes PowerPC image generation on x86_64.
27975
8516d2a8 279762008-07-04 Robert Millan <rmh@aybabtu.com>
27977
27978 This fixes a performance issue when pc & gpt partmap iterators
27979 didn't abort iteration even after our hook found what it was
fe987087 27980 looking for (often causing expensive probes of non-existent drives).
8516d2a8 27981
27982 Some callers relied on previous buggy behaviour, since they would
34c44600 27983 raise an error when their own hooks caused early abortion of its
8516d2a8 27984 iteration.
27985
27986 * kern/device.c (grub_device_open): Improve error message.
27987 * disk/lvm.c (grub_lvm_open): Likewise.
27988 * disk/raid.c (grub_raid_open): Likewise.
27989
27990 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27991 when hook requests it, independently of grub_errno.
27992 (pc_partition_map_probe): Do not fail when find_func() caused
27993 early abortion of pc_partition_map_iterate().
27994
27995 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27996 when hook requests it, independently of grub_errno.
27997 (gpt_partition_map_probe): Do not fail when find_func() caused
27998 early abortion of gpt_partition_map_iterate().
27999
28000 * kern/partition.c (grub_partition_iterate): Abort parent iteration
28001 when hook requests it, independently of grub_errno. Do not fail when
28002 part_map_iterate_hook() caused early abortion of p->iterate().
28003
28004 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
28005 when grub_partition_iterate() returned with non-zero.
28006
277d0de9 280072008-07-03 Pavel Roskin <proski@gnu.org>
28008
28009 * disk/ata.c (grub_ata_pio_write): Check status before writing,
28010 like we do in grub_ata_pio_read().
28011 (grub_ata_readwrite): Always write individual sectors. Fix the
28012 sector count for the remainder.
28013 (grub_ata_write): Enable writing to ATA devices. Correctly
28014 report error for ATAPI devices.
28015
d4c9b428 280162008-07-02 Pavel Roskin <proski@gnu.org>
28017
e43fc690 28018 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
28019 warning.
28020
f707af42 28021 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
28022 for every read sector, we already increment it for the whole
28023 batch. This fixes reading more than 256 sectors at once.
28024
11e16b15 28025 * util/grub-editenv.c (cmd_info): Cast argument to long
28026 explicitly. ptrdiff_t reduces to int on i386.
28027
cbabfdd4 28028 * util/grub-editenv.c (main): Be specific which parameter is
28029 missing.
28030
b8fbce0a 28031 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
28032 (memdisk): Make memdisk_orig_addr a pointer.
28033
c9c8e606 28034 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
28035 for file offsets, use grub_off_t instead. Fix printf format
28036 warnings.
28037
ca62e598 28038 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
28039 there. Real unexpected warnings should not drown in the noise
28040 about known problems.
28041
ce8d1766 28042 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
28043 grub_disk_addr_t for memory addresses.
28044
00c7a56a 28045 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
28046 explicitly to fix a warning.
28047
08d3ef09 28048 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
28049
cb71ba20 28050 * Makefile.in (MODULE_LDFLAGS): New variable.
28051 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
28052 the linker accepts --build-id=none.
28053 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
28054 MODULE_LDFLAGS.
28055 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
28056
d4c9b428 28057 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
28058 those in Linux XFS code. Provide a way to access 64-bit parent
28059 inode.
28060 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
28061 the end of struct grub_xfs_dir_header.
28062
d4156eee 280632008-07-02 Bean <bean123ch@gmail.com>
28064
28065 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
28066 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
28067 and GRUB_IEEE1275_FLAG_NO_ANSI.
28068
28069 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
28070 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
28071 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
28072
28073 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
28074 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
28075
28076 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
28077 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
28078
28079 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
28080 esc sequence on non ANSI terminal.
28081 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
28082
28083 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
28084 beginning of file.
28085
2270f77b 280862008-07-02 Bean <bean123ch@gmail.com>
28087
28088 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
28089 (grub_editenv_SOURCES): New variable.
28090 (pkglib_MODULES): Add loadenv.mod.
28091 (loadenv_mod_SOURCES): New variable.
28092 (loadenv_mod_CFLAGS): Likewise.
28093 (loadenv_mod_LDFLAGS): Likewise.
28094
28095 * include/grub/envblk.h: New file.
28096
28097 * util/envblk.c: New file.
28098
28099 * util/grub-editenv.c: New file.
28100
28101 * commands/loadenv.c: New file.
28102
0e9e51ec 281032008-07-01 Pavel Roskin <proski@gnu.org>
28104
d89b7634 28105 * include/multiboot2.h (struct multiboot_tag_module): Use char,
28106 not unsigned char. This fixes warnings and is consistent with
28107 other tags.
28108
bf1835b1 28109 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
28110
8222a04b 28111 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
28112
6a42d99d 28113 * term/tparm.c (analyze): Always set *popcount.
28114
10b159d1 28115 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
28116 cast to fix a warning.
28117
b8789f6c 28118 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
28119 cast to suppress a warning.
28120
29d7e38a 28121 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
28122 grub_fshelp_read_file() expects.
28123
f341f669 28124 * fs/fat.c: Fix UUID calculation on big-endian systems. We
28125 write uuid as a 32-bit value in CPU byte order, so declare and
28126 use it as such.
28127
0e9e51ec 28128 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
28129 long if the format specifier expects it.
28130 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
28131 * partmap/pc.c (pc_partition_map_iterate): Likewise.
28132 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
28133 long to fix a warning.
28134 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
28135 grub_dprintf() arguments to fix warnings.
28136
3aefa857 281372008-06-30 Pavel Roskin <proski@gnu.org>
28138
56c7668b 28139 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
28140 install_bsd_part immediately before core.img is embedded or
28141 modified on disk. This fixes core.img verification if core.img
28142 cannot be embedded.
28143
3aefa857 28144 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
28145 core_path to calculate the blocklist.
28146 Patch from Javier Martín <lordhabbit@gmail.com>
28147
5444088d 281482008-06-29 Robert Millan <rmh@aybabtu.com>
28149
28150 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
28151 block to disk block.
28152 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
28153 Patch from Niels Böhm <bitbucket@arcor.de>
28154
674835c8 281552008-06-29 Robert Millan <rmh@aybabtu.com>
28156
28157 * util/update-grub_lib.in (font_path): Search for fonts in
28158 /boot/grub first, which is more likely to be readable (we aren't
28159 deciding where fonts live, just looking for them).
28160
f527dbc8 281612008-06-26 Pavel Roskin <proski@gnu.org>
28162
6c2d8df6 28163 * util/biosdisk.c (read_device_map): Don't leave dead map
28164 entries for devices failing stat() check.
28165
f527dbc8 28166 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
28167 core_path_dev for the core.img path on the target device.
28168
aebe3d13 281692008-06-26 Robert Millan <rmh@aybabtu.com>
28170
28171 * disk/fs_uuid.c: New file.
28172 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
28173 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
28174 (fs_uuid_mod_LDFLAGS): New variables.
28175 * include/grub/disk.h (grub_disk_dev_id): Add
28176 `GRUB_DISK_DEVICE_UUID_ID'.
28177 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
28178 implement iterate().
28179
37aaf354 281802008-06-26 Robert Millan <rmh@aybabtu.com>
28181
28182 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
28183 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
28184 Linux image includes no initrd.
28185
25ff262a 281862008-06-21 Javier Martín <lordhabbit@gmail.com>
28187
28188 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
28189 call to resolve the core image location that effectively appended the
28190 name twice.
28191
76a2bd44 281922008-06-21 Robert Millan <rmh@aybabtu.com>
28193
28194 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
28195 call from here ...
28196
28197 * util/grub.d/10_hurd.in: ... to here ...
28198 * util/grub.d/10_linux.in: ... and here.
28199
650e1c79 282002008-06-19 Robert Millan <rmh@aybabtu.com>
28201
fe987087 28202 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 28203 after it has been set by grub_machine_set_prefix().
28204
6ce63911 282052008-06-19 Robert Millan <rmh@aybabtu.com>
28206
28207 * commands/search.c (search_label, search_fs_uuid, search_file): Print
28208 search result when not saving to variable, not the other way around.
28209 When saving to variable, abort iteration as soon as a match is found.
28210
73940cec 282112008-06-19 Robert Millan <rmh@aybabtu.com>
28212
28213 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
28214 check for partition that provides /boot/grub. Its logic is flawed,
28215 as it prevents prepare_grub_to_access_device() from being called
28216 multiple times.
28217
3c62a39d 282182008-06-19 Robert Millan <rmh@aybabtu.com>
28219
28220 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
28221 "insmod" command directly when abstraction modules are needed,
fe987087 28222 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 28223 since it had already been processed).
28224
47395a42 282252008-06-19 Pavel Roskin <proski@gnu.org>
28226
28227 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
28228 changed. This is needed in case GRUB_LIBDIR changes.
28229 * conf/i386-ieee1275.rmk: Likewise.
28230 * conf/i386-linuxbios.rmk: Likewise.
28231 * conf/i386-pc.rmk: Likewise.
28232 * conf/powerpc-ieee1275.rmk: Likewise.
28233
a145ac2d 282342008-06-18 Pavel Roskin <proski@gnu.org>
28235
28236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
28237 kernel_elf_symlist.c to symlist.c for consistency with other
28238 architectures. Update all users.
28239 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28240
7847c51e 282412008-06-18 Robert Millan <rmh@aybabtu.com>
28242
28243 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
28244 it in prefix.
28245
28246 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
28247 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
28248 a RAID device, run setup() for all members independently on whether
28249 LVM abstraction is being used.
28250 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
28251 If grub-mkimage has set `*install_dos_part == -2', don't override this
28252 value.
28253 Perform *install_dos_part adjustments independently on whether
28254 we're embedding or not.
28255 Clarify error message when image is too big for embedding.
28256 Remove duplicate *install_dos_part stanza.
28257
b23e5644 282582008-06-17 Robert Millan <rmh@aybabtu.com>
28259
28260 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
28261 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
28262 variables.
28263 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
28264 values in grub_ofconsole_normal_color and
28265 grub_ofconsole_highlight_color (they're not directly related to
28266 background and foreground).
28267 (grub_ofconsole_setcolorstate): Extract background and foreground
28268 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
28269
0aac2f79 282702008-06-17 Robert Millan <rmh@aybabtu.com>
28271
28272 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
28273 /boot/grub for the check in last commit, not /boot (they could be
28274 different partitions).
28275
3cca7ef3 282762008-06-16 Robert Millan <rmh@aybabtu.com>
28277
28278 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
28279 asked to setup access for the same partition that provides /boot,
28280 don't bother using UUIDs since our root already has the value we
28281 want.
28282
347396d8 282832008-06-16 Robert Millan <rmh@aybabtu.com>
28284
28285 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
28286 I2O devices.
28287 Patch from Sven Mueller <sven@debian.org>.
28288
991477f8 282892008-06-16 Robert Millan <rmh@aybabtu.com>
28290
28291 * util/update-grub.in: Check for $EUID instead of $UID.
28292 Reported by Vincent Zweije.
28293
d31a32a1 282942008-06-16 Bean <bean123ch@gmail.com>
28295
fe987087 28296 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 28297 (grub_ext2_read_block): Likewise.
28298 (grub_ext2_read_inode): Likewise.
28299 (grub_ext2_mount): Likewise.
28300 (grub_ext2_close): Likewise.
28301 (grub_ext3_get_journal): Removed.
28302
fe987087 28303 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 28304 (grub_reiserfs_read_symlink): Likewise.
28305 (grub_reiserfs_mount): Likewise.
28306 (grub_reiserfs_open): Likewise.
28307 (grub_reiserfs_read): Likewise.
28308 (grub_reiserfs_close): Likewise.
28309 (grub_reiserfs_get_journal): Removed.
28310
28311 * fs/fshelp.c (grub_fshelp_read): Removed.
28312 (grub_fshelp_map_block): Likewise.
28313
28314 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
28315 (grub_fshelp_journal): Likewise.
28316 (grub_fshelp_read): Likewise.
28317 (grub_fshelp_map_block): Likewise.
28318
3540a760 283192008-06-16 Pavel Roskin <proski@gnu.org>
28320
28321 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
28322 floating point anymore.
28323 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
28324
95614c84 283252008-06-15 Pavel Roskin <proski@gnu.org>
28326
28327 * commands/ls.c (grub_ls_list_files): Use integer calculations
28328 for human readable format, avoid floating point use.
28329 * kern/misc.c (grub_ftoa): Remove.
28330 (grub_vsprintf): Remove floating point support.
28331
50465dd6 283322008-06-15 Robert Millan <rmh@aybabtu.com>
28333
fe6b695a 28334 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 28335 devices.
28336 Reported by Max Vozeler.
28337
a9207284 283382008-06-15 Robert Millan <rmh@aybabtu.com>
28339
28340 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
28341 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
28342 skipped later.
28343 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
28344 the beginning of the prefix.
28345
28346 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
28347 It is assumed that if we have a memdisk, grub-mkimage has set
28348 grub_prefix to include the "(memdisk)" drive in it.
28349
a7cbd45a 283502008-06-15 Robert Millan <rmh@aybabtu.com>
28351
28352 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
28353 Initialize keyboard controller after registering the terminal, so that
28354 grub_printf() can be called from grub_keyboard_controller_init().
28355
21cf716a 283562008-06-15 Robert Millan <rmh@aybabtu.com>
28357
28358 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
28359 extent-btree which is written as big endian on disk.
28360 Reported by Alain Greppin <al@chilibi.org>.
28361
23a64d8e 283622008-06-14 Robert Millan <rmh@aybabtu.com>
28363
28364 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
28365 * util/i386/pc/grub-install.in (modules): Likewise.
28366
d687651c 283672008-06-13 Pavel Roskin <proski@gnu.org>
28368
28369 * commands/ls.c (grub_ls_list_files): Fix format warnings.
28370
dfe9ddd4 283712008-06-13 Bean <bean123ch@gmail.com>
28372
28373 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
28374
28375 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
28376
28377 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
28378 to indicate sparse block.
28379
16ae7781 283802008-06-12 Pavel Roskin <proski@gnu.org>
28381
e6d1a308 28382 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
28383 number, grub_fshelp_read() does it for us.
28384
16ae7781 28385 * fs/fshelp.c (grub_fshelp_read): New function. Implement
28386 linear disk read with journal translation.
28387 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
28388 * include/grub/fshelp.h: Declare grub_fshelp_read().
28389
40fd3a2b 283902008-06-09 Pavel Roskin <proski@gnu.org>
28391
28392 * fs/minix.c (grub_minix_mount): Handle error reading
28393 superblock.
28394
f5679726 283952008-06-08 Robert Millan <rmh@aybabtu.com>
28396
28397 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
28398 don't append the RAID prefix afterwards.
28399 Reported by Clint Adams.
28400
ce525529 284012008-06-08 Robert Millan <rmh@aybabtu.com>
28402
28403 Based on description from Pavel:
28404 * kern/disk.c (grub_disk_check_range): Rename to ...
28405 (grub_disk_adjust_range): ... this. Add a comment explaining the
28406 tasks performed by this function.
28407
ad4936a0 284082008-06-08 Robert Millan <rmh@aybabtu.com>
28409
28410 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
28411 `num_serial' (for consistency with other variables).
28412 (struct grub_ntfs_data): Add `uuid' member.
28413 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
28414 (grub_ntfs_uuid): New function.
28415 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
28416
dc20b0f9 284172008-06-07 Pavel Roskin <proski@gnu.org>
28418
28419 * util/biosdisk.c (open_device): Revert last change to the
28420 function, it broke installation. The sector needs to be
28421 different dependent on which device is opened.
28422
c5e3cfba 284232008-06-06 Robert Millan <rmh@aybabtu.com>
28424
28425 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
28426 rest of GRUB, and breakage doesn't happen if its value were modified.
28427
28428 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28429 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
28430 a constant (same value).
28431 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
28432 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
28433
26a1f8c4 284342008-06-06 Robert Millan <rmh@aybabtu.com>
28435
28436 * util/biosdisk.c (open_device): Do not modify sector offset when
28437 accessing a partition. kern/disk.c already handles this for us.
28438
25d6b327 284392008-06-06 Robert Millan <rmh@aybabtu.com>
28440
28441 * util/grub-emu.c (grub_machine_init): Move code in this function from
28442 here ...
28443 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
28444 segfault in case grub_printf() is called).
28445
28446 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
28447 grub_probe. Update all users not to explicitly add it again.
28448 (grub_device): New variable; contains corresponding device for grubdir.
28449 (fs_module, partmap_module, devabstraction_module): Pass
28450 `--device ${grub_device}' to grub_probe to avoid traversing /dev
28451 every time.
28452
9ece62fb 284532008-06-05 Robert Millan <rmh@aybabtu.com>
28454
28455 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
28456 is found, print it (same layout as with labels).
28457
1ad36d37 284582008-06-04 Robert Millan <rmh@aybabtu.com>
28459
28460 * util/biosdisk.c (get_drive): Rename to ...
28461 (find_grub_drive): ... this. Update all users.
28462
28463 (get_os_disk): Rename to ...
28464 (convert_system_partition_to_system_disk): ... this. Update all users.
28465
28466 (find_drive): Rename to ...
28467 (find_system_device): ... this. Update all users.
28468
e6a30859 284692008-06-04 Robert Millan <rmh@aybabtu.com>
28470
28471 * util/biosdisk.c (get_os_disk): Handle IDA devices.
28472 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28473 (make_device_map): Likewise.
28474
00c108a4 284752008-06-01 Robert Millan <rmh@aybabtu.com>
28476
28477 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
28478 before dereferencing it.
28479
28480 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
28481 union with fat12/fat16-specific ones. Add some new fields, including
28482 `num_serial' for both versions.
28483 (struct grub_fat_data): Add `uuid' member.
28484 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
28485 names. Initialize `data->uuid' using `num_serial'.
28486 (grub_fat_uuid): New function.
28487 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
28488
28489 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
28490 (grub_reiserfs_uuid): New function.
28491 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
28492 member.
28493
28494 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
28495 (grub_xfs_uuid): New function.
28496 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
28497
1385c5bb 284982008-06-01 Robert Millan <rmh@aybabtu.com>
28499
28500 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28501 code that is backward compatible with pre-uuid search command.
28502
c682dfd7 285032008-05-31 Robert Millan <rmh@aybabtu.com>
28504
28505 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28506 floppies after everything else, to ensure floppy drive isn't accessed
28507 unnecessarily (patch from Bean).
28508
b7db5d47 285092008-05-31 Robert Millan <rmh@aybabtu.com>
28510
28511 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28512 not print device names when we were asked to set a variable.
28513
6e037aa9 285142008-05-31 Robert Millan <rmh@aybabtu.com>
28515
28516 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28517 using "cursor-on" and "cursor-off" commands (understood at least by
28518 the Open Firmware flavour on OLPC).
28519
41305bc8 285202008-05-31 Michael Gorven <michael@gorven.za.net>
28521
28522 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28523 on and off sequences.
28524
69ba137e 285252008-05-31 Robert Millan <rmh@aybabtu.com>
28526
28527 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28528 * util/update-grub.in: Likewise.
28529
520ae21b 285302008-05-30 Pavel Roskin <proski@gnu.org>
28531
28532 * util/biosdisk.c (linux_find_partition): Simplify logic and
28533 make the code more universal. Keep special processing for
28534 devfs, but use a simple rule for all other devices. If the
28535 device ends with a number, append 'p' and the partition number.
28536 Otherwise, append only the partition number.
28537
5786569b 285382008-05-30 Robert Millan <rmh@aybabtu.com>
28539
28540 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28541 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28542 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28543 the `root' parameter to Linux.
28544
51500452 285452008-05-30 Robert Millan <rmh@aybabtu.com>
28546
28547 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28548 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28549 --fs_uuid with --fs-uuid.
28550 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28551 all filesystems support them).
28552
811d3878 285532008-05-30 Robert Millan <rmh@aybabtu.com>
28554
28555 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 28556 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 28557
cab63c95 285582008-05-30 Robert Millan <rmh@aybabtu.com>
28559
28560 * util/grub.d/00_header.in: Remove obsolete comment referencing
28561 convert_system_path_to_grub_path().
28562 * util/update-grub.in: Likewise.
28563 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28564 (convert_system_path_to_grub_path): Add a warning message explaining
28565 that this function is deprecated. Rely on is_path_readable_by_grub()
28566 for the readability checks.
28567 (font_path): Use is_path_readable_by_grub() for the readability
28568 check rather than convert_system_path_to_grub_path().
28569
972e2f7a 285702008-05-30 Robert Millan <rmh@aybabtu.com>
28571
28572 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28573 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28574 converting it first.
28575 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28576 grub.cfg for access to font file, and afterwards call it again to set
28577 the root device.
28578
62191274 285792008-05-30 Robert Millan <rmh@aybabtu.com>
28580
28581 * commands/search.c (options): Add --fs_uuid option.
28582 (search_fs_uuid): New function.
28583 (grub_cmd_search): Fix --set argument passing.
28584 Use search_fs_uuid() when requested via --fs_uuid.
28585 (grub_search_init): Update help message.
28586 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28587 and redeclare it as an array of 16-bit words.
28588 (grub_ext2_uuid): New function.
28589 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28590 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28591 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28592 (GRUB_DEVICE_BOOT_UUID): New variables.
28593 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28594 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28595 whenever possible.
28596 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28597 just assume `root' variable has the right value.
28598 * util/grub.d/10_linux.in: Likewise.
28599 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28600 via PRINT_FS_UUID.
28601 (main): Recognise `-t fs_uuid' argument.
28602
01b73ec8 286032008-05-30 Robert Millan <rmh@aybabtu.com>
28604
28605 * util/biosdisk.c (map): Redefine structure to hold information
28606 about GRUB drive name.
fe6b695a 28607 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 28608 drive names.
28609 (call_hook): Remove.
28610 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28611 member. Assume drive has partitions.
28612 (grub_util_biosdisk_open): Access device names via `.device' struct
28613 member.
28614 (open_device): Likewise.
28615 (find_drive): Likewise.
28616 (read_device_map): Adjust map[] usage to match the new struct
28617 definition. Don't check for duplicates (still possible, but not cheap
28618 anymore).
28619 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28620 (make_device_name): Remove assumption of BIOS-like drive names.
28621
22f16596 286222008-05-30 Pavel Roskin <proski@gnu.org>
28623
28624 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28625 compiling execute.c doesn't need grub_script.tab.h anymore.
28626 (normal/command.c_DEPENDENCIES): Likewise.
28627 (normal/function.c_DEPENDENCIES): Likewise.
28628 * conf/i386-ieee1275.rmk: Likewise.
28629 * conf/i386-linuxbios.rmk: Likewise.
28630 * conf/i386-pc.rmk: Likewise.
28631 * conf/powerpc-ieee1275.rmk: Likewise.
28632 * conf/sparc64-ieee1275.rmk: Likewise.
28633
528ad8f2 286342008-05-29 Pavel Roskin <proski@gnu.org>
28635
d1dff95d 28636 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28637 when scanning metadata for volume group name.
28638
528ad8f2 28639 * include/grub/script.h: Don't include grub_script.tab.h. It's
28640 a generated file, which may only be included from the files with
28641 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28642 use union YYSTYPE, as the later allows forward declaration.
28643 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28644
47248e08 286452008-05-29 Robert Millan <rmh@aybabtu.com>
28646
28647 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28648 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28649 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28650 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28651 scan codes.
28652
ee632529 286532008-05-29 Robert Millan <rmh@aybabtu.com>
28654
28655 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28656 control key combinations.
28657
eee96e08 286582008-05-29 Robert Millan <rmh@aybabtu.com>
28659
28660 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28661 * util/ieee1275/grub-install.in: ... to here.
28662 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28663 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28664 (grub_install_SOURCES): Likewise.
28665
da9a6a94 286662008-05-29 Robert Millan <rmh@aybabtu.com>
28667
28668 * fs/affs.c: Update copyright year.
28669 * fs/ext2.c: Likewise.
28670 * fs/fshelp.c: Likewise.
28671 * fs/hfsplus.c: Likewise.
28672 * fs/ntfs.c: Likewise.
28673 * fs/xfs.c: Likewise.
28674 * include/grub/fshelp.h: Likewise.
28675 * util/grub-mkdevicemap.c: Likewise.
28676
12e65f3a 286772008-05-28 Robert Millan <rmh@aybabtu.com>
28678
28679 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28680 might need to be fatfs to support some firmware implementations
28681 (e.g. OFW or EFI).
28682
23023641 286832008-05-28 Robert Millan <rmh@aybabtu.com>
28684
28685 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28686 devices.
28687 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28688 (make_device_map): Likewise.
28689
887d2619 286902008-05-20 Bean <bean123ch@gmail.com>
28691
28692 * fs/fshelp.c (grub_fshelp_map_block): New function.
28693 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28694 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28695
28696 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28697 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28698 (grub_fshelp_journal): New structure.
28699 (grub_fshelp_map_block): New function prototype.
28700 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28701 (grub_fshelp_map_block): Likewise.
28702
28703 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28704 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28705 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28706 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28707 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28708 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28709 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28710 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28711 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28712 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28713 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28714 (grub_ext2_sblock): New members for journal support.
28715 (grub_ext3_journal_header): New structure.
28716 (grub_ext3_journal_revoke_header): Likewise.
28717 (grub_ext3_journal_block_tag): Likewise.
28718 (grub_ext3_journal_sblock): Likewise.
28719 (grub_fshelp_node): New members logfile and journal.
28720 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28721 grub_fshelp_map_block to get real block number.
28722 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28723 number.
28724 (grub_ext2_read_inode): Likewise.
28725 (grub_ext3_get_journal): New function.
28726 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28727 (grub_ext2_close): Release memory used by journal.
28728
28729 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28730 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28731 (grub_reiserfs_transaction_header): Renamed to
28732 grub_reiserfs_description_block, replace field data with real_blocks.
28733 (grub_reiserfs_commit_block): New structure.
28734 (grub_reiserfs_data): New member journal.
28735 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28736 number.
28737 (grub_reiserfs_read_symlink): Likewise.
28738 (grub_reiserfs_iterate_dir): Likewise.
28739 (grub_reiserfs_open): Likewise.
28740 (grub_reiserfs_read): Likewise.
28741 (grub_reiserfs_get_journal): New function.
28742 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28743 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28744 using grub_reiserfs_get_journal.
28745 (grub_reiserfs_close): Release memory used by journal.
28746
28747 * fs/affs.c (grub_affs_read_block): Change block type to
28748 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28749
28750 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28751
28752 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28753
28754 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28755
28756 * fs/udf.c (grub_udf_read_block): Change block type to
28757 grub_disk_addr_t. Use type cast to avoid warning.
28758
28759 * fs/xfs.c (grub_xfs_read_block): Likewise.
28760
b7c6bed5 287612008-05-16 Christian Franke <franke@computer.org>
28762
28763 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28764 to ensure that break with ESC will always work.
28765 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28766 Remove ESC from keyboard queue.
28767
eedf167f 287682008-05-16 Christian Franke <franke@computer.org>
28769
28770 * util/biosdisk.c: [__CYGWIN__] Add includes.
28771 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28772 (get_os_disk): Move variable declarations to OS specific
28773 parts to avoid warning.
28774 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28775 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28776 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28777 Cygwin.
28778 * util/getroot.c: [__CYGWIN__] Add includes.
28779 (strip_extra_slashes): Fix "/" case.
28780 [__CYGWIN__] (get_win32_path): New function.
28781 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28782 [__CYGWIN__] (find_root_device): Disable.
28783 [__CYGWIN__] (get_bootsec_serial): New function.
28784 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28785 [__linux__] (grub_guess_root_device): Add early returns to simplify
28786 structure.
28787 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28788 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28789 check for Linux only.
28790
a079699e 287912008-05-15 Bean <bean123ch@gmail.com>
28792
28793 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28794 keyboard hang problem in apple's intel mac.
28795
1cf4059a 287962008-05-09 Robert Millan <rmh@aybabtu.com>
28797
28798 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28799 devices.
28800 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28801 (make_device_map): Likewise.
28802 Reported by Aurelien Jarno <aurel32@debian.org>
28803
ed759390 288042008-05-07 Ian Campbell <ijc@hellion.org.uk>
28805
28806 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28807 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28808 (make_device_map): Output entries for xvd type disks.
28809
b56c4eaa 288102008-05-07 Robert Millan <rmh@aybabtu.com>
28811
28812 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28813 devices.
28814 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28815 (make_device_map): Likewise.
28816 Reported by Roland Dreier <rdreier@cisco.com>
28817
7f8866ed 288182008-05-07 Robert Millan <rmh@aybabtu.com>
28819
28820 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28821 grub_strstr() call. Correct a few mistakes in failure path handling.
28822
b0346e0f 288232008-05-06 Robert Millan <rmh@aybabtu.com>
28824
28825 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28826 Do not print a trailing slash (therefore, the root directory is an
28827 empty string).
28828 (convert_system_path_to_grub_path): Do not remove trailing slash
28829 from make_system_path_relative_to_its_root() output.
28830
28831 * util/i386/pc/grub-install.in: Add trailing slash to output from
28832 make_system_path_relative_to_its_root().
28833
6cf12cbd 288342008-05-06 Robert Millan <rmh@aybabtu.com>
28835
28836 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28837 ensures that output lines aren't intermangled with those sent to
28838 stderr (via grub_util_info()).
28839 * util/grub-probe.c (grub_refresh): Likewise.
28840 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28841
0fbb3117 288422008-05-05 Christian Franke <franke@computer.org>
28843
28844 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28845 Add Cygwin device names.
28846 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28847 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28848 (check_device): Return error instead of success on empty name.
28849 (make_device_map): Move label inside linux specific code to
28850 prevent compiler warning.
28851
8124cdb7 288522008-04-30 Robert Millan <rmh@aybabtu.com>
28853
28854 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28855 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28856 first boot option.
28857 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28858
094c01d0 288592008-04-29 Robert Millan <rmh@aybabtu.com>
28860
28861 * docs/grub.cfg: New file (example GRUB configuration).
28862
f4b1fc02 288632008-04-26 Robert Millan <rmh@aybabtu.com>
28864
329ce2a5 28865 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28866 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28867 and `disk/ieee1275/nand.c'.
f4b1fc02 28868
25f16ec1 288692008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 28870
25f16ec1 28871 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28872 i386-linuxbios.
28873
28874 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28875 change the buffer size to 4096 for cdrom device.
28876
28877 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28878 and nand.mod.
28879 (_linux_mod_SOURCES): New variable.
28880 (_linux_mod_CFLAGS): Likewise.
28881 (_linux_mod_LDFLAGS): Likewise.
28882 (linux_mod_SOURCES): Likewise.
28883 (linux_mod_CFLAGS): Likewise.
28884 (linux_mod_LDFLAGS): Likewise.
28885 (nand_mod_SOURCES): Likewise.
28886 (nand_mod_CFLAGS): Likewise.
28887 (nand_mod_LDFLAGS): Likewise.
28888
28889 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28890 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28891 type property. (nand device in olpc don't have this property)
28892
28893 * include/grub/disk.h (grub_disk_dev_id): New macro
28894 GRUB_DISK_DEVICE_NAND_ID.
28895
28896 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28897 function prototype.
28898 (grub_rescue_cmd_initrd): Likewise.
28899
28900 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28901 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28902 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 28903
25f16ec1 28904 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28905 GRUB_MACHINE_IEEE1275 is defined.
28906
28907 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28908 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28909
28910 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28911 on nested function heap_init.
28912 (grub_upper_mem): New variable for i386-ieee1275.
28913 (grub_get_extended_memory): New function for i386-ieee1275.
28914 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28915
28916 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28917 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28918 property.
f19dbdb7 28919
25f16ec1 28920 * loader/i386/ieee1275/linux.c: New file.
28921
28922 * loader/i386/ieee1275/linux_normal.c: New file.
28923
28924 * disk/ieee1275/nand.c: New file.
28925
e89d61e9 289262008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28927
28928 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28929 value.
28930 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28931
602566f6 289322008-04-18 Robert Millan <rmh@aybabtu.com>
28933
28934 Restructures early code path on ieee1275 to unify grub_main() as
28935 the first C function that is executed in every platform.
28936
28937 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28938 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28939 cmain().
28940 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28941 * kern/ieee1275/cmain.c (cmain): Rename to ...
28942 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28943 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28944 at the beginning.
28945
57490c2b 289462008-04-18 Robert Millan <rmh@aybabtu.com>
28947
28948 * util/update-grub.in: Fix syntax error when setting
28949 `GRUB_PRELOAD_MODULES'.
28950 Reported by Stephane Chazelas <stephane@artesyncp.com>
28951
1977517d 289522008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28953
28954 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28955 section into account, newer toolchains generate unique build ids
28956 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 28957 we want build ids to be preserved
1977517d 28958 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28959 far from other sections don't cause the raw binary images grow
28960 size
28961
bfb1f1a2 289622008-04-15 Robert Millan <rmh@aybabtu.com>
28963
28964 * disk/lvm.c: Update copyright year.
28965 * kern/misc.c: Likewise.
28966
01979850 289672008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28968
28969 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 28970 there is no memory left for physical volume name.
01979850 28971
0a1150e2 289722008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28973
28974 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28975 volume name mapping to support bigger than 9 character names properly.
28976
82ead3fe 289772008-04-13 Robert Millan <rmh@aybabtu.com>
28978
28979 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28980 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28981
e54a72f5 289822008-04-13 Christian Franke <franke@computer.org>
28983
28984 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28985 to create a floppy emulation boot CD when non emulation mode
28986 does not work.
28987 Enable Joliet CD filesystem extension.
28988
9fe86034 289892008-04-13 Robert Millan <rmh@aybabtu.com>
28990
28991 * kern/misc.c (grub_strncat): Fix off-by-one error.
28992 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28993
28994 * kern/env.c (grub_env_context_close): Clear current context, not
28995 previous one.
28996 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28997
28998 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28999
7ceeee39 290002008-04-13 Robert Millan <rmh@aybabtu.com>
29001
29002 Improve robustness when handling LVM.
29003
29004 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 29005 (and leave `*p' unmodified).
7ceeee39 29006 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
29007 through it.
29008 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
29009 iterating through it.
29010 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
29011 through it.
fe6b695a 29012 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 29013 when due) on each grub_lvm_getvalue() or grub_strstr() call.
29014 Don't assume `vg->pvs != NULL' when iterating through it.
29015
58cd3d85 290162008-04-13 Robert Millan <rmh@aybabtu.com>
29017
29018 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
29019 * genmk.rb (partmap): New variable.
29020 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
29021 (#{partmap}): New target rule.
29022 * genpartmaplist.sh: New file.
29023 * Makefile.in (pkglib_DATA): Add partmap.lst.
29024 (partmap.lst): New target rule.
29025 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
29026 modules (including all partition maps), instead of preloading them.
29027
78b51059 290282007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
29029
29030 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
29031 `linux-boot-prober' (if installed) to detect other operating
29032 systems which are installed on the computer and add them to
29033 the boot menu.
29034 * conf/common.rmk: Build and install 30_os-prober.
29035
a91627b4 290362008-04-12 Robert Millan <rmh@aybabtu.com>
29037
29038 * kern/powerpc/ieee1275/init.c: Move from here ...
29039 * kern/ieee1275/init.c: ... to here. Update all users.
29040
29041 * kern/powerpc/ieee1275/cmain.c: Move from here ...
29042 * kern/ieee1275/cmain.c: ... to here. Update all users.
29043
29044 * kern/powerpc/ieee1275/openfw.c: Move from here ...
29045 * kern/ieee1275/openfw.c: ... to here. Update all users.
29046
29047 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
29048 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
29049
322562ea 290502008-04-10 Pavel Roskin <proski@gnu.org>
29051
29052 * configure.ac: Always use "_cv_" in cache variables for
29053 compatibility with Autoconf 2.62.
29054
a02a73c5 290552008-04-07 Robert Millan <rmh@aybabtu.com>
29056
29057 Revert grub/machine/init.h addition by Pavel (since it breaks on
29058 i386-ieee1275 and others):
29059 * util/i386/pc/misc.c: Remove grub/machine/init.h.
29060 * util/powerpc/ieee1275/misc.c: Likewise.
29061
25c024b1 290622008-04-07 Robert Millan <rmh@aybabtu.com>
29063
29064 * util/grub-probe.c (probe): Improve error message.
29065
3cbd2f98 290662008-04-07 Robert Millan <rmh@aybabtu.com>
29067
29068 * util/biosdisk.c (read_device_map): Skip devices that don't exist
29069 (this prevents the presence of a bogus entry from ruining the whole
29070 thing).
29071
87a297bf 290722008-04-06 Pavel Roskin <proski@gnu.org>
29073
36747a62 29074 * util/biosdisk.c: Include grub/util/biosdisk.h.
29075 * util/grub-fstest.c (execute_command): Make static.
29076 * util/grub-mkdevicemap.c (check_device): Likewise.
29077 * util/i386/pc/misc.c: Include grub/machine/init.h.
29078 * util/powerpc/ieee1275/misc.c: Likewise.
29079 * util/lvm.c: Include grub/util/lvm.h.
29080 * util/misc.c: Include grub/kernel.h, grub/misc.h and
29081 grub/cache.h.
29082 * util/raid.c: Include grub/util/raid.h.
29083 (grub_util_getdiskname): Make static.
29084
87a297bf 29085 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
29086 grub_hostfs_fini(), as they are called from grub_init_all() and
29087 grub_fini_all() respectively. This fixes an infinite loop in
29088 grub-fstest due to double registration of hostfs.
29089 Reported by Christian Franke <Christian.Franke@t-online.de>
29090
f6ce7629 290912008-04-05 Pavel Roskin <proski@gnu.org>
29092
29093 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
29094 all 8 functions. Otherwise, probe function 0 only.
29095
070e49e4 290962008-04-04 Pavel Roskin <proski@gnu.org>
29097
8b088a4c 29098 * commands/lspci.c (grub_lspci_iter): Print the bus number
29099 correctly.
29100
4f657021 29101 * commands/lspci.c (grub_pci_classes): Fix typos.
29102 (grub_lspci_iter): Don't print func twice. Print vendor ID
29103 before device ID, as it's normally done.
29104
070e49e4 29105 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
29106 Fix signedness warnings.
29107 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
29108 Likewise.
29109 * util/ieee1275/get_disk_name.c: Include config.h so that
29110 _GNU_SOURCE is defined and getline() is declared. Mark an
29111 unused argument as such. Fix a signedness warning.
29112
ba7328dc 291132008-04-02 Pavel Roskin <proski@gnu.org>
29114
26887f22 29115 * genkernsyms.sh.in: Use more robust assignments for CC and
29116 srcdir. Quote srcdir.
29117 * gensymlist.sh.in: Likewise. Assert at the compile time that
29118 the symbol table is not empty.
29119
ba7328dc 29120 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
29121 * fs/cpio.c (grub_cpio_read): Likewise.
29122
0f582c6b 291232008-04-01 Pavel Roskin <proski@gnu.org>
29124
4b6e1995 29125 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
29126 * disk/host.c (grub_host_open): Likewise.
29127 * disk/loopback.c (grub_loopback_open): Likewise.
29128 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
29129 disk->id as in disk/host.c, not a multi-character constant.
29130
828a2768 29131 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
29132 later is obsolete, potentially dangerous and sets a bad example.
29133 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
29134 * util/misc.c (grub_util_get_image_size): Likewise.
29135
2bb4fb47 29136 * disk/loopback.c (options): Improve help for "--partitions".
29137
0f582c6b 29138 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
29139 options to align them with the short options, e.g. "echo -e".
29140
a33224e0 291412008-03-31 Bean <bean123ch@gmail.com>
29142
29143 * video/reader/png.c (grub_png_data): New member is_16bit and
29144 image_data.
29145 (grub_png_decode_image_header): Detect 16 bit png image.
29146 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
29147 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
29148 (grub_video_reader_png): Release memory occupied by image_data.
29149
29150 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
29151 4096 bytes.
29152 (grub_nfs_mount): Skip the test for sector per cluster.
29153
29154 * include/grub/ntfs.h (MAX_SPC): Removed.
29155
86cb4f54 291562008-03-31 Bean <bean123ch@gmail.com>
29157
29158 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
29159 (grub_probe_SOURCES): Add fs/afs.c.
29160 (grub_fstest_SOURCES): Likewise.
29161 (afs_mod_SOURCES): New variable.
29162 (afs_mod_CFLAGS): Likewise.
29163 (afs_mod_LDFLAGS): Likewise.
29164
29165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
29166 (grub_emu_SOURCES): Likewise.
29167
29168 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29169
29170 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29171
29172 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29173
29174 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29175
29176 * fs/afs.c: New file.
29177
17c74c21 291782008-03-30 Pavel Roskin <proski@gnu.org>
29179
4cb68e89 29180 * disk/host.c: Include grub/misc.h to fix a warning.
29181 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
29182 warnings about implicit declarations.
29183
8790bb04 29184 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
29185 variable.
29186 * include/grub/i386/loader.h: Change declaration of
29187 grub_linux_boot() to match what grub_loader_set() expects.
29188 * util/getroot.c (grub_guess_root_device): Return const char* to
29189 fix a warning.
29190 * util/grub-probe.c (probe): Fix a warning about uninitialized
29191 abstraction_name variable.
29192 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
29193 second argument as unused to fix a warning.
29194
9a3f3296 29195 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
29196 missing grub_error() call.
29197
0ecef90d 29198 * util/update-grub_lib.in: Define datarootdir, since Autoconf
29199 2.60 and newer uses it to define datadir.
29200
0bf6d401 29201 * commands/sleep.c: Fix warning about implicit declaration.
29202 * disk/memdisk.c: Likewise.
29203 * loader/aout.c: Likewise.
29204 * loader/i386/bsd_normal.c: Likewise.
29205 * util/grub-probe.c: Likewise.
29206
7cdacf97 29207 * commands/i386/cpuid.c (has_longmode): Make static.
29208 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
29209 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
29210
17c74c21 29211 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
29212 GDT. This is more robust, as %ds can change.
29213 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
29214 calling real_to_prot().
29215 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
29216
80a3e68b 292172008-03-28 Pavel Roskin <proski@gnu.org>
29218
29219 * kern/i386/pc/startup.S: Assert that uncompressed functions
29220 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
29221 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
29222 code, as they push parts of the code (error handlers) beyond
29223 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
29224 code as correctness and size.
29225
77bcd272 292262008-03-28 Pavel Roskin <proski@gnu.org>
29227
29228 * kern/i386/pc/startup.S
29229 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
29230 data block address to the real mode, keep offset minimal. This
29231 works around a bug in AWARD BIOS on old Athlon systems, which
29232 makes CD detection hang.
29233
c5dfd43b 292342008-03-26 Pavel Roskin <proski@gnu.org>
29235
29236 * normal/color.c (grub_parse_color_name_pair): Make `name' a
29237 const.
29238 * include/grub/normal.h: Add grub_parse_color_name_pair()
29239 declaration.
29240
bf962df2 292412008-03-24 Bean <bean123ch@gmail.com>
29242
29243 * disk/i386/pc/biosdisk.c (cd_start): Removed.
29244 (cd_count): Removed.
29245 (cd_drive): New variable.
29246 (grub_biosdisk_get_drive): Don't check for (cdN) device.
29247 (grub_biosdisk_call_hook): Likewise.
29248 (grub_biosdisk_iterate): Change cdrom detection method.
29249 (grub_biosdisk_open): Replace cd_start with cd_drive.
29250 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
29251 detect cdrom device.
29252
29253 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
29254 Removed.
29255 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
29256 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
29257 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
29258 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
29259 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
29260 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
29261 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
29262 (grub_biosdisk_cdrp): New structure.
29263 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
29264
29265 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
29266
29267 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
29268 device.
29269
29270 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
29271 New function.
29272
68e7fc7a 292732008-03-20 Robert Millan <rmh@aybabtu.com>
29274
29275 Remove 2 TiB limit in ata.mod.
29276 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
29277 (grub_ata_dumpinfo): Print sector count with 0x%llx.
29278 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
29279 grub_uint64_t instead of grub_uint32_t.
29280
38ad2cf5 292812008-03-05 Bean <bean123ch@gmail.com>
29282
29283 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
29284 (grub_multiboot): Set boot device.
29285
29286 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
29287
2b89344e 292882008-03-02 Bean <bean123ch@gmail.com>
29289
29290 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
29291 symlink_buffer.
29292
87a95d1f 292932008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
29294
29295 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
29296 texinfo.tex.
29297
29298 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
29299 modified.
29300
29301 * docs/fdl.texi: New file.
f19dbdb7 29302
87a95d1f 29303 * docs/mdate-sh: New file. Copied from gnulib.
29304 * docs/texinfo.tex: Likewise.
29305
29306 * config.guess: Updated from gnulib.
29307 * install-sh: Likewise.
29308
7dc15d8e 293092008-02-28 Robert Millan <rmh@aybabtu.com>
29310
29311 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
29312 (aout_mod_SOURCES): New variable.
29313 (aout_mod_CFLAGS): Likewise.
29314 (aout_mod_LDFLAGS): Likewise.
29315
29316 * conf/i386-ieee1275.rmk: Likewise.
29317
b00ab696 293182008-02-28 Robert Millan <rmh@aybabtu.com>
29319
29320 * util/update-grub.in: Reorganise terminal validity check. Accept
29321 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
29322 Based on suggestion by Franklin PIAT.
29323
79ca2d78 293242008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
29325
29326 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
29327 function.
29328 * util/getroot.c (grub_util_check_block_device): New function that
29329 returns the given argument if it is a block device and returns NULL else.
29330 * util/grub-probe.c (argument_is_device): New variable.
29331 (probe): Promote device_name from a variable to an argument. Receive
29332 device_name from grub_util_check_block_device() if path is NULL and from
29333 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 29334 (options): Introduce new parameter '-d, --device'.
79ca2d78 29335 (main): Add description of the new parameter to the help screen.
29336 Rename path variable to argument. Set argument_is_device if the '-d'
29337 option is given. Pass argument to probe() depending on
29338 argument_is_device.
29339
0d16e571 293402008-02-24 Bean <bean123ch@gmail.com>
29341
29342 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
29343 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
29344 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
29345 (GRUB_ISO9660_VOLDESC_PART): Likewise.
29346 (GRUB_ISO9660_VOLDESC_END): Likewise.
29347 (grub_iso9660_primary_voldesc): New member escape.
29348 (grub_iso9660_data): New member joliet.
29349 (grub_iso9660_convert_string): New function.
29350 (grub_iso9660_mount): Detect joliet extension.
29351 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
29352 (grub_iso9660_iso9660_label): Likewise.
29353
29354 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
29355 (grub_setup_SOURCES): Add fs/udf.c.
29356 (grub_fstest_SOURCES): Likewise.
29357 (udf_mod_SOURCES): New variable.
29358 (udf_mod_CFLAGS): Likewise.
29359 (udf_mod_LDFLAGS): Likewise.
29360
29361 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
29362 (grub_emu_SOURCES): Likewise.
29363
29364 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29365
29366 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29367
29368 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29369
29370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29371
29372 * fs/udf.c: New file.
29373
8a594a17 293742008-02-24 Robert Millan <rmh@aybabtu.com>
29375
29376 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
29377 (normal/lexer.c_DEPENDENCIES): New variables.
29378 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29379 (normal/lexer.c_DEPENDENCIES): Likewise.
29380 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
29381 (normal/lexer.c_DEPENDENCIES): Likewise.
29382 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
29383 (normal/lexer.c_DEPENDENCIES): Likewise.
29384 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29385 (normal/lexer.c_DEPENDENCIES): Likewise.
29386 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29387 (normal/lexer.c_DEPENDENCIES): Likewise.
29388
2dc33c03 293892008-02-23 Robert Millan <rmh@aybabtu.com>
29390
29391 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
29392 since they were intended to be in hex. This didn't break previously
29393 because of a bug in gpt_partition_map_iterate() (see below).
29394
29395 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
29396 when checking the validity of GPT header.
29397 Remove `partno', since it always provides the same information as `i'.
29398
f6f4cfb0 293992008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
29400
29401 * include/grub/efi/time.h: Fix a wrong comment.
29402
79ff665f 294032008-02-19 Pavel Roskin <proski@gnu.org>
29404
29405 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
29406 message.
29407
d38e24c2 294082008-02-19 Bean <bean123ch@gmail.com>
29409
29410 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
29411 (aout_mod_SOURCES): New variable.
29412 (aout_mod_CFLAGS): Likewise.
29413 (aout_mod_LDFLAGS): Likewise.
29414 (_bsd_mod_SOURCES): New variable.
29415 (_bsd_mod_CFLAGS): Likewise.
29416 (_bsd_mod_LDFLAGS): Likewise.
29417 (bsd_mod_SOURCES): New variable.
29418 (bsd_mod_CFLAGS): Likewise.
29419 (bsd_mod_LDFLAGS): Likewise.
29420
29421 * include/grub/aout.h: New file.
29422
29423 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
29424
29425 * include/grub/i386/bsd.h: New file.
29426
29427 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
29428 to make it public.
29429
29430 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
29431 function is called, so that it's possible to change it inside the hook.
29432 (grub_elf64_load): Likewise.
29433 (grub_elf_file): Don't close the file if elf header is not found.
29434 (grub_elf_close): Close the file if grub_elf_file fails (The new
29435 grub_elf_file won't close it).
29436 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
29437 (grub_elf64_size): Likewise.
29438
29439 * kern/i386/loader.S (grub_unix_real_boot): New function.
29440
29441 * loader/aout.c: New file.
29442
29443 * loader/i386/bsd.c: New file.
29444
29445 * loader/i386/bsd_normal.c: New file.
29446
29447 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
29448
29449 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 29450 can test other formats.
d38e24c2 29451
b93bdb0f 294522008-02-19 Robert Millan <rmh@aybabtu.com>
29453
29454 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
29455 (grub_gpt_partition_type_empty): Redefine with macro from
29456 `<grub/gpt_partition.h>'.
29457 (gpt_partition_map_iterate): Adjust partition type comparison.
29458
29459 Export `entry' as partmap-specific `part.data' struct.
29460 (grub_gpt_header, grub_gpt_partentry): Move from here ...
29461
29462 * include/grub/gpt_partition.h (grub_gpt_header)
29463 (grub_gpt_partentry): ... to here (new file).
29464
29465 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
29466
29467 (grub_gpt_partition_type_bios_boot): New const variable, defined
29468 with macro from `<grub/gpt_partition.h>'.
29469
29470 (setup): Replace `first_start' with `embed_region', which keeps
29471 track of the embed region (and is partmap-agnostic).
29472
29473 Replace find_first_partition_start() with find_usable_region(),
29474 which finds a usable region for embedding using partmap-specific
29475 knowledge (supports PC/MSDOS and GPT).
29476
29477 Fix all assumptions that the embed region start at sector 1, using
29478 `embed_region.start' from now on. Similarly, use `embed_region.end'
29479 rather than `first_start' to calculate available size.
29480
29481 In grub_util_info() message, replace "into after the MBR" with an
29482 indication of the specific sector our embed region starts at.
29483
66cb40f6 294842008-02-19 Robert Millan <rmh@aybabtu.com>
29485
29486 * DISTLIST: Replace `commands/ieee1275/halt.c' and
29487 `commands/ieee1275/reboot.c' with `commands/halt.c' and
29488 `commands/reboot.c'.
29489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29490 (halt_mod_SOURCES): Likewise.
29491 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29492 (halt_mod_SOURCES): Likewise.
29493
b7202015 294942008-02-17 Christian Franke <franke@computer.org>
29495
29496 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
29497
32b0fc49 294982008-02-17 Robert Millan <rmh@aybabtu.com>
29499
29500 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29501 set `first_start' to 0 for non-PC/MSDOS partition maps.
29502
aca63502 295032008-02-16 Robert Millan <rmh@aybabtu.com>
29504
29505 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29506 do not assume partition map is PC/MSDOS before performing checks that
29507 are specific to that layout.
29508
0de8be86 295092008-02-13 Robert Millan <rmh@aybabtu.com>
29510
29511 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29512 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29513 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29514
c3db8364 295152008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29516
29517 * configure.ac: Only a cosmetic change on the handling of
29518 -fno-stack-protector.
29519
f714229e 295202008-02-12 Alexandre Boeglin <alex@boeglin.org>
29521
c3db8364 29522 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29523 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29524 reboot.c.
f714229e 29525 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29526 (halt_mod_SOURCES): New variable.
29527 (halt_mod_CFLAGS): Likewise.
29528 (halt_mod_LDFLAGS): Likewise.
29529 (reboot_mod_SOURCES): Likewise.
29530 (reboot_mod_CFLAGS): Likewise.
29531 (reboot_mod_LDFLAGS): Likewise.
29532
c3db8364 29533 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29534 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29535 reboot.c.
f714229e 29536 (halt_mod_SOURCES): Likewise.
29537 (reboot_mod_SOURCES): Likewise.
29538
c3db8364 29539 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29540 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 29541 (reboot_mod_SOURCES): Likewise.
29542
29543 * commands/i386/pc/reboot.c: merge this file ...
29544
29545 * commands/ieee1275/reboot.c: ... and this file ...
29546
29547 * commands/reboot.c: ... to this file.
c3db8364 29548 Add some precompiler directive to include the correct header for
29549 each machine.
f714229e 29550
29551 * commands/ieee1275/halt.c: move this file ...
29552
29553 * commands/halt.c: ... to here.
c3db8364 29554 Add some precompiler directive to include the correct header for
29555 each machine.
f714229e 29556
29557 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29558 (grub_halt): Likewise.
29559
29560 * kern/efi/efi.c (grub_reboot): New function.
29561 (grub_halt): Likewise.
29562
c74493e0 295632008-02-12 Robert Millan <rmh@aybabtu.com>
29564
29565 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29566 /dev (like it is done for /dev/mapper). This doesn't provide support
29567 for EVMS, but at least it is now easy to identify the problem when it
29568 arises.
29569
d0db4b04 295702008-02-11 Robert Millan <rmh@aybabtu.com>
29571
29572 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29573 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29574 comparing it with -1, not 0.
29575
bf748642 295762008-02-10 Robert Millan <rmh@aybabtu.com>
29577
29578 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29579 `disk/lvm.c'.
29580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29581 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29582
29583 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29584 `disk/lvm.c' to the end of the list.
29585 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29586 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29587
b5db202a 295882008-02-10 Robert Millan <rmh@aybabtu.com>
29589
29590 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29591 grub_print_error() instead. This will let user know why we're entering
29592 rescue mode.
29593 Based on suggestions from Sam Morris.
29594
83abee31 295952008-02-10 Alexandre Boeglin <alex@boeglin.org>
29596
29597 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29598 on remaining N args, instead of "--" arg N times.
29599
78d5a08b 296002008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29601
29602 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29603 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29604 pattern for unknown glyphs.
29605
68807e5f 296062008-02-09 Robert Millan <rmh@aybabtu.com>
29607
29608 * configure.ac: Probe for `help2man'.
29609 * Makefile.in (builddir): New variable.
29610 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29611 or otherwise add a few flags/options to it.
29612 (install-local): For every executable utility or script that is
29613 installed, invoke $(HELP2MAN) to install a manpage based on --help
29614 output.
29615
29616 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29617 that it doesn't prevent --help from working in build tree.
29618
29619 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29620 with `bug-grub@gnu.org'.
29621 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29622 * util/update-grub.in (usage): New function.
29623 Implement proper argument check, with support for --help and --version
29624 (as well as existing -y).
29625
296262008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 29627
29628 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29629 avoid overwriting previous output.
29630 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29631
c1962162 296322008-02-09 Robert Millan <rmh@aybabtu.com>
29633
29634 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29635 drawing the menu.
29636
3dac2e3f 296372008-02-09 Robert Millan <rmh@aybabtu.com>
29638
29639 * commands/sleep.c: New file.
29640 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29641 (sleep_mod_SOURCES): New variable.
29642 (sleep_mod_CFLAGS): Likewise.
29643 (sleep_mod_LDFLAGS): Likewise.
29644
7a634e08 296452008-02-09 Robert Millan <rmh@aybabtu.com>
29646
29647 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29648 situations in which we can deduce the RAID size and the superblock
29649 doesn't match it.
29650
b92f0c18 296512008-02-09 Robert Millan <rmh@aybabtu.com>
29652
29653 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29654 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29655 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29656
29657 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29658 and return a grub_diskmemberlist_t composed of physical array members.
29659 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29660
29661 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29662 prototype.
29663 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29664 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29665 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29666
29667 * util/grub-probe.c (probe): Move partmap probing code from here ...
29668 (probe_partmap): ... to here.
29669 (probe): Use probe_partmap() once for the disk we're probing, and
29670 additionally, when such disk contains a memberlist() struct member,
29671 once for each disk that is contained in the structure returned by
29672 memberlist().
29673
91a4bf68 296742008-02-09 Robert Millan <rmh@aybabtu.com>
29675
29676 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29677 environment variable to 'all' in order to obtain debug output from
29678 non-util/ code.
29679 * util/i386/pc/grub-setup.c (main): Likewise.
29680
a96f9caa 296812008-02-08 Robert Millan <rmh@aybabtu.com>
29682
29683 * disk/raid.c (grub_raid_scan_device): Check for
29684 `array->device[sb.this_disk.number]' rather than for
29685 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 29686 guaranteed to be accessible.
a96f9caa 29687
b37a9222 296882008-02-08 Robert Millan <rmh@aybabtu.com>
29689
29690 * disk/raid.c: Update copyright.
29691 * fs/cpio.c: Likewise.
29692 * include/grub/raid.h: Likewise.
29693 * loader/i386/pc/multiboot.c: Likewise.
29694 * util/hostfs.c: Likewise.
29695
5626aee1 296962008-02-08 Robert Millan <rmh@aybabtu.com>
29697
29698 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29699 to a grub_disk_t array.
29700 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29701 `device[x]'.
29702 (grub_raid_scan_device): Replace `device[x].name' accesses with
29703 `device[x]->name'. Simplify initialization of `array->device[x]'.
29704
554f0187 297052008-02-08 Robert Millan <rmh@aybabtu.com>
29706
29707 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29708 grub_dprintf() calls.
29709 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29710 error message.
29711
1ec8425d 297122008-02-07 Christian Franke <franke@computer.org>
29713
29714 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29715 instead of fseek and ftell to support large files.
29716 (grub_hostfs_read): Likewise.
29717
f2156fda 297182008-02-07 Robert Millan <rmh@aybabtu.com>
29719
29720 Patch from Jeroen Dekkers.
29721 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 29722 failure, since successfully reading all array members might not be
f2156fda 29723 required.
29724
9216e0e7 297252008-02-06 Robert Millan <rmh@aybabtu.com>
29726
29727 * util/grub-probe.c (probe): Simplify partmap probing (with the
29728 assumption that the first word up to the underscore equals to
29729 the module name).
29730
b0dfd29a 297312008-02-06 Christian Franke <franke@computer.org>
29732
29733 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29734 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29735 last block of a cpio or tar stream.
29736 Check for "TRAILER!!!" instead of any empty data
29737 block to detect last block of a cpio stream.
29738 (grub_cpio_dir): Fix constness of variable np.
29739 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29740 cpio or tar trailer is detected. This fixes a crash
29741 on open of a non existing file.
29742
c32865bf 297432008-02-05 Bean <bean123ch@gmail.com>
29744
29745 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29746 address of entry.
29747 (grub_multiboot_load_elf64): Likewise.
29748 (grub_multiboot): Initialize mbi structure.
29749
29750 * util/grub-fstest.c: Don't include unused header file script.h.
29751
fe6b695a 29752 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 29753 of file.
29754 (grub_fstest_SOURCES): Likewise.
29755
409480b7 297562008-02-05 Robert Millan <rmh@aybabtu.com>
29757
29758 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29759 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29760 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29761 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29762
29763 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29764 (translation_table): Replace hardcoded values with macros
29765 provided by `<grub/term.h>'.
29766
29767 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29768 (keyboard_map): Correct/add a few values, with macros provided
29769 by `<grub/term.h>'.
29770 (keyboard_map_shift): Zero values that don't differ from their
29771 `keyboard_map' equivalents.
29772 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29773 Discard the second scan code that is always sent by Caps lock.
29774 Only use `keyboard_map_shift' when it provides a non-zero value,
29775 otherwise fallback to `keyboard_map'.
29776
99fadbaa 297772008-02-04 Bean <bean123ch@gmail.com>
29778
29779 * Makefile.in (enable_grub_fstest): New variable.
29780
29781 * conf/common.rmk (grub_fstest_init.lst): New rule.
29782 (grub_fstest_init.h): Likewise.
29783 (grub_fstest_init.c): Likewise.
29784 (util/grub-fstest.c_DEPENDENCIES): New variable.
29785 (grub_fstest_SOURCES): Likewise.
29786
29787 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29788
29789 * util/grub-fstest.c: New file.
29790
bf567c50 297912008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29792
29793 Make grub-setup handle a separate root device.
f19dbdb7 29794
bf567c50 29795 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29796 so that the root device can be compared with the destination
29797 device.
29798 When embedding the core image, if the root and destination devices
29799 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29800 0xFF.
29801 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 29802
9be6b98b 298032008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29804
29805 Add support for having a grub directory in a different drive. This
29806 is still only the data handling part.
f19dbdb7 29807
9be6b98b 29808 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29809 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29810 (grub_root_drive): New variable.
29811
29812 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29813 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29814 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29815 as it was.
29816
29817 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29818
29819 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29820 macro.
29821 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29822
29823 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29824 is bogus, because PXE booting does not specify any drive
29825 correctly.
29826
29827 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29828 am not sure if this is really correct.
29829
29830 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29831 is always identical to the boot drive when booting from a CD.
29832
29833 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29834 longer.
29835 (root_drive): New variable.
29836 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29837 (setup_sectors): Push %dx right after popping it, because %dh will
29838 be modified later.
29839 (copy_buffer): Restore %dx.
29840
e0ca0677 298412008-02-03 Robert Millan <rmh@aybabtu.com>
29842
29843 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29844 use `cdboot.img' for cdrom images.
29845
3b3f6629 298462008-02-03 Robert Millan <rmh@aybabtu.com>
29847
29848 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29849 only setup gfxterm when `font' command has succeeded.
29850
d42b3672 298512008-02-03 Robert Millan <rmh@aybabtu.com>
29852
29853 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29854 (grub_rescue_cmd_multiboot_loader)
29855 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29856
fa370ea6 298572008-02-03 Pavel Roskin <proski@gnu.org>
29858
e0c5dacb 29859 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 29860 %edx and %esi from stack only after grub_gate_a20() is called.
29861 grub_gate_a20() clobbers %edx.
29862
f2a76e1d 298632008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29864
29865 * configure.ac (AC_INIT): Bumped to 1.96.
29866
29867 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29868 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29869 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29870 video/readers/png.c.
29871
90fd32d1 298722008-02-03 Bean <bean123ch@gmail.com>
9be665dd 29873
29874 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29875 (cdboot_img_SOURCES): New variable.
29876 (cdboot_img_ASFLAGS): New variable.
29877 (cdboot_img_LDFLAGS): New variable.
29878
29879 * boot/i386/pc/cdboot.S: New file.
29880
29881 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29882 (cd_count): Likewise.
29883 (grub_biosdisk_get_drive): Add support for cd device.
29884 (grub_biosdisk_call_hook): Likewise.
29885 (grub_biosdisk_iterate): Likewise.
29886 (grub_biosdisk_open): Likewise.
29887 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29888 (grub_biosdisk_rw): Support reading from cd device.
29889 (GRUB_MOD_INIT): Iterate cd devices.
29890
29891 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29892 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29893 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29894
29895 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29896
4020aa53 298972008-02-02 Robert Millan <rmh@aybabtu.com>
29898
29899 * commands/read.c: New file.
29900 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29901 (read_mod_SOURCES): New variable.
29902 (read_mod_CFLAGS): Likewise.
29903 (read_mod_LDFLAGS): Likewise.
29904
e03a1132 299052008-02-02 Robert Millan <rmh@aybabtu.com>
29906
29907 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29908 determining whether menu has to be displayed.
29909
58c69220 299102008-02-02 Marco Gerards <marco@gnu.org>
29911
29912 * bus/pci.c: New file.
29913
29914 * include/grub/pci.h: Likewise.
29915
29916 * include/grub/i386/pc/pci.h: Likewise.
29917
29918 * commands/lspci.c: Likewise.
29919
29920 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29921 `lspci.mod'.
29922 (pci_mod_SOURCES): New variable.
29923 (pci_mod_CFLAGS): Likewise.
29924 (pci_mod_LDFLAGS): Likewise.
29925 (lspci_mod_SOURCES): Likewise.
29926 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 29927 (lspci_mod_LDFLAGS): Likewise.
58c69220 29928
c004e1b4 299292008-02-02 Bean <bean123ch@gmail.com>
29930
29931 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29932 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29933
29934 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29935 (grub_xfs_btree_node): New structure.
29936 (grub_xfs_btree_root): New structure.
29937 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29938 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29939 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29940 (GRUB_XFS_EXTENT_SIZE): Likewise.
29941 (grub_xfs_read_block): Support btree format type.
29942 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29943 Use directory block as basic unit.
29944
29945 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29946
29947 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29948 __attribute__ ((__regparm__ (1))).
29949
f95562bf 299502008-02-01 Robert Millan <rmh@aybabtu.com>
29951
29952 Correct a mistake in previous commit.
29953
29954 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29955 top.
29956 (normal/command.c_DEPENDENCIES): New variable.
29957
7d31f41f 299582008-02-01 Robert Millan <rmh@aybabtu.com>
29959
29960 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29961 top.
29962 (normal/command.c_DEPENDENCIES): New variable.
29963 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29964 * conf/i386-ieee1275.rmk: Likewise.
29965 * conf/i386-linuxbios.rmk: Likewise.
29966 * conf/i386-pc.rmk: Likewise.
29967 * conf/sparc64-ieee1275.rmk: Likewise.
29968 * conf/powerpc-ieee1275.rmk: Likewise.
29969 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29970
29971 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29972
60b6be74 299732008-02-01 Robert Millan <rmh@aybabtu.com>
29974
29975 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29976 call at beginning of function.
29977
078522ab 299782008-01-31 Pavel Roskin <proski@gnu.org>
29979
29980 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 29981 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29982 (grub_mkrescue_SOURCES): Likewise.
078522ab 29983 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29984
ccaa8a5f 299852008-01-30 Robert Millan <rmh@aybabtu.com>
29986
29987 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29988 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29989 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29990 (grub_probe_SOURCES): ... to here.
29991
29992 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29993 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29994 * conf/i386-ieee1275.rmk: Likewise.
29995 * conf/i386-linuxbios.rmk: Likewise.
29996 * conf/powerpc-ieee1275.rmk: Likewise.
29997
ae5a9cd7 299982008-01-30 Tristan Gingold <gingold@free.fr>
29999
30000 * kern/rescue.c: Silently accept empty lines.
30001
70bc2ef2 300022008-01-29 Bean <bean123ch@gmail.com>
30003
30004 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
30005 (real_code_2): Code cleanup and change comment style.
30006 (move_memory): Avoid using 32-bit address mode.
30007
6a4d50ea 300082008-01-29 Bean <bean123ch@gmail.com>
30009
30010 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
30011 (png_mod_SOURCES): New variable.
30012 (png_mod_CFLAGS): Likewise.
30013 (png_mod_LDFLAGS): Likewise.
30014
30015 * video/readers/png.c: New file.
30016
11cc30ac 300172008-01-28 Robert Millan <rmh@aybabtu.com>
30018
30019 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
30020 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
30021 `ifndef GRUB_MOD_GAP' hack.
30022 * util/elf/grub-mkimage.c (add_segments): Likewise.
30023
3abc589f 300242008-01-27 Robert Millan <rmh@aybabtu.com>
30025
30026 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
30027 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 30028 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 30029
e1907778 300302008-01-27 Robert Millan <rmh@aybabtu.com>
30031
30032 Get grub-emu to build again (including parallel builds).
30033
30034 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
30035 Split into ...
30036 (util/grub-emu.c_DEPENDENCIES): ... this, ...
30037 (normal/execute.c_DEPENDENCIES): ... this, ...
30038 (grub-emu_DEPENDENCIES): ... and this.
30039
30040 * conf/i386-efi.rmk: Likewise.
30041 * conf/i386-linuxbios.rmk: Likewise.
30042 * conf/i386-ieee1275.rmk: Likewise.
30043 * conf/powerpc-ieee1275.rmk: Likewise.
30044 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
30045
2216b101 300462008-01-27 Robert Millan <rmh@aybabtu.com>
30047
30048 * NEWS: Add a few items.
30049
f75172d9 300502008-01-27 Robert Millan <rmh@aybabtu.com>
30051
30052 Fix parallel builds with grub-emu. Based on earlier commit for
30053 grub-probe and grub-setup.
30054
30055 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30056 (util/grub-emu.c_DEPENDENCIES): ... this.
30057 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30058 (util/grub-emu.c_DEPENDENCIES): ... this.
30059 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30060 (util/grub-emu.c_DEPENDENCIES): ... this.
30061 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30062 (util/grub-emu.c_DEPENDENCIES): ... this.
30063 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
30064 (util/grub-emu.c_DEPENDENCIES): ... this.
30065
3f51de77 300662008-01-27 Pavel Roskin <proski@gnu.org>
30067
30068 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
30069 to create a gap between _end and the modules added to the image
30070 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
30071 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
30072 * util/elf/grub-mkimage.c (add_segments): Likewise.
30073
2033f53e 300742008-01-26 Pavel Roskin <proski@gnu.org>
30075
30076 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
30077 just return an error.
30078
22da1f6f 300792008-01-26 Bean <bean123ch@gmail.com>
30080
30081 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
30082 (grub_reiserfs_get_item): Save offset of the next item.
30083 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
30084
2a9525e6 300852008-01-25 Robert Millan <rmh@aybabtu.com>
30086
30087 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
30088 make all filesystem sources appear together (possibly fixing omissions
30089 while at it).
30090 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30091 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30092 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30094
30095 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
30096 add `kern/file.c'.
30097 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
30098 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30099 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
30100 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
30101
30102 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
30103 (probe): Add a sanity check to make sure of our ability to read
30104 requested files when probing for filesystem type.
30105
30106 * genmk.rb: Update copyright year (2007).
30107
30108 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
30109 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
30110 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
30111 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
30112 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
30113 : Remove function prototypes.
30114
b95f71b5 301152008-01-25 Robert Millan <rmh@aybabtu.com>
30116
30117 Revert my previous commits (based on wrong assumption of how grub_errno
30118 works).
30119
fe6b695a 30120 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 30121 * kern/file.c (grub_file_open): Likewise.
30122
d08bbb49 301232008-01-24 Pavel Roskin <proski@gnu.org>
30124
30125 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
30126 that hang if GRUB tries to setup colors.
30127 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
30128 colors for firmwares that don't support it.
30129 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
30130 Recognize Open Hack'Ware, set flags to work around its
30131 limitations.
30132
605e36ed 301332008-01-24 Robert Millan <rmh@aybabtu.com>
30134
30135 * kern/file.c (grub_file_open): Do not account previous failures of
30136 unrelated functions when grub_errno is checked for.
30137 Reported by Oleg Strikov.
30138
bac332a1 301392008-01-24 Bean <bean123ch@gmail.com>
30140
30141 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
30142 (grub_ufs_sblock): New member volume name.
30143 (grub_ufs_find_file): Fix string copy bug.
30144 (grub_ufs_label): Implement this function properly.
30145
30146 * fs/hfs.c (grub_hfs_cnid_type): New enum.
30147 (grub_hfs_iterate_records): Use the correct file number for extents
30148 and catalog file. Fix problem in next index calculation.
30149 (grub_hfs_find_node): Replace recursive function call with loop.
30150 (grub_hfs_iterate_dir): Replace recursive function call with loop.
30151
15c80c09 301522008-01-23 Robert Millan <rmh@aybabtu.com>
30153
30154 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
30155 `<grub/symbol.h>' and `<grub/multiboot.h>'.
30156 (grub_multiboot2_real_boot): New function prototype.
30157
30158 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
30159 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
30160
30161 * kern/i386/ieee1275/init.c (grub_os_area_addr)
30162 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
30163
305338fd 301642008-01-23 Robert Millan <rmh@aybabtu.com>
30165
30166 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
30167 #ifdef'ed out grub_printf().
30168
3ea52685 301692008-01-23 Robert Millan <rmh@aybabtu.com>
30170
30171 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
30172 grub_dprintf calls, since they make "debug=all" mode unusable.
30173 (grub_console_checkkey): Likewise.
30174
5882ae4b 301752008-01-23 Robert Millan <rmh@aybabtu.com>
30176
30177 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
30178 `term/i386/pc/at_keyboard.c'.
30179 (pkglib_MODULES): Add `serial.mod'.
30180 (serial_mod_SOURCES): New variable.
30181 (serial_mod_CFLAGS): Likewise.
30182 (serial_mod_LDFLAGS): Likewise.
30183
30184 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
30185 `<grub/powerpc/ieee1275/console.h>'.
30186 (grub_keyboard_controller_init): New function prototype.
30187 (grub_console_checkkey): Likewise.
30188 (grub_console_getkey): Likewise.
30189
30190 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
30191 keyboard on i386.
30192
30193 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
30194 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
30195
06ab5303 301962008-01-23 Robert Millan <rmh@aybabtu.com>
30197
30198 * kern/i386/pc/init.c (make_install_device): When memdisk image is
30199 present, "(memdisk)/boot/grub" becomes the default prefix.
30200
30201 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
30202 a memdisk tarball with all the modules. Add --overlay=DIR option that
30203 allows users to overlay additional files into the image.
30204
dbb475a4 302052008-01-23 Robert Millan <rmh@aybabtu.com>
30206
30207 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
30208 and `machine/memory.h'.
30209 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
30210 (_multiboot_mod_SOURCES): New variable.
30211 (_multiboot_mod_CFLAGS): Likewise.
30212 (_multiboot_mod_LDFLAGS): Likewise.
30213 (multiboot_mod_SOURCES): Likewise.
30214 (multiboot_mod_CFLAGS): Likewise.
30215 (multiboot_mod_LDFLAGS): Likewise.
30216
30217 * include/grub/i386/ieee1275/loader.h: New file.
30218
30219 * include/grub/i386/ieee1275/machine.h: Likewise.
30220
30221 * include/grub/i386/ieee1275/memory.h: Likewise.
30222
30223 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
30224 variable declaration.
30225 (grub_os_area_size): Likewise.
30226
30227 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
30228 (grub_lower_mem, grub_upper_mem): New variables.
30229 (grub_stop_floppy): New function (just to make
30230 grub_multiboot2_real_boot() happy).
30231
30232 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
30233 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
30234 (grub_stop): New function.
30235 Include `"../realmode.S"' and `"../loader.S"'.
30236
30237 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
30238 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
30239
30240 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
30241 rely on grub_multiboot2_real_boot() for final boot.
30242
25638629 302432008-01-22 Robert Millan <rmh@aybabtu.com>
30244
30245 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
30246 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
30247 device that doesn't look like an SD card.
30248 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30249 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
30250 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
30251 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
30252 found.
30253
9dad816d 302542008-01-22 Robert Millan <rmh@aybabtu.com>
30255
30256 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
30257 avoid claiming over our own code.
30258
34842f2d 302592008-01-22 Bean <bean123ch@gmail.com>
30260
30261 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
30262 (jpeg_mod_SOURCES): New variable.
30263 (jpeg_mod_CFLAGS): Likewise.
30264 (jpeg_mod_LDFLAGS): Likewise.
30265
30266 * video/readers/jpeg.c : New file.
30267
44023a28 302682008-01-22 Bean <bean123ch@gmail.com>
30269
30270 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
30271 there are no more items.
30272
bc2d8ac6 302732008-01-21 Robert Millan <rmh@aybabtu.com>
30274
30275 * kern/mm.c (grub_mm_init_region): Improve debug message.
30276
261bd4bc 302772008-01-21 Robert Millan <rmh@aybabtu.com>
30278
30279 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
30280 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
30281 address.
30282 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
30283 a C macro.
30284 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
30285 Indicates start of upper memory.
30286 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
30287 (generate_image): Abort when image size is big enough to corrupt
30288 upper memory.
30289
30290 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
30291 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
30292 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30293 instead of hardcoding 0xA0000.
30294 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
30295 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30296 instead of hardcoding 0xA0000.
30297
f970b55e 302982008-01-21 Robert Millan <rmh@aybabtu.com>
30299
30300 * disk/memdisk.c (memdisk_size): New variable.
30301 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
30302 `memdisk_size'.
30303 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
30304 image to dynamic memory.
30305 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
30306 `memdisk_size'. Free memdisk block.
30307
1a8b0526 303082008-01-21 Robert Millan <rmh@aybabtu.com>
30309
30310 Fix detection of very small filesystems (like tar).
30311
30312 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
30313 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
30314 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
30315 a problem with this disk).
30316
6e9b4aab 303172008-01-21 Robert Millan <rmh@aybabtu.com>
30318
30319 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
30320 on grub_biosdisk_rw_standard() error.
30321
0d8837b2 303222008-01-21 Robert Millan <rmh@aybabtu.com>
30323
30324 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
30325 recent changes.
30326 * kern/elf.c: Likewise.
30327 * kern/ieee1275/ieee1275.c: Likewise.
30328 * kern/powerpc/ieee1275/openfw.c: Likewise.
30329 * term/ieee1275/ofconsole.c: Likewise.
30330
ffd36e34 303312008-01-21 Robert Millan <rmh@aybabtu.com>
30332
30333 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
30334
3f0093d0 30335 * include/grub/kernel.h (grub_arch_memdisk_addr)
30336 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 30337
3f0093d0 30338 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
30339 (grub_arch_memdisk_size): ... to here.
ffd36e34 30340
6c391b21 303412008-01-21 Robert Millan <rmh@aybabtu.com>
30342
30343 Mostly based on bugfix from Bean.
30344
30345 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
30346 attribute with hook() parameter.
30347 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
30348 declaration.
30349 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
30350 attribute with hook() parameter.
30351 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
30352 declaration.
30353
55a581dc 303542008-01-21 Robert Millan <rmh@aybabtu.com>
30355
30356 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
30357 (pkglib_MODULES): Add `memdisk.mod'.
30358 (memdisk_mod_SOURCES): New variable.
30359 (memdisk_mod_CFLAGS): Likewise.
30360 (memdisk_mod_LDFLAGS): Likewise.
30361
30362 * disk/memdisk.c: New file.
30363
30364 * include/grub/disk.h (grub_disk_dev_id): Add
30365 `GRUB_DISK_DEVICE_MEMDISK_ID'.
30366
30367 * include/grub/i386/pc/kernel.h
30368 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
30369 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
30370 (grub_kernel_image_size): New variable declaration.
30371 (grub_total_module_size): Likewise.
30372 (grub_memdisk_image_size): Likewise.
30373
30374 * include/grub/i386/pc/memory.h
30375 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
30376
30377 * include/grub/kernel.h: Include `<grub/symbol.h>'.
30378 (grub_arch_memdisk_addr): New variable declaration.
30379 (grub_arch_memdisk_size): Likewise.
30380
30381 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
30382 (grub_arch_memdisk_size): Likewise.
30383
30384 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
30385 (codestart): Replace hardcoded `0x100000' with
30386 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
30387
30388 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
30389 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
30390 not NULL, append the contents of the file it refers to, at the end of
30391 the compressed kernel image. Initialize `grub_memdisk_image_size'
30392 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
30393 (options): Add "memdisk"|'m' option.
30394 (main): Parse --memdisk|-m option, and pass user-provided path as
30395 parameter to generate_image().
30396
3d7f54c9 303972008-01-20 Robert Millan <rmh@aybabtu.com>
30398
30399 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
30400 grub_dprintf() calls from here ...
30401 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
30402
0bf74728 304032008-01-20 Robert Millan <rmh@aybabtu.com>
30404
30405 Fix detection of "real mode" when /options/real-mode? doesn't exist.
30406
30407 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
30408 declaration.
30409 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
30410 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
30411 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 30412 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 30413 property).
30414 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
30415 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
30416
33bf70a7 304172008-01-19 Robert Millan <rmh@aybabtu.com>
30418
fe6b695a 30419 Get rid of confusing function (superseded by
33bf70a7 30420 `grub_ieee1275_get_integer_property')
30421 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
30422 prototype.
30423 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
30424 function.
30425 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
30426 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 30427 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 30428
e2da7d26 304292008-01-19 Robert Millan <rmh@aybabtu.com>
30430
30431 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
30432 command after "shut-down", since implementations differ on which
30433 the command for halt is.
30434
59f1fd8d 304352008-01-19 Robert Millan <rmh@aybabtu.com>
30436
30437 * include/grub/i386/linuxbios/console.h: Add header protection.
30438 (grub_keyboard_controller_init): New function prototype.
30439 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
30440 (KEYBOARD_COMMAND_READ): Likewise.
30441 (KEYBOARD_COMMAND_WRITE): Likewise.
30442 (KEYBOARD_SCANCODE_SET1): Likewise.
30443 (grub_keyboard_controller_write): New function.
30444 (grub_keyboard_controller_read): Likewise.
30445 (grub_keyboard_controller_init): Likewise.
30446
30447 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
30448 (grub_console_init): On coreboot/LinuxBIOS, call
30449 grub_keyboard_controller_init().
30450
5f5a7c15 304512008-01-19 Robert Millan <rmh@aybabtu.com>
30452
30453 PowerPC changes provided by Pavel Roskin.
30454
30455 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
30456 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
30457 don't rely on cmain() doing it.
30458 * kern/i386/ieee1275/startup.S (_start): Store %eax in
30459 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
30460
1210e168 304612008-01-16 Robert Millan <rmh@aybabtu.com>
30462
30463 * include/grub/i386/linuxbios/memory.h
30464 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
30465 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
30466 receive `table_header' as argument. Instead, probe for it in the
30467 known memory ranges where it can be present.
30468 (grub_available_iterate): Do not pass a fixed `table_header' address
30469 to grub_linuxbios_table_iterate().
30470
3d04eab8 304712008-01-15 Robert Millan <rmh@aybabtu.com>
30472
30473 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
30474 * conf/i386-ieee1275.rmk: New file.
30475 * include/grub/i386/ieee1275/console.h: Likewise.
30476 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
30477 * include/grub/i386/ieee1275/kernel.h: Likewise.
30478 * include/grub/i386/ieee1275/time.h: Likewise.
30479 * kern/i386/ieee1275/init.c: Likewise.
30480 * kern/i386/ieee1275/startup.S: Likewise.
30481
d1bc1b73 304822008-01-15 Robert Millan <rmh@aybabtu.com>
30483
30484 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
30485 when pointers are 32-bit (but still do set it to one when they are
30486 64-bit).
30487
66a65807 304882008-01-15 Robert Millan <rmh@aybabtu.com>
30489
30490 * include/grub/ieee1275/ieee1275.h
30491 (grub_ieee1275_get_integer_property): New function prototype.
30492
30493 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
30494 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 30495 grub_ieee1275_get_property() to handle endianness.
66a65807 30496
30497 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
30498 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 30499 where appropriate.
66a65807 30500 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30501 (grub_map): Likewise.
30502 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30503
a83ccafd 305042008-01-15 Bean <bean123ch@gmail.com>
30505
30506 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30507 (grub_script_execute_cmdline): Reset grub_errno.
30508
30509 * normal/main.c (read_config_file): Reset grub_errno.
30510
30511 * normal/parse.y (script_init): New.
30512 (script): Move function and menuentry here.
30513 (delimiter): New.
30514 (command): Add delimiter at the end of command.
30515 (commands): Adjust to match the new command.
30516 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 30517 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 30518 (if): Use the new commands.
30519
30520 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30521
df6ecfc6 305222008-01-15 Robert Millan <rmh@aybabtu.com>
30523
30524 * normal/menu.c (run_menu): Move timeout message from here ...
30525 (print_timeout): ... to here.
30526 (run_menu): Use print_timeout() once during initial draw to print
30527 the whole message, and again in every clock tick to update only
30528 the number of seconds.
30529
87ae25eb 305302008-01-15 Robert Millan <rmh@aybabtu.com>
30531
30532 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30533 actual size of `available' from grub_ieee1275_get_property(), and
30534 restrict parsing to that bound.
30535
47bf09a4 305362008-01-15 Christian Franke <franke@computer.org>
30537
30538 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30539 (argp_program_version): Remove variable.
30540 (argp_program_bug_address): Likewise.
30541 (options): Convert from struct argp_option to struct option.
30542 (struct arguments): Remove.
30543 (parse_opt): Remove.
30544 (usage): New function.
30545 (main): Replace struct args members by simple variables.
30546 Replace argp_parse() by getopt_long().
30547 Add switch to evaluate options.
30548 Add missing "(...)" around root_dev in prefix string.
30549
c86f1469 305502008-01-14 Robert Millan <rmh@aybabtu.com>
30551
30552 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30553 for grub_ieee1275_exit(), in order to improve portability.
30554
e622c559 305552008-01-14 Robert Millan <rmh@aybabtu.com>
30556
30557 * util/grub.d/10_linux.in (prefix): Define.
30558 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30559
44cb1ec8 305602008-01-13 Pavel Roskin <proski@gnu.org>
30561
30562 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30563 grub_errno if no errors have been detected.
30564
1eb8c802 305652008-01-12 Robert Millan <rmh@aybabtu.com>
30566
30567 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30568 (grub_util_get_dev_abstraction): New function prototype.
30569
30570 * util/getroot.c: Include `<grub/util/getroot.h>'
30571 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30572 (grub_util_get_dev_abstraction): ... here (new function).
30573
30574 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30575 `PRINT_ABSTRACTION'.
30576 (probe): Probe for abstraction type when requested.
30577 (main): Understand `--target=abstraction'.
30578
30579 * util/i386/efi/grub-install.in: Add abstraction module to core
30580 image when it is found to be necessary.
30581 * util/i386/pc/grub-install.in: Likewise.
30582 * util/powerpc/ieee1275/grub-install.in: Likewise.
30583
30584 * util/update-grub_lib.in (font_path): Return system path without
30585 converting to GRUB path.
30586 * util/update-grub.in: Convert system path returned by font_path()
30587 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30588 abstraction module is needed for loading fonts (if any). Export
30589 that as `GRUB_PRELOAD_MODULES'.
30590 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30591 insmod commands).
30592
52bd3de9 305932008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30594
30595 Remove some unused code from reiserfs.
f19dbdb7 30596
52bd3de9 30597 * fs/reiserfs.c (struct grub_reiserfs_key)
30598 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30599 (struct grub_reiserfs_node_body): Removed.
30600 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30601 Likewise.
30602 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30603 Likewise.
30604 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30605 Likewise.
30606 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30607 Likewise.
30608 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30609 Likewise.
30610 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30611 Likewise.
30612 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30613 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30614 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30615
2f80039d 306162008-01-10 Robert Millan <rmh@aybabtu.com>
30617
30618 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30619 Determines if a file is garbage left by packaging systems, etc.
30620 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30621 for processing /etc/grub.d scripts.
30622 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30623 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30624 as a condition for processing Linux images.
30625
87888032 306262008-01-10 Pavel Roskin <proski@gnu.org>
30627
30628 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30629 to compile reiserfs.c on PowerPC.
30630
7e54fced 306312008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 30632
30633 * kern/device.c (grub_device_iterate): Do not abort device iteration
30634 when one of the devices cannot be opened.
30635 * kern/disk.c (grub_disk_open): Do not account previous failures of
30636 unrelated functions when grub_errno is checked for.
30637
5aa541e6 306382008-01-08 Robert Millan <rmh@aybabtu.com>
30639
30640 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30641 `! grub_linux_is_bzimage', change order of address comparison to make
30642 it more intuitive, and improve "too big zImage" error message.
30643
7076340d 306442008-01-08 Robert Millan <rmh@aybabtu.com>
30645
30646 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30647 `$(update-grub_DATA)'.
30648 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30649 targets.
30650
9ca70333 306512008-01-07 Robert Millan <rmh@aybabtu.com>
30652
30653 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30654 which instruction is modified by grub-setup during installation
30655 (since it wasn't obvious by only looking at this file).
30656
38ccf575 306572008-01-07 Robert Millan <rmh@aybabtu.com>
30658
30659 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30660 listing actual TODO items.
30661
f5db4291 306622008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30663
868967cf 30664 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30665 correctly.
30666 (grub_reiserfs_get_key_offset): Likewise.
30667 (grub_reiserfs_set_key_offset): Likewise.
30668 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 30669 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 30670
30671 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30672 better to remove the bitfield version completely.
f19dbdb7 30673
868967cf 306742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30675
f5db4291 30676 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30677 allocated from the heap, due to the fshelp implementation.
30678 (grub_reiserfs_dir): Free NODE, due to the same reason.
30679
492e6d9d 306802008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30681
30682 Mostly from Vincent Pelletier:
f19dbdb7 30683
492e6d9d 30684 * fs/reiserfs.c: New file.
f19dbdb7 30685
492e6d9d 30686 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30687 (reiserfs_mod_SOURCES): New variable.
30688 (reiserfs_mod_CFLAGS): Likewise.
30689 (reiserfs_mod_LDFLAGS): Likewise.
30690
30691 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30692 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30693 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30694 normal/color.c.
30695
9ce3e7c1 306962008-01-06 Robert Millan <rmh@aybabtu.com>
30697
30698 * normal/color.c: Remove `<grub/env.h>'.
30699
f3b58148 307002008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30701
30702 * include/grub/normal.h: Include <grub/env.h>.
30703
7ac3bcfa 307042008-01-05 Robert Millan <rmh@aybabtu.com>
30705
30706 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30707 usage example with `(hd0,1)'.
fb358190 30708 Reported by Samuel Thibault.
7ac3bcfa 30709
c8ee99d7 307102008-01-05 Robert Millan <rmh@aybabtu.com>
30711
30712 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30713 (grub_linux_boot_zimage): Rename to ...
30714 (grub_linux_boot): ... this.
30715 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30716 (grub_linux_boot_zimage): Conditionalize zImage copy.
30717
30718 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30719 (grub_linux_boot_bzimage): Remove prototype.
30720 (grub_linux_boot_zimage): Rename to ...
30721 (grub_linux_boot): ... this.
30722
30723 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30724 (grub_linux_boot): Remove function.
30725
0ece25b1 307262008-01-05 Robert Millan <rmh@aybabtu.com>
30727
30728 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30729 (grub_env_write_color_highlight): Likewise.
30730 (grub_wait_after_message): Likewise.
30731
30732 * normal/color.c: New file.
30733
30734 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30735 (normal_mod_DEPENDENCIES): Likewise.
30736
30737 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30738 (normal_mod_DEPENDENCIES): Likewise.
30739
30740 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30741 (normal_mod_DEPENDENCIES): Likewise.
30742
30743 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30744 (normal_mod_DEPENDENCIES): Likewise.
30745
30746 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30747 for waiting after a message is printed.
30748 * normal/main.c (read_config_file): Likewise.
30749 (grub_normal_init): Register grub_env_write_color_normal() and
30750 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30751 `color_highlight' variables as global.
30752
30753 * normal/menu.c (grub_wait_after_message): New function.
30754 (grub_color_menu_normal): New variable. Replaces ...
30755 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30756 (grub_color_menu_highlight): New variable. Replaces ...
30757 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30758 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30759 `GRUB_TERM_COLOR_STANDARD'.
30760 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30761 `normal_code' and `highlight_code' to `old_color_normal' and
30762 `old_color_highlight', respectively.
30763 (grub_menu_init_page): Update colors when drawing the menu, based on
30764 `menu_color_normal' and `menu_color_highlight' variables.
30765 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30766 a message is printed.
30767
182dd4e5 307682008-01-05 Robert Millan <rmh@aybabtu.com>
30769
30770 * kern/env.c (grub_env_context_open): Propagate hooks for global
30771 variables to new context.
30772
30773 * kern/main.c (grub_set_root_dev): Export `root' variable.
30774
ddf8f6ad 307752008-01-05 Robert Millan <rmh@aybabtu.com>
30776
30777 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 30778 discs unconditionally, since udev and others have options to provide
ddf8f6ad 30779 them.
30780
d8b43d9b 307812008-01-05 Robert Millan <rmh@aybabtu.com>
30782
30783 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30784
2bff2de3 307852008-01-04 Christian Franke <franke@computer.org>
30786
30787 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30788 of eisa_mmap.
30789
97eab917 307902008-01-03 Pavel Roskin <proski@gnu.org>
30791
30792 * kern/i386/linuxbios/init.c: Put "void" to all function
30793 declarations with no arguments.
30794 * kern/powerpc/ieee1275/init.c: Likewise.
30795 * term/i386/pc/at_keyboard.c: Likewise.
30796 * term/i386/pc/vga_text.c: Likewise.
30797 * util/grub-mkdevicemap.c: Likewise.
30798
b9416d00 307992008-01-02 Robert Millan <rmh@aybabtu.com>
30800
30801 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30802 message when loaded image is out of bounds.
30803 (grub_multiboot_load_elf64): Likewise.
30804
92695df9 308052008-01-02 Pavel Roskin <proski@gnu.org>
30806
30807 * util/grub.d/10_linux.in: Try version without ".old" when
30808 looking for initrd. It's better to use initrd from the newer
30809 kernel of the same version than no initrd at all.
30810
d98d9cad 308112008-01-01 Robert Millan <rmh@aybabtu.com>
30812
30813 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30814
dbfdce36 308152008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30816
f19dbdb7 30817 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 30818 grub_video_get_active_render_target.
30819 (grub_video_adapter): Added unmap_color and get_active_render_target.
30820
f19dbdb7 30821 * video/video.c: Added grub_video_unmap_color and
dbfdce36 30822 grub_video_get_active_render_target.
30823 (grub_video_get_info): Changed method to accept NULL pointer as an
30824 argument to allow detection of active video adapter.
30825
30826 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30827 grub_video_vbe_unmap_color_int.
30828 Added grub_video_vbe_unmap_color and
30829 grub_video_vbe_get_active_render_target.
30830 (grub_video_vbe_adapter): Added unmap_color and
30831 get_active_render_target.
30832
f19dbdb7 30833 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 30834 with grub_video_vbe_unmap_color_int.
30835
30836 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30837 (DEFAULT_NORMAL_COLOR): Likewise.
30838 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30839 (DEFAULT_FG_COLOR): Removed.
30840 (DEFAULT_BG_COLOR): Likewise.
30841 (DEFAULT_CURSOR_COLOR): Changed value.
30842 (grub_virtual_screen): Added standard_color_setting,
30843 normal_color_setting, highlight_color_setting and term_color.
30844 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30845 (bitmap_width): Added.
30846 (bitmap_height): Likewise.
30847 (bitmap): Likewise.
30848 (set_term_color): Likewise.
30849 (grub_virtual_screen_setup): Changed to use new terminal coloring
30850 settings.
30851 (grub_gfxterm_init): Added init for bitmap.
30852 (grub_gfxterm_fini): Added destroy for bitmap.
30853 (redraw_screen_rect): Updated to use background bitmap and new
30854 terminal coloring.
30855 (scroll_up): Added optimization for case when there is no bitmap.
30856 (grub_gfxterm_cls): Fixed to use correct background color.
30857 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30858 coloring.
30859 (grub_virtual_screen_setcolor): Likewise.
30860 (grub_virtual_screen_getcolor): Added.
30861 (grub_gfxterm_background_image_cmd): Likewise.
30862 (grub_video_term): Added setcolor and getcolor.
30863 (MOD_INIT): Added registration of background_image command.
30864 (MOD_TERM): Added unregistration for background_image command.
30865
c3c20931 308662007-12-30 Pavel Roskin <proski@gnu.org>
30867
30868 * loader/multiboot_loader.c: Fix multiboot command
30869 unregistration. Fix all typos in the word "multiboot".
30870
df266716 308712007-12-29 Pavel Roskin <proski@gnu.org>
94239199 30872
30873 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30874 support for initrd names used in Fedora.
30875
fc6e896c 308762007-12-26 Bean <bean123ch@gmail.com>
30877
30878 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30879 (cpio_mod_SOURCES): New variable.
30880 (cpio_mod_CFLAGS): Likewise.
30881 (cpio_mod_LDFLAGS): Likewise.
30882
30883 * fs/cpio.c: New file.
30884
30885 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30886
30887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30888
30889 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30890
30891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30892
533110ad 308932007-12-25 Robert Millan <rmh@aybabtu.com>
30894
30895 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30896 (grub_getcolor): New function.
30897
30898 * kern/term.c (grub_getcolor): New function.
30899 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30900 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30901 (print_entry): Set normal and highlight colors to
30902 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30903 respectively, before printing and restore them to old
30904 values afterwards.
30905 (grub_menu_init_page): Likewise. Fill an additional colored space
30906 that would otherwise be left blank.
30907
30908 * term/efi/console.c (grub_console_getcolor): New function.
30909 (struct grub_console_term.getcolor): New variable.
30910 * term/i386/pc/console.c (grub_console_getcolor): New function.
30911 (struct grub_console_term.getcolor): New variable.
30912 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30913 (struct grub_console_term.getcolor): New variable.
30914
30915 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30916 (struct grub_console_term.setcolor): Remove variable.
30917 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30918 (struct grub_console_term.setcolor): Remove variable.
30919 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30920 (struct grub_console_term.setcolor): Remove variable.
30921 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30922 (struct grub_console_term.setcolor): Remove variable.
30923
4931827f 309242007-12-25 Robert Millan <rmh@aybabtu.com>
30925
30926 * configure.ac: Search for possible unifont.hex locations, and
30927 define UNIFONT_HEX if found.
30928
30929 * Makefile.in (UNIFONT_HEX): Define variable.
30930 (DATA): Rename to ...
30931 (PKGLIB): ... this. Update all users.
30932 (PKGDATA): New variable.
30933 (pkgdata_IMAGES): Rename to ...
30934 (pkglib_IMAGES): ... this. Update all users.
30935 (pkgdata_MODULES): Rename to ...
30936 (pkglib_MODULES): ... this. Update all users.
30937 (pkgdata_PROGRAMS): Rename to ...
30938 (pkglib_PROGRAMS): ... this. Update all users.
30939 (pkgdata_DATA): Rename to ...
30940 (pkglib_DATA): ... this. Update all users.
30941 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30942 (unicode.pff, ascii.pff): New rules.
30943 (all-local): Add `$(PKGDATA)' dependency.
30944 (install-local): Process `$(PKGDATA)'.
30945
30946 * util/update-grub_lib.in (font_path): Search for *.pff files in
30947 a few more locations, including `${pkgdata}'.
30948
57e57e31 309492007-12-23 Robert Millan <rmh@aybabtu.com>
30950
30951 Patch from Bean <bean123ch@gmail.com>:
30952 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30953 `size'.
30954
4bc72aa9 309552007-12-21 Bean <bean123ch@gmail.com>
30956
30957 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30958 (ntfscomp_mod_SOURCES): New variable.
30959 (ntfscomp_mod_CFLAGS): Likewise.
30960 (ntfscomp_mod_LDFLAGS): Likewise.
30961
30962 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30963 (grub_probe_SOURCES): Likewise.
30964 (grub_emu_SOURCES): Likewise.
30965
30966 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30967 (grub_emu_SOURCES): Likewise.
30968
30969 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30970 (grub_emu_SOURCES): Likewise.
30971
30972 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30973 (grub_emu_SOURCES): Likewise.
30974
30975 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30976 (read_run_list): Renamed to grub_ntfs_read_run_list.
30977 (decomp_nextvcn): Moved to ntfscomp.c.
30978 (decomp_getch): Likewise.
30979 (decomp_get16): Likewise.
30980 (decomp_block): Likewise.
30981 (read_block): Likewise.
30982 (read_data): Partially moved to ntfscomp.c.
30983 (fixup): Change unsigned to grub_uint16_t.
30984 (read_mft): Change unsigned long to grub_uint32_t.
30985 (read_attr): Likewise.
30986 (read_data): Likewise.
30987 (read_run_data): Likewise.
30988 (read_run_list): Likewise.
30989 (read_mft): Likewise.
30990
30991 * fs/ntfscomp.c: New file.
30992
30993 * include/grub/ntfs.h: New file.
30994
af680a87 309952007-12-16 Robert Millan <rmh@aybabtu.com>
30996
30997 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30998 IDE disk check, since Linux is known to support 20 IDE disks.
30999 Reported by Colin Watson.
31000
84be7599 310012007-12-15 Bean <bean123ch@gmail.com>
31002
31003 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
31004 (lnxboot_img_SOURCES): New variable.
31005 (lnxboot_img_ASFLAGS): Likewise.
31006 (lnxboot_img_LDFLAGS): Likewise.
31007
31008 * boot/i386/pc/lnxboot.S: New file.
31009
6af9db01 310102007-11-24 Pavel Roskin <proski@gnu.org>
31011
31012 * configure.ac: Test if '--build-id=none' is supported by the
31013 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
31014 objcopy to generate incorrect binary files (binutils
31015 2.17.50.0.18-1 as shipped by Fedora 8).
31016 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
31017 linking, so that build ID doesn't break the test.
31018
7361cfe6 310192007-11-24 Pavel Roskin <proski@gnu.org>
31020
31021 * include/grub/i386/time.h: use "void" in the argument list
31022 of grub_cpu_idle().
31023 * include/grub/powerpc/time.h: Likewise.
31024 * include/grub/sparc64/time.h: Likewise.
31025
1593e10c 310262007-11-18 Christian Franke <franke@computer.org>
31027
31028 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
31029 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
31030 This fixes the problem that function keys did not work in grub-emu.
31031
3b8db1a8 310322007-11-18 Christian Franke <franke@computer.org>
31033
31034 * disk/host.c (grub_host_open): Remove attribute unused from
31035 name parameter. Add check for "host". This fixes the problem
31036 that grub-emu does not find partitions.
31037
2e29408d 310382007-11-18 Christian Franke <franke@computer.org>
31039
31040 * util/hostfs.c (is_dir): New function.
31041 (grub_hostfs_dir): Handle missing dirent.d_type case.
31042 (grub_hostfs_read): Add missing fseek().
31043 (grub_hostfs_label): Clear label pointer. This fixes a crash
31044 of grub-emu on "ls (host)".
31045
398cd047 310462007-11-18 Christian Franke <franke@computer.org>
31047
31048 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
31049 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
31050 to 64 bit boundary by default.
31051
c405c391 310522007-11-18 Bean <bean123ch@gmail.com>
31053
31054 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
31055 (hexdump_mod_SOURCES): New variable.
31056 (hexdump_mod_CFLAGS): Likewise.
31057 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 31058
c405c391 31059 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31060
31061 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31062
31063 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31064
31065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
31066
31067 * include/grub/hexdump.h: New file.
31068
31069 * commands/hexdump.c: New file.
31070
5cced7fd 310712007-11-10 Robert Millan <rmh@aybabtu.com>
31072
31073 * commands/i386/pc/play.c (beep_off): Switch order of arguments
31074 in grub_outb() calls.
31075 (beep_on): Likewise.
31076
8b714eb0 310772007-11-10 Christian Franke <franke@computer.org>
31078
31079 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
31080 (grub_menu_run): Likewise.
31081
ce0f1839 310822007-11-10 Robert Millan <rmh@aybabtu.com>
31083
31084 * include/grub/i386/efi/machine.h: New file.
31085 * include/grub/i386/linuxbios/machine.h: Likewise.
31086 * include/grub/i386/pc/machine.h: Likewise.
31087 * include/grub/powerpc/ieee1275/machine.h: Likewise.
31088 * include/grub/sparc64/ieee1275/machine.h: Likewise.
31089
31090 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
31091 (serial_hw_io_addr): New variable.
31092 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
31093 instead of `(unsigned short *) 0x400'.
31094
270c237d 310952007-11-10 Bean <bean123ch@gmail.com>
31096
31097 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
31098
a87783bf 310992007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31100
31101 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
31102 (vga_mod_SOURCES): Added.
31103 (vga_mod_CFLAGS): Likewise.
31104 (vga_mod_LDFLAGS): Likewise.
31105
31106 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
31107 grub_outb() calls.
31108 (set_map_mask): Likewise.
31109 (set_read_map): Likewise.
31110 (set_read_address): Likewise.
31111 (vga_font): Removed variable.
31112 (get_vga_glyph): Removed function.
31113 (invalidate_char): Likewise.
31114 (write_char): Changed to use grub_font_get_glyph() for font
31115 information.
31116 (grub_vga_putchar): Likewise.
31117 (grub_vga_getcharwidth): Likewise.
31118
6433b448 311192007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
31120
31121 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
31122 flags.
31123 (pxeboot_img_LDFLAGS): Likewise.
31124 (diskboot_img_LDFLAGS): Likewise.
31125 (kernel_img_LDFLAGS): Likewise.
31126
49178511 311272007-11-06 Robert Millan <rmh@aybabtu.com>
31128
31129 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
31130 in grub_outb() calls.
31131 (serial_hw_init): Likewise.
31132
53b052de 311332007-11-05 Robert Millan <rmh@aybabtu.com>
31134
31135 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
31136 spaces. Skip non-regular files.
31137
5ab33bba 311382007-11-05 Robert Millan <rmh@aybabtu.com>
31139
31140 * kern/disk.c (grub_disk_firmware_fini)
31141 (grub_disk_firmware_is_tainted): New variables.
31142
31143 * include/grub/disk.h (grub_disk_firmware_fini)
31144 (grub_disk_firmware_is_tainted): Likewise.
31145
31146 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
31147 (grub_disk_biosdisk_fini): ... to here.
31148 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
31149 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
31150 is set. Register grub_disk_biosdisk_fini() in
31151 `grub_disk_firmware_fini'.
31152
31153 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
31154 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
31155 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
31156 to finish existing firmware disk interface.
31157
31158 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
31159 (ata_mod_SOURCES): New variable.
31160 (ata_mod_CFLAGS): Likewise.
31161 (ata_mod_LDFLAGS): Likewise.
31162
0149ab7c 311632007-11-05 Robert Millan <rmh@aybabtu.com>
31164
31165 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
31166 (grub_ata_wait): Reimplement using grub_millisleep().
31167
31168 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
31169 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
31170
be7ac41e 311712007-11-03 Marco Gerards <marco@gnu.org>
31172
31173 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
31174 (CRTC_ADDR_PORT): New macro.
31175 (CRTC_DATA_PORT): Likewise.
31176 (CRTC_CURSOR): Likewise.
31177 (CRTC_CURSOR_ADDR_HIGH): Likewise.
31178 (CRTC_CURSOR_ADDR_LOW): Likewise.
31179 (update_cursor): New function.
31180 (grub_console_real_putchar): Call `update_cursor'.
31181 (grub_console_gotoxy): Likewise.
31182 (grub_console_cls): Set the default color when clearing the
31183 screen.
31184 (grub_console_setcursor): Implemented.
31185
bb06ab2e 311862007-11-03 Marco Gerards <marco@gnu.org>
31187
31188 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
31189 become activate.
31190 (grub_ata_pio_write): Likewise.
31191
31192 (grub_atapi_identify): Wait after issuing an ATA command.
31193 (grub_atapi_packet): Likewise.
31194 (grub_ata_identify): Likewise.
31195 (grub_ata_readwrite): Likewise.
31196
cf8f780b 311972007-11-03 Marco Gerards <marco@gnu.org>
31198
31199 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
31200 (grub_ata_pio_write): Likewise.
31201 (grub_ata_readwrite): Use `grub_error', instead of
31202 returning `grub_errno'.
31203
ed649e54 312042007-11-03 Marco Gerards <marco@gnu.org>
31205
31206 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
31207 grub_ata_pio_write once for every single sector, instead of for
31208 multiple sectors.
31209
ca25d8f0 312102007-10-31 Robert Millan <rmh@aybabtu.com>
31211
31212 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
31213
31214 * conf/i386-linuxbios.rmk: New file.
31215
31216 * kern/i386/pc/hardware.c: Likewise.
31217 * term/i386/pc/at_keyboard.c: Likewise.
31218 * term/i386/pc/vga_text.c: Likewise.
31219
31220 * include/grub/i386/linuxbios/boot.h: Likewise.
31221 * include/grub/i386/linuxbios/console.h: Likewise.
31222 * include/grub/i386/linuxbios/init.h: Likewise.
31223 * include/grub/i386/linuxbios/kernel.h: Likewise.
31224 * include/grub/i386/linuxbios/loader.h: Likewise.
31225 * include/grub/i386/linuxbios/memory.h: Likewise.
31226 * include/grub/i386/linuxbios/serial.h: Likewise.
31227 * include/grub/i386/linuxbios/time.h: Likewise.
31228
31229 * kern/i386/linuxbios/init.c: Likewise.
31230 * kern/i386/linuxbios/startup.S: Likewise.
31231 * kern/i386/linuxbios/table.c: Likewise.
31232
e911ecc1 312332007-10-31 Marco Gerards <marco@gnu.org>
31234
31235 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
31236 (ata_mod_SOURCES): New variable.
31237 (ata_mod_CFLAGS): Likewise.
31238 (ata_mod_LDFLAGS): Likewise.
31239
31240 * disk/ata.c: New file.
31241
31242 * include/grub/disk.h (grub_disk_dev_id): Add
31243 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 31244
7f66d0e0 312452007-10-31 Robert Millan <rmh@aybabtu.com>
31246
31247 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
31248 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
31249
31250 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
31251 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
31252
31253 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
31254 `<grub/types.h>'.
31255
31256 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
31257
5cd7dd46 312582007-10-27 Robert Millan <rmh@aybabtu.com>
31259
3236ca65 31260 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 31261
2ebfc90f 312622007-10-22 Robert Millan <rmh@aybabtu.com>
31263
31264 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
31265 `"../realmode.S"'.
31266 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
31267
73fcb0f3 312682007-10-22 Robert Millan <rmh@aybabtu.com>
31269
31270 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
31271 (pkgdata_MODULES): Add `biosdisk.mod'.
31272 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
31273 variables.
31274
31275 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
31276 (grub_biosdisk_init): Replace with ...
31277 (GRUB_MOD_INIT(biosdisk)): ... this.
31278 (grub_biosdisk_fini): Replace with ...
31279 (GRUB_MOD_FINI(biosdisk)): ... this.
31280
31281 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
31282 (grub_machine_init): Remove call to grub_biosdisk_init().
31283 (grub_machine_fini): Remove call to grub_machine_fini().
31284
31285 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
31286
3381d274 312872007-10-22 Robert Millan <rmh@aybabtu.com>
31288
31289 * include/grub/time.h: New file.
31290 * include/grub/i386/time.h: Likewise.
31291 * include/grub/powerpc/time.h: Likewise.
31292 * include/grub/sparc64/time.h: Likewise.
31293
31294 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
31295 instances to ...
31296 (KERNEL_MACHINE_TIME_HEADER): ... this.
31297 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31298 instances to ...
31299 (KERNEL_MACHINE_TIME_HEADER): ... this.
31300 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31301 instances to ...
31302 (KERNEL_MACHINE_TIME_HEADER): ... this.
31303
31304 * kern/i386/efi/init.c: Include `<grub/time.h>'.
31305 (grub_millisleep): New function.
31306 * kern/i386/pc/init.c: Include `<grub/time.h>'.
31307 (grub_millisleep): New function.
31308 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
31309 Remove `grub/machine/time.h' include.
31310 (grub_millisleep): New function.
31311 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
31312 Remove `grub/machine/time.h' include.
31313 (grub_millisleep): New function.
31314
31315 * include/grub/misc.h (grub_div_roundup): New function.
31316
31317 * kern/misc.c: Include `<grub/time.h>'.
31318 (grub_millisleep_generic): New function.
31319
31320 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
31321 Add `time.h'.
31322 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
31323 Add `time.h'.
31324 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
31325 `machine/time.h'. Add `time.h'.
31326 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31327
a39a0312 313282007-10-21 Robert Millan <rmh@aybabtu.com>
31329
31330 * include/grub/misc.h (grub_max): New function.
31331
2aad70e2 313322007-10-21 Robert Millan <rmh@aybabtu.com>
31333
31334 * util/misc.c (grub_util_info): Call fflush() before returning.
31335
54b71c4b 313362007-10-20 Robert Millan <rmh@aybabtu.com>
31337
31338 * genmk.rb (Image): Copy `extra_flags' from here ...
31339 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
31340
31341 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
31342 to `argc' and `args' arguments.
31343
a979f513 313442007-10-17 Robert Millan <rmh@aybabtu.com>
31345
31346 * kern/i386/loader.S: New file.
31347
31348 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
31349 * kern/i386/loader.S (grub_linux_prot_size)... to here.
31350 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
31351 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
31352 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
31353 * kern/i386/loader.S (grub_linux_real_addr)... to here.
31354 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
31355 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
31356 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
31357 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
31358 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
31359 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
31360 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
31361 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
31362
31363 * kern/i386/realmode.S: New file.
31364
31365 * kern/i386/pc/startup.S (protstack): Moved from here ...
31366 * kern/i386/realmode.S (protstack)... to here.
31367 * kern/i386/pc/startup.S (gdt): Moved from here ...
31368 * kern/i386/realmode.S (gdt)... to here.
31369 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
31370 * kern/i386/realmode.S (prot_to_real)... to here.
31371
31372 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
31373 `kern/i386/realmode.S'.
31374
825fc8fd 313752007-10-17 Robert Millan <rmh@aybabtu.com>
31376
31377 * include/grub/i386/loader.h: New file.
31378
31379 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
31380 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31381 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31382 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31383 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
31384 * include/grub/i386/loader.h (grub_linux_prot_size)
31385 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31386 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31387 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31388 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
31389
31390 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
31391
e179b2f4 313922007-10-15 Robert Millan <rmh@aybabtu.com>
31393
31394 * normal/misc.c (grub_normal_print_device_info): Do not probe for
31395 filesystem when dev->disk is unset.
31396 Do probe for filesystem even when dev->disk->has_partitions is set.
31397 In case a filesystem is found, always report it.
31398 In case it isn't, if dev->disk->has_partitions is set, report that
31399 a partition table was found instead of reporting that no filesystem
31400 could be identified.
31401
5db82af6 314022007-10-12 Robert Millan <rmh@aybabtu.com>
31403
31404 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
31405 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
31406
68f6ac74 31407 * include/grub/types.h (grub_host_to_target16): New macro.
31408 (grub_host_to_target32): Likewise.
31409 (grub_host_to_target64): Likewise.
31410 (grub_target_to_host16): Likewise.
31411 (grub_target_to_host32): Likewise.
31412 (grub_target_to_host64): Likewise.
5db82af6 31413
31414 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31415 Renamed from to ...
31416 (GRUB_MOD_ALIGN): ...this. Update all users.
31417
68f6ac74 31418 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
31419 grub_host_to_target32.
31420 Replace grub_be_to_cpu32 with grub_target_to_host32.
31421 (load_modules): Likewise.
31422 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
31423 Replace grub_be_to_cpu32 with grub_target_to_host32.
31424 Replace grub_cpu_to_be16 with grub_host_to_target16.
31425 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 31426
3cf497cc 314272007-10-12 Robert Millan <rmh@aybabtu.com>
31428
31429 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
31430 * util/elf/grub-mkimage.c: ... here.
31431
31432 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
31433 `util/powerpc/ieee1275/grub-mkimage.c'.
31434
c8cc3692 314352007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 31436
c8cc3692 31437 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
31438 and make it easier to figure out.
31439 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
31440 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
31441 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
31442 leave us with less than HEAP_MIN_SIZE total heap.
31443 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 31444
5c58b791 314452007-10-03 Robert Millan <rmh@aybabtu.com>
31446
31447 * include/grub/i386/io.h: New file.
31448 * commands/i386/pc/play.c (inb): Removed.
31449 (outb): Removed.
31450 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31451 with grub_outb().
afcd2ef8 31452 * term/i386/pc/serial.c (inb): Removed.
31453 (outb): Removed.
31454 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31455 with grub_outb().
31456 * term/i386/pc/vga.c (inb): Removed.
31457 (outb): Removed.
31458 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31459 with grub_outb().
5c58b791 31460
1a477ed6 314612007-10-02 Robert Millan <rmh@aybabtu.com>
31462
31463 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
31464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31465 Reported by Marcin Kurek.
31466
6b5d80fa 314672007-09-07 Robert Millan <rmh@aybabtu.com>
31468
31469 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
31470 SmartFirmware version updates (as released by Sven Luther), and avoid
31471 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
31472 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
31473 known broken.
31474
5618afbf 314752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31476
31477 From Hitoshi Ozeki:
31478 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
31479 when merging two regions.
31480
6139dcd9 314812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31482
508e39ee 31483 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
31484 * normal/completion.c (grub_normal_do_completion): Likewise.
31485 Reported by Hitoshi Ozeki.
31486
314872007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31488
6139dcd9 31489 Do not use devices at boot in chainloading.
f19dbdb7 31490
6139dcd9 31491 * loader/i386/pc/chainloader.c (boot_drive): New variable.
31492 (boot_part_addr): Likewise.
31493 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
31494 with BOOT_DRIVE and BOOT_PART_ADDR.
31495 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
31496 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
31497
38da6516 314982007-08-29 Robert Millan <rmh@aybabtu.com>
31499
31500 Patch from Simon Peter <dn.tlp@gmx.net>:
31501 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31502 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31503 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31504 util/i386/pc/grub-setup.c_DEPENDENCIES.
31505 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31506 util/grub-probe.c_DEPENDENCIES.
31507 * conf/powerpc-ieee1275.rmk: Likewise.
31508
29d0928c 315092007-08-28 Robert Millan <rmh@aybabtu.com>
31510
31511 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31512 to tell grub-mkdevicemap how to name devices.
31513 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31514 feature).
31515
31516 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31517 util/i386/get_disk_name.c.
31518 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31519 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31520 util/ieee1275/get_disk_name.c.
31521
31522 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31523
31524 * DISTLIST: Add util/i386/get_disk_name.c and
31525 util/ieee1275/get_disk_name.c.
31526
31527 * util/grub-mkdevicemap.c: Replace device naming logic with
31528 grub_util_get_disk_name() calls.
31529
5a0d3cca 315302007-08-20 Robert Millan <rmh@aybabtu.com>
31531
31532 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31533 (so that it works for both plural and singular quantities).
31534
8b72db2f 315352007-08-05 Robert Millan <rmh@aybabtu.com>
31536
31537 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31538 so that [xz] isn't taken into account when determining order.
31539
352466bf 315402007-08-02 Marco Gerards <marco@gnu.org>
31541
31542 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31543 `include/multiboot2.h', `include/grub/elfload.h',
31544 `include/multiboot.h', `include/grub/multiboot.h',
31545 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31546 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31547 `kern/elf.c', `loader/multiboot_loader.c',
31548 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31549 `loader/i386/pc/multiboot2.c',
31550 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31551 `util/i386/pc/grub-mkrescue.in'. Remove
31552 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31553 `include/grub/i386/pc/util/biosdisk.h' and
31554 `include/grub/powerpc/ieee1275/multiboot.h'.
31555
8f096014 315562007-08-02 Bean <bean123ch@gmail.com>
31557
31558 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31559 (ntfs_mod_SOURCES): New variable.
31560 (ntfs_mod_CFLAGS): Likewise.
31561 (ntfs_mod_LDFLAGS): Likewise.
31562
31563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31564 (grub_probe_SOURCES): Likewise.
31565 (grub_emu_SOURCES): Likewise.
31566
31567 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31568 (grub_emu_SOURCES): Likewise.
31569
31570 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31571 (grub_emu_SOURCES): Likewise.
f19dbdb7 31572
8f096014 31573 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31574
31575 * fs/ntfs.c: New file.
31576
9959f7db 315772007-08-02 Bean <bean123ch@gmail.com>
31578
31579 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31580
31581 * file.h (grub_file): Likewise.
31582
31583 * fshelp.h (grub_fshelp_read_file): Likewise.
31584
31585 * util/i386/pc/grub-setup.c (setup): Likewise.
31586 (save_first_sector): Likewise.
31587 (save_blocklists): Likewise.
f19dbdb7 31588
9959f7db 31589 * fs/affs.c (grub_affs_read_file): Likewise.
31590
31591 * fs/ext2.c (grub_ext2_read_file): Likewise.
31592
31593 * fs/fat.c (grub_fat_read_data): Likewise.
31594
31595 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31596
31597 * fs/hfs.c (grub_hfs_read_file): Likewise.
31598
31599 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31600
31601 * fs/jfs.c (grub_jfs_read_file): Likewise.
31602
31603 * fs/minix.c (grub_minix_read_file): Likewise.
31604
31605 * fs/sfs.c (grub_sfs_read_file): Likewise.
31606
31607 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 31608
9959f7db 31609 * fs/xfs.c (grub_xfs_read_file): Likewise.
31610
31611 * command/blocklist.c (read_blocklist): Likewise.
31612 (print_blocklist): Likewise.
31613
0a203f83 316142007-08-02 Marco Gerards <marco@gnu.org>
31615
31616 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31617 `util/hostfs.c'.
31618
31619 * disk/host.c: New file.
31620
31621 * util/hostfs.c: Likewise.
31622
31623 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31624 return `GRUB_ERR_BAD_FS'.
31625 * fs/sfs.c (grub_sfs_mount): Likewise.
31626 * fs/xfs.c (grub_xfs_mount): Likewise.
31627
31628 * include/grub/disk.h (enum grub_disk_dev_id): Add
31629 `GRUB_DISK_DEVICE_HOST_ID'.
31630
31631 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31632
e5dfe777 316332007-07-24 Jerone Young <jerone@gmail.com>
31634
f19dbdb7 31635 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 31636 modules for compilation.
31637 * conf/powerpc-ieee1275.rmk: Likewise.
31638
31639 * include/multiboot.h: Move multiboot definitions to one file. Rename
31640 many definitions to not get grub specific.
31641 * include/multiboot2.h: Create header with multiboot 2 definitions.
31642 * include/grub/multiboot.h: Header for grub specific function
31643 prototypes and definitions.
31644 * include/grub/multiboot2.h: Likewise.
31645 * include/grub/multiboot_loader.h: Likewise.
31646 * include/grub/i386/pc/multiboot.h: Removed.
31647 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31648
31649 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31650 and 2 to allow for one multiboot and module commands.
31651 * loader/multiboot2.c: Add multiboot2 functionality.
31652 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31653 and definition names.
31654 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31655 2 functions.
31656 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31657 ieee1275 specific multiboot2 code.
31658
31659 * kern/i386/pc/startup.S: Change headers and definition names for
31660 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31661
daf0f0ba 316622007-07-22 Robert Millan <rmh@aybabtu.com>
31663
31664 * geninitheader.sh: Process file specified in first parameter rather
31665 than hardcoding grub_modules_init.lst.
fe6b695a 31666 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 31667 than hardcoding grub_modules_init.h.
31668
31669 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31670 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31671 grub_probe_init.[ch] and grub_setup_init.[ch].
31672
31673 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31674 grub_modules_init.h with grub_emu_init.h.
31675 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31676 grub_probe_init.[ch] files.
31677 * conf/i386-efi.rmk: Likewise.
31678 * conf/i386-pc.rmk: Likewise.
31679 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31680 grub_setup_init.[ch] files.
31681
31682 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31683 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31684 to initialize modules rather than a list of hardcoded functions.
31685 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31686 grub_init_all() to initialize modules rather than a list of hardcoded
31687 functions.
31688
54cdc1cc 316892007-07-22 Robert Millan <rmh@aybabtu.com>
31690
31691 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31692 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31693
ad0686cc 316942007-07-22 Robert Millan <rmh@aybabtu.com>
31695
31696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31697 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31698 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31699 flag when running on SmartFirmware.
31700 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31701 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31702 was set.
31703
31704 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31705 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31706 rather than decreasing it.
31707
31708 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31709 there's not enough space to do it, fail in the same way as when it
31710 can't be done because there are no partitions.
31711
31712 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31713 when nvsetenv failed.
31714
969c02ec 317152007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31716
31717 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31718 because this rule is automatically generated.
31719 (grub-mkrescue): Removed for the same reason as above.
31720
5a79f472 317212007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31722
31723 Migrate to GNU General Public License Version 3.
f19dbdb7 31724
5a79f472 31725 * COPYING: Replaced with the plain text version of GPLv3.
31726
31727 * config.guess: Updated from gnulib.
31728 * config.sub: Likewise.
31729
31730 * geninit.sh: Output a GPLv3 copyright notice.
31731 * geninitheader.sh: Likewise.
31732 * genmodsrc.sh: Likewise.
31733 * gensymlist.sh.in: Likewise.
31734
31735 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31736 * boot/i386/pc/diskboot.S: Likewise.
31737 * boot/i386/pc/pxeboot.S: Likewise.
31738 * commands/blocklist.c: Likewise.
31739 * commands/boot.c: Likewise.
31740 * commands/cat.c: Likewise.
31741 * commands/cmp.c: Likewise.
31742 * commands/configfile.c: Likewise.
31743 * commands/echo.c: Likewise.
31744 * commands/help.c: Likewise.
31745 * commands/ls.c: Likewise.
31746 * commands/search.c: Likewise.
31747 * commands/terminal.c: Likewise.
31748 * commands/test.c: Likewise.
31749 * commands/videotest.c: Likewise.
31750 * commands/i386/cpuid.c: Likewise.
31751 * commands/i386/pc/halt.c: Likewise.
31752 * commands/i386/pc/play.c: Likewise.
31753 * commands/i386/pc/reboot.c: Likewise.
31754 * commands/i386/pc/vbeinfo.c: Likewise.
31755 * commands/i386/pc/vbetest.c: Likewise.
31756 * commands/ieee1275/halt.c: Likewise.
31757 * commands/ieee1275/reboot.c: Likewise.
31758 * commands/ieee1275/suspend.c: Likewise.
31759 * disk/loopback.c: Likewise.
31760 * disk/lvm.c: Likewise.
31761 * disk/raid.c: Likewise.
31762 * disk/efi/efidisk.c: Likewise.
31763 * disk/i386/pc/biosdisk.c: Likewise.
31764 * disk/ieee1275/ofdisk.c: Likewise.
31765 * font/manager.c: Likewise.
31766 * fs/affs.c: Likewise.
31767 * fs/ext2.c: Likewise.
31768 * fs/fat.c: Likewise.
31769 * fs/fshelp.c: Likewise.
31770 * fs/hfs.c: Likewise.
31771 * fs/hfsplus.c: Likewise.
31772 * fs/iso9660.c: Likewise.
31773 * fs/jfs.c: Likewise.
31774 * fs/minix.c: Likewise.
31775 * fs/sfs.c: Likewise.
31776 * fs/ufs.c: Likewise.
31777 * fs/xfs.c: Likewise.
31778 * hello/hello.c: Likewise.
31779 * include/grub/acorn_filecore.h: Likewise.
31780 * include/grub/arg.h: Likewise.
31781 * include/grub/bitmap.h: Likewise.
31782 * include/grub/boot.h: Likewise.
31783 * include/grub/cache.h: Likewise.
31784 * include/grub/device.h: Likewise.
31785 * include/grub/disk.h: Likewise.
31786 * include/grub/dl.h: Likewise.
31787 * include/grub/elfload.h: Likewise.
31788 * include/grub/env.h: Likewise.
31789 * include/grub/err.h: Likewise.
31790 * include/grub/file.h: Likewise.
31791 * include/grub/font.h: Likewise.
31792 * include/grub/fs.h: Likewise.
31793 * include/grub/fshelp.h: Likewise.
31794 * include/grub/gzio.h: Likewise.
31795 * include/grub/hfs.h: Likewise.
31796 * include/grub/kernel.h: Likewise.
31797 * include/grub/loader.h: Likewise.
31798 * include/grub/lvm.h: Likewise.
31799 * include/grub/misc.h: Likewise.
31800 * include/grub/mm.h: Likewise.
31801 * include/grub/net.h: Likewise.
31802 * include/grub/normal.h: Likewise.
31803 * include/grub/parser.h: Likewise.
31804 * include/grub/partition.h: Likewise.
31805 * include/grub/pc_partition.h: Likewise.
31806 * include/grub/raid.h: Likewise.
31807 * include/grub/rescue.h: Likewise.
31808 * include/grub/script.h: Likewise.
31809 * include/grub/setjmp.h: Likewise.
31810 * include/grub/symbol.h: Likewise.
31811 * include/grub/term.h: Likewise.
31812 * include/grub/terminfo.h: Likewise.
31813 * include/grub/tparm.h: Likewise.
31814 * include/grub/types.h: Likewise.
31815 * include/grub/video.h: Likewise.
31816 * include/grub/efi/api.h: Likewise.
31817 * include/grub/efi/chainloader.h: Likewise.
31818 * include/grub/efi/console.h: Likewise.
31819 * include/grub/efi/console_control.h: Likewise.
31820 * include/grub/efi/disk.h: Likewise.
31821 * include/grub/efi/efi.h: Likewise.
31822 * include/grub/efi/pe32.h: Likewise.
31823 * include/grub/efi/time.h: Likewise.
31824 * include/grub/i386/linux.h: Likewise.
31825 * include/grub/i386/setjmp.h: Likewise.
31826 * include/grub/i386/types.h: Likewise.
31827 * include/grub/i386/efi/kernel.h: Likewise.
31828 * include/grub/i386/efi/loader.h: Likewise.
31829 * include/grub/i386/efi/time.h: Likewise.
31830 * include/grub/i386/pc/biosdisk.h: Likewise.
31831 * include/grub/i386/pc/boot.h: Likewise.
31832 * include/grub/i386/pc/chainloader.h: Likewise.
31833 * include/grub/i386/pc/console.h: Likewise.
31834 * include/grub/i386/pc/init.h: Likewise.
31835 * include/grub/i386/pc/kernel.h: Likewise.
31836 * include/grub/i386/pc/loader.h: Likewise.
31837 * include/grub/i386/pc/memory.h: Likewise.
31838 * include/grub/i386/pc/multiboot.h: Likewise.
31839 * include/grub/i386/pc/serial.h: Likewise.
31840 * include/grub/i386/pc/time.h: Likewise.
31841 * include/grub/i386/pc/vbe.h: Likewise.
31842 * include/grub/i386/pc/vbeblit.h: Likewise.
31843 * include/grub/i386/pc/vbefill.h: Likewise.
31844 * include/grub/i386/pc/vbeutil.h: Likewise.
31845 * include/grub/i386/pc/vga.h: Likewise.
31846 * include/grub/ieee1275/ieee1275.h: Likewise.
31847 * include/grub/ieee1275/ofdisk.h: Likewise.
31848 * include/grub/powerpc/libgcc.h: Likewise.
31849 * include/grub/powerpc/setjmp.h: Likewise.
31850 * include/grub/powerpc/types.h: Likewise.
31851 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31852 * include/grub/powerpc/ieee1275/console.h: Likewise.
31853 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31854 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31855 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31856 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31857 * include/grub/powerpc/ieee1275/time.h: Likewise.
31858 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31859 * include/grub/sparc64/libgcc.h: Likewise.
31860 * include/grub/sparc64/setjmp.h: Likewise.
31861 * include/grub/sparc64/types.h: Likewise.
31862 * include/grub/sparc64/ieee1275/console.h: Likewise.
31863 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31864 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31865 * include/grub/sparc64/ieee1275/time.h: Likewise.
31866 * include/grub/util/biosdisk.h: Likewise.
31867 * include/grub/util/getroot.h: Likewise.
31868 * include/grub/util/lvm.h: Likewise.
31869 * include/grub/util/misc.h: Likewise.
31870 * include/grub/util/raid.h: Likewise.
31871 * include/grub/util/resolve.h: Likewise.
31872 * io/gzio.c: Likewise.
31873 * kern/device.c: Likewise.
31874 * kern/disk.c: Likewise.
31875 * kern/dl.c: Likewise.
31876 * kern/elf.c: Likewise.
31877 * kern/env.c: Likewise.
31878 * kern/err.c: Likewise.
31879 * kern/file.c: Likewise.
31880 * kern/fs.c: Likewise.
31881 * kern/loader.c: Likewise.
31882 * kern/main.c: Likewise.
31883 * kern/misc.c: Likewise.
31884 * kern/mm.c: Likewise.
31885 * kern/parser.c: Likewise.
31886 * kern/partition.c: Likewise.
31887 * kern/rescue.c: Likewise.
31888 * kern/term.c: Likewise.
31889 * kern/efi/efi.c: Likewise.
31890 * kern/efi/init.c: Likewise.
31891 * kern/efi/mm.c: Likewise.
31892 * kern/i386/dl.c: Likewise.
31893 * kern/i386/efi/init.c: Likewise.
31894 * kern/i386/efi/startup.S: Likewise.
31895 * kern/i386/pc/init.c: Likewise.
31896 * kern/i386/pc/lzo1x.S: Likewise.
31897 * kern/i386/pc/startup.S: Likewise.
31898 * kern/ieee1275/ieee1275.c: Likewise.
31899 * kern/powerpc/cache.S: Likewise.
31900 * kern/powerpc/dl.c: Likewise.
31901 * kern/powerpc/ieee1275/cmain.c: Likewise.
31902 * kern/powerpc/ieee1275/crt0.S: Likewise.
31903 * kern/powerpc/ieee1275/init.c: Likewise.
31904 * kern/powerpc/ieee1275/openfw.c: Likewise.
31905 * kern/sparc64/cache.S: Likewise.
31906 * kern/sparc64/dl.c: Likewise.
31907 * kern/sparc64/ieee1275/init.c: Likewise.
31908 * kern/sparc64/ieee1275/openfw.c: Likewise.
31909 * loader/efi/chainloader.c: Likewise.
31910 * loader/efi/chainloader_normal.c: Likewise.
31911 * loader/i386/efi/linux.c: Likewise.
31912 * loader/i386/efi/linux_normal.c: Likewise.
31913 * loader/i386/pc/chainloader.c: Likewise.
31914 * loader/i386/pc/chainloader_normal.c: Likewise.
31915 * loader/i386/pc/linux.c: Likewise.
31916 * loader/i386/pc/linux_normal.c: Likewise.
31917 * loader/i386/pc/multiboot.c: Likewise.
31918 * loader/i386/pc/multiboot_normal.c: Likewise.
31919 * loader/powerpc/ieee1275/linux.c: Likewise.
31920 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31921 * normal/arg.c: Likewise.
31922 * normal/cmdline.c: Likewise.
31923 * normal/command.c: Likewise.
31924 * normal/completion.c: Likewise.
31925 * normal/execute.c: Likewise.
31926 * normal/function.c: Likewise.
31927 * normal/lexer.c: Likewise.
31928 * normal/main.c: Likewise.
31929 * normal/menu.c: Likewise.
31930 * normal/menu_entry.c: Likewise.
31931 * normal/misc.c: Likewise.
31932 * normal/parser.y: Likewise.
31933 * normal/script.c: Likewise.
31934 * normal/i386/setjmp.S: Likewise.
31935 * normal/powerpc/setjmp.S: Likewise.
31936 * normal/sparc64/setjmp.S: Likewise.
31937 * partmap/acorn.c: Likewise.
31938 * partmap/amiga.c: Likewise.
31939 * partmap/apple.c: Likewise.
31940 * partmap/gpt.c: Likewise.
31941 * partmap/pc.c: Likewise.
31942 * partmap/sun.c: Likewise.
31943 * term/gfxterm.c: Likewise.
31944 * term/terminfo.c: Likewise.
31945 * term/efi/console.c: Likewise.
31946 * term/i386/pc/console.c: Likewise.
31947 * term/i386/pc/serial.c: Likewise.
31948 * term/i386/pc/vesafb.c: Likewise.
31949 * term/i386/pc/vga.c: Likewise.
31950 * term/ieee1275/ofconsole.c: Likewise.
31951 * util/biosdisk.c: Likewise.
31952 * util/console.c: Likewise.
31953 * util/genmoddep.c: Likewise.
31954 * util/getroot.c: Likewise.
31955 * util/grub-emu.c: Likewise.
31956 * util/grub-mkdevicemap.c: Likewise.
31957 * util/grub-probe.c: Likewise.
31958 * util/lvm.c: Likewise.
31959 * util/misc.c: Likewise.
31960 * util/raid.c: Likewise.
31961 * util/resolve.c: Likewise.
31962 * util/update-grub.in: Likewise.
31963 * util/update-grub_lib.in: Likewise.
31964 * util/grub.d/00_header.in: Likewise.
31965 * util/grub.d/10_hurd.in: Likewise.
31966 * util/grub.d/10_linux.in: Likewise.
31967 * util/i386/efi/grub-install.in: Likewise.
31968 * util/i386/efi/grub-mkimage.c: Likewise.
31969 * util/i386/pc/grub-install.in: Likewise.
31970 * util/i386/pc/grub-mkimage.c: Likewise.
31971 * util/i386/pc/grub-mkrescue.in: Likewise.
31972 * util/i386/pc/grub-setup.c: Likewise.
31973 * util/i386/pc/misc.c: Likewise.
31974 * util/powerpc/ieee1275/grub-install.in: Likewise.
31975 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31976 * util/powerpc/ieee1275/misc.c: Likewise.
31977 * video/bitmap.c: Likewise.
31978 * video/video.c: Likewise.
31979 * video/i386/pc/vbe.c: Likewise.
31980 * video/i386/pc/vbeblit.c: Likewise.
31981 * video/i386/pc/vbefill.c: Likewise.
31982 * video/i386/pc/vbeutil.c: Likewise.
31983 * video/readers/tga.c: Likewise.
31984
3572d015 319852007-07-02 Robert Millan <rmh@aybabtu.com>
31986
31987 * conf/i386-efi.rmk: Replace obsolete reference to
31988 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31989 with util/getroot.c.
31990 * conf/powerpc-ieee1275.rmk: Likewise.
31991 * conf/sparc64-ieee1275.rmk: Likewise.
31992
31993 * util/grub-emu.c (main): Fix unchecked pointer handling.
31994
2c2a681b 319952007-07-02 Robert Millan <rmh@aybabtu.com>
31996
31997 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31998 invocation to fail, in order to support partition-less media.
31999
32000 * util/i386/pc/grub-install.in: Likewise.
32001
32002 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
32003 which fs or partmap modules are needed (akin to its sister scripts).
32004
32005 Also use grub-probe to get rid of unportable /proc/mounts check.
32006
32007 Print the same informational message that the other scripts do, before
fe6b695a 32008 exiting.
2c2a681b 32009
6193defe 320102007-06-23 Robert Millan <rmh@aybabtu.com>
32011
fe6b695a 32012 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 32013 a font file can be found and, if so, echo the GRUB path to it.
32014
32015 * util/update-grub.in: Handle multiple terminals depending on user
32016 input, platform availability and font file presence. Propagate
32017 variables of our findings to /etc/grub.d/ children.
32018
32019 * util/grub.d/00_header.in: Handle multiple terminals, based on
32020 environment setup by update-grub.
32021
eface1dc 320222007-06-23 Robert Millan <rmh@aybabtu.com>
32023
ba50d28f 32024 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 32025
bf697e28 320262007-06-21 Robert Millan <rmh@aybabtu.com>
32027
32028 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
32029 indicate end of data section in kernel image.
32030 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
32031 GRUB_KERNEL_MACHINE_DATA_END.
32032
32033 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
32034 space for it.
32035 * kern/i386/efi/startup.S: Likewise.
32036
32037 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
32038 during image generation. Implement --prefix option to override this
32039 patch.
32040 * util/i386/efi/grub-mkimage.c: Likewise.
32041
32042 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
32043 code to make path relative to its root into a separate function.
32044
32045 * util/i386/pc/grub-install.in: Use newly provided
32046 make_system_path_relative_to_its_root() to convert ${grubdir}, then
32047 pass the result to grub-install --prefix.
32048
baa574b4 320492007-06-13 Robert Millan <rmh@aybabtu.com>
32050
32051 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
32052 DEFAULT_DEVICE_MAP.
32053 * util/grub-emu.c: Use above definitions from misc.h instead of
32054 defining them.
32055 * util/grub-mkdevicemap.c: Likewise.
32056 * util/i386/pc/grub-setup.c: Likewise.
32057 * util/grub-probe.c: Likewise.
32058 (probe): Abort with grub_util_error() when either
32059 grub_guess_root_device or grub_util_get_grub_dev fails.
32060
0215dcbf 320612007-06-12 Robert Millan <rmh@aybabtu.com>
32062
32063 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
32064 "pager" assignment.
32065 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
32066 "pcdata".
32067 * util/grub-probe.c (probe): Likewise for "drive_name".
32068
8af2ab7b 320692007-06-11 Robert Millan <rmh@aybabtu.com>
32070
32071 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
32072 not just the cdrom one.
32073
59d31694 320742007-06-11 Robert Millan <rmh@aybabtu.com>
32075
32076 * util/i386/pc/grub-mkrescue.in: Add "set -e".
32077 Add --pkglibdir=DIR option to override pkglibdir.
32078 Mention --image-type=TYPE in help output.
32079 Fix --grub-mkimage (it was a no-op).
fe6b695a 32080 Abort gracefully when no parameter is given.
59d31694 32081
7ee367e4 320822007-06-11 Robert Millan <rmh@aybabtu.com>
32083
32084 * util/i386/pc/grub-mkrescue.in: New file.
32085 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
32086 * Makefile.in: Handle bin_SCRIPTS.
32087
29b0ed46 320882007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
32089
32090 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
32091 list of video modes.
32092
c0f90770 320932007-06-06 Robert Millan <rmh@aybabtu.com>
32094
32095 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
32096 file doesn't exist, or if it is in a filesystem grub can't read.
32097
32098 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
32099 not abort if GRUB_DRIVE could not be defined. Rearrange generated
32100 header comment to fit in 80 columns when the variables are resolved.
32101
32102 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
32103 could be identified by update-grub. Remove redundant check for
fe6b695a 32104 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 32105 handles that).
32106
fb36dc26 321072007-06-04 Robert Millan <rmh@aybabtu.com>
32108
32109 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
32110
32111 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
32112
32113 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
32114
0c68c93e 321152007-06-04 Robert Millan <rmh@aybabtu.com>
32116
32117 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
32118
32119 * include/grub/partition.h: Declare grub_apple_partition_map_init and
32120 grub_apple_partition_map_fini.
32121
32122 * util/biosdisk.c
32123 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
32124 to access >2 TiB disks).
32125
32126 Print disk->total_sectors with %llu instead of %lu, since this
32127 variable is always 64-bit (prevents wrong disk size from being displayed
32128 on either >2 TiB disk or big-endian CPU).
32129
32130 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
32131 into a generic case that supports all (sane) partition maps.
32132
32133 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
32134 breaks big-endian.
32135
32136 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
32137 and grub_apple_partition_map_fini() after that.
32138
0f23eb74 321392007-06-01 Robert Millan <rmh@aybabtu.com>
32140
32141 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
32142
32143 * util/grub.d/00_header.in: Only enable gfxterm when
32144 convert_system_path_to_grub_path() succeeds.
32145
42c71976 321462007-05-20 Robert Millan <rmh@aybabtu.com>
32147
32148 * util/update-grub_lib.in: New file.
32149 * DISTLIST: Add update-grub_lib.in.
32150 * conf/common.rmk: Generate update-grub_lib and install it in
32151 $(lib_DATA).
32152 * Makefile.in: Add install routine for $(lib_DATA).
32153
32154 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
32155 function provided by update-grub_lib to support arbitrary paths of
32156 unifont.pff.
32157 * util/update-grub.in: Use convert_system_path_to_grub_path() to
32158 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
32159
5beb2291 321602007-05-19 Robert Millan <rmh@aybabtu.com>
32161
32162 * commands/i386/cpuid.c: New module.
32163 * DISTLIST: Add it.
32164 * conf/i386-efi.rmk: Enable cpuid.mod.
32165 * conf/i386-pc.rmk: Likewise.
32166
7262eca1 321672007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32168
32169 * kern/disk.c (grub_disk_read): Check return value of
32170 grub_realloc().
32171
260ba823 321722007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
32173
32174 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
32175 arrays.
32176 * disk/raid.c (grub_raid_open): Likewise.
32177
1ecb6cf2 321782007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32179
32180 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
32181 stack instead of on the heap.
32182
32183 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
32184 before doing a read on it.
32185
32186 * configure.ac: Only use -fno-stack-protector for the target
32187 environment.
f19dbdb7 32188
21c8cbb1 321892007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
32190
32191 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
32192 __attribute_ ((unused)) to mode_type argument.
32193
32194 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 32195
21c8cbb1 32196 * kern/misc.c (memcmp): Fix prototype.
32197
32198 * include/grub/partition.h [GRUB_UTIL]
32199 (grub_gpt_partition_map_init): Add prototype.
32200 (grub_gpt_partition_map_fini): Likewise.
32201
32202 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
32203 at the right place.
32204
32205 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
32206 (grub_fat_read_data): Likewise.
32207 (grub_fat_find_dir): Likewise.
32208
32209 * font/manager.c (find_glyph): Make table a const.
32210 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 32211
849d55d3 322122007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
32213
32214 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
32215 code, first search for device in /dev/mapper, then in /dev.
32216 (grub_util_get_grub_dev): New function.
32217 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
32218 prototype.
32219 * util/grub-probe.c (probe): Remove check for RAID, call
32220 grub_util_get_grub_dev() instead of
32221 grub_util_biosdisk_get_grub_dev().
32222 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
32223 grub_util_biosdisk_get_grub_dev().
32224 * util/i386/pc/grub-setup.c (main): Likewise.
32225
8fff7c2f 322262007-05-16 Robert Millan <rmh@aybabtu.com>
32227
32228 * DISTLIST: Update for the latest changes.
32229 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
32230 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
32231 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
32232 grub/util/biosdisk.h.
32233 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
32234 grub/util/biosdisk.h.
32235
48e12b52 322362007-05-16 Robert Millan <rmh@aybabtu.com>
32237
32238 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
32239
46b9d128 322402007-05-16 Robert Millan <rmh@aybabtu.com>
32241
32242 * util/i386/efi/grub-install.in: New.
32243 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
32244 newly added grub-install.
32245 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
32246 include.
32247 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
32248 grub/util/biosdisk.h.
32249 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
32250 grub/util/biosdisk.h.
32251
2d1a40a9 322522007-05-16 Robert Millan <rmh@aybabtu.com>
32253
32254 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
32255 * include/grub/util/biosdisk.h: ... here.
32256 * util/i386/pc/biosdisk.c: Moved to ...
32257 * util/biosdisk.c: ... here.
32258 * util/i386/pc/getroot.c: Moved to ...
32259 * util/getroot.c: ... here.
32260 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
32261 * util/grub-mkdevicemap.c: ... here.
32262 * util/i386/pc/grub-probe.c: Moved to ...
32263 * util/grub-probe.c: ... here.
32264
9e26e3bc 322652007-05-15 Robert Millan <rmh@aybabtu.com>
32266
32267 * util/update-grub.in: Remove duplicated line in grub.cfg header
32268 message.
32269
57f96397 322702007-05-13 Robert Millan <rmh@aybabtu.com>
32271
32272 * util/update-grub.in: Fix a few assumptions about the devices holding
32273 /, /boot and /boot/grub being the same.
32274 * util/grub.d/00_header.in: Likewise.
32275 * util/grub.d/10_hurd.in: Likewise.
32276 * util/grub.d/10_linux.in: Likewise.
32277
32278 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
32279 patterns. Use that to define the `.old' suffix as older than `'.
32280
32281 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
32282
32283 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
32284 the grub.cfg header message.
32285
2e610d62 322862007-05-11 Robert Millan <rmh@aybabtu.com>
32287
32288 * util/update-grub.in: Create device.map if it doesn't already exist,
32289 before attempting to run grub-probe.
32290 Check for grub-probe and grub-mkdevicemap with the same code
32291 grub-install is using.
32292 Remove test mode.
32293
3f6a10ef 322942007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
32295
32296 * Makefile.in: Add the datarootdir autoconf variable.
32297
02e7b75e 322982007-05-09 Robert Millan <rmh@aybabtu.com>
32299
32300 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 32301 fail gracefully if dev->disk->partition == NULL.
02e7b75e 32302
75f396cc 323032007-05-07 Robert Millan <rmh@aybabtu.com>
32304
32305 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
32306 determine partition map module.
32307 * util/i386/pc/grub-install.in: Use this feature to decide which
32308 partition module to load, instead of hardcoding pc and gpt.
32309
da65cb36 323102007-05-07 Robert Millan <rmh@aybabtu.com>
32311
32312 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
32313 source directory differs from build directory.
32314
b57d6a91 323152007-05-05 Robert Millan <rmh@aybabtu.com>
32316
32317 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
32318 initialisation.
32319
509d00f1 323202007-05-05 Robert Millan <rmh@aybabtu.com>
32321
32322 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
32323
c48f23ef 323242007-05-05 Robert Millan <rmh@aybabtu.com>
32325
32326 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
32327 command-line arguments via ${GRUB_CMDLINE_LINUX}.
32328
20b97658 323292007-05-05 Robert Millan <rmh@aybabtu.com>
32330
32331 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
32332 (grub_probe_SOURCES): Likewise.
32333 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
32334 GPT and initialize dos_part and bsd_part accordingly.
32335 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
32336 install_bsd_part.
32337 (main): Activate gpt module for use during partition identification,
32338 and deactivate it afterwards.
32339 * util/i386/pc/grub-install.in: Add gpt module to core.img.
32340 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
32341 partition identification, and deactivate it afterwards.
32342
99123174 323432007-05-05 Robert Millan <rmh@aybabtu.com>
32344
32345 * term/i386/pc/console.c (grub_console_fini): Call
32346 grub_term_set_current() before grub_term_unregister().
32347
ebd97f6e 323482007-05-04 Robert Millan <rmh@aybabtu.com>
32349
32350 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
32351 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
32352 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
32353 and update-grub_DATA.
32354 * conf/common.rmk: Build and install update-grub components.
32355 * conf/common.mk: Regenerate.
32356 * util/update-grub.in: New. Core of update-grub.
32357 * util/grub.d/00_header.in: New. Generates grub.cfg header.
32358 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
32359 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
32360 * util/grub.d/README: New. Document grub.d directory layout.
32361
b06a264d 323622007-05-01 Robert Millan <rmh@aybabtu.com>
32363
32364 * util/grub-emu.c: Move initialization functions
32365 grub_util_biosdisk_init() and grub_init_all() before
32366 grub_util_biosdisk_get_grub_dev(), which relies on them.
32367
41f0050e 323682007-04-19 Robert Millan <rmh@aybabtu.com>
32369
32370 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
32371 it is used later.
32372
04582bb3 323732007-04-18 Jerone Young <jerone@gmail.com>
32374
f19dbdb7 32375 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 32376 stanza.
32377
08db4632 323782007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 32379
08db4632 32380 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
32381 continue on and look for device node with real device name.
32382
801b76be 323832007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 32384
fe6b695a 32385 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 32386 ability.
32387 * Makefile.in: Add autoconf package transformation code.
32388 * util/i386/pc/grub-install.in: Likewise.
32389 * util/powerpc/ieee1275/grub-install.in: Likewise.
32390
6795c4e1 323912007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32392
32393 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
32394 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
32395 (EXT2_REVISION): Likewise.
32396 (EXT2_INODE_SIZE): Likewise.
32397 (struct grub_ext2_block_group): Added a missing member
32398 "used_dirs".
32399 (grub_ext2_read_inode): Divide by the inode size in a superblock
32400 instead of 128 to obtain INODES_PER_BLOCK.
32401 Use the macro EXT2_INODE_SIZE instead of directly using
32402 SBLOCK->INODE_SIZE.
32403
d70af616 324042007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32405
32406 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
32407 superblock instead of the structure size to compute an
32408 offset. This fixes the problem that GRUB could not read a
32409 filesystem when inode size is different from 128-byte.
32410
3b801603 324112007-03-05 Marco Gerards <marco@gnu.org>
32412
32413 * normal/main.c (read_config_file): When "menu" is not set, create
32414 an initial context.
32415
4785bfe4 324162007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32417
32418 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
32419 (HEAP_LIMIT): New macro.
32420 (grub_claim_heap): Claim memory up to `heaplimit'.
32421
a0cbb023 324222007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32423
32424 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
32425 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
32426 (_start): Likewise.
32427 (grub_arch_modules_addr): Return address after `_end'.
32428 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
32429 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
32430 (add_segments): Calculate `_end' from phdr size and location.
32431 (ALIGN_UP): Moved to ...
32432 * include/grub/misc.h: here.
32433 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32434 New macro.
32435 (GRUB_IEEE1275_MODULE_BASE): Removed.
32436
fd7d8eba 324372007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32438
32439 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
32440 loop boundary.
32441
9b09e6fc 324422007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32443
32444 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
32445 All users updated.
32446 (grub_elf64_load_hook_t): Likewise.
32447 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
32448 debug output.
32449
3ce27299 324502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32451
32452 * kern/mm.c: Update copyright.
32453 (grub_mm_debug): Correct syntax error.
32454 (grub_mm_dump_free): New function.
32455 (grub_debug_free): Call `grub_free'.
32456 * include/grub/mm.h: Update copyright.
32457 (grub_mm_dump_free): Add declaration.
32458
077d5fee 324592007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32460
32461 * include/grub/ieee1275/ieee1275.h: Update copyright.
32462 * kern/powerpc/ieee1275/init.c: Likewise.
32463 * kern/powerpc/ieee1275/openfw.c: Likewise.
32464
32465 * loader/powerpc/ieee1275/linux.c: Likewise.
32466 * include/grub/elfload.h: Likewise.
32467 * kern/elf.c: Likewise.
32468 (grub_elf32_load): Pass `base' and `size' parameters. Update all
32469 callers.
32470 (grub_elf64_load): Likewise.
32471 (grub_elf32_load_segment): Move to a nested function.
32472 (grub_elf64_load_segment): Likewise.
32473
dc946850 324742007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32475
32476 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
32477 prototype.
32478 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
32479 (grub_heap_len): Likewise.
32480 (HEAP_SIZE): New macro.
32481 (grub_claim_heap): New function.
32482 (grub_machine_init): Don't claim heap directly. Call
32483 `grub_claim_heap'.
32484 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
32485 (grub_available_iterate): New function.
32486
baa2a121 324872007-02-03 Thomas Schwinge <tschwinge@gnu.org>
32488
32489 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
32490 * configure.ac: Use it for testing the HOST and TARGET compilers.
32491
4fe9862e 324922006-12-13 Thomas Schwinge <tschwinge@gnu.org>
32493
32494 * Makefile.in (enable_grub_emu): New variable.
32495 * configure.ac (--enable-grub-emu): New option.
32496 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
32497 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
32498 * conf/i386-pc.rmk: Likewise.
32499 * conf/powerpc-ieee1275.rmk: Likewise.
32500 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32501
a8aa5762 325022006-12-12 Marco Gerards <marco@gnu.org>
32503
32504 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32505
32506 * kern/env.c (grub_env_unset): Don't free the member `value' when
32507 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32508 pointer.
32509
32510 * normal/main.c (current_menu): Removed.
32511 (free_menu): Unset the `menu' environment variable.
32512 (grub_normal_menu_addentry): Make use of the environment variable
32513 `menu', instead of using the global `current_menu'. Allocate
32514 memory for the sourcecode of this entry.
32515 (read_config_file): New argument `nested', changed all callers.
32516 Only in the case of a new context, initialize a new menu. Set the
32517 `menu' environment variable.
32518 (grub_normal_execute): Don't set and unset the environment
32519 variable `menu' here anymore. Only free the menu when leaving the
32520 context.
32521
32522 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32523 leak.
32524
957b3a3e 325252006-12-11 Marco Gerards <marco@gnu.org>
32526
32527 * normal/menu_entry.c (run): Fix off by one bug so the last line
32528 is executed. Move the loader check to outside the loop.
32529
ef875714 325302006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32531
32532 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32533
4e739985 325342006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32535
32536 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32537 the number of sectors. Reported by Andrey Shuvikov
32538 <mr_hyro@yahoo.com>.
f19dbdb7 32539
790707f2 325402006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32541
32542 * kern/disk.c (grub_disk_read): When there is a read error, always
32543 try to read only the necessary data.
f19dbdb7 32544
790707f2 32545 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32546 disk/raid.c.
32547 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32548 prototype.
32549 [GRUB_UTIL] (grub_raid_fini): Likewise.
32550 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 32551 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 32552 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32553 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32554 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32555 and grub_raid_fini().
f19dbdb7 32556
03e58196 325572006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32558
32559 * include/grub/types.h (__unused): Rename to UNUSED.
32560 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32561 (grub_elf64_size): Likewise.
f19dbdb7 32562
ae4f23bf 325632006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32564
32565 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32566 grub_error_push and grub_error_pop in the error-handling path.
32567 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32568 length.
32569
2166cc83 325702006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32571
32572 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32573 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32575 (kernel_elf_SOURCES): Likewise.
32576 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32577 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32578 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32579 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32580 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32581 (elf_mod_SOURCES): New variable.
32582 (elf_mod_CFLAGS): Likewise.
32583 (elf_mod_LDFLAGS): Likewise.
32584 * include/grub/types.h (__unused): New macro.
32585 * include/grub/elfload.h: New file.
32586 * kern/elf.c: Likewise.
32587 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32588 (ELF32_LOADMASK): New macro.
32589 (ELF64_LOADMASK): Likewise.
32590 (vmlinux): Removed.
32591 (grub_linux_load32): New function.
32592 (grub_linux_load64): Likewise.
32593 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32594 Use grub_elf_t instead of grub_file_t.
32595
a09d5aa5 325962006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32597
32598 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32599 `catch_result' to struct set_color_args.
32600
d976fc51 326012006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32602
32603 * normal/menu.c: Include grub/script.h.
32604 * normal/menu_entry.c: Likewise.
32605 * include/grub/normal.h: Do not include grub/script.h.
32606
67507549 326072006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32608
32609 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32610
69203a99 326112006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32612
32613 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32614 disk.
32615 (grub_disk_close): Print debug messages when closing a disk.
32616 (grub_disk_read): Print debug messages when disk read fails.
32617 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32618 filesystem type.
32619 * kern/partition.c: Include misc.h.
32620 (grub_partition_iterate): Print debug messages when detecting
32621 partition type.
32622
e2b8278c 326232006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32624
32625 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32626 is negative.
32627 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32628
97b2f2ff 326292006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32630
32631 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32632 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32633
6555d655 326342006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32635
32636 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32637 instead of sizeof(lv). Patch by Michael Guntsche.
32638
4d42b77f 326392006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32640
32641 * disk/lvm.c: Rename VGS to VG_LIST.
32642 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32643 (grub_lvm_open): Likewise.
32644 Thanks to Michael Guntsche for finding this bug.
32645
5d74d927 326462006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32647
32648 * configure.ac (AC_INIT): Bumped to 1.95.
32649
a1bb27e4 326502006-10-14 Robert Millan <rmh@aybabtu.com>
32651
32652 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32653 with "/dev/.static/dev/md".
32654
e0994b8b 326552006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32656
32657 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32658 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32659 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32660 DRIVE_NAME are always freed.
32661
32662 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32663 DOS_PART, as a DOS partition is counted from one instead of zero
32664 now. Reported by Robert Millan.
32665
ddd5cee9 326662006-10-14 Robert Millan <rmh@aybabtu.com>
32667
32668 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32669 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32670 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32671 string returned by grub_guess_root_device.
32672 * util/i386/pc/grub-setup.c: Likewise.
32673 * util/i386/pc/grub-probefs.c: Likewise.
32674
32675 * util/i386/pc/grub-probefs.c: Rename to ...
32676 * util/i386/pc/grub-probe.c: ... this.
32677 * DISTLIST: Remove grub-probefs, add grub-probe.
32678 * conf/i386-efi.rmk: Likewise.
32679 * conf/i386-pc.rmk: Likewise.
32680 * util/i386/pc/grub-install.in: Likewise.
32681
32682 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32683 choose which information we want to print.
32684
2b002173 326852006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32686
32687 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32688 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32689 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32690 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32691 video/readers/tga.c and video/i386/pc/vbeutil.c.
32692
326932006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32694
32695 Added support for RAID and LVM.
f19dbdb7 32696
2b002173 32697 * disk/lvm.c: New file.
32698 * disk/raid.c: Likewise.
32699 * include/grub/lvm.h: Likewise.
f19dbdb7 32700 * include/grub/raid.h: Likewise.
2b002173 32701 * include/grub/util/lvm.h: Likewise.
32702 * include/grub/util/raid.h: Likewise.
32703 * util/lvm.c: Likewise.
32704 * util/raid.c: Likewise.
32705
32706 * include/grub/disk.h (grub_disk_dev_id): Add
32707 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32708 (grub_disk_get_size): New prototype.
32709 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32710 returns a partition.
32711 (grub_disk_get_size): New function.
f19dbdb7 32712
2b002173 32713 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32714 verbatim if grub_install_dos_part is -2.
32715
32716 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32717 and LVM devices.
32718
32719 * util/i386/pc/grub-setup.c (setup): New argument
32720 MUST_EMBED. Force embedding of GRUB when the argument is
32721 true. Close FILE before returning.
32722 (main): Add support for RAID and LVM.
f19dbdb7 32723
2b002173 32724 * conf/common.rmk: Add RAID and LVM modules.
32725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32726 util/lvm.c.
32727 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32728
32729 * kern/misc.c (grub_strstr): New function.
32730 * include/grub/misc.h (grub_strstr): New prototype.
32731
050548d0 327322006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32733
32734 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32735
da849d2d 327362006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32737
32738 * kern/misc.c (grub_strtoull): Guess the base only if not
32739 specified.
32740
97b2f2ff 327412006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 32742
32743 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32744 PowerMac support.
32745
97b2f2ff 327462006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 32747
32748 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32749
32750 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32751 Remove `flags' argument. All callers changed.
32752 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32753 (IEEE1275_IHANDLE_INVALID): New variable.
32754 (IEEE1275_CELL_INVALID): New variable.
32755 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32756 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32757 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32758 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32759 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32760 codes from Open Firmware. All callers updated.
32761 (grub_ieee1275_next_property): Directly return Open Firmware return
32762 code.
32763 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32764 Standardize error checking from `grub_ieee1275_get_property'.
32765 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32766 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32767
97b2f2ff 327682006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 32769
32770 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32771 `instance_to_package_args' to `instance_to_path_args'.
32772
32773 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32774 `grub_ieee1275_chosen'.
32775
32776 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32777 `grub_ieee1275_interpret'.
32778
97b2f2ff 327792006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 32780
32781 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32782
97b2f2ff 327832006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 32784
32785 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32786 (__cmpdi): Likewise.
32787
32788 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32789 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32790 `grub_ssize_t'.
32791
02bb8acc 32792 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 32793
32794 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32795 to type `grub_ssize_t'.
32796 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32797
7f9a8531 327982006-09-22 Marco Gerards <marco@gnu.org>
32799
32800 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32801 newlines.
32802
b5ef1102 328032006-09-22 Marco Gerards <marco@gnu.org>
32804
32805 * commands/echo.c: New file.
32806
32807 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32808
32809 * conf/common.rmk (echo_mod_SOURCES): New variable.
32810 (echo_mod_CFLAGS): Likewise.
32811 (echo_mod_LDFLAGS): Likewise.
32812
2cff3677 328132006-09-22 Marco Gerards <marco@gnu.org>
32814
32815 * normal/main.c (get_line): Malloc memory instead of using
32816 preallocated memory. Removed the arguments `cmdline' and
32817 `max_len'. Updated all callers.
32818
6ba4688b 328192006-09-22 Marco Gerards <marco@gnu.org>
32820
32821 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32822 (normal_mod_DEPENDENCIES): Likewise.
32823
32824 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32825 (normal_mod_DEPENDENCIES): Likewise.
32826
32827 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32828
e02ac02c 328292006-09-22 Johan Rydberg <jrydberg@gnu.org>
32830
32831 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32832 programs.
32833 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32834 (normal_mod_DEPENDENCIES): Likewise.
32835 * conf/i386-pc.mk: Regenerate.
32836 * conf/i386-efi.mk: Likewise
32837 * conf/common.mk: Likewise.
32838 * conf/powerpc-ieee1275.mk: Likewise.
32839 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32840
8d252e44 328412006-09-22 Robert Millan <rmh@aybabtu.com>
32842
32843 Sync with i386 version.
32844 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32845 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32846
209bf7ac 328472006-09-21 Robert Millan <rmh@aybabtu.com>
32848
32849 Import from GRUB Legacy (lib/device.c):
32850 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32851 (init_device_map) [__linux__]: Add support for I2O devices.
32852
6b146090 328532006-09-14 Marco Gerards <marco@gnu.org>
32854
32855 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32856 `-melf_i386'.
32857
e38600a8 328582006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 32859
32860 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32861 /boot/grub/*.lst.
78fa1790 32862
2952da5d 32863 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 32864
2952da5d 32865 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32866 before adding it to device.map.
32867
01b82a64 328682006-08-15 Johan Rydberg <jrydberg@gnu.org>
32869
fe6b695a 32870 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 32871 compiles a file; using the -MD option.
32872 * conf/common.mk: Regenerate.
32873 * conf/i386-pc.mk: Likewise.
32874 * conf/i386-efi.mk: Likewise.
32875 * conf/powerpc-ieee1275.mk: Likewise.
32876 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 32877
1064790d 328782006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32879
32880 Move the prototypes of grub_setjmp and grub_longjmp to
32881 cpu/setjmp.h, so that each architecture may specify different
32882 attributes.
f19dbdb7 32883
1064790d 32884 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32885 (grub_longjmp): Likewise.
32886 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32887 (grub_longjmp): Likewise.
32888 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32889 (grub_longjmp): Likewise.
32890
32891 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32892 [!GRUB_UTIL] (grub_longjmp): Removed.
32893
29dda3ed 328942006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32895
32896 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32897 "color!" method does not return any value.
32898
ad2a06ed 328992006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32900
32901 * include/grub/bitmap.h: New file.
32902
32903 * include/grub/i386/pc/vbeutil.h: Likewise.
32904
32905 * video/bitmap.c: Likewise.
32906
32907 * video/readers/tga.c: Likewise.
32908
32909 * video/i386/pc/vbeutil.c: Likewise.
32910
32911 * commands/videotest.c: Code cleanup and updated to reflect to new
32912 video API.
32913
32914 * term/gfxterm.c: Likewise.
32915
32916 * video/video.c: Likewise.
32917
32918 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32919 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32920 (bitmap_mod_SOURCES): New entry.
32921 (bitmap_mod_CFLAGS): Likewise.
32922 (bitmap_mod_LDFLAGS): Likewise.
32923 (tga_mod_SOURCES): Likewise.
32924 (tga_mod_CFLAGS): Likewise.
32925 (tga_mod_LDFLAGS): Likewise.
32926
32927 * include/grub/video.h (grub_video_blit_operators): New enum type.
32928 (grub_video_render_target): Changed as forward declaration and moved
32929 actual definition to be video driver specific.
32930 (grub_video_adapter.blit_bitmap): Added blitting operator.
32931 (grub_video_adapter.blit_render_target): Likewise.
32932 (grub_video_blit_bitmap): Likewise.
32933 (grub_video_blit_render_target): Likewise.
32934
32935 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32936 driver specific render target definition.
32937 (grub_video_vbe_map_rgba): Added driver internal helper.
32938 (grub_video_vbe_unmap_color): Updated to use
32939 grub_video_i386_vbeblit_info.
32940 (grub_video_vbe_get_video_ptr): Likewise.
32941
32942 * include/grub/i386/pc/vbeblit.h
32943 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32944 grub_video_i386_vbeblit_info.
32945 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32946 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32947 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32948 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32949 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32950 (grub_video_i386_vbeblit_index_index): Likewise.
32951 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32952 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32953 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32954 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32955 operator.
32956 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32957 operator.
32958
32959 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32960 include/grub/i386/pc/vbeblit.h.
32961
32962 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32963 Updated to use grub_video_i386_vbeblit_info.
32964 (grub_video_i386_vbefill_R8G8B8): Likewise.
32965 (grub_video_i386_vbefill_index): Likewise.
32966 (grub_video_i386_vbefill): Added generic filler.
32967
32968 * video/i386/pc/vbefill.c: Updated to reflect changes on
32969 include/grub/i386/pc/vbefill.h.
32970
32971 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32972 grub_video_i386_vbeblit_info.
32973 (grub_video_vbe_unmap_color): Likewise.
32974 (grub_video_vbe_blit_glyph): Likewise.
32975 (grub_video_vbe_scroll): Likewise.
32976 (grub_video_vbe_draw_pixel): Removed function.
32977 (grub_video_vbe_get_pixel): Likewise.
32978 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32979 updated code to use it.
32980 (common_blitter): Added common blitter for render target and bitmap.
32981 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32982 (grub_video_vbe_blit_render_target): Likewise.
32983
bc8c036d 329842006-07-30 Johan Rydberg <jrydberg@gnu.org>
32985
32986 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32987 is in text mode if there is no console control protocol instance
32988 available.
32989
684a8eff 329902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32991
32992 * include/grub/video.h: Code cleanup.
32993
32994 * include/grub/i386/pc/vbe.h: Likewise.
32995
32996 * video/i386/pc/vbe.c: Likewise.
32997
32998 * video/i386/pc/vbeblit.c: Likewise.
32999
33000 * video/i386/pc/vbefill.c: Likewise.
33001
33002 * video/video.c: Likewise. Also added more comments.
33003
5915059b 330042006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33005
33006 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
33007 (struct grub_biosdisk_dap): Likewise.
33008
33009 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
33010 linkage settings for all functions.
33011
90ce5d56 330122006-07-12 Marco Gerards <marco@gnu.org>
33013
33014 * configure.ac (--enable-mm-debug): Fix typo.
33015
33016 * genkernsyms.sh.in: Use proper quoting for `CC'.
33017
43e7f879 330182006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
33019
33020 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
33021 (normal_mod_ASFLAGS): Remove "-m32".
33022
4889bdec 330232006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
33024
33025 * util/misc.c: Include config.h.
33026 [!HAVE_MEMALIGN]: Do not include malloc.h.
33027 (grub_memalign): Use posix_memalign, if present. Then, use
33028 memalign, if present. Otherwise, emit an error.
33029
33030 * util/grub-emu.c: Do not include malloc.h.
33031
33032 * include/grub/util/misc.h: Include unistd.h. This is required for
33033 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
33034 D. Eades III <hde@foobar-qux.org>.
33035
33036 * configure.ac (AC_GNU_SOURCE): Added.
33037 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
33038 type.
33039
fd39d4da 330402006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
33041
33042 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
33043 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
33044
b786f3b5 330452006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
33046
33047 * include/grub/types.h (grub_host_addr_t): Rename to
33048 grub_target_addr_t.
33049 (grub_host_off_t): Rename to grub_target_off_t.
33050 (grub_host_size_t): Rename to grub_target_size_t.
33051 (grub_host_ssize_t): Rename to grub_target_ssize_t.
33052 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
33053
33054 * include/grub/kernel.h (struct grub_module_header): Change type
33055 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
33056 (grub_module_info): Likewise.
f19dbdb7 33057
051988bb 330582006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
33059
33060 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
33061 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
33062 Velazquez <jesus.velazquez@gmail.com>.
33063
deae281b 330642006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
33065
33066 Count partitions from 1 instead of 0 in the string representation
33067 of partitions. Still use 0-based internally.
f19dbdb7 33068
deae281b 33069 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
33070 (sun_partition_map_iterate): Use grub_partition_t instead of
33071 struct grub_partition *. Cast DESC->START_CYLINDER to
33072 grub_uint64_t after converting the endian.
33073 (sun_partition_map_probe): Subtract 1 for PARTNUM.
33074 (sun_partition_map_get_name): Add 1 to P->INDEX.
33075
33076 * partmap/pc.c (grub_partition_parse): Subtract 1 for
33077 PCDATA->DOS_PART.
33078 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
33079
33080 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
33081 zero instead of one.
33082 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
33083 (gpt_partition_map_get_name): Add 1 into P->INDEX.
33084
33085 * partmap/apple.c (apple_partition_map_iterate): Change the type
33086 of POS to unsigned.
33087 (apple_partition_map_probe): Subtract 1 for PARTNUM.
33088 (apple_partition_map_get_name): Add 1 into P->INDEX.
33089
33090 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
33091 of POS to unsigned.
33092 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
33093 calculate the offset of a partition.
33094 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
33095 (amiga_partition_map_get_name): Add 1 into P->INDEX.
33096
33097 * partmap/acorn.c (acorn_partition_map_find): Change the type of
33098 SECTOR to grub_disk_addr_t.
33099 (acorn_partition_map_iterate): Likewise.
33100 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
33101 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
33102 top.
33103 (acorn_partition_map_get_name): Add 1 into P->INDEX.
33104
33105 * kern/i386/pc/init.c (make_install_device): Add 1 into
33106 GRUB_INSTALL_DOS_PART.
33107
33108 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
33109 conditional.
33110
524a1e6a 331112006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33112
33113 Clean up the code to support 64-bit addressing in disks and
33114 files. This change is not enough for filesystems yet.
f19dbdb7 33115
524a1e6a 33116 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
33117 type of "start" to grub_uint64_t.
33118 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
33119 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
33120 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
33121 convert addresses.
33122
33123 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
33124 to grub_disk_addr_t.
33125
33126 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
33127 string.
33128
33129 * partmap/pc.c (pc_partition_map_iterate): Likewise.
33130
33131 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
33132 to char *.
33133
33134 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
33135
33136 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
33137
33138 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
33139
33140 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
33141 to grub_off_t, to detect an error from grub_file_seek.
33142 (grub_multiboot_load_elf32): Likewise.
33143
33144 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
33145 maximum unsigned long value when an overflow is detected.
33146 (grub_strtoull): New function.
33147 (grub_divmod64): Likewise.
33148 (grub_lltoa): use grub_divmod64.
33149
33150 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
33151 grub_disk_addr_t.
33152 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
33153 the pointer to next character. Use grub_strtoull instead of
33154 grub_strtoul.
33155 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
33156 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
33157 respectively.
33158
fe6b695a 33159 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 33160 return value is signed.
33161 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
33162 test if OFFSET is less than zero, as OFFSET is unsigned now.
33163
33164 * kern/disk.c (struct grub_disk_cache): Change the type of
33165 "sector" to grub_disk_addr_t.
33166 (grub_disk_cache_get_index): Change the type of SECTOR to
33167 grub_disk_addr_t. Calculate the hash with SECTOR casted to
33168 unsigned after shifting.
33169 (grub_disk_cache_invalidate): Change the type of SECTOR to
33170 grub_disk_addr_t.
33171 (grub_disk_cache_unlock): Likewise.
33172 (grub_disk_cache_store): Likewise.
33173 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
33174 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
33175 grub_disk_addr_t and grub_uint64_t, respectively.
33176 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
33177 body, as the value of OFFSET is tweaked by
33178 grub_disk_check_range. Change the types of START_SECTOR, LEN and
33179 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
33180 respectively.
33181 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
33182 body, as the value of OFFSET is tweaked by
33183 grub_disk_check_range. Change the types of LEN and N to
33184 grub_size_t.
33185
33186 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
33187 and "saved_offset" to grub_off_t.
33188 (test_header): Cast BUF to char *.
33189 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
33190 to char *.
33191 (grub_gzio_read): Change the types of OFFSET and SIZE to
33192 grub_off_t and grub_size_t, respectively.
33193
33194 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
33195 Removed.
33196 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
33197 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
33198 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
33199 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
33200 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
33201
33202 * include/grub/types.h (grub_off_t): Unconditionally set to
33203 grub_uint64_t.
33204 (grub_disk_addr_t): Changed to grub_uint64_t.
33205
33206 * include/grub/partition.h (struct grub_partition): Change the
33207 types of "start", "len" and "offset" to grub_disk_addr_t,
33208 grub_uint64_t and grub_disk_addr_t, respectively.
33209 (grub_partition_get_start): Return grub_disk_addr_t.
33210 (grub_partition_get_len): Return grub_uint64_t.
33211
33212 * include/grub/misc.h (grub_strtoull): New prototype.
33213 (grub_divmod64): Likewise.
33214
33215 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
33216 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
33217 grub_off_t, respectively.
33218 All callers and references changed.
33219
33220 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
33221 grub_size_t in "read".
33222 All callers and references changed.
33223
33224 * include/grub/file.h (struct grub_file): Change the types of
33225 "offset" and "size" to grub_off_t and grub_off_t,
33226 respectively. Change the type of SECTOR to grub_disk_addr_t in
33227 "read_hook".
33228 (grub_file_read): Change the type of LEN to grub_size_t.
33229 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
33230 grub_off_t.
33231 (grub_file_size): Return grub_off_t.
33232 (grub_file_tell): Likewise.
33233 All callers and references changed.
33234
33235 * include/grub/disk.h (struct grub_disk_dev): Change the types of
33236 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
33237 "write".
33238 (struct grub_disk): Change the type of "total_sectors" to
33239 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 33240 "read_hook".
524a1e6a 33241 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
33242 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
33243 (grub_disk_write): Likewise.
33244 All callers and references changed.
33245
33246 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
33247 char * for grub_strncmp to silence gcc.
33248 (grub_iso9660_mount): Likewise.
33249 (grub_iso9660_mount): Likewise.
33250 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
33251 return statement.
33252 (grub_iso9660_iterate_dir): Likewise.
33253 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
33254
33255 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
33256 LEN to grub_disk_addr_t and grub_size_t, respectively.
33257
33258 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33259
33260 * fs/jfs.c (grub_jfs_read_file): Likewise.
33261
33262 * fs/minix.c (grub_jfs_read_file): Likewise.
33263
33264 * fs/sfs.c (grub_jfs_read_file): Likewise.
33265
33266 * fs/ufs.c (grub_jfs_read_file): Likewise.
33267
33268 * fs/xfs.c (grub_jfs_read_file): Likewise.
33269
33270 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
33271 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
33272 respectively.
33273
33274 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
33275 BLKNR to -1 instead of returning GRUB_ERRNO.
33276 (grub_ext2_read_file): Change the types of SECTOR and
33277 LEN to grub_disk_addr_t and grub_size_t, respectively.
33278
33279 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
33280 LEN to grub_disk_addr_t and grub_size_t, respectively.
33281
33282 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
33283 grub_file_read.
33284
33285 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
33286 string. Do not cast SECTOR explicitly.
33287
33288 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
33289 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
33290 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
33291 grub_disk_addr_t and grub_size_t, respectively. If the sector is
33292 over 2TB and LBA mode is not supported, raise an error.
33293 (get_safe_sectors): New function.
33294 (grub_biosdisk_read): Use get_safe_sectors.
33295 (grub_biosdisk_write): Likewise.
33296
33297 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
33298 (grub_efidisk_write): Likewise.
33299
33300 * disk/loopback.c (delete_loopback): Cosmetic changes.
33301 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
33302 correctly.
33303 (grub_loopback_open): Likewise.
33304 (grub_loopback_read): Likewise. Also, change the type of POS to
33305 grub_off_t, and fix the usage of grub_memset.
33306
33307 * commands/i386/pc/play.c: Include grub/machine/time.h.
33308
33309 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
33310 print FILE->SIZE.
33311
33312 * commands/configfile.c: Include grub/env.h.
33313
33314 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
33315 GRUB_ERRNO directly instead. Change the type of POS to
33316 grub_off_t. Follow the coding standard.
33317
33318 * commands/blocklist.c: Include grub/partition.h.
33319 (grub_cmd_blocklist): Return an error if the underlying device is
33320 not a disk. Take the starting sector of a partition into account,
33321 if a partition is used.
33322
33323 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
33324 a length field.
33325 (lba_mode): Support 64-bit addresses.
33326 (chs_mode): Likewise.
33327 (copy_buffer): Adapted to the new offsets of a length field and a
33328 segment field.
33329 (blocklist_default_start): Allocate 64-bit space.
33330
33331 * boot/i386/pc/boot.S (force_lba): Removed.
33332 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 33333 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 33334 space.
33335 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
33336 is useless.
33337 (lba_mode): Refactored to support a 64-bit address. More size
33338 optimization.
33339 (setup_sectors): Likewise.
33340
53af98ad 333412006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33342
33343 * DISTLIST: Added include/grub/i386/linux.h. Removed
33344 include/grub/i386/pc/linux.h
33345
33346 * configure.ac (AC_INIT): Bumped to 1.94.
33347
33348 * config.guess: Updated from gnulib.
33349 * config.sub: Likewise.
33350 * install-sh: Likewise.
33351 * mkinstalldirs: Likewise.
33352
b4c1940a 333532006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33354
33355 * conf/common.rmk (grub_modules_init.lst): Depended on
33356 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
33357 MODSRCFILES.
33358
33359 * genmk.rb (PModule::rule): Reverted the previous change.
33360
cfca1cfd 333612006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33362
33363 * conf/common.rmk (grub_modules_init.lst): Depends on
33364 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
33365 that the target does not exist before producing.
33366 (grub_modules_init.h): Remove the target before generating.
33367 (grub_emu_init.c): Likewise.
33368
33369 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
33370
aa6d7826 333712006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
33372
33373 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
33374 for the target-specific tests. Make sure that we also have the
33375 up-to-date target variables for those tests.
33376
26c607b9 333772006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33378
33379 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
33380 (PModule::rule): Likewise.
33381
0162321a 333822006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33383
33384 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
33385 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
33386 target-specific flags should be prefixed.
33387 (PModule::rule): Likewise.
33388
6c826348 333892006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
33390
33391 * configure.ac (CMP): Check if cmp is available explicitly.
33392
b977bf01 333932006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
33394
33395 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
33396 (target_cpu): New variable.
33397 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 33398
b977bf01 33399 * util/i386/pc/grub-install.in (host_cpu): Removed.
33400 (target_cpu): New variable.
33401 (pkglibdir): Use target_cpu instead of host_cpu.
33402
33403 * util/genmoddep.c: Removed.
f19dbdb7 33404
b977bf01 33405 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
33406 instead of GRUB_HOST_SIZEOF_VOID_P.
33407 * kern/dl.c: Likewise.
33408
33409 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
33410 ...
33411 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33412 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33413 (GRUB_TARGET_SIZEOF_LONG): ... this.
33414 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33415 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33416 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33417 to ...
33418 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33419 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33420 (GRUB_TARGET_SIZEOF_LONG): ... this.
33421 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33422 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33423 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33424 to ...
33425 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33426 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33427 (GRUB_TARGET_SIZEOF_LONG): ... this.
33428 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33429 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33430
33431 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
33432 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
33433 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
33434 instead of GRUB_HOST_SIZEOF_LONG.
33435 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
33436 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
33437 GRUB_CPU_WORDS_BIGENDIAN.
33438 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
33439 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
33440 grub_host_ssize_t.
33441
33442 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
33443 (genmoddep_SOURCES): Likewise.
33444 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
33445 (genmoddep_SOURCES): Likewise.
33446 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
33447 (genmoddep_SOURCES): Likewise.
33448 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
33449 Likewise.
33450 (genmoddep_SOURCES): Likewise.
33451
33452 * genmoddep.awk: New file.
33453
33454 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
33455 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
33456 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
33457 (PModule::rule): Likewise.
33458 (Program::rule): Likewise.
33459 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
33460 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
33461 respectively.
33462
33463 * configure.ac: Rewritten intensively to use host and target
33464 instead of build and host, respectively.
33465
33466 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
33467 (host_cpu): Removed.
33468 (target_cpu): New variable.
33469 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
33470 (BUILD_CC): Removed.
33471 (BUILD_CFLAGS): Likewise.
33472 (BUILD_CPPFLAGS): Likewise.
33473 (TARGET_CC): New variable.
33474 (TARGET_CFLAGS): Likewise.
33475 (TARGET_CPPFLAGS): Likewise.
33476 (TARGET_LDFLAGS): Likewise.
33477 (AWK): Likewise.
33478 (include): Use target_cpu instead of host_cpu.
33479 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 33480
b977bf01 33481 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
33482
f09771a1 334832006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
33484
33485 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
33486 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
33487 field 'false' to 'exec_on_false'.
33488 (grub_script_create_cmdif): Renamed argument names to reflect above
33489 changes.
33490
33491 * normal/execute.c (grub_script_execute_cmdif): Likewise.
33492
33493 * normal/script.c (grub_script_create_cmdif): Likewise.
33494
118f4fb3 334952006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
33496
33497 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
33498 top.
33499 (grub_hfsplus_btree_recptr): Likewise.
33500 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33501 FILEBLOCK both to pass a block number and store next block
33502 number.
33503 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33504 overflow file correctly. Specify errors appropriately, because
33505 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33506 grub_hfsplus_btree_recptr to get the pointer to a found key.
33507 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33508 is found.
33509
33510 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33511 linux.mod.
33512 (_linux_mod_SOURCES): New variable.
33513 (_linux_mod_CFLAGS): Likewise.
33514 (_linux_mod_LDFLAGS): Likewise.
33515 (linux_mod_SOURCES): Likewise.
33516 (linux_mod_CFLAGS): Likewise.
33517 (linux_mod_LDFLAGS): Likewise.
33518
33519 * DISTLIST: Added loader/i386/efi/linux.c,
33520 loader/i386/efi/linux_normal.c and
33521 include/grub/i386/efi/loader.h.
33522
33523 * loader/i386/efi/linux.c: New file.
33524 * loader/i386/efi/linux_normal.c: Likewise.
33525 * include/grub/i386/efi/loader.h: Likewise.
33526
89a7d726 335272006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33528
33529 * commands/blocklist.c: New file.
33530
33531 * DISTLIST: Added commands/blocklist.c.
33532
33533 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 33534 color for the background, and a darker color for the foreground.
89a7d726 33535 (grub_console_checkkey): Return READ_KEY.
33536 (grub_console_cls): Set the background to
33537 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33538
33539 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33540
33541 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33542 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33543
33544 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33545 prototype.
33546
33547 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33548 BG. The spec is wrong again.
33549
33550 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33551 prototype.
33552 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33553
33554 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33555 commands/blocklist.c.
33556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 33557
89a7d726 33558 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33559 (blocklist_mod_SOURCES): New variable.
33560 (blocklist_mod_CFLAGS): Likewise.
33561 (blocklist_mod_LDFLAGS): Likewise.
33562
75c8f258 335632006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33564
33565 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33566 duplication.
33567 (lba_mode): Use %eax more intensively to reduce the code size.
33568
da2eb181 335692006-05-20 Marco Gerards <marco@gnu.org>
33570
33571 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33572
33573 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33574 for `menuentry'.
33575 (script): Accept leading newlines.
33576 (newlines): New rule to describe 0 or more newlines.
33577 (commands): Accept `command' with trailing newline. Fixed the
33578 order in which arguments were passed to `grub_script_add_cmd'.
33579 Accept commands separated by newlines.
33580 (function): Changed to accept newlines.
33581 (menuentry) Rewritten.
33582
33583 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33584 front of the list, instead of to the end.
33585
577b4050 335862006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33587
33588 * util/i386/pc/grub-install.in (bindir): New variable.
33589 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33590 Shaver <lbgwjl@gmail.com>.
33591
0d6e1189 335922006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33593
33594 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33595 grub/machine/linux.h
33596 * loader/i386/pc/linux.c: Likewise.
33597
33598 * include/grub/i386/pc/linux.h: Moved to ...
33599 * include/grub/i386/linux.h: ... here.
33600
33601 * include/grub/i386/linux.h (struct linux_kernel_params): New
33602 struct.
f19dbdb7 33603
31b86e9f 336042006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33605
33606 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33607 checking.
33608 (grub_video_vbe_blit_glyph): Likewise.
33609 (grub_video_vbe_blit_bitmap): Likewise.
33610 (grub_video_vbe_blit_render_target): Likewise.
33611
83b984de 336122006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33613
33614 * configure.ac (--with-platform): Properly quote the square
33615 brackets.
33616
5f0413bd 336172006-05-08 Marco Gerards <marco@gnu.org>
33618
33619 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33620 this...
33621 (kernel_elf_HEADERS): ...to this. Updated all users.
33622 (grubof_symlist.c): Renamed from this...
33623 (kernel_elf_symlist.c): ...to this. Updated all users.
33624 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33625 (grubof_SOURCES): Renamed from this...
33626 (kernel_elf_SOURCES): ...to this.
33627 (grubof_HEADERS): Renamed from this...
33628 (kernel_elf_HEADERS): ...to this.
33629 (grubof_CFLAGS): Renamed from this...
33630 (kernel_elf_CFLAGS): ...to this.
33631 (grubof_ASFLAGS): Renamed from this...
33632 (kernel_elf_ASFLAGS): ...to this.
33633 (grubof_LDFLAGS): Renamed from this...
33634 (kernel_elf_LDFLAGS): ...to this.
33635
33636 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33637 this...
33638 (kernel_elf_HEADERS): ...to this. Updated all users.
33639 (grubof_symlist.c): Renamed from this...
33640 (kernel_elf_symlist.c): ...to this. Updated all users.
33641 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33642 (grubof_SOURCES): Renamed from this...
33643 (kernel_elf_SOURCES): ...to this.
33644 (grubof_HEADERS): Renamed from this...
33645 (kernel_elf_HEADERS): ...to this.
33646 (grubof_CFLAGS): Renamed from this...
33647 (kernel_elf_CFLAGS): ...to this.
33648 (grubof_ASFLAGS): Renamed from this...
33649 (kernel_elf_ASFLAGS): ...to this.
33650 (grubof_LDFLAGS): Renamed from this...
33651 (kernel_elf_LDFLAGS): ...to this.
33652
33653 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33654 `kernel.elf' instead of `grubof'.
33655
05568c2e 336562006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33657
33658 Add --with-platform to configure. Use pkglibdir instead of
33659 pkgdatadir. This is reported by Roger Leigh.
33660
33661 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33662 (host_vendor): Likewise.
33663 (host_os): Likewise.
33664 (pkgdatadir): Likewise.
33665 (platform): New variable.
33666 (pkglibdir): Likewise.
33667 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 33668
05568c2e 33669 * util/i386/pc/grub-install.in (datadir): Removed.
33670 (host_vendor): Likewise.
33671 (host_os): Likewise.
33672 (pkgdatadir): Likewise.
33673 (platform): New variable.
33674 (pkglibdir): Likewise.
33675 Use PKGLIBDIR instead of PKGDATADIR.
33676
33677 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33678 instead of GRUB_DATADIR.
33679 (main): Likewise.
33680 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33681 (main): Likewise.
33682 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33683 (main): Likewise.
33684
33685 * configure.ac (--with-platform): New option.
33686 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33687
33688 * Makefile.in: Include a makefile based on PLATFORM instead of
33689 HOST_VENDOR.
33690 (pkgdatadir): Not appended by the machine type.
33691 (pkglibdir): Appended by the machine type.
33692 (host_vendor): Removed.
33693 (platform): New variable.
33694 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33695 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33696 (uninstall): Likewise.
33697
4e93851c 336982006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33699
33700 Use the environment context in the menu. Remove the commands
33701 "default" and "timeout", and use variables instead.
f19dbdb7 33702
4e93851c 33703 * normal/menu.c: Include grub/env.h.
33704 (print_entry): Cast TITLE to silence gcc.
33705 (get_timeout): New function.
33706 (set_timeout): Likewise.
33707 (get_entry_number): Likewise.
33708 (run_menu): Use a default entry, a fallback entry and a timeout
33709 in the environment variables "default", "fallback" and
33710 "timeout". Also, tweak the default entry if it is not within the
33711 current menu entries.
33712 (grub_menu_run): Use a fallback entry in the environment variable
33713 "fallback".
33714
33715 * normal/main.c (read_config_file): Do not initialize
33716 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33717 NEWMENU->TIMEOUT.
33718 (grub_normal_execute): Use a data slot to store the menu.
33719
33720 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33721 fallback_entry and timeout.
33722 (struct grub_menu_list): Removed.
33723 (grub_menu_list_t): Likewise.
33724 (struct grub_context): Likewise.
33725 (grub_context_t): Likewise.
33726 (grub_context_get): Likewise.
33727 (grub_context_get_current_menu): Likewise.
33728 (grub_context_push_menu): Likewise.
33729 (grub_context_pop_menu): Likewise.
33730 (grub_default_init): Likewise.
33731 (grub_default_fini): Likewise.
33732 (grub_timeout_init): Likewise.
33733 (grub_timeout_fini): Likewise.
33734
33735 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33736 and timeout.mod.
33737 (normal_mod_SOURCES): Removed normal/context.c.
33738
33739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33740 commands/default.c, commands/timeout.c and normal/context.c.
33741 (normal_mod_SOURCES): Removed normal/context.c.
33742
33743 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33744 commands/timeout.c and normal/context.c.
33745 (normal_mod_SOURCES): Removed normal/context.c.
33746
33747 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33748 commands/default.c, commands/timeout.c and normal/context.c.
33749 (normal_mod_SOURCES): Removed normal/context.c.
33750
33751 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33752 timeout.mod.
33753 (default_mod_SOURCES): Removed.
33754 (default_mod_CFLAGS): Likewise.
33755 (default_mod_LDFLAGS): Likewise.
33756 (timeout_mod_SOURCES): Removed.
33757 (timeout_mod_CFLAGS): Likewise.
33758 (timeout_mod_LDFLAGS): Likewise.
33759
33760 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33761 normal/context.c.
33762
33763 * commands/default.c: Removed.
33764 * commands/timeout.c: Likewise.
33765 * normal/context.c: Likewise.
33766
1eb9cc1d 337672006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33768
33769 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33770
385bd9c1 337712006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33772
33773 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33774 "next" to "prev" for readability.
33775 (struct grub_env_sorted_var): New struct.
33776 (grub_env_context): Renamed to ...
33777 (initial_context): ... this.
33778 (grub_env_var_context): Renamed to ...
33779 (current_context): ... this.
33780 (grub_env_find): Look only at CURRENT_CONTEXT.
33781 (grub_env_context_open): Rewritten to copy exported variables from
33782 previous context.
33783 (grub_env_context_close): Rewritten according to the new
33784 scheme. Also, add an assertion to prevent the initial context from
33785 removed.
33786 (grub_env_insert): Removed the code for the sorted list.
33787 (grub_env_remove): Likewise.
33788 (grub_env_export): Simply mark the variable with
33789 GRUB_ENV_VAR_GLOBAL.
33790 (grub_env_set): A cosmetic change for naming consistency.
33791 (grub_env_get): Likewise.
33792 (grub_env_unset): Likewise.
33793 (grub_env_iterate): Rewritten to sort variables within this
33794 function.
33795 (grub_register_variable_hook): Fixed for naming consistency. Call
33796 grub_env_find again, only if NAME is not found at the first time.
33797 (mangle_data_slot_name): New function.
33798 (grub_env_set_data_slot): Likewise.
33799 (grub_env_get_data_slot): Likewise.
33800 (grub_env_unset_data_slot): Likewise.
33801
33802 * include/grub/env.h (grub_env_var_type): New enum.
33803 (GRUB_ENV_VAR_LOCAL): New constant.
33804 (GRUB_ENV_VAR_GLOBAL): Likewise.
33805 (GRUB_ENV_VAR_DATA): Likewise.
33806 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33807 "type".
33808 (grub_env_set): Replace VAR with NAME for consistency.
33809 (grub_register_variable_hook): Likewise.
33810 (grub_env_export): Specify the name of the argument.
33811 (grub_env_set_data_slot): New prototype.
33812 (grub_env_get_data_slot): Likewise.
33813 (grub_env_unset_data_slot): Likewise.
33814
7f362539 338152006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33816
33817 Extend the loader so that GRUB can accept a loader which comes
33818 back to GRUB when a loaded image exits. Also, this change adds
33819 support for a chainloader on EFI.
f19dbdb7 33820
7f362539 33821 * term/efi/console.c: Include grub/misc.h.
33822 (grub_console_checkkey): Display a scan code on the top for
33823 debugging. This will be removed once the EFI port gets stable.
33824 Correct the scan code mapping.
33825
33826 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33827 allocate memory from larger regions, in order to reduce the number
33828 of allocated regions. Otherwise, the MacOSX loader panics.
33829 (filter_memory_map): Avoid less than 1MB for compatibility with
33830 other loaders.
33831 (add_memory_regions): Allocate from the tail of a region, if
33832 possible, to avoid allocating a region near to 1MB, for the MacOSX
33833 loader.
33834
33835 * kern/efi/init.c (grub_efi_set_prefix): Specify
33836 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33837
33838 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33839 argument IMAGE_HANDLE and specify it to get a loaded image.
33840 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33841 grub_efi_get_loaded_image.
fe6b695a 33842 (grub_efi_get_filename): Divide the length by the size of
7f362539 33843 grub_efi_char16_t.
33844 (grub_efi_get_device_path): New function.
33845 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33846 the length by the size of grub_efi_char16_t for a file path device
33847 path node.
33848
33849 * kern/loader.c (grub_loader_noreturn): New variable.
33850 (grub_loader_set): Accept a new argument NORETURN. Set
33851 GRUB_LOADER_NORETURN to NORETURN.
33852 All callers changed.
33853 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33854 grub_machine_fini.
33855
33856 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33857 prototype.
33858 (grub_efi_get_loaded_image): Take an argument to specify an image
33859 handle.
33860
33861 * include/grub/loader.h (grub_loader_set): Added one more argument
33862 NORETURN.
33863
33864 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33865 instead of grub_efi_open_protocol.
33866 (grub_efidisk_get_device_name): Likewise.
33867 (grub_efidisk_close): Print a newline.
33868 (grub_efidisk_get_device_handle): Fixed to use
33869 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33870 GRUB_EFI_DEVICE_PATH_TYPE.
33871
33872 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33873 * kern/efi/efi.c (device_path_guid): ... here.
33874
33875 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33876 chain.mod.
33877 (kernel_mod_HEADERS): Added efi/disk.h.
33878 (_chain_mod_SOURCES): New variable.
33879 (_chain_mod_CFLAGS): Likewise.
33880 (_chain_mod_LDFLAGS): Likewise.
33881 (chain_mod_SOURCES): Likewise.
33882 (chain_mod_CFLAGS): Likewise.
33883 (chain_mod_LDFLAGS): Likewise.
33884
33885 * DISTLIST: Added include/grub/efi/chainloader.h,
33886 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33887
33888 * include/grub/efi/chainloader.h: New file.
33889 * loader/efi/chainloader.c: Likewise.
33890 * loader/efi/chainloader_normal.c: Likewise.
33891
c0111d6e 338922006-04-30 Marco Gerards <marco@gnu.org>
33893
33894 * commands/configfile.c (grub_cmd_source): New function.
33895 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33896 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33897
df5341da 338982006-04-30 Marco Gerards <marco@gnu.org>
33899
33900 * normal/execute.c (grub_script_execute_cmd): Change the return
33901 type to `grub_err_t'. Correctly return the error.
33902 (grub_script_execute_cmdline): In case a command line is not a
33903 command or a function, try to interpret it as an assignment.
33904
f85934bd 339052006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33906
33907 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33908 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33909 skip a node whose name is obviously invalid as UTF-16,
33910 i.e. contains a NUL character. Stop the iteration when the last
33911 directory entry is found. Instead of using the return value of
33912 grub_hfsplus_btree_iterate_node, store the value in RET and use
33913 it, because the iterator can be stopped by the last directory
33914 entry.
33915
8f8a2cf8 339162006-04-30 Marco Gerards <marco@gnu.org>
33917
33918 * include/grub/env.h (grub_env_export): New prototype. Reported
33919 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33920
a27e84ce 339212006-04-30 Marco Gerards <marco@gnu.org>
33922
33923 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33924 size of the extents in a catalog file record.
33925
eaef0553 339262006-04-29 Marco Gerards <marco@gnu.org>
33927
33928 * commands/configfile.c (grub_cmd_configfile): Execute the
33929 configfile within its own context.
33930
33931 * include/grub/env.h (grub_env_context_open): New prototype.
33932 (grub_env_context_close): Likewise.
33933
33934 * kern/env.c (grub_env): Removed.
33935 (grub_env_sorted): Likewise.
33936 (grub_env_context): New variable.
33937 (grub_env_var_context): Likewise.
33938 (grub_env_find): Search both the active context and the global
33939 context.
33940 (grub_env_context_open): New function.
33941 (grub_env_context_close): Likewise.
33942 (grub_env_insert): Likewise.
33943 (grub_env_remove): Likewise.
33944 (grub_env_export): Likewise.
33945 (grub_env_set): Changed to use helper functions to avoid code
33946 duplication.
33947 (grub_env_iterate): Rewritten so both the current context and the
33948 global context are being used.
33949
33950 * normal/command.c (export_command): New function.
33951 (grub_command_init): Register the `export' function.
33952
7b455f4d 339532006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33954
33955 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33956 explicitly to suppress gcc's warnings.
33957 * fs/fat.c (grub_fat_find_dir): Likewise.
33958 (grub_fat_label): Likewise.
33959 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33960 (grub_xfs_mount): Likewise.
33961 (grub_xfs_label): Likewise.
33962 * fs/affs.c (grub_affs_mount): Likewise.
33963 (grub_affs_label): Likewise.
33964 (grub_affs_iterate_dir): Likewise.
33965 * fs/sfs.c (grub_sfs_mount): Likewise.
33966 (grub_sfs_iterate_dir): Likewise.
33967 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33968 * fs/hfs.c (grub_hfs_mount): Likewise.
33969 (grub_hfs_cmp_catkeys): Likewise.
33970 (grub_hfs_find_dir): Likewise.
33971 (grub_hfs_dir): Likewise.
33972 (grub_hfs_label): Likewise.
33973 * fs/jfs.c (grub_jfs_mount): Likewise.
33974 (grub_jfs_opendir): Likewise.
33975 (grub_jfs_getent): Likewise.
33976 (grub_jfs_lookup_symlink): Likewise.
33977 (grub_jfs_label): Likewise.
33978 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33979 (grub_hfsplus_iterate_dir): Likewise.
33980 (grub_hfsplus_btree_iterate_node): Made static.
33981
33982 * util/grub-emu.c (prefix): New variable.
33983 (grub_machine_set_prefix): New function.
33984 (main): Do not set the environment variable "prefix" here. Only
33985 set PREFIX, which is used later by grub_machine_set_prefix.
33986
33987 * include/grub/video.h: Do not include grub/symbol.h.
33988 (grub_video_register): Not exported. This symbol is not defined in
33989 the kernel.
33990 (grub_video_unregister): Likewise.
33991 (grub_video_iterate): Likewise.
33992 (grub_video_setup): Likewise.
33993 (grub_video_restore): Likewise.
33994 (grub_video_get_info): Likewise.
33995 (grub_video_get_blit_format): Likewise.
33996 (grub_video_set_palette): Likewise.
33997 (grub_video_get_palette): Likewise.
33998 (grub_video_set_viewport): Likewise.
33999 (grub_video_get_viewport): Likewise.
34000 (grub_video_map_color): Likewise.
34001 (grub_video_map_rgb): Likewise.
34002 (grub_video_map_rgba): Likewise.
34003 (grub_video_fill_rect): Likewise.
34004 (grub_video_blit_glyph): Likewise.
34005 (grub_video_blit_bitmap): Likewise.
34006 (grub_video_blit_render_target): Likewise.
34007 (grub_video_scroll): Likewise.
34008 (grub_video_swap_buffers): Likewise.
34009 (grub_video_create_render_target): Likewise.
34010 (grub_video_delete_render_target): Likewise.
34011 (grub_video_set_active_render_target): Likewise.
34012
34013 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
34014 Undefined.
34015 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
34016
34017 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
34018 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34019 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34020 instead of $(srcdir)/genkernsyms.sh.
34021
34022 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
34023 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34024 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34025 instead of $(srcdir)/genkernsyms.sh.
34026
34027 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
34028 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34029 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34030 instead of $(srcdir)/genkernsyms.sh.
34031
34032 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
34033 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
34034 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
34035 instead of $(srcdir)/genkernsyms.sh.
34036
34037 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
34038 genkernsyms.sh.
34039
34040 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
34041 genkernsyms.sh.
34042 (gensymlist.sh): New target.
34043 (genkernsyms.sh): Likewise.
34044
34045 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
34046 genkernsyms.sh.in and gensymlist.sh.in.
34047
34048 * genkernsyms.sh: Removed.
34049 * gensymlist.sh: Likewise.
f19dbdb7 34050
7b455f4d 34051 * genkernsyms.sh.in: New file.
34052 * gensymlist.sh.in: Likewise.
34053
1885bb27 340542006-04-25 Hollis Blanchard <hollis@penguinppc.org>
34055
34056 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
34057 clobber "prefix", since we may have already set it manually.
34058
71538dff 340592006-04-25 Hollis Blanchard <hollis@penguinppc.org>
34060
34061 * kern/misc.c (abort): New alias for grub_abort.
34062
2965c7cc 340632006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
34064
34065 A new machine-specific function "grub_machine_set_prefix" is
34066 defined. This is called after loading modules, so that a prefix
34067 initialization can use modules. Also, this change adds an
34068 intensive debugging feature for the memory manager via the
34069 configure option "--enable-mm-debug".
f19dbdb7 34070
2965c7cc 34071 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
34072 PART.LEN.
34073
34074 * kern/sparc64/ieee1275/init.c (abort): Removed.
34075 (grub_stop): Likewise.
34076 (grub_exit): New function.
34077 (grub_set_prefix): Renamed to ...
34078 (grub_machine_set_prefix): ... this.
34079 (grub_machine_init): Do not call grub_set_prefix.
34080
34081 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
34082 (grub_machine_set_prefix): ... this.
34083 (grub_machine_init): Do not call grub_set_prefix.
34084
34085 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
34086 (grub_machine_init): Do not set the prefix here.
34087
34088 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
34089
34090 * kern/efi/init.c: Include grub/mm.h.
34091 (grub_efi_set_prefix): New function.
34092
34093 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
34094 (grub_efi_get_filename): New function.
34095 (grub_print_device_path): Renamed to ...
34096 (grub_efi_print_device_path): ... this.
34097
34098 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
34099 [MM_DEBUG] (grub_realloc): Likewise.
34100 [MM_DEBUG] (grub_free): Likewise.
34101 [MM_DEBUG] (grub_memalign): Likewise.
34102 [MM_DEBUG] (grub_mm_debug): New variable.
34103 [MM_DEBUG] (grub_debug_malloc): New function.
34104 [MM_DEBUG] (grub_debug_free): New function.
34105 [MM_DEBUG] (grub_debug_realloc): New function.
34106 [MM_DEBUG] (grub_debug_memalign): New function.
34107
34108 * kern/misc.c (grub_abort): Print a newline to distinguish
34109 the message.
34110
34111 * kern/main.c (grub_main): Call grub_machine_set_prefix and
34112 grub_set_root_dev after loading modules. This is necessary when
34113 setting a prefix depends on modules.
34114
34115 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
34116 (grub_efi_print_device_path): ... this.
34117 (grub_efi_get_filename): New prototype.
34118 (grub_efi_set_prefix): Likewise.
34119
34120 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
34121 and grub/disk.h.
34122 (grub_efidisk_get_device_handle): New prototype.
34123 (grub_efidisk_get_device_name): Likewise.
34124
34125 * include/grub/mm.h: Include config.h.
34126 (MM_DEBUG): Removed.
34127 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
34128 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
34129 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
34130 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
34131 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
34132 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
34133 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
34134 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
34135 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
34136
34137 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
34138
34139 * disk/efi/efidisk.c: Include grub/partition.h.
34140 (iterate_child_devices): New function.
34141 (add_device): First, compare only last device path nodes, so that
34142 devices are sorted by the types.
34143 (grub_efidisk_get_device_handle): New function.
34144 (grub_efidisk_get_device_name): Likewise.
34145
34146 * configure.ac (--enable-mm-debug): New option to enable the
34147 memory manager debugging feature. This makes the binary much
34148 bigger, so is disabled by default.
34149
9cacaa17 341502006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
34151
34152 Use grub_abort instead of grub_stop, and grub_exit must be
34153 define in each architecture now. Also, this change adds support
34154 for EFI disks.
f19dbdb7 34155
9cacaa17 34156 * util/i386/pc/grub-probefs.c: Include grub/term.h.
34157 (grub_getkey): New function.
34158 (grub_term_get_current): Likewise.
34159
34160 * util/i386/pc/grub-setup.c: Include grub/term.h.
34161 (grub_getkey): New function.
34162 (grub_term_get_current): Likewise.
34163
34164 * util/misc.c (grub_stop): Renamed to ...
34165 (grub_exit): ... this.
34166
34167 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
34168 (grub_exit): ... this.
34169 (grub_machine_init): Use grub_abort instead of abort.
34170 (grub_stop): Removed.
34171
34172 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
34173 abort.
34174
34175 * kern/i386/pc/startup.S (grub_exit): New function.
34176 (cold_reboot): New label.
34177
34178 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
34179 (grub_efi_init): Call grub_efidisk_init.
34180 (grub_efi_fini): Call grub_efidisk_fini.
34181
34182 * kern/efi/efi.c: Include grub/mm.h.
34183 (grub_efi_console_control_guid): Renamed to ...
34184 (console_control_guid): ... this.
34185 (grub_efi_loaded_image_guid): Renamed to ...
34186 (loaded_image_guid): ... this.
34187 (grub_efi_locate_handle): New function.
34188 (grub_efi_open_protocol): Likewise.
34189 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
34190 GRUB_EFI_CONSOLE_CONTROL_GUID.
34191 (grub_efi_exit): Removed.
34192 (grub_stop): Likewise.
34193 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
34194 (grub_exit): New function.
34195 (grub_print_device_path): Likewise.
34196
34197 * kern/rescue.c (grub_rescue_cmd_exit): New function.
34198 (grub_enter_rescue_mode): Register "exit".
34199
34200 * kern/misc.c (grub_real_dprintf): A cosmetic change.
34201 (grub_abort): New function.
34202
34203 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
34204
34205 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
34206
34207 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
34208
34209 * include/grub/efi/efi.h (grub_efi_exit): Removed.
34210 (grub_print_device_path): New prototype.
34211 (grub_efi_locate_handle): Likewise.
34212 (grub_efi_open_protocol): Likewise.
34213
34214 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
34215 * disk/efi/efidisk.c: Likewise.
34216
34217 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
34218
34219 * include/grub/efi/console_control.h
34220 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
34221
34222 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
34223 last 8 bytes as an array.
34224 (GRUB_EFI_DISK_IO_GUID): New macro.
34225 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
34226 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
34227 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
34228 grub_uint8_t.
34229 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
34230 (struct grub_efi_device_path): Rename the member "sub_type" to
34231 "subtype".
34232 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
34233 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
34234 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
34235 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
34236 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
34237 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
34238 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
34239 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
34240 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
34241 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
34242 (struct grub_efi_pci_device_path): New structure.
34243 (grub_efi_pci_device_path_t): New type.
34244 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
34245 (struct grub_efi_pccard_device_path): New structure.
34246 (grub_efi_pccard_device_path_t): New type.
34247 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
34248 (struct grub_efi_memory_mapped_device_path): New structure.
34249 (grub_efi_memory_mapped_device_path_t): New type.
34250 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
34251 (struct grub_efi_vendor_device_path): New structure.
34252 (grub_efi_vendor_device_path_t): New type.
34253 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
34254 (struct grub_efi_controller_device_path): New structure.
34255 (grub_efi_controller_device_path_t): New type.
34256 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
34257 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
34258 (struct grub_efi_acpi_device_path): New structure.
34259 (grub_efi_acpi_device_path_t): New type.
34260 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
34261 (struct grub_efi_expanded_acpi_device_path): New structure.
34262 (grub_efi_expanded_acpi_device_path_t): New type.
34263 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
34264 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
34265 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
34266 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
34267 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
34268 (struct grub_efi_atapi_device_path): New structure.
34269 (grub_efi_atapi_device_path_t): New type.
34270 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
34271 (struct grub_efi_fibre_channel_device_path): New structure.
34272 (grub_efi_fibre_channel_device_path_t): New type.
34273 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
34274 (struct grub_efi_1394_device_path): New structure.
34275 (grub_efi_1394_device_path_t): New type.
34276 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
34277 (struct grub_efi_usb_device_path): New structure.
34278 (grub_efi_usb_device_path_t): New type.
34279 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
34280 (struct grub_efi_usb_class_device_path): New structure.
34281 (grub_efi_usb_class_device_path_t): New type.
34282 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
34283 (struct grub_efi_i2o_device_path): New structure.
34284 (grub_efi_i2o_device_path_t): New type.
34285 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
34286 (struct grub_efi_mac_address_device_path): New structure.
34287 (grub_efi_mac_address_device_path_t): New type.
34288 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
34289 (struct grub_efi_ipv4_device_path): New structure.
34290 (grub_efi_ipv4_device_path_t): New type.
34291 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
34292 (struct grub_efi_ipv6_device_path): New structure.
34293 (grub_efi_ipv6_device_path_t): New type.
34294 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
34295 (struct grub_efi_infiniband_device_path): New structure.
34296 (grub_efi_infiniband_device_path_t): New type.
34297 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
34298 (struct grub_efi_uart_device_path): New structure.
34299 (grub_efi_uart_device_path_t): New type.
34300 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
34301 (struct grub_efi_vendor_messaging_device_path): New structure.
34302 (grub_efi_vendor_messaging_device_path_t): New type.
34303 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
34304 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
34305 (struct grub_efi_hard_drive_device_path): New structure.
34306 (grub_efi_hard_drive_device_path_t): New type.
34307 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
34308 (struct grub_efi_cdrom_device_path): New structure.
34309 (grub_efi_cdrom_device_path_t): New type.
34310 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
34311 (struct grub_efi_vendor_media_device_path): New structure.
34312 (grub_efi_vendor_media_device_path_t): New type.
34313 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
34314 (struct grub_efi_file_path_device_path): New structure.
34315 (grub_efi_file_path_device_path_t): New type.
34316 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
34317 (struct grub_efi_protocol_device_path): New structure.
34318 (grub_efi_protocol_device_path_t): New type.
34319 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
34320 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
34321 (struct grub_efi_bios_device_path): New structure.
34322 (grub_efi_bios_device_path_t): New type.
34323 (struct grub_efi_disk_io): New structure.
34324 (grub_efi_disk_io_t): New type.
34325 (struct grub_efi_block_io_media): New structure.
34326 (grub_efi_block_io_media_t): New type.
34327 (struct grub_efi_block_io): New structure.
34328 (grub_efi_block_io_t): New type.
34329
34330 * include/grub/misc.h (grub_stop): Removed.
34331 (grub_exit): New prototype.
34332 (grub_abort): Likewise.
34333
34334 * include/grub/disk.h (enum grub_disk_dev_id): Added
34335 GRUB_DISK_DEVICE_EFIDISK_ID.
34336
34337 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
34338 disk/efi/efidisk.c.
34339 (kernel_syms.lst): Remove the target if an error occurs.
34340
49986a9f 343412006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
34342
34343 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
34344 as it was simply too buggy.
34345
970d3b8a 343462006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
34347
34348 * kern/misc.c (grub_lltoa): New function.
34349 (grub_vsprintf): Added support for the long long suffix,
34350 i.e. "ll".
34351
ff04ec24 343522006-04-20 Hollis Blanchard <hollis@penguinppc.org>
34353
34354 * Makefile.in (LDFLAGS): Add variable.
34355 (LD): Remove variable.
34356 * configure.ac: Add -m32 to LDFLAGS.
34357 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
34358 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
34359 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
34360 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
34361 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
34362 variables.
34363 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
34364 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
34365 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
34366
37e5e1a4 343672006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
34368
34369 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
34370 length for unknown glyph.
34371
c352d8dd 343722006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
34373
2eab1c0d 34374 Add support for pre-loaded modules into the EFI port.
f19dbdb7 34375
2eab1c0d 34376 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
34377 completely. Accept one more argument DIR. The caller has changed.
34378
34379 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
34380
34381 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
34382 (grub_efi_loaded_image_guid): New variable.
34383 (grub_efi_get_loaded_image): New function.
34384 (grub_arch_modules_addr): Likewise.
34385
34386 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
34387 prototype.
34388
34389 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
34390 (struct grub_efi_loaded_image): New structure.
34391 (grub_efi_loaded_image_t): New type.
34392
343932006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 34394
c352d8dd 34395 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
34396 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
34397 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
34398
6d01d6b4 343992006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
34400
34401 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
34402
976a4ea0 344032006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
34404
34405 * DISTLIST: Added include/grub/efi/console.h,
34406 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
34407 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34408
34409 * include/grub/efi/console.h: New file.
34410 * include/grub/efi/time.h: Likewise.
34411 * include/grub/i386/efi/kernel.h: Likewise.
34412 * kern/efi/init.c: Likewise.
34413 * kern/efi/mm.c: Likewise.
34414 * term/efi/console.c: Likewise.
f19dbdb7 34415
976a4ea0 34416 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
34417 (grub_stop): Removed.
34418 (grub_get_rtc): Likewise.
34419 (grub_machine_init): Simply call grub_efi_init.
34420 (grub_machine_fini): Call grub_efi_fini.
34421
34422 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
34423 (grub_efi_output_string): Removed.
34424 (grub_efi_stall): New function.
34425 (grub_stop): Likewise.
34426 (grub_get_rtc): Likewise.
34427
34428 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
34429 (grub_efi_stall): New prototype.
34430 (grub_efi_allocate_pages): Likewise.
34431 (grub_efi_free_pages): Likewise.
34432 (grub_efi_get_memory_map): Likewise.
34433 (grub_efi_mm_init): Likewise.
34434 (grub_efi_mm_fini): Likewise.
34435 (grub_efi_init): Likewise.
34436 (grub_efi_fini): Likewise.
34437
34438 * include/grub/i386/efi/time.h: Do not include
34439 grub/symbol.h. Include grub/efi/time.h.
34440 (GRUB_TICKS_PER_SECOND): Removed.
34441 (grub_get_rtc): Likewise.
34442
34443 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
34444 Added padding. The EFI spec is buggy.
34445 (GRUB_EFI_BLACK): New macro.
34446 (GRUB_EFI_BLUE): Likewise.
34447 (GRUB_EFI_GREEN): Likewise.
34448 (GRUB_EFI_CYAN): Likewise.
34449 (GRUB_EFI_RED): Likewise.
34450 (GRUB_EFI_MAGENTA): Likewise.
34451 (GRUB_EFI_BROWN): Likewise.
34452 (GRUB_EFI_LIGHTGRAY): Likewise.
34453 (GRUB_EFI_BRIGHT): Likewise.
34454 (GRUB_EFI_DARKGRAY): Likewise.
34455 (GRUB_EFI_LIGHTBLUE): Likewise.
34456 (GRUB_EFI_LIGHTGREEN): Likewise.
34457 (GRUB_EFI_LIGHTCYAN): Likewise.
34458 (GRUB_EFI_LIGHTRED): Likewise.
34459 (GRUB_EFI_LIGHTMAGENTA): Likewise.
34460 (GRUB_EFI_YELLOW): Likewise.
34461 (GRUB_EFI_WHITE): Likewise.
34462 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
34463 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
34464 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
34465 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
34466 (GRUB_EFI_BACKGROUND_RED): Likewise.
34467 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
34468 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
34469 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
34470 (GRUB_EFI_TEXT_ATTR): Likewise.
34471
34472 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
34473 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34474 (kernel_mod_HEADERS): Added efi/time.h.
34475
83709125 344762006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
34477
34478 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
34479 include/grub/efi/api.h, include/grub/efi/console_control.h,
34480 include/grub/efi/efi.h, include/grub/efi/pe32.h,
34481 include/grub/i386/efi/time.h, kern/efi/efi.c,
34482 kern/i386/efi/init.c, kern/i386/efi/startup.S,
34483 and util/i386/efi/grub-mkimage.c.
34484
34485 * Makefile.in (RMKFILES): Added i386-efi.rmk.
34486
34487 * genmk.rb (PModule#rule): Do not export symbols if
34488 #{prefix}_EXPORTS is set to "no".
34489
34490 * conf/i386-efi.mk: New file.
34491 * conf/i386-efi.rmk: Likewise.
34492 * include/grub/efi/api.h: Likewise.
34493 * include/grub/efi/console_control.h: Likewise.
34494 * include/grub/efi/efi.h: Likewise.
34495 * include/grub/efi/pe32.h: Likewise.
34496 * include/grub/i386/efi/time.h: Likewise.
34497 * kern/efi/efi.c: Likewise.
34498 * kern/i386/efi/init.c: Likewise.
34499 * kern/i386/efi/startup.S: Likewise.
34500 * util/i386/efi/grub-mkimage.c: Likewise.
34501
345022006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 34503
34504 * include/grub/script.h: Include <grub/parser.h> and
34505 "grub_script.tab.h".
34506 (struct grub_lexer_param): New struct.
34507 (struct grub_parser_param): Likewise.
34508 (grub_script_create_arglist): Pass the state in an argument.
34509 (grub_script_add_arglist): Likewise.
34510 (grub_script_create_cmdline): Likewise.
34511 (grub_script_create_cmdblock): Likewise.
34512 (grub_script_create_cmdif): Likewise.
34513 (grub_script_create_cmdmenu): Likewise.
34514 (grub_script_add_cmd): Likewise.
34515 (grub_script_arg_add): Likewise.
34516 (grub_script_lexer_ref): Likewise.
34517 (grub_script_lexer_deref): Likewise.
34518 (grub_script_lexer_record_start): Likewise.
34519 (grub_script_lexer_record_stop): Likewise.
34520 (grub_script_mem_record): Likewise.
34521 (grub_script_mem_record_stop): Likewise.
34522 (grub_script_malloc): Likewise.
34523 (grub_script_yylex): Likewise.
34524 (grub_script_yyparse): Likewise.
34525 (grub_script_yyerror): Likewise.
34526 (grub_script_yylex): Likewise.
34527 (grub_script_lexer_init): Return the state.
34528
34529 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34530 (grub_script_lexer_done): Likewise.
34531 (grub_script_lexer_getline): Likewise.
34532 (grub_script_lexer_refs): Likewise.
34533 (script): Likewise.
34534 (newscript): Likewise.
34535 (record): Likewise.
34536 (recording): Likewise.
34537 (recordpos): Likewise.
34538 (recordlen): Likewise.
34539 (grub_script_lexer_init): Return the state instead of setting
34540 global variables.
34541 (grub_script_lexer_ref): Use the newly added argument for state
34542 instead of globals.
34543 (grub_script_lexer_deref): Likewise.
34544 (grub_script_lexer_record_start): Likewise.
34545 (grub_script_lexer_record_stop): Likewise.
34546 (recordchar): Likewise.
34547 (nextchar): Likewise.
34548 (grub_script_yylex2): Likewise.
34549 (grub_script_yylex): Likewise.
34550 (grub_script_yyerror): Likewise.
34551
34552 * normal/parser.y (func_mem): Removed variable.
34553 (menu_entry): Likewise.
34554 (err): Likewise.
34555 (%lex-param): New parser option.
34556 (%parse-param): Likewise.
34557 (script): Always return the AST.
34558 (argument): Pass the state around.
34559 (arguments): Likewise.
34560 (grubcmd): Likewise.
34561 (commands): Likewise.
34562 (function): Likewise.
34563 (menuentry): Likewise.
34564 (if_statement): Likewise.
34565 (if): Likewise.
34566
34567 * normal/script.c (grub_script_memused): Removed variable.
34568 (grub_script_parsed): Likewise.
34569 (grub_script_malloc): Added a state argument. Use that instead of
34570 global variables.
34571 (grub_script_mem_record): Likewise.
34572 (grub_script_mem_record_stop): Likewise.
34573 (grub_script_arg_add): Likewise.
34574 (grub_script_add_arglist): Likewise.
34575 (grub_script_create_cmdline): Likewise.
34576 (grub_script_create_cmdif): Likewise.
34577 (grub_script_create_cmdmenu): Likewise.
34578 (grub_script_add_cmd): Likewise.
34579 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 34580
e2a8c904 345812006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 34582
34583 * normal/command.c (grub_command_init): Remove the title command.
34584
34585 * normal/lexer.c (grub_script_yylex): Renamed from this...
34586 (grub_script_yylex2): ... to this.
34587 (grub_script_yylex): New function. Temporary
34588 introduced to filter some tokens.
34589 (grub_script_yyerror): Print a newline.
34590
34591 * normal/main.c (read_config_file): Output information about the
34592 lines that contain errors. Wait for a key after all lines have
34593 been processed. Don't return an empty menu.
34594
34595 * normal/parser.y (func_mem): Don't initialize.
34596 (menu_entry): Likewise.
34597 (err): New variable.
34598 (script): Don't return anything when an error was encountered.
34599 (ws, returns): Removed rules.
34600 (argument): Disabled concatenated variable support.
34601 (arguments): Remove explicit separators.
34602 (grubcmd): Likewise.
34603 (function): Likewise.
34604 (menuentry): Likewise.
34605 (if): Likewise.
34606 (commands): Likewise. Add error handling.
34607
34608 * normal/script.c (grub_script_create_cmdline): If
34609 `grub_script_parsed' is 0, assume the parser encountered an error.
34610
c9a86192 346112006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34612
34613 * configure.ac: Add support for EFI. Fix the typo
34614 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34615
70f3b243 346162006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34617
34618 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34619 foreign multibyte characters should be shown correctly.
34620
65f201ad 346212006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34622
34623 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34624 calculation.
34625 (read_config_file): Made it to close file before returning.
34626
b4b93674 346272006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34628
34629 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34630 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34631 video/i386/pc/vbefill.c.
34632
34633 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34634 video/i386/pc/vbefill.c.
34635
34636 * include/grub/video.h (grub_video_blit_format): New enum.
34637 (grub_video_mode_info): Added new member blit_format.
34638 (grub_video_get_blit_format): New function prototype.
34639
34640 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34641 function prototype.
34642 (grub_video_vbe_map_rgb): Likewise.
34643 (grub_video_vbe_unmap_color): Likewise.
34644
34645 * include/grub/i386/pc/vbeblit.h: New file.
34646
34647 * include/grub/i386/pc/vbefill.h: New file.
34648
34649 * video/video.c (grub_video_get_blit_format): New function.
34650 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34651 (grub_video_vbe_map_rgb): Likewise.
34652 (grub_video_vbe_unmap_color): Likewise.
34653
34654 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34655 optimized fills.
34656 (grub_video_vbe_blit_render_target): Changed to use more optimized
34657 blits.
34658 (grub_video_vbe_setup): Added detection for optimized settings.
34659 (grub_video_vbe_create_render_target): Likewise.
34660
34661 * video/i386/pc/vbeblit.c: New file.
34662
34663 * video/i386/pc/vbefill.c: New file.
34664
c2379b9c 346652006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34666
34667 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34668 here...
34669
34670 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34671 parsing to support both hex and dec ranges. If filename was missing
34672 show usage information.
34673
bd0d7896 346742006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34675
34676 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34677 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34678
34679 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34680 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34681 (video_mod_SOURCES): Added.
34682 (video_mod_CFLAGS): Likewise.
34683 (video_mod_LDFLAGS): Likewise.
34684 (gfxterm_mod_SOURCES): Likewise.
34685 (gfxterm_mod_CFLAGS): Likewise.
34686 (gfxterm_mod_LDFLAGS): Likewise.
34687 (videotest_mod_SOURCES): Likewise.
34688 (videotest_mod_CFLAGS): Likewise.
34689 (videotest_mod_LDFLAGS): Likewise.
34690 (vesafb_mod_SOURCES): Removed.
34691 (vesafb_mod_CFLAGS): Likewise.
34692 (vesafb_mod_LDFLAGS): Likewise.
34693 (vga_mod_SOURCES): Likewise.
34694 (vga_mod_CFLAGS): Likewise.
34695 (vga_mod_LDFLAGS): Likewise.
34696
34697 * commands/videotest.c: New file.
34698
34699 * font/manager.c (fill_with_default_glyph): Modified to use
34700 grub_font_glyph.
34701 (grub_font_get_glyph): Likewise.
34702 (fontmanager): Renamed from this...
34703 (font_manager): ... to this.
34704
34705 * include/grub/font.h (grub_font_glyph): Added new structure.
34706 (grub_font_get_glyph): Modified to use grub_font_glyph.
34707
34708 * include/grub/misc.h (grub_abs): Added as inline function.
34709
34710 * include/grub/video.h: New file.
34711
34712 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34713 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34714 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34715 (grub_vbe_get_controller_info): Renamed from this...
34716 (grub_vbe_bios_get_controller_info): ... to this.
34717 (grub_vbe_get_mode_info): Renamed from this...
34718 (grub_vbe_bios_get_mode_info): ... to this.
34719 (grub_vbe_set_mode): Renamed from this...
34720 (grub_vbe_bios_set_mode): ... to this.
34721 (grub_vbe_get_mode): Renamed from this...
34722 (grub_vbe_bios_get_mode): ... to this.
34723 (grub_vbe_set_memory_window): Renamed from this...
34724 (grub_vbe_bios_set_memory_window): ... to this.
34725 (grub_vbe_get_memory_window): Renamed from this...
34726 (grub_vbe_bios_get_memory_window): ... to this.
34727 (grub_vbe_set_scanline_length): Renamed from this...
34728 (grub_vbe_set_scanline_length): ... to this.
34729 (grub_vbe_get_scanline_length): Renamed from this...
34730 (grub_vbe_bios_get_scanline_length): ... to this.
34731 (grub_vbe_set_display_start): Renamed from this...
34732 (grub_vbe_bios_set_display_start): ... to this.
34733 (grub_vbe_get_display_start): Renamed from this...
34734 (grub_vbe_bios_get_display_start): ... to this.
34735 (grub_vbe_set_palette_data): Renamed from this...
34736 (grub_vbe_bios_set_palette_data): ... to this.
34737 (grub_vbe_set_pixel_rgb): Removed.
34738 (grub_vbe_set_pixel_index): Likewise.
34739
34740 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34741 from this...
34742 (grub_vbe_bios_get_controller_info): ... to this.
34743 (grub_vbe_get_mode_info): Renamed from this...
34744 (grub_vbe_bios_get_mode_info): ... to this.
34745 (grub_vbe_set_mode): Renamed from this...
34746 (grub_vbe_bios_set_mode): ... to this.
34747 (grub_vbe_get_mode): Renamed from this...
34748 (grub_vbe_bios_get_mode): ... to this.
34749 (grub_vbe_set_memory_window): Renamed from this...
34750 (grub_vbe_bios_set_memory_window): ... to this.
34751 (grub_vbe_get_memory_window): Renamed from this...
34752 (grub_vbe_bios_get_memory_window): ... to this.
34753 (grub_vbe_set_scanline_length): Renamed from this...
34754 (grub_vbe_set_scanline_length): ... to this.
34755 (grub_vbe_get_scanline_length): Renamed from this...
34756 (grub_vbe_bios_get_scanline_length): ... to this.
34757 (grub_vbe_set_display_start): Renamed from this...
34758 (grub_vbe_bios_set_display_start): ... to this.
34759 (grub_vbe_get_display_start): Renamed from this...
34760 (grub_vbe_bios_get_display_start): ... to this.
34761 (grub_vbe_set_palette_data): Renamed from this...
34762 (grub_vbe_bios_set_palette_data): ... to this.
34763 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34764 getting corrupted after calling it. Added more pushes and pops.
34765 (grub_vbe_bios_set_mode): Likewise.
34766 (grub_vbe_bios_get_mode): Likewise.
34767 (grub_vbe_bios_get_memory_window): Likewise.
34768 (grub_vbe_bios_set_scanline_length): Likewise.
34769 (grub_vbe_bios_get_scanline_length): Likewise.
34770 (grub_vbe_bios_get_display_start): Likewise.
34771 (grub_vbe_bios_set_palette_data): Likewise.
34772
34773 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34774 (cl_insert): Likewise.
34775 (cl_delete): Likewise.
34776
34777 * term/gfxterm.c: New file.
34778
34779 * term/i386/pc/vesafb.c: Removed file.
34780
34781 * video/video.c: New file.
34782
34783 * video/i386/pc/vbe.c (real2pm): Added new function.
34784 (grub_video_vbe_draw_pixel): Likewise.
34785 (grub_video_vbe_get_video_ptr): Likewise.
34786 (grub_video_vbe_get_pixel): Likewise
34787 (grub_video_vbe_init): Likewise.
34788 (grub_video_vbe_fini): Likewise.
34789 (grub_video_vbe_setup): Likewise.
34790 (grub_video_vbe_get_info): Likewise.
34791 (grub_video_vbe_set_palette): Likewise.
34792 (grub_video_vbe_get_palette): Likewise.
34793 (grub_video_vbe_set_viewport): Likewise.
34794 (grub_video_vbe_get_viewport): Likewise.
34795 (grub_video_vbe_map_color): Likewise.
34796 (grub_video_vbe_map_rgb): Likewise.
34797 (grub_video_vbe_map_rgba): Likewise.
34798 (grub_video_vbe_unmap_color): Likewise.
34799 (grub_video_vbe_fill_rect): Likewise.
34800 (grub_video_vbe_blit_glyph): Likewise.
34801 (grub_video_vbe_blit_bitmap): Likewise.
34802 (grub_video_vbe_blit_render_target): Likewise.
34803 (grub_video_vbe_scroll): Likewise.
34804 (grub_video_vbe_swap_buffers): Likewise.
34805 (grub_video_vbe_create_render_target): Likewise.
34806 (grub_video_vbe_delete_render_target): Likewise.
34807 (grub_video_vbe_set_active_render_target): Likewise.
34808 (grub_vbe_set_pixel_rgb): Remove function.
34809 (grub_vbe_set_pixel_index): Likewise.
34810 (index_color_mode): Remove static variable.
34811 (active_mode): Likewise.
34812 (framebuffer): Likewise.
34813 (bytes_per_scan_line): Likewise.
34814 (grub_video_vbe_adapter): Added new static variable.
34815 (framebuffer): Likewise.
34816 (render_target): Likewise.
34817 (initial_mode): Likewise.
34818 (mode_in_use): Likewise.
34819 (mode_list): Likewise.
34820
5f97350b 348212006-03-10 Marco Gerards <marco@gnu.org>
34822
34823 * configure.ac (AC_INIT): Bumped to 1.93.
34824
34825 * DISTLIST: Added `include/grub/hfs.h'.
34826
a3c5c6f8 348272006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34828
34829 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34830 18H, which might help the BIOS falling back to next boot media.
34831
6de53d26 348322006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34833
34834 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34835 Poe Chen <poe.poechen@gmail.com>.
34836
77c4a393 348372006-01-17 Marco Gerards <marco@gnu.org>
34838
34839 * include/grub/normal.h: Include <grub/script.h>.
34840 (grub_command_list): Removed struct.
34841 (grub_command_list_t): Removed type.
34842 (grub_menu_entry): Remove members `num' and `command_list'. Add
34843 members `commands' and `sourcecode'.
34844 * include/grub/script.h: Add inclusion guards.
34845 (grub_script_cmd_menuentry): New struct.
34846 (grub_script_execute_menuentry): New prototype.
34847 (grub_script_lexer_record_start): Likewise.
34848 (grub_script_lexer_record_stop): Likewise.
34849 * normal/execute.c (grub_script_execute_menuentry): New function.
34850 * normal/lexer.c (record, recording, recordpos, recordlen): New
34851 variables.
34852 (grub_script_lexer_record_start): New function.
34853 (grub_script_lexer_record_stop): Likewise.
34854 (recordchar): Likewise.
34855 (nextchar): Likewise.
34856 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34857 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34858 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34859 (current_menu): New variable.
34860 (free_menu): Mainly rewritten.
34861 (grub_normal_menu_addentry): New function.
34862 (read_config_file): Rewritten.
34863 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 34864 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 34865 the menu entry.
34866 (run): Mainly rewritten.
34867 * normal/parser.y (menu_entry): New variable.
34868 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34869 (menuentry): New rule.
34870 (command): Add `menuentry'.
34871 (if_statement): Allow additional returns before `fi'.
34872 * normal/script.c (grub_script_create_cmdmenu): New function.
34873
144f1f98 348742006-01-03 Marco Gerards <marco@gnu.org>
34875
34876 * INSTALL: GNU Bison is required.
34877 * configure.ac: Rewritten the test to detect Bison.
34878 * Makefile.in (YACC): New variable. Reported by Xun Sun
34879 <xun.sun.cn@gmail.com>.
34880
af4b2d89 348812006-01-03 Marco Gerards <marco@gnu.org>
34882
34883 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34884 the HFS+ filesystem to filesystem blocks.
34885 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34886 GCC warning is silenced.
34887
15643b71 348882006-01-03 Marco Gerards <marco@gnu.org>
34889
34890 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34891 read from disk from big endian to host byte order.
34892
00905879 348932006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34894
34895 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34896 documentation.
34897 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34898 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34899 embedded HFS+ filesystem.
34900 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34901 (grub_hfs_sblock): Move from here...
34902 * include/grub/hfs.h: To here... New file.
34903 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34904 documentation.
34905 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34906 New macros.
34907 (grub_hfsplus_volheader): Change type of member `magic' to
34908 `grub_uint16_t'.
34909 (grub_hfsplus_data): Add new member `embedded_offset'.
34910 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34911 returned block.
34912 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34913 Calculate the offset.
34914
8899bc3e 349152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34916
34917 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34918 Removed.
34919 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34920
ae8c0277 349212005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34922
34923 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34924 ENV->NAME is NULL after allocating ENV->VALUE.
34925
07084456 349262005-12-25 Marco Gerards <marco@gnu.org>
34927
34928 * kern/env.c (grub_env_set): Rewritten the error handling code.
34929
4750f5f1 349302005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34931
34932 * geninit.sh: Made more robust, and more portable.
34933
50214199 349342005-12-25 Marco Gerards <marco@gnu.org>
34935
34936 Add support for Apple HFS+ filesystems.
f19dbdb7 34937
50214199 34938 * fs/hfsplus.c: New file.
34939
34940 * DISTLIST: Added `fs/hfsplus.c'.
34941
34942 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34943 (hfsplus_mod_SOURCES): New variable.
34944 (hfsplus_mod_CFLAGS): Likewise.
34945 (hfsplus_mod_LDFLAGS): Likewise.
34946 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34947 (grub_setup_SOURCES): Likewise.
34948 (grub_mkdevicemap_SOURCES): Likewise.
34949 (grub_emu_SOURCES): Likewise.
34950 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34951
34952 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34953
34954 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34955
befaed6c 349562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34957
34958 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34959 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34960 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34961 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34962 normal/lexer.c, normal/parser.y, normal/script.c, and
34963 partmap/gpt.c.
34964 Removed kern/sparc64/cache.c.
34965
34966 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34967 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34968 grub_emu_init.c.
34969
34970 * configure.ac (AC_INIT): Bumped to 1.92.
34971
6a124103 349722005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34973
34974 * kern/err.c (grub_error_push): Added new function to support error
34975 stacks.
34976 (grub_error_pop): Likewise.
34977 (grub_error_stack_items): New local variable to support error stacks.
34978 (grub_error_stack_pos): Likewise.
34979 (grub_error_stack_assert): Likewise.
34980 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34981 stack depth.
34982 (grub_print_error): Added support to print errors from error stack.
34983
34984 * include/grub/err.h (grub_error_push): Added function prototype.
34985 (grub_error_pop): Likewise.
34986
be973c1b 349872005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34988
34989 * configure.ac: Accept `powerpc64' as host_cpu.
34990 (amd64): Rename to `biarch32'.
34991
34992 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34993 non-cacheline-aligned addresses.
34994
34995 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34996 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34997 if `size' is non-zero.
34998
b04216ab 349992005-12-03 Marco Gerards <mgerards@xs4all.nl>
35000
35001 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
35002 and `cd' to make sure the filename is not prefixed with a
35003 directory name.
35004 (pkgdata_MODULES): Add `gpt.mod'.
35005 (gpt_mod_SOURCES): New variable.
35006 (gpt_mod_CFLAGS): Likewise.
35007 (gpt_mod_LDFLAGS): Likewise.
35008
35009 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
35010
35011 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
35012 New macro.
35013
35014 * partmap/gpt.c: New file.
35015
35016 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
35017 GPT partition map is detected.
35018
41730ed9 350192005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
35020
35021 * commands/i386/pc/play.c: New file.
35022 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
35023 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
35024 macros.
f19dbdb7 35025
95dc3643 350262005-11-27 Marco Gerards <mgerards@xs4all.nl>
35027
35028 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
35029 ((unused))' to silence gcc warning.
35030
1569ec51 350312005-11-26 Hollis Blanchard <hollis@penguinppc.org>
35032
35033 * configure.ac: Correct `AC_PROG_YACC' test.
35034
9abde152 350352005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35036
35037 * util/powerpc/ieee1275/grub-install.in: Run the mount point
35038 check before installing files.
35039
44b83271 350402005-11-22 Mike Small <smallm@panix.com>
35041
35042 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
35043 number regex so multidigit numbers are recognized correctly.
35044
350452005-11-22 Mike Small <smallm@panix.com>
35046
35047 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
35048 debugging message before attempting to claim memory.
35049 (grub_rescue_cmd_initrd): Add a claim debugging message and try
35050 multiple addresses in case of failure.
35051
9c12956b 350522005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35053
35054 * term/tparm.c (get_space): Remove empty `if' statement.
35055
35056 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
35057
35058 * kern/parser.c (check_varstate): Rename `state' to 's'.
35059
aeaf81d9 350602005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35061
35062 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
35063 variable definitions to the beginning of each function. Sort stack
35064 variables by size.
35065 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
35066 `buf' argument to `char *'.
35067
79bbb63f 350682005-11-22 Hollis Blanchard <hollis@penguinppc.org>
35069
35070 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
35071 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35072 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 35073 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35074 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35075 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35076 configfile.mod, search.mod, gzio.mod and test.mod.
35077 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35078 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35079 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35080 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35081 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35082 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35083 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35084 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35085 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35086 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35087 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35088 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35089 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35090 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35091 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35092 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35093 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35094 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35095 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35096 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35097 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35098 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35099 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
35100
35101 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
35102 `grep --include'.
35103 (pkgdata_MODULES): Add test.mod.
35104
233b1628 351052005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35106
35107 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
35108 appending to variables with "+=".
35109 (PModule): Use full pathname to generate *.lst filenames.
35110
35111 * Makefile.in: Fixed list rules moved from genmk.rb.
35112 (.DELETE_ON_ERROR): New special target.
35113 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
35114
35115 * conf/i386-pc.rmk: Include conf/common.mk.
35116 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 35117 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 35118 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
35119 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
35120 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
35121 configfile.mod, search.mod, gzio.mod and test.mod.
35122 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
35123 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
35124 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
35125 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
35126 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
35127 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
35128 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
35129 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
35130 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
35131 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
35132 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35133 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35134 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
35135 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
35136 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
35137 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
35138 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
35139 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
35140 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
35141 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
35142 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
35143 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
35144 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
35145 here...
35146 * conf/common.rmk: ... to here. New file.
35147
35148 * conf/common.mk: New file.
35149
16f820c8 351502005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
35151
35152 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
35153 (grub_script.tab.c): ... here.
35154
35155 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
35156 (grub_script.tab.c): ... here.
35157
35158 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
35159 (grub_script.tab.c): ... here.
35160
35161 * normal/command.c (grub_command_find): Fixed a memory leak of
35162 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
35163
63ba1554 351642005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35165
35166 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
35167 "@" which marks the start of a comment on ARM.
35168 (VARIABLE): Likewise.
35169
7f67dc13 351702005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35171
79bbb63f 35172 Add support for Linux/ADFS partition tables.
7f67dc13 35173
35174 * partmap/acorn.c: New file.
35175
35176 * include/grub/acorn_filecore.h: Likewise.
35177
35178 * DISTLIST: Added `partmap/acorn.c' and
35179 `include/grub/acorn_filecore.h'.
f19dbdb7 35180
7f67dc13 35181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35182 `partmap/acorn.c'.
35183 (pkgdata_MODULES): Add `acorn.mod'.
35184 (acorn_mod_SOURCES): New variable.
35185 (acorn_mod_CFLAGS): Likewise.
35186
35187 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35188 `partmap/acorn.c'.
35189 (pkgdata_MODULES): Add `acorn.mod'.
35190 (acorn_mod_SOURCES): New variable.
35191 (acorn_mod_CFLAGS): Likewise.
35192
35193 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
35194 (pkgdata_MODULES): Add `acorn.mod'.
35195 (acorn_mod_SOURCES): New variable.
35196 (acorn_mod_CFLAGS): Likewise.
35197 (acorn_mod_LDFLAGS): Likewise.
35198
35199 * include/types.h (grub_disk_addr_t): New typedef.
35200
6d099807 352012005-11-13 Marco Gerards <mgerards@xs4all.nl>
35202
35203 * geninit.sh: New file.
35204
35205 * geninitheader.sh: Likewise.
35206
35207 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
35208 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
35209 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
35210 * commands/configfile.c (grub_configfile_init)
35211 (grub_configfile_fini): Likewise.
35212 * commands/default.c (grub_default_init, grub_default_fini):
35213 Likewise.
35214 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
35215 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
35216 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
35217 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
35218 Likewise.
35219 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
35220 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
35221 Likewise.
35222 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 35223 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 35224 Likewise.
35225 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
35226 Likewise.
fe6b695a 35227 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 35228 Likewise.
35229 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
35230 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
35231 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
35232 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
35233 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
35234 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
35235 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
35236 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
35237 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
35238 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
35239 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
35240 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
35241 * partmap/amiga.c (grub_amiga_partition_map_init)
35242 (grub_amiga_partition_map_fini): Likewise.
35243 * partmap/apple.c (grub_apple_partition_map_init)
35244 (grub_apple_partition_map_fini): Likewise.
35245 * partmap/pc.c (grub_pc_partition_map_init)
35246 (grub_pc_partition_map_fini): Likewise.
35247 * partmap/sun.c (grub_sun_partition_map_init,
35248 grub_sun_partition_map_fini): Likewise.
35249 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
35250 Likewise.
35251
35252 * util/grub-emu.c: Include <grub_modules_init.h>.
35253 (main): Don't initialize and de-initialize any modules directly,
35254 use `grub_init_all' and `grub_fini_all' instead.
35255
35256 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
35257 `grub_vesafb_mod_init'.
35258 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
35259 all users.
35260 * term/i386/pc/vga.c (grub_vga_init): Renamed to
35261 `grub_vga_mod_init'. Updated all users.
35262 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 35263
6d099807 35264 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
35265 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
35266 rules.
35267
35268 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
35269 Generate a function to initialize the module in utilities.
35270 Updated all callers.
35271 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
35272 initialize the module in utilities. Updated all callers.
35273
9046bcf0 352742005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35275
35276 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
35277 escape sequence and a literal ^L to clear the screen.
35278
35279 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
35280 when returning from Open Firmware.
35281
d13ea639 352822005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35283
35284 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
35285 (grub_ofconsole_height): Likewise.
35286 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
35287 manually insert a '\n'.
35288 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
35289 `grub_ofconsole_height'. Return early if these are already set.
35290
a8fcf206 352912005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
35292
35293 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35294 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
35295 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
35296 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
35297 and `normal/script.c'.
35298 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35299 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35300 (test_mod_SOURCES): New variable.
35301 (test_mod_CFLAGS): Likewise.
35302 (test_mod_LDFLAGS): Likewise.
35303 (pkgdata_MODULES): Add `test.mod'.
35304 (grub_script.tab.c): New rule.
35305 (grub_script.tab.h): Likewise.
35306
b6b32745 353072005-11-07 Marco Gerards <mgerards@xs4all.nl>
35308
35309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35310 `commands/test.c', `normal/execute.c', `normal/lexer.c',
35311 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35312 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35313 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35314 (test_mod_SOURCES): New variable.
35315 (test_mod_CFLAGS): Likewise.
35316 (pkgdata_MODULES): Add `test.mod'.
35317 (grub_script.tab.c): New rule.
35318 (grub_script.tab.h): Likewise.
35319
daac212a 353202005-11-06 Marco Gerards <mgerards@xs4all.nl>
35321
35322 Add initial scripting support.
35323
35324 * commands/test.c: New file.
35325 * include/grub/script.h: Likewise.
35326 * normal/execute.c: Likewise.
35327 * normal/function.c: Likewise.
35328 * normal/lexer.c: Likewise.
35329 * normal/parser.y: Likewise.
35330 * normal/script.c: Likewise.
35331
35332 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 35333
daac212a 35334 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
35335 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
35336 `normal/function.c' and `normal/script.c'.
35337 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35338 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 35339 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
35340 variables.
daac212a 35341 (pkgdata_MODULES): Add `test.mod'.
35342 (grub_script.tab.c): New rule.
35343 (grub_script.tab.h): Likewise.
35344
35345 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
35346
35347 * include/grub/normal.h (grub_test_init): New prototype.
35348 (grub_test_fini): Likewise.
f19dbdb7 35349
daac212a 35350 * normal/command.c: Include <grub/script.h>.
35351 (grub_command_execute): Rewritten.
f19dbdb7 35352
daac212a 35353 * util/grub-emu.c (main): Call `grub_test_init' and
35354 `grub_test_fini'.
35355
77500b2b 353562005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35357
35358 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
35359 to 0.
35360 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
35361 there are no pending characters.
35362
e45deb9e 353632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35364
35365 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
35366 `grub_strndup' to drop device arguments. Replace unnecessary
35367 `grub_strndup' with `grub_strdup'.
35368
4ce32619 353692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35370
35371 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
35372 `debug' environment variable has been set.
35373
353742005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 35375
4ce32619 35376 * Makefile.in (install-local): Use $(DATA).
35377 (uninstall): Likewise.
35378 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
35379 (sbin_UTILITIES): ... to here.
35380 (sbin_SCRIPTS): New variable.
35381 (grub_install_SOURCES): New variable.
35382 * util/powerpc/ieee1275/grub-install.in: New file.
35383 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
35384 variable.
35385 (add_segments): Call `grub_util_get_path'.
35386
25fe6f03 353872005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35388
35389 From Timothy Baldwin:
35390 * commands/ls.c (grub_ls_list_files): Close FILE with
35391 grub_file_close.
35392 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
35393
04ccf3ec 353942005-10-24 Marco Gerards <mgerards@xs4all.nl>
35395
35396 * include/grub/parser.h: New file.
35397
35398 * kern/parser.c: Likewise.
35399
35400 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
35401 (grub_setup_SOURCES): Likewise.
35402 (grub_probefs_SOURCES): Likewise.
35403 (grub_emu_SOURCES): Likewise.
35404 (kernel_img_HEADERS): Add `parser.h'.
35405
35406 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35407 (grub_emu_SOURCES): Add `kern/parser.c'.
35408 (grubof_SOURCES): Likewise.
35409
35410 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35411 (grubof_SOURCES): Add `kern/parser.c'.
35412
35413 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
35414
35415 * kern/misc.c (grub_split_cmdline): Removed function.
35416
35417 * kern/rescue.c: Include <grub/parser.h>.
35418 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
35419 of `grub_split_cmdline'.
35420
35421 * normal/command.c: Include <grub/parser.h>.
35422 (grub_command_execute): Use `grub_parser_split_cmdline' instead
35423 of `grub_split_cmdline'.
35424
35425 * normal/completion.c: Include <grub/parser.h>.
35426 (cmdline_state): New variable.
35427 (iterate_dir): End the filename with a quote depending on the
35428 command line state.
35429 (get_state): new function.
35430 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
35431 split the arguments and determine the current argument. When the
35432 argument string is not quoted, escape all spaces.
35433
6d8f4b0e 354342005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35435
35436 * normal/sparc64/setjmp.S: New file.
35437
15cf03ed 354382005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35439
35440 * include/grub/sparc64/libgcc.h: New file.
35441 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
35442 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
35443 normal/sparc64/setjmp.c.
35444
03e8661a 354452005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35446
35447 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
35448 * kern/sparc64/cache.S: New file.
35449 * kern/sparc64/cache.c: Removed.
35450 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
35451 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
35452 -mtune=ultrasparc.
35453 (COMMON_LDFLAGS): Add -melf64_sparc.
35454 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
35455 (grubof_SOURCES): Use cache.S instead of cache.c.
35456 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
35457 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
35458 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
35459 commented though.
35460 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
35461 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
35462 (linux_mod_CFLAGS): Commented out.
35463 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
35464 out because module isn't built.
35465 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
35466 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
35467 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
35468 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
35469 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
35470 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35471 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35472 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
35473 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
35474 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
35475 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35476 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35477 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
35478 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
35479
34eeec8a 354802005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
35481
35482 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
35483 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
35484 longer, because HFS should not be used on PC.
35485
708367a3 354862005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35487
35488 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
35489 consistently within the loop.
35490
6fa1251a 354912005-10-15 Marco Gerards <mgerards@xs4all.nl>
35492
35493 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
35494 directory can not be read.
35495
4801580b 354962005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35497
35498 * configure.ac (AC_INIT): Increase the version number to 1.91.
35499
35500 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35501 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35502 term/i386/pc/serial.c.
35503
219ad426 355042005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35505
35506 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35507 file size must be permitted.
35508
35509 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35510 between %ah and %al.
35511
688e5699 355122005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35513
35514 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35515 grub_uint64_t.
35516 Call the hook with a NUL-terminated filename.
35517 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35518 grub_cpu_to_be32.
35519
35520 * kern/term.c (cursor_state): New variable.
35521 (grub_term_set_current): Reset the cursor state on a new
35522 terminal.
35523 (grub_setcursor): Rewritten to use CURSOR_STATE.
35524 (grub_getcursor): New function.
35525
35526 * include/grub/term.h (grub_getcursor): New prototype.
35527
35528 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35529 integers on ARM. Reported by Timothy Baldwin
35530 <T.E.Baldwin99@members.leeds.ac.uk>.
35531
bb34586c 355322005-10-11 Marco Gerards <mgerards@xs4all.nl>
35533
35534 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35535 allocated.
35536 (grub_sfs_dir): Likewise.
35537
9a909877 355382005-10-09 Marco Gerards <mgerards@xs4all.nl>
35539
35540 Add support for the SFS filesystem.
35541
35542 * fs/sfs.c: New file.
35543
35544 * DISTLIST: Added `fs/sfs.c'.
35545
35546 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35547 (grub_probefs_SOURCES): Likewise.
35548 (grub_emu_SOURCES): Likewise.
35549 (pkgdata_MODULES): Add `sfs.mod'.
35550 (sfs_mod_SOURCES): New variable.
35551 (sfs_mod_CFLAGS): Likewise.
35552 (sfs_mod_LDFLAGS): Likewise.
35553
35554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35555 (pkgdata_MODULES): Add `sfs.mod'.
35556 (sfs_mod_SOURCES): New variable.
35557 (sfs_mod_CFLAGS): Likewise.
35558
35559 * util/grub-emu.c (main): Call `grub_sfs_init' and
35560 `grub_sfs_fini'.
35561
35562 * include/grub/fs.h (grub_sfs_init): New prototype.
35563 (grub_sfs_fini): Likewise.
35564
57bdbde3 355652005-10-07 Marco Gerards <mgerards@xs4all.nl>
35566
35567 Add support for the AFFS filesystem.
35568
35569 * fs/affs.c: New file.
35570
35571 * DISTLIST: Added `fs/affs.c'.
35572
35573 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35574 (grub_probefs_SOURCES): Likewise.
35575 (grub_emu_SOURCES): Likewise.
35576 (pkgdata_MODULES): Add `affs.mod'.
35577 (affs_mod_SOURCES): New variable.
35578 (affs_mod_CFLAGS): Likewise.
35579 (affs_mod_LDFLAGS): Likewise.
35580
35581 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35582 (pkgdata_MODULES): Add `affs.mod'.
35583 (affs_mod_SOURCES): New variable.
35584 (affs_mod_CFLAGS): Likewise.
35585
35586 * util/grub-emu.c (main): Call `grub_affs_init' and
35587 `grub_affs_fini'.
35588
35589 * include/grub/fs.h (grub_affs_init): New prototype.
35590 (grub_affs_fini): Likewise.
35591
047b67e0 355922005-10-01 Marco Gerards <mgerards@xs4all.nl>
35593
35594 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35595
59b8208a 355962005-10-01 Marco Gerards <mgerards@xs4all.nl>
35597
35598 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35599 `-m32' to CFLAGS.
35600
35601 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35602 linking.
f19dbdb7 35603
59b8208a 35604 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35605 (COMMON_LDFLAGS): New variable.
35606 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35607 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35608 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35609 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35610 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35611 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35612 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35613 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35614 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35615 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35616 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35617 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35618 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35619 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35620 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35621 variables.
35622 (normal_mod_ASFLAGS): Add `-m32'.
35623
35624 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35625 (grub_host_size_t, grub_host_ssize_t): New types.
35626 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 35627 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 35628 `GRUB_HOST_SIZEOF_VOID_P'.
35629
35630 * include/grub/kernel.h (struct grub_module_header): Type of
35631 member offset changed to `grub_host_off_t'. Type of member size
35632 changed to `grub_host_size_t'.
35633 (struct grub_module_info): Type of member offset changed to
35634 `grub_host_off_t'. Type of member size changed to
35635 `grub_host_size_t'.
35636
b4093103 356372005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35638
35639 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 35640
b4093103 35641 * kern/i386/pc/startup.S (multiboot_header): New label.
35642 (multiboot_entry): Likewise.
35643 (multiboot_trampoline): Likewise.
35644
35645 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35646 Increased to 0x4A0.
35647
35648 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35649 put parentheses after a question mark.
35650 [!GRUB_UTIL] (my_mod): New variable.
35651
35652 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35653
b2499b29 356542005-09-28 Marco Gerards <mgerards@xs4all.nl>
35655
35656 Adds support for the XFS filesystem. Btrees are not supported
35657 yet.
35658
35659 * fs/xfs.c: New file.
35660
35661 * DISTLIST: Added `fs/xfs.c'.
35662
35663 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35664 (grub_probefs_SOURCES): Likewise.
35665 (grub_emu_SOURCES): Likewise.
35666 (pkgdata_MODULES): Add `xfs.mod'.
35667 (xfs_mod_SOURCES): New variable.
35668 (xfs_mod_CFLAGS): Likewise.
35669
35670 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35671 (pkgdata_MODULES): Add `xfs.mod'.
35672 (xfs_mod_SOURCES): New variable.
35673 (xfs_mod_CFLAGS): Likewise.
35674
35675 * util/grub-emu.c (main): Call `grub_xfs_init' and
35676 `grub_xfs_fini'.
35677
35678 * include/grub/fs.h (grub_xfs_init): New prototype.
35679 (grub_xfs_fini): Likewise.
35680
f19dbdb7 35681
83d37a62 356822005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35683
35684 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35685 color modes, allow greater than 16 colors to be configured as
35686 a default palette.
35687
47d2d65e 356882005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35689
35690 * normal/completion.c (complete_arguments): Add the qualifier
35691 const into OPTIONS.
35692
35693 From Omniflux <omniflux+lists@omniflux.com>:
35694 * include/grub/terminfo.h: New file.
35695 * include/grub/tparm.h: Likewise.
35696 * include/grub/i386/pc/serial.h: Likewise.
35697 * term/terminfo.c: Likewise.
35698 * term/tparm.c: Likewise.
35699 * term/i386/pc/serial.c: Likewise.
35700 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35701 serial.mod.
35702 (terminfo_mod_SOURCES): New variable.
35703 (terminfo_mod_CFLAGS): Likewise.
35704 (serial_mod_SOURCES): Likewise.
35705 (serial_mod_CFLAGS): Likewise.
35706
48b671ff 357072005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35708
35709 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35710 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35711 and kern/powerpc/ieee1275/cmain.c, respectively.
35712
35713 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35714 * kern/powerpc/ieee1275/crt0.S: ... here.
35715
35716 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35717 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 35718
48b671ff 35719 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35720 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35721 instead of boot/powerpc/ieee1275/crt0.S and
35722 boot/powerpc/ieee1275/cmain.c, respectively.
35723
35724 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35725 sectors. It was not used anyway.
35726
09fc77a7 357272005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35728
35729 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35730 `unused parameter' warning.
35731
003789c7 357322005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35733
35734 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35735 function.
35736 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35737 getcharwidth.
35738
67f44c86 357392005-08-28 Marco Gerards <metgerards@student.han.nl>
35740
35741 * include/grub/normal.h (enum grub_completion_type): Added
35742 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35743
35744 * normal/cmdline.c (print_completion): Handle
35745 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35746 * normal/menu_entry.c (store_completion): Likewise.
35747
35748 * normal/completion.c (complete_arguments): New function.
35749 (grub_normal_do_completion): Call `complete_arguments' when the
35750 current words start with a dash.
35751
0b5abe02 357522005-08-27 Marco Gerards <metgerards@student.han.nl>
35753
35754 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35755 `gzio.mod' instead of `io.mod').
35756
d9864ee1 357572005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35758
35759 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35760 (DISTDIRS): Added io and video.
35761 Rewrite the search routine to make an output consistently.
35762
35763 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35764 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35765 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35766 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35767 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35768 util/powerpc/ieee1275/misc.c.
f19dbdb7 35769
d9864ee1 35770 * include/grub/gzio.h: New file.
35771 * io/gzio.c: Likewise.
f19dbdb7 35772
d9864ee1 35773 * kern/file.c (grub_file_close): Call grub_device_close only if
35774 FILE->DEVICE is not NULL.
35775
35776 * include/grub/mm.h [!NULL] (NULL): New macro.
35777
35778 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35779
35780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35781 (pkgdata_MODULES): Added gzio.mod.
35782 (gzio_mod_SOURCES): New variable.
35783 (gzio_mod_CFLAGS): Likewise.
35784
35785 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35786 (pkgdata_MODULES): Added gzio.mod.
35787 (gzio_mod_SOURCES): New variable.
35788 (gzio_mod_CFLAGS): Likewise.
35789
35790 * commands/cat.c: Include grub/gzio.h.
35791 (grub_cmd_cat): Use grub_gzfile_open instead of
35792 grub_file_open.
f19dbdb7 35793
d9864ee1 35794 * commands/cmp.c: Include grub/gzio.h.
35795 (grub_cmd_cmp): Use grub_gzfile_open instead of
35796 grub_file_open.
35797
35798 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35799 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35800 grub_file_open.
35801 (grub_rescue_cmd_module): Likewise.
35802
fa46f4b5 358032005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35804
35805 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35806 kern/sparc64/ieee1275/init.c because it contains _start.
35807 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35808
e9211b5d 358092005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35810
35811 * configure.ac: Add support for sparc64 host with ieee1275
35812 firmware.
35813 * configure: Generated from configure.ac.
35814 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35815 instead of int.
35816 (grub_ofdisk_read): Likewise.
35817 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35818 pointers as (void *) to remove a warning.
35819 (grub_ofdisk_close): Likewise.
35820 (grub_ofdisk_read): Likewise.
35821 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35822 returns, so make it return void to remove a warning.
35823 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35824 Corresponding prototype change.
35825 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35826 values, and cast the pointers as (void *) to remove a warning.
35827 (grub_mm_dump): Likewise.
35828 * conf/sparc64-ieee1275.mk: New file.
35829 * conf/sparc64-ieee1275.rmk: Likewise.
35830 * include/grub/sparc64/setjmp.h: Likewise.
35831 * include/grub/sparc64/types.h: Likewise.
35832 * include/grub/sparc64/ieee1275/console.h: Likewise.
35833 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35834 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35835 * include/grub/sparc64/ieee1275/time.h: Likewise.
35836 * kern/sparc64/cache.c: Likewise.
35837 * kern/sparc64/dl.c: Likewise.
35838 * kern/sparc64/ieee1275/init.c: Likewise.
35839 * kern/sparc64/ieee1275/openfw.c: Likewise.
35840
385c6a92 358412005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35842
35843 * util/console.c (grub_ncurses_putchar): If C is greater than
35844 0x7f, set C to a question mark.
35845 (grub_ncurses_getcharwidth): New function.
35846 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35847 getcharwidth.
35848
35849 * normal/menu.c (print_entry): Made aware of Unicode. First,
35850 convert TITLE to UCS-4, and predict the cursor position by
35851 grub_getcharwidth.
35852
35853 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35854 const to SRC.
35855 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35856
16ccb8b1 358572005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35858
35859 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35860 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35861 grub_strcat.
35862
35863 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35864 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35865 grub_strcpy and grub_strlen. Take it into account that a space
35866 character is inserted as a delimiter.
35867
6a85ce79 358682005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35869
35870 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 35871 invalid magic in the error.
6a85ce79 35872
35873 * commands/search.c: New file.
f19dbdb7 35874
6a85ce79 35875 * util/grub-emu.c (main): Call grub_search_init and
35876 grub_search_fini.
35877
35878 * kern/rescue.c (grub_rescue_print_disks): Removed.
35879 (grub_rescue_print_devices): New function.
35880 (grub_rescue_cmd_ls): Use grub_device_iterate with
35881 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35882 grub_rescue_print_disks.
35883
35884 * kern/partition.c (grub_partition_iterate): Return the result of
35885 PARTMAP->ITERATE instead of GRUB_ERRNO.
35886
35887 * kern/device.c: Include grub/partition.h.
35888 (grub_device_iterate): New function.
35889
35890 * include/grub/partition.h (grub_partition_iterate): Return int
35891 instead of grub_err_t.
35892
35893 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35894 prototype.
35895 [GRUB_UTIL] (grub_search_fini): Likewise.
35896
35897 * include/grub/device.h (grub_device_iterate): New prototype.
35898
35899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35900 commands/search.c.
35901 (pkgdata_MODULES): Added search.mod.
35902 (search_mod_SOURCES): New variable.
35903 (search_mod_CFLAGS): Likewise.
35904
35905 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35906 (pkgdata_MODULES): Added search.mod.
35907 (search_mod_SOURCES): New variable.
35908 (search_mod_CFLAGS): Likewise.
35909
35910 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35911 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35912 All callers changed.
35913
35914 * DISTLIST: Added commands/search.c.
35915
ef095434 359162005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35917
35918 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35919 conversion.
35920 (grub_getcharwidth): New function.
35921
35922 * kern/misc.c (grub_utf8_to_ucs4): New function.
35923
35924 * include/grub/term.h (struct grub_term): Added a new member
35925 "getcharwidth".
35926 (grub_getcharwidth): New prototype.
35927
35928 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35929
35930 * term/i386/pc/console.c (map_char): New function. Segregated from
35931 grub_console_putchar.
35932 (grub_console_putchar): Use map_char.
35933 (grub_console_getcharwidth): New function.
35934 (grub_console_term): Specified grub_console_getcharwidth as
35935 getcharwidth.
35936
35937 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35938 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35939
35940 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35941 GRUB_ERRNO.
35942 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35943 on grub_strtoul completely.
35944 (write_char): Declare local variables in the beginning of the
35945 function.
35946 (grub_vesafb_getcharwidth): New function.
35947 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35948 getcharwidth.
35949
1f0a95e4 359502005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35951
35952 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35953 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35954 commands/i386/pc/vbetest.c.
35955
35956 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35957 call grub_vbe_get_controller_info again, because the returned
35958 information is volatile.
35959 (grub_vbe_set_video_mode): Mostly rewritten.
35960 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35961 grub_vbe_status_t correctly.
35962 (grub_vbe_get_video_mode_info): Likewise.
35963 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35964 several if statements.
35965
35966 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35967 * commands/i386/pc/vbeinfo.c: ... this.
35968
35969 * commands/i386/pc/vbe_test.c: Renamed to ...
35970 * commands/i386/pc/vbetest.c: ... this.
35971
35972 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35973 ...
35974 (grub_cmd_vbeinfo): ... this. Save video modes before
35975 iterating. Skip a video mode, if it is not available, not enough
35976 information is given or it is monochrome. Show the memory
35977 model. Leave the interpretation of MODEVAR to grub_strtoul
35978 completely.
35979 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35980 (GRUB_MOD_FINI): Likewise.
35981
35982 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35983 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35984 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35985 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35986 grub_strtoul completely.
35987 (real2pm): Removed.
35988 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35989 (GRUB_MOD_FINI): Likewise.
35990
35991 * normal/misc.c: Include grub/mm.h.
35992
35993 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35994 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35995 (vbe_list_modes_mod_SOURCES): Removed.
35996 (vbe_list_modes_mod_CFLAGS): Likewise.
35997 (vbe_test_mod_SOURCES): Likewise.
35998 (vbe_test_mod_CFLAGS): Likewise.
35999 (vbeinfo_mod_SOURCES): New variable.
36000 (vbeinfo_mod_CFLAGS): Likewise.
36001 (vbetest_mod_SOURCES): Likewise.
36002 (vbetest_mod_CFLAGS): Likewise.
36003
992ffbbe 360042005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
36005
36006 * normal/misc.c: New file.
36007
36008 * DISTLIST: Added normal/misc.c.
f19dbdb7 36009
992ffbbe 36010 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
36011 DISK to HOOK. Call HOOK with DISK.
36012 * partmap/apple.c (apple_partition_map_iterate): Likewise.
36013 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36014 * partmap/sun.c (sun_partition_map_iterate): Likewise.
36015
36016 * normal/menu_entry.c (struct screen): Added a new member
36017 "completion_shown".
36018 (completion_buffer): New global variable.
36019 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
36020 (store_completion): New function.
36021 (complete): Likewise.
36022 (clear_completions): Likewise.
36023 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
36024 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
36025 a tab, call complete.
36026
36027 * normal/completion.c (disk_dev): Removed.
36028 (print_simple_completion): Likewise.
36029 (print_partition_completion): Likewise.
36030 (print_func): New global variable.
36031 (add_completion): Do not take the arguments WHAT or PRINT any
36032 longer. Added a new argument TYPE. Instead of printing directly,
36033 call PRINT_FUNC if not NULL.
36034 All callers changed.
36035 (complete_device): Use a local variable DEV instead of
36036 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
36037 (grub_normal_do_completion): Take a new argument HOOK. Do not
36038 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
36039 empty string, return NULL instead.
36040 All callers changed.
36041
36042 * normal/cmdline.c (print_completion): New function.
36043
36044 * kern/partition.c (grub_partition_iterate): Add an argument DISK
36045 to HOOK.
36046 All callers changed.
36047
36048 * kern/disk.c (grub_print_partinfo): Removed.
36049
36050 * include/grub/partition.h (struct grub_partition_map): Add a new
36051 argument DISK into HOOK of ITERATE.
36052 (grub_partition_iterate): Add a new argument DISK to HOOK.
36053
36054 * include/grub/normal.h (enum grub_completion_type): New enum.
36055 (grub_completion_type_t): New type.
36056 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
36057 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
36058 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
36059 (GRUB_COMPLETION_TYPE_FILE): Likewise.
36060 (grub_normal_do_completion): Added a new argument HOOK.
36061 (grub_normal_print_device_info): New prototype.
36062
36063 * include/grub/disk.h (grub_print_partinfo): Removed.
36064
36065 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
36066 (normal_mod_SOURCES): Likewise.
36067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36068 (normal_mod_SOURCES): Likewise.
36069
36070 * commands/ls.c (grub_ls_list_disks): Use
36071 grub_normal_print_device_info instead of grub_print_partinfo. Free
36072 PNAME.
36073 (grub_ls_list_files): Use grub_normal_print_device_info instead of
36074 duplicating the code.
36075
0bd41162 360762005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36077
36078 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 36079 follow GCS more precisely.
36080 * commands/i386/pc/vbe_test.c: Likewise.
36081 * include/grub/i386/pc/vbe.h: Likewise.
36082 * term/i386/pc/vesafb.c: Likewise.
36083 * video/i386/pc/vbe.c: Likewise.
0bd41162 36084
6323696a 360852005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
36086
36087 * DISTLIST: Added term/i386/pc/vesafb.c
36088 DISTLIST: Added video/i386/pc/vbe.c
36089 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
36090 DISTLIST: Added commands/i386/pc/vbe_test.c.
36091 * commands/i386/pc/vbe_list_modes.c: New file.
36092 * commands/i386/pc/vbe_test.c: Likewise.
36093 * term/i386/pc/vesafb.c: Likewise.
36094 * video/i386/pc/vbe.c: Likewise.
36095 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
36096 (grub_vbe_probe) Added prototype.
36097 (grub_vbe_set_video_mode) Likewise.
36098 (grub_vbe_get_video_mode) Likewise.
36099 (grub_vbe_get_video_mode_info) Likewise.
36100 (grub_vbe_set_pixel_rgb) Likewise.
36101 (grub_vbe_set_pixel_index) Likewise.
36102 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
36103 (pkgdata_MODULES): Added vesafb.mod.
36104 (pkgdata_MODULES): Added vbe_list_modes.mod.
36105 (pkgdata_MODULES): Added vbe_test.mod.
36106 (vbe_mod_SOURCES): Added.
36107 (vbe_mod_CFLAGS): Likewise.
36108 (vesafb_mod_SOURCES): Likewise.
36109 (vesafb_mod_CFLAGS): Likewise.
36110 (vbe_list_modes_mod_SOURCES): Likewise.
36111 (vbe_list_modes_mod_CFLAGS): Likewise.
36112 (vbe_test_mod_SOURCES): Likewise.
36113 (vbe_test_mod_CFLAGS): Likewise.
36114
0a74e62f 361152005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
36116
0a74e62f 36117 * normal/command.c (grub_command_execute): If INTERACTIVE is
36118 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
36119 CMDLINE. Disable the pager if INTERACTIVE is true.
36120 All callers are changed.
36121
36122 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
36123 before reading a config file.
36124 * normal/main.c (read_config_file): Even if a command is not
36125 found, register it if it is within an entry.
36126
36127 * util/grub-emu.c: Include sys/types.h and unistd.h.
36128 (options): Added --hold.
36129 (struct arguments): Added a new member "hold".
36130 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
36131 missing.
36132 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
36133 cleared by a debugger, if it is not zero.
36134
36135 * include/grub/normal.h (grub_command_execute): Add an argument
36136 INTERACTIVE.
36137
e51f85ae 361382005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
36139
36140 * DISTLIST: Added include/grub/i386/pc/vbe.h.
36141
e9c6f39b 361422005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
36143
36144 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
36145 program with another one, because the old one didn't detect a bug
36146 in gcc-3.4. Always use regparm 2, because the new test is still
36147 not enough for gcc-4.0. Someone must investigate a simple test
36148 case which detects a bug in gcc-4.0.
36149
8de3495c 361502005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
36151
36152 * DISTLIST: Added normal/completion.c.
36153
36154 * normal/completion.c: New file.
f19dbdb7 36155
8de3495c 36156 * term/i386/pc/console.c (grub_console_getwh): New function.
36157 (grub_console_term): Assign grub_console_getwh to getwh.
36158
36159 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
36160 function is defined in normal/completion.c as
36161 grub_normal_do_completion.
36162 (grub_cmdline_get): Use grub_normal_do_completion instead of
36163 grub_tab_complete.
36164
36165 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
36166 returns non-zero, otherwise return 0.
36167 (grub_partition_iterate): First, probe the partition map. Then,
36168 call ITERATE only for this partition map.
36169
36170 * kern/misc.c (grub_strncmp): Rewritten.
36171
36172 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
36173 returns non-zero. Otherwise return 0.
36174
36175 * include/grub/partition.h (grub_partition_map_iterate): Return
36176 int instead of void.
36177
36178 * include/grub/normal.h (grub_normal_do_completion): New prototype.
36179
36180 * include/grub/misc.h (grub_strncmp): Change the type of N to
36181 grub_size_t.
36182
36183 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
36184 of void.
36185
36186 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 36187 unsigned explicitly before comparing it with I.
8de3495c 36188
36189 * kern/main.c (grub_env_write_root): Add the attribute unused into
36190 VAR.
36191
36192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36193 normal/completion.c.
36194 (normal_mod_SOURCES): Likewise.
36195 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
36196 (normal_mod_SOURCES): Likewise.
36197
36198 * normal/command.c (grub_iterate_commands): If ITERATE returns
36199 non-zero, return one immediately.
36200
e85e144b 362012005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
36202
36203 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
36204 * kern/i386/pc/startup.S: Updated Global Descriptor table's
36205 descriptions.
36206 (grub_vbe_get_controller_info): New function.
36207 (grub_vbe_get_mode_info): Likewise.
36208 (grub_vbe_set_mode): Likewise.
36209 (grub_vbe_get_mode): Likewise.
36210 (grub_vbe_set_memory_window): Likewise.
36211 (grub_vbe_get_memory_window): Likewise.
36212 (grub_vbe_set_scanline_length): Likewise.
36213 (grub_vbe_get_scanline_length): Likewise.
36214 (grub_vbe_set_display_start): Likewise.
36215 (grub_vbe_get_display_start): Likewise.
36216 (grub_vbe_set_palette_data): Likewise.
36217 * include/grub/i386/pc/vbe.h: New file.
36218
c46153d2 362192005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36220
36221 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36222 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
36223 * DISTLIST: Likewise.
36224 * kern/ieee1275/of.c: Moved to ...
36225 * kern/ieee1275/ieee1275.c: ... here.
36226
0cb90c45 362272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36228
36229 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
36230 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
36231 Pass 0 as `end' parameter to grub_strtoul().
36232
a19fb360 362332005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36234
36235 * include/grub/powerpc/ieee1275/console.h: Do not include
36236 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
36237 ifdef.
36238 (grub_console_cur_color): Remove i386-specific prototype.
36239 (grub_console_real_putchar): Likewise.
36240 (grub_console_checkkey): Likewise.
36241 (grub_console_getkey): Likewise.
36242 (grub_console_getxy): Likewise.
36243 (grub_console_gotoxy): Likewise.
36244 (grub_console_cls): Likewise.
36245 (grub_console_setcursor): Likewise.
36246 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
36247 Include <grub/machine/console.h>.
36248 * term/ieee1275/ofconsole.c: Likewise.
36249
4ac9bd04 362502005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
36251
36252 * Makefile.in (LIBLZO): New variable.
36253
36254 * configure.ac: Check for LZO version 2.
36255
36256 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
36257 lzo/lzo1x.h instead of lzo1x.h.
36258
36259 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
36260 of -llzo.
36261
36262 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
36263 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
36264
36265 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
36266 copying the data from PARTITION to P.
36267
f4917dfd 362682005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36269
36270 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
36271 negative, unload the module.
36272
36273 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
36274 map is "pc_partition_map" but not "pc".
36275 (usage): Fix the description. The options are --boot-image and
36276 --core-image but not --boot-file or --core-file.
36277 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
36278 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
36279 DEFAULT_DIRECTORY.
36280
36281 * util/i386/pc/grub-install.in: Do not specify --boot-file or
36282 --core-file. Specify INSTALL_DEVICE as an argument.
36283
36284 * util/console.c: Include config.h.
36285 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
36286 [HAVE_NCURSES_H]: Include ncurses.h.
36287 [HAVE_CURSES_H]: Include curses.h.
36288 [!A_NORMAL] (A_NORMAL): Defined as zero.
36289 [!A_STANDOUT] (A_STANDOUT): Likewise.
36290
36291 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
36292 -lncurses.
36293 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
36294
36295 * configure.ac: Check for curses libraries and headers.
36296
36297 * Makefile.in (LIBCURSES): New variable.
36298
36299 * genmk.rb (Script::rule): Set the executable bits.
36300
36301 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
36302 name of the PC partition map is "pc_partition_map" but not "pc".
36303
0e143073 363042005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36305
36306 * util/i386/pc/grub-install.in (grub_probefs): New variable.
36307 (modules): Likewise.
36308 (usage): Added descriptions for --modules and --grub-probefs.
36309 Handle --modules and --grub-probefs. Save the arguments in MODULES
36310 and GRUB_PROBEFS, respectively.
36311 Auto-detect a filesystem module against GRUBDIR. If the result is
36312 empty and modules are not specified explicitly, abort the
36313 installation. Add the result to MODULES.
36314
36315 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
36316 disk/powerpc/ieee1275/ofdisk.c,
36317 include/grub/powerpc/ieee1275/init.h and
36318 term/powerpc/ieee1275/ofconsole.c.
36319 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
36320 term/ieee1275/ofconsole.c.
36321
36322 * include/grub/powerpc/ieee1275/console.h: Resurrected.
36323
36324 * COPYING: Upgraded to the latest version. Only the address of the
36325 FSF office has changed.
f19dbdb7 36326
efd6e6d5 363272005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36328
36329 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36330 kern/ieee1275.c with kern/ieee1275/of.c.
36331
36332 * kern/ieee1275.c: Moved to ...
36333 * kern/ieee1275/of.c: ... here.
36334
8ceafda2 363352005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
36336
36337 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 36338 readability.
8ceafda2 36339
36340 * config.guess: Updated to the latest version from gnulib.
36341 * config.sub: Likewise.
36342 * install.sh: Likewise.
36343 * mkinstalldirs: Likewise.
36344
36345 * include/grub/console.h: Removed. This file is arch-specific. Do
36346 not put this in include/grub.
36347
36348 * include/grub/i386/pc/console.h: Resurrected.
36349
36350 * util/console.c: Include grub/machine/console.h instead of
36351 grub/console.h.
36352 * util/grub-emu.c: Likewise.
36353
267f6cd9 363542005-08-04 Marco Gerards <metgerards@student.han.nl>
36355
36356 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
36357 hardcoded value.
f19dbdb7 36358
267f6cd9 36359 From Vincent Pelletier <subdino2004@yahoo.fr>
36360 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
36361 Redefined to use grub_getwh.
36362 (grub_term): New member named getwh.
36363 (grub_getwh): New prototype.
36364 * kern/term.c (grub_getwh): New function.
36365 * term/i386/pc/console.c (grub_console_getwh): New function.
36366 (grub_console_term): New member `getwh'.
36367 * term/i386/pc/vga.c (grub_vga_getwh): New function.
36368 (grub_vga_term): New member `getwh'.
0b5abe02 36369 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 36370 grub_ssize_t.
36371 (grub_ofconsole_getw): New function.
36372 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
36373 (grub_ofconsole_term): New field named getwh and new initial
36374 value.
36375
3be7266d 363762005-08-03 Hollis Blanchard <hollis@penguinppc.org>
36377
36378 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
36379 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
36380 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
36381 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
36382 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
36383 of <grub/machine/ieee1275.h>.
36384 * commands/ieee1275/reboot.c: Likewise.
36385 * boot/powerpc/ieee1275/ieee1275.c: Move ...
36386 * kern/ieee1275.c: ... to here. All users updated. Change all
36387 parameter structs to use new type `grub_ieee1275_cell_t'.
36388 * term/powerpc/ieee1275/ofconsole.c: Move ...
36389 * term/ieee1275/ofconsole.c: ... to here. All users updated.
36390 * disk/powerpc/ieee1275/ofdisk.c: Move ...
36391 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
36392 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
36393 to return int.
36394 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
36395 Remove unused prototypes. All users updated.
36396 * include/grub/powerpc/ieee1275/console.h: Removed.
36397 * include/grub/powerpc/ieee1275/ieee1275.h: Define
36398 `grub_ieee1275_cell_t'.
36399 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
36400 Cast comparisons with -1 to the correct type.
36401 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
36402 type to match `grub_ieee1275_entry_fn'.
36403
8b5f3938 364042005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
36405
36406 * DISTLIST: Added util/i386/pc/grub-probefs.c.
36407
36408 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
36409 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
36410 partmap/sun.c.
36411 (grub_probefs_SOURCES): New variable.
36412
36413 * util/i386/pc/grub-probefs.c: New file.
36414
36415 * util/i386/pc/grub-setup.c (main): Call
36416 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
36417 grub_hfs_init and grub_jfs_init to initialize the system. Call
36418 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
36419 grub_pc_partition_map_fini to finish the system.
36420
ea409713 364212005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
36422
36423 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
36424 function.
36425 (grub_multiboot_load_elf32): Likewise.
36426 (grub_multiboot_is_elf64): Likewise.
36427 (grub_multiboot_load_elf64): Likewise.
36428 (grub_multiboot_load_elf): Likewise.
36429 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
36430 an ELF32 or ELF64 file.
36431 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
36432
36433 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
36434 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
36435 NULL before calling FS->LABEL.
36436 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
36437 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
36438 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
36439 before calling FS->LABEL.
36440
141a288b 364412005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
36442
36443 * util/i386/pc/grub-install.in (datadir): New variable.
36444 (libdir): Removed.
36445 (pkgdatadir): New variable.
36446 (pkglibdir): Removed.
36447
0d5f8a54 364482005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
36449
36450 * DISTLIST: Added util/i386/pc/grub-install.in.
36451
36452 * util/i386/pc/grub-install.in: New file.
36453
36454 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
36455 (grub_install_SOURCES): Likewise.
36456
36457 * genmk.rb: Added support for scripts.
36458 (Script): New class.
36459 (scripts): New variable.
36460
36461 * Makefile.in (install-local): Install sbin_SCRIPTS by
36462 INSTALL_SCRIPT.
36463 (uninstall): Remove sbin_SCRIPTS.
36464
36465 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
36466 device, try to get a GRUB device by
36467 grub_util_biosdisk_get_grub_dev.
36468 Free DEST_DEV.
36469
36470 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
36471 description for --device-map.
36472
5f968e1e 364732005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36474
36475 Change the semantics of variable hooks. They now return strings
36476 instead of error values.
f19dbdb7 36477
5f968e1e 36478 * util/i386/pc/grub-setup.c: Include grub/env.h.
36479 (setup): Use grub_device_set_root instead of grub_env_set.
36480
36481 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
36482 grub_env_get instead of grub_device_set_root and
36483 grub_device_get_root, respectively.
36484
36485 * kern/main.c (grub_env_write_root): New function.
36486 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
36487 grub_env_set instead of grub_device_set_root.
36488
36489 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
36490 many variables.
36491 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
36492 rather than calling ENV->WRITE_HOOK afterwards.
36493 (grub_env_get): Return the result of ENV->READ_HOOK rather than
36494 passing a pointer of a pointer.
36495 (grub_register_variable_hook): Change the types of "read_hook" and
36496 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
36497 respectively.
36498 Allocate the default empty string on the heap, because this string
36499 may be freed later.
36500
36501 * kern/device.c: Include grub/env.h.
36502 (grub_device_set_root): Removed.
36503 (grub_device_get_root): Likewise.
36504 (grub_device_open): Use grub_env_get instead of
36505 grub_device_get_root.
36506
36507 * include/grub/env.h (grub_env_read_hook_t): New type.
36508 (grub_env_write_hook_t): Likewise.
36509 (grub_env_var): Change the types of "read_hook" and "write_hook"
36510 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36511 (grub_register_variable_hook): Likewise.
36512
36513 * include/grub/device.h (grub_device_set_root): Removed.
36514 (grub_device_set_root): Likewise.
36515
36516 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36517 make sure that DIRNAME terminates with '/', so that
36518 grub_fat_find_dir will fail if PATH is not a directory.
36519
36520 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36521 from DIRNAME.
36522 Use the qualifier auto for print_files and print_files_long.
36523 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36524 as a regular file.
36525 Put a newline only if there is no error.
36526 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36527 used.
36528
896f0afd 365292005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36530
36531 * kern/partition.c (grub_partition_probe): Initialize PART to
36532 NULL. Otherwise, when no partition map is registered, this returns
36533 a garbage.
36534
b28b81b2 365352005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36536
36537 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36538 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36539 valid.
36540
5f3607e0 365412005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36542
36543 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36544 information on each device, if it does not have partitions. Print
36545 "Device" instead of "Disk", because this function is not specific
36546 to disk devices.
36547
36548 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36549 static to ensure that it is put on the memory rather than a
36550 register.
36551
502c87e8 365522005-07-17 Yoshinori Okuji <okuji@enbug.org>
36553
36554 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36555 (grub_cat_init): Likewise.
36556 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36557 (options): Likewise.
36558 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36559 (grub_configfile_init): Likewise.
36560 * font/manager.c (GRUB_MOD_INIT): Likewise.
36561 * commands/help.c (GRUB_MOD_INIT): Likewise.
36562 (grub_help_init): Likewise.
36563 * normal/command.c (grub_command_init): Likewise.
36564 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36565 * disk/loopback.c (grub_loop_init): Likewise.
36566 (GRUB_MOD_INIT): Likewise.
36567 * commands/ls.c (grub_ls_init): Likewise.
36568 (GRUB_MOD_INIT): Likewise.
36569 (options): Likewise.
36570 * commands/boot.c (grub_boot_init): Likewise.
36571 (GRUB_MOD_INIT): Likewise.
36572 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36573 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36574 (GRUB_MOD_INIT): Likewise.
36575 * commands/cmp.c (grub_cmp_init): Likewise.
36576 (GRUB_MOD_INIT): Likewise.
36577
36578 * normal/arg.c: Use <> instead of "" to include header files.
36579 (SHORT_ARG_HELP): New macro.
36580 (SHORT_ARG_USAGE): Likewise.
36581 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36582 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36583 descriptions.
36584 (find_short): Check if C is 'h' or 'u' explicitly.
36585 (grub_arg_show_help): Use space characters instead of tabs. Treat
36586 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36587 are shown with --help and --usage only if they are not used for
36588 the command itself.
36589 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36590 'h' and 'u'.
36591
36592 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36593 const into "longarg". Change the type of "shortarg" to int.
36594
f806d18e 365952005-07-17 Yoshinori Okuji <okuji@enbug.org>
36596
36597 * boot/i386/pc/boot.S (boot_drive_check): New label.
36598
36599 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36600 macro.
36601
36602 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36603 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36604
e293232b 366052005-07-17 Yoshinori Okuji <okuji@enbug.org>
36606
36607 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36608 When turning off Gate A20, skip the check and return immediately,
36609 because this is not fatal usually.
36610
ebedfd00 366112005-07-17 Yoshinori Okuji <okuji@enbug.org>
36612
36613 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36614 be 0x7C00 instead of 0x8000.
36615
36616 * boot/i386/pc/pxeboot.S: Rewritten.
36617
36618 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36619 EXT_C.
36620 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36621 result.
36622
654fc59f 366232005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36624
36625 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36626 robustness. This routine now supports a BIOS call and System
36627 Control Port A to modify the gate A20.
36628
36629 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36630 Increased to 0x440.
36631
09f9923f 366322005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36633
36634 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36635 device path and resulting ihandle.
36636 (grub_ofdisk_close): dprintf the ihandle being closed.
36637 (grub_ofdisk_read): dprintf function parameters.
36638 * kern/mm.c (grub_mm_init_region): Likewise.
36639 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36640 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36641 size, and boot arguments.
36642 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36643 before loading into memory.
36644 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36645 before loading into memory.
36646
7ef504d8 366472005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36648
36649 * kern/mm.c: Added much documentation.
36650 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36651 8, set to 5 instead of 8.
36652
e0f050c2 366532005-07-10 Yoshinori Okuji <okuji@enbug.org>
36654
36655 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36656
36657 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36658 (grub_mkdevicemap_SOURCES): New variable.
36659
36660 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36661 lib/device.c of GRUB Legacy.
36662
7224189a 366632005-07-10 Yoshinori Okuji <okuji@enbug.org>
36664
36665 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36666 instead of PATH is NULL.
36667
68c864eb 366682005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36669
36670 * commands/cmp.c (BUFFER_SIZE): New macro.
36671 (grub_cmd_cmp): Close the right file at the right time. Compare
36672 only data just read. Don't report files of different size as
36673 identical. Dynamically allocate buffers. Move variable
36674 declarations at the beginning of function.
36675
e6f3e614 366762005-07-09 Yoshinori Okuji <okuji@enbug.org>
36677
36678 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36679 reverse.
36680
f8f1559a 366812004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36682
36683 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36684 when backspace is pressed at beginning of line.
36685
39c9d41d 366862005-07-03 Yoshinori Okuji <okuji@enbug.org>
36687
36688 * DISTLIST: Added genfslist.sh.
36689
36690 * normal/main.c (fs_module_list): New variable.
36691 (autoload_fs_module): New function.
36692 (read_fs_list): Likewise.
36693 (grub_normal_execute): Call read_fs_list.
36694
36695 * kern/fs.c (grub_fs_autoload_hook): New variable.
36696 (grub_fs_probe): Added support for auto-loading.
36697
36698 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36699 (grub_fs_module_list_t): New type.
36700
36701 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36702 (grub_fs_autoload_hook): New prototype.
36703
36704 * genfslist.sh: New file.
f19dbdb7 36705
39c9d41d 36706 * genmk.rb: Added a rule to generate a filesystem list.
36707
121c1d83 367082005-06-30 Marco Gerards <metgerards@student.han.nl>
36709
36710 * configure.ac: Fix the test for cross-compiling.
36711
36712 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36713 define GRUB_UTIL anymore.
36714
36715 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36716 so this function works on other systems than just big endian.
36717 (load_modules): Likewise.
36718 (add_segments): Likewise.
36719
e75d76e1 367202005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36721
36722 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36723 contains `l' modifier, get a long from va_arg().
36724
50b5a0a7 367252005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36726
36727 * kern/mm.c (grub_free): If the next free block which is being
36728 merged is the first free block, set the first block to the block
36729 being freed.
36730 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36731
89371b20 367322005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36733
36734 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36735 `grub_ieee1275_chosen'.
36736
168d6e58 367372005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36738
36739 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36740 (grub_ieee1275_chosen): New variable.
36741 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36742 `chosen'.
36743 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36744 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36745 Rename first argument to `phandle' for consistency.
36746 (grub_ieee1275_get_property_length): Likewise.
36747 (grub_ieee1275_next_property): Likewise. Change type of first argument
36748 to grub_ieee1275_phandle_t.
36749 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36750 Move export next to declaration.
36751 (grub_ieee1275_chosen): New variable.
36752 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36753 Correct cosmetic typo.
36754 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36755 `grub_ieee1275_chosen'.
36756 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36757 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36758 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36759 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36760 `grub_ieee1275_chosen'.
36761
ca5baa3f 367622005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36763
36764 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36765 /chosen/bootargs.
36766 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36767 /chosen/bootargs as "variable=value" pairs.
36768
708b345f 367692005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36770
36771 * include/grub/misc.h (grub_dprintf): New macro.
36772 (grub_real_dprintf): New prototype.
36773 (grub_strword): Likewise.
36774 (grub_iswordseparator): Likewise.
36775 * kern/misc.c (grub_real_dprintf): New function.
36776 (grub_strword): Likewise.
36777 (grub_iswordseparator): Likewise.
36778
f4c5e67c 367792005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36780
36781 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36782 (roundup): Remove macro.
36783 (grub_ieee1275_flags): Make static.
36784 (grub_ieee1275_realmode): Remove.
36785 (grub_ieee1275_test_flag): New function.
36786 (grub_ieee1275_set_flag): Likewise.
36787 (find_options): Rename to `grub_ieee1275_find_options'; update
36788 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36789 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36790 (cmain): New prototype.
36791 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36792 `grub_ieee1275_flags' directly.
36793 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36794 machine/biosdisk.h.
36795 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36796 Don't include grub/machine/init.h.
36797 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36798 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36799 Remove prototype.
36800 (grub_ieee1275_realmode): Likewise.
36801 (grub_ieee1275_flag): New enum.
36802 (grub_ieee1275_test_flag): New prototype.
36803 (grub_ieee1275_set_flag): New prototype.
36804 * include/grub/powerpc/ieee1275/init.h: Remove file.
36805 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36806 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36807 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36808 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36809 comment.
36810 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36811 `grub_ieee1275_test_flag'.
36812 (grub_ieee1275_encode_devname): Likewise.
36813
ed16607e 368142005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36815
36816 * include/grub/powerpc/ieee1275/ieee1275.h
36817 (grub_ieee1275_encode_devname): New prototype.
36818 (grub_ieee1275_get_filename): Likewise.
36819 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36820 function.
36821 (grub_set_prefix): Likewise.
36822 (grub_machine_init): Call grub_set_prefix.
36823 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36824 (grub_parse_type): New enum.
36825 (grub_ieee1275_get_devargs): New function.
36826 (grub_ieee1275_get_devname): Likewise.
36827 (grub_ieee1275_parse_args): Likewise.
36828 (grub_ieee1275_get_filename): Likewise.
36829 (grub_ieee1275_encode_devname): Likewise.
36830
be369920 368312005-03-30 Marco Gerards <metgerards@student.han.nl>
36832
36833 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36834 `grub_loader_unset'.
36835
a5ce3a4a 368362005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36837
36838 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36839 instead of grub_ieee1275_interpret.
36840 (grub_halt_init): New function.
36841 (grub_halt_fini): Likewise.
36842 (GRUB_MOD_INIT): Correct message grammar.
36843 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36844 instead of grub_ieee1275_interpret.
36845 (grub_reboot_init): New function.
36846 (grub_reboot_fini): Likewise.
36847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36848 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36849 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36850 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36851 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36852 function.
36853 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36854 Add prototype.
36855 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36856 prototype.
36857 (grub_halt): Likewise.
36858 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36859 (cmain): Remove __attribute__((unused)).
36860 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36861 (grub_heap_len): Likewise.
36862 (grub_machine_fini): New function.
36863 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36864 (grub_halt): Likewise.
36865 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36866 function.
36867 * util/powerpc/ieee1275/misc.c: New file.
36868
0058f771 368692005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36870
36871 * DISTLIST: New file.
36872 * gendistlist.sh: Likewise.
f19dbdb7 36873
0058f771 36874 * Makefile.in (COMMON_DISTFILES): Removed.
36875 (BOOT_DISTFILES): Likewise.
36876 (CONF_DISTFILES): Likewise.
36877 (DISK_DISTFILES): Likewise.
36878 (FS_DISTFILES): Likewise.
36879 (INCLUDE_DISTFILES): Likewise.
36880 (KERN_DISTFILES): Likewise.
36881 (LOADER_DISTFILES): Likewise.
36882 (TERM_DISTFILES): Likewise.
36883 (UTIL_DISTFILES): Likewise.
36884 (DISTFILES): Likewise.
36885 (uninstall): Uninstall files in $(pkgdata_DATA).
36886 (DISTLIST): New target.
36887 (distdir): Use the contents of the file DISTLIST to get a list of
36888 distributed files.
36889
46b3b8a5 368902005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36891
36892 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36893 descriptor. This is ported from GRUB Legacy.
36894
36895 * gencmdlist.sh: Added an extra semicolon to make it work with
36896 old sed versions. Reported by Robert Bihlmeyer
36897 <robbe@orcus.priv.at>.
36898
5822ff87 368992005-03-08 Yoshinori Okuji <okuji@enbug.org>
36900
36901 Automatic loading of commands is supported.
f19dbdb7 36902
5822ff87 36903 * normal/main.c (read_command_list): New function.
36904 (grub_normal_execute): Call read_command_list.
36905
36906 * normal/command.c (grub_register_command): Return zero or CMD.
36907 Allocate CMD->NAME from the heap.
36908 Initialize CMD->MODULE_NAME to zero.
36909 Find the same name as well. If the same command is found and it is
36910 a dummy command, overwrite members. If it is not a dummy command,
36911 return zero.
36912 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36913 (grub_command_find): If a dummy command is found, load a module
36914 and retry to find a command only once.
36915
36916 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36917 make sure that each command is loaded.
36918
36919 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36920 macro.
36921 (struct grub_command): Remove const from the member `name'.
36922 Add a new member `module_name'.
36923 (grub_register_command): Return grub_command_t.
36924
36925 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36926 sure that each command is loaded.
36927
36928 * genmk.rb (PModule::rule): Specify a module name without the
36929 suffix ".mod" to gencmdlist.sh.
36930
7b1f4b57 369312005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36932
36933 * gencmdlist.sh: New file.
f19dbdb7 36934
7b1f4b57 36935 * genmk.rb (PModule::rule): Generate a rule for a command list.
36936 Clean command.lst.
36937 Generate command.lst from $(COMMANDFILES).
36938
36939 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36940 (DATA): Added $(pkgdata_DATA).
36941 (install-local): Install files in $(pkgdata_DATA).
36942
062aaf39 369432005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36944
36945 * term/i386/pc/vga.c (debug_command): Removed.
36946 (GRUB_MOD_INIT): Do not register the command "debug".
36947
36948 From Hollis Blanchard:
36949 * commands/configfile.c: New file.
36950 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36951 commands/configfile.c.
36952 (pkgdata_MODULES): Added configfile.mod.
36953 (configfile_mod_SOURCES): New variable.
36954 (configfile_mod_CFLAGS): Likewise.
36955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36956 commands/configfile.c.
36957 (pkgdata_MODULES): Added configfile.mod.
36958 (configfile_mod_SOURCES): New variable.
36959 (configfile_mod_CFLAGS): Likewise.
36960 * util/grub-emu.c (main): Call grub_configfile_init and
36961 grub_configfile_fini.
36962 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36963 prototype.
36964 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 36965
cee01aa6 369662005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36967
36968 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36969 address.
36970
36971 * commands/help.c (grub_cmd_help): Do not print newlines after
36972 the last command in print_command_help.
36973
93f3a1d8 369742005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36975
36976 * commands/default.h: New file.
36977 * commands/timeout.h: Likewise.
36978 * normal/context.c: Likewise.
f19dbdb7 36979
93f3a1d8 36980 * util/misc.c: Do not include sys/times.h.
36981 Include sys/time.h and grub/machine/time.h.
36982 (grub_get_rtc): Rewritten with gettimeofday.
36983
36984 * util/grub-emu.c (main): Call grub_default_init and
36985 grub_timeout_init before grub_normal_init, and call
36986 grub_timeout_fini and grub_default_fini after grub_main.
36987
36988 * util/console.c (grub_ncurses_checkkey): Return the read
36989 character or -1.
36990
36991 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36992 timeouts.
36993
36994 * normal/main.c (read_config_file): Push MENU. If this fails,
36995 print an error and wait for a user input.
36996 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36997 If a menu is empty or an error occurs, pop MENU.
36998 (grub_normal_execute): Pop and free MENU after grub_menu_run
36999 returns.
37000
37001 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
37002
37003 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
37004 include time.h.
37005 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37006 without GRUB_UTIL.
37007 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
37008 time.h.
37009 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
37010 without GRUB_UTIL.
37011
37012 * include/grub/normal.h (struct grub_menu_list): New struct.
37013 (grub_menu_list_t): New type.
37014 (struct grub_context): New struct.
37015 (grub_context_t): New type.
37016 (grub_register_command): Got rid of EXPORT_FUNC.
37017 (grub_unregister_command): Likewise.
37018 (grub_context_get): New prototype.
37019 (grub_context_get_current_menu): Likewise.
37020 (grub_context_push_menu): Likewise.
37021 (grub_context_pop_menu): Likewise.
37022 [GRUB_UTIL] (grub_default_init): Likewise.
37023 [GRUB_UTIL] (grub_default_fini): Likewise.
37024 [GRUB_UTIL] (grub_timeout_init): Likewise.
37025 [GRUB_UTIL] (grub_timeout_fini): Likewise.
37026
37027 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
37028 commands/timeout.c and normal/context.c.
37029 (pkgdata_MODULES): Added default.mod and timeout.mod.
37030 (normal_mod_SOURCES): Added normal/context.c.
37031 (default_mod_SOURCES): New variable.
37032 (default_mod_CFLAGS): Likewise.
37033 (timeout_mod_SOURCES): Likewise.
37034 (timeout_mod_CFLAGS): Likewise.
37035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
37036 conf/i386-pc.rmk.
37037 (pkgdata_MODULES): Added default.mod and timeout.mod.
37038 (normal_mod_SOURCES): Added normal/context.c.
37039 (default_mod_SOURCES): New variable.
37040 (default_mod_CFLAGS): Likewise.
37041 (timeout_mod_SOURCES): Likewise.
37042 (timeout_mod_CFLAGS): Likewise.
37043
37044 * Makefile.in (all-local): Added $(MKFILES).
37045
4ed2e1dd 370462005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
37047
37048 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
37049 (grub_emu_SOURCES): Likewise.
37050 (pkgdata_MODULES): Add `sun.mod'.
37051 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
37052 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37053 `partmap/sun.c'.
37054 (pkgdata_MODULES): Add `sun.mod'.
37055 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
37056 * include/grub/partition.h (grub_sun_partition_map_init): New
37057 prototype.
37058 (grub_sun_partition_map_fini): Likewise.
37059 * partmap/sun.c: New file.
37060 * util/grub-emu.c (main): Initialize and de-initialize the sun
37061 partitionmap support.
37062
4d4e372e 370632005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
37064
37065 This implements an Emacs-like menu entry editor.
f19dbdb7 37066
4d4e372e 37067 * normal/menu_entry.c: New file.
f19dbdb7 37068
4d4e372e 37069 * util/console.c (grub_ncurses_putchar): Translate some Unicode
37070 characters to ASCII.
37071 (saved_char): New variable.
37072 (grub_ncurses_checkkey): Rewritten completely.
37073 (grub_ncurses_getkey): Likewise.
37074 (grub_ncurses_init): Call raw instead of cbreak.
37075
37076 * normal/menu.c (print_entry): Do not put a space.
37077 (init_page): Renamed to ...
37078 (grub_menu_init_page): ... this. All callers changed.
37079 (edit_menu_entry): Removed.
37080 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
37081
37082 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
37083
37084 * kern/misc.c (grub_vprintf): Call grub_refresh.
37085
37086 * normal/menu.c (DISP_LEFT): Renamed to ...
37087 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
37088 * normal/menu.c (DISP_UP): Renamed to ...
37089 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
37090 * normal/menu.c (DISP_RIGHT): Renamed to ...
37091 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
37092 * normal/menu.c (DISP_DOWN): Renamed to ...
37093 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
37094 * normal/menu.c (DISP_HLINE): Renamed to ...
37095 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
37096 * normal/menu.c (DISP_VLINE): Renamed to ...
37097 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
37098 * normal/menu.c (DISP_UL): Renamed to ...
37099 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
37100 * normal/menu.c (DISP_UR): Renamed to ...
37101 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
37102 * normal/menu.c (DISP_LL): Renamed to ...
37103 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
37104 * normal/menu.c (DISP_LR): Renamed to ...
37105 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
37106 * normal/menu.c (TERM_WIDTH): Renamed to ...
37107 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
37108 * normal/menu.c (TERM_HEIGHT): Renamed to ...
37109 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
37110 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
37111 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
37112 * normal/menu.c (TERM_MARGIN): Renamed to ...
37113 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
37114 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
37115 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
37116 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
37117 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
37118 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
37119 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
37120 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
37121 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
37122 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
37123 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
37124 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
37125 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
37126 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
37127 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
37128 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
37129 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
37130 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
37131 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
37132 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
37133 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
37134 All callers changed.
37135
37136 * include/grub/normal.h: New prototype.
37137
37138 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37139 normal/menu_entry.c.
37140 (normal_mod_SOURCES): Likewise.
37141 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37142 (normal_mod_SOURCES): Likewise.
37143
e6b92c8a 371442005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
37145
37146 * include/grub/normal.h (grub_halt_init): New prototype.
37147 (grub_halt_fini): Likewise.
37148 (grub_reboot_init): Likewise.
37149 (grub_reboot_fini): Likewise.
37150
37151 * util/grub-emu.c: Include signal.h.
37152 (main_env): New global variable.
37153 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
37154 catch C-c.
37155 (grub_machine_fini): New function.
37156 (main): Call grub_halt_init and grub_reboot_init before
37157 grub_main, and grub_reboot_fini and grub_halt_fini after it.
37158 Call setjmp with MAIN_ENV to go back afterwards.
37159 Call grub_machine_fini right before return.
37160
37161 * include/grub/util/misc.h: Include setjmp.h.
37162 (main_env): New prototype.
37163
37164 * include/grub/kernel.h (grub_machine_fini): New prototype.
37165 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
37166 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
37167
37168 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
37169 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
37170 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 37171
e6b92c8a 37172 * util/i386/pc/misc.c: New file.
f19dbdb7 37173
e6b92c8a 37174 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37175 util/i386/pc/misc.c, commands/i386/pc/halt.c and
37176 commands/i386/pc/reboot.c.
37177
c642636f 371782005-02-14 Guillem Jover <guillem@hadrons.org>
37179
37180 * include/grub/dl.h (grub_dl_check_header): New prototype.
37181 (grub_arch_dl_check_header): Change return type to grub_err_t,
37182 remove size parameter and export function. Update all callers.
37183 * kern/dl.c (grub_dl_check_header): New function.
37184 (grub_dl_load_core): Use `grub_dl_check_header' instead of
37185 `grub_arch_dl_check_header'. Check ELF type. Check if sections
37186 are inside the core.
37187 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
37188 independent ELF header checks.
37189 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37190 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
37191 `grub_dl_check_header' instead of explicit checks. Check for the
37192 ELF type.
37193 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
37194 `grub_dl_check_header' instead of explicit checks. Remove arch
37195 specific ELF header checks.
37196
e6b92c8a 37197 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
37198 argument SIZE.
37199
5eabe94b 372002005-02-13 Hollis Blanchard <hollis@penguinppc.org>
37201
37202 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
37203 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
37204
1b14a681 372052005-02-12 Hollis Blanchard <hollis@penguinppc.org>
37206
37207 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 37208 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 37209 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 37210 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 37211 * partmap/amiga.c (amiga_partition_map_iterate): Return
37212 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
37213 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37214
aca108aa 372152005-02-01 Guillem Jover <guillem@hadrons.org>
37216
37217 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
37218 help info.
37219
c9f9c556 372202005-01-31 Marco Gerards <metgerards@student.han.nl>
37221
37222 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
37223 Removed prototype.
37224 (grub_rescue_cmd_linux): New prototype.
37225 (grub_rescue_cmd_initrd): Likewise.
37226 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
37227 `bi_rec'.
37228 (grub_linux_release_mem): Release the memory for the initrd.
37229 (grub_load_linux): Renamed from this...
37230 (grub_rescue_cmd_linux): ...To this. Changed all callers.
37231 Changed `entry' not to be static. Loop over memory regions to
37232 find another one when the default fails.
37233 (grub_rescue_cmd_initrd): New function.
37234 (grub_linux_init): Remove function.
37235 (grub_linux_fini): Likewise.
37236 (GRUB_MOD_INIT): Register `initrd'.
37237 (GRUB_MOD_FINI): Unregister `initrd'.
37238 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
37239 Function removed.
37240 (grub_linux_normal_fini): Likewise.
37241 (GRUB_MOD_INIT): Register `initrd'.
37242 (GRUB_MOD_FINI): Unregister `initrd'.
37243
990cf3aa 372442005-01-31 Marco Gerards <metgerards@student.han.nl>
37245
37246 * commands/help.c: New file.
37247 * normal/arg.c (show_help): Renamed to...
37248 (grub_arg_show_help): ... this.
37249 * commands/i386/pc/halt.c: New file.
37250 * commands/i386/pc/reboot.c: Likewise.
37251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
37252 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
37253 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
37254 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
37255 variables.
37256 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37257 `commands/help.c'.
37258 (pkgdata_MODULES): Add `help.mod'.
37259 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
37260 * grub/i386/pc/init.h (grub_reboot): New prototype.
37261 (grub_halt): Likewise.
37262 * include/grub/normal.h (grub_arg_show_help): New prototype.
37263 (grub_help_init): Likewise.
37264 (grub_help_fini): Likewise.
37265 * util/grub-emu.c (main): Initialize and deinitialize the help
37266 command.
37267
37268 * normal/cmdline.c (grub_cmdline_get): Doc fix.
37269
37270 * normal/command.c (grub_command_init): Fixed the description of
37271 the `set' and `unset' commands.
37272
372732005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 37274
37275 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
37276 function.
37277 * commands/ieee1275/halt.c: New file.
37278 * commands/ieee1275/reboot.c: Likewise.
37279 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
37280 `__attribute__ ((unused))'. Some GCS related fixed.
37281 (grub_suspend_init) [GRUB_UTIL]: Function removed.
37282 (grub_suspend_fini): Likewise.
37283 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
37284 and `halt.mod'.
37285 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
37286 (halt_mod_CFLAGS): New variables.
37287 * include/grub/powerpc/ieee1275/ieee1275.h
37288 (grub_ieee1275_interpret): New prototype.
37289
1ab09cc7 372902005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
37291
37292 * include/grub/misc.h (memmove): New prototype.
37293 (memcpy): Likewise.
37294
8b8cbdb2 372952005-01-22 Hollis Blanchard <hollis@penguinppc.org>
37296
37297 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
37298 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
37299
e3741a27 373002005-01-22 Marco Gerards <metgerards@student.han.nl>
37301
37302 * kern/misc.c (grub_strndup): Function rewritten.
37303
776bd780 373042005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
37305
37306 * normal/menu.c (TERM_WIDTH): Macro redefined.
37307 (TERM_TOP_BORDER_Y): Likewise.
37308 (draw_border): Replaced while-loop by a for-loop. Make the number
37309 of lines consistent with the number of lines displayed in
37310 print_entries. Added a margin below the rectangle.
37311 (print_entry): Make the entry fit in the rectangle.
37312 (print_entries): Display the scroll arrows next to the right
37313 border.
37314
78026bce 373152005-01-21 Marco Gerards <metgerards@student.han.nl>
37316
37317 * fs/minix.c (grub_minix_find_file): Reserve more space for
37318 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
37319 `grub_strncpy' to copy `path' into it.
37320
67bbaf0f 373212005-01-21 Marco Gerards <metgerards@student.han.nl>
37322
37323 Add the loopback device, a device via which files can be accessed
37324 as devices.
f19dbdb7 37325
67bbaf0f 37326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
37327 (pkgdata_MODULES): Add loopback.mod.
37328 (loopback_mod_SOURCES): New variable.
37329 (loopback_mod_CFLAGS): Likewise.
37330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37331 `disk/loopback.c'.
37332 (pkgdata_MODULES): Add loopback.mod.
37333 (loopback_mod_SOURCES): New variable.
37334 (loopback_mod_CFLAGS): Likewise.
37335 * disk/loopback.c: new file.
37336 * include/grub/normal.h (grub_loop_init): New prototype.
37337 (grub_loop_fini): New prototype.
37338 * util/grub-emu.c (main): Initialize and de-initialize loopback
37339 support.
37340 * include/grub/disk.h (grub_disk_dev_id): Add
37341 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
37342
6f1c18bd 373432005-01-20 Hollis Blanchard <hollis@penguinppc.org>
37344
37345 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
37346 function.
37347 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
37348 (suspend_mod_SOURCES): New variable.
37349 (suspend_mod_CFLAGS): Likewise.
37350 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
37351 New prototype.
37352 * commands/ieee1275/suspend.c: New file.
37353
b38551da 373542005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37355
37356 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 37357 ((unused))' to `__attribute__ ((used))'.
b38551da 37358 (GRUB_MOD_FINI): Likewise.
37359 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
37360 * genmk.rb (PModule): Assign space to common symbols when linking
37361 modules.
37362
777aff39 373632005-01-20 Marco Gerards <metgerards@student.han.nl>
37364
37365 * include/grub/mm.h (grub_mm_init_region): Change the type of the
37366 `unsigned' arguments to `grub_size_t'.
37367 (grub_malloc): Likewise.
37368 (grub_realloc): Likewise.
37369 (grub_memalign): Likewise.
37370 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
37371 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37372 * util/misc.c (grub_malloc): Likewise.
37373 (grub_realloc): Likewise.
37374 * kern/mm.c (get_header_from_pointer): Change the casts to
37375 `unsigned' into a cast to `grub_size_t'.
37376
37377 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
37378 point to `currnode' when `currnode' is changed.
37379
37380 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
37381 Schottelius <nico-linux@schottelius.org>.
37382
d0ff18e1 373832005-01-09 Hollis Blanchard <hollis@penguinppc.org>
37384
37385 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
37386 (note_path): Remove variable.
37387 (GRUB_IEEE1275_NOTE_NAME): New macro.
37388 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
37389 (grub_ieee1275_note_hdr): New structure.
37390 (grub_ieee1275_note_desc): Likewise.
37391 (grub_ieee1275_note): Likewise.
37392 (load_note): Remove `dir' argument. All callers updated. Remove
37393 `note_img' and `path'. Do not load a file from `note_path'.
37394 Initialize a struct grub_ieee1275_note and write that to `out'.
37395 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
37396
4ca7004c 373972005-01-05 Marco Gerards <metgerards@student.han.nl>
37398
37399 * util/misc.c (grub_util_read_image): Revert last change. It
37400 called `grub_util_read_at', which seeks from the beginning of the
37401 file.
37402
0b412211 374032005-01-04 Hollis Blanchard <hollis@penguinppc.org>
37404
37405 * TODO: Add note about endianness in grub-mkimage.
37406 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
37407 section.
37408 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
37409 (grub_mkimage_SOURCES): New target.
37410 * include/grub/kernel.h (grub_start_addr): Remove variable.
37411 (grub_end_addr): Likewise.
37412 (grub_total_module_size): Likewise.
37413 (grub_kernel_image_size): Likewise.
37414 (GRUB_MODULE_MAGIC): New constant.
37415 (grub_module_info): New structure.
37416 (grub_arch_modules_addr): New prototype.
37417 (grub_get_end_addr): Remove prototype.
37418 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
37419 * include/grub/powerpc/ieee1275/kernel.h: New file.
37420 * include/grub/util/misc.h (grub_util_get_fp_size): New
37421 prototype.
37422 (grub_util_read_at): Likewise.
37423 (grub_util_write_image_at): Likewise.
37424 * kern/main.c (grub_get_end_addr): Remove function.
37425 (grub_load_modules): Call grub_arch_modules_addr instead of using
37426 grub_end_addr. Look for a grub_module_info struct in memory. Use
37427 the grub_module_info fields instead of calling grub_get_end_addr
37428 as loop conditions. Move grub_add_unused_region code here.
37429 (grub_add_unused_region): Remove function.
37430 * kern/i386/pc/init.c: Include grub/cache.h.
37431 (grub_machine_init): Remove call to grub_get_end_addr. Remove
37432 one call to add_mem_region.
37433 (grub_arch_modules_addr): New function.
37434 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
37435 (grub_total_module_size): Likewise.
37436 Include grub/machine/kernel.h.
37437 (grub_arch_modules_addr): New function.
37438 * util/grub-emu.c (grub_end_addr): Remove variable.
37439 (grub_total_module_size): Likewise.
37440 (grub_arch_modules_addr): New function.
37441 * util/misc.c: Include unistd.h.
37442 (grub_util_get_fp_size): New function.
37443 (grub_util_read_at): Likewise.
37444 (grub_util_write_image_at): Likewise.
37445 (grub_util_read_image): Call grub_util_read_at.
37446 (grub_util_write_image): Call grub_util_write_image_at.
37447 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
37448 additional memory in kernel_img for a struct grub_module_info.
37449 Fill in that grub_module_info.
37450 * util/powerpc/ieee1275/grub-mkimage.c: New file.
37451
458786f8 374522005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37453
37454 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
37455 New function.
37456 * include/grub/powerpc/ieee1275/ieee1275.h
37457 (grub_ieee1275_milliseconds): New prototype.
37458 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
37459 Change to 1000.
37460 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
37461 grub_ieee1275_milliseconds.
37462
ac507d1b 374632005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37464
37465 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
37466 variable.
37467 (find_options): New function.
37468 (cmain): Call find_options.
37469 * include/grub/powerpc/ieee1275/ieee1275.h
37470 (grub_ieee1275_realmode): New extern variable.
37471 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
37472 grub_map if grub_ieee1275_realmode is false.
37473
6b8fd1c4 374742004-12-29 Marco Gerards <metgerards@student.han.nl>
37475
37476 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
37477 lines are inserted and make it work like readline. Reported by
37478 Vincent Pelletier <subdino2004@yahoo.fr>.
37479
8514a1e0 374802004-12-28 Marco Gerards <metgerards@student.han.nl>
37481
37482 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
37483
37484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
37485 `kern/powerpc/cache.S'.
37486
924b6140 374872004-12-27 Marco Gerards <metgerards@student.han.nl>
37488
37489 * genmk.rb: Handle the `Program' class in the main loop. Written
37490 by Johan Rydberg <jrydberg@gnu.org>.
37491 (Program): New class.
37492 (programs): New variable.
37493 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
37494 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
37495 instead of "grub/kernel.h". Include <grub/machine/init.h>.
37496 (help_arch): Function removed.
37497 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
37498 `powerpc/libgcc.h' and `loader.h'.
37499 (pkgdata_PROGRAMS): New variable.
37500 (sbin_UTILITIES): Variable removed.
37501 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37502 (grubof_SOURCES): Variable re-defined so it only includes the
37503 core functionality.
37504 (grubof_CFLAGS): Remove `-DGRUBOF'.
37505 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37506 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37507 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37508 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37509 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37510 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37511 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37512 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37513 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37514 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37515 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37516 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37517 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37518 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37519 (pc_mod_CFLAGS): New variables.
37520 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37521 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37522 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37523 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37524 Moved from here...
37525 * include/grub/i386/pc/init.h (grub_os_area_addr)
37526 (rub_os_area_size): ... to here.
37527 * include/grub/powerpc/ieee1275/ieee1275.h
37528 (grub_ieee1275_entry_fn): Export symbol.
37529 * include/grub/powerpc/ieee1275/init.h: New file.
37530 * include/grub/powerpc/libgcc.h: Likewise.
37531 * include/grub/cache.h: Likewise.
37532 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37533 <hollis@penguinppc.org>.
37534 * kern/dl.c: Include <grub/cache.h>.
37535 (grub_dl_flush_cache): New function.
37536 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37537 for this module.
37538 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37539 (grub_console_init): Removed prototypes.
37540 (grub_machine_init): Don't initialize the modules anymore.
37541 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37542 static.
37543 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37544 Macro undef removed.
37545 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37546 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37547 relocation `R_PPC_REL32'. Return an error when the relocation is
37548 unknown.
37549 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37550 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37551 * util/misc.c (grub_arch_sync_caches): Likewise.
37552
e4b47e0c 375532004-12-19 Marco Gerards <metgerards@student.han.nl>
37554
37555 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37556 `symlist.c', add `grubof_symlist.c'.
37557 (symlist.c): Variable removed.
37558 (grubof_HEADERS): Variable added.
37559 (grubof_symlist.c): New target.
37560 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37561 `kernel_img_HEADERS'.
37562 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37563 * kern/powerpc/dl.c: New file.
37564 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37565 Function removed.
37566 (grub_arch_dl_relocate_symbols): Likewise.
37567 (grub_register_exported_symbols): Likewise.
37568
4ceb3636 375692004-12-13 Marco Gerards <metgerards@student.han.nl>
37570
37571 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37572 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37573 to fail instead. Reported by Vincent Pelletier
37574 <subdino2004@yahoo.fr>.
37575
37576 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37577 it is not allocated. Reported by Vincent Pelletier
37578 <subdino2004@yahoo.fr>.
37579
37580 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37581 output so the output looks better.
f19dbdb7 37582
3f1578fe 375832004-12-04 Marco Gerards <metgerards@student.han.nl>
37584
37585 Modulize the partition map support and add support for the amiga
37586 partition map.
f19dbdb7 37587
3f1578fe 37588 * commands/ls.c: Include <grub/partition.h> instead of
37589 <grub/machine/partition.h>.
37590 * kern/disk.c: Likewise.
37591 * kern/rescue.c: Likewise.
37592 * loader/i386/pc/chainloader.c: Likewise.
37593 * normal/cmdline.c: Likewise.
37594 * kern/powerpc/ieee1275/init.c: Likewise.
37595 (grub_machine_init): Call `grub_pc_partition_map_init',
37596 `grub_amiga_partition_map_init' and
37597 `grub_apple_partition_map_init'.
37598 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37599 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37600 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37601 `partition.h' and `pc_partition.h'.
37602 (grub_setup_SOURCES): Remove
37603 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37604 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37605 (grub_emu_SOURCES): Likewise.
37606 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37607 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37608 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37610 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37611 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37612 (grubof_SOURCES): Likewise.
37613 * disk/i386/pc/partition.c: File removed.
37614 * disk/powerpc/ieee1275/partition.c: Likewise.
37615 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37616 * include/grub/i386/pc/partition.h: Likewise.
37617 * kern/partition.c: New file.
37618 * partmap/amiga.c: Likewise.
37619 * partmap/apple.c: Likewise.
37620 * partmap/pc.c: Likewise.
37621 * include/grub/partition.h: Likewise..
37622 * include/grub/pc_partition.h: Likewise.
37623 * util/grub-emu.c: Include <grub/partition.h> instead of
37624 <grub/machine/partition.h>.
37625 (main): Call `grub_pc_partition_map_init',
37626 `grub_amiga_partition_map_init' and
37627 `grub_apple_partition_map_init' and deinitialize afterwards.
37628 * util/i386/pc/biosdisk.c: Include `#include
37629 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37630 `<grub/machine/partition.h>'.
37631 * util/i386/pc/grub-setup.c: Likewise.
37632 * util/i386/pc/biosdisk.c: Likewise.
37633 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37634 partition information in case of a PC partition.
37635 * util/i386/pc/grub-setup.c: Include `#include
37636 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37637 `<grub/machine/partition.h>'.
37638 (setup): Only access the PC specific partition information in case
37639 of a PC partition.
37640
0ef4ced9 376412004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37642
0ef4ced9 37643 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37644 (grub_longjmp): Likewise.
37645 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37646 20.
37647 * normal/powerpc/setjmp.S: New file.
37648 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37649 `normal/powerpc/setjmp.S'.
37650 (grubof_CFLAGS): Add `-DGRUBOF'.
37651 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37652 [GRUB_UTIL && !GRUBOF].
f19dbdb7 37653
19950e29 376542004-11-16 Marco Gerards <metgerards@student.han.nl>
37655
37656 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37657 property named `name'. Correctly handle the error returned by
37658 `grub_ieee1275_finddevice' if a device can not be opened.
37659
a2fea427 376602004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37661
37662 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37663 `actual' for negativity.
37664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37665 kern/fshelp.c.
37666
41ea0ea3 376672004-11-01 Marco Gerards <metgerards@student.han.nl>
37668
37669 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37670 (PAGE_OFFSET): New macro.
37671 (CRTC_ADDR_PORT): Likewise.
37672 (CRTC_DATA_PORT): Likewise.
37673 (START_ADDR_HIGH_REGISTER): Likewise.
37674 (START_ADDR_LOW_REGISTER): Likewise.
37675 (GRAPHICS_ADDR_PORT): Likewise.
37676 (GRAPHICS_DATA_PORT): Likewise.
37677 (READ_MAP_REGISTER): Likewise.
37678 (INPUT_STATUS1_REGISTER): Likewise.
37679 (INPUT_STATUS1_VERTR_BIT): Likewise.
37680 (page): New variable.
37681 (wait_vretrace): New function.
37682 (set_read_map): Likewise.
37683 (set_start_address): Likewise.
37684 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37685 the right page.
37686 (check_vga_mem): Take the page into account.
37687 (write_char): Likewise.
37688 (write_cursor): Likewise.
37689 (scroll_up): Likewise. Copy the page to the page that is not
37690 shown and switch between both pages.
37691 (grub_vga_putchar): Fix off by one error.
37692 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37693 account.
37694
ad0bd20b 376952004-11-01 Marco Gerards <metgerards@student.han.nl>
37696
37697 Add support for iso9660 (including rockridge).
f19dbdb7 37698
ad0bd20b 37699 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37700 (iso9660_mod_SOURCES): New variable.
37701 (iso9660_mod_CFLAGS): Likewise.
37702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37703 * include/grub/fs.h (grub_iso9660_init): New prototype.
37704 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37705 * fs/iso9660.c: New file.
37706
37707 * include/grub/misc.h (grub_strncat): New prototype.
37708 * kern/misc.c (grub_strncat): New function.
f19dbdb7 37709
ad0bd20b 37710 * fs/hfs.c (grub_hfs_mount): Translate the error
37711 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37712 * fs/jfs.c (grub_jfs_mount): Likewise.
37713 * fs/ufs.c (grub_ufs_mount): Likewise.
37714
a5477a59 377152004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37716
37717 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37718 which initialized BAT registers.
37719 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37720 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37721 Move from here...
37722 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37723 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37724 ... to here.
37725 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37726 (grub_mapclaim): Likewise.
37727 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37728 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37729 hand.
37730
9304c1f8 377312004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37732
37733 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37734 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37735 -ffreestanding and -msoft-float.
37736
86f4ae25 377372004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37738
37739 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37740 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37741 set in grub_ieee1275_flags.
37742
38912228 377432004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37744
37745 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37746 prototype.
37747 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37748 grub_console_init first.
37749 Change the memory range used for grub_ieee1275_claim and
37750 grub_mm_init_region.
37751 Print an error message if the claim fails.
37752 Include <grub/misc.h>.
37753
d1923dc8 377542004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37755
37756 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37757 Call grub_children_iterate for device nodes of type `scsi',
37758 `ide', or `ata'.
37759 (grub_ofdisk_open): Remove manual device alias resolution.
37760 Fix memory leak when device cannot be opened.
f19dbdb7 37761 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 37762 (grub_children_iterate): New prototype.
37763 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37764 New function.
37765 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37766 Return -1 if args.size was -1.
37767
4512e4f3 377682004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37769
37770 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37771 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37772 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37773 Open Firmware's memory for it; claim memory from _start to _end.
37774 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37775 (_end): New extern.
37776 (_start): Zero BSS from __bss_start to _end.
37777 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37778 New extern.
37779 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37780
4d61feb0 377812004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37782
ad0bd20b 37783 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37784 -1 if args.base was -1.
4d61feb0 37785
026fa2f9 377862004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37787
37788 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37789 escape sequence instead of a literal ^L. Also call
37790 grub_ofconsole_gotoxy.
37791
9f2220ef 377922004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37793
37794 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37795 void * arguments to grub_addr_t. All callers updated. Also make
37796 the `result' argument optional.
37797 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37798 All callers updated.
37799
8a572cd7 378002004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37801
37802 * commands/ls.c (grub_ls_list_files): Use the string following the
37803 initial ')', if present, as the filesystem path.
37804 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37805
37806 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37807
18aa81f2 378082004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37809
37810 Make the source code of the menu interface more readable.
f19dbdb7 37811
18aa81f2 37812 * normal/menu.c: Include grub/mm.h.
37813 (TERM_WIDTH): New macro.
37814 (TERM_HEIGHT): Likewise.
37815 (TERM_INFO_HEIGHT): Likewise.
37816 (TERM_MARGIN): Likewise.
37817 (TERM_SCROLL_WIDTH): Likewise.
37818 (TERM_TOP_BORDER_Y): Likewise.
37819 (TERM_LEFT_BORDER_X): Likewise.
37820 (TERM_BORDER_WIDTH): Likewise.
37821 (TERM_MESSAGE_HEIGHT): Likewise.
37822 (TERM_BORDER_HEIGHT): Likewise.
37823 (TERM_NUM_ENTRIES): Likewise.
37824 (TERM_FIRST_ENTRY_Y): Likewise.
37825 (TERM_ENTRY_WIDTH): Likewise.
37826 (TERM_CURSOR_X): Likewise.
37827 (draw_border): Use macros instead of magic numbers.
37828 (print_entry): Likewise.
37829 (print_entries): Likewise.
37830 (run_menu): Likewise. Also, handle the key 'e'.
37831 (run_menu_entry): Ignore empty command lines.
37832 (print_message): Added a new argument EDIT. If EDIT is true,
37833 print a different message.
37834 (init_page): Likewise.
37835 (edit_menu_entry): New function. Not implemented yet.
37836
b47efe30 378372004-09-17 Marco Gerards <metgerards@student.han.nl>
37838
37839 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37840 can be loaded from normal mode.
f19dbdb7 37841
b47efe30 37842 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37843 `multiboot.mod'.
37844 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37845 (multiboot_mod_CFLAGS): New variables.
37846 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 37847 * loader/i386/pc/multiboot_normal.c: Likewise.
37848
b47efe30 37849 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37850 attribute `unused'.
f19dbdb7 37851
b47efe30 37852 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37853 `fdiro' to read the mode information from instead of `diro'.
37854
37855 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37856 looking up a symlink.
37857
37858 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37859 macro.
37860 * normal/command.c (grub_command_execute): Don't parse the
37861 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37862 flags of the command.
37863
37864 * normal/menu.c (grub_menu_run): Fix typo.
37865
da75ac71 378662004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37867
37868 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37869
37870 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37871 `y + 1' instead of `y - 1'.
37872
37873 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 37874
062b24c2 378752004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37876
37877 From Hollis Blanchard <hollis@penguinppc.org>:
37878 * kern/misc.c (memmove): New alias for grub_memmove.
37879 (memcmp): New alias for grub_memcmp.
37880 (memset): New alias for grub_memset.
f19dbdb7 37881 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 37882 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 37883 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 37884 (grub_ieee1275_get_property): Likewise.
f19dbdb7 37885
8ddad845 378862004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37887
37888 Added normal mode command `chainloader' as module chain.mod, which
37889 depends on normal.mod and _chain.mod.
f19dbdb7 37890
8ddad845 37891 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37892 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37893 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37894 Deleted prototype.
37895 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37896 but arguments parsing moved to ...
37897 (grub_chainloader_cmd): ... here. New function.
37898 * include/grub/i386/pc/chainloader.h: New file.
37899 * loader/i386/pc/chainloader_normal.c: Likewise.
37900
2c1f4ce3 379012004-09-11 Marco Gerards <metgerards@student.han.nl>
37902
37903 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37904 (grub_mkimage_LDFLAGS): Likewise.
37905 (grub_emu_SOURCES): Likewise.
37906 (kernel_img_HEADERS): Added fshelp.h.
37907 * fs/ext2.c: Include <grub/fshelp.h>.
37908 (FILETYPE_REG): New macro.
37909 (FILETYPE_INO_REG): Likewise.
37910 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37911 Changed all users.
37912 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37913 all users.
37914 (grub_fshelp_node): New struct.
37915 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37916 to a pointer.
37917 (grub_ext2_get_file_block): Removed function.
37918 (grub_ext2_read_block): New function.
37919 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37920 This function was written.
37921 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37922 (grub_ext2_find_file): Removed function.
37923 (grub_ext2_read_symlink): New function.
37924 (grub_ext2_iterate_dir): Likewise.
37925 (grub_ext2_open): Rewritten.
37926 (grub_ext2_dir): Rewritten.
37927 * include/grub/fshelp.h: New file.
37928 * fs/fshelp.c: Likewise.
37929
3c52136a 379302004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37931
37932 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37933 (print_message): Add a missing newline.
37934 (run_menu): Added timeout support.
37935 (run_menu_entry): New local function.
37936 (grub_menu_run): Added support for booting.
37937
37938 * kern/loader.c (grub_loader_is_loaded): New function.
37939
37940 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37941 (grub_get_rtc): Exported.
37942
37943 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37944 (grub_get_rtc): Exported.
37945
37946 * include/grub/normal.h (struct grub_command_list): Remove
37947 constant from the member `command'.
37948
37949 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37950
37951 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37952
37953 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37954
aa033560 379552004-08-28 Marco Gerards <metgerards@student.han.nl>
37956
37957 Add support for the JFS filesystem.
37958
37959 * fs/jfs.c: New file.
37960 * include/grub/fs.h (grub_jfs_init): New prototype.
37961 (grub_jfs_fini): New prototype.
37962 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37963 (grub_emu_SOURCES): Likewise.
37964 (pkgdata_MODULES): Add jfs.mod.
37965 (jfs_mod_SOURCES): New variable.
37966 (jfs_mod_CFLAGS): Likewise.
37967 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37968 (grubof_SOURCES): Likewise.
37969 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37970
37971 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37972 endian to the host endian.
37973 (grub_fat_utf16_to_utf8): Move function from there...
37974 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 37975 the endianness of the source string anymore.
aa033560 37976 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37977
94bc45af 379782004-08-24 Marco Gerards <metgerards@student.han.nl>
37979
37980 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37981 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37982 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37983 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 37984
94bc45af 37985 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37986 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37987 for `node_found' and `it_dir'.
37988 (grub_hfs_dir): Add prototype for `dir_hook'.
37989
37990 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37991 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37992 and `indir32' to silence a gcc warning.
37993
37994 * include/grub/fs.h (grub_hfs_init): New prototype.
37995 (grub_hfs_fini): Likewise.
f19dbdb7 37996
37997
97543f08 379982004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37999
38000 Each disk device has its own id now. This is useful to make use
38001 of multiple disk devices.
f19dbdb7 38002
97543f08 38003 * include/grub/disk.h (grub_disk_dev_id): New enum.
38004 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
38005 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
38006
38007 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
38008 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
38009
38010 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
38011 GRUB_DISK_DEVICE_OFDISK_ID as an id.
38012
38013 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
38014 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
38015
38016 * include/grub/disk.h (struct grub_disk_dev): Added a new member
38017 "id" which is used by the cache manager.
38018
38019 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
38020 of just "GRUB".
38021
64372eb4 380222004-08-18 Marco Gerards <metgerards@student.han.nl>
38023
38024 * fs/hfs.c: New file.
38025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
38026 (grub_emu_SOURCES): Likewise.
38027 (pkgdata_MODULES): Add hfs.mod.
38028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
38029 (grubof_SOURCES): Likewise.
38030 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
38031
38032 * include/grub/misc.h (grub_strncasecmp): Add prototype.
38033 * kern/misc.c (grub_strncasecmp): Add function.
38034
cc61b58f 380352004-08-14 Marco Gerards <metgerards@student.han.nl>
38036
38037 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
38038 with parentheses.
38039
38040 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
38041 (grub_ext2_dir): In case the directory entry type is unknown, read
38042 it from the inode.
38043
0ef123f6 380442004-08-02 Peter Bruin <pjbruin@dds.nl>
38045
38046 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
38047 grub_load_linux instead of grub_rescue_cmd_linux as second
38048 argument of grub_rescue_register_command.
38049
38050 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
38051
a447c5df 380522004-07-27 Marco Gerards <metgerards@student.han.nl>
38053
38054 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
38055 function.
38056 * commands/boot.c: Remove the check for `GRUB_UTIL'.
38057 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38058 `loader/powerpc/ieee1275/linux.c',
38059 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
38060 * include/grub/powerpc/ieee1275/ieee1275.h
38061 (grub_ieee1275_release): New prototype.
38062 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
38063 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
38064 normal, boot, linux and linux_normal.
38065 * loader/powerpc/ieee1275/linux.c: New file.
38066 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38067
5a9e3546 380682004-07-12 Marco Gerards <metgerards@student.han.nl>
38069
38070 * normal/arg.c (grub_arg_parse): Correct error handling after
38071 reallocating the argumentlist (check if `argl' is not null instead
38072 of checking if `args' is not null).
38073 * kern/mm.c (grub_realloc): Return the same pointer when using the
38074 same region, instead of returning the header address.
38075
e15199cb 380762004-07-11 Marco Gerards <metgerards@student.han.nl>
38077
38078 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
38079 one block instead of two when looking for the initial partition.
38080 (grub_partition_probe): Initialize the local variable `p' with 0.
38081 Use base 10 for the grub_strtoul call.
38082 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
38083 need for one local variable.
38084 (grub_strtoul): Don't add the new value to `num', instead of that
38085 just assign it.
38086
020616c2 380872004-07-11 Marco Gerards <metgerards@student.han.nl>
38088
38089 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
38090 (pxeboot_img_SOURCES): New variable.
38091 (pxeboot_img_ASFLAGS): Likewise.
38092 (pxeboot_img_LDFLAGS): Likewise.
38093 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
38094 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
38095 <lode_leroy@hotmail.com>.
38096
6c51eb64 380972004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38098
38099 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
38100 there was no input.
38101
cfb12aff 381022004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38103
38104 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
38105 the history buffer logic.
38106
6eabba74 381072004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
38108
38109 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
38110 (FILETYPE_INO_SYMLINK): New macros.
38111 (grub_ext2_find_file): Check if the node is a directory using the
38112 inode stat information instead of using the filetype in the
38113 dirent. Exclude the first character of an absolute symlink.
38114 (grub_ext2_dir): Mask out the filetype part of the mode member of
38115 the inode.
38116
66e19ef8 381172004-05-24 Marco Gerards <metgerards@student.han.nl>
38118
38119 Add support for UFS version 1 and 2. Add support for the minix
38120 filesystem version 1 and 2, both the variants with 14 and 30 long
38121 filenames.
f19dbdb7 38122
66e19ef8 38123 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
38124 fs/minix.c.
38125 (grub_emu_SOURCES): Likewise.
38126 (pkgdata_MODULES): Add ufs.mod and minix.mod.
38127 (ufs_mod_SOURCES): New variable.
38128 (ufs_mod_CFLAGS): Likewise.
38129 (minix_mod_SOURCES): Likewise.
38130 (minix_mod_CFLAGS): Likewise.
38131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
38132 fs/minix.c.
38133 (grubof_SOURCES): Likewise.
38134 * fs/ufs.c: New file.
38135 * fs/minix.c: New file.
38136 * include/grub/fs.h (grub_ufs_init): New prototype.
38137 (grub_ufs_fini): Likewise.
38138 (grub_minix_init): Likewise.
38139 (grub_minix_fini): Likewise.
38140 * util/grub-emu.c (main): Initialize and deinitialize UFS and
38141 minix fs.
38142
cc2e748a 381432004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
38144
38145 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
38146 commands/ls.c, commands/terminal.c, commands/boot.c,
38147 commands/cmp.c and commands/cat.c.
38148 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
38149
38150 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
38151 "env.h"
38152
4b13b216 381532004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38154
38155 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
38156 and grub_, respectively. Because the conversion is trivial and
38157 mechanical, I omit the details here. Please refer to the CVS
38158 if you need more information.
38159
6a142551 381602004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38161
38162 * include/pupa: Renamed to ...
38163 * include/grub: ... this.
38164 * util/i386/pc/pupa-mkimage.c: Renamed to ...
38165 * util/i386/pc/grub-mkimage.c: ... this.
38166 * util/i386/pc/pupa-setup.c: Renamed to ...
38167 * util/i386/pc/grub-setup.c: ... this.
38168 * util/pupa-emu.c: Renamed to ...
38169 * util/grub-emu.c: ... this.
38170
e56cdf21 381712004-03-29 Marco Gerards <metgerards@student.han.nl>
38172
38173 Add support for the newworld apple macintosh (PPC). This has been
38174 tested on the powerbook 2000 only. It only adds support for
38175 generic ieee1275 functions, console and disk support. This should
38176 be easy to port to other architectures with support for Open
38177 Firmware.
f19dbdb7 38178
e56cdf21 38179 * configure.ac: Accept the powerpc as host_cpu. In the case of
38180 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
38181 specific tests are only executed while building for the i386.
38182 Inverse test for crosscompile.
38183 * genmk.rb (Utility): Allow assembler files.
38184 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
38185 * conf/powerpc-ieee1275.rmk: New file.
38186 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
38187 * disk/powerpc/ieee1275/partition.c: Likewise.
38188 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
38189 * include/pupa/powerpc/ieee1275/console.h: Likewise.
38190 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
38191 * include/pupa/powerpc/ieee1275/time.h: Likewise.
38192 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
38193 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
38194 * include/pupa/powerpc/ieee1275/loader.h
38195 * include/pupa/powerpc/setjmp.h: Likewise.
38196 * include/pupa/powerpc/types.h: Likewise.
38197 * kern/powerpc/ieee1275/init.c: Likewise.
38198 * kern/powerpc/ieee1275/openfw.c: Likewise.
38199 * term/powerpc/ieee1275/ofconsole.c: Likewise.
38200
38201 These files were written by Johan Rydberg
38202 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 38203
e56cdf21 38204 * boot/powerpc/ieee1275/cmain.c: New file.
38205 * boot/powerpc/ieee1275/crt0.S: Likewise.
38206 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
38207 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
38208
8c8cc205 382092004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
38210
38211 * Makefile.in: Update copyright.
38212 * genmodsrc.sh: Likewise.
38213 * gensymlist.sh: Likewise.
38214 * term/i386/pc/vga.c: Indent correctly.
38215
38216 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
38217 bugreporting address.
38218 * util/i386/pc/pupa-setup.c (usage): Likewise,
38219 (main): Call pupa_ext2_init and pupa_ext2_fini.
38220
f19dbdb7 38221 * fs/fat.c (log2): Renamed to ...
8c8cc205 38222 (fat_log2): ... this.
38223 All callers changed.
38224 * kern/misc.c (memcpy): Alias to pupa_memmove.
38225 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
38226 lvalue cast.
38227 * util/console.c (pupa_ncurses_fini): Return 0.
38228
38229 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
38230 Move fail label here.
38231 [__GNU__]: Don't warn when using stat.
38232 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
38233 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
38234 long int. Use strtol instead of strtoul.
f19dbdb7 38235
db1771cf 382362004-03-14 Marco Gerards <metgerards@student.han.nl>
38237
38238 * commands/boot.c: New file.
38239 * commands/cat.c: Likewise.
38240 * commands/cmp.c: Likewise.
38241 * commands/ls.c: Likewise.
38242 * commands/terminal.c: Likewise.
38243 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
38244 (pupa_register_command): Changed interface to match the new
38245 argument parser.
38246 (pupa_command_execute): Changed (almost rewritten) so it uses
38247 pupa_split_command. Added support for setting variables using the
38248 syntax `foo=bar'.
38249 (rescue_command): Changed to work with the new argument parser.
38250 (terminal_command): Moved from here to commands/terminal.c.
38251 (set_command): New function.
38252 (unset_command): New function.
38253 (insmod_command): New function.
38254 (rmmod_command): New function.
38255 (lsmod_command): New function.
38256 (pupa_command_init): Don't initialize the command terminal
38257 anymore. Initialize the commands set, unset, insmod, rmmod and
38258 lsmod.
38259 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
38260 (kernel_img_HEADERS): Add arg.h and env.h.
38261 (pupa_mkimage_LDFLAGS): Add kern/env.c.
38262 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
38263 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
38264 normal/arg.c.
38265 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
38266 terminal.mod.
38267 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
38268 (boot_mod_SOURCES): New variable.
38269 (terminal_mod_SOURCES): Likewise.
38270 (ls_mod_SOURCES): Likewise.
38271 (cmp_mod_SOURCES): Likewise.
38272 (cat_mod_SOURCES): Likewise.
38273
38274 * normal/arg.c: New file.
38275 * kern/env.c: Likewise.
38276 * include/pupa/arg.h: Likewise.
38277 * include/pupa/env.h: Likewise.
38278 * font/manager.c (font_command): Changed to match argument parsing
38279 interface changes.
38280 (PUPA_MOD_INIT): Likewise.
38281 * hello/hello.c (pupa_cmd_hello): Likewise.
38282 (PUPA_MOD_INIT): Likewise.
38283 * include/pupa/disk.h: Include <pupa/device.h>.
38284 (pupa_print_partinfo): New prototype.
38285 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
38286 (pupa_dl_get_prefix): Likewise.
38287 * include/pupa/misc.h: Include <pupa/err.h>.
38288 (pupa_isgraph): New prototype.
38289 (pupa_isdigit): Likewise.
38290 (pupa_split_cmdline): Likewise.
38291 * include/pupa/normal.h: Include <pupa/arg.h>.
38292 (pupa_command): Changed the prototype of the member `func' to
38293 match the argument parsing interface. Added member `options'.
38294 (pupa_register_command): Updated to match function.
38295 (pupa_arg_parse): New prototype.
38296 (pupa_hello_init) [PUPA_UTIL]: New prototype.
38297 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
38298 (pupa_ls_init) [PUPA_UTIL]: Likewise.
38299 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
38300 (pupa_cat_init) [PUPA_UTIL]: Likewise.
38301 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
38302 (pupa_boot_init) [PUPA_UTIL]: Likewise.
38303 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
38304 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
38305 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
38306 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
38307 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
38308 * kern/disk.c: Include <pupa/file.h>.
38309 (pupa_print_partinfo): New function.
38310 * kern/dl.c: Include <pupa/env.h>.
38311 (pupa_dl_dir): Variable removed.
38312 (pupa_dl_load): Use the environment variable `prefix' instead of
38313 the variable pupa_dl_dir.
38314 (pupa_dl_set_prefix): Function removed.
38315 (pupa_dl_get_prefix): Likewise.
38316 * kern/i386/pc/init.c: Include <pupa/env.h>.
38317 (pupa_machine_init): Use the environment variable `prefix' instead of
38318 using pupa_dl_set_prefix to set the prefix.
38319 * kern/main.c: Include <pupa/env.h>.
38320 (pupa_set_root_dev): Use the environment variable `prefix' instead of
38321 using pupa_dl_get_prefix to get the prefix.
38322 * kern/misc.c: Include <pupa/env.h>.
38323 (pupa_isdigit): New function.
38324 (pupa_isgraph): Likewise.
38325 (pupa_ftoa): Likewise.
38326 (pupa_vsprintf): Added support for printing values of the type
38327 `double'. Make it possible to format variable output when using
38328 formatting like `%1.2%f'.
38329 (pupa_split_cmdline): New function.
38330 * kern/rescue.c: Include <pupa/env.h>.
38331 (next_word): Removed function.
38332 (pupa_rescue_cmd_prefix): Likewise.
38333 (pupa_rescue_cmd_set): New function.
38334 (pupa_rescue_cmd_unset): New function.
38335 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
38336 split the command line instead of splitting it here. Added
38337 support for setting variables using the syntax `foo=bar'. Don't
38338 initialize the prefix command anymore. Initialized the set and
38339 unset commands.
38340 * normal/cmdline.c: Include <pupa/env.h>.
38341 (pupa_tab_complete): Added prototypes for print_simple_completion,
38342 print_partition_completion, add_completion, iterate_commands,
38343 iterate_dev, iterate_part and iterate_dir. Moved code to print
38344 partition information from here to kern/disk.c.
fe6b695a 38345 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 38346 * normal/main.c: Include <pupa/env.h>.
38347 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
38348 instead of using pupa_dl_get_prefix to get the prefix.
38349 * term/i386/pc/vga.c: Include <pupa/arg.h>.
38350 (check_vga_mem): Cast pointers to `void *' to silence a gcc
38351 warning.
38352 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
38353 (pupa_vga_setcolor): Declare unused variables with `__attribute__
38354 ((unused))' to silence a gcc warning.
38355 (pupa_vga_setcolor): Likewise.
38356 (debug_command): Changed to match argument parsing
38357 interface changes.
38358 * util/pupa-emu.c: Include <pupa/env.h>.
38359 (options): Added 0's for unused fields to silence a gcc warning.
38360 (argp): Likewise.
38361 (main): Use the environment variable `prefix' instead of using
38362 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
38363 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
38364 and terminal.
38365
38366 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
38367 * util/misc.c: Include <malloc.h>.
38368 (pupa_malloc): Rewritten so errors are correctly reported.
38369 (pupa_realloc): Likewise.
38370 (pupa_memalign): Likewise.
38371 (pupa_mm_init_region): Declare unused variables with
38372 `__attribute__ ((unused))' to silence a gcc warning.
38373 * normal/i386/setjmp.S: Remove tab at the end of the file to
38374 silence a gcc warning.
38375 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
38376 variables with `__attribute__ ((unused))' to silence a gcc
38377 warning.
38378 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
38379 local variable i unsigned to silence a gcc warning.
38380
38381 * kern/term.c: Include <pupa/misc.h>.
38382 (pupa_more_lines): New variable.
38383 (pupa_more): Likewise.
38384 (pupa_putcode): When the pager is active pause at the end of every
38385 screen.
38386 (pupa_set_more): New function.
38387 * include/pupa/term.h (pupa_set_more): New prototype.
38388
38389
3b1139cb 383902004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
38391
38392 Now this project is GRUB 2 rather than PUPA. The location of
38393 the CVS repository was moved to GRUB's.
f19dbdb7 38394
3b1139cb 38395 * configure.ac: Use bug-grub as the reporting address.
38396 Use GRUB instead of PUPA.
38397 Change the version number to 1.90.
38398
8367695c 383992004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
38400
38401 * genkernsyms.sh: Updated copyright information.
38402 * genmk.rb: Likewise.
38403 * genmodsrc.sh: Likewise.
38404 * gensymlist.sh: Likewise.
38405 * boot/i386/pc/boot.S: Likewise.
38406 * boot/i386/pc/diskboot.S: Likewise.
38407 * disk/i386/pc/biosdisk.c: Likewise.
38408 * disk/i386/pc/partition.c: Likewise.
38409 * font/manager.c: Likewise.
38410 * fs/ext2.c: Likewise.
38411 * fs/fat.c: Likewise.
38412 * include/pupa/boot.h: Likewise.
38413 * include/pupa/device.h: Likewise.
38414 * include/pupa/disk.h: Likewise.
38415 * include/pupa/dl.h: Likewise.
38416 * include/pupa/elf.h: Likewise.
38417 * include/pupa/err.h: Likewise.
38418 * include/pupa/file.h: Likewise.
38419 * include/pupa/font.h: Likewise.
38420 * include/pupa/fs.h: Likewise.
38421 * include/pupa/kernel.h: Likewise.
38422 * include/pupa/loader.h: Likewise.
38423 * include/pupa/misc.h: Likewise.
38424 * include/pupa/mm.h: Likewise.
38425 * include/pupa/net.h: Likewise.
38426 * include/pupa/normal.h: Likewise.
38427 * include/pupa/rescue.h: Likewise.
38428 * include/pupa/setjmp.h: Likewise.
38429 * include/pupa/symbol.h: Likewise.
38430 * include/pupa/term.h: Likewise.
38431 * include/pupa/types.h: Likewise.
38432 * include/pupa/i386/setjmp.h: Likewise.
38433 * include/pupa/i386/types.h: Likewise.
38434 * include/pupa/i386/pc/biosdisk.h: Likewise.
38435 * include/pupa/i386/pc/boot.h: Likewise.
38436 * include/pupa/i386/pc/console.h: Likewise.
38437 * include/pupa/i386/pc/init.h: Likewise.
38438 * include/pupa/i386/pc/kernel.h: Likewise.
38439 * include/pupa/i386/pc/linux.h: Likewise.
38440 * include/pupa/i386/pc/loader.h: Likewise.
38441 * include/pupa/i386/pc/memory.h: Likewise.
38442 * include/pupa/i386/pc/multiboot.h: Likewise.
38443 * include/pupa/i386/pc/partition.h: Likewise.
38444 * include/pupa/i386/pc/time.h: Likewise.
38445 * include/pupa/i386/pc/vga.h: Likewise.
38446 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
38447 * include/pupa/util/getroot.h: Likewise.
38448 * include/pupa/util/misc.h: Likewise.
38449 * include/pupa/util/resolve.h: Likewise.
38450 * kern/device.c: Likewise.
38451 * kern/disk.c: Likewise.
38452 * kern/dl.c: Likewise.
38453 * kern/err.c: Likewise.
38454 * kern/file.c: Likewise.
38455 * kern/fs.c: Likewise.
38456 * kern/loader.c: Likewise.
38457 * kern/main.c: Likewise.
38458 * kern/misc.c: Likewise.
38459 * kern/mm.c: Likewise.
38460 * kern/rescue.c: Likewise.
38461 * kern/term.c: Likewise.
38462 * kern/i386/dl.c: Likewise.
38463 * kern/i386/pc/init.c: Likewise.
38464 * kern/i386/pc/lzo1x.S: Likewise.
38465 * kern/i386/pc/startup.S: Likewise.
38466 * loader/i386/pc/chainloader.c: Likewise.
38467 * loader/i386/pc/linux.c: Likewise.
38468 * loader/i386/pc/multiboot.c: Likewise.
38469 * normal/cmdline.c: Likewise.
38470 * normal/command.c: Likewise.
38471 * normal/main.c: Likewise.
38472 * normal/menu.c: Likewise.
38473 * normal/i386/setjmp.S: Likewise.
38474 * term/i386/pc/console.c: Likewise.
38475 * term/i386/pc/vga.c: Likewise.
38476 * util/console.c: Likewise.
38477 * util/genmoddep.c: Likewise.
38478 * util/misc.c: Likewise.
38479 * util/pupa-emu.c: Likewise.
38480 * util/resolve.c: Likewise.
38481 * util/unifont2pff.rb: Likewise.
38482 * util/i386/pc/biosdisk.c: Likewise.
38483 * util/i386/pc/getroot.c: Likewise.
38484 * util/i386/pc/pupa-mkimage.c: Likewise.
38485 * util/i386/pc/pupa-setup.c: Likewise.
38486
e6eced71 384872004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
38488
38489 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
38490 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
38491 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
38492 reading and reset it after reading.
38493 (pupa_ext2_close): Return PUPA_ERR_NONE.
38494
38495 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
38496 Correct value.
38497 (struct linux_kernel_header): Add kernel_version and
38498 initrd_addr_max.
38499 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
38500 pupa_file_read succeeds.
38501 (pupa_rescue_cmd_initrd): Implement.
38502
5aded270 385032003-12-03 Marco Gerards <metgerards@student.han.nl>
38504
38505 * fs/ext2.c (pupa_ext2_label): New function.
38506 (pupa_ext2_fs): Added label.
38507 * fs/fat.c (pupa_fat_label): New function.
38508 (pupa_fat_fs): Added label.
38509 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38510
38511 * kern/misc.c (pupa_strndup): New function.
38512 * include/pupa/misc.h (pupa_strndup): New prototype.
38513
38514 * include/pupa/normal.h: Include <pupa/err.h>.
38515 (pupa_set_history): New prototype.
38516 (pupa_iterate_commands): New prototype.
38517 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38518 <pupa/disk.h>, <pupa/file.h>.
38519 (hist_size): New variable.
38520 (hist_lines): Likewise.
38521 (hist_end): Likewise.
38522 (hist_used): Likewise.
38523 (pupa_set_history): New function.
38524 (pupa_history_get): Likewise.
38525 (pupa_history_add): Likewise.
38526 (pupa_history_replace): Likewise.
38527 (pupa_tab_complete): Likewise.
38528 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38529 completion shows partitionnames while completing partitions, this
38530 feature was suggested by Jeff Bailey.
38531 * normal/command.c (pupa_iterate_commands): New function.
38532 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38533 (pupa_normal_init): Initialize history buffer.
38534 (PUPA_MOD_INIT): Likewise.
38535 (pupa_normal_fini): Free the history buffer.
38536 (PUPA_MOD_FINI): Likewise.
38537
38538 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38539 key.
38540
38541 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38542 * configure.ac [i386]: Check for regparam bug.
38543 (NESTED_FUNC_ATTR) [! i386]: Defined.
38544
1f7315a3 385452003-11-17 Marco Gerards <metgerards@student.han.nl>
38546
38547 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38548 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38549 (pupa_emu_SOURCES): New variable.
38550 (pupa_emu_LDFLAGS): Likewise.
38551 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38552 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38553 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38554 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38555 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38556 (pupa_jmp_buf): New typedef.
38557 (pupa_setjmp) [PUPA_UTIL]: New macro.
38558 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38559 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38560 (pupa_refresh): New prototype.
38561 * include/pupa/util/getroot.h: New file.
38562 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38563 it.
38564 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38565 (pupa_rescue_cmd_cat): Likewise.
38566 (pupa_rescue_cmd_ls): Likewise.
38567 (pupa_rescue_cmd_testload): Likewise.
38568 (pupa_rescue_cmd_lsmod): Likewise.
38569 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38570 * normal/menu.c (run_menu): Likewise.
38571 * kern/term.c (pupa_cls): Likewise.
38572 (pupa_refresh): New function.
38573 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38574 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38575 * util/console.c: New file.
f19dbdb7 38576
1f7315a3 38577 * util/i386/pc/getroot.c: New file.
38578 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38579 (pupa_putchar): New function.
38580 (pupa_refresh): Likewise.
38581 (xgetcwd): Function moved to ...
38582 (strip_extra_slashes): Likewise.
38583 (get_prefix): Likewise.
f19dbdb7 38584 * util/i386/pc/getroot.c: ... here.
1f7315a3 38585 (find_root_device): Function moved and renamed to...
38586 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38587 Changed all callers.
38588 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38589 and renamed to...
38590 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38591 Changed all callers.
38592 * util/misc.c (pupa_memalign): New function.
38593 (pupa_mm_init_region): Likewise.
38594 (pupa_register_exported_symbols): Likewise.
38595 (pupa_putchar): Function removed.
38596 * util/pupa-emu.c: New file.
38597
9a5c1ade 385982003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38599
38600 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38601 (_multiboot_mod_SOURCES): New variable.
38602 (_multiboot_mod_CFLAGS): Likewise.
38603 * loader/i386/pc/multiboot.c: New file.
38604 * include/pupa/i386/pc/multiboot.h: Likewise.
38605 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38606 (pupa_multiboot_real_boot): New function.
38607 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38608 (pupa_multiboot_real_boot): New prototype.
38609 (pupa_rescue_cmd_multiboot): Likewise
38610 (pupa_rescue_cmd_module): Likewise.
38611
38612 * kern/loader.c (pupa_loader_set): Continue when
38613 pupa_loader_unload_func() fails.
38614 (pupa_loader_unset): New function.
38615 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38616
38617 * kern/misc.c (pupa_stpcpy): New function.
38618 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38619
8e72a9c0 386202003-11-12 Marco Gerards <metgerards@student.han.nl>
38621
38622 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38623 for available extensions.
38624
38625 * include/pupa/i386/pc/time.h: New file.
38626 * kern/disk.c: Include <pupa/machine/time.h>.
38627 (PUPA_CACHE_TIMEOUT): New macro.
38628 (pupa_last_time): New variable.
38629 (pupa_disk_open): Flush the cache when there was a timeout.
38630 (pupa_disk_close): Reset the timer.
38631 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38632 pupa_currticks.
38633 * util/misc.c: Include <sys/times.h>
38634 (pupa_get_rtc): New function.
38635
c4adbd32 386362003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38637
38638 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38639 as blocks.
38640 (pupa_ext2_get_file_block): Use blocks member.
38641
38642 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38643 first block. Return -1 instead of pupa_errno on error.
38644
bfd30f06 386452003-10-27 Marco Gerards <metgerards@student.han.nl>
38646
38647 * README: In the pupa-mkimage example use _chain instead of chain
38648 and ext2 instead of fat.
38649 * TODO: Replace ext2fs with jfs as an example. Add an item for
38650 adding journal playback for ext2fs.
38651 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38652 (pkgdata_MODULES): Added ext2.mod.
38653 (ext2_mod_SOURCES): New variable.
38654 (ext2_mod_CFLAGS): Likewise.
38655 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38656 * include/pupa/misc.h (pupa_strncpy): New prototype.
38657 (pupa_strcat): Likewise.
38658 (pupa_strncmp): Likewise.
38659 * kern/misc.c (pupa_strcat): Enable function.
38660 (pupa_strncpy): New function.
38661 (pupa_strncmp): Likewise.
38662 * fs/ext2.c: New file.
f19dbdb7 38663
bfd30f06 38664 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38665 when the read failed before retrying.
38666 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38667 (_FILE_OFFSET_BITS): Likewise.
38668 * configure.ac: Added AC_SYS_LARGEFILE.
38669
98d15063 386702003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38671
38672 * genmk.rb (PModule#rule): Make sure to get only symbol names
38673 from the output of nm.
59cad637 38674 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 38675
18d9c7cd 386762003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38677
38678 I forgot to check in these changes for a long time. This adds
38679 incomplete support for VGA console, and this is still very
38680 buggy. Also, a lot of consideration is required for I18N,
38681 UNICODE, and VGA font issues. Therefore, assume that this is
38682 such that "better than nothing".
f19dbdb7 38683
18d9c7cd 38684 * font/manager.c: New file.
38685 * include/pupa/font.h: Likewise.
38686 * include/pupa/i386/pc/vga.h: Likewise.
38687 * term/i386/pc/vga.c: Likewise.
38688 * util/unifont2pff.rb: Likewise.
38689
38690 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38691 (pkgdata_MODULES): Added vga.mod and font.mod.
38692 (vga_mod_SOURCES): New variables.
38693 (vga_mod_CFLAGS): Likewise.
38694 (font_mod_SOURCES): Likewise.
38695 (font_mod_CFLAGS): Likewise.
38696
38697 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38698
38699 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 38700 (struct pupa_term): Added init and fini.
18d9c7cd 38701 Changed the argument of putchar to pupa_uint32_t.
38702
38703 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38704 (pupa_console_real_putchar): New prototype.
38705 (pupa_console_putchar): Removed.
38706 (pupa_console_checkkey): Exported.
38707 (pupa_console_getkey): Likewise.
38708
38709 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38710 characters.
38711
38712 * kern/term.c (pupa_term_set_current): Rewritten.
38713 (pupa_putchar): Likewise.
38714 (pupa_putcode): New function.
38715
38716 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38717 (pupa_console_real_putchar): ... this.
38718 (pupa_vga_set_mode): New function.
38719 (pupa_vga_get_font): Likewise.
38720
38721 * normal/command.c: Include pupa/term.h.
38722 (terminal_command): New function.
38723 (pupa_command_init): Register the command "terminal".
38724
38725 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38726 (DISP_UP): Likewise.
38727 (DISP_RIGHT): Likewise.
38728 (DISP_DOWN): Likewise.
38729 (DISP_HLINE): Likewise.
38730 (DISP_VLINE): Likewise.
38731 (DISP_UL): Likewise.
38732 (DISP_UR): Likewise.
38733 (DISP_LL): Likewise.
38734 (DISP_LR): Likewise.
38735
38736 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 38737
977329f5 387382003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38739
38740 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38741 FIX. Reverse the path_list.
38742
38743 * include/pupa/normal.h: Export pupa_register_command and
38744 pupa_unregister_command.
38745
38746 * hello/hello.c (pupa_cmd_hello): New module.
38747 * conf/i386-pc.rmk: Added hello.mod.
38748
1f5ab428 387492003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38750
38751 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 38752
1f5ab428 38753 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38754 (compress_kernel): New variable.
38755 (generate_image): Heavily modified to support compressing a
38756 large part of the core image.
38757
38758 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38759 leak.
38760 (pupa_util_load_image): New function.
38761
38762 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38763 (pupa_compressed_size): New variable.
38764 (codestart): Enable Gate A20 here.
38765 Decompress the compressed part of the core image.
38766 Rearrange the code to put functions and variables which are
38767 required for initialization in the non-compressed part.
38768 Include lzo1x.S.
38769
38770 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38771 here.
38772
38773 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38774
f19dbdb7 38775 * include/pupa/i386/pc/kernel.h
1f5ab428 38776 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38777 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38778 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38779 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38780 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38781
38782 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38783
38784 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38785 (Utility#rule): Likewise.
38786
38787 * configure.ac: Check if LZO is available.
38788
ce5bf700 387892003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38790
38791 * include/pupa/normal.h: New file.
38792 * include/pupa/setjmp.h: Likewise.
38793 * include/pupa/i386/setjmp.h: Likewise.
38794 * normal/cmdline.c: Likewise.
38795 * normal/command.c: Likewise.
38796 * normal/main.c: Likewise.
38797 * normal/menu.c: Likewise.
38798 * normal/i386/setjmp.S: Likewise.
f19dbdb7 38799
ce5bf700 38800 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38801 (pupa_rescue_cmd_initrd): Likewise.
38802
38803 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38804 Likewise.
38805
38806 * kern/i386/pc/startup.S (translation_table): New variable.
38807 (translate_keycode): New function.
38808 (pupa_console_getkey): Call translate_keycode.
38809
38810 * kern/rescue.c (attempt_normal_mode): New function.
38811 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38812 it failed, print a message.
38813
38814 * kern/mm.c (pupa_real_malloc): Print more information when a
38815 free magic is broken.
38816 (pupa_free): If the first free header is not free actually, set
38817 it to P.
38818
38819 * kern/main.c (pupa_load_normal_mode): Just load the module
38820 "normal".
38821 (pupa_main): Don't print the message
38822 "Entering into rescue mode..." here.
38823
38824 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38825 Declared.
38826 (pupa_rescue_cmd_initrd): Likewise.
38827 (pupa_rescue_cmd_initrd): Likewise.
38828
38829 * include/pupa/symbol.h (FUNCTION): Specify the type.
38830 (VARIABLE): Likewise.
38831
38832 * include/pupa/err.h (pupa_err_t): Added
38833 PUPA_ERR_UNKNOWN_COMMAND.
38834
38835 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38836 (pupa_dl_get_prefix): Likewise.
38837
38838 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38839 Added _chain.mod and _linux.mod instead of chain.mod and
38840 linux.mod.
38841 (chain_mod_SOURCES): Renamed to ...
38842 (_chain_mod_SOURCES): ... this.
38843 (chain_mod_CFLAGS): Renamed to ...
38844 (_chain_mod_CFLAGS): ... this.
38845 (linux_mod_SOURCES): Renamed to ...
38846 (_linux_mod_SOURCES): ... this.
38847 (linux_mod_CFLAGS): Renamed to ...
38848 (_linux_mod_CFLAGS): ... this.
38849 (normal_mod_SOURCES): New variable.
38850 (normal_mod_CFLAGS): Likewise.
38851 (normal_mod_ASFLAGS): Likewise.
38852
388532003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38854
38855 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38856 possible.
38857
fe6b695a 38858 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 38859 recursively.
38860 (pupa_dl_unref): Unrefer depending modules recursively.
38861 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38862 a module is unloaded before one depending on that module is
38863 unloaded.
38864 (pupa_dl_unload): Unload depending modules explicitly,
38865 if possible.
38866
c04da074 388672003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38868
38869 * include/pupa/i386/pc/linux.h: New file.
38870 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 38871
c04da074 38872 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38873 Removed.
38874 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38875 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38876 of PUPA_CHAINLOADER_BOOT_SECTOR.
38877
38878 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38879 (pupa_linux_prot_size): New variable.
38880 (pupa_linux_tmp_addr): Likewise.
38881 (pupa_linux_real_addr): Likewise.
38882 (pupa_linux_boot_zimage): New function.
38883 (pupa_linux_boot_bzimage): Likewise.
38884
38885 * kern/i386/pc/init.c (struct mem_region): New structure.
38886 (MAX_REGIONS): New macro.
38887 (mem_regions): New variable.
38888 (num_regions): Likewise.
38889 (pupa_os_area_addr): Likewise.
38890 (pupa_os_area_size): Likewise.
38891 (pupa_lower_mem): Likewise.
38892 (pupa_upper_mem): Likewise.
38893 (add_mem_region): New function.
38894 (compact_mem_regions): Likewise.
38895 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38896 the size of the conventional memory and that of so-called upper
38897 memory (before the first memory hole).
38898 Instead of adding each found region to free memory, use
38899 add_mem_region and add them after removing overlaps.
38900 Also, add only 1/4 of the upper memory to free memory. The rest
38901 is used for loading OS images. Maybe this is ad hoc, but this
38902 makes it much easier to relocate OS images when booting.
38903
38904 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38905 (pupa_enter_rescue_mode): Don't register initrd and module.
38906
38907 * kern/mm.c: Include pupa/dl.h.
38908
38909 * kern/main.c: Include pupa/file.h and pupa/device.h.
38910
38911 * kern/loader.c (pupa_loader_load_module_func): Removed.
38912 (pupa_loader_load_module): Likewise.
38913
38914 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38915 ``.o''.
38916
38917 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38918 (pupa_linux_tmp_addr): Likewise.
38919 (pupa_linux_real_addr): Likewise.
38920 (pupa_linux_boot_zimage): Likewise.
38921 (pupa_linux_boot_bzimage): Likewise.
38922
38923 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38924 (pupa_upper_mem): Likewise.
38925 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38926 module is too dangerous.
38927
38928 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38929 (pupa_os_area_size): Likewise.
38930 (pupa_loader_set): Remove the first argument. Loader doesn't
38931 manage modules or initrd any longer.
38932 (pupa_loader_load_module): Removed.
38933
38934 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38935 (linux_mod_SOURCES): New variable.
38936 (linux_mod_CFLAGS): Likewise.
38937
a13f9237 389382003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38939
38940 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38941 the length of a blocklist correctly.
38942
38943 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38944 Use ioctl only if the OS file is a block device.
38945 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38946 not very useful for normal files.
38947
38948 * kern/main.c (pupa_set_root_dev): New function.
38949 (pupa_load_normal_mode): Likewise.
38950 (pupa_main): Call those above.
38951
38952 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38953 pupa_uint16_t.
38954
38955 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38956
a5ffe966 389572003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38958
38959 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38960 (setup): Configure the installed partition information and the
38961 dl prefix.
38962
38963 * loader/i386/pc/chainloader.c (my_mod): New variable.
38964 (pupa_chainloader_unload): New function.
38965 (pupa_rescue_cmd_chainloader): Refer itself.
38966 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38967
38968 * kern/i386/pc/startup.S (install_partition): Removed.
38969 (version_string): Likewise.
38970 (config_file): Likewise.
38971 (pupa_install_dos_part): New variable.
38972 (pupa_install_bsd_part): Likewise.
38973 (pupa_prefix): Likewise.
38974 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38975
38976 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38977 and pupa/misc.h.
38978 (make_install_device): New function.
38979 (pupa_machine_init): Set the dl prefix.
38980
38981 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38982 (buf): Renamed to ...
38983 (linebuf): ... this.
38984 (pupa_rescue_cmd_prefix): New function.
38985 (pupa_rescue_cmd_insmod): Likewise.
38986 (pupa_rescue_cmd_rmmod): Likewise.
38987 (pupa_rescue_cmd_lsmod): Likewise.
38988 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38989 rmmod and lsmod.
38990
38991 * kern/mm.c (pupa_memalign): If failed even after invalidating
38992 disk caches, unload unneeded modules and retry.
38993
38994 * kern/misc.c (pupa_memmove): New function.
38995 (pupa_memcpy): Removed.
38996 (pupa_strcpy): New function.
38997 (pupa_itoa): Made static.
38998
38999 * kern/dl.c (pupa_dl_iterate): New function.
39000 (pupa_dl_ref): Likewise.
39001 (pupa_dl_unref): Likewise.
39002 (pupa_dl_unload): Return if succeeded or not.
39003 (pupa_dl_unload_unneeded): New function.
39004 (pupa_dl_unload_all): Likewise.
39005 (pupa_dl_init): Renamed to ...
39006 (pupa_dl_set_prefix): ... this.
39007 (pupa_dl_get_prefix): New function.
39008
39009 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
39010 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
39011 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39012 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39013 (pupa_install_dos_part): Declared.
39014 (pupa_install_bsd_part): Likewise.
39015 (pupa_prefix): Likewise.
39016 (pupa_boot_drive): Likewise.
39017
39018 * include/pupa/types.h: Fix a typo.
39019
39020 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
39021 pupa_memmove.
39022 (pupa_memmove): Declared.
39023 (pupa_strcpy): Likewise.
39024
39025 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
39026 pupa_mod_init takes one argument, its own module.
39027 (pupa_dl_unload_unneeded): Declared.
39028 (pupa_dl_unload_all): Likewise.
39029 (pupa_dl_ref): Likewise.
39030 (pupa_dl_unref): Likewise.
39031 (pupa_dl_iterate): Likewise.
39032 (pupa_dl_init): Renamed to ...
39033 (pupa_dl_set_prefix): ... this.
39034 (pupa_dl_get_prefix): Declared.
39035
39036 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 39037 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 39038 unloaded.
39039 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
39040 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
39041
39042 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
39043 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
39044
012d7999 390452003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
39046
39047 * util/i386/pc/pupa-setup.c (setup): Define the internal
39048 function find_first_partition_start at the top level, because GCC
39049 3.0.x cannot compile internal functions in deeper scopes
39050 correctly.
39051 (find_root_device): Use lstat instead of stat.
39052 Don't follow symbolic links.
39053 Fix the path-constructing code.
39054
39055 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
39056 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
39057 by a BLKGETSIZE ioctl first, because block devices don't fill
39058 the member st_mode of the structure stat on Linux.
39059 [__linux__] (linux_find_partition): Use a temporary buffer
39060 REAL_DEV for the working space. Copy it to DEV before returning.
39061 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
39062 buffer cache consistent.
39063 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
39064 strncmp. The previous value was merely wrong.
39065 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
39066
39067 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
39068 FAT size is 12. The previous value was merely wrong.
39069
39070 * kern/main.c (pupa_main): Don't split the starting message from
39071 newlines.
39072
39073 * kern/term.c (pupa_putchar): Put CR after LF instead of before
39074 LF, because BIOS goes crazy about character attributes in this
39075 case.
39076
1cc73a62 390772003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
39078
39079 * include/i386/pc/util/biosdisk.h: New file.
39080 * util/i386/pc/biosdisk.c: Likewise.
39081 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 39082
1cc73a62 39083 * Makefile.in (INCLUDE_DISTFILES): Added
39084 include/pupa/i386/pc/util/biosdisk.h.
39085 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
39086 directory util/i386/pc.
39087 (install-local): Added a rule for sbin_UTILITIES.
39088 (uninstall): Likewise.
39089
39090 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
39091
39092 * util/misc.c (xrealloc): New function.
39093 (pupa_malloc): Likewise.
39094 (pupa_free): Likewise.
39095 (pupa_realloc): Likewise.
39096 (pupa_stop): Likewise.
39097 (pupa_putchar): Likewise.
39098
39099 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
39100
39101 * include/pupa/util/misc.h (xrealloc): Declared.
39102
39103 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
39104 macro.
39105 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
39106 (PUPA_BOOT_MACHINE_BPB_END): ... this.
39107
39108 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
39109 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39110
39111 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
39112 way should be implemented.
39113 [PUPA_UTIL] (pupa_fat_fini): Likewise.
39114
39115 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
39116 the size of NAME for safety.
39117 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
39118 0x88.
39119
39120 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
39121 (pupa_setup_SOURCES): Likewise.
39122
39123 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
39124
08b70fe8 391252002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39126
39127 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
39128 bunch of pushl's from pusha, because this destroys the return
39129 value.
39130
62ddcc8f 391312002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
39132
39133 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
39134 This means that any missing prototypes could be fatal. Also, you
39135 must take care when writing assembly code. See the comments at
39136 the beginning of startup.S, for more details.
f19dbdb7 39137
62ddcc8f 39138 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
39139 compilation mechanism.
39140 (pupa_chainloader_real_boot): Likewise.
39141 (pupa_biosdisk_rw_int13_extensions): Likewise.
39142 (pupa_biosdisk_rw_standard): Likewise.
39143 (pupa_biosdisk_check_int13_extensions): Likewise.
39144 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
39145 (pupa_biosdisk_get_diskinfo_standard): Likewise.
39146 (pupa_get_memsize): Likewise.
39147 (pupa_get_mmap_entry): Likewise.
39148 (pupa_console_putchar): Likewise.
39149 (pupa_console_setcursor): Likewise.
39150 (pupa_getrtsecs): Use pushl instead of push.
39151
39152 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
39153 memory instead of the stack for a mmap entry, because some
39154 BIOSes may ignore the maximum size and overflow.
39155
39156 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
39157
39158 * genmk.rb (PModule#rule): Compile automatically generated
39159 sources with module-specific CFLAGS as well as other sources.
39160
9962ed99 391612002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39162
39163 * configure.ac: Check ld.
39164 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
39165 respectively, before checking endianness and sizes.
39166
39167 * Makefile.in (LD): New variable.
f19dbdb7 39168
abdfc3c5 391692002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39170
39171 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
39172
6a161fa9 391732002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
39174
39175 * Changelog: New file.
39176